control loop missed its desired rate, but with low CPU load
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
- reduce the resolution of costmaps (0.1m)
- reduce the width and height of the local costmap (3x3m)
- reduce vx_samples and vtheta_samples (4 and 10 respectively)
- 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
Do you fixed your problem? I have the same.