Моделирование навигационного стека ROS (часть 3)
На данный момент мы создали модель робота с дифференциальным приводом, которая удовлетворяет необходимым условиям для автономной навигации: дерево преобразований, одометрия, лазерный сканер и базовый контроллер. Теперь мы готовы заставить нашего моделируемого робота передвигаться самостоятельно с помощью стека навигации ROS. В этом уроке мы собираемся:
Как мы можем убедиться, эти шаги хорошо расписаны, поэтому мы просто соберем все это вместе для нашего робота.
Обзор: Использование стека навигации ROS
Цели: 1. Интегрировать навигационный стек ROS в модель нашего робота 2. Активировать автономную навигацию, чтобы нам не нужно было удаленно управлять нашим роботом
Ссылки:
- Примеры launch-файлов с использованием стека навигации ROS
- Советы по организации крупных проектов
- Примеры launch-файлов для многочисленных проектов роботов
- roscd turtlebot_navigation/launch/includes - дополнительные примеры launch-файлов
Код репозитория (хранилища):
git clone -b navigation https://github.com/richardw05/mybot_ws.git
Картография и навигация: Turtlebot (необязательно)
Обучение организации автономному движению Turtlebot'а поможет усвоить базовые навыки. Есть три основных этапа: создание карты, сохранение карты и загрузка карты.
- Создание карты
Выполните команды, представленные ниже. Используйте teleop для перемещения робота, чтобы создать точную и полную карту. В Терминале 1 запустите среду Gazebo
roslaunch turtlebot_gazebo turtlebot_world.launch
В Терминале 2 запустите построение карты
roslaunch turtlebot_gazebo gmapping_demo.launch
В Терминале 3 запустите rviz и установите следующие параметры: Localmap/Costmap/Topic to/map Globalmap/Costmap/Topic to/map
roslaunch turtlebot_rviz_launchers view_navigation.launch
В Терминале 4 запустите teleop
roslaunch turtlebot_teleop keyboard_teleop.launch
- Сохранение карты
- Загрузка карты