Робот Qbo и 3D-сенсор Xtion Pro Live



Продолжаем следить за судьбой проекта социального робота Qbo, в котором используется открытое ПО (ОС Linux и операционная система для роботов — ROS).
Сегодня, в блоге разработчиков робота, появилась запись об использовании Qbo 3D-сенсора ASUS Xtion Pro Live (по принципу действия схож с сенсором Microsoft Kinect).

Возможность автономной локализации имеет очень важное значение для автономных роботов, которые должны адаптироваться к окружающей среде. В робототехнике, этот метод известен как SLAM (Simultaneous Localization And Mapping — Метод одновременной навигации и построения карты). SLAM, может быть реализован различными алгоритмами, в 2D или 3D-среде, используя различные типы датчиков (лазерные дальномеры, гидролокаторы, одометрию, веб-камеры и т.д.).

Робот Q.bo, уже оснащен двумя HD веб-камерами, а также 4-мя ультразвуковыми датчиками (2 спереди и 2 сзади), но его разработчики решили попробовать подключить к роботу ещё и 3D-сенсор — ASUS Xtion Pro Live, прикрепив его к Q.bo на голову.

Решение об использовании именно этого датчика, вместо того же Kinect-а, было принято из-за его небольшого размера и веса.

Данные облака точек от 3D-сенсора, вместе с одометрией робота и данными от гироскопа, позволяют Q.bo создавать карту помещения, строить 3D-модели объектов и осуществлять автономную локализацию в режиме реального времени.
Эта система, позволяет реализовать более точное и сложное зрительное восприятие, по сравнению со стереоскопическими камерами и ультразвуковыми датчиками. Тем не менее, совместное использование всех систем (ультразвук, веб-камеры и 3D-сенсор) позволяет получать гораздо более полную информацию, чем использование каждой из систем в отдельности.

демонстрационное видео — Qbo Robot & Xtion Pro Live 3D sensor

Видео можно разделить на следующие главы:
* Глава I: Установка сенсора Xtion Pro Live на голову Qbo.
* Глава II: 3D-визуализация облака точек (используется утилита визуализации RViz из состава ROS) и 3D-модели Q.bo (для ускорения работы используется GPU — NVIDIA GeForce GTX 295).
* Глава III: SLAM. Робот формирует 2D-карту при помощи лазерного сканирования. Используется пакет из ROS — Gmapping — реализация алгоритма SLAM, разработанная Giorgio Grisetti, Cyrill Stachniss и Wolfram Burgard.
* Глава IV: автономная навигация с использование построенной 2D-карты.
В Rviz, роботу указывается первоначальное положение и цель для движения. Используется пакет из ROS — amcl (автор пакета — Brian P. Gerkey). Пакет реализует локализацию, используя particle filter. Для этого, он использует данные лазерного сканирования, полученные от Xtion Pro Live и данные 2D-карты.
Для движения, используется пакет ROS — move_base, разработанный Eitan Marder-Eppstein. Пакет содержит реализацию глобального и локального 2D-планирования движения (для выявления препятствий, используются данные лазерного сканирования).

далее: Видео сборки робота Qbo

Ссылки
Q.bo and the Xtion Pro Live 3D sensor
ASUS Xtion Pro Live
Particle filter

По теме
SLAM
Реализация SLAM у Qbo
Работа с Kinect под ROS — часть 2 — преобразование облака точек в данные лазерного дальномера


0 комментариев на «“Робот Qbo и 3D-сенсор Xtion Pro Live”»


  1. Возможность автономной локализации имеет очень важное значение для автономных роботов, которые должны адаптироваться к окружающей среде. В робототехнике, этот метод известен как SLAM (Simultaneous Localization And Mapping — Метод одновременной навигации и построения карты). SLAM, может быть реализован различными алгоритмами, в 2D или 3D-среде, используя различные типы датчиков (лазерные дальномеры, гидролокаторы, одометрию, веб-камеры и т.д.).

    С помощью веб-камеры, какой алгоритм используется, VSLAM — Visual SLAM — визуальный SLAM — реализация метода SLAM на основе методов компьтерного зрения?

Добавить комментарий

Arduino

Что такое Arduino?
Зачем мне Arduino?
Начало работы с Arduino
Для начинающих ардуинщиков
Радиодетали (точка входа для начинающих ардуинщиков)
Первые шаги с Arduino

Разделы

  1. Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…

  2. Добрый день! Я недавно начал изучать программирование под STM32 и ваши уроки просто бесценны! Хотел узнать зачем использовать переменную типа…

3D-печать AI Android Arduino Bluetooth CraftDuino DIY IDE iRobot Kinect LEGO OpenCV Open Source Python Raspberry Pi RoboCraft ROS swarm ИК автоматизация андроид балансировать бионика версия видео военный датчик дрон интерфейс камера кибервесна конкурс манипулятор машинное обучение наше нейронная сеть подводный пылесос работа распознавание робот робототехника светодиод сервомашинка собака управление ходить шаг за шагом шаговый двигатель шилд

OpenCV
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение