Z1
UNITREE Robotics · licence BSD-3-Clause · source: github.com/unitreerobotics/unitree_ros @ 267182b85
What you are looking at is RobotDescription.from_urdf(original).to_urdf_string(): the reference implementation's re-serialisation of the original file, not the original file itself.
drag to orbit · scroll to zoom · right-drag to pan
robot.urdf
<?xml version="1.0" encoding="UTF-8"?>
<!-- generated by bam_robot_descriptions (py backend), content f205ad9c5746bb09 -->
<robot name="z1_description">
<link name="world" />
<joint name="base_static_joint" type="fixed">
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<parent link="world" />
<child link="link00" />
</joint>
<link name="link00">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://z1_description/meshes/visual/z1_Link00.dae" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0255" rpy="0.0 0.0 0.0" />
<geometry>
<cylinder length="0.051" radius="0.0325" />
</geometry>
</collision>
<inertial>
<origin xyz="-0.00334984 -0.00013615 0.02495843" rpy="0.0 0.0 0.0" />
<mass value="0.47247481" />
<inertia ixx="0.00037937" ixy="-3.5e-07" ixz="-1.037e-05" iyy="0.00041521" iyz="-9.9e-07" izz="0.00053066" />
</inertial>
</link>
<joint name="joint1" type="revolute">
<origin xyz="0.0 0.0 0.0585" rpy="0.0 0.0 0.0" />
<parent link="link00" />
<child link="link01" />
<axis xyz="0.0 0.0 1.0" />
<limit effort="30.0" velocity="3.1415" lower="-2.6179938779914944" upper="2.6179938779914944" />
<dynamics damping="1.0" friction="1.0" />
</joint>
<link name="link01">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://z1_description/meshes/visual/z1_Link01.dae" />
</geometry>
</visual>
<inertial>
<origin xyz="2.47e-06 -0.00025198 0.02317169" rpy="0.0 0.0 0.0" />
<mass value="0.67332551" />
<inertia ixx="0.00128328" ixy="-6e-08" ixz="-4e-07" iyy="0.00071931" iyz="5e-07" izz="0.00083936" />
</inertial>
</link>
<joint name="joint2" type="revolute">
<origin xyz="0.0 0.0 0.045" rpy="0.0 0.0 0.0" />
<parent link="link01" />
<child link="link02" />
<axis xyz="0.0 1.0 0.0" />
<limit effort="60.0" velocity="3.1415" lower="0.0" upper="2.9670597283903604" />
<dynamics damping="2.0" friction="2.0" />
</joint>
<link name="link02">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://z1_description/meshes/visual/z1_Link02.dae" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="1.5707963267948966 0.0 0.0" />
<geometry>
<cylinder length="0.102" radius="0.0325" />
</geometry>
</collision>
<collision>
<origin xyz="-0.16249999999999998 0.0 0.0" rpy="0.0 1.5707963267948966 0.0" />
<geometry>
<cylinder length="0.235" radius="0.0225" />
</geometry>
</collision>
<collision>
<origin xyz="-0.35 0.0 0.0" rpy="1.5707963267948966 0.0 0.0" />
<geometry>
<cylinder length="0.051" radius="0.0325" />
</geometry>
</collision>
<inertial>
<origin xyz="-0.11012601 0.00240029 0.00158266" rpy="0.0 0.0 0.0" />
<mass value="1.19132258" />
<inertia ixx="0.00102138" ixy="0.00062358" ixz="5.13e-06" iyy="0.02429457" iyz="-2.1e-06" izz="0.02466114" />
</inertial>
</link>
<joint name="joint3" type="revolute">
<origin xyz="-0.35 0.0 0.0" rpy="0.0 0.0 0.0" />
<parent link="link02" />
<child link="link03" />
<axis xyz="0.0 1.0 0.0" />
<limit effort="30.0" velocity="3.1415" lower="-2.8797932657906435" upper="0.0" />
<dynamics damping="1.0" friction="1.0" />
</joint>
<link name="link03">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://z1_description/meshes/visual/z1_Link03.dae" />
</geometry>
</visual>
<collision>
<origin xyz="0.128 0.0 0.055" rpy="0.0 1.5707963267948966 0.0" />
<geometry>
<cylinder length="0.116" radius="0.02" />
</geometry>
</collision>
<collision>
<origin xyz="0.2205 0.0 0.055" rpy="0.0 1.5707963267948966 1.5707963267948966" />
<geometry>
<cylinder length="0.059" radius="0.0325" />
</geometry>
</collision>
<inertial>
<origin xyz="0.10609208 -0.00541815 0.03476383" rpy="0.0 0.0 0.0" />
<mass value="0.83940874" />
<inertia ixx="0.00108061" ixy="-8.669e-05" ixz="-0.00208102" iyy="0.00954238" iyz="-1.332e-05" izz="0.00886621" />
</inertial>
</link>
<joint name="joint4" type="revolute">
<origin xyz="0.218 0.0 0.057" rpy="0.0 0.0 0.0" />
<parent link="link03" />
<child link="link04" />
<axis xyz="0.0 1.0 0.0" />
<limit effort="30.0" velocity="3.1415" lower="-1.5184364492350666" upper="1.5184364492350666" />
<dynamics damping="1.0" friction="1.0" />
</joint>
<link name="link04">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://z1_description/meshes/visual/z1_Link04.dae" />
</geometry>
</visual>
<collision>
<origin xyz="0.072 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<cylinder length="0.067" radius="0.0325" />
</geometry>
</collision>
<inertial>
<origin xyz="0.04366681 0.00364738 -0.00170192" rpy="0.0 0.0 0.0" />
<mass value="0.56404563" />
<inertia ixx="0.00031576" ixy="8.13e-05" ixz="4.091e-05" iyy="0.00092996" iyz="-5.96e-06" izz="0.00097912" />
</inertial>
</link>
<joint name="joint5" type="revolute">
<origin xyz="0.07 0.0 0.0" rpy="0.0 0.0 0.0" />
<parent link="link04" />
<child link="link05" />
<axis xyz="0.0 0.0 1.0" />
<limit effort="30.0" velocity="3.1415" lower="-1.3439035240356338" upper="1.3439035240356338" />
<dynamics damping="1.0" friction="1.0" />
</joint>
<link name="link05">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://z1_description/meshes/visual/z1_Link05.dae" />
</geometry>
</visual>
<inertial>
<origin xyz="0.03121533 0.0 0.00646316" rpy="0.0 0.0 0.0" />
<mass value="0.38938492" />
<inertia ixx="0.00017605" ixy="4e-07" ixz="5.689e-05" iyy="0.00055896" iyz="-1.3e-07" izz="0.0005386" />
</inertial>
</link>
<joint name="joint6" type="revolute">
<origin xyz="0.0492 0.0 0.0" rpy="0.0 0.0 0.0" />
<parent link="link05" />
<child link="link06" />
<axis xyz="1.0 0.0 0.0" />
<limit effort="30.0" velocity="3.1415" lower="-2.792526803190927" upper="2.792526803190927" />
<dynamics damping="1.0" friction="1.0" />
</joint>
<link name="link06">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://z1_description/meshes/visual/z1_Link06.dae" />
</geometry>
</visual>
<collision>
<origin xyz="0.0255 0.0 0.0" rpy="0.0 1.5707963267948966 0.0" />
<geometry>
<cylinder length="0.051" radius="0.0325" />
</geometry>
</collision>
<inertial>
<origin xyz="0.0241569 -0.00017355 -0.00143876" rpy="0.0 0.0 0.0" />
<mass value="0.28875807" />
<inertia ixx="0.00018328" ixy="1.22e-06" ixz="5.4e-07" iyy="0.0001475" iyz="8e-08" izz="0.0001468" />
</inertial>
</link>
</robot>
robot.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- generated by bam_robot_descriptions (mjcf backend), content f205ad9c5746bb09 -->
<mujoco model="z1_description">
<compiler angle="radian" autolimits="true" meshdir="assets/" inertiafromgeom="false" balanceinertia="false" />
<asset>
<mesh name="z1_Link00" file="z1_description/meshes/visual/z1_Link00.dae" />
<mesh name="z1_Link01" file="z1_description/meshes/visual/z1_Link01.dae" />
<mesh name="z1_Link02" file="z1_description/meshes/visual/z1_Link02.dae" />
<mesh name="z1_Link03" file="z1_description/meshes/visual/z1_Link03.dae" />
<mesh name="z1_Link04" file="z1_description/meshes/visual/z1_Link04.dae" />
<mesh name="z1_Link05" file="z1_description/meshes/visual/z1_Link05.dae" />
<mesh name="z1_Link06" file="z1_description/meshes/visual/z1_Link06.dae" />
</asset>
<worldbody>
<body name="link00">
<inertial pos="-0.00334984 -0.00013615 0.02495843" mass="0.47247481" fullinertia="0.00037937 0.00041521 0.00053066 -3.5e-07 -1.037e-05 -9.9e-07" />
<geom name="link00_vis_0" type="mesh" mesh="z1_Link00" contype="0" conaffinity="0" group="2" />
<geom name="link00_col_0" type="cylinder" size="0.0325 0.0255" pos="0.0 0.0 0.0255" group="3" />
<body name="link01" pos="0.0 0.0 0.0585">
<joint name="joint1" type="hinge" axis="0.0 0.0 1.0" range="-2.6179938779914944 2.6179938779914944" damping="1.0" frictionloss="1.0" />
<inertial pos="2.47e-06 -0.00025198 0.02317169" mass="0.67332551" fullinertia="0.00128328 0.00071931 0.00083936 -6e-08 -4e-07 5e-07" />
<geom name="link01_vis_0" type="mesh" mesh="z1_Link01" contype="0" conaffinity="0" group="2" />
<body name="link02" pos="0.0 0.0 0.045">
<joint name="joint2" type="hinge" axis="0.0 1.0 0.0" range="0.0 2.9670597283903604" damping="2.0" frictionloss="2.0" />
<inertial pos="-0.11012601 0.00240029 0.00158266" mass="1.19132258" fullinertia="0.00102138 0.02429457 0.02466114 0.00062358 5.13e-06 -2.1e-06" />
<geom name="link02_vis_0" type="mesh" mesh="z1_Link02" contype="0" conaffinity="0" group="2" />
<geom name="link02_col_0" type="cylinder" size="0.0325 0.051" quat="0.7071067811865476 0.7071067811865475 0.0 0.0" group="3" />
<geom name="link02_col_1" type="cylinder" size="0.0225 0.1175" pos="-0.16249999999999998 0.0 0.0" quat="0.7071067811865476 0.0 0.7071067811865475 0.0" group="3" />
<geom name="link02_col_2" type="cylinder" size="0.0325 0.0255" pos="-0.35 0.0 0.0" quat="0.7071067811865476 0.7071067811865475 0.0 0.0" group="3" />
<body name="link03" pos="-0.35 0.0 0.0">
<joint name="joint3" type="hinge" axis="0.0 1.0 0.0" range="-2.8797932657906435 0.0" damping="1.0" frictionloss="1.0" />
<inertial pos="0.10609208 -0.00541815 0.03476383" mass="0.83940874" fullinertia="0.00108061 0.00954238 0.00886621 -8.669e-05 -0.00208102 -1.332e-05" />
<geom name="link03_vis_0" type="mesh" mesh="z1_Link03" contype="0" conaffinity="0" group="2" />
<geom name="link03_col_0" type="cylinder" size="0.02 0.058" pos="0.128 0.0 0.055" quat="0.7071067811865476 0.0 0.7071067811865475 0.0" group="3" />
<geom name="link03_col_1" type="cylinder" size="0.0325 0.0295" pos="0.2205 0.0 0.055" quat="0.5000000000000001 -0.4999999999999999 0.5 0.5" group="3" />
<body name="link04" pos="0.218 0.0 0.057">
<joint name="joint4" type="hinge" axis="0.0 1.0 0.0" range="-1.5184364492350666 1.5184364492350666" damping="1.0" frictionloss="1.0" />
<inertial pos="0.04366681 0.00364738 -0.00170192" mass="0.56404563" fullinertia="0.00031576 0.00092996 0.00097912 8.13e-05 4.091e-05 -5.96e-06" />
<geom name="link04_vis_0" type="mesh" mesh="z1_Link04" contype="0" conaffinity="0" group="2" />
<geom name="link04_col_0" type="cylinder" size="0.0325 0.0335" pos="0.072 0.0 0.0" group="3" />
<body name="link05" pos="0.07 0.0 0.0">
<joint name="joint5" type="hinge" axis="0.0 0.0 1.0" range="-1.3439035240356338 1.3439035240356338" damping="1.0" frictionloss="1.0" />
<inertial pos="0.03121533 0.0 0.00646316" mass="0.38938492" fullinertia="0.00017605 0.00055896 0.0005386 4e-07 5.689e-05 -1.3e-07" />
<geom name="link05_vis_0" type="mesh" mesh="z1_Link05" contype="0" conaffinity="0" group="2" />
<body name="link06" pos="0.0492 0.0 0.0">
<joint name="joint6" type="hinge" axis="1.0 0.0 0.0" range="-2.792526803190927 2.792526803190927" damping="1.0" frictionloss="1.0" />
<inertial pos="0.0241569 -0.00017355 -0.00143876" mass="0.28875807" fullinertia="0.00018328 0.0001475 0.0001468 1.22e-06 5.4e-07 8e-08" />
<geom name="link06_vis_0" type="mesh" mesh="z1_Link06" contype="0" conaffinity="0" group="2" />
<geom name="link06_col_0" type="cylinder" size="0.0325 0.0255" pos="0.0255 0.0 0.0" quat="0.7071067811865476 0.0 0.7071067811865475 0.0" group="3" />
</body>
</body>
</body>
</body>
</body>
</body>
</body>
</worldbody>
<contact>
<exclude body1="link00" body2="link01" />
<exclude body1="link01" body2="link02" />
<exclude body1="link02" body2="link03" />
<exclude body1="link03" body2="link04" />
<exclude body1="link04" body2="link05" />
<exclude body1="link05" body2="link06" />
</contact>
</mujoco>
Import report
Counts
| Links | 8 |
|---|---|
| Joints | 7 |
| Moving joints | 6 |
| Visuals | 7 |
| Collisions | 8 |
| Materials | 0 |
Meshes
Formats: dae.
Asset size: 15.1 MB.
Dropped on import
| Tag | Count | Why |
|---|---|---|
gazebo | 4 | Gazebo simulator extensions are not part of the description |
transmission | 6 | ROS transmissions (actuator-to-joint wiring) have no RobotDescription field yet |
Forward-kinematics check
Forward kinematics of 8 link frames at 20 random joint positions within limits, original URDF against robot.urdf, computed by pinocchio 3.8.0. Worst difference: 0.0e+00 m · 2.6e-16 rad.
MuJoCo
robot.xml compiles in MuJoCo with its meshes (nq = 6).
Source & licence
| Repository | https://github.com/unitreerobotics/unitree_ros |
|---|---|
| Commit | 267182b8521c8d6a631bab1fe63836873237a525 |
| Original file | robots/z1_description/xacro/z1.urdf |
| Licence | BSD-3-Clause · the upstream LICENSE file |
| Files | robot.urdf · robot.xml |
Meshes are copied verbatim from the repository at the pinned commit and keep their upstream licence.