Аннотация и ключевые слова
Аннотация (русский):
Исходные данные для работы программы, включающие математические модели, входные воздействия и шумы, могут генерироваться в самой программе или задаваться пользователем. Графический интерфейс позволяет выводить на экран в виде графиков или сохранять в виде файлов информацию о компонентах входного воздействия, выходных сигналах датчиков, оценках компонент входного воздействия и ошибок оценивания. Ядро платформы разработано на языке программирования С#. В платформу встроен интерпретатор динамического языка IronRuby, позволяющего расширить возможности программы за счет добавления пользовательских модулей, преобразуемых при запуске приложения в байт-код .Net, благодаря чему не ухудшается общая производительность приложения. Достоинствами программной платформы являются простота программирования специализированных инструментов на языке IronRuby и использование бесплатных библиотек. Пример работы с программой не только подтверждает работоспособность, но и имеет самостоятельное значение для сопоставления характеристик микромеханических гироскопов и акселерометров разных типов и навигационных систем на их основе.

Ключевые слова:
инерциальный измерительный блок, спутниковая система, коррекция, программная платформа, полунатурное моделирование
Текст
Введение Предлагаемая программная платформа позволяет проводить исследования работы инерциальных измерительных блоков (ИИБ) и алгоритмов цифровой обработки сигналов в интегрированных инерциально-спутниковых навигационных системах. Исходные данные для работы программы, включающие математические модели, входные воздействия и шумы, могут генерироваться в самой программе или задаваться пользователем. Графический интерфейс пользователя позволяет выводить на экран в виде графиков информацию о компонентах входного воздействия, выходных сигналах датчиков, оценках компонент входного воздействия и ошибок оценивания. Полученные графики можно сохранить в виде графических файлов. Ядро платформы разработано на объектно-ориентированном языке программирования С# [1]. В платформу встроен интерпретатор динамического языка IronRuby [2, 3], который позволяет расширять возможности программы за счет добавления пользовательских динамически компилируемых модулей, преобразуемых при запуске приложения в байт-код .Net, благодаря чему реализованные динамические модули не ухудшают общую производительность приложения. Достоинствами программной платформы являются простота программирования специализированных инструментов на языке IronRuby и использование бесплатных библиотек. Выбор языка программирования IronRuby обусловлен легкостью его освоения, удобным синтаксисом для составления сложных алгоритмов, высокой функциональностью, а также простотой интеграции в статически компилируемые программы. Логическая структура программной платформы Программная платформа состоит из трех основных частей: графического интерфейса пользователя (GUI – Graphical User Interface), сервиса хранения и обработки данных (SDS –Synchronized Data Service), а также сервиса сценариев (SHS – Script Host Service). Графический интерфейс пользователя GUI предназначен для задания параметров моделирования, генерации сигналов и шумов датчиков и загрузки исходных данных объекта. Структурная схема GUI показана на рис. 1. Из GUI заданные и сгенерированные параметры моделирования выгружаются в общее хранилище посредством сервиса SDS. Этот сервис реализован в виде глобального, в масштабах программной платформы, сервера данных. С его помощью осуществляется обмен данными между графическим интерфейсом и динамическими программными модулями, а также запуск сценариев, моделирующих работу ИИБ, алгоритмов фильтрации и алгоритмов комплексной обработки информации. Рис. 1. Функциональная схема GUI Графический интерфейс GUI состоит из нескольких разделов, каждый из которых содержит один или несколько экранов. Раздел «Noises» – используется для генерации шумов датчиков. Экран «All» раздела позволяет генерировать шумы как для одного датчика, так и для всех датчиков сразу. Индивидуальные экраны акселерометров и гироскопов (А(1) … А(N) и G(1) … G(N), где N – номер датчика) позволяют задавать параметры генерируемого шума для каждого датчика, такие как дисперсия несмещенного шума «Unbiased noise», математическое ожидание «Mean» и др. Графики сигналов могут быть сохранены в виде графических файлов. Уровень шумов, характеризуемый дисперсией, задается вводом числа в текстовое поле или при помощи ползунка, которые синхронизированы между собой. Смещение, характеризуемое математическим ожиданием, может задаваться постоянным, переменным детерминированным или случайным либо может быть загружено из буфера обмена, например в виде столбца чисел из табличного редактора MS EXCEL. Несмещенный шум («Unbiased noise») и смещение («Mean») суммируются при нажатии на кнопку «Generate Biased Noise». По нажатию кнопки «Accept Noises» производится выгрузка сгенерированных шумов в сервис хранения данных SDS. Запись производится поверх уже имеющихся там данных. В случае, когда новый массив данных имеет меньшую длину, старые данные будут перезаписаны частично. Раздел «Sensors» – предназначен для задания параметров математической модели датчиков в виде передаточных функций и их коэффициентов. Раздел «Orthogonality» – предназначен для выбора схемы размещения датчиков в ИИБ (возможны варианты ортогональной и неортогональной (избыточной) схемы построения), а также для указания сигналов датчиков, используемых при моделировании. Раздел «Redundancy» – предназначен для задания ориентации осей чувствительности акселерометров и гироскопов в ИИБ в виде углов разворотов вокруг осей связанной системы координат (ССК). Раздел «Movement» – используется для загрузки симуляционных данных объекта из файла «CSV» (кнопка «Load Sim Data»). Раздел «Simulation» – осуществляет выполнение сценариев, хранящихся в подкаталоге «scripts» – файлы с расширением «.rb». Это сценарии, написанные на языке IronRuby и выполняемые с помощью встроенного интерпретатора в сервисе SHS. В программной платформе реализованы следующие программные модули. Модуль «MainWindow» (рис. 2, блок 4) – реализует главное окно графического интерфейса пользователя GUI. Модуль «NoiseGenerator» (рис. 2, блок 4.1) – реализует интерфейс настройки генератора шума, позволяет построить графики для несмещенного шума, смещения нуля и результирующего сигнала. Модуль «SensorGenerator» (рис. 2, блок 4.2) – предназначен для преобразования аналоговой математической модели, заданной в разделе «Sensors», к дискретному виду. Модуль «RedundancyConfigurator» (рис. 2, блок 4.3) – реализует интерфейс, в котором пользователь может задавать ориентацию оси чувствительности каждого датчика в блоке. Модуль «MovementDataViewer» (рис. 2, блок 4.4) – реализует графический интерфейс загрузки данных движения объекта из файла и просмотр их в виде графиков. Модуль «ScriptConsole» (рис. 2, блок 4.5) – реализует интерфейс интерактивной консоли (ввод команд на языке IronRuby) и интерпретатора динамических модулей (сценариев). Модуль «GlobalDataBrowser» (рис. 2, блок 4.6) – реализует интерфейс, позволяющий построить графики для всех одномерных массивов в глобальном хранилище данных SDS. Модуль «GlobalDataService» (рис. 2, блок 1) – реализует глобальный сервис хранения данных GDS, в виде шаблона проектирования программы (singleton). Модуль «GlobalScriptingService» (рис. 2, блок 2) – реализует глобальный сервис SHS интерпретации сценариев и отдельных команд IronRuby, реализованный в виде singleton, доступный в пределах программы по ссылке «Sins.Services.GlobalScriptingService. Instance». Сервис позволяет выполнять как отдельные команды, так и целые сценарии. Модуль «SSF» (рис. 2, блок 3) – модуль реализации дискретной модели в пространстве состояний. Позволяет преобразовать передаточную функцию аналоговой системы, заданной в пакетах Matlab и Octave, к дискретной модели в виде разностных уравнений в пространстве состояний. Рис. 2. Взаимосвязь программных модулей Пример использования программы. Описание реализованных алгоритмов Для проверки корректности работы программной платформы проведено полунатурное моделирование работы интегрированной инерциально-спутниковой системы на неподвижном основании. Рассматривался простейший вариант ИИБ, построенный по ортогональной схеме, на основе различных микромеханических гироскопах (ММГ) типа CRG20 (Silicon Sensing, Англия), SAR100 (Sensonor, Англия) и микромеханических акселерометров (ММА) типа ADXL203 и ADXL321 (Analog Devices, США). Информация от ММГ и ММА поступала с частотой 1 кГц. Для коррекции применялась информация от многоантенной спутниковой системы угловой ориентации (ССО) типа JLR-20 (JRC, Япония), поступающая с частотой 20 Гц. В программной платформе реализованы алгоритмы предварительной обработки сигналов датчиков на основе модифицированного фильтра Калмана (ФК) [4], в котором оценки , , векторов абсолютной угловой скорости и кажущегося ускорения ,, на оси связанной системы координат ССК определяются в соответствии со следующими выражениями: , , . (1) Здесь , – прогноз и уточненное значение вектора состояния; ,– вектор входного воздействия (составляющие угловой скорости , , и кажущегося ускорения ,,) и его оценка; А, В – собственная матрица объекта и матрица его управляемости соответственно; Н – матрица измерений; , – прогноз и уточненное значение матрицы ковариации ошибок; D – ковариационная матрица шумов динамического процесса; К – матрица коэффициентов усиления ФК; I – единичная матрица. Для вычисления параметров пространственной ориентации (углы курса, крена, тангажа) применены уравнения в параметрах Родрига – Гамильтона [5]: , (2) где – кватернион угловой скорости вращения связанного сопровождающего трехгранника; – кватернион ориентации вида ; – проекции абсолютных угловых скоростей вращения географического трехгранника на его оси. Искомые углы курса, крена и тангажа вычисляются следующим образом: . Для определения навигационных параметров (широта, долгота и высота) применен алгоритм работы автономной бесплатформенной инерциальной навигационной системы (БИНС) [5, 6]: (3) где , , – проекции вектора кажущегося ускорения на оси географической системы координат; ,, – проекции кориолисова ускорения; – угловая скорость вращения Земли; VXg, VYg, VZg – проекции вектора линейной скорости. В качестве , , и , , в (2) и (3) используются оценки . Комплексирование инерциально-спутниковой информации осуществляется по слабосвязанной схеме [6], в соответствии с которой за истинные значения параметра (координат, скоростей и углов ориентации) принимается вектор y(t), вычисленный по формулам (4) где , – сигналы измерителей; – измеряемый параметр (полезный сигнал); и – погрешности измерителей; – оценка ошибки; y(t) – корректированный сигнал. При комплексировании осуществлялась коррекция по координатам, углам ориентации и составляющим линейной скорости в географической системе координат. Результаты работы программной платформы Для уменьшения случайных составляющих ошибок сигналы ММГ и ММА были предварительно обработаны в ФК в соответствии с выражениями (1). Среднеквадратические отклонения оценок до и после фильтрации показаны в табл. 1, 2 и на рис. 3, 4. Таблица 1 Результаты фильтрации сигналов ММГ Составляющая SAR100-50 Grade 50, рад/с SAR100-100 Grade 100, рад/с SAR100-100 Grade 50, рад/с CRG20, рад/с До ФК После ФК До ФК После ФК До ФК После ФК До ФК После ФК wx 0,007402 0,000686 0,001796 0,000482 0,00122 0,000339 0,008166 0,001208 wy 0,006105 0,000556 0,002065 0,000482 0,001249 0,000356 0,011022 0,001473 wz 0,005509 0,000666 0,002163 0,000429 0,001238 0,000317 0,014145 0,002084 Рис. 3. Результаты фильтрации сигнала ММГ CRG20 Таблица 2 Результаты фильтрации сигналов ММА Датчик Составляющая СКО, м/с2 До ФК После ФК ADXL203 ax 0,0024915 0,0015064 az 0,0024899 0,0014549 ADXL321 ay 0,3040397 0,0799833 Рис. 4. Результат фильтрации сигнала ММА ADXL203 Из табл. 1, 2 и рис. 3, 4 следует, что предварительная обработка сигналов составляющих угловых скоростей и линейного ускорения, поступающих от датчиков ИИБ, позволила на один и два порядка снизить дисперсию сигналов ММГ и ММА соответственно. Экспериментальные статистические характеристики погрешностей многоантенной ССО типа JLR-20 (JRC, Япония) приведены в табл. 3. Таблица 3 Статистические характеристики многоантенной ССО типа JLR-20 Параметр СКО Математическое ожидание Курс 0,010454 рад 0 рад Крен 0,009355 рад 0 рад Тангаж 0,011929 рад 0 рад Северная составляющая линейной скорости, Vn 0,05134 м/с –0,002401 м/с Восточная составляющая линейной скорости, Ve 0,09375 м/с –0,011172 м/с Вертикальная составляющая линейной скорости, Vh 0,14322 м/с –0,040879 м/с Широта j СНС (от СНС) 1,9949e-5 рад 51,51 град Долгота lСНС (от СНС) 2,4216e-5 рад 45,96 град В табл. 4 и на рис. 5, 6 приведены результаты моделирования работы автономной БИНС для различных типов ММГ и ММА в течение 200 с. При моделировании рассматривались следующие варианты: а) ММГ SAR100-50 Grade 50, ММА ADXL203, ADXL321, б) ММГ SAR100-100 Grade 50, ММА ADXL203, ММА ADXL321, в) ММГ SAR100-100 Grade 100, ММА ADXL203, ММА ADXL321, г) ММГ CRG20, ММА ADXL203, ММА ADXL321. Таблица 4 Результаты моделирования работы автономной БИНС Ва-ри-ант Ошибка определения координат, м, СКО Ошибка по углам ориентации, рад, СКО Ошибка определения составляющих линейной скорости, м/с, СКО по широте по долготе высоты курса тангажа крена северной восточной вертикальной а 325,0425 104,2675 77,4467 0,005705 0,008486 0,008980 5,0573 3,3819 0,8525 б 519,6183 142,5722 100,2394 0,005301 0,004159 0,005693 6,7367 1,5445 0,8428 в 581,1109 114,0022 113,3750 0,007224 0,003955 0,004824 5,4987 1,7006 0,8260 г 75,6733 83,6267 67,9660 0,001337 0,000890 0,001070 1,1154 1,2898 0,8210 Как видно из табл. 4 (для варианта г), наименьшая погрешность при работе БИНС в автономном режиме получена при применении в ИИБ датчиков CRG20, ММА ADXL203, ММА ADXL321. Рис. 5. Графики изменения курса, крена и тангажа при работе в автономном режиме Рис. 6. Графики широты без коррекции и с коррекцией от СНС Для оценки точности работы интегрированной БИНС проведено полунатурное моделирование для вариантов комплексирования по координатам, по углам ориентации и по линейной скорости и ускорению. Результаты моделирования приведены в табл. 5. Таблица 5 Результаты моделирования работы комплексной БИНС Вид коррекции Ошибки определения координат, СКО Ошибка по углам ориентации, СКО Ошибка определения составляющих линейной скорости, СКО широты / долготы / высоты, м Курс / Крен / Тангаж, рад северной / восточной / вертикальной, м/с По координатам 2,2385 / 2,7164 / 2,1644 0,005301 / 0,004157/ 0,005692 6,7330 / 1,5455 / 0,8429 По углам ориентации 1,5e+003 / 4,48e+003 / 79,12 0,010297 / 0,011868 / 0,0092 2,83 / 2,29 / 0,83 По линейной скорости и ускорению 4,6 / 9,8391 / 1,3661 0,005705 / 0,008482 / 0,008482 0,0487 / 0,0876 / 0,1361 Из табл. 5 видно, что наилучший результат при комплексировании достигается при коррекции координат и линейной скорости. В связи с погрешностями ССО типа JLR-20 и ММА ADXL203 и ADXL321 при комплексировании по углам ориентации получены более высокие погрешности. Заключение Представлена программная платформа для исследования алгоритмов цифровой обработки сигналов в избыточных инерциально-спутниковых навигационных системах. Благодаря встроенному интерпретатору языка Ruby платформа позволяет автоматизировать широкий спектр исследовательских задач. Моделирование предварительной обработки на основе модифицированного фильтра Калмана, алгоритмов автономной и интегрированной навигационных систем подтвердило корректность работы программной платформы и позволило получить оценки погрешностей нескольких вариантов ИИБ. Представлены результаты полунатурного моделирования работы навигационной системы, построенной на основе грубых инерциальных датчиков. Для вариантов применения различных микромеханических датчиков ошибка (СКО) определения широты в автономном режиме лежала в диапазоне 75,6…325 м, а долготы – в диапазоне 83,6…142,5 м. Максимальная ошибка при определении углов ориентации составила: по курсу – 0,001337 рад; по тангажу – 0,000890 рад и по крену – 0,001070 рад. При введении коррекции от спутниковой навигационной системы ошибка определения линейных координат снизилась до 2...3 м. Увеличение точности было получено и по другим параметрам. Лучшие по точности результаты получены для варианта корректируемой БИНС на основе ММГ типа CRG20 и ММА типа ADXL203 (по оси x и z) и ADXL321 (по оси y).
Список литературы

1. Шилдт Г. C# 4.0: полное руководство. – М.: Вильямс, 2010. – 1056 с.

2. Роганов Е. А., Роганова Н. А. Программирование на языке Ruby: учеб. пособие. – М.: МГИУ, 2008. – 56 с.

3. Friedman Shay. IronRuby unleashed. – Library of Congress-in-Publication Data, 2010. – 530 p.

4. Алешкин В. В., Пылаев Ю. К., Матвеев А. С. Первичная обработка информации избыточного блока четырех волоконно-оптических гироскопов // Вестн. Сарат. гос. техн. ун-та. – 2010. – № 4 (50). – С. 51–57.

5. Матвеев В. В., Распопов В. Я. Основы построения бесплатформенных инерциальных навигационных систем / под общ. ред. д-ра техн. наук В. Я. Распопова. – СПб.: Концерн «ЦНИИ «Электроприбор», 2009. – 280 с.

6. Бранец В. Н., Шмыглевский И. П. Введение в теорию бесплатформенных инерциальных навигационных систем. – М.: Наука, 1992. – 280 с.