Package Summary

Tags No category tags.
Version 0.2.6
License LGPL-2.1-or-later
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-planning/navigation2.git
VCS Type git
VCS Version dashing-devel
Last Updated 2019-11-17
Dev Status MAINTAINED
Released RELEASED

Package Description

Additional Links

No additional links.

Maintainers

  • Mohammad Haghighipanah

Authors

No additional authors.

AMCL

Adaptive Monte Carlo Localization (AMCL) is a probabilistic localization module which estimates the position and orientation (i.e. Pose) of a robot in a given known map.

Overview

Currently, the AMCL module in ROS 2 Navigation System is a direct port from ROS1 AMCL package with some minor code re-factoring. The direct port includes all of ROS1 functionalities except running from Bag files.

Added Feature

AutoLocalization - is implemented by utilizing AMCL's global_localization service request and Behavior Tree (BT). This enables initial pose estimation capability on differential type robot.

On startup of the navigation stack, the initial robot pose needs to be sent to AMCL otherwise AMCL initializes its filter state to default values with a particle cloud centered around (0,0,0). If the initial pose of the robot is not known and the robot is outside of default particle cloud, particles may not converge when robot moves.

With the AutoLocalization branch of BT, first the global_localization service of AMCL is called to randomly disperse all particles through the free space in the map. Once particles are dispersed, the robot rotates, backs up, and, if necessary, rotates again to localize itself. The full implementation is described in the AutoLocalization section of BT Navigator

Warning: AutoLocalization actuates robot; currently, obstacle avoidance has not been integrated into this feature. The user is advised to not use this feature on a physical robot for safety reasons. As of now, this feature should only be used in simulations.

Current Plan

  • Polishing AMCL core code, especially the laserReceived callback Issue 211
  • Using generic Particle Filter library Issue 206
  • Creating a generic library to pull out the algorithms that are from Probabilistic Robotics textbook. These algorithms could potentially be used on other modules Issue 207

Future Plan

  • Running from Ros bag
  • Extending AMCL to work with different type of Sensors
  • Improving overall localization performance with fusing data from different sensors such as IMU, Sonar, Radar, Laser, Depth camera, and etc.
CHANGELOG

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged nav2_amcl at answers.ros.org

Package Summary

Tags No category tags.
Version 0.1.7
License LGPL
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-planning/navigation2.git
VCS Type git
VCS Version crystal-devel
Last Updated 2019-03-13
Dev Status MAINTAINED
Released RELEASED

Package Description

Additional Links

No additional links.

Maintainers

  • Michael Ferguson
  • Aaron Hoy
  • Mohammad Haghighipanah

Authors

No additional authors.

AMCL

Adaptive Monte Carlo Localization (AMCL) is a probabilistic localization module which estimates the position and orientation (i.e. Pose) of a robot in a given known map.

Overview

Currently, the AMCL module in ROS 2 Navigation System is a direct port from ROS1 AMCL package with some minor code re-factoring. The direct port includes all of ROS1 functionalities except running from Bag files. The code re-factoring includes moving Sensor, Particle Filter, and Map from nav2_amcl directory to nav2_util directory. The main logic behind this is code re-usability. However, given the way in which these classes are currently written, these codes are highly bounded to AMCL. Therefore, to make use of code re-usability, these classes need to be substantially modified.

Added Feature

AutoLocalization - is implemented by utilizing AMCL's global_localization service request and Behavior Tree (BT). This enables initial pose estimation capability on differential type robot.

On startup of the navigation stack, the initial robot pose needs to be sent to AMCL otherwise AMCL initializes its filter state to default values with a particle cloud centered around (0,0,0). If the initial pose of the robot is not known and the robot is outside of default particle cloud, particles may not converge when robot moves.

With the AutoLocalization branch of BT, first the global_localization service of AMCL is called to randomly disperse all particles through the free space in the map. Once particles are dispersed, the robot rotates, backs up, and, if necessary, rotates again to localize itself. The full implementation is described in the AutoLocalization section of BT Navigator

Warning: AutoLocalization actuates robot; currently, obstacle avoidance has not been integrated into this feature. The user is advised to not use this feature on a physical robot for safety reasons. As of now, this feature should only be used in simulations.

Current Plan

  • Polishing AMCL core code, especially the laserReceived callback Issue 211
  • Using generic Particle Filter library Issue 206
  • Creating a generic library to pull out the algorithms that are from Probabilistic Robotics textbook. These algorithms could potentially be used on other modules Issue 207

Future Plan

  • Running from Ros bag
  • Extending AMCL to work with different type of Sensors
  • Improving overall localization performance with fusing data from different sensors such as IMU, Sonar, Radar, Laser, Depth camera, and etc.
CHANGELOG

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged nav2_amcl at answers.ros.org

No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.