Моделирование навигационного стека ROS (часть 3): различия между версиями
Editor (обсуждение | вклад) |
Editor (обсуждение | вклад) |
||
Строка 49: | Строка 49: | ||
== Картография и навигация: Наш робот == | == Картография и навигация: Наш робот == | ||
+ | |||
+ | Мы выполним те же действия для нашего робота с дифференциальным приводом. | ||
+ | |||
+ | '''Обратите внимание''', что мы изменили нашу модель для более удобной навигации. Например, мы добавили дополнительное роликовое колесо для уменьшения дрожания (подпрыгивания) лазера во время резких остановок. Мы понимаем, что наша модель робота требует дополнительной настройки, поскольку она имеет некоторые странные навигационные изломы (недостатки). Мы ценим любые предложения. Тем не менее, нашей модели достаточно для игры и тренировок со стеком навигации ROS. |
Версия 00:36, 16 июля 2019
На данный момент мы создали модель робота с дифференциальным приводом, которая удовлетворяет необходимым условиям для автономной навигации: дерево преобразований, одометрия, лазерный сканер и базовый контроллер. Теперь мы готовы заставить нашего моделируемого робота передвигаться самостоятельно с помощью стека навигации 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'а поможет усвоить базовые навыки. Есть три основных этапа: создание карты, сохранение карты и загрузка карты.
1. Создание карты Выполните команды, представленные ниже. Используйте 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
2. Сохранение карты В Терминале 5 сохраните карту в какой нибудь файл, указав путь
rosrun map_server map_saver -f ~/mybot_ws/test_map
3. Загрузка карты Закройте все предыдущие терминалы и выполните команды, представленные ниже. После загрузки используйте rviz для установки навигационных точек, робот должен будет двигаться автономно. В Терминале 1 запустите среду Gazebo
roslaunch turtlebot_gazebo turtlebot_world.launch
В Терминале 2 запустите построение карты
roslaunch turtlebot_gazebo amcl_demo.launch map_file:=~/mybot_ws/test_map.yaml
В Терминале 3 запустите rviz
roslaunch turtlebot_rviz_launchers view_navigation.launch
Картография и навигация: Наш робот
Мы выполним те же действия для нашего робота с дифференциальным приводом.
Обратите внимание, что мы изменили нашу модель для более удобной навигации. Например, мы добавили дополнительное роликовое колесо для уменьшения дрожания (подпрыгивания) лазера во время резких остановок. Мы понимаем, что наша модель робота требует дополнительной настройки, поскольку она имеет некоторые странные навигационные изломы (недостатки). Мы ценим любые предложения. Тем не менее, нашей модели достаточно для игры и тренировок со стеком навигации ROS.