Введение

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

Робот, поддерживающий SLAM, может построить карту неизвестной среды, одновременно определяя свое местоположение на этой карте. До недавнего времени единственным способом сделать надежный SLAM было использовать довольно дорогой лазерный сканер для сбора данных. С появлением камер Microsoft Kinect и Asus Xtion теперь можно сделать более доступный SLAM, используя 3D-облако точек с камеры для создания "поддельного" лазерного сканирования. (см. thedepthimage_to_laserscan и kinect_2d_scanner , где представлены два способа, как это реализовать.) TurtleBot настроен так, чтобы делать это из коробки. Если у вас есть TurtleBot, вы можете сразу перейти к учебнику TurtleBot SLAM (TurtleBot SLAM tutorial) на Ros Wiki.

Еще одним доступным роботом SLAM является пылесос Neato XV-11, который включает в себя 360-градусный лазерный сканер. На самом деле, вы можете запустить полный навигационный стек с помощью XV-11 благодаря стеку neato_robot ROS от Майкла Фергюсона.

В этой главе мы рассмотрим три основных packages ROS, составляющих ядро навигационного стека:

move_base для перемещения робота в необходимое положение в заданной системе отсчета

gmapping для создания карты из данных лазерного сканирования (или смоделированных лазерных данных из встроенной камеры)

amcl для локализации с использованием существующей карты

Когда мы закончим, мы сможем роботу дать команду идти в любое место или ряд мест на карте, избегая при этом препятствий. Прежде чем идти дальше, настоятельно рекомендуется, чтобы читатель ознакомился с учебником по настройке навигационного робота (Navigation Robot Setup tutorial) на Вики-сайте ROS. Этот учебник предоставляет отличный обзор навигационного стека ROS. Для еще лучшего понимания ознакомьтесь со всеми учебниками по навигации(Navigation Tutorials). И для превосходного введения в математику, лежащую в основе SLAM, ознакомьтесь с онлайн-курсом искусственного интеллекта (Artificial Intelligence) Себастьяна Трана по Udacity

Last updated