Rosanswers logo

hi, i am running hector slam using ydlidar and realsense t265 for odom. the position updates properly on the map when the bot is in linear motion but when the bot rotates, the entire map fluctuates and the it takes 2secs to come back to normal. though i tried changing my amcl parameters but still no luck. my amcl_diff.launch parameters are shown below.. since odom_alpha1 is related to yaw i tried increasing it but same issue. What should i be doing exactly?

< 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-corrected"/>

< param name="odom_alpha5" value="0.1"/>

< param name="transform_tolerance" value="0.1" />

< param name="gui_publish_rate" value="10.0"/>

< param name="laser_max_beams" value="400"/>

< param name="min_particles" value="400"/>

< param name="max_particles" value="2000"/>

< param name="kld_err" value="0.05"/>

< param name="save_pose_rate" value="0.5"/>

< param name="kld_z" value="0.99"/>

< param name="odom_alpha1" value="0.1"/>

< param name="odom_alpha2" value="0.1"/>

< !-- translation std dev, m -->

< param name="odom_alpha3" value="0.1"/>

< param name="odom_alpha4" value="0.1"/>

< param name="laser_z_hit" value="0.8"/>

< param name="laser_z_short" value="0.05"/>

< param name="laser_z_max" value="0.05"/>

< param name="laser_z_rand" value="0.2"/>

< 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="-1"/>

< param name="update_min_a" value="-1"/>

< param name="first_map_only" value="true"/>

< 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>"

i sometimes get this error from odom topic: "Transform [sender=unknown_publisher] For frame [odom]: No transform to fixed frame [map]. TF error: [Lookup would require extrapolation into the future. Requested time 1606469551.994227409 but the latest data is at time 1606469551.947668000, when looking up transform from frame [odom] to frame [map]]"

should i be increasing the transform_tolerance?

Originally posted by siddharthcb on ROS Answers with karma: 100 on 2020-11-27

Post score: 0


1 Answer 1


Rosanswers logo

When using diff-corrected, small numbers like 0.005 seem to be appropriate for odom_alpha.

You may try changing diff-corrected to diff or making odom_alpha1 to odom_alpha5 smaller to improve it.

Originally posted by miura with karma: 1908 on 2020-11-27

This answer was ACCEPTED on the original site

Post score: 1

Original comments

Comment by siddharthcb on 2020-11-30:
Thanks a lot. it worked!


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.