Pull to refresh

Обзор алгоритмов глубокого машинного обучения для роботов

Reading time 3 min
Views 13K
Обзор будет полезен для тех, кто занимается физическими роботами и кому стало недостаточно arduino, а также для людей, кто хотел бы реализовать какие-либо из функций восприятия окружающего мира в своих роботах или устройствах.
Робот Misty от компании Misty Robotics представленный на CES
Робот Misty от компании Misty Robotics представленный на CES

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

Зрение и понимание


Видеть и понимать увиденное — это первая функция, которая может прийти на ум.

Детектирование объектов


Позволяет находить в области видения объекты заданных типов.

Пример алгоритма

Пример работы

Видео


Трекинг объектов


Позволяет отслеживать перемещение объекта или объектов в области видения.

Пример алгоритма

Пример работы

Видео


Сегментация


Позволяет попиксельно определять содержимое области видения.

Пример алгоритма

Пример работы

Видео


Оценка глубины


Позволяет определять препятствия на пути и расстояния до них с использованием компьютерного зрения.

Пример работы алгоритма

Пример работы

Пример алгоритма для обычной камеры
Пример алгоритма для стерео камеры

Если же условия работы вашего робота позволяют использовать Depth камеры с активной IR подсветкой, например такие как Intel Realsense, то вы можете применять проприетарное SDK.

Анимация


Перемещение и принятие решений


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

Ориентация в пространстве


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

Пример алгоритма

Пример работы

Видео


Принятие решений при перемещениях


Позволяет мобильному роботу принимать решения о необходимых маневрах для оптимизации траектории движения в динамическом окружении. Алгоритм использует обучение с подкреплением.

Пример алгоритма

Анимация


Захват и манипуляции объектами


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

Пример алгоритма

Пример работы

Видео


Особенности реализации для роботов


Производительность


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

Возможные варианты:

  • вычисления на выделенном персональном ПК
  • вычисления в облаке
  • вычисления на борту

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

Взаимодействие


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

Вместо вывода


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

Представленный обзор содержит далеко не исчерпывающий перечень задач и алгоритмов. В качестве примеров приведены по одному алгоритму по выбору автора. Также обратите внимание, что любая из представленных задач может быть решена множеством других способов и/или с использованием других алгоритмов. Если у вас есть под рукой еще какие-либо примеры задач с алгоритмами, то оставляйте в комментариях.

P.S.: На сладкое — красивое видео из “поднебесной” с колесным роботом и системой принятия решений на борту

Видео

Tags:
Hubs:
+11
Comments 8
Comments Comments 8

Articles