29.07.2015 Работа с RTKLib
|
Вступление
Есть такая штука, RTKLIB. Это библиотека функций и набор различных программ (в Windows с GUI, в Linux - c CUI (консольные)) для решения навигационной задачи по сигналам ГНСС. В этой статье будет рассмотрена работа с RTKLIB из-под Windows.
Рассматриваемые задачи:
1. При помощи RTKLIB записать пакеты BINR 0xF5, 0xE5, 0xF7 от NV08C в лог-файл для последующей постобработки;
2. Заодно при помощи RTKLIB решаться по NV08C;
3. Конвертировать записанные логи BINR в RINEX файлы наблюдений (.obs) и сообщений (.nav, .gnav);
4. Перенаправить бинарный поток с NV08C куда следует (в binr_parse и т.п.);
Перво-наперво нужно запустить программу rtklaunch.exe, находящуюся в папке <путь к файлам>/RTKlib/bin/. Она - лаунчер, позволяющий запускать остальные программы одним кликом (но можно и без нее тыкать каждый раз exe-шник нужной программы в папке /bin).
Нам потребуются:
- RTKNAVI - для записи логов, решения навигационной задачи "на лету";
- RTKCONV - для конвертирования в RINEX;
- STRSVR - для перенаправления бинарного потока;
- RTKPOST - для решения навигационной задачи по записанным RINEX файлам.
1 Пишем BINR в логи, решаемся по измерениям NV08C
Шаг 1
Берем платку с NV08C, подключаем антенну, USB. Запускаем BMControl. Настраиваем порты на выдачу BINR. Можно настроить оба порта одинаково: один оставить для контроля через BMControl, другой отдать RTKLib. (Последнее время глюки: один порт настроен на NMEA 115200, другой молчит. Законнектившись по доступному порту, перенастраиваем его на BINR, а потом настраиваем оставшийся порт на BINR. Скорость 115200, 8bit, 1 start bit, 1 stop bit, Odd)
Шаг 2
Запускаем RTKNAVI. Нужно настроить потоки входных и выходных данных.
Шаг 2.1
Настройка потока входных данных. Нажимаем кнопку I (см. рис. 1). Указываем тип входных данных Serial для Rover. Нажимаем рядом кнопку OPT и вводим настройки последовательного порта (упоминались выше). Нажимаем кнопку CMD рядом с OPT и вводим команды
!NVS CFG-BINR D5 01
Команда f4 0a попросит NV08C выдавать F5-ый пакет с темпом 100мс*<параметр> => 100*10 = 1 сек, также будет выдаваться F7-ой пакет (расширенные эфемериды спутников) с темпом обновления эфемерид.
Команда D5 01 - это разрешение выдачи E5 пакета с битовой информацией от спутников.
Указываем Format NVS BINR. Жмем OK.
Шаг 2.2
Настройка потока выходных данных. Кнопка O позволяет указать куда сливать решение навигационной задачи. Выбираем File и указываем путь к нему. Кнопка L позволяет указать, куда сливать все, что валится из настроенного в п. 2.1 входного потока. Также выбираем File и указываем путь к файлу логов.
Шаг 2.3
Перед запуском можно покрутить настройки в Options. Оставим как есть (см. рис. 2).
Шаг 3
Нажимаем Start в RTKNAVI и, если все хорошо, видим отношения с/ш по спутникам, свои координаты (см. рис. 3).
Полезная фича - RTKMonitor. Он отображает всякую информацию (эфемериды, сырые данные, принимаемые пакеты и т.п.). Для его включения необходимо тыкнуть маленький квадратик (см. рис. 3). Тыкать можно столько раз, сколько разных окошек хотим смотреть. Важно: На момент написания этой заметки (30.07.2015), RTKNAVI не хочет решаться по ГЛОНАСС. Решение получается только при снятии галочки GLO в опциях.
Итого
Мы принимаем с NV08C сырые данные и эфемериды, RTKLIB по ним решает навигационную задачу. Результат решения и принимаемые от приемника данные записываются в соответствующие файлы. На самом деле, логи можно писать с помощью программы STRSVR, об этом в 4 разделе.
2 Конвертируем в RINEX
В первом разделе научились снимать логи с приемника. Что дальше? Дальше постобработка. Но нужно переварить бинарные логи в удобный формат, например, RINEX. Воспользуемся программой RTKCONV.
Тут все просто (см. рис. 4):
- Запускаем программу RTKCONV
- Указываем ей в первой строчке файл лога для конвертации. Также указываем формат файла (у нас - NVS BINR)
- Выбираем, при необходимости, каталог и имена для выходных RINEX файлов
- Если нужно, в Options включаем галочку у GLO
- Жмем Convert
- Получаем RINEX файл наблюдений .obs, RINEX файлы навигационных сообщений .gnav, .nav для ГЛОНАСС и GPS соответственно
3 Постобработка
Для простой постобработки - режим Single, тоже все достаточно просто:
- Запускаем RTKPOST (см. рис. 5)
- Указываем в первой строчке RINEX файл наблюдейний .obs
- Во второй строчке указываем RINEX файл навигационных сообщений .nav. Пока не понятно, как подпихнуть ему эфемериды ГЛОНАСС и GPS, т. е. .nav и .gnav одновременно.
- Идем в Options и ставим нужные галочки и режимы. Выбираем простой режим Single.
- Жмем Execute
- Кнопка View откроет просмотр текстового файла с решением навигационной задачи, кнопка Plot построит различные графики
4 Перенаправление бинарного потока от NV08C
Для простой записи логов и перенаправления этих логов, скажем, по сети для обработки на другой машине, используется программа STRSVR.
Опять же, все довольно просто:
- Запускаем STRSVR (см. рис. 6)
- В поле (0)Input выбираем Type Serial. Жмем OPT, настраиваем параметры порта, куда NV08C скидывает данные.
- Надо попросить NV08C выдавать нужные пакеты. Для этого жмем CMD и вводим команды
!NVS CFG-BINR D5 01
- Настраиваем Output. Здесь мы можем направить вход в три различных выходных потока. Пример: хотим (0)Input расшарить по сети и писать в файл у себя. Тогда:
- (1)Output выбираем TCP Server, жмем OPT, вводим порт 3491
- (2)Output выбираем File, жмем OPT, вводим путь для сохранения файла
- Жмем Start
- На картинке 6 видно, что к (1)Output подключился некто с IP 192.168.0.99, и ему отправляются байты. Так же байты летят и в файл (2)Output
- По идее, теперь можно запускать RTKNAVI и подключаться одному из выходов STRSRV
[ Хронологический вид ]Комментарии
Войдите, чтобы комментировать.