Закрыть
Обработка информации в робототехнике

Обработка информации в робототехнике

Любого робота можно условно разделить на три составляющие:

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

Для того, чтобы выполнить роботу какую-либо задачу, ему необходимо понять смысл данных, полученных с различных датчиков, и уже затем определить команды, которые необходимо передать на исполнительные устройства (моторы).

Поэтому, одной из основных задач в робототехнике является обработка информации.

Соревнование роботов-гуманоидов по футболу
Соревнование роботов-гуманоидов по футболу

Приведу пример. Представьте себе соревнование роботов по футболу. Роботу-игроку необходимо:

  • Найти, где находится мяч и определить траекторию его движения
  • Узнать свое местоположение на поле
  • Определить местоположение товарищей по команде и что они в текущий момент делают
  • То же самое узнать про соперника
  • Спланировать некоторую стратегию своих действий
  • Двигаться и реагировать на изменяющиеся условия
  • Ударить по мячу...

Смотрятся эти соревнования, на мой взгляд, очень забавно.

 

Можно выделить следующие задачи:

  • Мяч — используя изображение, полученное с видеокамеры, обработать его и выделить в нем цветовые сегменты. Здесь нужно определить, из каких же основных цветов состоит наше изображение и где здесь мяч. Мяч должен отличаться от остальных объектов.
  • Местоположение — выделить линию поля, разметку, ворота
  • Товарищи по команде — необходимо обеспечить коммуникацию для обмена информацией
  • Соперник — выделить игроков команды-соперника, сделать выводы на основе их действий
  • Планирование — необходимо предсказывать дальнейшие действия движущихся объектов (мяча, игороков команды соперника, игороков своей команды), используя предыдущий опыт
  • Движение, удары по мячу — действия, совершаемые на основе проведенного «обучения»

Здесь мы сталкиваемся с двумя типами проблем. Во-первых, есть вещи которые мы не знаем (например, как поведет себя игрок чужой команды), во-вторых, есть вещи, которые мы не знаем как сделать (как описать их в виде алгоритма). К таким вещам можно отнести, например, движения игрока в различных игровых ситуациях (сложно выделить все возможные встречающиеся ситуации).  Схожие проблемы встречаются и при разработке автономных автомобилей (подробнее в статья).

Для решения этих задач в нашем арсенале есть два инструмента:

  • Машинное обучение — позволяет адаптироваться на основе предыдущего опыта. Я уже писал о том что это такое в статье и об основных типах алгоритмов в статье.
  • Вероятностное рассуждение — позволяет принимать решения в условиях неопределенности.

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

[add_ratings]

Оставить ответ

Ваш email не будет опубликован.Обязательны поля помечены *