问题一:
No p gain specified for pid. Namespace: /gazebo_ros_control/pid_gains/joint1
据说这条错误提示可以忽略。
通过配置 pid 可以解决,本人参考https://git.univ-bpclermont.fr/laurent.malaterre/local_a7/blob/25304fd5391af87a951e04e36239e885798d7911/ipcar_robot/config/controllers.yaml 中的方法对机械臂仿真配置文件(arm_gazebo_control.yaml)修改后解决。修改部分如图所示:
问题二:
[ERROR] [1590542381.200538125, 0.266000000]: GazeboRosControlPlugin missing <legacyModeNS> while using DefaultRobotHWSim, defaults to true.
This setting assumes you have an old package with an old implementation of DefaultRobotHWSim, where the robotNamespace is disregarded and absolute paths are used instead.
If you do not want to fix this issue in an old package just set <legacyModeNS> to true.
该问题是功能包版本问题。
解决方法:在机械臂的 urdf 描述文件中,对 gazebo 插件描述添加 <legacyModeNS>true</legacyModeNS> 可以解决
如图所示:
问题三:
机械臂在 gazebo 中抖动问题:
主要是机械臂的物理参数设置问题,例如惯性矩阵、质量等参数。在不考虑物理属性的前提下,将质量设置为较小值,惯性矩阵设置为较大的值。可以参考已有模型,如 ur 系列机械臂。
问题四:
可能是 MoveIt! 控制器命名空间与机械臂控制器插件命名空间不对应。
问题五:
KDL 算法不支持根连杆(root link)带惯性属性,将根连杆惯性属性注释掉。