Как получить скорость NED от GPS? - PullRequest
0 голосов
/ 07 апреля 2019

У меня есть модуль Adafruit Ultimate GPS, который я пытаюсь соединить с датчиком BNO055 IMU.Я пытаюсь следовать https://github.com/slobdell/kalman-filter-example этому примеру с фильтрацией Калмана.Хотя большая часть его кода довольно ясна, я посмотрел на его входной файл json (https://github.com/slobdell/kalman-filter-example/blob/master/pos_final.json)) и увидел, что он получает скорость на север, скорость на восток и скорость вниз от модуля GPS. Я посмотрел на сообщения NMEA, и ни одно из них не кажетсячтобы дать мне это. Что мне не хватает? Как получить эти скорости направления?

Спасибо!

1 Ответ

0 голосов
/ 08 апреля 2019

pos_final.json это не входной файл, а выходной файл.Входной файл taco_bell_data.json находится в архиве tar.gz.Он содержит следующие переменные:

"timestamp": 1.482995526836e+09,
"gps_lat": 0,
"gps_lon": 0,
"gps_alt": 0,
"pitch": 13.841609,
"yaw": 225.25635,
"roll": 0.6795258,
"rel_forward_acc": -0.014887575,
"rel_up_acc": -0.025188839,
"abs_north_acc": -0.0056906715,
"abs_east_acc": 0.00010974275,
"abs_up_acc": 0.0040153866

Он измеряет положение с помощью GPS и ориентацию / ускорение с помощью акселерометра.Скорости NED, которые находятся в pos_final.json , оцениваются фильтром Калмана.Это одна из основных задач фильтра Калмана (и других наблюдателей): оценить неизвестные величины.

GPS часто будет выводить скорости, но они будут относиться к телу объекта.Вы можете преобразовать относительные скорости тела в NED-скорости, если вы знаете ориентацию тела (крен, наклон и рыскание).Допустим, у вас есть беспилотник, движущийся в направлении 030 °, и GPS говорит, что скорость движения вперед равна 1 м / с, у беспилотника будет следующая северная скорость:

vel_north = 1 m/s * cos(30°) = 0.86 m/s

и следующая восточная скорость:

vel_east = 1 m/s * sin(30°) = 0.5 m/s

Это не учитывает перекос и шаг.Чтобы принять во внимание крен и шаг, вы можете взглянуть на матрицы вращения или кватернионов в Википедии.

Скорости обычно находятся в телеграмме VTG выходы GPS.Это не всегда выводится.У GPS должна быть эта функция, и она должна быть включена на GPS.Также можно использовать телеграмму RMC.

Скорости от GPS часто очень шумные, поэтому фильтр Калмана обычно используется вместо преобразования относительных скоростей тела в скорости NED описанным выше способом.Скорости GPS будут работать нормально на более высоких скоростях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...