FT Sensor shows zero forces

asked 2017-02-19 18:37:11 -0600

NikMavr gravatar image

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!

edit retag flag offensive close merge delete

Comments

I'm tempted to close this question and refer you to answers.gazebosim.org, as I feel you'll have better luck getting good answers there.

Have you already posted a question on the Gazebo Answers site?

gvdhoorn gravatar imagegvdhoorn ( 2017-02-20 02:52:06 -0600 )edit

Hello, I haven't posted anything there, but I will. If you feel it should not be here then close it, but nevertheless I would appreciate if any help comes from either site.

NikMavr gravatar imageNikMavr ( 2017-02-20 05:44:19 -0600 )edit

Well, the ppl over at answers.gazebosim.org are Gazebo experts, we're 'just' users.

I'm happy to leave your question open, but I do feel that you'll have a better chance of getting good answers over at Gazebo Answers.

gvdhoorn gravatar imagegvdhoorn ( 2017-02-20 07:44:07 -0600 )edit