logo

RCSTV.RU

Форум Ставропольских моделистов

  • Вы не вошли.

Объявления

#1 Фев. 1, 2020 18:22:08

Userpc1010
Зарегистрирован: 2018-05-06
Сообщения: 75
Репутация: +  0  -
Профиль  
Отправить e-mail  

Автопилот для БПЛА самолётного типа.

В место введения:
Это статья по созданию самодельного автопилота для БПЛА на современной элементной базе. Самодельный автопилот создавался чтобы лучше разобраться в теме АСУ транспортными средствами, а также реализации каких-либо уникальных возможностей которых нет в других готовых АП может также пригодится, например, для преодоление зон глушения сигнала, создании своих систем автономного полёта (по уникальному алгоритму) или под уникальный планер. В общем основным плюсом самодельного АП является его невероятная гибкость, открытый исходный код и цена. Надеюсь кто-то сможет разобраться в материале и коде что-бы создать на его основе свой уникальный проект, единственная просьба если вы используете данное ПО не оставаться безучастным и также вносить посильный вклад в развитие проекта (вносить исправления или хотя бы писать об ошибках).

Разработка АСУ осуществляется в интерактивной среде разработчика QT Creator поскольку данная среда позволяет работать по условно бесплатной лицензии, а также обладает кроссплатформенным ядром, что позволяет простой перекомпилировать ПО при переносе на другую платформу, например, на Linux.

Начну со структуры АСУ:

Управление БПЛА осуществляется с ноутбука (или любого другого устройства с ОС Win/Lin), с помощью программы неземной станции управления (НСУ) MapGraphics - это интерактивная спутниковая карта позволяет осуществлять полёт по маршруту (точкам) или в режиме ручного управления с помощью кнопок на клавиатуре ноутбука, а также принимает телеметрию о полёте. Сигналы управления предаются с помощью TCP сервера, что позволяет использовать любой Ethernet совместимый радио модуль, например, Wi-Fi. Сама программа просмотра спутниковой карты не моя она получена отсюда: https://github.com/raptorswing/MapGraphics [github.com] была приведена в рабочий вид и доработана для использования в АСУ.
Сигналы управления от интерактивной спутниковой карты принимает ядро АСУ, данное ПО производит основной расчёт направления движения по сигналам от спутниковой карты и предаёт его на микроконтроллер в ивде структуры данных состоящей из 5 основных параметров направления (азимут), высота, угол атаки, тип точки (взлёт посадка) и наличии вращения вокруг точки (например, в конце маршрута). Ядро работает с такими модулями как GPS Ublox Neo M8N для получения курса, широты и долготы полёта и GSM модема для поиска БПЛА при посадке (например, в высокую траву). Ядро вычисляется на одноплатном компьютере (бортовом компьютере) ASUS TinkerBoard в прочем возможно использовать и Raspberry PI.
ПО микроконтроллера отвечает за стабилизацию БПЛА в воздухе, а также движение по заданному курсу и высоте полёта для этого используется IMU датчик гироскоп+акселерометр+магнитометр BNO 055 (ранее MPU 9250 с фильтром Маджевика), барометр BMP 280 и сонар для получения вертикальной скорости при посадке и нахождении земли. В качестве самого микроконтроллера используется Arduino DUE это 32х разрядный ARM Cortex M3 84МГц.



Теперь более подробно:

Графический интерфейс MapGraphics - Это обозреватель со спутниковыми снимками ESRI (аналог яндекс карт), на снимки накладывается сетка содержащаяя координаты широты, долготы и по этим координатам, и осуществляется движение. Координаты хранятся в памяти БПЛА в виде структур данных точек, каждая точка содержит следующие параметры: широту, долготу, высоту, угол атаки, тип точки, радиус точки, радиус круга (вращения вокруг точки). Точки отображаются на карте в виде маркеров существует 4 типа маркеров-точек:
Точка мгновенного премещения - когда БПЛА летит в указанное место и по достижению координата вращается по кругу.
Маршрутная точка - когда БПЛА летит в точку и по её достижению загружает из памяти следующую по достижению всех точек также начинает летать по кругу.
Точка местонахождения БПЛА на карте.
Точка для поиска БПЛА по координатам широты и долготы.

Параметры: высоты , угола атаки, типа точки, радиуса точки, радиуса круга точки получают из графического интерфейса (Text box) расположенных напротив своих названий, после установки точки на карту ей автоматически присваиваются значения в этих полях, изменяя эти значения каждый раз перед установкой новой точки можно составить маршрут полёта и загрузить его в БПЛА с помощью соответствующей кнопки, ограничение на количество точек как такого нет оно определяется только количеством ОЗУ бортового компьютера. Кнопка в стоп, начинает вращение вокруг текущего местоположения, а кнопка вернутся позволяет продолжить движение после остановки либо мгновенного перемещения. Кнопка калибровка передаёт команду микроконтроллеру о сохранение текущих параметров автокалибровки BNO055 в ПЗУ (У DUE нет своей ПЗУ используется внешняя I2C 24C16) а кнопка перекалибровка перезагружает датчик для применения этих параметров, но подробнее об этом в части ПО микроконтроллера.

В нижней части расположен (check box) предохранителя “Ручное” от случайного нажатия на карте маркера мгновенного перемещения, “Отладка” не использующейся в данный момент и “кнопки” для управления с помощью клавиш: “ADWS” а также ползунок для управления тягой двигателя (который можно регулировать колесом мышки для удобства).


Режим ручного управления эксперементальный режим управления копирующий управление самолётом из компьютерных игр, в данном режиме углы тонгажа крена и рысканья ограничены +/- 30 для тогажа, +/- 45 для крена, +/- 10 для рысканья при нажатии клавиши W БПЛА немедленно изменяет свой тонгаж на -30 а при отпускании возвращается на 0 аналогично S задаёт значение тонгажу +30 и при отпускании обратно, аналогично и все остальные кнопки. Важно заметить что значения от клавиш поступают на рули не напрямую а через закон управления (по сути ПИД регулятор хотя и не совсем обычный) это позволяет гарантировать удержание заданного угла в полёте. Данный режим планируется для использования с FPV оборудованием что-бы сделать полёт похожим на геимплей игры.

Поиск по координатам широты и долготы позволяет отобразить на карте положение самолёта в случае потери сигнала Wi-fi для этого необходимо набрать номер установленной в БПЛА сим карты после чего произойдёт сброс вызова и на телефон придут координаты самолёта, после чего их можно записать в соотвествующие поля в интефейсе карты и маркер отобразит местоположение самолёта.




Ссылка на исходники. [yadi.sk]

Отредактировано Userpc1010 (Фев. 11, 2020 19:57:36)

Офлайн

#2 Фев. 1, 2020 18:22:32

Userpc1010
Зарегистрирован: 2018-05-06
Сообщения: 75
Репутация: +  0  -
Профиль  
Отправить e-mail  

Автопилот для БПЛА самолётного типа.

АСУ установленная в MiniTalon общий вид:



БРЭО:



Отредактировано Userpc1010 (Фев. 11, 2020 16:47:07)

Офлайн

Друзья сайта

  • www.vipatovo.ru - Ипатовский информационный портал
  • www.rc-box.ru - Красноярский форум моделистов.
  • rcmarket.su - Интернет магазин радиоуправляемых моделей.

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version