Сферическая координата к декартовой относительно направления
сценарий
У меня есть подводный датчик, который отслеживает положение подводных узлов с помощью акустики. В сети имеется "главный" узел, который отвечает за инициирование связи с "подчиненными" узлами, а также отвечает за определение местоположения узла на основе входящего "подчиненного" сигнала.
"Главный" датчик использует встроенный магнитометр MEMS для расчета магнитного курса. Этот заголовок затем используется для вычисления положения "подчиненного" узла, в конечном итоге выводящего углы места и азимута (относительно курса), а также для вычисления решения XY в метрах.
проблема
При частом использовании системы в течение последних 6 месяцев или около того становится очевидным, что направление, определенное магнитометром MEMS (используемое для вычисления азимута и углов места), НЕ является достаточно точным для того, что необходимо. Датчик может быть откалиброван в его корпусе, но даже при этом могут быть ошибки, превышающие 20 градусов от магнитного севера, что приводит к тому, что "ведущий" сообщает о неправильных положениях "подчиненных" узлов.
Я могу проверить неточность "мастера", просто указав его на север и сравнив с аналоговым компасом или даже через приложение компаса на iPhone.
Кроме того, у "мастера" есть датчики для определения высоты тона, которые, как я полагаю, также используются при вычислении решения.
Решение
В настоящее время я исследую вопрос о введении внешней системы курса, которая является гораздо более точной, такой как система курса, используемая на корабле или судне, благодаря которой заголовок можно прочитать из предложения NMEA или аналогичного.
Тем не мение.
В чем я не уверен, так это в том, как бы я вычислил новое решение по азимуту и высоте, используя этот новый справочник по заголовкам. Я вижу шаги примерно так:
- Удалите текущий неточный курс из разрешенных углов азимута / угла места, чтобы получить азимут / угол места относительно магнитного севера.
- Добавьте новое направление от внешнего датчика, чтобы получить новое решение для аз / высоты
- Вычислить декартово положение XY из нового решения
Могу ли я предположить, что поскольку азимут находится в горизонтальной плоскости, я могу просто добавить или вычесть старые / новые значения заголовков? Меня интересует, используются ли в исходном решении высота тона / крен, и нужно ли мне уменьшать и отклонять исходный азимут / угол места?