Выбор платформы для экспериментов с БПЛА / Хабр

Макетные платы с IMU

Для ряда применений небольшого ARM на борту недостаточно (даже если это М4). Чуть выше уже упоминалась плата Gumstix на OMAP3530 (Cortex-A8) в связке с NavStik. Было бы странно ели бы Gumstix сам не сделал что-то подобное самостоятельно.

Плата расширения Gumstix AeroCore. Другая популярная «макетка» BeagleBone c SOC от TI. Под неё тоже есть подходящая платка:

На фотографии BeagleBone IMU Cape

И, наконец, Intel со своим Edison. Под него платы расширения пока нет, но кто-то сомневается, что будет?

Следует заметить, что перечисленные платформы с трудом проходят по критерию «открытости», вся надежда была на I.MX6, ввиду полноты документации, но его родной SabreLight не подходит по форм фактору, а остальные реализации не имеют должной популярности (сугубо моё мнение). Так что ждем обещанного I.MX6 cо встроенным Cortex-M4 и новой подходящей макеткой.

К отряду макетных плат отнесу так же различные MiniPC на базе Android. Привлекательные, прежде всего, своей ценой. На примере Mk808 за 40$ имеем:

  1. RK3066 2 x Cortex-A9 1.6GHz;
  2. 1Гб ОЗУ;
  3. 8Гб Flash;
  4. WiFi;
  5. SD разъем;
  6. UART на плате;


Есть и более современные устройства на RK3288, но вопросс наличия порта Linux требует дополнительного изучения.

Подобный miniPC прикрученный через UART к любому описанному здесь автопилоту расширяет его возможности вплоть до VSLAM ( SLAM на основе технического зрения ).

Становится возможным вместо описанных здесь «микро ОС» для МК использовать полноценные ОС с надстройками в виде ROS или даже Simulink.

Наконец добрались до Pixhawk. Многие видели красивые ролики с квадрокоптерами играющими с мячиком для настольного тенниса, выполняющими акробатические трюки, стаей дружно что-то стоящие. Основной поставщик этого Контента — ETH Zurich (Swiss Federal Institute of Technology Zurich). Pixhawk это их разработка

. Благодаря академичности проект имеет красивую архитектуру, как в аппаратной части, так и программной. С аппаратной и начнем. Благодаря открытости приобрести клон можно на Alliexpress, что я и сделал:

Выбор платформы для экспериментов с БПЛА / Хабр

Комплектность:

  1. сам автопилот;
  2. GPS модуль с антенной, батарейкой и магнитометром;
  3. кнопка со встроенным светодиодом;
  4. DC/DC преобразователь с датчиком тока;
  5. переходник USB->UART/I2C;
  6. разветвитель I2C.


Итого: 185$ (6500р… эх, было время).

Первый вопрос который возникает: насколько китайский клон «китайский». Что же, вскроем и посмотрим.

Github – dairui/niuone-ardupilot: customized autopilot base on stm32f7 and ardupilot

Dronecode encompasses projects that control flight, enable mission planning, and otherwise make drone flight and advanced functionality possible.

Аппаратная часть

Основной блок устройства представляет собой небольшую коробочку со множеством разъемов.

Материал корпуса — полупрозрачный темный поликарбонат.

Корпус состоит из двух половин. Половинки корпуса скрепляются при помощи четырех саморезов ввинчивающихся в пенечки на верхней половинке корпуса. Для упрощения сборочно/разборочных операций саморезы были сразу заменены на кусок черной изоленты видимый на первой фотографии.

В левом нижнем углу виден небольшой отсек охватывающий датчик давления на плате. До самой платы стенки отсека не доходят. По данным Vooon в родном устройстве в отсеке помещается кусок поролона, но в клоне он почему-то забыт, надо будет исправить самому.

Основные компоненты смонтированны снизу платы.

Сверху располагаются интерфейсные разъемы, разъем microSD и несколько индикаторных светодиодов.
К качеству монтажа претензий нет — все ровно, флюс отмыт (кроме батарейки, она, очевидно, паялась вручную после печки). Кстати, у конкурентов батарейки нет (значит нет и часов реального времени, точнее нет пока не пойман GPS).
Пластиковые разъемы имеют соответствующие отверстия в верхней половинке корпуса. Возле каждого разъема есть подпись. Ответные разъемы входят с некоторым усилием. Для отключения категорически нельзя тянуть за провод (оторвется). Действовать следует так:
На столе операция не вызывает затруднений, а в поле в -15С можно применить хак:
Выбор платформы для экспериментов с БПЛА / Хабр
Имеет смысл сразу запастись запасными кабелями на случай неудачи.

GPS модуль идущий в комплекте совмещает в себе приемник СНС с батарейкой и антенной и магнитометр.

Необходимость выносить магнитометр вместе с GPS антенной возникает так как его желательно располагать подальше от силовых проводников и магнитных материалов. Для примера на DJI это сделано так:

Все входы/выходы выведенные на разъемы имеют защиту от статики, ограничительные резисторы. По цепям питания установлены проходные конденсаторы и защитные диоды.

Для наглядности вот фотография с разметкой части деталей обеспечивающих защиту.

В итоге: к китайскому производству претензий нет, плату можно осторожно покрыть лаком и в полет! А если дополнить металлическим корпусом с выведенными разъемами то устройство будет смотреться и на фоне гораздо более дорогих коммерческих автопилотов.

А теперь вспомним конкурентов из начала статьи у которых ноги МК напрямую подключены к разъемам. Самые крупные детали на плате это два МК. Большой STM32F427 (168МГц, 256КБ ОЗУ, 2МБ FLASH) и поменьше STM32F103 выполняющий функции failsafe контроллера (управление аппаратом при отказе основного алгоритма автопилота). Т.е.

Мы видим ту же архитектуру что и в Paparazzi 2008года, но на современной элементной базе. Здесь можно отметить что в современных SOC есть тенденция встраивать небольшие МК (ядра) для решения вспомогательных задач (а также задач жесткого реального времени), но здесь поступили проще — поставили отдельный МК. Установленные датчики/выведенные интерфейсы подробно расписывать не буду, все есть на странице проекта.

Дополнение. cсылки на коммерческие автопилоты для бпла:

  1. NAZA-M-V2 автопилот от DJI;
  2. Micropilot — один из первых коммерческих производителей;
  3. UAVOS — белорусско/швейцарская платформа;
  4. SWIFT AI — отечественная платформа для автопилота с упором на FPV;
  5. АЭРОБ — отечественная платформа от соучастника Сколково;
  6. АВАКС-ГеоСервис АП-05 — отечественная платформа с
  7. блэкджеком QNX, резервированием и RS-485;

  8. RUAV STA3x — отечественная платформа с Simulink подобный визуальным редактором. «Коробочный продукт» с документацией.

Программная часть


Проект базируется на

. NuttX представляет собой небольшую posix ОС. Система имеет поддержку ROMFS что позволяет часть настроек производить через конфигурационные файлы при работе системы (сравните со сборкой через конфигурационные xml у paparazzi).

Алгоритмы БИНС основаны на EKF и доступны в виде отдельного проекта InertialNav. Есть варианты реализации под различные наборы датчиков: на 21, 22, 23 и 24 переменных состояния. Код фильтра хорошо документирован и частично получен автоматической генерацией из MATLAB. В проекте имеются исходные MATLAB файлы, архивы с данными — полный набор для опытов.

Работа с устройством «на столе» крайне проста: при подключении к USB в системе появляется новый виртуальный COM порт который можно использовать для связи с автопилотом (в реальном устройстве вместо USB будет подключаемый по UART радиоканал).

Проект совместим с кодом наземной станции управления QgroundControl. Взаимодействи происходит через открытый протокол MAVLink.

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

Для пользователя достаточно, но мы пойдем дальше…

Установка среды разработки и загрузка проекта осуществляется в два клика даже из-под windows:

  1. качаем toolchain
  2. запускаем PX4_Software_download.bat — происходит скачивание проекта;
  3. импортируем проект в Eclipse.

Все, имеем Eclipse c проектом:

Кому приходилось настраивать Eclipse для работы с ARM оценит простоту.

Теперь остается прикрутить ST-LINK и можно начинать отладку… но будет это в следующей статье которая появится только после накопления и осознания соответствующего опыта.

Смотрите про коптеры:  DIY автономный дрон с управлением через интернет. Часть 2 про ПО / Хабр
Оцените статью
Радиокоптер.ру
Добавить комментарий