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

вчера в 21:30, ,
0
Роботы-доставщики

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

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

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

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

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

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

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

Оценка состояния аппарата с помощью слияния данных в автопилоте

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Беспилотная система управления для БПЛА, разработанная командой “КЕДР Солюшенс”

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

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

  • Аппаратное обеспечение
    Одной из задач было сделать плату меньшего размера, чем у конкурентов. Это позволило бы увеличить время полета и переносимую полезную нагрузку дронов заказчика. Поэтому команде пришлось постараться уместить все необходимые компоненты – барометр, гироскоп, акселерометр, GPS-приемник и датчик давления и др.

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

  • Встроенное ПО
    В качестве прошивки команда решила адаптировать под данную плату ArduPilot. Эта открытая платформа изначально строилась как общее ядро с отдельной логикой под каждый тип аппарата. В противном случае нам пришлось бы писать с нуля несколько систем управления.

    Для оценки ориентации в прошивке применяется матрица направляющих косинусов (DCM). По сути, она представляет собой комплементарный фильтр с ПИ-коррекцией. На момент разработки этот алгоритм был основным в ArduPilot, поэтому при портировании прошивки на плату его перенесли вместе с остальной кодовой базой.

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

Печатная плата автопилота, разработанная командой “КЕДР Солюшенс” для автономной газонокосилки

  • Навигация
    Большинство подобных роботов для навигации используют проложенный по периметру рабочей зоны провод или ограждение. Но заказчик хотел, чтобы его продукт отличался простотой использования. Поэтому газонокосилка клиента должна была запоминать границы участка, когда пользователь переносит ее по периметру на руках. Другими словами, позиционирование нужно было реализовать без какой-либо инфраструктуры для задания границ зоны.

    Одного GPS тут было бы недостаточно: на небольших участках с домом, гаражом, деревьями и другими препятствиями ошибка в несколько метров недопустима. Поэтому наряду со спутниковой навигацией робот использует данные акселерометра, гироскопа, компаса и визуальной одометрии на базе однокристальной камеры с DVP-шиной и алгоритмов компьютерного зрения. Робот также умеет распознавать и объезжать посторонние предметы под собой. Для получения единой и более точной оценки местоположения данные обрабатываются фильтром Калмана.

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

  • Базовая станция
    Поскольку робот предназначался для потребительского сегмента, заказчик также попросил максимально снизить его себестоимость. Стоит оговориться, что мы подключились к проекту, когда у клиента уже была первая версия платы управления, разработанная другой командой. Мы заменили часть компонентов на более доступные аналоги и оптимизировали плату с точки зрения технологичности производства. Кроме того, мы предложили значительно упростить базовую станцию для робота.

    В первоначальной версии у станции был свой микроконтроллер, GPS-приемник и приемопередатчик. Она передавала газонокосилке свои координаты и сообщала о состоянии спутников по радиоканалу. На самом роботе, соответственно, был радиомодуль. От всего этого пришлось отказаться. Вторая итерация станции представляла собой обычный зарядник, а робот находил ее по излучению светодиодов и по данным с инерциального измерительного блока.

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

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

Схема работы сельскохозяйственного робота для прикорневой подкормки растений

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

  • Навигация
    В этом сценарии роботу не нужно знать, в какой точке поля он находится. Он должен понимать, где относительно него расположена грядка. Поэтому система навигации использует компьютерное зрение.

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

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

  • Управление манипулятором
    Грядки покрыты геотекстилем с вырезами под лунки – по два в ряду. Манипулятор направляется к лункам, используя программную модель роботизированной руки. Однако сложнее всего было обучить нейросеть распознавать лунки на фоне геотекстиля: почва и материал имеют схожие цвет и тон.

Обучение нейросети распознаванию лунок в геотекстиле

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

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

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

Поделиться
Вконтакте
ЧИТАЙТЕ ТАКЖЕ
Комментарии  Отключены для этого материала
    Любопытный факт
    Комедийный актер Джон Клиз в возрасте 12 лет был ростом более 180 сантиметров.
    Обновить
    Свежие Комментарии

    ВойтиРегистрация
    Вход
    через соцсети
    Вход
    Почта:
    Пароль:
    Регистрация
    Почта:
    Имя:
    Пароль: