Joint does not stop sliding
Hi, I have created a model of the sliding door in gazebo. This is the code:
<?xml version="1.0" ?>
<robot name="door_balcony">
<gazebo reference="base_bac">
<material>Gazebo/GrassFloor</material>
</gazebo>
<link name="world"/>
<joint name="link_joint_bac" type="prismatic">
<axis xyz="-1 0 0"/>
<parent link="world"/>
<origin rpy="0 0 1.57" xyz="10.615 6.25 1.06"/>
<limit effort="10.0" lower="-0" upper="0.8" velocity="0.5"/>
<child link="link_bac"/>
<dynamics damping="1" friction="10"/>
</joint>
<link name="link_bac">
<inertial>
<mass value="10"/>
<origin xyz="0 0 0"/>
<inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="0.1" iyz="0.0" izz="0.1"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<box size="0.8 0.06 2"/>
</geometry>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<box size="0.8 0.06 2"/>
</geometry>
</collision>
</link>
<gazebo reference="link_bac">
<material>Gazebo/RustySteel</material>
<turnGravityOff>true</turnGravityOff>
</gazebo>
</robot>
When I apply the joint effort it starts sliding from lower to higher limits.
rosservice call gazebo/apply_joint_effort '{joint_name: link_joint_bac, effort: 1, start_time: 10000000000, duration: 100000000}'
But when delete the joint force right at the time when the door is fully open, It does not stop sliding.
rosservice call gazebo/clear_joint_forces '{joint_name: link_joint_bac}'
Is there a mistake in my understanding or code ? Is there any other way to start and stop joint motion in gazebo ?
Thanks!