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

cartographer + move_base,Control loop missed its desired rate

asked 2019-07-16 08:15:01 -0500

Tansor gravatar image

updated 2019-07-16 08:19:06 -0500

Cartographer + move_base runs at the same time,Control loop missed its desired rate。(cmd_val frequency is extremely low)

The computer used is: NVIDIA Jetson TX2, cpu utilization is close to 100%. Is this a normal phenomenon or a configuration problem?

 **SUMMARY**
========

PARAMETERS

 * /move_base/TebLocalPlannerROS/acc_lim_theta: 0.5
 * /move_base/TebLocalPlannerROS/acc_lim_x: 0.5
 * /move_base/TebLocalPlannerROS/allow_init_with_backwards_motion: False
 * /move_base/TebLocalPlannerROS/costmap_converter/CostmapToLinesDBSRANSAC/cluster_max_distance: 0.4
 * /move_base/TebLocalPlannerROS/costmap_converter/CostmapToLinesDBSRANSAC/cluster_min_pts: 2
 * /move_base/TebLocalPlannerROS/costmap_converter/CostmapToLinesDBSRANSAC/convex_hull_min_pt_separation: 0.1
 * /move_base/TebLocalPlannerROS/costmap_converter/CostmapToLinesDBSRANSAC/ransac_convert_outlier_pts: True
 * /move_base/TebLocalPlannerROS/costmap_converter/CostmapToLinesDBSRANSAC/ransac_filter_remaining_outlier_pts: False
 * /move_base/TebLocalPlannerROS/costmap_converter/CostmapToLinesDBSRANSAC/ransac_inlier_distance: 0.15
 * /move_base/TebLocalPlannerROS/costmap_converter/CostmapToLinesDBSRANSAC/ransac_min_inliers: 10
 * /move_base/TebLocalPlannerROS/costmap_converter/CostmapToLinesDBSRANSAC/ransac_no_iterations: 1500
 * /move_base/TebLocalPlannerROS/costmap_converter/CostmapToLinesDBSRANSAC/ransac_remainig_outliers: 3
 * /move_base/TebLocalPlannerROS/costmap_converter_plugin: costmap_converter...
 * /move_base/TebLocalPlannerROS/costmap_converter_rate: 5
 * /move_base/TebLocalPlannerROS/costmap_converter_spin_thread: True
 * /move_base/TebLocalPlannerROS/costmap_obstacles_behind_robot_dist: 1.5
 * /move_base/TebLocalPlannerROS/dt_hysteresis: 0.1
 * /move_base/TebLocalPlannerROS/dt_ref: 0.3
 * /move_base/TebLocalPlannerROS/enable_homotopy_class_planning: True
 * /move_base/TebLocalPlannerROS/enable_multithreading: True
 * /move_base/TebLocalPlannerROS/feasibility_check_no_poses: 5
 * /move_base/TebLocalPlannerROS/footprint_model/type: point
 * /move_base/TebLocalPlannerROS/free_goal_vel: False
 * /move_base/TebLocalPlannerROS/global_plan_overwrite_orientation: True
 * /move_base/TebLocalPlannerROS/h_signature_prescaler: 0.5
 * /move_base/TebLocalPlannerROS/h_signature_threshold: 0.1
 * /move_base/TebLocalPlannerROS/include_costmap_obstacles: True
 * /move_base/TebLocalPlannerROS/map_frame: /map
 * /move_base/TebLocalPlannerROS/max_global_plan_lookahead_dist: 3.0
 * /move_base/TebLocalPlannerROS/max_number_classes: 4
 * /move_base/TebLocalPlannerROS/max_vel_theta: 1.0
 * /move_base/TebLocalPlannerROS/max_vel_x: 1.0
 * /move_base/TebLocalPlannerROS/max_vel_x_backwards: 0.6
 * /move_base/TebLocalPlannerROS/max_vel_y: 0.0
 * /move_base/TebLocalPlannerROS/min_obstacle_dist: 0.5
 * /move_base/TebLocalPlannerROS/min_turning_radius: 0.0
 * /move_base/TebLocalPlannerROS/no_inner_iterations: 5
 * /move_base/TebLocalPlannerROS/no_outer_iterations: 4
 * /move_base/TebLocalPlannerROS/obstacle_heading_threshold: 0.45
 * /move_base/TebLocalPlannerROS/obstacle_keypoint_offset: 0.1
 * /move_base/TebLocalPlannerROS/obstacle_poses_affected: 30
 * /move_base/TebLocalPlannerROS/odom_topic: odom
 * /move_base/TebLocalPlannerROS/optimization_activate: True
 * /move_base/TebLocalPlannerROS/optimization_verbose: False
 * /move_base/TebLocalPlannerROS/oscillation_filter_duration: 10
 * /move_base/TebLocalPlannerROS/oscillation_omega_eps: 0.1
 * /move_base/TebLocalPlannerROS/oscillation_recovery: True
 * /move_base/TebLocalPlannerROS/oscillation_recovery_min_duration: 10
 * /move_base/TebLocalPlannerROS/oscillation_v_eps: 0.1
 * /move_base/TebLocalPlannerROS/penalty_epsilon: 0.1
 * /move_base/TebLocalPlannerROS/roadmap_graph_area_width: 5
 * /move_base/TebLocalPlannerROS/roadmap_graph_no_samples: 15
 * /move_base/TebLocalPlannerROS/selection_alternative_time_cost: False
 * /move_base/TebLocalPlannerROS/selection_cost_hysteresis: 1.0
 * /move_base/TebLocalPlannerROS/selection_obst_cost_scale: 1.0
 * /move_base/TebLocalPlannerROS/shrink_horizon_backup: True
 * /move_base/TebLocalPlannerROS/shrink_horizon_min_duration: 10
 * /move_base/TebLocalPlannerROS/simple_exploration: False
 * /move_base/TebLocalPlannerROS/teb_autosize: True
 * /move_base/TebLocalPlannerROS/visualize_hc_graph: False
 * /move_base/TebLocalPlannerROS/weight_acc_lim_theta: 1
 * /move_base/TebLocalPlannerROS/weight_acc_lim_x: 1
 * /move_base/TebLocalPlannerROS/weight_adapt_factor: 2
 * /move_base/TebLocalPlannerROS/weight_dynamic_obstacle: 10
 * /move_base/TebLocalPlannerROS/weight_kinematics_forward_drive: 1
 * /move_base/TebLocalPlannerROS/weight_kinematics_nh: 1000
 * /move_base/TebLocalPlannerROS/weight_kinematics_turning_radius: 1
 * /move_base/TebLocalPlannerROS/weight_max_vel_theta: 1
 * /move_base/TebLocalPlannerROS/weight_max_vel_x: 2
 * /move_base/TebLocalPlannerROS/weight_obstacle: 50
 * /move_base/TebLocalPlannerROS/weight_optimaltime: 1
 * /move_base/TebLocalPlannerROS/xy_goal_tolerance: 0.2
 * /move_base/TebLocalPlannerROS/yaw_goal_tolerance: 0.1
 * /move_base/base_local_planner: teb_local_planner...
 * /move_base/controller_frequency: 10.0
 * /move_base/global_costmap/cost_scaling_factor: 10.0
 * /move_base/global_costmap/footprint: [[0.51, 0.35], [0...
 * /move_base/global_costmap/footprint_padding: 0.02
 * /move_base/global_costmap/global_frame: map
 * /move_base/global_costmap/inflation_layer/cost_scaling_factor: 10.0
 * /move_base/global_costmap/inflation_layer/enabled: True
 * /move_base/global_costmap/inflation_layer/inflation_radius: 0.5
 * /move_base/global_costmap/map_type: costmap
 * /move_base/global_costmap/obstacle_layer/combination_method: 1
 * /move_base/global_costmap/obstacle_layer/enabled: True
 * /move_base/global_costmap/obstacle_layer/observation_sources: point_cloud_sensor
 * /move_base/global_costmap/obstacle_layer/obstacle_range: 5.0
 * /move_base/global_costmap/obstacle_layer/point_cloud_sensor/clearing: True
 * /move_base/global_costmap/obstacle_layer/point_cloud_sensor/data_type: PointCloud2
 * /move_base/global_costmap/obstacle_layer/point_cloud_sensor/marking: True
 * /move_base/global_costmap/obstacle_layer/point_cloud_sensor/max_obstacle_height: 0.8
 * /move_base/global_costmap/obstacle_layer/point_cloud_sensor/min_obstacle_height: 0.07
 * /move_base/global_costmap/obstacle_layer/point_cloud_sensor/sensor_frame: laser_link
 * /move_base/global_costmap/obstacle_layer/point_cloud_sensor/topic: /lslidar_point_cloud
 * /move_base/global_costmap/obstacle_layer/raytrace_range: 5.5 ...
(more)
edit retag flag offensive close merge delete

2 Answers

Sort by » oldest newest most voted
0

answered 2019-07-23 05:23:18 -0500

Tansor gravatar image
/move_base/local_costmap/obstacle_layer/obstacle_range: 5.0
/move_base/local_costmap/obstacle_layer/raytrace_range: 5.5

Appropriately reduce these two parameters

edit flag offensive delete link more
1

answered 2019-07-16 13:15:33 -0500

You're trying to do too much with your CPU, if you're at 100% utilization, you're missing rate because you don't have enough cycles to accomplish that processes computational tasks.

You'll need to either do less, offload some computation, or try to tune things to run at tractable rates. The rule of thumb for this type of thing is to have your CPU running at about 80% so that there's enough juice for the sudden bursts of work.

edit flag offensive delete link more

Comments

Thank you very much for your answer! I have enhanced cpu performance, and now the occupancy rate is around 60%, but there are still the above problems.

[ INFO] [1563279138.784172362]: Resizing costmap to 650 X 680 at 0.050000 m/pix
[ INFO] [1563279138.795393838]: Resizing static layer to 650 X 680 at 0.050000 m/pix
[ WARN] [1563279156.227073295]: Control loop missed its desired rate of 10.0000Hz... the loop actually took18.7780 seconds
[ WARN] [1563279156.227821820]: Map update loop missed its desired rate of 1.0000Hz... the loop actually took 25.4829 seconds.

The terminal always prompts Resizing costmap, is this normal?

Tansor gravatar image Tansor  ( 2019-07-17 20:13:46 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2019-07-16 08:15:01 -0500

Seen: 812 times

Last updated: Jul 23 '19