Тема: GPS ГЛОНАСС спутниковые измерения и строительная геодезия
Речь идет о первом опыте работы со спутниковым приемником ОТЕЧЕСТВЕННОГО ПРИСХОЖДЕНИЯ, принимающим/обрабатывающим сразу 2 спутниковые системы: GPS и ГЛОНАСС своими 24-мя каналами и выдающем NMEA- и BINARY- сообщения. ООО “КБ «ГеоСтар навигация»
Ранее отработал тему с Garmin GPS-25/35 (приемник), Garmin GPS-72 eTrex навигаторы.
Коллеги! Лет 5-8 назад эл.тахеометры на стройке (даже в Москве) были только у некоторых из нас, а сегодня многие не вспомнят, когда последний раз работали теодолитом/нивелиром. Теодолит никто не отменял, но эл.тахеометр + компьютер потихоньку его вытесняют из практики.
Думаю, что "тарелки", с которыми пока ходят полевики на трассах газо-нефтепроводов, землеустроители и ребята из ...горгеотреста, лет через 5 станут такой же реальностью на стройке. Поинтересуйтесь, что выдала фирма Лейка в Арабских Эмиратах при строительстве "вавилонских башен" и с какой точностью.
Но спутниковые технологии/измерения несколько сложнее (и даже туманнее), чем связка тахеометр-ноутбук.
Думаю, что и освоение "спутников" будет болезненней, чем освоение эл.тахеометра, который потребовал освоение компьютерных программ (АКАД, КРЕДО, ГЕОНИКС хххГеоОфис ...).
Поэтому предлагаю поинтересоваться этой новой технологией с некоторым упреждением событий.
Программа работы с приемником ГеоС-1 (GeoS-1) по бинарному протоколу.
========================================================================
Написана в VB-5. В развитие темы: получение и обработка кодовых и фазовых
измерений (не NMEA-данных) из дешевых, бытовых GPS-сенсоров с преобразованием
этих измерений в RINEX-формат для постобработки с заметным повышением точности
позиционирования при дифференциальной обработке с данными базового приемника.
Всплеск интереса и результаты исследований по этой теме в Европе приходятся на 1998--2002 годы.
Тем не менее считаю, что есть круг топографо-геодезических задач, решение которых возможно
бытовой спутниковой аппаратурой по цене в 5-10 раз меньшей, чем профессиональная геодезическая,
не требующей сертификации и прочих вещей с разрешениями местных властей, всю работу можно вести
в WGS-84. Эта аппаратура не так "цепляет глаз" любителей поживиться дорогой техникой.
Хотя конечно прикрутить внешнюю антенну более высокого класса желательно для повышения точности
и стабильности решения задачи в целом. В нее и приемник можно спрятать.
Надеюсь, что полевые испытания подтвердят возможность работы в режиме быстрой кинематики.
А это уже съемка с постобработкой, а не только статика. Правда опыт использования для постобработки
Topcon Tools наводит на мысль, что разработчики считают пользователей обезьянами, способными
только нажимать кнопки. Возможно для постобработки потребуется использовать такие программы как:
GPS Toolkit (GPSTk Revision 351 January 4, 2007 University of Texas, Helsinki University of Technology)
http://www.gpstk.org или даже Bernese GPS Software (AIUB - Astronomical Institute, University of Bern).
При работе с приемником ГеоС-1 программа позволит:
1. соединиться по COM-порту (USB-порту) с настольным компьютером (ноутбуком);
2. открыть файлы для записи и записать на диск: GeoS-Binary файл, файл парсинга
бинарных сообщений и получить по окончании сеанса RINEX OBS- и NAV-файлы;
3. в процессе записи файлов можно запрашивать альманах всех спутников ГЛОНАСС и
Navstar (GPS) и эфемериды наблюдаемых ("захваченных") спутников с записью в Binary-файл.
По ряду причин я отказался от побайтного чтения COM-порта. Каждую секунду (таков темп
выдачи данных в бинарном режиме), или иной интервал по таймеру, содержимое буфера COM-порта
помещается в глобальную переменную (байт-массив размером до 4096 байт), с которой программа
работает до следующего тика таймера. Это позволяет обращаться к любым байтам прочитанного
блока данных и в окне программы видеть динамику поступления данных от GPS-устройства.
После отладки программ с вышеуказанными функциями для дешевых Гарминовских приемников
GPS-25/35 и навигаторов eTrex и GPS-72 решил проверить работу с приемниками ГЛОНАСС-GPS.
Заметное увеличение количества наблюдаемых и измеряемых спутников должно повысить точность
и надежность измерений. К сожалению разработчики ГеоС-1 обрезали получение фазовых измерений,
только псевдодальности и псевдоскорости. Но обрабатывать данные все-таки можно.
Богатый и документированный бинарный протокол ГеоС-1 позволяет работать непосредственно
с навигационными сообщениями спутников обоих созвездий, что вероятно в некоторой степени
скомпенсирует отсутствие фазовых измерений (надо изучать интерфейсы Navstar и ГЛОНАСС).
Кроме того с приемником ГеоС-1 пользователь может выбирать из видимых спутников те, которые
будут участвовать в вычислениях позиции. Выбор одинаковых спутников на базовом приемнике и на
мобильном (ровере) позволит получать решение в координатах на обоих приемниках и эти решения,
при коротких расстояниях база-ровер, будут иметь почти одинаковые ошибки измерений.
Тогда разности измеренных и заранее известных координат базы можно вводить как поправки
к координатам вычисленным на ровере. Таким образом только кодовые измерения приемника
в виде вычисленных приемником координат, после введения поправок от базы позволят выполнять
работы, имеющие результатом подобие статики и кинематики (с разновидностями Stop-and-Go и др.).
Эту технологию надо проверить в поле. Если идея подтвердится, то программа обработки и
вся обработка значительно упростятся:
1. Пишем файл координатных решений в обоих приемниках и файл поправок на базовом.
2. В постобработке вводим поправки для файла ровера.
3. Исправленные координаты ровера усредняем (можно отбросить по критерию MAX-MIN значения).
Думаю, что эта техника одинаково применима и к точке на которой ровер будет "молотить"
псевдо-статику и к псевдо-кинематике типа Stop-and-Go.
Критерием правильности подхода и получаемой точности будут, как всегда, полевые испытания.
14-03-2010
-----------
0. Переделал программу GarminGPSMonitor-encoder под протокол ГеоС-1.
1. Идентификация приемника пишется текстом в самом начале бинарного файла.
2. Увеличил размер буферов работы с COM-портом bRead=4096 bWrite=1024, приемник
работает на скорости 115200 бод и может быть буфер придется увеличить до 8 КБ.
20-03-2010
-----------
0. По стартовым байтам 50 53 47 47 сообщений приемника GeoS-1 определяются границы
сообщений в бинарном потоке приемника.
1. Программа в функции ParsingMessages() декодирует бинарные сообщения приемника:
0x10, 0x11, 0x12, 0x13, 0x20, 0x21, 0x22 и пишет данные в файл dd.mm.yyyy_Parsing.txt
2. Программа пишет данные в файл dd.mm.yyyy_RINEX.OBS - но пока не разобрался с битовыми
полями в типе данных "идентификатор канала" сообщения 0x10, нет разделения спутников
на GLONASS и GPS. То же самое с битовыми полями в других сообщениях приемника. Поэтому
в файле парсинга и в RINEX-OBS файле не номера спутников, а просто номера каналов приемника.
3. Прописал декодирование альманахов 0x48, 0x49 и эфемеридных сообщений 0x4A, 0x4B, но
споткнулся на вычислении CRC32 в запросе у приемника эфемерид GPS и ГЛОНАСС: не могу
понять какой полином надо вводить для подсчета CRC32, а разработчики его не указали
(он нестандартный ?). До разработчиков не добраться - наверно очень секретные.
Программа HexWorkShop ни в каких комбинациях не вычисляет CRC32, которые пишет в конце
своих сообщений приемник ГеоС-1. Может быть надо менять местами b1b2b3b4 на b3b4b1b2 ?
"Но ведь я ж не агитатор - я потомственный кузнец. Да я к полякам в Улан-Батор не поеду наконец!"
(В.С.Высоцкий)
4. Для облегченного варианта измерений достаточно выделять сообщение 0x13 (в нем есть X,Y,Z),
или даже 0x20 (в нем есть время UTC и Lat,Lon,Alt). Время GPS и время ГЛОНАСС в 0x13
оба типа Double, оба идут с инкрементом 200 между пакетами. Деление на 200 дает GPS
TimeOfWeek sec. и Московское время сек., округленное до секунды, нередко с пропусками
одной (секундной) эпохи. А сообщение 0x20 имеет пропуски до 5-10 сек.
5. Стабильный инкремент времени UTC есть в сообщении 0x10, но он странный: при темпе выдачи
пакетов в 1 сек. он составляет 0.2, 0.4, 0.6 и 0.8 сек (притом явно округленных до 0.1 сек).
Похоже неспроста разработчики отрезали вычисление фазы. Обилие спутников поначалу радует,
но обилие данных оборачивается избыточным расходом процессорного времени, а надежности и
точности это обилие похоже не прибавляет. Есть над чем задуматься. А ведь мне еще предстоит
все это переписывать на PellesC для компиляции под Win-CE - наладонник не самая быстрая машина.
Здесь нет возможности приаттачить архив и даже скриншот, поэтому:
пока выложил архив с программой и скриншоты на форуме 4pda.ru
Найти только так (для тех кто не авторизован на форуме):
http://4pda.ru/forum/index.php?act=idx
затем:
4PDA > Навигация > GPS Программы, Карты > Вспомогательные программы > Gringo 2.0.0 субметровая точность бытовых GPS, Софт для получения субметровой точности с бытового GPS
В конце этой темы я и прилепил свой пост и архив с программой. Прошу учесть, что текст, в основном, предназначался разработчикам прибора для прояснения вопросов анализа данных.
Если будет интерес и предложение куда конкретно выложить в свободный доступ, то выложу свои наработки для Гарминовских приемников/навигаторов. С примерами и даже некоторвми пояснениями.
Пусть вас не смущает использование бытовых приборов. Многим из нас командиры НИ-ЗА-ЧТО не дадут $5000-$10000 на геодезический комплект GPS-приемников.
А купить бытовой за 5000-10000 руб. некоторым из нас (даже с учетом КРЫЗИСА) по карману.
Жду конструктивных вопросов-замечаний (не базара и обвинений в "левшизме", я не "Левша" но чту предков).
За грамматические и прочие ошибки сразу приношу извинения, проверять некогда.
PS
для тех, кого не устраивает точность позиционирования из NMEA-сообщений,
кто хочет "прикрутить" негеодезического класса спутниковый приемник к некоторым топографо-геодезическим задачам,
кто интересуется работой со спутниковыми приемниками/навигаторами по бинарному протоколу,
кто хочет понять различия/возможности использования 2-х спутниковых систем Navstar и ГЛОНАСС.
Сергей Климкин, геодезист, ЗОА Моспромстрой.