400 lines
15 KiB
XML
400 lines
15 KiB
XML
<?xml version="1.0"?>
|
|
<!-- cadpy:sourcePath=tom_with_gripper.py -->
|
|
<!-- cadpy:sourceHash=a257cc8b633c90af2444119e4da7eb3660d0a2789ba03a5ef6888c67b57e8a67 -->
|
|
<robot name="tom_v2_with_gripper">
|
|
<!-- Generated by models/robots/tom/v2/tom_with_gripper.py. -->
|
|
<!-- Jointed v2 URDF; all visual meshes are 3MF in millimeters with scale 0.001 0.001 0.001. Link inertials use Feetech STS3250 74.5 g / STS3215 55 g masses and 5052 aluminum density for plates/standoffs; gripper inertials use shared Robonine mesh-derived estimates when included. Joint efforts use 50/30 kg-cm stall torque converted to N-m for arm joints; joint velocities use Feetech no-load speed at 12 V converted to rad/s. -->
|
|
<material name="aluminum_5052">
|
|
<color rgba="0.643137 0.670588 0.701961 1" />
|
|
</material>
|
|
<material name="dark_servo">
|
|
<color rgba="0.168627 0.184314 0.2 1" />
|
|
</material>
|
|
<material name="silver_aluminum_alloy">
|
|
<color rgba="0.78 0.8 0.82 1" />
|
|
</material>
|
|
<link name="base_footprint" />
|
|
<link name="base_link">
|
|
<inertial>
|
|
<origin xyz="-0.013353431 0.018724832 -0.000001429" rpy="0 0 0" />
|
|
<mass value="0.084740622" />
|
|
<inertia ixx="0.000017132" ixy="0.000001016" ixz="0" iyy="0.000020565" iyz="0" izz="0.000028114" />
|
|
</inertial>
|
|
<visual>
|
|
<origin xyz="0 0.029432 0" rpy="0 0 0" />
|
|
<geometry>
|
|
<mesh filename="3MF/sts3250.3mf" scale="0.001 0.001 0.001" />
|
|
</geometry>
|
|
<material name="dark_servo" />
|
|
</visual>
|
|
<visual>
|
|
<origin xyz="0 0.0318322 0" rpy="0 0 0" />
|
|
<geometry>
|
|
<mesh filename="3MF/base_plate.3mf" scale="0.001 0.001 0.001" />
|
|
</geometry>
|
|
<material name="aluminum_5052" />
|
|
</visual>
|
|
</link>
|
|
<link name="shoulder_yaw_link">
|
|
<inertial>
|
|
<origin xyz="-0.053955865 0.001259017 -0.000001498" rpy="0 0 0" />
|
|
<mass value="0.08083064" />
|
|
<inertia ixx="0.000013458" ixy="0.000000169" ixz="0" iyy="0.000023608" iyz="0" izz="0.000028834" />
|
|
</inertial>
|
|
<visual>
|
|
<origin xyz="-0.042540999 0.0096 0" rpy="0 0 0" />
|
|
<geometry>
|
|
<mesh filename="3MF/sts3250.3mf" scale="0.001 0.001 0.001" />
|
|
</geometry>
|
|
<material name="dark_servo" />
|
|
</visual>
|
|
<visual>
|
|
<origin xyz="-0.042540999 0.0096 0" rpy="0 0 0" />
|
|
<geometry>
|
|
<mesh filename="3MF/servo_end_mount.3mf" scale="0.001 0.001 0.001" />
|
|
</geometry>
|
|
<material name="aluminum_5052" />
|
|
</visual>
|
|
</link>
|
|
<link name="shoulder_pitch_link">
|
|
<inertial>
|
|
<origin xyz="0 0 -0.018247693" rpy="0 0 0" />
|
|
<mass value="0.007398382" />
|
|
<inertia ixx="0.000001532" ixy="0" ixz="0" iyy="0.000000827" iyz="0" izz="0.000001249" />
|
|
</inertial>
|
|
<visual>
|
|
<origin xyz="0 0.0091 -0.0265" rpy="0 0 0" />
|
|
<geometry>
|
|
<mesh filename="3MF/servo_horn_yoke.3mf" scale="0.001 0.001 0.001" />
|
|
</geometry>
|
|
<material name="aluminum_5052" />
|
|
</visual>
|
|
</link>
|
|
<link name="shoulder_roll_link">
|
|
<inertial>
|
|
<origin xyz="-0.007012151 0 0.079974877" rpy="0 0 0" />
|
|
<mass value="0.190640174" />
|
|
<inertia ixx="0.00101799" ixy="0.000000001" ixz="-0.000061431" iyy="0.001033248" iyz="0.000000019" izz="0.000054962" />
|
|
</inertial>
|
|
<visual>
|
|
<origin xyz="-0.0255 0 -0.0091" rpy="-1.570796327 0 3.141592654" />
|
|
<geometry>
|
|
<mesh filename="3MF/sts3250.3mf" scale="0.001 0.001 0.001" />
|
|
</geometry>
|
|
<material name="dark_servo" />
|
|
</visual>
|
|
<visual>
|
|
<origin xyz="0 0 0.0165" rpy="0 0 3.141592654" />
|
|
<geometry>
|
|
<mesh filename="3MF/link_bracket_right.3mf" scale="0.001 0.001 0.001" />
|
|
</geometry>
|
|
<material name="aluminum_5052" />
|
|
</visual>
|
|
<visual>
|
|
<origin xyz="0 0 0.0165" rpy="0 0 3.141592654" />
|
|
<geometry>
|
|
<mesh filename="3MF/link_bracket_left.3mf" scale="0.001 0.001 0.001" />
|
|
</geometry>
|
|
<material name="aluminum_5052" />
|
|
</visual>
|
|
<visual>
|
|
<origin xyz="-0.011406392 0 0.065639414" rpy="0 0 3.141592654" />
|
|
<geometry>
|
|
<mesh filename="3MF/link_standoff_m3_35.3mf" scale="0.001 0.001 0.001" />
|
|
</geometry>
|
|
<material name="silver_aluminum_alloy" />
|
|
</visual>
|
|
<visual>
|
|
<origin xyz="-0.027135464 0 0.065639414" rpy="0 0 3.141592654" />
|
|
<geometry>
|
|
<mesh filename="3MF/link_standoff_m3_35.3mf" scale="0.001 0.001 0.001" />
|
|
</geometry>
|
|
<material name="silver_aluminum_alloy" />
|
|
</visual>
|
|
<visual>
|
|
<origin xyz="0.009131584 0 0.113691096" rpy="0 0 3.141592654" />
|
|
<geometry>
|
|
<mesh filename="3MF/link_standoff_m3_35.3mf" scale="0.001 0.001 0.001" />
|
|
</geometry>
|
|
<material name="silver_aluminum_alloy" />
|
|
</visual>
|
|
<visual>
|
|
<origin xyz="-0.006006049 0 0.113691096" rpy="0 0 3.141592654" />
|
|
<geometry>
|
|
<mesh filename="3MF/link_standoff_m3_35.3mf" scale="0.001 0.001 0.001" />
|
|
</geometry>
|
|
<material name="silver_aluminum_alloy" />
|
|
</visual>
|
|
<visual>
|
|
<origin xyz="-0.0091 0 0.141" rpy="0 1.570796327 1.570796327" />
|
|
<geometry>
|
|
<mesh filename="3MF/sts3250.3mf" scale="0.001 0.001 0.001" />
|
|
</geometry>
|
|
<material name="dark_servo" />
|
|
</visual>
|
|
</link>
|
|
<link name="elbow_pitch_link">
|
|
<inertial>
|
|
<origin xyz="0 0 -0.018247693" rpy="0 0 0" />
|
|
<mass value="0.007398382" />
|
|
<inertia ixx="0.000001532" ixy="0" ixz="0" iyy="0.000000827" iyz="0" izz="0.000001249" />
|
|
</inertial>
|
|
<visual>
|
|
<origin xyz="0 0.0091 -0.0265" rpy="0 0 0" />
|
|
<geometry>
|
|
<mesh filename="3MF/servo_horn_yoke.3mf" scale="0.001 0.001 0.001" />
|
|
</geometry>
|
|
<material name="aluminum_5052" />
|
|
</visual>
|
|
</link>
|
|
<link name="elbow_roll_link">
|
|
<inertial>
|
|
<origin xyz="-0.008234046 0 0.079714101" rpy="0 0 0" />
|
|
<mass value="0.151640174" />
|
|
<inertia ixx="0.000741394" ixy="0.000000273" ixz="-0.000060941" iyy="0.00075431" iyz="0.000002857" izz="0.000048678" />
|
|
</inertial>
|
|
<visual>
|
|
<origin xyz="-0.0255 0 -0.0091" rpy="-1.570796327 0 3.141592654" />
|
|
<geometry>
|
|
<mesh filename="3MF/sts3215.3mf" scale="0.001 0.001 0.001" />
|
|
</geometry>
|
|
<material name="dark_servo" />
|
|
</visual>
|
|
<visual>
|
|
<origin xyz="0 0 0.0165" rpy="0 0 3.141592654" />
|
|
<geometry>
|
|
<mesh filename="3MF/link_bracket_right.3mf" scale="0.001 0.001 0.001" />
|
|
</geometry>
|
|
<material name="aluminum_5052" />
|
|
</visual>
|
|
<visual>
|
|
<origin xyz="0 0 0.0165" rpy="0 0 3.141592654" />
|
|
<geometry>
|
|
<mesh filename="3MF/link_bracket_left.3mf" scale="0.001 0.001 0.001" />
|
|
</geometry>
|
|
<material name="aluminum_5052" />
|
|
</visual>
|
|
<visual>
|
|
<origin xyz="-0.011406392 0 0.065639414" rpy="0 0 3.141592654" />
|
|
<geometry>
|
|
<mesh filename="3MF/link_standoff_m3_35.3mf" scale="0.001 0.001 0.001" />
|
|
</geometry>
|
|
<material name="silver_aluminum_alloy" />
|
|
</visual>
|
|
<visual>
|
|
<origin xyz="-0.027135464 0 0.065639414" rpy="0 0 3.141592654" />
|
|
<geometry>
|
|
<mesh filename="3MF/link_standoff_m3_35.3mf" scale="0.001 0.001 0.001" />
|
|
</geometry>
|
|
<material name="silver_aluminum_alloy" />
|
|
</visual>
|
|
<visual>
|
|
<origin xyz="0.009131584 0 0.113691096" rpy="0 0 3.141592654" />
|
|
<geometry>
|
|
<mesh filename="3MF/link_standoff_m3_35.3mf" scale="0.001 0.001 0.001" />
|
|
</geometry>
|
|
<material name="silver_aluminum_alloy" />
|
|
</visual>
|
|
<visual>
|
|
<origin xyz="-0.006006049 0 0.113691096" rpy="0 0 3.141592654" />
|
|
<geometry>
|
|
<mesh filename="3MF/link_standoff_m3_35.3mf" scale="0.001 0.001 0.001" />
|
|
</geometry>
|
|
<material name="silver_aluminum_alloy" />
|
|
</visual>
|
|
<visual>
|
|
<origin xyz="-0.0091 0 0.141" rpy="0 1.570796327 1.570796327" />
|
|
<geometry>
|
|
<mesh filename="3MF/sts3215.3mf" scale="0.001 0.001 0.001" />
|
|
</geometry>
|
|
<material name="dark_servo" />
|
|
</visual>
|
|
</link>
|
|
<link name="wrist_pitch_link">
|
|
<inertial>
|
|
<origin xyz="0 0 -0.018247693" rpy="0 0 0" />
|
|
<mass value="0.007398382" />
|
|
<inertia ixx="0.000001532" ixy="0" ixz="0" iyy="0.000000827" iyz="0" izz="0.000001249" />
|
|
</inertial>
|
|
<visual>
|
|
<origin xyz="0 0.0091 -0.0265" rpy="0 0 0" />
|
|
<geometry>
|
|
<mesh filename="3MF/servo_horn_yoke.3mf" scale="0.001 0.001 0.001" />
|
|
</geometry>
|
|
<material name="aluminum_5052" />
|
|
</visual>
|
|
</link>
|
|
<link name="wrist_roll_link">
|
|
<inertial>
|
|
<origin xyz="-0.014792892 -0.000341769 0.000259841" rpy="0 0 0" />
|
|
<mass value="0.055" />
|
|
<inertia ixx="0.000009213" ixy="0" ixz="0" iyy="0.000015785" iyz="0" izz="0.000012176" />
|
|
</inertial>
|
|
<visual>
|
|
<origin xyz="-0.0255 0 0.0091" rpy="1.570796327 0 3.141592653" />
|
|
<geometry>
|
|
<mesh filename="3MF/sts3215.3mf" scale="0.001 0.001 0.001" />
|
|
</geometry>
|
|
<material name="dark_servo" />
|
|
</visual>
|
|
</link>
|
|
<link name="gripper_base_link">
|
|
<inertial>
|
|
<origin xyz="-0.00001263 0.015522068 -0.01137827" rpy="0 0 0" />
|
|
<mass value="0.158659843" />
|
|
<inertia ixx="0.000164543" ixy="0" ixz="0" iyy="0.000214657" iyz="0" izz="0.000288427" />
|
|
</inertial>
|
|
<visual>
|
|
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
<geometry>
|
|
<mesh filename="3MF/gripper_static.3mf" scale="0.001 0.001 0.001" />
|
|
</geometry>
|
|
</visual>
|
|
<collision>
|
|
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
<geometry>
|
|
<mesh filename="3MF/gripper_static.3mf" scale="0.001 0.001 0.001" />
|
|
</geometry>
|
|
</collision>
|
|
</link>
|
|
<link name="gripper_servo_link">
|
|
<inertial>
|
|
<origin xyz="0 0 -0.000668503" rpy="0 0 0" />
|
|
<mass value="0.002542102" />
|
|
<inertia ixx="0.000000064" ixy="0" ixz="0" iyy="0.000000064" iyz="0" izz="0.0000001" />
|
|
</inertial>
|
|
<visual>
|
|
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
<geometry>
|
|
<mesh filename="3MF/gripper_servo_gear.3mf" scale="0.001 0.001 0.001" />
|
|
</geometry>
|
|
</visual>
|
|
<collision>
|
|
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
<geometry>
|
|
<mesh filename="3MF/gripper_servo_gear.3mf" scale="0.001 0.001 0.001" />
|
|
</geometry>
|
|
</collision>
|
|
</link>
|
|
<link name="gripper_right_claw_link">
|
|
<inertial>
|
|
<origin xyz="0.045565996 -0.001484787 0.02203618" rpy="0 0 0" />
|
|
<mass value="0.044399027" />
|
|
<inertia ixx="0.00002472" ixy="0" ixz="0" iyy="0.000021229" iyz="0" izz="0.000011883" />
|
|
</inertial>
|
|
<visual>
|
|
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
<geometry>
|
|
<mesh filename="3MF/gripper_right_claw.3mf" scale="0.001 0.001 0.001" />
|
|
</geometry>
|
|
</visual>
|
|
<collision>
|
|
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
<geometry>
|
|
<mesh filename="3MF/gripper_right_claw.3mf" scale="0.001 0.001 0.001" />
|
|
</geometry>
|
|
</collision>
|
|
</link>
|
|
<link name="gripper_left_claw_link">
|
|
<inertial>
|
|
<origin xyz="-0.045565996 0.001484787 0.02203618" rpy="0 0 0" />
|
|
<mass value="0.044399027" />
|
|
<inertia ixx="0.00002472" ixy="0" ixz="0" iyy="0.000021229" iyz="0" izz="0.000011883" />
|
|
</inertial>
|
|
<visual>
|
|
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
<geometry>
|
|
<mesh filename="3MF/gripper_left_claw.3mf" scale="0.001 0.001 0.001" />
|
|
</geometry>
|
|
</visual>
|
|
<collision>
|
|
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
<geometry>
|
|
<mesh filename="3MF/gripper_left_claw.3mf" scale="0.001 0.001 0.001" />
|
|
</geometry>
|
|
</collision>
|
|
</link>
|
|
<joint name="base_footprint_to_base_link" type="fixed">
|
|
<parent link="base_footprint" />
|
|
<child link="base_link" />
|
|
<origin xyz="0.014635742 0 0" rpy="1.570796327 0 0" />
|
|
</joint>
|
|
<joint name="base_yaw" type="continuous">
|
|
<parent link="base_link" />
|
|
<child link="shoulder_yaw_link" />
|
|
<origin xyz="-0.0255 0.020332 0" rpy="0 0 -1.570796327" />
|
|
<axis xyz="-1 0 0" />
|
|
<limit effort="4.903325" velocity="7.873665798" />
|
|
</joint>
|
|
<joint name="shoulder_pitch" type="revolute">
|
|
<parent link="shoulder_yaw_link" />
|
|
<child link="shoulder_pitch_link" />
|
|
<origin xyz="-0.068040999 0.0005 0" rpy="0 1.570796327 0" />
|
|
<axis xyz="0 1 0" />
|
|
<limit lower="-2.356194490" upper="2.356194490" effort="4.903325" velocity="7.873665798" />
|
|
</joint>
|
|
<joint name="shoulder_roll" type="continuous">
|
|
<parent link="shoulder_pitch_link" />
|
|
<child link="shoulder_roll_link" />
|
|
<origin xyz="0 0 -0.0448" rpy="3.141592654 0 1.570796327" />
|
|
<axis xyz="0 0 -1" />
|
|
<limit effort="4.903325" velocity="7.873665798" />
|
|
</joint>
|
|
<joint name="elbow_pitch" type="revolute">
|
|
<parent link="shoulder_roll_link" />
|
|
<child link="elbow_pitch_link" />
|
|
<origin xyz="0 0 0.1665" rpy="3.141592654 0 1.570796327" />
|
|
<axis xyz="0 -1 0" />
|
|
<limit lower="-2.356194490" upper="2.356194490" effort="4.903325" velocity="7.873665798" />
|
|
</joint>
|
|
<joint name="elbow_roll" type="continuous">
|
|
<parent link="elbow_pitch_link" />
|
|
<child link="elbow_roll_link" />
|
|
<origin xyz="0 0 -0.0448" rpy="3.141592654 0 1.570796327" />
|
|
<axis xyz="0 0 -1" />
|
|
<limit effort="2.941995" velocity="4.717106086" />
|
|
</joint>
|
|
<joint name="wrist_pitch" type="revolute">
|
|
<parent link="elbow_roll_link" />
|
|
<child link="wrist_pitch_link" />
|
|
<origin xyz="0 0 0.1665" rpy="-3.141592654 0 1.570796327" />
|
|
<axis xyz="0 -1 0" />
|
|
<limit lower="-2.356194490" upper="2.356194490" effort="2.941995" velocity="4.717106086" />
|
|
</joint>
|
|
<joint name="wrist_roll" type="continuous">
|
|
<parent link="wrist_pitch_link" />
|
|
<child link="wrist_roll_link" />
|
|
<origin xyz="0 0 -0.0448" rpy="0 0 1.570796327" />
|
|
<axis xyz="0 0 1" />
|
|
<limit effort="2.941995" velocity="4.717106086" />
|
|
</joint>
|
|
<joint name="wrist_roll_to_gripper_base" type="fixed">
|
|
<parent link="wrist_roll_link" />
|
|
<child link="gripper_base_link" />
|
|
<origin xyz="-0.00003287 0.000002072 -0.0729104" rpy="-3.141592512 0 0.00037679" />
|
|
</joint>
|
|
<joint name="gripper_servo" type="revolute">
|
|
<parent link="gripper_base_link" />
|
|
<child link="gripper_servo_link" />
|
|
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
<axis xyz="0 0 1" />
|
|
<limit lower="0" upper="5.846154862" effort="2.941995" velocity="4.615385" />
|
|
</joint>
|
|
<joint name="gripper_right_claw_slide" type="prismatic">
|
|
<parent link="gripper_base_link" />
|
|
<child link="gripper_right_claw_link" />
|
|
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
<axis xyz="-1 0 0" />
|
|
<limit lower="0" upper="0.038000" effort="150" velocity="0.03" />
|
|
<mimic joint="gripper_servo" multiplier="0.006499998870" offset="0" />
|
|
</joint>
|
|
<joint name="gripper_left_claw_slide" type="prismatic">
|
|
<parent link="gripper_base_link" />
|
|
<child link="gripper_left_claw_link" />
|
|
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
<axis xyz="1 0 0" />
|
|
<limit lower="0" upper="0.038000" effort="150" velocity="0.03" />
|
|
<mimic joint="gripper_servo" multiplier="0.006499998870" offset="0" />
|
|
</joint>
|
|
</robot>
|