Получение хороших временных отметок для показаний датчиков - PullRequest
0 голосов
/ 07 января 2019

Я пытаюсь получить данные временной метки, чтобы соответствовать показаниям акселерометра и гироскопа.

Я использую Raspberry Pi 3 B + с питоном для считывания показаний акселерометра (Adxl345) и гироскопа (ITG3200). В настоящее время я читаю их через I2C так быстро, как могу, и пишу метку времени из системного времени (time.time ()) непосредственно перед чтением.

Я подумал, что это будет достаточно точно, но когда я смотрю на полученные данные, время часто не монотонно и / или просто выглядит неправильно. Фактически, результат часто лучше соответствует движению, которое я отслеживал, если я выбрасываю все, кроме первой отметки времени, а затем синтетически создаю время на основе частоты устройства, с которого я собираю данные!

Тем не менее, этот подход явно дает мне неверные данные, но я не знаю, где взять правильные данные. Похоже, что акселерометр и гироскоп не учитывают время во всем, что они делают, и если я получу данные настолько быстро, насколько смогу, я все равно буду пропускать некоторые из них с максимальной скоростью, то есть время, которое я использую, всегда будет несколько неправильным .

У акселерометра также есть FIFO-кэш, в котором он может хранить некоторые значения, но, опять же, если я вытащу из этого случая, как мне узнать, какая временная метка идет с каждым значением? В документе упоминается кэш-память, в которой хранятся значения, но ничего не говорится о отметке времени.

Все это заставляет меня поверить, что я что-то упустил. Здесь есть секрет, который я не знаю? Или стандартная практика, о которой я не знаю? Любые мысли или предложения будут приветствоваться.

...