Ошибка в ROS: Диспетчер контроллеров не смог найти ожидаемый интерфейс ROS controller_manager

Я получаю эту ошибку:

[WARN] [1549645986.850056, 54.996000]: контроллер Spawner не смог найти ожидаемый интерфейс ROS controller_manager

при запуске urdf в беседке. Я использую ROS Kinetic и везде искал решение этой ошибки, но не смог его найти. Аналогичный вопрос задается здесь. Я сделал все, что предлагается в этой ссылке и libjoint_state_controller.so файл присутствует в opt/ros/kinetic/lib. Я добавил плагин беседки в моем .xacro файл.

<gazebo>
 <plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so">
  <robotNamespace>/mushak</robotNamespace>
  <robotParam>/mushak/robot_description</robotParam>
 </plugin>
</gazebo>

Это .launch файл:

<?xml version="1.0" encoding="UTF-8"?>
<launch>
 <group ns="/mushak"> 
  <param name="robot_description" command="$(find xacro)/xacro --inorder '$(find mushak_pkg)/urdf/mushak_model.xacro'" />
  <arg name="x" default="0"/>
  <arg name="y" default="0"/>
  <arg name="z" default="0.2412"/>

  <!-- Spawn the robot model -->
  <node name="mybot_spawn" pkg="gazebo_ros" type="spawn_model" output="screen"
      args="-urdf -param robot_description -model mushak -x $(arg x) -y $(arg y) -z $(arg z)" />

  <!-- Load controllers -->
  <rosparam command="load" file="$(find mushak_pkg)/config/config.yaml" />

  <!-- Controllers -->

  <node name="controller_spawner" pkg="controller_manager" type="spawner"
    respawn="false" output="screen" ns="/mushak"
    args="
    joint_state_controller
    joint1_position_controller
    joint2_position_controller
    joint3_position_controller
    joint4_position_controller
    joint5_position_controller
    joint6_position_controller
    --timeout 50
    ">
  </node>

  <node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher"
    respawn="false" output="screen">
      <remap from="/joint_states" to="/mushak/joint_states" />
  </node>

 </group>

</launch>

Модель открывается в rviz без каких-либо ошибок. Ниже приведен вывод при запуске rospack find joint_state_controller,

/ Опт / ROS / кинетический / доля / joint_state_controller

Кроме того, в терминале, в котором работает Gazebo, отображается следующая ошибка:

[ОШИБКА] [1550681387.800721476, 9.313000000]: отсутствует параметр GazeboRosControlPlugin при использовании DefaultRobotHWSim, по умолчанию используется значение true. Этот параметр предполагает, что у вас есть старый пакет со старой реализацией DefaultRobotHWSim, где robotNamespace не учитывается и вместо него используются абсолютные пути. Если вы не хотите исправлять эту проблему в старом пакете, просто установите значение true.

Я добавил передачи для всех суставов:

   <transmission name="trans_${name}">
      <type>transmission_interface/SimpleTransmission</type>
      <joint name="${name}">
        <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
      </joint>
      <actuator name="motor_${name}">
        <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
        <mechanicalReduction>1</mechanicalReduction>
      </actuator>
    </transmission>

Может кто-нибудь помочь мне с этим, пожалуйста!

0 ответов

Другие вопросы по тегам