Where are the screw joints in Indigo?
Hi,
I'm trying to use screw joints in indigo, but i'm getting an error saying that 'screw' is an unknown joint type.
Thanks
ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
Hi,
I'm trying to use screw joints in indigo, but i'm getting an error saying that 'screw' is an unknown joint type.
Thanks
The joint types supported by URDF are (from wiki/urdf/XML/joint - Attributes):
It would appear that SDF (Gazebo's modelling format) does support them (and they are used in ROS (see this answer by John Hsu for example), but this has not been mirrored in / ported to URDF.
Seems torso.gazebo.urdf uses screw
type joints. It places them inside gazebo
tags, so that would probably work.
<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> <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>
<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.
Asked: 2015-03-11 19:05:35 -0500
Seen: 549 times
Last updated: Mar 30 '20
Using XACRO for Generating URDF Files
Visualizing continuous and revolute joint types in rviz
How to add Kinect sensor input to a URDF model?
Has there been progress for URDF transform jitter in RVIZ?
How to check xacro syntax like check_urdf?
Simulating multi-wheel vehicles in Gazebo
Looking for something like this in gazebo/ros:
https://www.youtube.com/watch?v=FUz-v...