Gazebo | Ignition | Community
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

FT Sensor shows zero values

Hello,

I am working on an implementation of a FT sensor using Gazebo 2.2, ROS Indigo and Ubuntu 14.04. I have written my SDF model like follows:

<?xml version="1.0"?>
<sdf version="1.4">

    <model name="pillar">
        <static>false</static>

        <link name="obstacle">
            <visual name = "obVis">
                <pose>0 -0.4 1.14 0 0 0</pose>
                <geometry>
                    <box> 
                    <size>  0.042 0.042 0.74 </size>
                    </box>
                </geometry>

                <material name = "obMat">
                    <ambient> 0 0 .8 1</ambient>
                </material>
            </visual>

                <collision name = "obCOl" >
                <pose>0 -0.4 1.14 0 0 0</pose>
                <geometry>
                    <box> 
                        <size>  0.042 0.042 0.74 </size>
                    </box>
                </geometry>
                </collision>      
        </link>

         <link name="ftBase">
            <visual name = "ftBaseVis">
                <pose>0 -0.358 1.3 0 0 0</pose>
                <geometry>
                    <box> 
                        <size>  0.042 0.042 0.042 </size>
                    </box>

                </geometry>
                <material name = "ftBaseMat">
                    <ambient> 0 0 .8 1</ambient>
                </material>
            </visual>

            <collision name = "ftBaseCol" >
                <pose>0 -0.358 1.3 0 0 0</pose>
                <geometry>
                    <box> 
                        <size>  0.042 0.042 0.042 </size>
                    </box>
                </geometry>
            </collision>
          </link>

        <link name="ftButton">
            <visual name = "ftButtonVis">
                <pose>0 -0.332 1.3 1.5708 0 0</pose>
                <geometry>
                    <cylinder>
                        <radius> 0.01 </radius>
                        <length> 0.01 </length>
                    </cylinder>
                </geometry>
                <material name = "ftButtonMat">
                    <ambient> 0 0 .8 1</ambient>
                </material>
            </visual>

            <collision name = "ftButtonCol" >
                <pose>0 -0.332 1.3 1.5708 0 0</pose>
                <geometry>
                    <cylinder>
                        <radius> 0.01 </radius>
                        <length> 0.01 </length>
                    </cylinder>
                </geometry>
            </collision>
        </link>


        <joint name="obstacle_ftBase_joint" type="prismatic">
            <physics>
                <provide_feedback> true </provide_feedback>
                <ode>
                    <provide_feedback> true </provide_feedback>
                </ode>
            </physics>
            <parent>  ftBase  </parent>
            <child>  obstacle  </child>
            <axis>
                <xyz>0 0 1</xyz>
            </axis>
            <limit>
                <lower> 0 </lower>
                <upper> 0 </upper>
            </limit>
        </joint>

        <joint name="ftBase_ftButton_joint" type="revolute"> 
            <parent> ftBase  </parent>
            <child>  ftButton   </child>
            <axis>
                <xyz>0 0 1</xyz>
            </axis>
            <limit>
                <lower> 0 </lower>
                <upper> 0 </upper>
            </limit>
        </joint>


        <plugin name="ft_sensor" filename="libgazebo_ros_ft_sensor.so">
            <alwaysOn> true </alwaysOn>
            <updateRate>10.0</updateRate>
            <topicName>ft_sensor</topicName>
            <jointName>obstacle_ftBase_joint</jointName>
        </plugin>


    </model>
</sdf>

This spawns a pillar with a button . I want to measure the force applied to the pillar when the robot collides with it. I use rostopic echo /ft_sensor to view the forces. While I can see the topic and the corresponding WrenchStamped message, I hit the pillar with the robot and the forces are always zero. I have tried

  1. using different plugins (gazebo_ros_f3d)item
  2. using the force_torque SDF sensor
  3. using different joints and links as measurement sources
  4. implementation of the whole environment in URDF instead of SDF.

    I have seen similar questions related to FT implementation asked online, but the closest I get is to view the topic with zero forces.

I would be thankful for any suggestions. Thanks!