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

 

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