AMCL:As the robot rotates, the particles diverge
When I use the AMCL algorithm, the robot works well in most cases. But there are times when the robot is spinning,amcl particles will suddenly diverge around the robot.I want to know how it came about and how I can solve it.
The phenomenon is as shown in the picture below:
(Unfortunately, I failed to upload images from my computer. Can you see these two pictures)
Here you have the parameters of the AMCL:
<param name="laser_min_range" value="-1.0"/>
<param name="laser_max_range" value="-1.0"/>
<param name="laser_max_beams" value="1640"/>
<param name="laser_z_hit" value="0.95"/>
<param name="laser_z_short" value="0.05"/>
<param name="laser_z_max" value="0.05"/>
<param name="laser_z_rand" value="0.05"/>
<param name="laser_sigma_hit" value="0.12"/>
<param name="laser_lambda_short" value="0.1"/>
<param name="laser_likehood_max_dist" value="2.0"/>
<param name="laser_model_type" value="likelihood_field"/>
<param name="odom_model_type" value="diff"/>
<param name="odom_alpha1" value="0.5"/>
<param name="odom_alpha2" value="0.5"/>
<!-- translation std dev, m -->
<param name="odom_alpha3" value="5.0"/>
<param name="odom_alpha4" value="1.0"/>
<param name="odom_alpha5" value="0.05"/>
<param name="odom_frame_id" value="odom"/>
<param name="base_frame_id" value="base_link"/>
<param name="global_frame_id" value="map"/>
<param name="tf_broadcast" value="ture"/>
<param name="initial_pose_x" value="0"/>
<param name="initial_pose_y" value="0"/>
<param name="initial_pose_z" value="0"/>
<param name="initial_pose_a" value="0.0"/>
<param name="initial_cov_xx" value="0.5*0.5"/>
<param name="initial_cov_yy" value="0.5*0.5"/>
<param name="initial_cov_aa" value="(π/12)*(π/12)"/>
Can someone help me, thanks
Please try the navigation troubleshooting checks
And the navigation tuning guide