Ask Your Question

Wrong Pose update while moving robot slowely in reverse direction using tele-operation

asked 2019-12-04 02:58:36 -0600

Bhavesh D gravatar image

updated 2019-12-10 04:42:17 -0600

Delb gravatar image

Dear All,

I am using ROS Kinetic version.

I am trying to move robot using teleop_twist_keyboard pkg on /cmd_vel topic. I am using amcl pkg to monitor robot pose. When i give -0.25m/s linear velocity to move robot linear direction , robot pose is updated properly but when i give -0.1m/s linear velocity at that time wrong ( negative )robot position is updated and also map is getting shifted.

So how to resolved this problem at lower linear velocity ?


Robot odometry is reliable. i checked pose data which are correct. AMCL Parameters are below:

base_frame_id: base_link
beam_skip_distance: 0.5
beam_skip_threshold: 0.3
do_beamskip: false
first_map_only: false
global_frame_id: map
gui_publish_rate: -1.0
initial_cov_aa: 0.00039444164098382243
initial_cov_xx: 0.006605275579694592
initial_cov_yy: 0.0002945623643029194
initial_pose_a: -0.009420547200438287
initial_pose_x: -6.078843989833989
initial_pose_y: -8.205152316330627
kld_err: 0.01
kld_z: 0.99
laser_lambda_short: 0.1
laser_likelihood_max_dist: 2.0
laser_max_beams: 30
laser_max_range: -1.0
laser_min_range: -1.0
laser_model_type: likelihood_field
laser_sigma_hit: 0.2
laser_z_hit: 0.95
laser_z_max: 0.05
laser_z_rand: 0.05
laser_z_short: 0.1
max_particles: 5000
min_particles: 100
odom_alpha1: 0.2
odom_alpha2: 0.2
odom_alpha3: 0.2
odom_alpha4: 0.2
odom_alpha5: 0.2
odom_frame_id: odom
odom_model_type: diff-corrected
recovery_alpha_fast: 0.0
recovery_alpha_slow: 0.0
resample_interval: 2
restore_defaults: false
save_pose_rate: 0.5
tf_broadcast: true
transform_tolerance: 0.1
update_min_a: 0.001
update_min_d: 0.005
use_map_topic: false
edit retag flag offensive close merge delete


wrong ( negative )robot position is updated

Can you be more specific ? Also, is it the same with positive velocities ?

I would guess that you have the param update_min_d at the default value (wich is 0.2) so you have to wait that the robot as actually moved by 20cm before getting an update, you can lower this param to see if it changes something.

Delb gravatar imageDelb ( 2019-12-04 05:24:54 -0600 )edit

Hi Delbaere,

Ok so when i give 0.1m/s linear velocity at that time it move perfect toward positive X direction and update AMCL_POSE correctly.But when i give -0.1m/s linear speed robot moving reverse correctly but amcl pose not update properly it update opposite direction in rviz. means if robot goes +X direction then amcl pose was updating -X direction vice-versa. so this is happening only while give negative cmd_vel. in positive cmd_vel it works perfect.

While i increase the negative velocity ex. -0.2 m/s at that time again amcl pose update correctly even though it is negative velocity. so this problem occurred only while negative velocity which is <-0.2 m/s.

I have given below parameter in amcl node. param name="update_min_d" value="0.005" param name="update_min_a" value="0.001"

Bhavesh D gravatar imageBhavesh D ( 2019-12-05 01:36:10 -0600 )edit

Is your robot placed in a corridor ? I mean does your robot detects lots of obstacles at different distances when moving backwards, at least direclty behind it and not only on the sides ?

Delb gravatar imageDelb ( 2019-12-06 02:31:54 -0600 )edit

Because of low karma points i couldn't upload image. so is there any other option that i can upload image ? So that we can get better understand by seeing image.

Bhavesh D gravatar imageBhavesh D ( 2019-12-08 22:12:02 -0600 )edit

You can use imgur for example to give a link to your image (and as soon as you have enough karma you should replace the link with the image).

Delb gravatar imageDelb ( 2019-12-09 01:50:30 -0600 )edit

Hi Delb,

Please find the screenshot in the answer below posted by BV_Pradeep

Bhavesh D gravatar imageBhavesh D ( 2019-12-09 23:16:38 -0600 )edit

Thank you for the screenshot, the environment doesn't look bad but could you add more obstacles randomly around the robot ? Also is the robot odometry reliable ?

Finally could you provide your AMCL configuration please ?

Delb gravatar imageDelb ( 2019-12-10 03:08:56 -0600 )edit

Maybe you should'nt set the parameters initial_cov_* to a custom vlaue but keep the defualt one. Except this I don't see anything particular in your configuration.

Delb gravatar imageDelb ( 2019-12-10 04:55:38 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2019-12-09 23:14:57 -0600

BV_Pradeep gravatar image

@Delb, I am posting a screenshot for my colleague, Please find the screenshot below.

image description

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2019-12-04 02:58:36 -0600

Seen: 33 times

Last updated: Dec 10 '19