Программный комплекс включает прошивку для
микроконтроллера STM32 и два
PC - приложения.
Прошивка для STM32 написана на языке
Qt5/С++ и
решает следующие задачи:
● работа с
интерфейсами GPIO, USART/UART, I2C, SPI, а также
с встроенными таймерами и
PWM;
●
настройка и
общение с сенсорами:
o
акселерометром,
o
гироскопом,
o
магнитометром,
o
GPS,
o
ультразвуковым
сенсором расстояния;
●
калибровка и
управление ESC (контроллерами двигателей);
●
сохранение и
загрузка данных с SD
card:
o
данные настроек
и калибровок,
o
данные плана
полета;
●
фильтрация
данных сенсоров:
o
температурная и
магнитная компенсации,
o
поправка на
магнитное склонение;
●
вычисление
ориентации и положения летательного аппарата;
●
связь с через
Wi-Fi посредством модуля
ESP8266:
o
настройка и
передача данных телеметрии,
o
передача и
прием данных настроек и калибровок,
o
прием данных
управления,
o
прием плана
полета;
● контролирование
ориентации и положения летательного аппарата в
пространстве в нескольких режимах:
o ручное
управление (контроль углов наклона, тангажа и рыскания
вместе со средней мощностью двигателей),
o
удержание
высоты,
o
удержание
позиции,
o
выполнение
плана полета.
Написана с использованием Qt5/С++ и решает
следующие задачи:
● работа
с картами Google и OpenStreetMap: загрузка и
отображение, кэширование (на жестком диске и оперативной
памяти) с ограничениями по максимальной используемой
памяти, построение тайлов (фрагментов) карты, используя
тайлы с нижних и верхних слоев приближения);
● связь
и обмен данными с БПЛА
через TCP/IP;
● настройка
программы, загрузка и сохранение настроек на жесткий
диск;
● настройка
БПЛА:
o
настройка
управляющих контуров БПЛА,
o
калибровка
сенсоров,
o
магнитная и
температурная компенсации сенсоров,
o
загрузка данных
сетки магнитного склонения для выбранной местности
● настройка и
отображение телеметрии, ее сохранение и загрузка с
жесткого диска;
● создание,
редактирование, сохранение, загрузка и передача
БПЛА
плана полета;
● управление
БПЛА,
отображение его состояния и журнала событий:
o
выбор режима
управления,
o установка углов
наклона, тангажа и рыскания, средней мощности
двигателей, позиции,
o
выбор и запуск
загруженного на БПЛА плана полета, его остановка,
o отправка
сигналов автоматического взлета, посадки и перемещения в
домашнею позицию.
QCopterSim написана с использованием
Qt5/С++
и является посредником между и программой (ранее
V-REP)
для симуляции полета БПЛА в виртуальной среде.
Интерфейсы приложений (разработанные Qt5/С++)