ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

robot hits the obstacles and turns around occasionally using navigation stack

asked 2015-01-13 12:44:04 -0600

Morteza gravatar image

updated 2015-01-14 10:03:49 -0600

David Lu gravatar image

Hi everyone,

I am using the navigation stack on my own wheeled robot. at first i used a converter to convert 220 v to 14.7 v to run my robot. using this power my robot navigated nicely in the environment. Then i equipped my robot with a 25 v LiPo battery and now when navigating, it hits the obstacles much and when i command it to go to a far distance goal, turn around much. my navigation config is as follow. what should i do? I appreciate any help.


max_vel_x: 2.5
min_vel_x: 0.5
max_vel_theta: 13.736
min_vel_theta: -13.736
min_in_place_rotational_vel: 2
escape_vel: -0.5
acc_lim_theta: 3.12
acc_lim_x: 0.568
acc_lim_y: 0.568
xy_goal_tolerance: 0.5
yaw_goal_tolerance: 3
holonomic_robot: false


obstacle_range: 2.5
raytrace_range: 3.0
footprint: [[ -0.146,  -0.372],
            [ 0.354, -0.372],
            [ 0.554, 0],
            [0.354, 0.372],
            [-0.146,  0.372]]
robot_radius: ir_of_robot
inflation_radius: 0.6
robot_radius: 0.5

observation_sources: laser

laser: {sensor_frame: laser, data_type: LaserScan, topic: /scan, marking: true, clearing: true}


  global_frame: /map
  robot_base_frame: /base_footprint
  update_frequency: 5.0
  static_map: true
  resolution: 0.05
  width: 0
  height: 10


  global_frame: /odom
  robot_base_frame: /base_footprint
  update_frequency: 5.0
  publish_frequency: 2.0
  static_map: false
  rolling_window: true
  width: 6.0
  height: 6.0
  resolution: 0.05
edit retag flag offensive close merge delete


I'm not sure I understand what the problem is. When the power is low, the configuration works but when the power is higher it doesn't? Does that just mean the robot is driving faster?

David Lu gravatar image David Lu  ( 2015-01-14 10:08:14 -0600 )edit

Thanks David for edition. No, this is not the problem. I computed the new acceleration and velocity of the robot when using battery and set them in the config. files. the robot doesn't move faster. The planner computes the global path well bu i see that the local planner gives wrong commands.

Morteza gravatar image Morteza  ( 2015-01-14 10:32:40 -0600 )edit

The wrong commands of the local planner causes the robot to go far from the global path or turn around and hits the obstacles.

Morteza gravatar image Morteza  ( 2015-01-14 10:33:44 -0600 )edit

2 Answers

Sort by ยป oldest newest most voted

answered 2015-01-14 11:17:48 -0600

David Lu gravatar image

Are you perhaps specifying your rotation speed incorrectly? It should be in radians/s

edit flag offensive delete link more


the approach i computed the rotation velocity is that at first i computed the maximum linear velocity of the robot and then doubled it and divide it by the distance between the wheels. 13.736 means that the robot can rotate twice (4 pi) in one second and i think it seems logical.

Morteza gravatar image Morteza  ( 2015-01-14 11:55:30 -0600 )edit

That's just faster than I expected.

David Lu gravatar image David Lu  ( 2015-01-14 14:24:23 -0600 )edit

answered 2015-01-14 12:19:35 -0600

hello, It is clear that your Lipo is more powerful than your AC adapter. This is normal case :) So the robot is moving in higher linear and angular velocities. and of course these velocities are more close to the values you set previously. You have two solutions:

  1. re-tune (actually reduce) the linear and angular velocities in your settings. or
  2. increase the safety distances in your setting files.
edit flag offensive delete link more

Question Tools

1 follower


Asked: 2015-01-13 12:44:04 -0600

Seen: 510 times

Last updated: Jan 14 '15