Rosanswers logo

Hi, everyone.

I'm using nav stack and tuning parameters.
I tuned parameters as followings because high accurate localization is required.

    (base_local_planner's parameters)
        xy_tolerance: 0.03 (<- small value)
        yaw_tolerance: 0.05 (<- small value)

        max_vel_x: 0.50
        min_vel_x: 0.01

        max_vel_theta: 1.57
        min_vel_theta: 0.01
        max_rotational_vel: 1.57
        min_in_place_rotational_vel: 0.01

        acc_lim_th: 1.57
        acc_lim_x: 0.5
        acc_lim_y: 0.5

    (amcl's parameters)
        min_particles: 500
        max_particles: 1000(<- I can't change this value for some reason)
        kld_err: 0.01
        kld_z: 0.99
        update_min_d: 0.1
        update_min_a: 0.2
        resample_interval: 1
        transform_tolerance: 0.5

        laser_z_hit: 0.99
        laser_z_rand: 0.01
        laser_sigma_hit: 0.3
        laser_model_type: likelihood_field

        odom_alpha1~alpha5: 0.2

move_base's frequency is set to 10[Hz].
I think that my robot has enough small minimum translational and rotational velocities,
however it often oscillates at a goal point.
When the oscillation occurs, navigation takes so much time.

How can I avoid the above problem ?
Any other effective parameters ??
(I think amcl parameters are not related to accuracy of a localization but robustness of it.)

The robot can realize very low velocity(At least 0.005[m/s], 0.005[rad/s]).
Sensor: LRF (error: +/- 0.010[m])
Map resolution: 0.010[m/pixel]
Map was drawn manually and the width of the wall is 1 pixel.

Thanks in advance.

Originally posted by moyashi on ROS Answers with karma: 721 on 2013-01-27

Post score: 1

Original comments

Comment by dornhege on 2013-01-28:
What oscillates the robot motion or the localization? Is this also happening when the goal is in open space without obstacles? Did you verify that the manually drawn map fits the laser measurements?

Comment by moyashi on 2013-01-29:
Thank you for your comment! It happens in open space. I think Localization causes oscillation and the robot repeatedly rotates and moves forward because of it. I've verified my map is well suited to the laser measurements.

Comment by dornhege on 2013-01-29:
If you suspect localization, you should test that without the navigation and just teleoperate the robot by hand. Localization should match your actual robot pose in the world and laser scans should lie on the map's walls. If not, check back.

Comment by moyashi on 2013-02-04:
Thank you for your good advice. I've checked it. The result showed that the robot could move very accurately, even if its velocity was very low (0.01m/s).

Comment by dornhege on 2013-02-04:
So localization is fine, right? Although low velocities usually are not the problem, but high velocities. In that case, what can you robot do kinematically (diff drive?). The parameters you have set (3cm, 3deg) are impossible to reach by the simple base_local_planner

Comment by moyashi on 2013-02-06:
Even if the maximum velocity is set to low, the oscillation occurs and my robot is omni-driven. Recently I doubt of the adequacy of amcl's params(update_min_a = 0.2 and update_min_d = 0.2). Would you mind if I ask why the parameters are impossible and how big parameters are possible ?

Comment by dornhege on 2013-02-06:
First, if you have omni-drive, make sure holonomic_robot is set to true. If you had a diff-drive robot only a full motion planner could reach position and orientation at the same time, which base_local_planner isn't.

Comment by Kishore Kumar on 2016-02-05:
How to check whether laser measurements fits the built map. What is the test procedure


1 Answer 1


Rosanswers logo

If you don't trust amcl, you can lower update_min_a/d. You should test with teleoperation again, if you can simply control your robot towards the goal (not only in reality, but also looking at amcl). If that's sufficient, you can start tuning the navigation.

Originally posted by dornhege with karma: 31395 on 2013-02-06

This answer was ACCEPTED on the original site

Post score: 2


Your Answer

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