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

control loop missed its desired rate, but with low CPU load

asked 2015-04-10 21:43:50 -0500

PT gravatar image

Hi, I've encoutered the following warning message continuously while my robot navigate itself toward the goal pose (by DWA local planner):

Control loop missed its desired rate of 10.0000Hz... the loop actually took 0.6461 seconds

Solutions suggested in earlier posts includes

  1. reduce the resolution of costmaps (0.1m)
  2. reduce the width and height of the local costmap (3x3m)
  3. reduce vx_samples and vtheta_samples (4 and 10 respectively)
  4. reduce controller_frequency (5Hz)

However, none of these adjustment helped to increase the rate of the control loop to even 5Hz. The rate is 2Hz on average. However,the CPU load for the move_base is low (10-15%), while rviz takes about 30-40% of the CPU. Because the CPU load for the whole computer is <50% during navigation, I wonder why the control loop takes so long. Your help is highly appreciated.

Below are my parameters

costmap_common_params.yaml

obstacle_range: 5.5
raytrace_range: 5.5
footprint: [[-0.15,-0.3], [0.6,-0.3], [0.7,0], [0.6,0.3], [-0.15,0.3]]
footprint_padding: 0.1
#robot_radius: ir_of_robot
inflation_radius: 0.60
resolution: 0.1

observation_sources: laser_scan_sensor 

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

local_costmap_params.yaml

local_costmap:
  global_frame: odom 
  robot_base_frame: base_link
  rolling_window: true

  update_frequency: 2.0
  publish_frequency: 2.0
  static_map: false
  width: 3.0
  height: 3.0

global_costmap_params.yaml

global_costmap:
  global_frame: map
  robot_base_frame: base_link
  update_frequency: 1.0
  static_map: true

dwa_local_planner_params.yaml

controller_frequency: 5
recovery_behaviour_enabled: true

DWAPlannerROS:
  # robot configuration parameters
  acc_lim_x: 1.5
  acc_lim_th: 1.5
  max_trans_vel: 0.5
  min_trans_vel: 0.25
  max_vel_x: 0.5
  min_vel_x: 0.25
  max_rot_vel: 1
  min_rot_vel: 0.7

  # (care nothing about y) 
  max_vel_y: 0
  min_vel_y: 0
  acc_lim_y: 0

  # goal tolerance
  yaw_goal_tolerance: 0.2
  xy_goal_tolerance: 0.2

  # forward simulation
  sim_time: 2.0
  vx_samples: 4
  vy_samples: 0
  vtheta_samples: 10
  sim_granularity: 0.1
  angular_sim_granularity: 0.1
  penalize_negative_x: false

  # weights
  occdist_scale: 10
edit retag flag offensive close merge delete

Comments

1

Do you fixed your problem? I have the same.

Stepan Kostusiev gravatar image Stepan Kostusiev  ( 2018-10-31 08:16:57 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2015-04-11 05:37:22 -0500

Adolfo Rodriguez T gravatar image

The message you're getting seems inconsistent with the 5Hz control loop setting you mention:

Control loop missed its desired rate of 10.0000Hz... the loop actually took 0.6461 seconds

I would first look into where that 10kHz value is getting set.

edit flag offensive delete link more

Question Tools

5 followers

Stats

Asked: 2015-04-10 21:43:50 -0500

Seen: 5,707 times

Last updated: Apr 11 '15