AMCL is a probabilistic localization system for a robot moving in 2D. It implements the adaptive (or KLD-sampling) Monte Carlo localization approach (as described by Dieter Fox), which uses a particle filter to track the pose of a robot against a known map. It is derived, with thanks, from Andrew Howard's excellent 'amcl' Player driver.
The original ROS wrapper for amcl can be found in the navigation stack: http://github.com/ros-planning/navigation.