Навигация

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

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

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

На сегодняшний день, глобально системы навигации можно разделить на навигацию внутри помещений – indoor, и вне помещений – outdoor.

Навигация внутри помещений используется мобильными роботами сервисного назначения, например, для перемещения грузов на складе, роботами-уборщиками, официантами и т.д.

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

В нашем курсе мы рассмотрим проблемы навигации роботов в помещениях.

Базовые понятия навигации

В общем виде мы можем описать решение задачи навигации на изображении ниже.

Что нам необходимо для работы навигации

  • Датчики: Получение данных о состоянии окружающей среды
  • Карта: Карта для расчета маршрута и информацией о препятствиях
  • Положение: Оценка и расчет положения робота в пространстве
  • Путь: Рассчитанный маршрут движения робота от точки старта до финиша

Датчики

Для определения препятствий и вообще внешней среды, применяются несколько типов датчиков.

Датчики расстояния

  • Лидары (лазерные дальномеры)
  • Ультразвуковые датчики расстояния
  • Инфракрасные датчики расстояния

Обзорные датчики

  • Стерео камеры
  • Моно камеры

Камеры глубины

  • RealSense
  • Kinect 1/2
  • SwissRanger

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

На нашем роботе мы научимся работать с лазерным дальномером (lidar) c круговым углом сканирования в одной плоскости.

Карта

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

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

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

Мы отчетливо видим "пикселизацию" карты:

  • Светло-серый - это "пиксели" карты, которые свободны для перемещения
  • Черный - это преграда для робота
  • А темно-серый - это неизвестные, пока, области карты для робота.

Карты можно хоть рисовать руками, но автоматический это делать конечно удобнее.

Положение робота (локализация)

Если у нас есть карта, то следующей необходимой информацией, будет информация, где робот на этой карте находится.

Для решения этой задачи, у нас есть несколько технологических решений.

Например, для навигации в помещении мы можем использовать внешние системы определяющие положение робота:

  • Графические или цветные метки, расположенные на препятствиях
  • Системы Indoor GPS
  • Метки Beacon
  • Системы камер (Vicon MX и тд)

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

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

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

Построение маршрута

"Его система построения пути немного не оптимальна, но у него точно есть чутье."

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

Отметим основные алгоритмы построения пути:

  • Dynamic Window Approach (DWA) / Подход с динамическим окном
  • A* algorithm (A Стар) / Алгоритм Дейкстры
  • Potential Field / Метод потенциальных полей

results matching ""

    No results matching ""