最近在用虚拟机 ubuntu18.04 ros-melodic 学习《ROS机器人开发实践》中的Moveit部分,运行gazebo仿真部分的源码时出现了报错
报错信息:
[ERROR] [1671093720.250605285, 0.367000000]: No p gain specified for pid. Namespace: /arm/gazebo_ros_control/pid_gains/joint1
[ERROR] [1671093720.251394073, 0.367000000]: No p gain specified for pid. Namespace: /arm/gazebo_ros_control/pid_gains/joint2
[ERROR] [1671093720.252025035, 0.367000000]: No p gain specified for pid. Namespace: /arm/gazebo_ros_control/pid_gains/joint3
[ERROR] [1671093720.252637846, 0.367000000]: No p gain specified for pid. Namespace: /arm/gazebo_ros_control/pid_gains/joint4
[ERROR] [1671093720.253241898, 0.367000000]: No p gain specified for pid. Namespace: /arm/gazebo_ros_control/pid_gains/joint5
[ERROR] [1671093720.253777878, 0.367000000]: No p gain specified for pid. Namespace: /arm/gazebo_ros_control/pid_gains/joint6
[ERROR] [1671093720.254317042, 0.367000000]: No p gain specified for pid. Namespace: /arm/gazebo_ros_control/pid_gains/finger_joint1
报错原因就是缺少了pid的增益,详细信息可以看这里
意思其实这个错误可以忽略,不影响仿真控制,但是终端有一段红色,总是不爽的
解决方法:修改 marm_gazebo/config/arm_gazebo_control.yaml
在文件末尾加上这一段代码:
gazebo_ros_control:
pid_gains:
joint1: {p: 100.0, i: 0.01, d: 10.0}
joint2: {p: 100.0, i: 0.01, d: 10.0}
joint3: {p: 100.0, i: 0.01, d: 10.0}
joint4: {p: 100.0, i: 0.01, d: 10.0}
joint5: {p: 100.0, i: 0.01, d: 10.0}
joint6: {p: 100.0, i: 0.01, d: 10.0}
finger_joint1: {p: 100.0, i: 0.01, d: 10.0}