Имитация компаса
Добавлено: 31 июл 2018, 16:25
Приветствую !
Сам занимаюсь разработкой электроники и недавно столкнулся с проблемой, что условия не позволяют использовать магнитoметp (цифровой компас показывающий характеристики магнитного поля). Исследуемый объект – карьерная технологическая машина, траектория движения, которой представляет окружность/не полную окружность радиусом порядка 10 метров.
Необходимо отслеживать угловые перемещения платформы, желательно в качестве путевого угла, т.е. добиться суждения, что в момент времени t0, платформа находилась под углом X град, в момент времени t1, платформа находилась под углом Y град относительно истинного Северного полюса. На основе этих суждений и будет строиться работа прибора.
Встроенный путевой угол в сообщений $GNRMC работает хорошо для линейно движущегося объекта, но плохо для угловых движений.
Станции дифф. поправок нет, МЭМС не вписывается в концепцию прибора, навигатор можно сдвинуть до 15 метров от центра вращения. Приемник - китайская мыльница
https://ru.aliexpress.com/item/UBLOX-NE ... 33edz2MQBZ
Я думал над решением этой задачи и у меня получаются достаточно сложные ходы.
1. Накопить массив выборок, рассчитать азимуты и расстояния между ними;
2. Перевести координаты в метры (или в Декартову систему координат);
3. Зная, что навигатор удален от центра вращения на 10 метров, при помощи уравнений окружности и нескольких матриц/систем уравнений найти приблизительный центр вращения;
4. Приблизительный центр вращения пересчитать в координаты;
5. Высчитывать азимут по формуле гавернсинусов между текущей координатой и предполагаемым центром вращения.
Какие есть предложения по решению данного вопроса ?
Желателен открытый код, т.к. буду гонять в программе LabView и в дальнейшем портировать на МК/ПЛИС.
Нельзя сделать как-нибудь попроще ?
С уважением, Ярослав.
Сам занимаюсь разработкой электроники и недавно столкнулся с проблемой, что условия не позволяют использовать магнитoметp (цифровой компас показывающий характеристики магнитного поля). Исследуемый объект – карьерная технологическая машина, траектория движения, которой представляет окружность/не полную окружность радиусом порядка 10 метров.
Необходимо отслеживать угловые перемещения платформы, желательно в качестве путевого угла, т.е. добиться суждения, что в момент времени t0, платформа находилась под углом X град, в момент времени t1, платформа находилась под углом Y град относительно истинного Северного полюса. На основе этих суждений и будет строиться работа прибора.
Встроенный путевой угол в сообщений $GNRMC работает хорошо для линейно движущегося объекта, но плохо для угловых движений.
Станции дифф. поправок нет, МЭМС не вписывается в концепцию прибора, навигатор можно сдвинуть до 15 метров от центра вращения. Приемник - китайская мыльница
https://ru.aliexpress.com/item/UBLOX-NE ... 33edz2MQBZ
Я думал над решением этой задачи и у меня получаются достаточно сложные ходы.
1. Накопить массив выборок, рассчитать азимуты и расстояния между ними;
2. Перевести координаты в метры (или в Декартову систему координат);
3. Зная, что навигатор удален от центра вращения на 10 метров, при помощи уравнений окружности и нескольких матриц/систем уравнений найти приблизительный центр вращения;
4. Приблизительный центр вращения пересчитать в координаты;
5. Высчитывать азимут по формуле гавернсинусов между текущей координатой и предполагаемым центром вращения.
Какие есть предложения по решению данного вопроса ?
Желателен открытый код, т.к. буду гонять в программе LabView и в дальнейшем портировать на МК/ПЛИС.
Нельзя сделать как-нибудь попроще ?
С уважением, Ярослав.