Этот пакет предоставляет оболочку для стандартного навигационного стека ROS и хранит параметры, специально разработанные для роботов компании "Братья Вольт".
Пакет предоставляет возможность построения карты местности на основе данных лидара с использованием стандартного пакета ROS gmapping.
Пакет также предоставляет возможность автономного перемещения по данным лидара с использованием пакета ROS move_base.
Он предустановлен и уже находится в образе операционной системы, поставляемом вместе с роботами.
Для получения дополнительной информации смотрите:
- Стек навигации ROS: http://wiki.ros.org/navigation
- Стек картографирования Gmapping: http://wiki.ros.org/gmapping
- Курс по навигации от "Братья Вольт": http://learn.voltbro.ru/data/ros-navigation/
По умолчанию пакет навигации уже настроен на работу с используемым типо робота TurtleBro/BRover V.4. В случае, если вам необходимо изменить тип используемого робота, воспользуйтесь следующими командами:
export ROVER_MODEL=turtlebro
-или-
export ROVER_MODEL=brover
Перед запуском рекомендуется сбрасывать показания одометрии для использования навигации и построения карты:
rosservice call /reset
Запуск навигации в режиме SLAM
SLAM (англ. simultaneous localization and mapping — одновременная локализация и построение карты) — метод, используемый в мобильных автономных средствах для построения карты в неизвестном пространстве или для обновления карты в заранее известном пространстве с одновременным контролем текущего местоположения и пройденного пути.
Для запуска навигации в режиме SLAM необходимо выполнить на роботе следующую команду:
roslaunch turtlebro_navigation turtlebro_slam_navigation.launch open_rviz:=0
Лаунч-файл запустит обе ноды move_base и slam_gmapping. В этом режиме вы можете устанавливать цели для робота через RViz на компьютере.
Сетевые настройки для запуска RViz
Видео-урок по сетевым настройкам: https://youtu.be/bmH17_yXIvk
Для запуска RViz необходимо установить в терминале вашего ПК коректные сетевые переменные ROS_MASTER_URI и ROS_HOSTNAME и запустить RViz:
export ROS_MASTER_URI=http://<IP-address_robot>:11311/
export ROS_HOSTNAME=IP-address_PC
rviz
Далее необходимо нажать Add->By Topic->/map и вы сможете увидеть карту, которую строит робот. Вы можете добавить новую цель для робота, используя кнопку 2D Nav Goal в верхней части окна RViz.
Если вы хотите построить карту, но хотите управлять роботом, например, с помощью джойстика или веб-интерфейса без использования пакета move_base, то используйте лайнч-файл turtlebro_gmapping.launch:
roslaunch turtlebro_navigation turtlebro_gmapping.launch
Для сохранения файлов построенной карты (изображение в формате .png и конфигурационный файл в формате .yaml) воспользуйтесь командой:
rosrun map_server map_saver -f имя_карты
rosrun map_server map_saver -f mymap
Для начала файлы с информацией о карте, необходимо скопировать в директорию робота:
/home/pi/catkin_ws/src/turtlebro_navigation/maps
Сделать это можно с помощью команды cp:
cp map.pgm catkin_ws/src/turtlebro_navigation/maps
cp map.yaml catkin_ws/src/turtlebro_navigation/maps
После этого необходимо пересобрать пакет навигации:
cd ~/catkin_ws
catkin_make --pkg turtlebro_navigation
Запуск навигации на построенной карте осуществляется с помощью лаунч-файла turtlebro_map_navigation.launch:
roslaunch turtlebro_navigation turtlebro_map_navigation.launch