Wiki

(!) Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags.

Setup the Navigation Stack for TurtleBot

Description: Provides a first glimpse of navigation configuration for your robot, with references to other much more comprehensive tutorials.

Tutorial Level: BEGINNER

Next Tutorial: Build a map with SLAM

This tutorial doesn't pretend to be a comprehensive guide for fine tuning TurtleBot navigation, as the navigation tutorials do a great job on this. Here we just provide some useful how-tos and tricks that TurtleBot users sometimes ask. The idea is to save your time, avoiding you the need of digging in the abundant existing documentation!

Key files

The TurtleBot navigation is ruled (as in almost any other ROS robot) by a combination of launch and yaml files. Both are contained on turtlebot_navigation package, on launch and param directories respectively.

Move base

TurtleBot navigation motion is generated by move_base, who maintains a global and a local cost maps so it can create global and local plans. Its behavior is defined on param/move_base yaml files, three for cost maps and base_local_planner_params.yaml for the planner. costmap_2d configuration is quite tricky, and in most cases is driven by the need of balance between cpu usage and performance, so we will not mention here.

Planner

Amcl (localization)

TurtleBot localization is provided by amcl. You can tweak this algorithm by modifying parameters on launch/includes/_amcl.launch file. But this is not basic stuff, and so out of the scope of this tutorial.

Gmapping (map building)

TurtleBot maps are build with gmapping. You can tweak this algorithm by modifying parameters on launch/includes/_gmapping.launch file. But again, this is out of the scope of this tutorial.

Wiki: turtlebot_navigation/Tutorials/Setup the Navigation Stack for TurtleBot (last edited 2014-01-23 15:28:06 by LucasWalter)