+7 (812) 670-9095
Обратная связьEnglish
Главная → О компании → Наши клиенты → Cassel Aero → Разработка системы поддержки GPS-модуля для Cassel Aero
Полезный совет
Почему премия попадает во 2 раздел отчета 6-НДФЛ отдельным блоком с датой фактического получения дохода, отличной от даты начисления дохода?Подробнее
Версия для печати

Разработка системы поддержки GPS-модуля для Cassel Aero

Заказчик: Cassel Aero

Отрасль: Электроника и аппаратное обеспечение


Заказчик получил гибко настраиваемое средство для работы с практически любыми модулями GPS/ГЛОНАСС, поддерживающими протокол NMEA.



Ситуация

Заказчику требовалось отображать на экране в кабине пилота текущее местоположение вертолёта и связанные с ним сведения для точного наведения на трек, с высоким разрешением. Для этого им был приобретён высокоскоростной GPS-приёмник фирмы Aztech (впоследствии заменён на приёмник GPS/ГЛОНАСС фирмы Novatel). Кроме того, через несколько лет для навигации автомобилей сопровождения и заправки, понадобилось принимать координаты от дешевых низкоскоростных GPS, подключаемых к порту USB. Результаты требовалось отображать на векторных картах SHP (вертолёт) и растровых MrSid (автомобиль).

Решение

Все рассматриваемые приёмники отдают координаты через COM порт по текстовому протоколу NMEA с небольшими различиями. Таким образом,  механизм работы с ними единый, но отличающийся рядом деталей.

Самые большие трудности возникли с обработкой координат. Выяснилось, что несмотря на то, что у точки есть широта и долгота, на картах разных стран (и даже разных периодов создания в одной стране) эти координаты могут пусть несущественно, но отличаться. Например, в СССР/России существовали системы координат СК42 (1942 год) и ПЗ-90 (используется в настоящий момент). Для GPS приёмника следует установить и использовать в дальнейших вычислениях датум. Если датум, выбранный в приёмнике отличается от датума карты, то координаты будут иметь ошибку от десятков до сотен метров, что неприемлемо в рамках проекта. Был проведён большой объём работ по выяснению теоретических основ датума. В дальнейшем в программу введена возможность его выбора.

Следующая проблема состояла в том, что имеющиеся карты привязаны не к широте и долготе, а к координатам XY (шведская система RT90). Были найдены формулы для преобразования координат.

Во время опытных полётов выяснилось, что из-за особенностей оборудования (на тот момент, всё оборудование проектировалось и изготовлялось заказчиком), периодически сбрасывался ранее установленный датум. Этот факт положил конец обработке GPS внутренними средствами программы. Силами компиляторного отдела АстроСофт в кратчайший срок был разработан и внедрён скриптовый язык. Все базовые настройки приёмника, а также обслуживание его сообщений были вынесены в скрипт. Сюда же была добавлена периодическая проверка текущего статуса датума. Именно скриптовый язык позволил в дальнейшем беспрепятственно ввести в систему поддержку USB приёмников, а также приёмника Novatel, поддерживающего систему ГЛОНАСС.

Результат

Заказчик получил гибко настраиваемое средство для работы с практически любыми модулями GPS/ГЛОНАСС, поддерживающими протокол NMEA. Гибкость достигнута за счёт специально разработанного скриптового языка. Модуль поддержки скриптов претерпел минимальные изменения с 2002-го года. Возможно самостоятельное добавление заказчиком новых GPS приёмников в систему. Это можно осуществлять без перекомпиляции системы, только за счёт разработки новых скриптов.

Система может легко настраиваться на карты, выполненные в различных национальных стандартах различных лет. Она позволяет как настраивать приёмник GPS/ГЛОНАСС на необходимый датум, так и задавать параметры базового эллипсоида для внутреннего преобразования координат от широты/долготы к XY.

Используемые технологии

Программа писалась (по требованию заказчика) в среде Borland Delphi 6.0. В дальнейшем она была переведена в среды Delphi 7.0, затем – Delphi 2007. Поддержка COM порта выполнена средствами WIN32 API.

Изучены особенности координатных систем, в частности – международной WGS84 и шведской RT90. Освоены методы преобразования координат между системами. Поддержка протокола NMEA написана самостоятельно. Скриптовый язык разработан и его поддержка осуществлена силами компиляторного отдела АстроСофт.


Скачать



Константин Цивин, Вице-президент по маркетингу
Заказать звонок Задать вопрос