Я работаю над приложением sphero и хочу добавить вождение на основе гизоскопа. Насколько я понимаю, мне нужно создать CMMotionManager
, получить значение yaw
и передать его как параметр в пример RKTiltDriveAlgorithm
. Я не понимаю, куда я могу передать экземпляр RKTiltDriveAlgorithm
. В документации говорится передать экземпляр RKRobotControl
, который, кажется, не доступен нигде. RKRobotProvider
имеет свойство для RKRobotControl
, но оно не может быть назначено. Вот мой код до сих порGyroscope driven sphero
RKTiltDriveAlgorithm *tilt = [[RKTiltDriveAlgorithm alloc] initWithOrientation:[UIApplication sharedApplication].statusBarOrientation];
...
[self.motionManager startDeviceMotionUpdatesToQueue:[NSOperationQueue currentQueue] withHandler:^(CMDeviceMotion *motion, NSError *error) {
float yaw = (180/M_PI) * motion.attitude.yaw;
tilt.orientationAngle = yaw;
}];
Оценил некоторые намеки, спасибо :)
Спасибо за ваш ответ. Кажется, все работает не для меня. Я заменил 'RKDriveControlJoyStick' на' RKDriveControlTilt' в примерном приложении, но sphero вообще не перемещается. Я делаю что-то неправильно? – libec