Pixhawk

Pixhawk (англ. Pixhawk) — проект, ответственный за создание открытых стандартов аппаратного обеспечения для полётных контроллеров, которые могут устанавливаться на различных беспилотных летательных аппаратах. Кроме того, любой полётный контроллер, построенный по данным открытым стандартам, часто включает в своё название слово «Pixhawk» и может называться таковым.

undefined

Обзор

Полётный контроллер беспилотного аппарата, также называемый FC, FCB (flight control board), FMU (flight management unit) или автопилот, — это сочетание аппаратного и программного обеспечения, отвечающее за взаимодействие с различными бортовыми датчиками и системами управления с целью обеспечения дистанционного управления или полностью автономного контроля[1].

Полётные контроллеры, стандартизированные по Pixhawk, используются в академических, профессиональных и любительских целях; их поддерживают две основные платформы автопилота: PX4 и ArduPilot. Обе прошивки позволяют использовать различные типы аппаратов через систему полётного контроллера Pixhawk, включая варианты конфигурирования для беспилотных катеров, роверов, вертолётов, самолётов, аппаратов вертикального взлёта и посадки и мультикоптеров[2].[3] Многие производители, включая Holybro и CubePilot, реализовали различные итерации стандарта Pixhawk. Полный список полётных контроллеров, полностью или частично соответствующих стандарту Pixhawk, приведён в таблице аппаратных средств БПЛА.

Типичные контроллеры Pixhawk содержат один или два микроконтроллера. В случае двух микроконтроллеров основной процессор управления полётом обрабатывает все данные с датчиков, вычисления PID и другие ресурсоёмкие задачи, а второй микроконтроллер отвечает за I/O для внешних моторов, переключателей и приёмников радиоуправления[4]. На борту, как правило, устанавливаются инерциальный измерительный модуль (IMU) с многоосевым акселерометром и гироскопом, магнитометр для использования в качестве компаса и трекинговый модуль GPS для определения текущего местоположения аппарата.

Стандарты

Стандарты Pixhawk определяют требования к аппаратной части для производителей, выпускающих продукцию, совместимую с программным стеком автопилота PX4. Однако благодаря адаптации Pixhawk-контроллеров в проекте ArduPilot стандарт гарантирует совместимость и с ArduPilot[5].

Открытые стандарты включают референсный стандарт автопилота для каждой версии FMU Pixhawk, а также ряд других стандартов, применяемых к общей экосистеме управления Pixhawk, например, стандарт шин полезной нагрузки или стандарт «умной» батареи[6].

Референсный стандарт автопилота

Это основной раздел открытых стандартов Pixhawk, содержаший все механические и электрические спецификации для каждой версии управляющего модуля (FMU). В настоящее время выпущены версии автопилотов 1, 2, 3, 4, 4X, 5, 5X, 6X, 6U и 6C[7]. Механический стандарт описывает габаритные чертежи печатной платы FMU, типы выбранных датчиков и их размещение, а также области, требующие дополнительного охлаждения. Электрический стандарт включает распиновку микроконтроллера и определяет, с каким интерфейсом связан каждый вывод[4].

Стандарт шины автопилота

Стандарт шины автопилота является расширением референсного стандарта применительно к современным версиям FMU Pixhawk, таким как 5X и 6X. Основная причина его появления — это переход к конструкции системы на модуле, когда корпус управляющего блока выполнен в форме компактного параллелепипеда с набором сверхплотных 100-контактных соединителей между модулем и базовой платой (виден в нижней части изображения справа). Базовая плата позволяет пользователям подключать периферийные устройства (двигатели, сервоприводы, приёмники) к полётному контроллеру, а система на модуле обеспечивает быструю замену полётного компьютера. Стандарт также регламентирует рекомендации по разводке печатной платы для системы на модуле и включает каталог референсных схем для интерфейсов между модулем и базовой платой[8].

Стандарт соединителей

В стандарте соединителей проект Pixhawk предписывает использовать JST GH для подавляющего большинства интерфейсов между платой полётного контроллера и подключаемыми периферийными устройствами. Не менее важно, что стандарт определяет правила распиновки для портов телеметрии, GPS, CAN, SPI, питания и отладки. Внешняя распиновка имеет большое значение для разработчиков БПЛА с автопилотом: неправильное подключение периферии может привести не только к неработоспособности системы, но и к выходу оборудования из строя. Несмотря на вариативность числа и типов портов в линейке Pixhawk, стандартизация распиновки для популярных интерфейсов облегчает переход между поколениями оборудования для пользователей.

Стандарт шины полезной нагрузки

Этот раздел дополняет основной референсный стандарт автопилота и лаконично описывает, как предписано создавать дополнительные полезные нагрузки, совместимые с автопилотом Pixhawk[9]. Хотя это требование не является обязательным для всех производителей полезных нагрузок, оно облегчает интеграцию оборудования различных производителей на борту одного аппарата.

Стандарт «умной» батареи

Стандарт «умной» батареи ещё не опубликован, но он призван определить интерфейс между умной батареей и управляющим модулем Pixhawk. Такой стандарт регламентировал бы протоколы связи, типы разъёмов и возможности системы управления батареей, используемой в аппарате под управлением контроллера Pixhawk[10].

Стандарт радиоинтерфейса

Несмотря на множество вариантов радиосвязи, которые можно интегрировать с полётным контроллером Pixhawk, проект включает краткое определение механических, электрических и программных аспектов системы радиосвязи, специфичной для Pixhawk. Предусматривается подключение наземных станций и радиомодулей по USB или Ethernet, а связь между местными и удалёнными радиомодулями — по радиоканалу или через LTE[11].

История

В 2008 году Лоренц Майер, магистрант Цюрихской высшей технической школы, поставил задачу создать дрон для полёта внутри помещений с использованием компьютерного зрения для автономного движения и обхода препятствий. В то время подобные технологии отсутствовали, тем более в доступном для студента формате. Готовясь к участию в европейском соревновании микроБПЛА по автономии в помещении, Лоренц привлёк профессора Марка Поллефейса, сформировал команду из 14 человек и за девять месяцев создал кастомное аппаратное и программное обеспечение — контроллер полёта, прошивку, высокоуровневое ПО. Команда «Pixhawk» победила в своей категории в 2009 году, впервые реализовав компьютерное зрение для обхода препятствий[12].

В последующие годы Лоренц пришёл к выводу, что промышленных инструментов, подобных созданным командой, в отрасли практически не существует, и решил открыть проект. Были открыты исходные коды наземного ПО для работы с дроном в полёте, собственный протокол обмена телеметрией MAVLink, управляющее ПО PX4 и аппаратное обеспечение контроллера, на котором запускался автопилот[13].

Постепенно проект набирал популярность: MAVLink был внедрён также в открытом программном обеспечении автопилота ArduPilot, а наземное ПО QGroundControl стало использоваться для взаимодействия с MAVLink-системами. После нескольких перезапусков кода и циклов аппаратных разработок Лоренц и команда мирового open-source-сообщества поддержали первого производителя, готового выпускать совместимый полётный контроллер. В 2013 году компания 3D Robotics стала первым коммерческим производителем устройств Pixhawk, что сделало автономные полёты доступнее для энтузиастов и компаний по всему миру[13]. Теперь любой желающий мог приобрести мощный контроллер, загрузить бесплатную открытую прошивку PX4 или ArduPilot и получить платформу дрона, подходящую даже для университетских исследований.

Лоренц особо отмечает вклад open-source-сообщества, заметив, что их усилия превосходили возможности отдельной компании[12]. Для стандартизации развития проекта и обеспечения его открытости в 2014 году была создана организация Dronecode, ныне некоммерческий проект под эгидой Фонда Linux, которая занимается координацией разработки стандартов Pixhawk[10].

Примечания

  1. Ebeid, Emad. A Survey on Open-Source Flight Control Platforms of Unmanned Aerial Vehicle // 2017 Euromicro Conference on Digital System Design (DSD) / Emad Ebeid, Martin Skriver, Jie Jin. — IEEE, август 2017. — P. 396–402. — ISBN 978-1-5386-2146-2. — doi:10.1109/DSD.2017.30.
  2. Vehicle Types Supported by ArduPilot — ArduPilot documentation. ardupilot.org. Дата обращения: 24 июля 2024.
  3. Vehicle Types & Setup. docs.px4.io. Дата обращения: 24 июля 2024.
  4. 1 2 Pixhawk-Standards/DS-012 Pixhawk Autopilot v6X Standard.pdf at master · pixhawk/Pixhawk-Standards (англ.). GitHub. Дата обращения: 18 августа 2024.
  5. Choosing an Autopilot — Copter documentation. ardupilot.org. Дата обращения: 25 июля 2024.
  6. pixhawk/Pixhawk-Standards. Pixhawk (25 июля 2024). Дата обращения: 25 июля 2024.
  7. Pixhawk-Standards/DS-010 Pixhawk Autopilot Bus Standard.pdf at master · pixhawk/Pixhawk-Standards (англ.). GitHub. Дата обращения: 18 августа 2024.
  8. Pixhawk-Standards/DS-010 Pixhawk Autopilot Bus Standard.pdf at master · pixhawk/Pixhawk-Standards (англ.). GitHub. Дата обращения: 19 августа 2024.
  9. Pixhawk-Standards/DS-014 Pixhawk Payload Bus Standard.pdf at 8b904c75e3a7aa62c074cc7721b944df4efb9d1a · pixhawk/Pixhawk-Standards (англ.). GitHub. Дата обращения: 25 июля 2024.
  10. 1 2 Standards (амер. англ.). Pixhawk. Дата обращения: 19 августа 2024.
  11. Pixhawk-Standards/DS-017 Pixhawk Radio Interface Standard.pdf at master · pixhawk/Pixhawk-Standards (англ.). GitHub. Дата обращения: 19 августа 2024.
  12. 1 2 The history of Pixhawk (амер. англ.) (22 апреля 2020). Дата обращения: 19 августа 2024.
  13. 1 2 The Story of What Powers Today's Drone Industry: Pixhawk (амер. англ.) (1 февраля 2022). Дата обращения: 19 августа 2024.