0
$\begingroup$

Rosanswers logo

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


Originally posted by Jbot on ROS Answers with karma: 429 on 2011-08-27

Post score: 4


Original comments

Comment by Jbot on 2011-09-05:
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.

Comment by mjcarroll on 2011-08-28:
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.

Comment by Eric Perko on 2011-08-27:
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.

Comment by Eric Perko on 2011-08-27:
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).

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

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)


Originally posted by tfoote with karma: 58457 on 2011-12-08

This answer was ACCEPTED on the original site

Post score: 4


Original comments

Comment by lucasw on 2014-02-27:
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"

Comment by Kishore Kumar on 2016-02-25:
How to set the parameter, can you please elaborate the code and where to write the code.

Comment by peterwe on 2017-05-03:
In your move_base launch file you put the code that lucasw wrote after the line where you start your move_base node pkg.

$\endgroup$

Your Answer

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