AMCL fails ...randomly
So I got amcl to work I set up a formal test and even got my video capture ready. I ran a dry run it worked. AMCL died (as mentioned) but it occurred at the end of the test so I figured it had something to do with the way my behaviors were terminating. However, the next day I set up the test and ran it amcl began crashing on me when I started.
*[ERROR] [1318490257.364240039]: Extrapolation Error: , when looking up transform from frame [/base_link] to frame [/map] Now I can tell from rviz that the robot is pretty well localized. (So its not like it thinks its on the other side of the map) I read somewhere that extrapolation error occurs when you have multiple clocks - I am running off one machine which has 7 cores. (Can I get a clock problem here?) I am not using simulation time.
I am assuming there is some parameter I can set to alleviate this error but I can't figure it out. I have raised my transform tolerance and that did not help. I have lowered my gui publication to 5 Hz.
I am using the amcl_diff.launch file provided in the amcl package - plus some minor modifications. I am using a balanced mode segway with a sick laser. I believe the odometry is good enough.
Here is my amcl_diff.launch file:
<launch> <node pkg="amcl" type="amcl" name="amcl" output="screen"> <!-- Publish scans from best pose at a max of 10 Hz --> <param name="odom_model_type" value="diff"/> <param name="odom_alpha5" value="0.1"/> <param name="transform_tolerance" value="0.2" /> <param name="gui_publish_rate" value="5.0"/> <param name="laser_max_beams" value="30"/> <param name="min_particles" value="500"/> <param name="max_particles" value="5000"/> <param name="kld_err" value="0.05"/> <param name="kld_z" value="0.99"/> <param name="odom_alpha1" value="0.2"/> <param name="odom_alpha2" value="0.2"/> <!-- translation std dev, m --> <param name="odom_alpha3" value="0.8"/> <param name="odom_alpha4" value="0.2"/> <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_model_type" value="beam"/> --> <param name="laser_likelihood_max_dist" value="2.0"/> <param name="update_min_d" value="0.2"/> <param name="update_min_a" value="0.5"/> <param name="odom_frame_id" value="odom"/> <param name="resample_interval" value="1"/> <param name="transform_tolerance" value="0.1"/> <!--#THIS WAS .1 I CHANGED IT TO .5--> <param name="recovery_alpha_slow" value="0.0"/> <param name="recovery_alpha_fast" value="0.0"/> <!-- <param name="~/initial_pose_x" type="double" value="223.25" /> <param name="~/initial_pose_y" type="double" value="118.14"/> <param name="~/initial_pose_a" type="double" value="-0.22" />
--> </node> </launch>
Any help you can give would be greatly appreciated. A copy of my costmap files can be found here: Costmap files
Thanks in advanced, BM