ROS Gazabo仿真问题解决:[ERROR]: No p gain specified for pid. Namespace: /gazebo_ros_control/pid_gains/~
(写在最后 哈哈哈)现在感觉这个问题不解决也可以,机械臂竖立的稳稳当当,反而加入pid之后机械臂完全塌了下来,之后就是一系列pid调节的痛苦经历,调了半天终于放弃了,因为我的机械臂是大负载机械臂,调的机械臂漫天飞舞,淦,我直接给pid注掉。了却烦心事,解决不掉就视而不见。哈哈哈哈。
出现的错误形式:
[ERROR] [1641817876.599786098, 0.001000000]: No p gain specified for pid. Namespace: /nuclear_robot/gazebo_ros_control/pid_gains/base_link_to_body
[ERROR] [1641817876.603696804, 0.001000000]: No p gain specified for pid. Namespace: /nuclear_robot/gazebo_ros_control/pid_gains/body_to_arm1
[ERROR] [1641817876.606541981, 0.001000000]: No p gain specified for pid. Namespace: /nuclear_robot/gazebo_ros_control/pid_gains/arm1_to_arm1_01
[ERROR] [1641817876.609254992, 0.001000000]: No p gain specified for pid. Namespace: /nuclear_robot/gazebo_ros_control/pid_gains/arm1_01_to_arm1_02
[ERROR] [1641817876.613152929, 0.001000000]: No p gain specified for pid. Namespace: /nuclear_robot/gazebo_ros_control/pid_gains/arm1_02_to_arm1_03
[ERROR] [1641817876.617461705, 0.001000000]: No p gain specified for pid. Namespace: /nuclear_robot/gazebo_ros_control/pid_gains/arm1_03_to_arm1_04
[ERROR] [1641817876.620764539, 0.001000000]: No p gain specified for pid. Namespace: /nuclear_robot/gazebo_ros_control/pid_gains/arm1_04_to_arm1_05
[ERROR] [1641817876.623382280, 0.001000000]: No p gain specified for pid. Namespace: /nuclear_robot/gazebo_ros_control/pid_gains/arm1_05_to_wrist1
[ERROR] [1641817876.625858862, 0.001000000]: No p gain specified for pid. Namespace: /nuclear_robot/gazebo_ros_control/pid_gains/wrist1_to_hand1_01
[ERROR] [1641817876.628437624, 0.001000000]: No p gain specified for pid. Namespace: /nuclear_robot/gazebo_ros_control/pid_gains/wrist1_to_hand1_02
[ERROR] [1641817876.634538529, 0.001000000]: No p gain specified for pid. Namespace: /nuclear_robot/gazebo_ros_control/pid_gains/body_to_arm2_01
[ERROR] [1641817876.639608274, 0.001000000]: No p gain specified for pid. Namespace: /nuclear_robot/gazebo_ros_control/pid_gains/arm2_01_to_arm2_02
[ERROR] [1641817876.643080333, 0.001000000]: No p gain specified for pid. Namespace: /nuclear_robot/gazebo_ros_control/pid_gains/arm2_02_to_arm2_03
[ERROR] [1641817876.646745202, 0.001000000]: No p gain specified for pid. Namespace: /nuclear_robot/gazebo_ros_control/pid_gains/arm2_03_to_arm2_04
[ERROR] [1641817876.650024387, 0.001000000]: No p gain specified for pid. Namespace: /nuclear_robot/gazebo_ros_control/pid_gains/arm2_04_to_arm2_05
[ERROR] [1641817876.652968097, 0.001000000]: No p gain specified for pid. Namespace: /nuclear_robot/gazebo_ros_control/pid_gains/arm2_05_to_wrist2
注意我在前几个错误中加黑的部分,这是配置pid的所需要的命名空间路径。出现这个报错的原因就是你在配置文件中的命名路径与pid要求的不匹配而出现的错误。
解决方法:
首先,你需要翻阅你运行的.launch命令的报文输出。查看你读入配置文件后的命名空间路径输出,下图是我报错时的命名路径,以及配置文件的形式。


可以看出命名空间路径存在差异:
期望: Namespace: /nuclear_robot/gazebo_ros_control/pid_gains/~
实际: Namespace: /nuclear_robot/arm1_controller/gains/~
所以我们需要根据期望的命名空间路径来进行配置文件的修改。
起初只是将配置文件在中的gains改为pid_gains,并在pid_gains之前加上一行gazebo_ros_control后,仍没有解决问题,输出如下:



从输出日志上可以看出加载配置文件时只对最后两个关节进行了参数加载,并且在报错的输出中也少了最后两个关节的pid报错。
于是我就将各个关节的pid配置全部搬移到了最后,于是问题就解决了(鼓掌)。

需要注意的就是:在改写配置文件yaml时,注意书写的格式与缩进(非常重要)
以下就是最终的输出(不再有一大段扎眼的红报错):
started roslaunch server http://localhost:41631/SUMMARY
========PARAMETERS* /gazebo/enable_ros_network: True* /move_group/allow_trajectory_execution: True* /move_group/arm1/longest_valid_segment_fraction: 0.005* /move_group/arm1/planner_configs: ['SBL', 'EST', 'L...* /move_group/arm1/projection_evaluator: joints(body_to_ar...* /move_group/arm1_gripper/longest_valid_segment_fraction: 0.005* /move_group/arm1_gripper/planner_configs: ['SBL', 'EST', 'L...* /move_group/arm1_gripper/projection_evaluator: joints(wrist1_to_...* /move_group/arm2/longest_valid_segment_fraction: 0.005* /move_group/arm2/planner_configs: ['SBL', 'EST', 'L...* /move_group/arm2/projection_evaluator: joints(body_to_ar...* /move_group/arm2_gripper/longest_valid_segment_fraction: 0.005* /move_group/arm2_gripper/planner_configs: ['SBL', 'EST', 'L...* /move_group/arm2_gripper/projection_evaluator: joints(wrist2_to_...* /move_group/body/planner_configs: ['SBL', 'EST', 'L...* /move_group/capabilities: * /move_group/controller_list: [{'default': True...* /move_group/controller_manager_ns: controller_manager* /move_group/disable_capabilities: * /move_group/jiggle_fraction: 0.05* /move_group/max_range: 5.0* /move_group/max_safe_path_cost: 1* /move_group/moveit_controller_manager: moveit_simple_con...* /move_group/moveit_manage_controllers: True* /move_group/octomap_resolution: 0.025* /move_group/planner_configs/BFMT/balanced: 0* /move_group/planner_configs/BFMT/cache_cc: 1* /move_group/planner_configs/BFMT/extended_fmt: 1* /move_group/planner_configs/BFMT/heuristics: 1* /move_group/planner_configs/BFMT/nearest_k: 1* /move_group/planner_configs/BFMT/num_samples: 1000* /move_group/planner_configs/BFMT/optimality: 1* /move_group/planner_configs/BFMT/radius_multiplier: 1.0* /move_group/planner_configs/BFMT/type: geometric::BFMT* /move_group/planner_configs/BKPIECE/border_fraction: 0.9* /move_group/planner_configs/BKPIECE/failed_expansion_score_factor: 0.5* /move_group/planner_configs/BKPIECE/min_valid_path_fraction: 0.5* /move_group/planner_configs/BKPIECE/range: 0.0* /move_group/planner_configs/BKPIECE/type: geometric::BKPIECE* /move_group/planner_configs/BiEST/range: 0.0* /move_group/planner_configs/BiEST/type: geometric::BiEST* /move_group/planner_configs/BiTRRT/cost_threshold: 1e300* /move_group/planner_configs/BiTRRT/frountier_node_ratio: 0.1* /move_group/planner_configs/BiTRRT/frountier_threshold: 0.0* /move_group/planner_configs/BiTRRT/init_temperature: 100* /move_group/planner_configs/BiTRRT/range: 0.0* /move_group/planner_configs/BiTRRT/temp_change_factor: 0.1* /move_group/planner_configs/BiTRRT/type: geometric::BiTRRT* /move_group/planner_configs/EST/goal_bias: 0.05* /move_group/planner_configs/EST/range: 0.0* /move_group/planner_configs/EST/type: geometric::EST* /move_group/planner_configs/FMT/cache_cc: 1* /move_group/planner_configs/FMT/extended_fmt: 1* /move_group/planner_configs/FMT/heuristics: 0* /move_group/planner_configs/FMT/nearest_k: 1* /move_group/planner_configs/FMT/num_samples: 1000* /move_group/planner_configs/FMT/radius_multiplier: 1.1* /move_group/planner_configs/FMT/type: geometric::FMT* /move_group/planner_configs/KPIECE/border_fraction: 0.9* /move_group/planner_configs/KPIECE/failed_expansion_score_factor: 0.5* /move_group/planner_configs/KPIECE/goal_bias: 0.05* /move_group/planner_configs/KPIECE/min_valid_path_fraction: 0.5* /move_group/planner_configs/KPIECE/range: 0.0* /move_group/planner_configs/KPIECE/type: geometric::KPIECE* /move_group/planner_configs/LBKPIECE/border_fraction: 0.9* /move_group/planner_configs/LBKPIECE/min_valid_path_fraction: 0.5* /move_group/planner_configs/LBKPIECE/range: 0.0* /move_group/planner_configs/LBKPIECE/type: geometric::LBKPIECE* /move_group/planner_configs/LBTRRT/epsilon: 0.4* /move_group/planner_configs/LBTRRT/goal_bias: 0.05* /move_group/planner_configs/LBTRRT/range: 0.0* /move_group/planner_configs/LBTRRT/type: geometric::LBTRRT* /move_group/planner_configs/LazyPRM/range: 0.0* /move_group/planner_configs/LazyPRM/type: geometric::LazyPRM* /move_group/planner_configs/LazyPRMstar/type: geometric::LazyPR...* /move_group/planner_configs/PDST/type: geometric::PDST* /move_group/planner_configs/PRM/max_nearest_neighbors: 10* /move_group/planner_configs/PRM/type: geometric::PRM* /move_group/planner_configs/PRMstar/type: geometric::PRMstar* /move_group/planner_configs/ProjEST/goal_bias: 0.05* /move_group/planner_configs/ProjEST/range: 0.0* /move_group/planner_configs/ProjEST/type: geometric::ProjEST* /move_group/planner_configs/RRT/goal_bias: 0.05* /move_group/planner_configs/RRT/range: 0.0* /move_group/planner_configs/RRT/type: geometric::RRT* /move_group/planner_configs/RRTConnect/range: 0.0* /move_group/planner_configs/RRTConnect/type: geometric::RRTCon...* /move_group/planner_configs/RRTstar/delay_collision_checking: 1* /move_group/planner_configs/RRTstar/goal_bias: 0.05* /move_group/planner_configs/RRTstar/range: 0.0* /move_group/planner_configs/RRTstar/type: geometric::RRTstar* /move_group/planner_configs/SBL/range: 0.0* /move_group/planner_configs/SBL/type: geometric::SBL* /move_group/planner_configs/SPARS/dense_delta_fraction: 0.001* /move_group/planner_configs/SPARS/max_failures: 1000* /move_group/planner_configs/SPARS/sparse_delta_fraction: 0.25* /move_group/planner_configs/SPARS/stretch_factor: 3.0* /move_group/planner_configs/SPARS/type: geometric::SPARS* /move_group/planner_configs/SPARStwo/dense_delta_fraction: 0.001* /move_group/planner_configs/SPARStwo/max_failures: 5000* /move_group/planner_configs/SPARStwo/sparse_delta_fraction: 0.25* /move_group/planner_configs/SPARStwo/stretch_factor: 3.0* /move_group/planner_configs/SPARStwo/type: geometric::SPARStwo* /move_group/planner_configs/STRIDE/degree: 16* /move_group/planner_configs/STRIDE/estimated_dimension: 0.0* /move_group/planner_configs/STRIDE/goal_bias: 0.05* /move_group/planner_configs/STRIDE/max_degree: 18* /move_group/planner_configs/STRIDE/max_pts_per_leaf: 6* /move_group/planner_configs/STRIDE/min_degree: 12* /move_group/planner_configs/STRIDE/min_valid_path_fraction: 0.2* /move_group/planner_configs/STRIDE/range: 0.0* /move_group/planner_configs/STRIDE/type: geometric::STRIDE* /move_group/planner_configs/STRIDE/use_projected_distance: 0* /move_group/planner_configs/TRRT/frountierNodeRatio: 0.1* /move_group/planner_configs/TRRT/frountier_threshold: 0.0* /move_group/planner_configs/TRRT/goal_bias: 0.05* /move_group/planner_configs/TRRT/init_temperature: 10e-6* /move_group/planner_configs/TRRT/k_constant: 0.0* /move_group/planner_configs/TRRT/max_states_failed: 10* /move_group/planner_configs/TRRT/min_temperature: 10e-10* /move_group/planner_configs/TRRT/range: 0.0* /move_group/planner_configs/TRRT/temp_change_factor: 2.0* /move_group/planner_configs/TRRT/type: geometric::TRRT* /move_group/planning_plugin: ompl_interface/OM...* /move_group/planning_scene_monitor/publish_geometry_updates: True* /move_group/planning_scene_monitor/publish_planning_scene: True* /move_group/planning_scene_monitor/publish_state_updates: True* /move_group/planning_scene_monitor/publish_transforms_updates: True* /move_group/request_adapters: default_planner_r...* /move_group/sensors: [{'point_subsampl...* /move_group/start_state_max_bounds_error: 0.1* /move_group/trajectory_execution/allowed_execution_duration_scaling: 1.2* /move_group/trajectory_execution/allowed_goal_duration_margin: 0.5* /move_group/trajectory_execution/allowed_start_tolerance: 0.01* /nuclear_robot/arm1_controller/joints: ['body_to_arm1', ...* /nuclear_robot/arm1_controller/type: position_controll...* /nuclear_robot/arm1_gripper_controller/joints: ['wrist1_to_hand1...* /nuclear_robot/arm1_gripper_controller/type: position_controll...* /nuclear_robot/arm2_controller/joints: ['body_to_arm2_01...* /nuclear_robot/arm2_controller/type: position_controll...* /nuclear_robot/arm2_gripper_controller/joints: ['wrist2_to_hand2...* /nuclear_robot/arm2_gripper_controller/type: position_controll...* /nuclear_robot/body_controller/joints: ['base_link_to_bo...* /nuclear_robot/body_controller/type: position_controll...* /nuclear_robot/gazebo_ros_control/pid_gains/arm1_01_to_arm1_02/d: 0.1* /nuclear_robot/gazebo_ros_control/pid_gains/arm1_01_to_arm1_02/i: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/arm1_01_to_arm1_02/i_clamp: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/arm1_01_to_arm1_02/p: 1000.0* /nuclear_robot/gazebo_ros_control/pid_gains/arm1_02_to_arm1_03/d: 0.1* /nuclear_robot/gazebo_ros_control/pid_gains/arm1_02_to_arm1_03/i: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/arm1_02_to_arm1_03/i_clamp: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/arm1_02_to_arm1_03/p: 1000.0* /nuclear_robot/gazebo_ros_control/pid_gains/arm1_03_to_arm1_04/d: 0.1* /nuclear_robot/gazebo_ros_control/pid_gains/arm1_03_to_arm1_04/i: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/arm1_03_to_arm1_04/i_clamp: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/arm1_03_to_arm1_04/p: 1000.0* /nuclear_robot/gazebo_ros_control/pid_gains/arm1_04_to_arm1_05/d: 0.1* /nuclear_robot/gazebo_ros_control/pid_gains/arm1_04_to_arm1_05/i: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/arm1_04_to_arm1_05/i_clamp: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/arm1_04_to_arm1_05/p: 1000.0* /nuclear_robot/gazebo_ros_control/pid_gains/arm1_05_to_wrist1/d: 0.1* /nuclear_robot/gazebo_ros_control/pid_gains/arm1_05_to_wrist1/i: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/arm1_05_to_wrist1/i_clamp: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/arm1_05_to_wrist1/p: 1000.0* /nuclear_robot/gazebo_ros_control/pid_gains/arm1_to_arm1_01/d: 0.1* /nuclear_robot/gazebo_ros_control/pid_gains/arm1_to_arm1_01/i: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/arm1_to_arm1_01/i_clamp: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/arm1_to_arm1_01/p: 1000.0* /nuclear_robot/gazebo_ros_control/pid_gains/arm2_01_to_arm2_02/d: 0.1* /nuclear_robot/gazebo_ros_control/pid_gains/arm2_01_to_arm2_02/i: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/arm2_01_to_arm2_02/i_clamp: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/arm2_01_to_arm2_02/p: 1000.0* /nuclear_robot/gazebo_ros_control/pid_gains/arm2_02_to_arm2_03/d: 0.1* /nuclear_robot/gazebo_ros_control/pid_gains/arm2_02_to_arm2_03/i: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/arm2_02_to_arm2_03/i_clamp: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/arm2_02_to_arm2_03/p: 1000.0* /nuclear_robot/gazebo_ros_control/pid_gains/arm2_03_to_arm2_04/d: 0.1* /nuclear_robot/gazebo_ros_control/pid_gains/arm2_03_to_arm2_04/i: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/arm2_03_to_arm2_04/i_clamp: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/arm2_03_to_arm2_04/p: 1000.0* /nuclear_robot/gazebo_ros_control/pid_gains/arm2_04_to_arm2_05/d: 0.1* /nuclear_robot/gazebo_ros_control/pid_gains/arm2_04_to_arm2_05/i: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/arm2_04_to_arm2_05/i_clamp: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/arm2_04_to_arm2_05/p: 1000.0* /nuclear_robot/gazebo_ros_control/pid_gains/arm2_05_to_wrist2/d: 0.1* /nuclear_robot/gazebo_ros_control/pid_gains/arm2_05_to_wrist2/i: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/arm2_05_to_wrist2/i_clamp: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/arm2_05_to_wrist2/p: 1000.0* /nuclear_robot/gazebo_ros_control/pid_gains/base_link_to_body/d: 0.1* /nuclear_robot/gazebo_ros_control/pid_gains/base_link_to_body/i: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/base_link_to_body/i_clamp: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/base_link_to_body/p: 1000.0* /nuclear_robot/gazebo_ros_control/pid_gains/body_to_arm1/d: 0.1* /nuclear_robot/gazebo_ros_control/pid_gains/body_to_arm1/i: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/body_to_arm1/i_clamp: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/body_to_arm1/p: 1000.0* /nuclear_robot/gazebo_ros_control/pid_gains/body_to_arm2_01/d: 0.1* /nuclear_robot/gazebo_ros_control/pid_gains/body_to_arm2_01/i: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/body_to_arm2_01/i_clamp: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/body_to_arm2_01/p: 1000.0* /nuclear_robot/gazebo_ros_control/pid_gains/wrist1_to_hand1_01/d: 0.1* /nuclear_robot/gazebo_ros_control/pid_gains/wrist1_to_hand1_01/i: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/wrist1_to_hand1_01/i_clamp: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/wrist1_to_hand1_01/p: 1000.0* /nuclear_robot/gazebo_ros_control/pid_gains/wrist1_to_hand1_02/d: 0.1* /nuclear_robot/gazebo_ros_control/pid_gains/wrist1_to_hand1_02/i: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/wrist1_to_hand1_02/i_clamp: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/wrist1_to_hand1_02/p: 1000.0* /nuclear_robot/gazebo_ros_control/pid_gains/wrist2_to_hand2_01/d: 0.1* /nuclear_robot/gazebo_ros_control/pid_gains/wrist2_to_hand2_01/i: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/wrist2_to_hand2_01/i_clamp: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/wrist2_to_hand2_01/p: 1000.0* /nuclear_robot/gazebo_ros_control/pid_gains/wrist2_to_hand2_02/d: 0.1* /nuclear_robot/gazebo_ros_control/pid_gains/wrist2_to_hand2_02/i: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/wrist2_to_hand2_02/i_clamp: 0.0* /nuclear_robot/gazebo_ros_control/pid_gains/wrist2_to_hand2_02/p: 1000.0* /nuclear_robot/joint_state_controller/publish_rate: 50* /nuclear_robot/joint_state_controller/type: joint_state_contr...* /robot_description:
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
