Show EOL distros:
Package Summary
A 2D navigation stack that takes in information from odometry, sensor streams, and a goal pose and outputs safe velocity commands that are sent to a mobile base.
- Author: Maintained by Eitan Marder-Eppstein [email protected]
- License: BSD,LGPL,LGPL (amcl)
- Source: git https://github.com/ros-planning/navigation (branch: navigation-1.6)
Package Summary
A 2D navigation stack that takes in information from odometry, sensor streams, and a goal pose and outputs safe velocity commands that are sent to a mobile base.
- Author: Maintained by Eitan Marder-Eppstein [email protected]
- License: BSD,LGPL,LGPL (amcl)
- Source: git https://github.com/ros-planning/navigation (branch: navigation-1.8)
Package Summary
A 2D navigation stack that takes in information from odometry, sensor streams, and a goal pose and outputs safe velocity commands that are sent to a mobile base.
- Author: Maintained by Eitan Marder-Eppstein [email protected]
- License: BSD,LGPL,LGPL (amcl)
- Source: git https://github.com/ros-planning/navigation.git (branch: groovy-devel)
Package Summary
A 2D navigation stack that takes in information from odometry, sensor streams, and a goal pose and outputs safe velocity commands that are sent to a mobile base.
- Maintainer status: maintained
- Maintainer: David V. Lu!! <davidvlu AT gmail DOT com>, Michael Ferguson <mferguson AT fetchrobotics DOT com>
- Author: [email protected], Eitan Marder-Eppstein
- License: BSD,LGPL,LGPL (amcl)
- Source: git https://github.com/ros-planning/navigation.git (branch: hydro-devel)
Package Summary
A 2D navigation stack that takes in information from odometry, sensor streams, and a goal pose and outputs safe velocity commands that are sent to a mobile base.
- Maintainer status: maintained
- Maintainer: David V. Lu!! <davidvlu AT gmail DOT com>, Michael Ferguson <mfergs7 AT gmail DOT com>, Aaron Hoy <ahoy AT fetchrobotics DOT com>
- Author: [email protected], Eitan Marder-Eppstein
- License: BSD,LGPL,LGPL (amcl)
- Source: git https://github.com/ros-planning/navigation.git (branch: indigo-devel)
Package Summary
A 2D navigation stack that takes in information from odometry, sensor streams, and a goal pose and outputs safe velocity commands that are sent to a mobile base.
- Maintainer status: maintained
- Maintainer: David V. Lu!! <davidvlu AT gmail DOT com>, Michael Ferguson <mferguson AT fetchrobotics DOT com>
- Author: [email protected], Eitan Marder-Eppstein
- License: BSD,LGPL,LGPL (amcl)
- Source: git https://github.com/ros-planning/navigation.git (branch: jade-devel)
Package Summary
A 2D navigation stack that takes in information from odometry, sensor streams, and a goal pose and outputs safe velocity commands that are sent to a mobile base.
- Maintainer status: maintained
- Maintainer: David V. Lu!! <davidvlu AT gmail DOT com>, Michael Ferguson <mfergs7 AT gmail DOT com>, Aaron Hoy <ahoy AT fetchrobotics DOT com>
- Author: [email protected], Eitan Marder-Eppstein
- License: BSD,LGPL,LGPL (amcl)
- Source: git https://github.com/ros-planning/navigation.git (branch: kinetic-devel)
Package Summary
A 2D navigation stack that takes in information from odometry, sensor streams, and a goal pose and outputs safe velocity commands that are sent to a mobile base.
- Maintainer status: maintained
- Maintainer: David V. Lu!! <davidvlu AT gmail DOT com>, Michael Ferguson <mfergs7 AT gmail DOT com>, Aaron Hoy <ahoy AT fetchrobotics DOT com>
- Author: [email protected], Eitan Marder-Eppstein
- License: BSD,LGPL,LGPL (amcl)
- Source: git https://github.com/ros-planning/navigation.git (branch: lunar)
Package Summary
A 2D navigation stack that takes in information from odometry, sensor streams, and a goal pose and outputs safe velocity commands that are sent to a mobile base.
- Maintainer status: maintained
- Maintainer: Michael Ferguson <mfergs7 AT gmail DOT com>, David V. Lu!! <davidvlu AT gmail DOT com>, Aaron Hoy <ahoy AT fetchrobotics DOT com>
- Author: [email protected], Eitan Marder-Eppstein
- License: BSD,LGPL,LGPL (amcl)
- Source: git https://github.com/ros-planning/navigation.git (branch: melodic-devel)
Package Summary
A 2D navigation stack that takes in information from odometry, sensor streams, and a goal pose and outputs safe velocity commands that are sent to a mobile base.
- Maintainer status: maintained
- Maintainer: Michael Ferguson <mfergs7 AT gmail DOT com>, David V. Lu!! <davidvlu AT gmail DOT com>, Aaron Hoy <ahoy AT fetchrobotics DOT com>
- Author: [email protected], Eitan Marder-Eppstein
- License: BSD,LGPL,LGPL (amcl)
- Source: git https://github.com/ros-planning/navigation.git (branch: noetic-devel)
Contents
Available Translations: SimpleChinese
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 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:
- 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.
- It requires a planar laser mounted somewhere on the mobile base. This laser is used for map building and localization.
- 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 Documentation
Report a Bug
Examples
List of Robots Using the Navigation Stack
Tutorials
Basic ROS Navigation Tutorials
- Setting up your robot using tf
This tutorial provides a guide to set up your robot to start using tf.
- Writing a local path planner as plugin in ROS
A tutorial to writing a custom local planner to work with the ROS1.This tutorial will be structured in a similar manner to ROS Global Path Planner
- Basic Navigation Tuning Guide
This guide seeks to give some standard advice on how to tune the ROS Navigation Stack on a robot. This guide is in no way comprehensive, but should give some insight into the process. I'd also encourage folks to make sure they've read the ROS Navigation Tutorial before this post as it gives a good overview on setting the navigation stack up on a robot wheras this guide just gives advice on the process.
- Setup and Configuration of the Navigation Stack on a Robot
This tutorial provides step-by-step instructions for how to get the navigation stack running on a robot. Topics covered include: sending transforms using tf, publishing odometry information, publishing sensor data from a laser over ROS, and basic navigation stack configuration.
- Using rviz with the Navigation Stack
This tutorial provides a guide to using rviz with the navigation stack to initialize the localization system, send goals to the robot, and view the many visualizations that the navigation stack publishes over ROS.
- Publishing Odometry Information over ROS
This tutorial provides an example of publishing odometry information for the navigation stack. It covers both publishing the nav_msgs/Odometry message over ROS, and a transform from a "odom" coordinate frame to a "base_link" coordinate frame over tf.
- Publishing Sensor Streams Over ROS
This tutorial provides examples of sending two types of sensor streams, sensor_msgs/LaserScan messages and sensor_msgs/PointCloud messages over ROS.
Navigation Tutorials for the Care-O-bot
- Using local navigation (navigation in the odometry frame)
This tutorial shows you how to move the mobile base avoiding collisions and specifying navigation goals in the odometry frame.
- Using slam navigation (navigation with a online generated map)
This tutorial shows you how to move the mobile base avoiding collisions and building up a map while moving the robot.
- Using global navigation (navigation with a predefined map)
This tutorial shows you how to create a map and use it for moving the mobile base avoiding collisions and specifying navigation goals in the map frame.
Navigation Tutorials for the TurtleBot
- Setup the Navigation Stack for TurtleBot
Provides a first glimpse of navigation configuration for your robot, with references to other much more comprehensive tutorials.
- SLAM Map Building with TurtleBot
How to generate a map using gmapping
- Autonomous Navigation of a Known Map with TurtleBot
This tutorial describes how to use the TurtleBot with a previously known map.
- Setup the Navigation Stack for TurtleBot
Provides a first glimpse of navigation configuration for your robot, with references to other much more comprehensive tutorials.
- SLAM Map Building with TurtleBot
How to generate a map using gmapping
- Autonomous Navigation of a Known Map with TurtleBot
This tutorial describes how to use the TurtleBot with a previously known map.
Navigation Tutorials for Husky
- Husky Move Base Demo
Running Husky with a basic move_base setup, with no mapping or localization.
- Husky AMCL Demo
Running Husky with a move_base setup, using amcl for localization.
- Husky Gmapping Demo
Running Husky with a move_base setup, using gmapping for mapping and localization (SLAM).
- Husky Frontier Exploration Demo
Running Husky with a move_base setup, using frontier_exploration for exploration planning, and gmapping for mapping and localization (SLAM).
- No Title
No Description
Navigation Tutorials for the MRP2
- Navigate in Simulation
This pagge describes awesome simulation
- Navigate with real robot
This page describes navigation with real robot
- Explore surrounding areas and make a map
Explore the real environment from robot's vision and save a map.
- Navigate with a known map
Ramble in the known area with a previously saved a map
- Explore surrounding areas and make a map
Explore the environment from robot's vision and save a map.
- Navigate with a known map
Ramble in the known area with a previously saved a map.
Navigation Tutorials for evarobot
- Evarobot Exploration
How to generate a SLAM map autonomously with Evarobot using frontier_exploration
- Autonomous Navigation of a Known Map with Evarobot
How to navigate autonomously the Evarobot with known map.
- Navigation of the Evarobot in Gazebo
How to navigate evarobot in Gazebo with a previously known map.
MRPT Navigation Tutorials
- Installing
Instructions to install and compile this package
Related Applications
Related Publications