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 | Q&A answers.ros.org |
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.
Please start posting anonymously - your entry will be published after you log in or create a new account.
Asked: 2015-03-11 19:05:35 -0600
Seen: 418 times
Last updated: Mar 30 '20
Trouble while launching turtlebot_simulator [closed]
Unable to convert URDF to sdf to use in Gazebo, but works fine in Rviz
'base_footprint' vanished on converting urdf to sdf
Importing an STL file into Rviz
read the sensor data of gazebo - sdf model in ROS
modify the URDF and kinect position turtlebot
What's the correct way to load mesh files in Gazebo and Rviz?
Looking for something like this in gazebo/ros:
https://www.youtube.com/watch?v=FUz-v...