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

Navigation stack never reach goal

asked 2011-08-27 04:15:24 -0500

Jbot gravatar image

updated 2013-09-09 04:15:09 -0500

Hi everybody !

I have some trouble implementing the navigation stack for my own custom robot. It has an arduino which do the position estimation and send it to ROS inside my computer. The TF and odom messages are OK, I display them in RVIZ and the position is fine. Then I do a "dummy laser" which always send a laser a 3meters (I don't want to use a laser for now).

=> My robot in RVIZ turning on himself.

The global planner seems to be OK, the path to go the goal is fine, but the robot does not follow the line, so mayby the problem come from the local planner.

Anyone ever had this problem ? Or do you think what can be wrong in my configuration ?

Here is my setup for the navigation stack :

base local planner :

TrajectoryPlannerROS:

  max_vel_x: 0.1
  min_vel_x: 0.01
  max_rotational_vel: 1.0
  min_in_place_rotational_vel: 0.4

  acc_lim_th: 0.05
  acc_lim_x: 0.005
  acc_lim_y: 0.0

  holonomic_robot: false

costmap common param :

obstacle_range: 2.5
raytrace_range: 3.0
robot_radius: 0.1
inflation_radius: 0.4

observation_sources: laser_scan_sensor

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

global costmap :

global_costmap:
  global_frame: map
  robot_base_frame: base_link
  update_frequency: 3.0
  static_map: false
  rolling_window: true
  width: 3.0
  height: 3.0
  resolution: 0.005
  origin_x: -1.5
  origin_y: -1.5

local costmap :

local_costmap:
  global_frame: odom
  robot_base_frame: base_link
  update_frequency: 4.0
  publish_frequency: 4.0
  static_map: false
  rolling_window: true
  width: 3.0
  height: 3.0
  resolution: 0.01
  origin_x: -1.5
  origin_y: -1.5

odom and map are the same thing.

I have also sometime this warning : "Control loop missed its desired rate of 20.0000Hz... the loop actually took 0.2422 seconds"

Thanks,

Jbot

edit retag flag offensive close merge delete

Comments

Instead of a dummy laser, it would be better to not use a laser at all. The data you are simulating is not at all realistic (unless your robot is encased in a 3meter radius bubble that moves with the robot).
Eric Perko gravatar image Eric Perko  ( 2011-08-27 13:16:31 -0500 )edit
Can you update your rviz video to include a visualization of the obstacles and such? See http://www.ros.org/wiki/navigation/Tutorials/Using%20rviz%20with%20the%20Navigation%20Stack for details on recommended rviz setups for navigation.
Eric Perko gravatar image Eric Perko  ( 2011-08-27 13:18:46 -0500 )edit
Not an answer to the question, but if you are getting lots of messages about the control loop missing, it may be wise to reduce your control loop speed to about 10 Hz, or possibly decrease the sizes of your costmap. We have found that missing the control loop rate can cause some problems.
mjcarroll gravatar image mjcarroll  ( 2011-08-28 03:20:22 -0500 )edit
Ok, thanks. Putting the control loop speed to 10Hz is better. But the robot has "un-smooth" movements. Maybe the tf from the arduino is not refreshed often enought.
Jbot gravatar image Jbot  ( 2011-09-05 02:57:08 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
4

answered 2011-12-08 05:23:31 -0500

this post is marked as community wiki

This post is a wiki. Anyone with karma >75 is welcome to improve it.

Not an answer to the question, but if you are getting lots of messages about the control loop missing, it may be wise to reduce your control loop speed to about 10 Hz, or possibly decrease the sizes of your costmap. We have found that missing the control loop rate can cause some problems. - mjcarroll (Aug 28)

Ok, thanks. Putting the control loop speed to 10Hz is better. But the robot has "un-smooth" movements. Maybe the tf from the arduino is not refreshed often enought. - Jbot (Sep 05)

edit flag offensive delete link more

Comments

Setting the control loop speed is controlled with controller_frequency private param of the move_base node: (angle bracket) param name="controller_frequency" value="10.0"

lucasw gravatar image lucasw  ( 2014-02-27 12:21:07 -0500 )edit

How to set the parameter, can you please elaborate the code and where to write the code.

Kishore Kumar gravatar image Kishore Kumar  ( 2016-02-25 08:14:08 -0500 )edit

In your move_base launch file you put the code that lucasw wrote after the line where you start your move_base node pkg.

peterwe gravatar image peterwe  ( 2017-05-03 08:21:02 -0500 )edit

Question Tools

Stats

Asked: 2011-08-27 04:15:24 -0500

Seen: 4,620 times

Last updated: Dec 08 '11