Программное обеспечение буквально как невидимая сеть опутывает все узлы, элементы и функции беспилотного летательного аппарата. И чтобы БПЛА выполнял свои задачи эффективно, точно, а главное — автоматически, без качественно настроенного ПО не обойтись. Главный инженер компании «Оптиплейн Аэродинамика» Владимир Литвинов рассказывает об этом важном компоненте беспилотника, его взаимодействии с другими элементами, а также о сложностях в разработке и настройке.
Чтобы понять, по каким принципам взаимодействуют программное обеспечение и аппаратная часть, так называемое железо, рассмотрим основные узлы и компоненты беспилотника.
Двигатели. В винтокрыле Optiplane S2+ их сразу три. В конструкции предусмотрен отдельный контроллер, который управляет всеми двигателями. При этом в контроллере установлен свой микроконтроллер, который работает в симбиозе с определенным ПО: он получает и обрабатывает входящие сигналы, преобразует их с помощью встроенных алгоритмов и математической логики. После чего отправляет управляющие сигналы двигателям, контролируя их вращение.
Главный бортовой компьютер. Он управляет винтокрылом как носителем. Его программное обеспечение собирает данные с блока датчиков — акселерометров, инерциальных и гиродатчика, а также датчиков, опирающихся на внешнюю среду: барометра, компасов, магнитометров, приемника координат — GPS, ГЛОНАСС. Затем загружает все в память полетного контроллера и запускает обработку через сложную систему фильтров. Дело в том, что исходные данные — положение в пространстве, углы наклона, курс, крен, тангаж, положение относительно земных координат (широте, долготе, высоте) — на входе зачастую выглядят как сплошной шум. И только после прохождения фильтров информация с блока датчиков становится пригодной для использования в дальнейших вычислениях.
Полетный контроллер принимает решения об управляющем воздействии — о том, как аппарату правильно использовать двигатели, чтобы винтокрыл двигался в точном соответствии с полетным заданием.
Именно подобная, эффективно работающая комбинация железа и софта — полетного контроллера и программного обеспечения — и наделяет винтокрыл функцией полета в режиме «автопилота».
Взаимодействие ПО и аппаратной части дрона
Разработка с нуля собственного программного обеспечения для управления беспилотными авиационными системами — длительное и крайне затратное мероприятие. По этой причине производители БАС редко используют этот сценарий.
Компания «Оптиплейн Аэродинамика» — не исключение. В качестве программной основы мы использовали опенсорсное решение с открытым кодором, которое доработали под конкретные требования. Причем такого рода доработки — это целый комплекс сложных задач, над которыми постоянно вот уже несколько лет трудится наша команда.
Какие ПО применяют в БАС
Винтокрыл Optiplane представляет собой машину с гибридной схемой. Поэтому настройка софта под его функции и технические характеристики — далеко нетривиальная задача.
Дело в том, что для его настройки используется порядка 700 параметров. Да, почти половина из них настраивается автоматически, к примеру, калибровки различных датчиков. Но остальные параметры необходимо настраивать вручную, непосредственно работая с техникой. Это нужно для того, чтобы аппарат, когда на него начинает воздействовать внешняя аэродинамическая сила, вел себя адекватно.
Для сравнения, стандартный промышленный квадрокоптер в части программного обеспечения настраивается в десять раз проще. А все потому, что это типовая схема, для которой уже давно разработаны соответствующие методы. У винтокрыла же необычная, гибридная схема, которая требует нестандартного подхода.