ROS中运行gazebo控制机器人模型报错总结

邮差的信 提交于 2020-03-05 13:49:54

Ubuntu16.04

ROS版本kinect

1.无法启动类型为[controller_ manager/spawner]的节点:controller_ manager

ERROR: cannot launch node of type [controller_manager/spawner]: controller_manager
ROS path [0]=/opt/ros/kinetic/share/ros
ROS path [1]=/home/lym/catkin_ws/src
ROS path [2]=/opt/ros/kinetic/share

解决办法:安装controller_manager

sudo apt install ros-kinetic-controller-manager

2.控制器生成程序找不到预期的控制器管理器ROS接口

[WARN] [1583374635.458421, 19.204000]: Controller Spawner couldn't find the expected controller_manager ROS interface.

解决办法

sudo apt-get install ros-kinetic-gazebo-ros-control

3.使用DefaultRobothSim时,GazeboRosControlPlugin缺少<legacyModeNS>,默认为true

[ERROR] [1583374806.936516021, 0.132000000]: 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.

解决办法

在当前的工作空间目录下找到以.gazebo.urdf.xacro为结尾的文件,gedit编辑器打开后添加一行

<legacyModeNS>true</legacyModeNS>

修改后的xml结构如下

 <gazebo>
     <plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so">
       <robotNamespace>/port_robot</robotNamespace>
        <legacyModeNS>true</legacyModeNS>
     </plugin>
  </gazebo>

4.无法加载控制器“关节状态控制器”,因为控制器类型“关节状态控制器/JointStateController”不存在

[ERROR] [1583374807.304101616, 0.332000000]: Could not load controller 'joint_state_controller' because controller type 'joint_state_controller/JointStateController' does not exist.

解决办法

sudo apt-get install ros-kinetic-joint-state-controller

5.无法加载控制器“关节位置控制器”,因为控制器类型“关节位置控制器/JointPositionController”不存在

[ERROR] [1583374808.308626637, 1.192000000]: Could not load controller 'shoulder_joint1_position_controller' because controller type 'effort_controllers/JointPositionController' does not exist.

解决办法

sudo apt-get install ros-kinetic-position-controllers

6.ros的另外一些控制器插件安装

sudo apt-get install ros-kinetic-effort-controllers
sudo apt-get install ros-kinetic-joint-trajectory-controller

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!