Мы тут небольшой, не побоюсь этого слова, научной, группой исследуем как из палок и прочих недорогих материалов сделать высокточные GNSS измерения. Уже не первый год. Прогресс есть, но но полного успеха еще далеко, вопросов, как обычно, возникает все больше и больше с каждым шагов в глубины науки и техники.
Короче, пора выходить из глубин секретных лаборатории для приобщения широкой общественности, ну и помощь зала обязательно понадобиться.
Для чего нужно высокоточное позиционирование?
1. и самое главное, для получения точных координат центров фотографирования. Если известны точные координаты снимков, то цифровая модель местности / ортофотоплан, "склеенный" из них получается гораздо точнее, не +-3 метра в плане, как при использовании GPS приемника за 15 баксов, а до +- 10 см (в теории). На самом деле проверившие это врут, но до +- полуметра в плане получить должно быть реально.
2. Чтобы проводить наземные измерения для геодезии унд картографии. Традиционная задача создания цифровой модели местности предполагает расстановку мишеней-меток, благодаря которым цифровая модель "натягивается" на заранее измеренные метки, и уточняется до показателей в 10-20 см в плане, и менее полуметра по высоте. И это, замечу, без всяких высоктоточных GPS на борту. Если работы можно сделать ища на стороне специализированные приборы за много млн. рэ, то почему бы не обойтись самосборными устройствами?
3. Ну и в принципе технология высокоточного позиционирования весьма интересно, и понять ее принципы лучше всего собрав систему из недорогих модулей, и стандартных 3dr модемов.
Приступим к изучению теории.
1. Каждый GPS модуль получает данные со спутников в "сыром" виде и, обработав, выдает через uart порт в формате NMEA / UBX, далее сие идет в полетный контроллер.
2. Если заставить GPS модуль выдавать сырые данные, то с помощью внешней программы обработки можно уточнить полученные данные.
3. Технология высокоточного позиционирования предполагает уточнение полученных сигналов путем вычислений данных с двух приемников, один - база, он неподвижен, второй может двигаться (ровер). Ровер может работать в кинематический режиме измерений, или проводить измерения в статическом режиме.
4. Уточнять данные можно с помощью постобработки записанных данных базы и ровера. Записали поток данных с двух GPS, в нашем случае это ublox 6/7/8 с выдачей сырых данных, обработали, в нашем случае это RTKLib, и в результате получили уточненный маршрут движения ровера.
Добавлю, что именно в таком режиме работают высокоточные бортовые GPS у "серьезных" дронов. Про минимум двух производителей знаю, что ставят GNSS модуль от Javad, кто-то ставит модули Trimble. Цена вопроса от 200 т.р. (для одночастного модуля), до 1млн+ за многочастотный.
5. Самое интересное, что можно получить за недорого - RTK режим уточнения координат. Это когда есть постоянная связь между базой и ровером через модем, сам модуль, или внешний компьютер, уточняет координаты и на выходе в стандартном NMEA (может быть и UBX) протоколе выдает уже точные координаты.
Для этого GNSS модуль должен поддерживать режим RTK, должен быть UART модем с устойчивой связью ровер-база, и расстояние до ровера не должно быть сильно большим (в общем случае до 5 км, больше можно но так гарантировано). Про устойчивую и непрерывную связь со спутниками и не говорю.
Профессионально-геодезические GNSS приборы не рассматриваю, речь не про них. Недорогие
Возможно и простые ублоксы поддерживают сие, однако проверил Neo 6M, M8N, M8T, но так и не получил режим RTK через u-center.
Про теорию пока все, в следующем посте расскажу про практику. Ссылки для изучения, чтобы не забыть.
RTKLib – Сантиметровая точность GPS/ГЛОНАСС в пост-обработке
https://habrahabr.ru/post/244475/Тема на rcgroups про NEO-M8P, который штатно поддерживает RKT
https://www.rcgroups.com/forums/showthread.php?t=2604919&page=2Внутри - полезные и интересные ссылки.
C94-M8P Application Board Setup Guide или как настроить RKT на M8P
https://www.u-blox.com/sites/default/files/C94-M8P-Appboard-Setup_Presentation_%28UBX-16009772%29.pdfRTKLib, свободное ПО для высокоточного позиционирования и не только. Как почти у любого свободного ПО нормальной документации нет, лучше смотрите примеры использования выше
http://www.rtklib.com/