ROS 使用 gazebo 仿真时遇到的问题

问题一:

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)修改后解决。修改部分如图所示:

ROS 使用 gazebo 仿真时遇到的问题_第1张图片


问题二:

[ERROR] [1590542381.200538125, 0.266000000]: GazeboRosControlPlugin missing 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 to true.

该问题是功能包版本问题。

解决方法:在机械臂的 urdf 描述文件中,对 gazebo 插件描述添加 true 可以解决

如图所示:

ROS 使用 gazebo 仿真时遇到的问题_第2张图片


问题三:

机械臂在 gazebo 中抖动问题:

主要是机械臂的物理参数设置问题,例如惯性矩阵、质量等参数。在不考虑物理属性的前提下,将质量设置为较小值,惯性矩阵设置为较大的值。可以参考已有模型,如 ur 系列机械臂。


问题四:

可能是 MoveIt! 控制器命名空间与机械臂控制器插件命名空间不对应。


问题五:

KDL 算法不支持根连杆(root link)带惯性属性,将根连杆惯性属性注释掉。

你可能感兴趣的:(菜鸡的ROS之路)