Amcl - FontysAtWork/ESA-PROJ GitHub Wiki

Navigation params

The amcl.include file contains some parameters that can be tuned for our robot base. The current parameters are as follows:

<?xml version="1.0"?>
<launch>
	<node pkg="amcl" type="amcl" name="amcl">
		<remap from="scan" to="scan_combined"/>
		<param name="odom_model_type" value="omni"/>
		<param name="odom_alpha5" value="0.2"/>
		<param name="transform_tolerance" value="0.2" />
		<param name="gui_publish_rate" value="1.0"/>
		<param name="laser_max_beams" value="30"/>
		<param name="min_particles" value="500"/>
		<param name="max_particles" value="2000"/>
		<param name="kld_err" value="0.05"/>
		<param name="kld_z" value="0.99"/>
		<param name="odom_alpha1" value="0.5"/>
		<param name="odom_alpha2" value="0.2"/>
		<param name="odom_alpha3" value="0.5"/>
		<param name="odom_alpha4" value="0.5"/>
		<param name="laser_z_hit" value="0.5"/>
		<param name="laser_z_short" value="0.05"/>
		<param name="laser_z_max" value="0.05"/>
		<param name="laser_z_rand" value="0.5"/>
		<param name="laser_sigma_hit" value="0.2"/>
		<param name="laser_lambda_short" value="0.1"/>
		<param name="laser_lambda_short" value="0.1"/>
		<param name="laser_model_type" value="likelihood_field"/>
		<param name="laser_likelihood_max_dist" value="2.0"/>
		<param name="update_min_d" value="0.2"/>
		<param name="update_min_a" value="0.3"/>
		<param name="global_frame_id" value="/map"/>
		<param name="base_frame_id" value="/base_link"/>
		<param name="odom_frame_id" value="odom"/>
		<param name="resample_interval" value="1"/>
		<param name="transform_tolerance" value="0.1"/>
		<param name="recovery_alpha_slow" value="0.0"/>
		<param name="recovery_alpha_fast" value="0.0"/>
	</node>
</launch>

We added the argument <remap from="scan" to="scan_combined"/>, to make AMCL use the combined laser topic.

In particular, we've been tweaking the odom_alpha parameters when trying to get the robot to have less drift.

odom_alpha1 default: 0.2
Specifies the expected noise in odometry's rotation estimate from the rotational component of the robot's motion.
Our findings: Increasing this value over standard values lowered the drift after turning. Increasing it too much makes drift accumulative again.

odom_alpha2 default: 0.2
Specifies the expected noise in odometry's rotation estimate from translational component of the robot's motion.

odom_alpha3 default: 0.2
Specifies the expected noise in odometry's translation estimate from the translational component of the robot's motion.

odom_alpha4 default: 0.2
Specifies the expected noise in odometry's translation estimate from the rotational component of the robot's motion.

odom_alpha5 default: 0.2
Translation-related noise parameter (only used if model is "omni").
Our findings: We increased this to 0.5, but found that the accuracy didn't change.

After the LiDARs have been set up properly, these parameters turned out to have less of an impact than with just one laser. We left it as-is after fixing the LiDARs.

⚠️ **GitHub.com Fallback** ⚠️