AMCL uses laser scan data to compare observed obstacles with the known map, adjusting particle weights to refine the pose estimate. Odometry alone drifts over time, GPS is not typically used indoors, and IMU helps with orientation but not full pose correction.
The /amcl_pose topic publishes the robot's estimated pose with covariance, indicating position and uncertainty. Velocity is published on different topics, and sensor or map metadata are unrelated outputs.
<launch> <node pkg="amcl" type="amcl" name="amcl"> <param name="use_map_topic" value="true"/> <param name="laser_scan_topic" value="scan"/> <param name="odom_frame_id" value="odom"/> <param name="base_frame_id" value="base_link"/> <param name="global_frame_id" value="map"/> </node> </launch>
The correct parameter name for the laser scan topic in AMCL is 'scan_topic', not 'laser_scan_topic'. Using the wrong name causes AMCL to not subscribe to the laser scan, leading to errors or no localization.
If the global_frame_id is wrong, AMCL cannot correctly transform sensor data into the map frame, preventing pose convergence. High frequency laser data or odometry frame issues cause other errors but not necessarily failure to localize. Map resolution mismatch affects accuracy but not convergence directly.
The particle filter maintains many possible robot poses (particles) and updates their weights using sensor data to find the most likely pose. It does not control movement, create maps, or filter odometry directly.
