29.07.2015 Работа с RTKLib
Dneprov (обсуждение | вклад) (→Вступление) |
Ustinov (обсуждение | вклад) (→Шаг 2.1) |
||
Строка 64: | Строка 64: | ||
==== Шаг 2.1 ==== | ==== Шаг 2.1 ==== | ||
− | Настройка потока входных данных. Нажимаем кнопку '''I''' (см. рис. 1). Указываем тип входных данных ''Serial'' для Rover. Нажимаем рядом кнопку '''OPT''' и вводим настройки последовательного порта (упоминались выше). Нажимаем кнопку '''CMD''' рядом с '''OPT'''. | + | Настройка потока входных данных. Нажимаем кнопку '''I''' (см. рис. 1). Указываем тип входных данных ''Serial'' для Rover. Нажимаем рядом кнопку '''OPT''' и вводим настройки последовательного порта (упоминались выше). Нажимаем кнопку '''CMD''' рядом с '''OPT'''. Далее необходимо выбрать '''Format''' соответствующего приемника. |
Версия 15:38, 2 июня 2017
|
Вступление
Есть такая штука, RTKLIB. Это библиотека функций и набор различных программ (в Windows с GUI, в Linux - c CUI (консольные)) для решения навигационной задачи по сигналам ГНСС. В этой статье будет рассмотрена работа с RTKLIB из-под Windows.
UPD: В 2017 году произошла очередная коррекция leap second. Состояние на март 2017: В версии 2.4.2, что лежит в архиве на сайте http://www.rtklib.com/, коррекция не учтена. Актуальное ПО с учетом текущей leap second лежит в Git проекта. GUI под Windows из основного проекта Git не перекомпилированы, по ГЛОНАССУ RTKNAVI не решается. Начиная с версии 2.4.2 p12 GUI вообще вынесены в отдельный реппозиторий Git'a.
Решение: качать GUI начиная с версии 2.4.2 p12 отсюда GUI Windows
Рассматриваемые задачи:
1. При помощи RTKLIB записать пакеты BINR 0xF5, 0xE5, 0xF7 от NV08C в лог-файл для последующей постобработки;
2. Заодно при помощи RTKLIB решаться по NV08C;
3. Конвертировать записанные логи BINR в RINEX файлы наблюдений (.obs) и сообщений (.nav, .gnav);
4. Перенаправить бинарный поток с NV08C куда следует (в binr_parse и т.п.);
Так же здесь можно найти аналогичное решение задачи с использованием приёмника Javad.
Перво-наперво нужно запустить программу rtklaunch.exe, находящуюся в папке <путь к файлам RTKlib>/bin/. Она - лаунчер, позволяющий запускать остальные программы одним кликом (но можно и без нее тыкать каждый раз exe-шник нужной программы в папке /bin).
Нам потребуются:
- RTKNAVI - для записи логов, решения навигационной задачи "на лету";
- RTKCONV - для конвертирования в RINEX;
- STRSVR - для перенаправления бинарного потока;
- RTKPOST - для решения навигационной задачи по записанным RINEX файлам.
Пишем BINR в логи, решаемся по измерениям NV08C
Шаг 1
NV08C:
Берем платку с NV08C, подключаем антенну, USB. Запускаем BMControl. Настраиваем порты на выдачу BINR. Можно настроить оба порта одинаково: один оставить для контроля через BMControl, другой отдать RTKLib. (Последнее время глюки: один порт настроен на NMEA 115200, другой молчит. Законнектившись по доступному порту, перенастраиваем его на BINR, а потом настраиваем оставшийся порт на BINR.)
Параметры порта:
- Bitrate: 115200
- Byte Size: 8 bit
- Parity: Odd
- Stop Bits: 1 bit
- Flow Control: None
Javad:
Параметры порта:
- Bitrate: 115200
- Byte Size: 8 bit
- Parity: None
- Stop Bits: 1 bit
- Flow Control: None
Шаг 2
Запускаем RTKNAVI. Нужно настроить потоки входных и выходных данных.
Шаг 2.1
Настройка потока входных данных. Нажимаем кнопку I (см. рис. 1). Указываем тип входных данных Serial для Rover. Нажимаем рядом кнопку OPT и вводим настройки последовательного порта (упоминались выше). Нажимаем кнопку CMD рядом с OPT. Далее необходимо выбрать Format соответствующего приемника.
NV08C:
вводим команды:
!NVS CFG-BINR D5 01
Команда f4 0a попросит NV08C выдавать 0xF5-ый пакет с темпом 100мс*<параметр> => 100*10 = 1 сек, также будет выдаваться 0xF7-ой пакет (расширенные эфемериды спутников) с темпом обновления эфемерид.
Команда D5 01 - это разрешение выдачи 0xE5 пакета с битовой информацией от спутников.
Указываем Format NVS BINR. Жмем OK.
Javad:
Нажимаем на "Load" идем в папку \rtklib_2.4.2\data. Выбираем сценарий, например "javad_raw_1hz". В итоге в верхнем окошке появится:
em,,jps/gd
em,,jps/qd
em,,jps/WD
em,,jps/ET
а в нижнем:
Шаг 2.2
Настройка потока выходных данных. Кнопка O позволяет указать куда сливать решение навигационной задачи. Выбираем File и указываем путь к нему. Кнопка L позволяет указать, куда сливать все, что валится из настроенного в п. 2.1 входного потока. Также выбираем File и указываем путь к файлу логов.
Шаг 2.3
Перед запуском можно покрутить настройки в Options. Оставим как есть (см. рис. 2).
Шаг 3
Нажимаем Start в RTKNAVI и, если все хорошо, видим отношения с/ш по спутникам, свои координаты (см. рис. 3).
Полезная фича - RTKMonitor. Он отображает всякую информацию (эфемериды, сырые данные, принимаемые пакеты и т.п.). Для его включения необходимо тыкнуть маленький квадратик (см. рис. 3). Тыкать можно столько раз, сколько разных окошек хотим смотреть.
Итого
Мы принимаем с NV08C сырые данные и эфемериды, RTKLIB по ним решает навигационную задачу. Результат решения и принимаемые от приемника данные записываются в соответствующие файлы. На самом деле, логи можно писать с помощью программы STRSVR, об этом в 4 разделе.
Конвертируем в RINEX
В первом разделе научились снимать логи с приемника. Что дальше? Дальше постобработка. Но нужно переварить бинарные логи в удобный формат, например, RINEX. Воспользуемся программой RTKCONV.
Тут все просто (см. рис. 4):
- Запускаем программу RTKCONV
- Указываем ей в первой строчке файл лога для конвертации. Также указываем формат файла (у нас - NVS BINR)
- Выбираем, при необходимости, каталог и имена для выходных RINEX файлов
- Если нужно, в Options включаем галочку у GLO
- Жмем Convert
- Получаем RINEX файл наблюдений .obs, RINEX файлы навигационных сообщений .gnav, .nav для ГЛОНАСС и GPS соответственно
Постобработка
Для простой постобработки - режим Single, тоже все достаточно просто:
- Запускаем RTKPOST (см. рис. 5)
- Указываем в первой строчке RINEX файл наблюдейний .obs
- Во второй строчке указываем RINEX файл навигационных сообщений .nav. Пока не понятно, как подпихнуть ему эфемериды ГЛОНАСС и GPS, т. е. .nav и .gnav одновременно.
- Идем в Options и ставим нужные галочки и режимы. Выбираем простой режим Single.
- Жмем Execute
- Кнопка View откроет просмотр текстового файла с решением навигационной задачи, кнопка Plot построит различные графики
Перенаправление бинарного потока от 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, и ему отправляются байты (на 99-й машине запущен
binr_parse -t 192.168.0.207
, где последнее - адрес компьютера с RTKLIB'ом). Так же байты летят и в файл (2)Output. - По идее, теперь можно запускать RTKNAVI и подключаться одному из выходов STRSRV
[ Хронологический вид ]Комментарии
Войдите, чтобы комментировать.