ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version
<?xml version="1.0" encoding="utf-8"?> 
<robot name="pr2">
<link name="base_link">
<inertial>
  <mass value="116.0"/>
  <origin xyz="-0.061 0.0 0.1465"/>
  <inertia ixx="5.652232699207" ixy="-0.009719934438" ixz="1.293988226423" iyy="5.669473158652" iyz="-0.007379583694" izz="3.683196351726"/>
</inertial>
<visual>
  <origin rpy="0 0 0" xyz="0 0 0"/>
  <geometry>
    <mesh filename="package://pr2_description/meshes/base_v0/base.dae"/>
  </geometry>
  <material name="White"/>
</visual>
<collision>
  <origin rpy="0 0 0" xyz="0 0 0"/>
  <geometry>
    <mesh filename="package://pr2_description/meshes/base_v0/base_L.stl"/>
  </geometry>
</collision>

</link> <joint name="torso_lift_joint" type="prismatic"> <axis xyz="0 0 1"/> <limit effort="10000" lower="0.0" upper="0.33" velocity="0.013"/> <safety_controller k_position="100" k_velocity="2000000" soft_lower_limit="0.0115" soft_upper_limit="0.325"/> <calibration falling="0.00475"/> <dynamics damping="20000.0"/> <origin rpy="0 0 0" xyz="-0.05 0 0.739675"/> <parent link="base_link"/> <child link="torso_lift_link"/> </joint>

<?xml version="1.0" encoding="utf-8"?> 

<robot name="pr2"> <link name="base_link"> <inertial> <mass value="116.0"/> <origin xyz="-0.061 0.0 0.1465"/> <inertia ixx="5.652232699207" ixy="-0.009719934438" ixz="1.293988226423" iyy="5.669473158652" iyz="-0.007379583694" izz="3.683196351726"/> </inertial> <visual> <origin rpy="0 0 0" xyz="0 0 0"/> <geometry> <mesh filename="package://pr2_description/meshes/base_v0/base.dae"/> </geometry> <material name="White"/> </visual> <collision> <origin rpy="0 0 0" xyz="0 0 0"/> <geometry> <mesh filename="package://pr2_description/meshes/base_v0/base_L.stl"/> </geometry> </collision>

</link> <joint name="torso_lift_joint" type="prismatic"> <axis xyz="0 0 1"/> <limit effort="10000" lower="0.0" upper="0.33" velocity="0.013"/> <safety_controller k_position="100" k_velocity="2000000" soft_lower_limit="0.0115" soft_upper_limit="0.325"/> <calibration falling="0.00475"/> <dynamics damping="20000.0"/> <origin rpy="0 0 0" xyz="-0.05 0 0.739675"/> <parent link="base_link"/> <child link="torso_lift_link"/> </joint> </joint> <link name="torso_lift_link"> <inertial> <mass value="36.248046"/> <origin xyz="-0.1 0 -0.0885"/> <inertia ixx="2.771653750257" ixy="0.004284522609" ixz="-0.160418504506" iyy="2.510019507959" iyz="0.029664468704" izz="0.526432355569"/> </inertial> <visual> <origin rpy="0 0 0" xyz="0 0 0"/> <geometry> <mesh filename="package://pr2_description/meshes/torso_v0/torso_lift.dae"/> </geometry> <material name="Grey2"/> </visual> <collision name="torso_lift_collision"> <origin rpy="0 0 0" xyz="0 0 0"/> <geometry> <mesh filename="package://pr2_description/meshes/torso_v0/torso_lift_L.stl"/> </geometry> </collision> </link> <link name="torso_lift_motor_screw_link"> <inertial> <mass value="1.0"/> <origin rpy="0 0 0" xyz="0 0 0"/> <inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/> </inertial> <visual> <origin xyz="0 0 0" rpy="0 0 0"/> <geometry> <box size="0.5 0.7 0.01"/> </geometry> </visual> <collision> <origin xyz="0 0 0" rpy="0 0 0"/> <geometry> <box size="0.5 0.7 0.01"/> </geometry> </collision> </link> <joint name="torso_lift_motor_screw_joint" type="continuous"> <origin xyz="-0.15 0.0 0.7"/> <axis xyz="0 0 1"/> <parent link="base_link"/> <child link="torso_lift_motor_screw_link"/> <dynamics damping="0.0001"/> </joint> <gazebo> <joint name="torso_lift_screw_torso_lift_joint" type="screw"> <parent>torso_lift_link</parent> <child>torso_lift_motor_screw_link</child> <axis> <xyz>0 0 1</xyz> </axis> <thread_pitch>3141.6</thread_pitch> </joint> </gazebo> <transmission name="torso_lift_trans" type="pr2_mechanism_model/SimpleTransmission"> <actuator name="torso_lift_motor"/> <joint name="torso_lift_joint"/> <mechanicalreduction>-47641.53</mechanicalreduction> <simulated_actuated_joint name="torso_lift_motor_screw_joint" simulated_reduction="3141.6"/> </transmission> </robot>

This is the filtered out code from pr2.urdf for realising the usage of screw joint in torso. This screw joint lifts the torso from the base_link , visual for the screw is a cuboid.

Hope this helps in understanding the implementation of screw joint.

<robot name="pr2"> <link name="base_link"> <inertial> <mass value="116.0"/> <origin xyz="-0.061 0.0 0.1465"/> <inertia ixx="5.652232699207" ixy="-0.009719934438" ixz="1.293988226423" iyy="5.669473158652" iyz="-0.007379583694" izz="3.683196351726"/> </inertial> <visual> <origin rpy="0 0 0" xyz="0 0 0"/> <geometry> <mesh filename="package://pr2_description/meshes/base_v0/base.dae"/> </geometry> <material name="White"/> </visual> <collision> <origin rpy="0 0 0" xyz="0 0 0"/> <geometry> <mesh filename="package://pr2_description/meshes/base_v0/base_L.stl"/> </geometry> </collision> </link> </link>

 <joint name="torso_lift_joint" type="prismatic">
    <axis xyz="0 0 1"/>
    <limit effort="10000" lower="0.0" upper="0.33" velocity="0.013"/>
     <!-- alpha tested velocity and effort limits -->
     <safety_controller k_position="100" k_velocity="2000000" soft_lower_limit="0.0115" soft_upper_limit="0.325"/>
     <calibration falling="0.00475"/>
     <dynamics damping="20000.0"/>
     <origin rpy="0 0 0" xyz="-0.05 0 0.739675"/>
     <parent link="base_link"/>
    <child link="torso_lift_link"/>
 </joint>
   <link name="torso_lift_link">
 <inertial>
   <mass value="36.248046"/>
   <origin xyz="-0.1 0 -0.0885"/>
   <inertia ixx="2.771653750257" ixy="0.004284522609" ixz="-0.160418504506" iyy="2.510019507959" iyz="0.029664468704" izz="0.526432355569"/>
 </inertial>
 <visual>
   <origin rpy="0 0 0" xyz="0 0 0"/>
   <geometry>
     <mesh filename="package://pr2_description/meshes/torso_v0/torso_lift.dae"/>
   </geometry>
      <material name="Grey2"/>
    </visual>
 <collision name="torso_lift_collision">
   <origin rpy="0 0 0" xyz="0 0 0"/>
   <geometry>
     <mesh filename="package://pr2_description/meshes/torso_v0/torso_lift_L.stl"/>
   </geometry>
 </collision>
 </link>
 
  <!-- actuated motor screw joint -->
<link name="torso_lift_motor_screw_link">
   <inertial>
     <mass value="1.0"/>
     <origin rpy="0 0 0" xyz="0 0 0"/>
     <inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
   </inertial>
  <visual>
     <origin xyz="0 0 0" rpy="0 0 0"/>
    0" />
    <geometry>
       <box size="0.5 0.7 0.01"/>
    0.01" />
    </geometry>
   </visual>
   <collision>
     <origin xyz="0 0 0" rpy="0 0 0"/>
    0" />
    <geometry>
       <box size="0.5 0.7 0.01"/>
    0.01" />
    </geometry>
    </collision>
    </link>
        <joint name="torso_lift_motor_screw_joint" type="continuous">
       <origin xyz="-0.15 0.0 0.7"/>
       <axis xyz="0 0 1"/>
       <parent link="base_link"/>
       <child link="torso_lift_motor_screw_link"/>
       <dynamics damping="0.0001"/>
     </joint>
         <gazebo>
      <joint name="torso_lift_screw_torso_lift_joint" type="screw">
         <parent>torso_lift_link</parent>
        <child>torso_lift_motor_screw_link</child>
        <axis>
        <xyz>0 0 1</xyz>
        </axis>
          <thread_pitch>3141.6</thread_pitch>
         </joint>
       </gazebo>
         <transmission name="torso_lift_trans" type="pr2_mechanism_model/SimpleTransmission">
          <actuator name="torso_lift_motor"/>
           <joint name="torso_lift_joint"/>
              <mechanicalreduction>-47641.53</mechanicalreduction>
    <mechanicalReduction>-47641.53</mechanicalReduction>
            <simulated_actuated_joint name="torso_lift_motor_screw_joint" simulated_reduction="3141.6"/>
         </transmission>
          </robot>

</robot>

This is the filtered out code from pr2.urdf for realising the usage of screw joint in torso. This screw joint lifts the torso from the base_link , visual for the screw is a cuboid.

Hope this helps in understanding the implementation of screw joint.

<robot name="pr2"> <link name="base_link"> <inertial> <mass value="116.0"/> <origin xyz="-0.061 0.0 0.1465"/> <inertia ixx="5.652232699207" ixy="-0.009719934438" ixz="1.293988226423" iyy="5.669473158652" iyz="-0.007379583694" izz="3.683196351726"/> </inertial> <visual> <origin rpy="0 0 0" xyz="0 0 0"/> <geometry> <mesh filename="package://pr2_description/meshes/base_v0/base.dae"/> </geometry> </visual> <collision> <origin rpy="0 0 0" xyz="0 0 0"/> <geometry> <mesh filename="package://pr2_description/meshes/base_v0/base_L.stl"/> </geometry> </collision> </link>

 </link>
       <joint name="torso_lift_joint" type="prismatic">
     <axis xyz="0 0 1"/>
     <limit effort="10000" lower="0.0" upper="0.33" velocity="0.013"/>
    <!-- alpha tested velocity and effort limits -->
      <safety_controller k_position="100" k_velocity="2000000" soft_lower_limit="0.0115" soft_upper_limit="0.325"/>
      <calibration falling="0.00475"/>
      <dynamics damping="20000.0"/>
      <origin rpy="0 0 0" xyz="-0.05 0 0.739675"/>
      <parent link="base_link"/>
     <child link="torso_lift_link"/>
</joint>

    </joint>

 <link name="torso_lift_link">
<inertial>
  <mass value="36.248046"/>
  <origin xyz="-0.1 0 -0.0885"/>
  <inertia ixx="2.771653750257" ixy="0.004284522609" ixz="-0.160418504506" iyy="2.510019507959" iyz="0.029664468704" izz="0.526432355569"/>
</inertial>
<visual>
  <origin rpy="0 0 0" xyz="0 0 0"/>
  <geometry>
    <mesh filename="package://pr2_description/meshes/torso_v0/torso_lift.dae"/>
  </geometry>
 </visual>
<collision name="torso_lift_collision">
  <origin rpy="0 0 0" xyz="0 0 0"/>
  <geometry>
    <mesh filename="package://pr2_description/meshes/torso_v0/torso_lift_L.stl"/>
  </geometry>
</collision>
</link>

  <!-- actuated motor screw joint -->
<link name="torso_lift_motor_screw_link">
  <inertial>
    <mass value="1.0"/>
    <origin rpy="0 0 0" xyz="0 0 0"/>
    <inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
  </inertial>
 <visual>
    <origin xyz="0 0 0" rpy="0 0 0" />
    <geometry>
      <box size="0.5 0.7 0.01" />
    </geometry>
  </visual>
  <collision>
    <origin xyz="0 0 0" rpy="0 0 0" />
    <geometry>
      <box size="0.5 0.7 0.01" />
    </geometry>
   </collision>
   </link>


      <joint name="torso_lift_motor_screw_joint" type="continuous">
      <origin xyz="-0.15 0.0 0.7"/>
      <axis xyz="0 0 1"/>
      <parent link="base_link"/>
      <child link="torso_lift_motor_screw_link"/>
      <dynamics damping="0.0001"/>
    </joint>


       <gazebo>
     <joint name="torso_lift_screw_torso_lift_joint" type="screw">
        <parent>torso_lift_link</parent>
       <child>torso_lift_motor_screw_link</child>
       <axis>
       <xyz>0 0 1</xyz>
       </axis>
         <thread_pitch>3141.6</thread_pitch>
        </joint>
      </gazebo>

       <transmission name="torso_lift_trans" type="pr2_mechanism_model/SimpleTransmission">
         <actuator name="torso_lift_motor"/>
          <joint name="torso_lift_joint"/>
          <mechanicalReduction>-47641.53</mechanicalReduction>
            <simulated_actuated_joint name="torso_lift_motor_screw_joint" simulated_reduction="3141.6"/>
        </transmission>
      </robot>

This is the filtered out code from pr2.urdf for realising the usage of screw joint in torso. This screw joint lifts the torso from the base_link , visual for the screw is a cuboid.

Hope this helps in understanding the implementation of screw joint.