Joint not able to move after adding

asked 2020-04-15 11:26:30 -0600

Daniel Harvey gravatar image

I tried to make my own URDF model consist of tripod and lidar mounted 90 degrees. My intension is to move the joint between base_link and laser_link. I was able to move joint continuously, but after I adding gazebo laser plugin, the joint was not able to move anymore.

I got a warning that not appear before I adding gazebo laser plugin.

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

The model is spawning and the laser scan is performed successfully. But not the joint. Yes, I already install ros-kinetic-gazebo-ros-control, ros-kinetic-gazebo-ros-controller

For the record, here is my urdf.xacro code:

<?xml version="1.0" ?>

<robot name="laser_urdf" xmlns:xacro="" >
    <xacro:property name="M_PI" value="3.1415926535897931" />

    <!-- Includes -->
    <xacro:include filename="$(find laser_urdf)/urdf/link_joints.xacro" />
    <m_link_box name="base_link"
                origin_rpy="0 0 0" origin_xyz="0 0 0"
                ixx="170.667" ixy="0" ixz="0"
                iyy="170.667" iyz="0"
                size="0.07 0.07 0.2" />

    <m_joint name="laser_joint" type="continuous" 
                axis_xyz="1 0 0"
                origin_rpy="0 ${-M_PI/2} 0" origin_xyz="0 0 0.135"
                child="laser_link" />

    <m_link_mesh name="laser_link"
              origin_rpy="0 0 0" origin_xyz="0 0 0"
              ixx="2.632e-4" ixy="0" ixz="0"
              iyy="2.632e-4" iyz="0"
              meshfile="package://hector_sensors_description/meshes/hokuyo_utm30lx/hokuyo_utm_30lx$(optenv TEST_SELF_FILTER).dae"
              meshscale="1 1 1" />

        <plugin name="gazebo_ros_control" filename="">

    <gazebo reference="laser_link">
        <sensor type="ray" name="hokuyo_utm_30lx">
            <pose>0 0 0 0 0 0</pose>
                        <min_angle>${-135 * M_PI/180}</min_angle>
                        <max_angle>${135 * M_PI/180}</max_angle>

            <plugin name="gazebo_ros_hokuyo_controller" filename="">


If you wondering I make my own xacro macro:

<?xml version="1.0" ?>
<robot xmlns:xacro="">

    <xacro:macro name="m_joint" params="name type axis_xyz origin_rpy origin_xyz parent child">
        <joint name="${name}" type="${type}">
            <axis xyz="${axis_xyz}" />
            <origin rpy="${origin_rpy}" xyz="${origin_xyz}" />
            <parent link="${parent}" />
            <child link="${child}" />

        <transmission name="trans_${name}">
            <joint name="${name}">
                <!-- <hardwareInterface>EffortJointInterface</hardwareInterface> -->
            <actuator name="motor_${name}">
                <!-- <hardwareInterface>EffortJointInterface</hardwareInterface> -->
                <!-- <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> -->


    <xacro:macro name="m_link_cylinder" params="name origin_xyz origin_rpy radius length mass ixx ixy ixz iyy iyz izz">
        <link name="${name}">
                <mass value="${mass}" />
                <origin rpy="${origin_rpy}" xyz="${origin_xyz}" />
                <inertia ixx="${ixx}" ixy="${ixy}" ixz="${ixz}" iyy="${iyy}" iyz="${iyz}" izz="${izz}" />
                <origin rpy="${origin_rpy}" xyz="${origin_xyz}" />
                <cylinder radius ...
edit retag flag offensive close merge delete