Robotic simulation project using ROS (Robot Operating System), Gazebo, RViz simulation environment using AMCL.
Amcl (Adaptive Monte Carlo Localization) is a Robot Operating System (ROS) navigation package which utilizes particle filters to track the pose of a moving robot with a known 2D map. To test amcl's localization algorithm capabilities multiple robots were simulated using Gazebo and RViz where their movements were tracked and their ability to move toward a goal position was evaluated.
After completing the project, you can launch it by running the following commands first -
$ cd ~/catkin_ws
$ catkin_make
$ source devel/setup.bash
And then run the following in separate terminals -
$ roslaunch udacity_bot udacity_bot
$ roslaunch udacity_bot amcl
$ rosrun udacity_bot navigation goal
ROS Guide to Building/Customizing your Robot Model
Mobile Robot in Gazebo World with Environment Obstacles
ClearPath Robotics Jackal Course to Test Localization and Navigation
Custom Mobile Robot Successfully Reaches Navigation Goal
I posted a successful navigation from origin to goal on youtube here:
While the amcl-powered localization is efficient, there is opportunity to improve the robot's navigation and movement toward the goal position as demonstrated by frequent observations during test runs of inefficient path planning, frequent delays, and wide circling maneuvers when correcting for movement errors during the approach. With that said, the current setup of multiple robot models with their supporting costmap parameters are able to predictably reach the goal position as supplied in the navigation goal executable.
Helpful resource for better understanding AMCL here