Введение

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

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

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

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

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

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

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

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

Last updated