Назад в библиотеку

Разработка порграммного обоспечения в пакете прикладных программ Matlab для анализа данных с инерциальной навигационной системы

Авторы: Б.Д. Хасцаев, Ю.Ф. Шеврикуко
Источник: XIII Международная научно‑практическая конференция

Аннотация

В данной статье рассматривается специально созданное программное обеспечение для анализа и контроля данных инерциальной навигационной системы. Рассмотрен ральный пример использования данной системы при разработке инерциальной навигации, оценка спектральной характеристики и нормального распределения полученных данных

Введение

На сегодняшний в связи с широким распространением беспилотных летательных аппаратов (БПЛА) и других роботизированных платформ возникает потребность в навигационных системах способных работать в труднодоступных районах где существует высокий риск потери сигнала спутниковой навигационной системы (СНС) [1].Альтернативной может служить инерциальная навигационная система (ИНС) которая включается в работу системы как основная, в случае потери сигнала СНС. Удобно было бы, чтобы ИНС, устанавливаемая на роботизированные платформы работала на микро‑электромеханических систем MEMS датчиках, так как они широко доступны и имеют сравнительно низкую цену. Однако существует ряд трудностей препятствующий использованию ИНС на данном типе датчиков в каких‑либо роботизированных платформах. В частности это накопление разного рода ошибок датчиками ИНС (гироскоп и акселерометр) [2, с.97, 3, с.26]. Исходя из этого, качественная настройка и отладка инерциальной навигационной системы играют важную роль [4, с.85–97]. Правильная настройка ИНС позволяет повысить точность как самой инерциальной навигации так и комплексной навигации которая объединяет в себе инерциальную и спутниковую навигации. Для таких целей удобно использовать специальное программное обеспечение (ПО), которое позволяет в режиме реального времени визуализировать и анализировать поученные данные. Одним из способов является симуляция работы ИНС, методом эмитации работы инерциальных датчиков посредством математических моделей. Такие подходы описаны автором Радриго Ганзалезом в статье [5, с.110–120], а так же в работе [6, с.9–11.]. Однако данный подход симулирует конкретные датчики и их особенности, исходя из этого данный подход априори не может считаться универсальным. В данной статье предлагается подход разработанный в процессе работы реализации ИНС. Данный подход основан на анализе данных с датчиков в режиме реального времени посредством специального ПО написанной в пакете прикладных программ MatLab. Данное ПО позволяет строить графики, визуализирует ориентацию платформы ИНС в трехмерном пространстве и имеет возможность базового анализа полученных данных. Так же в данной статье будет рассмотрен реальный пример одного из основных шагов разработки ИНС связанный с выбором алгоритма фильтрации сигналов полученных с датчиков.

Разработка программного обеспечения для анализа данных ИНС

В процессе разработки ИНС для БПЛА была выявлена необходимость создания некоторого ПО, позволяющего оценивать работу инерциальной системы. Была разработано специальное ПО с помощью вышеупомянутого пакета прикладных программ. В задачу ПО входит вычисление ориентации тела в пространстве на основе полученных данных, анализ данных, дополнительная обработка, а так же визуализация полученной и обработанной информации. Сама ИНС, работа которой будет анализироваться, представляет собой аппаратную платформу и состоит из платы Arduino Nano на базе микроконтроллера ATmega 328 и подключенному к ней модуля G‑521 на базе MPU 6050, в основе которой лежат технологии микро‑электромеханических систем (МЭМС). Данный модуль состоит из двух датчиков и процессора:

Обмен данными между компьютером и микроконтроллером осуществляется посредством UART порта. Так как данные передаются по UART целым пакетом и для каждого типа данных предназначено свое окно вывода, то необходимо было прописать протокол передачи данных. Данный протокол предусматривает совместную работу компьютера и микроконтроллера. Работу протокола по передачи условно можно условно разделить на четыре этапа:

Визуализация данных представляет собой следующий вид отображения информации, при этом с левой стороны располагаются три области для вывода графиков ускорения, скорости и перемещения. С правой стороны располагается область для отображения модели беспилотного летательного аппарата в трех мерном пространстве.

Совместная работа всех модулей системы позволяет обрабатывать и анализировать данные в режиме реального времени, результаты которых выводятся на экран, как показано на рисунке 1.

Визуальное отображение данных ИНС

Рисунок 1 – Визуальное отображение данных ИНС

Ориентации модели происходит на основе данных ИНС об углах тангажа и крена. Ориентация тела в пространстве вычисляется посредством кватернионов [7]. Формула нахождения кватерниона представлена ниже:

Формула нахождения кватерниона

где w – это угол поворота, vn – ось поворота, выраженная вектором (n – x, y, z).

Чтобы рассчитать ориентацию тела в пространстве необходимо вычислить кватернион для каждой из осей, а затем найти их произведение, учитывая формулу (1). Расчет кватернионов, описывающих повороты вокруг осей X, Y, Z представлены ниже:

Расчет кватернионов, описывающих повороты вокруг осей X, Y, Z

Далее на основе (2) перемножаем все три кватерниона и находим кватернион, описывающий ориентацию тела в трехмерном пространстве:

Формула нахождения кватерниона,описывающего ориентацию тела в трехмерном пространстве

Для отображения ориентации в пространстве модели БПЛА пакет программ MatLab использует матрицу направляющих косинусов (матрица поворота) [7]. Поэтому необходимо перевести кватернион в матрицу направляющих косинусов, которая выглядит следующим образом:

Матрица направляющих косинусов

Блок программного кода ориентации в пространстве на основании (4) представлен ниже:

value=fscanf(s, '%f');

value2=fscanf(s,'%f');

dist_x=fscanf(s,'%f');

if (length(value))>0

pitch=(value-180);

rol=(value2-180);

if pitch>=358

pitch=0;

end

if rol>=358

rol=0;

end

Mx=makehgtform('translate',[0 0 0 ]);

quternion=angle2quat(yaw*r, pitch*r, rol*r);

Mx2=quat2dcm(quternion);

Mx2(:,4)=0;

Mx2(4,:)=0;

Mx2(:,4)=Mx2(:,4)+Mx(:,4);

Mx2(2,4)=dist_x;

set(sp1,'Matrix', Mx2)

if n>=5

flushinput(s);

n=1;

end

end

pause(.05)

Подход, предлагаемый в работе, дает нам возможность понять, как накапливается ошибка на каждом из стадии вычислений и как это влияет на конечный результат. Это важно для дальнейших исследований, связанных с нахождением пути, который позволит компенсировать их. Рассмотрим это.

Разработанная в работе программа обладает модулями для анализа данных в режиме реального времени. В частности при необходимости можно подключить спектральный анализ сигнала основанный на быстром преобразовании Фурье [8, с.262] и оценить нормальное распределение сигнала [8, с.43]. Эти модули были применены для оценки особенностей работы фильтров применительно к ИНС. В блоке ИНС были использованы три фильтра: комплементарный фильтр, фильтр Калмана [9, 10, с.35–45], и совместное использование двух фильтров. Спектральная характеристика фильтров представлена на рисунке 2. Необходимо отметить ограничения оценки спектра сигнала. Максимальная скорость обработки данных это 200 Гц (т.е. 200 точек в секунду). Учитывая теорему Котельникова (Найквиста), модуль программы обеспечивает оценку частоты до 100 Гц.

Спектральная характеристика сигнала αx и результаты ее обработки

Рисунок 2 – Спектральная характеристика сигнала αx и результаты ее обработки

Спектральная характеристика показала, что наилучшим из апробированных на данном этапе вариантов является совместное использование двух фильтров. Как видно из рисунка 2, в сыром сигнале присутствует практически весь спектр частот, что фактически является белым шумом. Комплементарный фильтр отсекает большую часть частот, что составляет 20–100 Гц, амплитуда сигналов на частотах до 20 Гц уменьшена до значения 0.005–0.002. Объединённый фильтр вторично уменьшает амплитуду сигнала по всему спектру частот. Так же это подтверждается и при оценке нормального распределения, представленного на рисунке 3.

 График нормального распределения сигнала

Рисунок 3 – График нормального распределения сигнала

Как видно на рисунка комплементарный фильтр имеет меньшую дисперсию δ=0,00134 и меньшее среднеквадратичное отклонение σ=0,0366, чем фильтр Калмана, у которого σ=0,0473. Однако фильтр Калмана лучше предсказывает действительное значение сигнала (математическое ожидание). Это еще раз подтверждает, что наиболее эффективным является объединение двух фильтров. Последнее позволяет достичь наименьшее значение дисперсии и среднеквадратичное отклонения с математическим ожиданием, расположенным ближе к истинному значению, равному 180° по оси X.

ВЫВОД

В данной статье было описано разработанное ПО для анализа данных с ИНС. Были описаны основные возможности данного ПО, а также была обоснована их актуальность. Основными достоинствами данной программы является отображение таких данных как ускорение, скорость и перемещение, а также отображение движения и ориентации платформы ИНС в трехмерном пространстве по осям X, Y, Z. Еще одной важной особенностью данного ПО является возможность в режиме реального времени проводить спектральный анализ, в основе которого лежит алгоритм быстрого преобразования Фурье, а также возможность анализа нормально распределения и дисперсии исследуемых данных.

Посредством данного ПО были проанализирована работа комплементарного фильтра, фильтра Калмана и их совместное использование. На основе полученных данных было определенно превосходство совместного использование двух фильтров.

Данное ПО является универсальным для анализа работы ИНС, а так же является масштабируемым, что предполагает его дальнейшее развитие и оптимизацию.

Список использованной литературы

1. Shevrikuko U.F., Voloshin S.B., Buzarov M.M. The development of complex navigation system of the unmanned aerial vehicle for operation in the conditions of mountain territories // 2nd International Conference on Industrial Engineering, Applications and Manufacturing (ICIEAM). IEEE, 2016, P. 1 – 4. DOI: 10.1109/ICIEAM.2016.7910907
2. Шеврикуко Ю.Ф. Компенсация ошибок инерциальной навигационной системы на основе MEMS датчиков посредством нейросетевых алгоритмов // Аспирант и соискатель. – 2016.– № 6.
3. Шеврикуко Ю.Ф. Перспективы развития аппаратно‑программной Платформы управления БПЛА с Комплексной навигационной системой в условиях горных территорий [Текст] / Ю.Ф. Шеврикуко, К.А. Базаева, З.А. Тигиев, М.А. Ковалева, М.М. Бузаров // Молодежный научный форум: технические и математические науки. – 2016.– № 7.
4. Прохорцов А.В. Исследование эффективности различных типов коррекции показаний БИНС по сигналам СНС [Текст]/ А. В. Прохорцов // Известия ТулГУ. Технические науки. – 2013. № 11.
5. Rodrigo Gonzalez, Juan Ignacio Giribet, Hector Daniel Patino NaveGo: a simulation framework for low‑cost integrated navigation systems // Control Engineering and Applied Informatics. 2015,
6. Ледовской М.И. Моделирование алгоритма инерциальной навигации в matlab‑simulink [Текст]/ М.И. Ледовской// Ползуновский вестник . – 2011. – № 3–1.
7. Вараксин А.Г. Матрицы и кватернионы [Электронный ресурс].Статьи для программистов. Переводы. – Режим доступа: http://www.rossprogrammproduct.com/
8. Оппенгейм А. Цифровая обработка сигналов [Текст]/ А. Оппенгейм, Р. Шафер // Техносфера 2‑е издание – М:, 2007. – 856 с.
9. Ривкин С.С. Методы оптимальной фильтрации Калмана и его применение в инерциальных навигационных систем [Текст]/ С.С. Ривкин, //. В 2‑х частях. Л.: Судостроение, 1974.
10. Kalman R.E. A New Approach to Linear Filtering and Prediction Problems [Текст] / R. E. Kalman //Journal of Basic Engineering, 1960, vol. 82, no. 1.