Pixhawk — проект, отвечающий за создание стандартов с открытым исходным кодом для оборудования контроллера полета, которое может быть установлено на различных беспилотных летательных аппаратах . Кроме того, любой контроллер полета, созданный по открытым стандартам, часто включает «Pixhawk» в свое название и может упоминаться соответствующим образом.
Контроллер полета беспилотного летательного аппарата, также называемый FC, FCB (плата управления полетом), FMU (блок управления полетом) или автопилот, представляет собой комбинацию аппаратного и программного обеспечения, которая отвечает за взаимодействие с различными бортовыми датчиками и системами управления с целью упрощения дистанционного управления или обеспечения полностью автономного управления. [1]
Контроллеры полета, соответствующие стандарту Pixhawk, используются в академических, профессиональных и любительских приложениях и поддерживаются двумя основными вариантами прошивки автопилота: PX4 и ArduPilot . Оба варианта прошивки позволяют использовать различные типы транспортных средств через систему контроллера полета Pixhawk, включая параметры конфигурации для беспилотных лодок, вездеходов, вертолетов, самолетов, VTOL и мультикоптеров . [2] [3] Многие производители приняли различные итерации стандарта Pixhawk, включая Holybro и CubePilot. Полный список контроллеров полета, которые полностью или частично приняли стандарт Pixhawk, см. в таблице оборудования систем БПЛА.
Контроллеры полета Pixhawk обычно оснащены одним или двумя микроконтроллерами . В случае двух микроконтроллеров основной процессор управления полетом обрабатывает все показания датчиков , вычисления ПИД и другие ресурсоемкие вычисления, в то время как другой обрабатывает операции ввода/вывода для внешних двигателей, переключателей и приемников радиоуправления. [4] Бортовые датчики включают в себя IMU с многоосевым акселерометром и гироскопом , магнитометр для использования в качестве компаса и блок слежения GPS для оценки местоположения транспортного средства.
Стандарты Pixhawk диктуют требования к оборудованию для производителей, которые создают продукты, совместимые со стеком программного обеспечения автопилота PX4. Однако, благодаря адаптации контроллеров полета Pixhawk компанией ArduPilot, стандарт способен обеспечить совместимость и с ArduPilot. [5]
Открытые стандарты состоят из основного эталонного стандарта автопилота для каждой итерации Pixhawk FMU, а также различных других стандартов, которые применяются к общей экосистеме управления Pixhawk, например, стандарт шины полезной нагрузки или стандарт интеллектуальной батареи. [6]
Это основной раздел открытых стандартов Pixhawk, содержащий все механические и электрические спецификации для каждой версии блока управления полетом. В настоящее время выпущены версии 1, 2, 3, 4, 4X, 5, 5X, 6X, 6U и 6C автопилотов. [7] Стандарт механической конструкции включает в себя размерные чертежи печатной платы FMU , выбранные типы датчиков и их расположение, а также области, которым требуется дополнительный теплоотвод. Электрический стандарт включает в себя распиновку каждого вывода в главном микроконтроллере обработки и интерфейс, с которым каждый вывод настроен для связи. [4]
Стандарт шины автопилота является расширением эталонного стандарта автопилота специально для предоставления дополнительной информации о производстве последних эталонных версий Pixhawk FMU, таких как 5X и 6X. Основная причина этого заключается в том, что это первые летные блоки, имеющие конструкцию системы на модуле , где корпус модуля контроллера полета принимает форму компактной призмы с набором чрезвычайно плотных 100-контактных разъемов между модулем и базовой платой (см. в нижней части изображения справа). Базовая плата позволяет пользователям подключать необходимые периферийные устройства (такие как двигатели, сервоприводы и радиоприемники) к контроллеру полета, в то время как конструкция системы на модуле приводит к легко заменяемому полетному компьютеру. Кроме того, этот стандарт шины детализирует рекомендации по компоновке печатной платы для системы на модуле вместе с каталогом эталонных схем для интерфейсов между модулем и базовой платой. [8]
В стандарте разъема проект Pixhawk определяет использование JST GH для подавляющего большинства всех интерфейсов между платой контроллера полета и подключаемыми периферийными устройствами. Не менее важно, что стандарт определяет соглашение для пользовательских выводов для телеметрии , GPS, шины CAN , SPI , питания и портов отладки. Внешняя информация о выводах имеет решающее значение для любого, кто разрабатывает транспортное средство с автопилотом, поскольку неправильное подключение периферийных устройств приводит в лучшем случае к неработоспособной системе, а в худшем — к опасной среде со сломанным оборудованием. Хотя в семействе Pixhawk существует множество различий с точки зрения доступных портов и типов портов, стандартизация выводов для самых популярных интерфейсов чрезвычайно полезна для любого пользователя, работающего с несколькими поколениями контроллеров полета Pixhawk.
Хотя этот раздел служит дополнением к основному Справочному стандарту автопилота, в нем кратко описывается, как стандарты Pixhawk предлагают создавать дополнительные полезные нагрузки транспортных средств, совместимые с автопилотом Pixhawk. [9] Хотя это не является строго обязательным для всех производителей полезных нагрузок транспортных средств, это облегчает возможность пользователям внедрять полезные нагрузки и контроллеры полета от разных производителей.
Стандарт интеллектуальной батареи пока не опубликован, но он должен определить интерфейс между интеллектуальной батареей и Pixhawk FMU. Такой стандарт будет определять протоколы связи, разъемы и возможности системы управления батареей , которая будет использоваться в автомобиле, управляемом Pixhawk. [10]
Хотя существует множество радиорешений, которые могут быть сопряжены с контроллером полета Pixhawk, проект имеет краткое механическое, электрическое и программное определение для специфической для Pixhawk системы радиосвязи. Стандарт предполагает, что соединения между наземными станциями и радиомодулями будут осуществляться через USB или Ethernet , в то время как соединения между локальными и удаленными радиостанциями могут осуществляться через традиционные радиочастотные каналы или LTE . [11]
В 2008 году Лоренц Майер, студент магистратуры ETH Zurich , хотел создать беспилотник для помещений, который мог бы использовать компьютерное зрение для автономного перемещения в пространстве и избегать столкновений с препятствиями. Однако такой технологии не существовало, не говоря уже о том, чтобы она была доступна студенту университета. Мотивированный участием в категории автономности в помещениях Европейского конкурса микровоздушных транспортных средств, Лоренц воспользовался помощью профессора Марка Поллефейса и собрал группу из 14 товарищей по команде, чтобы провести девять неутомимых месяцев, создавая пользовательское оборудование для управления полетом, прошивку и программное обеспечение высокого уровня. Команда, названная «Pixhawk», заняла первое место в своей категории в 2009 году, став первыми участниками, успешно внедрившими компьютерное зрение для избегания препятствий. [12]
Возвращаясь к проекту в последующие годы, Лоренц понял, что не так много существующих отраслевых инструментов, которые можно было бы использовать для достижения того, что он и его команда сделали. В результате команда Pixhawk сделала весь проект открытым исходным кодом. Программное обеспечение наземного управления, которое позволяло команде взаимодействовать с дроном во время полета, протокол связи MAVLink , специально разработанный для потоковой передачи телеметрии обратно на наземную станцию, программное обеспечение автопилота PX4 , которое отвечало за управление дроном, и аппаратное обеспечение контроллера полета Pixhawk, на котором работал автопилот, были выпущены для общественности для дальнейшей разработки. [13]
Со временем выпущенный проект начал расти. MAVLink был подхвачен проектом разработки программного обеспечения для автопилота с открытым исходным кодом ArduPilot, а программное обеспечение наземного управления QGroundControl впоследствии использовалось для взаимодействия с системами MAVLink. После нескольких переписываний кодовой базы и циклов разработки оборудования Лоренц и всемирная команда разработчиков программного обеспечения с открытым исходным кодом смогли поддержать производителя, который создал контроллер полета по их стандартам. В 2013 году 3D Robotics стала первым производителем коммерческих контроллеров полета Pixhawk, официально снизив барьер для входа в автономный полет для энтузиастов и корпораций по всему миру. [13] Теперь любой мог купить чрезвычайно мощный автономный контроллер полета, прошить его бесплатной прошивкой с открытым исходным кодом PX4 или ArduPilot и получить платформу для беспилотных летательных аппаратов университетского исследовательского уровня.
Лоренц в большой степени приписывает сообществу разработчиков открытого исходного кода обширный успех платформы Pixhawk, поскольку совокупная мощность разработки, по-видимому, была больше, чем у хорошо обеспеченной ресурсами компании. [12] Чтобы помочь стандартизировать различные разработки в рамках проекта и гарантировать, что он останется доступным и открытым исходным кодом, в 2014 году была основана организация Dronecode. В настоящее время Dronecode является некоммерческой организацией в рамках Linux Foundation , и она отвечает за содействие обсуждениям, которые определяют стандарты Pixhawk. [10]