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

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

7.ResourceNotFound: rosbridge_server

sudo apt-get install ros-kinetic-rosbridge-server

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章