<> <> Available Translations: [[cn/navigation|SimpleChinese]] {{attachment:nav_comic.png}} == Overview == The Navigation Stack is fairly simple on a conceptual level. It takes in information from odometry and sensor streams and outputs velocity commands to send to a mobile base. Use of the Navigation Stack on an arbitrary robot, however, is a bit more complicated. As a pre-requisite for navigation stack use, the robot must be running ROS, have a [[tf]] transform tree in place, and publish sensor data using the correct ROS [[msg|Message types]]. Also, the Navigation Stack needs to be configured for the shape and dynamics of a robot to perform at a high level. To help with this process, this manual is meant to serve as a guide to typical Navigation Stack set-up and configuration. <> == Hardware Requirements == While the Navigation Stack is designed to be as general purpose as possible, there are three main hardware requirements that restrict its use: 1. It is meant for both differential drive and holonomic wheeled robots only. It assumes that the mobile base is controlled by sending desired velocity commands to achieve in the form of: x velocity, y velocity, theta velocity. 2. It requires a planar laser mounted somewhere on the mobile base. This laser is used for map building and localization. 3. The Navigation Stack was developed on a square robot, so its performance will be best on robots that are nearly square or circular. It does work on robots of arbitrary shapes and sizes, but it may have difficulty with large rectangular robots in narrow spaces like doorways. == Documentation == The following documentation assumes familiarity with the Robot Operating System. Documentation on ROS can be found here: [[ROS|ROS Documentation]] *[[/Tutorials/RobotSetup|Navigation Stack Setup]] *[[/Tutorials/RobotSetup/Sensors|Publishing Sensor Streams]] *[[/Tutorials/RobotSetup/Odom|Publishing Odometry Information]] *[[/Tutorials/RobotSetup/TF|Transform Configuration]] *[[/MapBuilding|Building a Map]] == Report a Bug == * [[https://github.com/ros-planning/navigation/issues?sort=created&state=open | List active tickets]] * [[https://github.com/ros-planning/navigation/issues/new | Open a new ticket]] == Examples == [[navigation/RobotsUsingNavStack | List of Robots Using the Navigation Stack ]] == Tutorials == === Basic ROS Navigation Tutorials === <> === Navigation Tutorials for the Care-O-bot === <> === Navigation Tutorials for the TurtleBot === <> === Navigation Tutorials for Husky === <> === Navigation Tutorials for the MRP2 === <> === Navigation Tutorials for evarobot === <> === MRPT Navigation Tutorials === <> == Related Applications == *[[pr2_navigation_apps| 2D Navigation for the PR2 Platform]] == Related Publications == * [[http://wiki.ros.org/Papers/ICRA2010_Marder-Eppstein | The Office Marathon: Robust Navigation in an Indoor Office Environment]] ---- ## CategoryStack ## CategoryStackROSPKG ## navigation navigation navigation