Home | Tutorials | Wiki | Issues
Ask Your Question
0

Adding big sensor throws: controller spawner couldn't find the expected controller_manager ROS interface ERROR

asked 2016-11-23 07:58:51 -0500

Franzisdrak gravatar image

updated 2016-11-23 09:52:27 -0500

nkoenig gravatar image

Hello everyone,

i am currently developing a robot with Ros Controllers and i can control it without any problems.

As soon, as i start attaching 2 laser scanner to my robot. I get the error: "controller spawner couldn't find the expected controller_manager ROS interface".

Could it be, that the process of loading the sensors takes too long? So the controller_manager shuts down?

Important parts of launch-file:

<launch>
  <!--  start gazebo client -->
  <group if="$(arg gui)">
    <node name="gazebo_gui" pkg="gazebo_ros" type="gzclient" respawn="false" output="screen" args="--verbose"/>
  </group>

  <!-- Load universal robotic description format (URDF)  -->
  <param name="robot_description" command="$(find xacro)/xacro.py '$(arg robot_model)' tf_prefix:='$(arg tf_prefix)' ns:='$(arg robot_ns)' with_Sensor:=$(arg with_Sensor) Sensor_setting:=$(arg Sensor_setting)" />

  <group ns="$(arg robot_ns)">

    <!-- Load universal robotic description format (URDF) -->
    <param name="robot_description" command="$(find xacro)/xacro.py '$(arg robot_model)' tf_prefix:='$(arg tf_prefix)' with_Sensor:=$(arg with_Sensor) Sensor_setting:=$(arg Sensor_setting)" />

    <!-- spawn model in gazebo -->
    <node name="spawn_robot_model" pkg="gazebo_ros" type="spawn_model"
      args="-param robot_description
      -urdf
      -x $(arg pos_x)
      -y $(arg pos_y)
      -z $(arg pos_z)
      -Y $(arg yaw)
      -model $(arg robot_name)"
      respawn="false" output="screen"/>

    <!-- start controller -->
    <include file="$(find vehicle_description)/launch/control/vehicle_control_effort.launch">
      <arg name="robot_ns" value="$(arg robot_ns)" />
      <arg name="tf_prefix" value="$(arg tf_prefix)" />
      <arg name="control_param_file" value="$(arg control_param_file)"/>
    </include>

  </group>

</launch>

In the Xacro i load the sensors via:

<xacro:macro name="Sensor_setup" params="with_Sensor Sensor_setting">
      <!-- Integrate Velodyne depending on the selected use case-->
      <xacro:if value="${with_Sensor}">
          <xacro:unless value="${Sensor_setting}"> <!-- Diagonal Setup -->
            <xacro:static_velodyne_puck_vlp16 parent="$(arg tf_prefix)base_link" identifier="1"   x="-${length/2}"   y="${width/2}"   z="${height}"   roll="0" pitch="0.0" yaw="0.0"/>
            <xacro:static_velodyne_puck_vlp16 parent="$(arg tf_prefix)base_link" identifier="2"   x="${length/2}"   y="-${width/2}"   z="${height}"   roll="0" pitch="0.0" yaw="0.0"/>
          </xacro:unless>
          <xacro:if value="${Sensor_setting}">      <!-- All Corners Setup -->
            <xacro:static_velodyne_puck_vlp16 parent="$(arg tf_prefix)base_link" identifier="1"   x="-${length/2}"   y="${width/2}"   z="${height}"   roll="0" pitch="0.0" yaw="0.0"/>
            <xacro:static_velodyne_puck_vlp16 parent="$(arg tf_prefix)base_link" identifier="2"   x="${length/2}"   y="-${width/2}"   z="${height}"   roll="0" pitch="0.0" yaw="0.0"/>
            <xacro:static_velodyne_puck_vlp16 parent="$(arg tf_prefix)base_link" identifier="3"   x="-${length/2}"   y="-${width/2}"  z="${height}"   roll="0" pitch="0.0" yaw="0.0"/>
            <xacro:static_velodyne_puck_vlp16 parent="$(arg tf_prefix)base_link" identifier="4"   x="${length/2}"   y="${width/2}"    z="${height}"   roll="0" pitch="0.0" yaw="0.0"/>
          </xacro:if>
      </xacro:if>
  </xacro:macro>

 <xacro:Sensor_setup with_Sensor="$(arg with_Sensor)" Sensor_setting="$(arg Sensor_setting)" />
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2016-11-23 10:03:29 -0500

nkoenig gravatar image

Multiple complex sensors load in Gazebo (take Atlas, Valkyrie, and PR2 as examples).

This is likely a problem with your configuration. I don't think you should have two robot_descriptionelements. Given that ROS is failing, you might want to ask answers.ros.org.

edit flag offensive delete link more
Login/Signup to Answer

Question Tools

2 followers

Stats

Asked: 2016-11-23 07:58:51 -0500

Seen: 1,459 times

Last updated: Nov 23 '16