Из Википедии, бесплатной энциклопедии
  (Перенаправлено с Ardupilot )
Перейти к навигации Перейти к поиску

ArduPilot является открытым исходным кодом , беспилотный автомобиль Автопилот Software Suite, [1] с возможностью управления автономным:

Изначально ArduPilot был разработан любителями для управления моделями самолетов и вездеходов и превратился в полнофункциональный и надежный автопилот, используемый промышленностью [2] исследовательскими организациями [3] и любителями.

Программное и аппаратное обеспечение [ править ]

Программный пакет [ править ]

Программный пакет ArduPilot состоит из навигационного программного обеспечения (обычно называемого прошивкой, когда оно скомпилировано в двоичную форму для аппаратных целей микроконтроллера), работающего на транспортном средстве ( коптер , самолет , ровер, AntennaTracker или Sub ), а также программное обеспечение для управления наземной станцией. включая Планировщик миссий, Планировщик APM, QGroundControl, MavProxy, Tower и другие.

Исходный код ArduPilot хранится и управляется на GitHub с участием почти 400 человек. [4]

Пакет программного обеспечения создается автоматически каждую ночь, с непрерывной интеграцией и модульным тестированием, предоставляемыми Travis CI , и средой сборки и компиляции, включая кроссплатформенный компилятор GNU и Waf . Предварительно скомпилированные двоичные файлы, работающие на различных аппаратных платформах, доступны для загрузки пользователем с дополнительных веб-сайтов ArduPilot.

Октокоптер, летящий с Ardupilot

Поддерживаемое оборудование [ править ]

Программное обеспечение Copter, Plane, Rover, AntennaTracker или Sub работает на широком спектре встроенного оборудования (включая полнофункциональные компьютеры с Linux ), обычно состоящего из одного или нескольких микроконтроллеров или микропроцессоров, подключенных к периферийным датчикам, используемым для навигации. Эти датчики включают как минимум гироскопы MEMS и акселерометры , необходимые для полета мультикоптера и стабилизации самолета. Датчики обычно включают в себя, кроме того, один или несколько компасов , высотомер (барометрический) и GPS , а также дополнительные дополнительные датчики, такие как оптические датчики потока ,указатели воздушной скорости , лазерные или сонарные высотомеры или дальномеры, монокулярные, стереоскопические или RGB-D камеры. Датчики могут быть на одной электронной плате или внешними.

Программное обеспечение наземной станции, используемое для программирования или мониторинга работы автомобиля, доступно для Windows, Linux, macOS, iOS и Android.

ArduPilot работает на большом количестве аппаратных платформ, включая следующие, перечисленные в алфавитном порядке:

  • Intel Aero (Linux или база STM32)
  • APM 2.X (Atmel Mega Микроконтроллер Arduino база), разработанная Jordi Муньос в 2010 году [5] APM, для A РДУ P Ilôt M EGA, работает только на старых версиях ArduPilot).
  • BeagleBone Blue и PXF Mini (накидка BeagleBone Black).
  • Куб , ранее называвшийся Pixhawk 2 (база микроконтроллера ARM Cortex), был разработан ProfiCNC в 2015 году.
  • Edge , контроллер дрона с системой потокового видео, разработанный Emlid.
  • Erle-Brain (на базе Linux), разработанный Erle Robotics.
  • Intel Minnowboard (Linux Base). [6]
  • Navio2 и Navio + (на базе Raspberry Pi Linux), разработанный Emlid.
  • Parrot Bebop и Parrot CHUCK, дизайн Parrot, SA
  • Pixhawk (ARM Cortex микроконтроллер база), первоначально разработанный Lorenz Meier и ETH Zurich, улучшенный и запущен в 2013 году Px4 , 3DRobotics , и команда разработчиков ArduPilot. [7]
  • PixRacer (база микроконтроллера ARM Cortex), разработанный AUAV.
  • Qualcomm SnapDragon (на базе Linux).
  • Virtual Robotics VRBrain (база микроконтроллера ARM Cortex).
  • Процессор Xilinx SoC Zynq (на базе Linux, процессор ARM и FPGA ). [8]

В дополнение к вышеупомянутым базовым навигационным платформам, ArduPilot поддерживает интеграцию и связь с бортовым компаньоном или вспомогательными компьютерами для расширенной навигации, требующей более мощной обработки. К ним относятся компьютеры NVidia TX1 и TX2 ( архитектура NVidia Jetson ), Intel Edison и Intel Joule, HardKernel Odroid и Raspberry PI .

Особенности [ править ]

Общее для всех транспортных средств [ править ]

ArduPilot предоставляет большой набор функций, включая следующие общие для всех транспортных средств:

  • Полностью автономные, полуавтономные и полностью ручные режимы полета, программируемые миссии с трехмерными путевыми точками, дополнительное геозон .
  • Варианты стабилизации, чтобы исключить необходимость в стороннем втором пилоте.
  • Моделирование с помощью различных симуляторов, включая ArduPilot SITL.
  • Поддерживается большое количество навигационных датчиков, в том числе несколько моделей RTK GPS, традиционные L1 GPS, барометры, магнитометры, лазерные и сонарные дальномеры, оптический поток, транспондер ADS-B , инфракрасный порт, воздушная скорость, датчики и устройства компьютерного зрения / захвата движения.
  • Связь с датчиком через SPI , I²C , шину CAN , последовательную связь , SMBus .
  • Отказоустойчивые устройства на случай потери радиосвязи, GPS и нарушения предопределенных границ, минимального уровня заряда батареи.
  • Поддержка навигации в условиях, где отсутствует GPS, с позиционированием на основе зрения, оптическим потоком , SLAM , позиционированием в сверхширокополосном диапазоне .
  • Поддержка приводов, таких как парашюты и магнитные захваты.
  • Поддержка бесщеточных и щеточных двигателей.
  • Поддержка и интеграция фото- и видео-стабилизаторов.
  • Интеграция и связь с мощными вторичными или «компаньонами» компьютерами.
  • Богатая документация через вики ArduPilot.
  • Поддержка и обсуждение на дискуссионном форуме ArduPilot, каналах чата Gitter, Github, Facebook.

Для вертолета [ править ]

  • Режимы полета: стабилизация, удержание Alt, Loiter, RTL (возврат к запуску), Auto, Acro, AutoTune, Brake, Circle, Drift, Guided, (и Guided_NoGPS), Land, PosHold, Sport, Throw, Follow Me, Simple , Супер простой, Избегайте_ADSB. [9]
  • Автотюнинг
  • Поддерживается широкий спектр типов рам, включая трикоптеры, квадрокоптеры, гексакоптеры, плоские и коаксиальные октокоптеры, а также нестандартные конфигурации двигателей.
  • Поддержка традиционных электрических и газовых вертолетов, монокоптеров, тандемных вертолетов.

Для конкретного самолета [ править ]

  • Режимы Fly By Wire , loiter, auto, acrobatic.
  • Варианты взлета: ручной запуск, тарзанка, катапульта, вертикальный переход (для самолетов вертикального взлета).
  • Варианты посадки: регулируемая глиссада, винтовая, обратная тяга, чистая, вертикальный переход (для самолетов вертикального взлета и посадки).
  • Автонастройка, моделирование с симуляторами JSBSIM, X-Plane и RealFlight .
  • Поддержка большого разнообразия архитектур вертикального взлета и посадки: квадропланы, наклонные крылья, поворотные роторы, хвостовые сиденья, орнитоптеры.
  • Оптимизация 3-х или 4-х канальных самолетов.

Специально для вездехода [ править ]

  • Ручной, обучающий, автоматический, рулевой, удерживающий и управляемый режимы работы.
  • Поддержка колесной и гусеничной архитектур.

Подводная лодка [ править ]

  • Удержание глубины: используя датчики глубины на основе давления, подводные лодки могут поддерживать глубину в пределах нескольких сантиметров.
  • Управление освещением: управление подводным освещением с помощью контроллера.

ArduPilot полностью документирован в его вики, что в сумме эквивалентно примерно 700 печатным страницам и разделено на шесть основных разделов: подразделы, связанные с коптерами, самолетами, роверами и подводными транспортными средствами, предназначены для пользователей. Подраздел для разработчиков для расширенного использования предназначен в первую очередь для инженеров по программному и аппаратному обеспечению, а общий раздел, в котором перегруппирована информация, общая для всех типов транспортных средств, используется в первых четырех разделах.

Варианты использования ArduPilot [ править ]

Любители и любители [ править ]

  • Гонки на дронах .
  • Строительство и эксплуатация радиоуправляемых моделей для отдыха.

Профессиональный [ править ]

  • Воздушная фотограмметрии
  • Аэрофотосъемка и кинопроизводство.
  • Дистанционное зондирование
  • Поиск и спасение
  • Роботизированные приложения
  • Академическое исследование
  • Доставка посылки

История [ править ]

Ранние годы, 2007-2012 [ править ]

Первые корни проекта ArduPilot восходят к концу 2007 года [10], когда Хорди Муньос, который позже стал соучредителем 3DRobotics с Крисом Андерсоном , написал программу Arduino (которую он назвал «ArduCopter») для стабилизации RC-вертолета. В 2009 году Муньос и Андерсон выпустили Ardupilot 1.0 [11] (программное обеспечение полетного контроллера) вместе с аппаратной платой, на которой он мог работать. В том же году Муньос, построивший традиционный беспилотный вертолет с дистанционным управлением, способный летать автономно, выиграл первое соревнование Sparkfun AVC. [12] Проект расширился благодаря многим членам сообщества DIY Drones, в том числе Крису Андерсону, который поддержал проект и основал сообщество на основе форумов ранее в 2007 году.[13] [14]

Первая версия ArduPilot поддерживала только самолеты с неподвижным крылом и была основана на датчике термобатареи , который полагался на определение местоположения горизонта относительно самолета путем измерения разницы температур между небом и землей. [15] Позже система была улучшена для замены термобатарей на инерциальный измерительный блок (IMU) с использованием комбинации акселерометров , гироскопов и магнитометров . Позже поддержка транспортных средств была расширена на другие типы транспортных средств, что привело к подпроектам Copter, Plane, Rover и Submarine.

В 2011 и 2012 годах произошел взрывной рост функциональности автопилота и размера кодовой базы, во многом благодаря новому участию Эндрю «Триджа» Триджелла.и автор HAL Пэт Хики. Вклад Триджа включал в себя возможности автоматического тестирования и моделирования для Ardupilot, а также PyMavlink и Mavproxy. Хикки сыграл важную роль в переносе библиотеки AP_ HAL в базу кода: HAL (уровень аппаратной абстракции) значительно упростил и разбил кодовую базу на модули, введя и ограничивая особенности реализации низкоуровневого оборудования отдельной аппаратной библиотекой. В 2012 году Рэнди Маккей взял на себя роль ведущего сопровождающего Copter по просьбе бывшего сопровождающего Джейсона Шорта, а Тридж взял на себя роль ведущего сопровождающего Plane после Дуга Вейбеля, который впоследствии получил докторскую степень. в аэрокосмической технике. И Рэнди, и Тридж на сегодняшний день являются ведущими специалистами по сопровождению.

Свободное программное обеспечение подход к разработке ArduPilot коды аналогичен в Linux операционной системы и проект GNU , и PX4 / Pixhawk и Paparazzi проект , где низкая стоимость и доступность позволили любителям построить автономные небольшой дистанционно пилотируемых летательных аппаратов , такие как микро - воздух автомобили и миниатюрные БПЛА . Точно так же индустрия дронов постепенно использовала код ArduPilot для создания профессиональных автономных транспортных средств высокого класса.

Срок погашения, 2013-2016 гг. [ Править ]

В то время как в ранних версиях ArduPilot использовался полетный контроллер APM, ЦП AVR, работавший на языке программирования с открытым исходным кодом Arduino (который объясняет часть названия проекта «Ardu»), в более поздние годы произошли значительные переписывания базы кода на C ++. со многими вспомогательными утилитами, написанными на Python .

В период с 2013 по 2014 год ArduPilot эволюционировал для работы на различных аппаратных платформах и операционных системах, выходящих за рамки оригинальной архитектуры микроконтроллеров на базе Arduino Atmel , сначала с коммерческим внедрением аппаратного контроллера полета Pixhawk, совместными усилиями PX4, 3DRobotics и группы разработчиков ArduPilot. , а затем и Bebop2 от Parrot и контроллеры полета на базе Linux, такие как NAVIO2 на базе Raspberry Pi и ErleBrain на базе BeagleBone. Ключевым событием этого периода стал первый полет самолета под Linux в середине 2014 года [16].

В конце 2014 года была сформирована компания DroneCode [17], созданная для объединения ведущих проектов программного обеспечения для БПЛА с открытым исходным кодом и, в первую очередь, для укрепления взаимоотношений и сотрудничества проектов ArduPilot и PX4. Участие ArduPilot в DroneCode закончилось в сентябре 2016 года. [18] 2015 год был также знаменательным годом для 3DRobotics, крупного спонсора разработки ArduPilot, с ее представлением квадрокоптера Solo, готового квадрокоптера под управлением ArduPilot. Однако коммерческого успеха Solo не суждено было добиться. [19]

Осенью 2015 года снова произошло ключевое событие в истории автопилота: группа из 50 самолетов, работающих под управлением ArduPilot, одновременно управляла командой Лаборатории перспективных робототехнических систем (ARSENL) в Военно-морской аспирантуре .

В течение этого периода времени, базовый код ArduPilot был значительно переработан , до момента , когда она перестала иметь никакого сходства с его ранних Arduino лет.

Текущий, 2018- [ править ]

Эволюция кода ArduPilot продолжается с поддержкой интеграции и связи с мощными компьютерами-компаньонами для автономной навигации, поддержкой самолетов для дополнительных архитектур вертикального взлета и посадки, интеграцией с ROS , поддержкой планеров и более тесной интеграцией для подводных лодок. Проект развивается под эгидой ArduPilot.org, некоммерческой организации «Программное обеспечение в общественных интересах» (spi-inc.org). ArduPilot частично спонсируется растущим списком корпоративных партнеров.

БПЛА Outback Challenge [ править ]

В 2012 году команда Canberra UAV Team успешно заняла первое место в престижном конкурсе UAV Outback Challenge . В команду CanberraUAV входили разработчики ArduPlane, а пилотируемый самолет контролировался автопилотом APM 2. В 2014 году команда CanberraUAV и ArduPilot снова заняли первое место, успешно доставив бутылку «заблудившемуся» путешественнику. В 2016 году ArduPilot занял первое место в технически более сложном соревновании, опередив сильную конкуренцию со стороны международных команд.

Сообщество [ править ]

ArduPilot совместно управляется группой добровольцев, расположенных по всему миру, которые используют Интернет ( форум на основе дискурса , канал gitter ) для общения, планирования, разработки и поддержки. Команда разработчиков встречается еженедельно в чате, открытом для всех, с использованием Mumble . Кроме того, сотни пользователей вносят в проект идеи, код и документацию. ArduPilot находится под лицензией GPL версии 3, его можно бесплатно загрузить и использовать.

Возможность настройки [ править ]

Гибкость ArduPilot делает его очень популярным в сфере DIY, но он также завоевал популярность среди профессиональных пользователей и компаний. Квадрокоптер Solo от 3DRobotics, например, использует ArduPilot, как и многие профессиональные аэрокосмические компании, такие как Boeing. [20] Гибкость позволяет поддерживать широкий спектр типов и размеров кадров, различных датчиков, подвесов камеры и радиоуправляемых передатчиков в зависимости от предпочтений оператора.

ArduPilot был успешно интегрирован во многие самолеты, такие как Bixler 2.0. Возможности настройки и простота установки позволили интегрировать платформу ArduPilot для различных задач. Наземная станция управления планировщиком миссий (Windows) позволяет пользователю легко настраивать, программировать, использовать или моделировать плату ArduPilot для таких целей, как картографирование, поиск и спасение, а также съемка территорий.

Ссылки [ править ]

  1. ^ «Сообщество: - Документация ArduPilot» . ardupilot.org . Проверено 30 апреля 2017 .
  2. ^ «Корпоративные партнеры» . ardupilot.org . Проверено 14 января 2018 .
  3. Перейти ↑ Eure, Kenneth W. (декабрь 2013 г.). «Применение оценки положения БПЛА с использованием недорогой инерциальной навигационной системы» (PDF) . NTRS.nasa.gov . NASA / TM – 2013-218144.
  4. ^ "ArduPilot / ardupilot" . GitHub . Проверено 1 мая 2017 .
  5. ^ "Поприветствуйте ArduPilotMega 2.0!" . diydrones.com . Проверено 1 мая 2017 .
  6. ^ «Linux и будущее дронов [LWN.net]» . lwn.net . Проверено 5 мая 2017 .
  7. ^ Нажмите (2013-08-29). «PX4 и 3D Robotics представляют Pixhawk: усовершенствованный, удобный автопилот - Новости sUAS - Бизнес дронов» . Новости sUAS - Бизнес дронов . Проверено 1 мая 2017 .
  8. ^ "Первый успешный полет на процессоре Zynq - Aerotenna" . Аэротенна . 2015-10-08 . Проверено 5 мая 2017 .
  9. ^ "Режимы полета - Документация коптера" . ardupilot.org . Проверено 1 мая 2017 .
  10. ^ "ArduCopter V1 Beta" . forum.arduino.cc . Проверено 1 мая 2017 .
  11. ^ «ArduPilot, автопилот с открытым исходным кодом, теперь доступен ($ 24,95!) - RC-группы» . www.rcgroups.com . Проверено 8 мая 2017 .
  12. ^ "2009 AVC - AVC.SFE" . avc.sparkfun.com . Проверено 3 мая 2017 .
  13. ^ Разработчик | Автопилот с открытым исходным кодом APM
  14. ^ Создатели дронов получают помощь от толпы разработчиков открытого исходного кода
  15. ^ Разработчик | Автопилот с открытым исходным кодом APM
  16. ^ «Первый запуск ArduPilot на Linux» . diydrones.com . Проверено 3 мая 2017 .
  17. ^ «Представляем Dronecode Foundation» . diydrones.com . Проверено 3 мая 2017 .
  18. ^ "ArduPilot и DroneCode расходятся" . diydrones.com . Проверено 3 мая 2017 .
  19. ^ Мак, Райан. «За крахом 3D Robotics, самой многообещающей компании по производству дронов в Северной Америке» . Forbes . Проверено 3 мая 2017 .
  20. ^ https://www.wired.com/story/boeing-delivery-drone/

Внешние ссылки [ править ]

  • ArduPilot.org