Обнаружение того, когда кто-то начинает ходить, с использованием данных Core Motion и акселерометра.IOS

Программируем под IOS
Ответить
Anonymous
 Обнаружение того, когда кто-то начинает ходить, с использованием данных Core Motion и акселерометра.

Сообщение Anonymous »

Я пытаюсь обнаружить три действия: когда пользователь начинает ходить, бегать трусцой или бежать. Затем я хочу знать, когда остановится. Мне удалось определить, когда кто-то ходит, бегает или бежит, с помощью следующего кода:

Код: Выделить всё

- (void)update:(CMAccelerometerData *)accelData {

[(id) self setAcceleration:accelData.acceleration];

NSTimeInterval secondsSinceLastUpdate = -([self.lastUpdateTime timeIntervalSinceNow]);

if (labs(_acceleration.x) >= 0.10000) {
NSLog(@"walking: %f",_acceleration.x);
}
else if (labs(_acceleration.x) > 2.0) {
NSLog(@"jogging: %f",_acceleration.x);
}
else if (labs(_acceleration.x) > 4.0) {
NSLog(@"sprinting: %f",_acceleration.x);
}
Проблема, с которой я столкнулся, двоякая:

1) обновление вызывается несколько раз каждый раз, когда движение, вероятно, потому, что оно проверяет так часто, что когда пользователь начинает ходить (т.е. _acceleration.x >= .1000), оно все равно >= .1000, когда он снова вызывает обновление.

Пример журнала:

Код: Выделить всё

    2014-02-22 12:14:20.728 myApp[5039:60b] walking: 1.029846
2014-02-22 12:14:20.748 myApp[5039:60b] walking: 1.071777
2014-02-22 12:14:20.768 myApp[5039:60b] walking: 1.067749
2) Мне трудно понять, как определить, когда пользователь остановился. Есть ли у кого-нибудь совет о том, как реализовать «Обнаружение остановки»

Подробнее здесь: https://stackoverflow.com/questions/219 ... meter-data
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»