voltbro / turtlebro_navigation

Turtlebro navigation stack

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Пакет навигации turtlebro_navigation для роботов компании "Братья Вольт"

Этот пакет предоставляет оболочку для стандартного навигационного стека ROS и хранит параметры, специально разработанные для роботов компании "Братья Вольт".
Пакет предоставляет возможность построения карты местности на основе данных лидара с использованием стандартного пакета ROS gmapping.
Пакет также предоставляет возможность автономного перемещения по данным лидара с использованием пакета ROS move_base. Он предустановлен и уже находится в образе операционной системы, поставляемом вместе с роботами.

Для получения дополнительной информации смотрите:

Установка пакета

По умолчанию пакет навигации уже настроен на работу с используемым типо робота 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

About

Turtlebro navigation stack


Languages

Language:CMake 65.9%Language:Python 34.1%