Ask Your Question
0

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.

base_local_planners_params.yaml:

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

costmap_common_params.yaml:

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_costmap_params.yaml:

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

local_costmap_params.yaml:

local_costmap:
  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

Comments

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 imageDavid 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 imageMorteza ( 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 imageMorteza ( 2015-01-14 10:33:44 -0600 )edit

2 Answers

Sort by ยป oldest newest most voted
0

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

Comments

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 imageMorteza ( 2015-01-14 11:55:30 -0600 )edit

That's just faster than I expected.

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

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

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

Stats

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

Seen: 294 times

Last updated: Jan 14 '15