Навигация высокой точности на основе фазовых измерений сигнала спутников и поддержка использования кинематики реального времени RTK теперь доступна в приёмнике НАВИА ML8089F (чипсет STA8089)
Навигация высокой точности на основе фазовых измерений сигнала спутников и поддержка использования кинематика реального времени RTK (Real Time Kinematic) теперь доступна в приёмнике НАВИА ML8089F на базе чипсета STA8089. В приёмнике также поддерживается передача сообщений RTCM3. Теперь можно получать точность позиционирования, сравнимую с геодезической в бюджетных устройствах. Кроме того, поддержка сообщений RTCM3 обеспечивает возможность работы с уже существующими геодезическими сетями в режиме реального времени.
Опубликовано в номере: Вестник электроники №3-4 2017
В статье представлены новые возможности навигационных приемников производства НАВИА, такие как поддержка высокоточной навигации на основе фазовых измерений и функции RTK.
Приёмники НАВИА ML8089F на базе чипсета STA8089 и планируемой серии CL8090F/CL8090FS на базе чипсета STA8090 с версией программного обеспечения 4.5.7CP, универсальной для перечисленных устройств, поддерживают навигационные системы GPS/Galileo/ГЛОНАСС/BeiDou/QZSS. Они работают в диапазоне L1 и поддерживают 48 обычных каналов и дополнительно два канала быстрого определения. Это классические современные навигационные ГЛОНАСС модули общего назначения, для которых поддержка высокоточной навигации на основе фазовых измерений — это программная опция, реализующая возможности чипсета STA8089/STA8090 и не увеличивающая стоимость самого приемника. Однако следует понимать, что для полноценной реализации этой функции потребуется несколько более совершенная антенна и весь антенный тракт конечного устройства в целом.
Функция фазовых измерений открывает новые возможности для повышения точности решения навигационной задачи для навигационного приемника, но все возможности фазовых измерений не могут быть раскрыты без применения внешней корректирующей информации о быстро меняющейся задержке сигнала спутников. Чем чаще эта информация обновляется, тем выше средняя получаемая точность измерений позиции, и применение RTK (Real Time Kinematic — «кинематика реального времени») — это один из самых эффективных и современных способов получения субдециметровой (в диапазоне L1) и даже субсантиметровой точности (в диапазоне L1+L2). Требуется видимость не менее пяти спутников как для приемника, уточняющего свое положение (ровера), так и для приемника, знающего свое положение с высокой точностью (базовой станции, БС). В реальности чем больше спутников участвует в решении навигационной задачи, чем лучше видимость открытого неба в точке измерений, антенна имеет наилучшие параметры, а высокочастотная часть устройства более качественно спроектирована, тем выше точность решения, причем для БС требования к оборудованию даже выше, чем для ровера.
Чтобы обеспечить пользователю свободу выбора в реализации вышеперечисленных возможностей, приемники НАВИА с версией программного обеспечения 4.5.7CP могут передавать «сырые» данные измерений псевдодальностей и другие параметры измерений по каждому спутнику для внешней обработки в служебных сообщениях STMicroelectronics в составе потока NMEA0183 с заголовком сообщений $PSTM и в потоке RTCM3. Таким образом, навигационная задача может быть решена во внешнем приложении, например в программном пакете RTKLib, который является свободно распространяемым программным обеспечением, доступным в виде исполняемых файлов и исходных кодов на сайте [3].
Данный программный продукт позволяет решить навигационную задачу совместно по данным измерений параметров спутников в БС, которая точно знает свое местоположение, и данным измерений параметров тех же спутников на ровере, положение которого необходимо определить с высокой точностью, как в режиме реального времени, так и в постобработке. По сути, для БС, положение которой известно, периодически вычисляется разница между расчетными данными и реально измеренными. Это и будет погрешностью, данные о которой по каждому спутнику используются при расчете позиции ровера. У RTKLib очень широкие возможности, поэтому пакет уже успел стать практически стандартом для применения в геодезических задачах.
Для первоначальных тестов оборудования в режиме реального времени можно не передавать данные через GSM-модем: достаточно длинного кабеля, чтобы обеспечить расстояние между антеннами БС и ровера не менее нескольких метров для статических тестов. Для тестов в динамике можно перемещать только антенну ровера, насколько позволяет ее кабель. Этого вполне достаточно для оценки точности навигационного решения, ведь речь идет о точности, измеряемой сантиметрами, поэтому больших перемещений приемника не нужно.
Конечно, для начала экспериментировать с собственной БС проще и нагляднее, но с учетом того, что существует достаточно много коммерческих сетей, предоставляющих данные в формате RINEX на определенные периоды для определенного региона покрытия на коммерческой основе, можно в дальнейшем использовать эти данные в режиме постобработки вместо данных собственной БС. С учетом того что удаленность выбранной БС от ровера не должна превышать 30 км, можно сказать, что покрытие таких сетей в крупных городах обычно практически полное, а вне крупных населенных пунктов покрытие частичное. Возможно получение данных БС в реальном времени через сетевой протокол NTRIP, а также любой другой способ получения данных от коммерческого поставщика.
Оборудование
Для первичных тестов использовались две отладочные платы NAVIA GPS-GLONASS DEMOBOARD для приемников НАВИА ML8089F (рис. 1, 2), изначально разработанные для демонстрации инерциальной навигации на базе данного типа приемников, но эти возможности приемников не рассматривались, поэтому гироскопы и разъемы для получения данных одометра не устанавливались. Одна плата использовалась как БС, другая — как ровер. Антенны находились рядом на расстоянии примерно 4 м на высоте не более 2 м от земли, измерения проводились на открытой местности без перемещения антенны ровера. Обе платы были подключены к одному ноутбуку с запущенным на нем программным обеспечением RTKLib.
Рис. 1. Модуль приёмника НАВИА ML8089F
Применялись антенны с подавлением отраженного сигнала НАВИА MPR107 (рис. 3) для БС и более компактные Tallisman TW2400 (рис. 4) для ровера. При размещении антенн для экспериментов с высокоточной навигацией следует учитывать, что, если для высокоточных измерений (в данном случае) используются обычные антенны, кабели не должны быть перепутаны между собой, разъемы SMA хорошо затянуты и т. д. В общем, к экспериментам надо готовиться тщательно, иначе хорошего результата не получить.
Рис. 3. Антенна НАВИА MPR107
Рис. 4. Антенна Tallisman TW2400
Обработка в реальном времени
Для работы в реальном времени с RTKLib в приемнике НАВИА ML8089F необходимо включить выдачу данных в формате RTCM3, поддерживаемом программой RTKNAVI, также входящей в RTKLib.
Это можно сделать последовательностью команд, подавая их на порт приемника НАВИА ML8089F с помощью программы navia_viewer, или через любую терминальную программу, или средствами RTKLib, что мы и сделаем.
После подачи данной последовательности команд выдача потока NMEA сменится на поток RTCM3.
$PSTMSETPAR,1227,9,2
$PSTMSAVEPAR
$PSTMSETPAR,1227,20020,1
$PSTMSAVEPAR
$PSTMSRR
Переключить обратно на выдачу потока NMEA можно следующей последовательностью команд (прием команд NMEA при выдаче потока RTCM3 сохраняется):
$PSTMSETPAR,1227,9,1
$PSTMSAVEPAR
$PSTMSETPAR,1227,20020,2
$PSTMSAVEPAR
$PSTMSRR
Также параметры порта RTCM можно настроить в следующих конфигурационных регистрах приемника с помощью navia_viewer на вкладке «Параметры»:
CDB-ID 138 – RTCM PORT SETTING
CDB-ID 139 – RTCM PORT BAUDRATE SETTING
Но это нам не понадобится. Если команды подаются через терминал, то признаком их успешного выполнения будет смена потока сообщений NMEA0183 на сплошной поток байтов — RTCM3 представляет собой бинарный протокол со сложной структурой пакетов.
В потоке RTCM3 приемник может передавать следующие сообщения:
RTCM1077 Extended GPS Code, Phase, CNR and Doppler Measurements
RTCM1087 Extended GLONASS Code, Phase, CNR and Doppler Measurements
RTCM1127 Extended BeiDou Code, Phase, CNR and Doppler Measurements
RTCM0063 BDS Ephemerides (a test message)
This message is a test log of RTCM3.x which contains BDS satellite ephemeris information.
RTCM1006 Station Coordinates Stationary RTK Base Station ARP with Antenna Height
RTCM1019 GPS Ephemerides
RTCM1020 GLONASS Ephemerides
Для сравнения в сообщениях $PSTM проприетарного протокола STMicroelectronics, на основе которых были получены данные постобработки, почти все данные измерений для каждого спутника (Satellite Number, Pseudo range, Satellite tracking Frequency Offset и др.) содержатся в сообщении $PSTMTS. Для каждого спутника формируется отдельное сообщение. Также формируются сообщения $PSTMSBAS — SBAS Satellite Data и ряд других. Работу с сообщениями протокола STMicroelectronics мы рассмотрим далее в разделе, посвященном постобработке.
Данные «сырых» измерений параметров спутников присутствуют и в потоке RTCM3, и в сообщении $PSTMTS, поэтому можно сказать, что мы должны получить сходные результаты при обработке в реальном времени и постобработке на одинаковых приемниках, антеннах и в одинаковых условиях приема. Но при обработке в реальном времени, конечно, все будет выглядеть более наглядно.
Подключаем платы с установленными приемниками к компьютеру, размещаем антенны.
Для получения решения в реальном времени воспользуемся программой RTKNAVI из RTKLib. Запускаем ее и видим примерно то, что показано на рис. 5.
Нажимаем кнопку <Options…> в главном окне. Во вкладке Setting1 устанавливаем настройки, как показано на рис. 6.
Для упрощения задачи определения координат БС установим автоматическое определение ее позиции RTCM Antenna Position в опциях на вкладке Positions (рис. 7).
Нажимаем <OK>, чтобы запомнить настройки.
Настроим порты для приема потока RTCM3 от БС и ровера, нажав кнопку <I> в главном окне программы (рис. 5).
Кнопки <Opt> открывают окно настройки для каждого порта или другого источника данных (рис. 8).
Нажатие кнопки <Cmd> открывает окно (рис. 9), позволяющее задать последовательность команд для каждого приемника в начале измерений и после их окончания, если это необходимо. Например, так можно настроить приемник на выдачу сообщений RTCM3, а затем отключать выдачу сообщений RTCM3, восстанавливая выдачу потока NMEA0183. Поэтому приемники можно не настраивать в самом начале, а ввести все необходимые конфигурационные команды в этом окне.
Кнопки <O> и <L> в главном окне программы позволяют настроить запись входных данных приемников и выходных потоков программы в файл, передать в физические порты компьютера или на удаленный сервер, если это необходимо. Возможности очень широкие.
После нажатия кнопки <Start> в главном окне программы ожидаем решения навигационной задачи (последовательно позиция должна быть уточнена от SINGLE и FLOAT (рис. 10) до FIX, что соответствует максимальной точности). Соответственно, точность решения будет увеличиваться постепенно, в обычных условиях потребуется не менее 10–15 мин для достижения точности FIX.
Все зависит от условий приема, видимости спутников и типов применяемых антенн.
Рис. 11. Главное окно программы RTKNAVI определение позиции с точностью FIX
Посмотреть результат в виде трека можно, нажав кнопку <Plot> (рис. 11), которая запускает программу RTKPLOT. Данная программа имеет много режимов отображения позиции в виде различных графиков и на картах Google (см. документацию RTKLib).
Возможный вариант решения навигационной задачи в RTKPLOT представлен на рис. 12. Можно оценить среднее соотношение точности для решений SINGLE, FLOAT и FIX; зеленый курсор, показывающий одно из решений FIX, закрывает все поле решений FIX в данном масштабе — точность решений FLOAT и FIX различается в десятки раз. Поле решений FIX в более крупном масштабе показано на рис. 17.
Постобработка
Как уже было сказано выше, данные измерений с учетом фазы сигнала могут быть получены как через проприетарные сообщения $PSTM, которые приемник передает в общем NMEA-потоке и выдача которых включена по умолчанию, но к сожалению, RTKLib пока не поддерживает проприетарный протокол STMicroelectronics, поэтому для конвертирования потока от приемника при постобработке мы будем применять программу rinex_tools, входящую в комплект обновления программного обеспечения STA8089-90_Binary_Image_v4_5_7_CP приемника НАВИА ML8089F вместо RTKCONV. В остальном все так же, как в руководстве к пакету программ RTKLib.
Записываем поток от БС и ровера с помощью программы STRSVR, входящей в состав RTKLib (рис. 13).
В данном случае запись идет из последовательного порта, но возможна запись данных NTRIP из потоков TCP/IP и файлов с серверов HTTP и FTP, кроме того, программа умеет конвертировать различные форматы навигационных файлов в формат RTCM2 и RTCM3.
Запись можно вести на одном компьютере параллельно в двух запущенных экземплярах программы STRSVR, конфликтов не возникает.
Затем с помощью rinex_tools (вместо RTKCONV) конвертируем записанные потоки в формат RINEX (Receiver Independent Exchange Format). Для удобства можно использовать командный файл следующего содержания:
rinex_tools.exe rtk1.bin rtk1
rinex_tools.exe rtk2.bin rtk2
pause
В результате получаем два файла RINEX observation file с расширением .obs (rtk1.obs и rtk2.obs для БС и ровера) и два файла RINEX navigation file с расширением .nav (rtk1.nav и rtk2.nav, рис. 14), с которыми работаем далее.
С помощью программы RTKPOST и файлов .obs для БС и ровера получаем совместное решение навигационной задачи (рис. 15).
Сначала нажимаем кнопку <Options…>
Настройки на вкладке Setting1 аналогичны установкам при обработке в реальном времени. Устанавливаем режим Kinematic для работы ровера в движении, но если нужно получить просто точные координаты точки, где находится ровер, можно выбирать Static (рис. 6).
Указываем на вкладке Position в окне Option, что координаты БС берем из заголовка файла RINEX (рис. 16).
Для преобразования нажимаем кнопку <Execute> (рис. 15).
Нажимаем кнопку <Plot…> в левом нижнем углу окна RTKPOST и смотрим визуализацию трека, сохраненного в файле с расширением .nmea в формате NMEA0183 в открывшемся окне RTKPLOT (рис. 17).
Зеленые метки — это высокоточные решения позиции ровера с применением данных, полученных от БС, на приведенном фрагменте антенна ровера не перемещалась. Видно, что решение FIX периодически теряется, и получается точность FLOAT, затем решение FIX опять появляется.
Заключение
Приёмник НАВИА ML8089F на базе чипсета STA8089 и его последующие версии позволяют повысить точность навигационного решения на основе методов, ранее применявшихся только в геодезических системах, при использовании навигационного оборудования, которое раньше могло применяться лишь для классической маршрутной навигации, повышая точность систем без значительного удорожания и сокращая огромный разрыв в точности получаемого навигационного решения между классическими навигационными и геодезическими системами.
Это может обеспечить внедрение решений высокоточной навигации в широкий круг устройств, и прежде всего в обычные трекеры на транспорте, где высокоточная навигация раньше не могла применяться из-за высокой стоимости оборудования. Данное решение не заменяет собой геодезические системы, но сокращает огромный разрыв между точностью геодезических систем и обычных трекеров. С учетом того, что одним из основных направлений, где применяются навигационные модули, является оборудование для транспорта, в дальнейшем мы расскажем о построении мобильного ровера с поддержкой RTK на базе решений STMicroelectronics.