Kinect amcl
Hi everybody! I am testing amcl on a KUKA youBot equipped with a Kinect. Following this tutorial http://www.ros.org/wiki/navigation/Tutorials/Navigation%20Tuning%20Guide I move the robot with a joypad on the known map to check the amcl.
This is what I obtain: http://www.youtube.com/watch?v=Bn0Bde0BjSs
As you can see the correction for translation is quite good, te problem is that odom doesn't turn enough to in order to correct odometry in rotation.
Here is my amcl file
<launch>
<node pkg="amcl" type="amcl" name="amcl">
<!-- Publish scans from best pose at a max of 10 Hz -->
<param name="base_frame_id" value="/base_footprint"/>
<param name="odom_model_type" value="omni"/>
<param name="odom_alpha5" value="0.5"/>
<param name="transform_tolerance" value="0.2" />
<param name="gui_publish_rate" value="10.0"/>
<param name="laser_max_beams" value="60"/>
<param name="min_particles" value="1000"/>
<param name="max_particles" value="10000"/>
<!--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.5"/>
<!-- translation std dev, m -->
<param name="odom_alpha3" value="0.5"/>
<param name="odom_alpha4" value="0.5"/>
<param name="laser_z_hit" value="0.95"/>
<param name="laser_z_short" value="0.15"/>
<param name="laser_z_max" value="0.03"/>
<param name="laser_z_rand" value="0.01"/>
<param name="laser_sigma_hit" value="0.002"/>
<param name="laser_lambda_short" value="0.1"/>
<param name="laser_model_type" value="likelihood_field"/>
<param name="laser_likelihood_max_dist" value="4.0"/>
<param name="update_min_d" value="0.05"/>
<param name="update_min_a" value="0.05"/>
<param name="odom_frame_id" value="/odom"/>
<param name="resample_interval" value="1"/>
<param name="recovery_alpha_slow" value="0.001"/>
<param name="recovery_alpha_fast" value="0.1"/>
<param name="initial_pose_x" value="0.35"/>
<param name="initial_pose_y" value="1.08"/>
<param name="initial_pose_a" value="1.57"/>
<param name="first_map_only" value="true"/>
<param name="laser_max_range" value="4.0"/>
<param name="laser_min_range" value="0.6"/>
</node>
</launch>
The youBot odometry is not so good, so I gave a high weight to odom parameters and I tried to trust much more the laser with a very low "laser_sigma_hit" parameter.
Any suggesion to make it works better? Thank you guys