Публикации

Как задачи аппарата определяют реализацию автопилота: на примере трех проектов

вчера в 21:30

Первый в истории автопилот должен был только удерживать самолет на курсе. Сегодня беспилотные системы управления стали намного сложнее: они умеют определять положение транспортного средства, самостоятельно строить маршрут, воспринимать окружение и избегать препятствий.

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

Разберем три проекта из практики КЕДР Солюшенс, чтобы показать, как требования к машине влияют на разработку беспилотных систем управления. В каждом случае рассмотрим исходные требования и инженерные решения, которые помогли их выполнить.

Задачи автопилота

Независимо от того, чем управляет автопилот – дроном, автономным катером, сельскохозяйственной техникой или складским роботом, – он должен решать несколько основных задач.

1. Определять свое местоположение
Первая задача беспилотной системы управления – определить свои координаты в данный момент времени. Без этого невозможна сложная навигация. Современные автопилоты решают эту задачу с помощью спутниковой навигации, инерциальных измерительных блоков, барометров, энкодеров и других устройств.

Сложность здесь в том, что показатели любого датчика не могут считаться абсолютно точными. Они могут ошибаться, и даже небольшие ошибки со временем накапливаются. Чтобы иметь более точные сведения о своем местоположении, показатели должны проходить специальную обработку – слияние данных. Для этого часто используют фильтр Калмана и его разновидности.

2. Воспринимать окружение
Многие транспортные средства должны перемещаться в неизвестной, изменяющейся среде. На пути им могут встречаться неожиданные препятствия, в том числе движущиеся – люди и автомобили. Чтобы аппарат выполнял свои функции без аварий, ему нужно получать информацию об окружающей среде.

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

3. Планировать маршрут
Конечную цель аппарата – куда он должен прибыть, – как правило, задает оператор. Однако автопилот должен уметь самостоятельно строить маршрут к этой цели. Для этого в автопилоте предусмотрен планировщик маршрута.

Глобальный планировщик выстраивает путь от текущего местоположения аппарата к заданной цели. Это может быть простая прямая или более сложная траектория, которая проходит через дополнительные координаты, если этого требует задание.

Локальный планировщик строит траекторию движения транспортного средства в режиме реального времени и с учетом окружения. Так, он отвечает за обнаружение препятствий на пути и построение траектории, которая позволит обойти объект и вернуться на прежний курс.

4. Управлять исполнительными механизмами
Верхнеуровневые алгоритмы решают, куда должен переместиться аппарат, с каким курсом или скоростью ему двигаться. На низшем уровне автопилот должен формировать команды для элементов управления – сервоприводов, моторов, рулей и так далее.

Здесь нужно помнить, что сенсоры не дают абсолютно точных данных о местоположении или окружении аппарата. Кроме того, на его движение оказывают влияние внешние факторы – ветер, течение или пробуксовка. В результате реальная скорость, курс или координаты аппарата всегда немного отличаются от расчетных. Поэтому в любом автопилоте должна использоваться система управления с обратной связью.

Самым распространенным примером такой системы является ПИД-регулятор. Этот алгоритм способен определять ошибки в управляющих воздействиях и сводить их к минимуму в реальном времени.

Практически любая беспилотная система управления умеет выполнять эти задачи в той или иной степени. Однако их “вес” и конкретная реализация зависят от типа транспортного средства, особенностей его задач и других аспектов. Иногда аппарат или требуемое от него поведение оказываются слишком специфичны, чтобы эту потребность могли закрывать готовые решения.

В каких случаях может потребоваться индивидуальная разработка автопилота

  1. Уникальная физика или конструкция транспортного средства
    Большую часть аппаратов, представленных на рынке, можно свести к нескольким типовым классам, которые выполняют похожие задачи. Готовые беспилотные системы управления обычно рассчитаны именно на такие типовые конструкции. Однако если, например, компания проектирует БПЛА с нестандартной аэродинамикой, готовое решение может не подойти.
  2. Нетиповое поведение аппарата
    Другой случай – когда от беспилотного аппарата требуется выполнять нетиповые задачи. Собственная разработка может оказаться предпочтительнее, если робот должен взаимодействовать с уникальным промышленным оборудованием или БПЛА должен нести нестандартную полезную нагрузку, которая меняет центр тяжести.
  3. У аппарата своя периферия
    Готовые автопилоты умеют взаимодействовать с распространенными приводами и датчиками. Но если компания применяет в транспортном средстве малораспространенную периферию, то потребуется адаптировать готовый автопилот для работы с ней – вплоть до разработки собственных алгоритмов управления.
  4. Слишком высокая стоимость производства
    Универсальная беспилотная платформа может иметь избыточную вычислительную мощность для данного аппарата. В ней могут быть ненужные интерфейсы или неиспользуемые компоненты. Если автопилот ставится на несколько устройств, то этой избыточностью можно пренебречь. Но если компания намеревается выпускать робота или дрон массово, применение готового решения становится экономически неоправданным.

При этом специфика задач, которые призвана решать собственная беспилотная система управления, определяет ее реализацию и применяемые в ней технологии. Рассмотрим, как это происходит, на примере трех проектов КЕДР Солюшенс.

Примеры разработки специализированных беспилотных систем управления

Автопилот для дрона

Данный проект команда выполнила для онлайн-магазина. Бизнес предлагает покупателям комплекты и модули для любительской сборки БПЛА. Клиенту требовалась универсальная система, совместимая с различными типами дронов. Такой модуль он мог бы продавать в качестве готового продукта, который подходит для покупателей без специальных навыков авиамоделирования.

В рамках проекта разработали печатную плату и прошивку для нее.

Автономная газонокосилка

Сельскохозяйственный робот

Заказчику этого проекта нужен был мобильный робот, который мог бы автоматически вносить удобрения на грядки с лекарственными растениями и кореньями. Робот представляет собой гусеничную платформу с установленным на ней манипулятором, на конце которого расположен распрыскиватель. Машина работает от бензинового генератора.

Подробнее о проектах можно прочитать здесь.

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

Реклама: ООО «Кедр Солюшенс», ИНН 2224176910
erid: 3apb1QrvkfXS47jrPLo3Xna1K9SNu2jHE9rReQp1unxPc

Читайте также