15/12/2021

Аэрофотосьемка. Часть вторая. Постобработка (PPK) GNSS данных дрона в программах Emlid Studio и RTKLIB (с точными эфемеридами и часами)


 Ранее, в части первой, автор выполнил полеты и получил с  дрона Autel Evo II Pro, снабженного геодезическим приемником Geobox Fora сырые GNSS данные. Так же есть данные с приемника Emlid Reach RS2, выполняющего функцию базовой станции. Теперь настало время перейти к постобработке файлов и получить точные координаты центров снимка.

Автор ранее пояснял, что желательно на этом этапе обрабатывать данные в системе координат WGS-84, и только потом производить пересчет в местную систему координат.

Связано это с тем, что большинство программ (в том числе и Toposetter PRO или Geobox UAV), сначала работают в системе координат WGS-84 с помощью общедоступного открытого ПО RTKLIB, и если делают пересчет координат перед обработкой или в виде готового результата, то с учетом общедоступных библиотек ПО, таких как PROJ. При этом в параметрах пересчета не всегда бывает локализация района работ на ГГС. Автор предпочитает делать пересчет в конце, переводя прореженное облако точек в МСК.

И на этом этапе проще всего воспользоваться достаточно простым и удобным инструментом Emlid Studio, имеющим в своем составе тот же самый RTKLIB.

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

NB В геодезических приемниках, основанных на Ublox, есть такое понятие как Event (событие) - аппаратный и программный интерфейс (контакт на чипе) замыкание которого сохраняется в файле UBX с временной меткой. Так, например именно этот контакт используется в геодезическом апгрейде, когда ваш дрон выполняет съемку кадра.

Благодаря программистам из Emlid использование этого события в постобработке появилось сначала в полетном контроллере NAVIO, потом в одночастотном приемнике Emlid Reach M+, и перекочевало в двухчастотный приемник Emlid Reach M2, совместно со специальным патчем RTKLIB. Что самое печальное, в оригинальной версии RTKLIB использование этого события вы не увидите, но можете взять версию RTKLIB с сайта rtkexplorer, где этот патч от Emlid используется.

Emlid Studio

Тут все достаточно просто: в разделе PPK добавляем в раздел Rover файл UBX с дрона и настраиваем смещение от антенны дрона (высота от фазового центра антенны до центра подвеса, условного центра матрицы фотокамеры), в раздел Base файл данных с базовой станции и настраиваем точную координату базы.

Даже на этом этапе можно просто нажать кнопку Process и после обработки получить файлы полета и файл событий полета.

Интерфейс программы Emlid Studio

Далее можно произвести пару настроек программы, которые Вам помогут в дальнейшем.

Окно настроек программы Emlid Studio

Включим 2 галочки - Log Duration From и Log Duration To. Это сократит время постобработки (не будут обрабатываться избыточные данные базы), при этом данные даты и времени начала и окончания будут автоматически подставляться при каждом новом файле данных ровера.

Так же автор рекомендует выбрать Filter type - Combined. Это увеличит время обработки, но поможет улучшить результаты, так как будет использоваться двухпроходная обработка - вперед и назад, что, в свою очередь, поможет получить решение FIX там, где до этого было Float.


Пример обработки одних и тех же данных при разных настройках Filter Type


В результате обработки данных у нас будет файл вида ХХХХХ_events.pos. Если все с данными нормально, у вас получено решение FIX во всех событиях, то можно переходить части третьей - обработка фотографий.

Однако бывает, что в силу ряда причин вы не можете получить нормальное решение. В таком случае рассмотрим нестандартные методы постобработки - данные с общедоступной базовой станции и/или улучшение методов обработки ваших данных, для повышения качества результата.

Например, в силу ряда причин вы не сохранили координаты или потеряли данные с Вашей базовой станции.
В первом случае можно провести постобработку данных методом Static, в той же программе Emlid Studio, назначив ровером файл с базовой станции, а в раздел данных базовой станции загрузив сырые данные (1 сек интервал записи) ближайшей базовой станции с любого сайта (например Hive), где можно получить после оплаты Rinex файл за определенную дату.

Во втором случае так же скачиваем данные базовой с сайта, только используем данные сторонней базовой станции.

Получаем данные сторонней базовой станции на сайте hive.geosystems.aero

А что делать, если в результате обработки решение не дотягивает до нужной точности и частично, или, что еще хуже, полностью в решении Float? Нам надо "вытянуть" данные и неважно какой базовой станцией, своей или чужой пользуемся.

В таком случае придется обработать данные в программе RTKLIB, используя точные эфемериды и часы спутников.
За базовой теорией автор рекомендует обратиться, например, к этой статье.
Мы же приступим сразу к делу. Скачиваем RTKLIB тут.
Переходим на сайт gnsscalendar.com. Выбираем дату и смотрим день GNSS и неделю GNSS по выбранной дате.
Если прошло несколько дней, то на этом же сайте появятся ссылки на быстрые (Rapid) или точные (Final) эфемериды и файл часов спутника. Принцип очень простой - Final лучше и точнее чем Rapid, но появится примерно через 2 недели, а Rapid будет доступен для скачивания уже через 2-3 дня. Альтернативный вариант - выбрать определенный день для скачивания на сайте Hive, но не скачивать данные базы, а обратить внимание на файлы эфемерид и часов. 

Точные эфемериды и часы Final на сайте Hive

Последовательность действий такая:

Мы предварительно пытались получить решение в Emlid Studio, значит у нас есть rinex-файл наблюдений, с именем вида nnnnn.ХХo например GNSS_080320.21o.

1) Скачиваем бортовые эфемериды (желательно все системы) в формате Rinex (на сайте Hive файл с расширением RNX);
2) Скачиваем точные GPS и GLO эфемериды, Rapid или Final, файлы с расширением SP3;
3) Скачиваем файл коррекции часов спутников Rapid или Final, файлы с расширением CLK;
4) Запускаем  программу RTKPOST из состава ПО RTKLIB;
5) Добавляем первые два файла наблюдений, rover и base;
6) Добавляем файл бортовых эфемерид .RNX;
7) Добавляем уточненные эфемериды .SP3;
8) Добавляем файл коррекции часов спутников .CLK;

Добавленные файлы в программу RTKPLOT

9) Производим настройки программы (кнопка Options) на закладках Settings1 и Positions
Пример настроек RTKPLOT

10) Нажимаем кнопку Execute. Идет обработка, и решения: 1 - Fix, 2 - Float, 5 - Single

По окончанию обработки можно нажать кнопку Plot  и увидеть решение из файла результата. Рядом с этим файлом будет файл вида ХХХХ_events.pos - это файл событий с дрона, основанный на файле результата.

Координаты снимков из полета получены и уточнены, можно переходить к части третьей.



Комментариев нет: