Enlight-L
Flexiv Robotics · licence Apache-2.0 · source: github.com/flexivrobotics/flexiv_description @ f33331a7f
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 f6fdf4cd2493f4da -->
<robot name="Enlight-L">
<material name="flexiv_black">
<color rgba="0.22 0.22 0.22 1.0" />
</material>
<joint name="base_joint" type="fixed">
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<parent link="world" />
<child link="base_link" />
</joint>
<joint name="joint1" type="revolute">
<origin xyz="0.0 0.0 0.146" rpy="0.0 0.0 0.0" />
<parent link="base_link" />
<child link="link1" />
<axis xyz="0.0 0.0 1.0" />
<limit effort="100.0" velocity="2.0944" lower="-6.3705" upper="6.3705" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<joint name="joint2" type="revolute">
<origin xyz="0.0 -0.037 0.114" rpy="1.5707963267948966 0.0 0.0" />
<parent link="link1" />
<child link="link2" />
<axis xyz="0.0 0.0 1.0" />
<limit effort="100.0" velocity="2.0944" lower="-2.1817" upper="2.1817" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<joint name="joint3" type="revolute">
<origin xyz="0.0 0.181 -0.037" rpy="-1.5707963267948966 0.0 0.0" />
<parent link="link2" />
<child link="link3" />
<axis xyz="0.0 0.0 1.0" />
<limit effort="100.0" velocity="2.0944" lower="-6.3705" upper="6.3705" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<joint name="joint4" type="revolute">
<origin xyz="0.0 0.037 0.109" rpy="-1.5707963267948966 0.0 0.0" />
<parent link="link3" />
<child link="link4" />
<axis xyz="0.0 0.0 1.0" />
<limit effort="100.0" velocity="2.0944" lower="-2.1817" upper="2.1817" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<joint name="joint5" type="revolute">
<origin xyz="0.0 -0.156 -0.037" rpy="1.5707963267948966 0.0 0.0" />
<parent link="link4" />
<child link="link5" />
<axis xyz="0.0 0.0 1.0" />
<limit effort="21.0" velocity="6.0214" lower="-6.3705" upper="6.3705" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<joint name="joint6" type="revolute">
<origin xyz="0.0 -0.0261 0.124" rpy="1.5707963267948966 0.0 0.0" />
<parent link="link5" />
<child link="link6" />
<axis xyz="0.0 0.0 1.0" />
<limit effort="21.0" velocity="6.0214" lower="-2.1817" upper="2.1817" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<joint name="joint7" type="revolute">
<origin xyz="0.0 0.134 -0.0261" rpy="-1.5707963267948966 0.0 0.0" />
<parent link="link6" />
<child link="link7" />
<axis xyz="0.0 0.0 1.0" />
<limit effort="21.0" velocity="6.0214" lower="-6.3705" upper="6.3705" />
<dynamics damping="0.0" friction="0.0" />
</joint>
<joint name="link7_to_flange" type="fixed">
<origin xyz="0.0 0.0 0.048" rpy="0.0 0.0 0.0" />
<parent link="link7" />
<child link="flange" />
</joint>
<link name="world" />
<link name="base_link">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://flexiv_description/meshes/Enlight-L/visual/link0.obj" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://flexiv_description/meshes/Enlight-L/collision/link0.stl" />
</geometry>
</collision>
</link>
<link name="link1">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://flexiv_description/meshes/Enlight-L/visual/link1.obj" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://flexiv_description/meshes/Enlight-L/collision/link1.stl" />
</geometry>
</collision>
</link>
<link name="link2">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://flexiv_description/meshes/Enlight-L/visual/link2.obj" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://flexiv_description/meshes/Enlight-L/collision/link2.stl" />
</geometry>
</collision>
</link>
<link name="link3">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://flexiv_description/meshes/Enlight-L/visual/link3.obj" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://flexiv_description/meshes/Enlight-L/collision/link3.stl" />
</geometry>
</collision>
</link>
<link name="link4">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://flexiv_description/meshes/Enlight-L/visual/link4.obj" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://flexiv_description/meshes/Enlight-L/collision/link4.stl" />
</geometry>
</collision>
</link>
<link name="link5">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://flexiv_description/meshes/Enlight-L/visual/link5.obj" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://flexiv_description/meshes/Enlight-L/collision/link5.stl" />
</geometry>
</collision>
</link>
<link name="link6">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://flexiv_description/meshes/Enlight-L/visual/link6.obj" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://flexiv_description/meshes/Enlight-L/collision/link6.stl" />
</geometry>
</collision>
</link>
<link name="link7">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://flexiv_description/meshes/Enlight-L/visual/link7.obj" />
</geometry>
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://flexiv_description/meshes/Enlight-L/collision/link7.stl" />
</geometry>
</collision>
</link>
<link name="flange" />
</robot>
robot.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- generated by bam_robot_descriptions (mjcf backend), content f6fdf4cd2493f4da -->
<mujoco model="Enlight-L">
<compiler angle="radian" autolimits="true" meshdir="assets/" inertiafromgeom="false" balanceinertia="false" />
<asset>
<material name="flexiv_black" rgba="0.22 0.22 0.22 1.0" />
<mesh name="visual_link0" file="flexiv_description/meshes/Enlight-L/visual/link0.obj" />
<mesh name="collision_link0" file="flexiv_description/meshes/Enlight-L/collision/link0.stl" />
<mesh name="visual_link1" file="flexiv_description/meshes/Enlight-L/visual/link1.obj" />
<mesh name="collision_link1" file="flexiv_description/meshes/Enlight-L/collision/link1.stl" />
<mesh name="visual_link2" file="flexiv_description/meshes/Enlight-L/visual/link2.obj" />
<mesh name="collision_link2" file="flexiv_description/meshes/Enlight-L/collision/link2.stl" />
<mesh name="visual_link3" file="flexiv_description/meshes/Enlight-L/visual/link3.obj" />
<mesh name="collision_link3" file="flexiv_description/meshes/Enlight-L/collision/link3.stl" />
<mesh name="visual_link4" file="flexiv_description/meshes/Enlight-L/visual/link4.obj" />
<mesh name="collision_link4" file="flexiv_description/meshes/Enlight-L/collision/link4.stl" />
<mesh name="visual_link5" file="flexiv_description/meshes/Enlight-L/visual/link5.obj" />
<mesh name="collision_link5" file="flexiv_description/meshes/Enlight-L/collision/link5.stl" />
<mesh name="visual_link6" file="flexiv_description/meshes/Enlight-L/visual/link6.obj" />
<mesh name="collision_link6" file="flexiv_description/meshes/Enlight-L/collision/link6.stl" />
<mesh name="visual_link7" file="flexiv_description/meshes/Enlight-L/visual/link7.obj" />
<mesh name="collision_link7" file="flexiv_description/meshes/Enlight-L/collision/link7.stl" />
</asset>
<worldbody>
<body name="base_link">
<geom name="base_link_vis_0" type="mesh" mesh="visual_link0" contype="0" conaffinity="0" group="2" />
<geom name="base_link_col_0" type="mesh" mesh="collision_link0" group="3" />
<body name="link1" pos="0.0 0.0 0.146">
<joint name="joint1" type="hinge" axis="0.0 0.0 1.0" range="-6.3705 6.3705" />
<geom name="link1_vis_0" type="mesh" mesh="visual_link1" contype="0" conaffinity="0" group="2" />
<geom name="link1_col_0" type="mesh" mesh="collision_link1" group="3" />
<body name="link2" pos="0.0 -0.037 0.114" quat="0.7071067811865476 0.7071067811865475 0.0 0.0">
<joint name="joint2" type="hinge" axis="0.0 0.0 1.0" range="-2.1817 2.1817" />
<geom name="link2_vis_0" type="mesh" mesh="visual_link2" contype="0" conaffinity="0" group="2" />
<geom name="link2_col_0" type="mesh" mesh="collision_link2" group="3" />
<body name="link3" pos="0.0 0.181 -0.037" quat="0.7071067811865476 -0.7071067811865475 0.0 0.0">
<joint name="joint3" type="hinge" axis="0.0 0.0 1.0" range="-6.3705 6.3705" />
<geom name="link3_vis_0" type="mesh" mesh="visual_link3" contype="0" conaffinity="0" group="2" />
<geom name="link3_col_0" type="mesh" mesh="collision_link3" group="3" />
<body name="link4" pos="0.0 0.037 0.109" quat="0.7071067811865476 -0.7071067811865475 0.0 0.0">
<joint name="joint4" type="hinge" axis="0.0 0.0 1.0" range="-2.1817 2.1817" />
<geom name="link4_vis_0" type="mesh" mesh="visual_link4" contype="0" conaffinity="0" group="2" />
<geom name="link4_col_0" type="mesh" mesh="collision_link4" group="3" />
<body name="link5" pos="0.0 -0.156 -0.037" quat="0.7071067811865476 0.7071067811865475 0.0 0.0">
<joint name="joint5" type="hinge" axis="0.0 0.0 1.0" range="-6.3705 6.3705" />
<geom name="link5_vis_0" type="mesh" mesh="visual_link5" contype="0" conaffinity="0" group="2" />
<geom name="link5_col_0" type="mesh" mesh="collision_link5" group="3" />
<body name="link6" pos="0.0 -0.0261 0.124" quat="0.7071067811865476 0.7071067811865475 0.0 0.0">
<joint name="joint6" type="hinge" axis="0.0 0.0 1.0" range="-2.1817 2.1817" />
<geom name="link6_vis_0" type="mesh" mesh="visual_link6" contype="0" conaffinity="0" group="2" />
<geom name="link6_col_0" type="mesh" mesh="collision_link6" group="3" />
<body name="link7" pos="0.0 0.134 -0.0261" quat="0.7071067811865476 -0.7071067811865475 0.0 0.0">
<joint name="joint7" type="hinge" axis="0.0 0.0 1.0" range="-6.3705 6.3705" />
<geom name="link7_vis_0" type="mesh" mesh="visual_link7" contype="0" conaffinity="0" group="2" />
<geom name="link7_col_0" type="mesh" mesh="collision_link7" group="3" />
<body name="flange" pos="0.0 0.0 0.048" />
</body>
</body>
</body>
</body>
</body>
</body>
</body>
</body>
</worldbody>
<contact>
<exclude body1="base_link" body2="link1" />
<exclude body1="link1" body2="link2" />
<exclude body1="link2" body2="link3" />
<exclude body1="link3" body2="link4" />
<exclude body1="link4" body2="link5" />
<exclude body1="link5" body2="link6" />
<exclude body1="link6" body2="link7" />
<exclude body1="link7" body2="flange" />
</contact>
</mujoco>
Import report
Counts
| Links | 10 |
|---|---|
| Joints | 9 |
| Moving joints | 7 |
| Visuals | 8 |
| Collisions | 8 |
| Materials | 1 |
Meshes
Formats: obj, stl.
Asset size: 20.9 MB.
Dropped on import
| Tag | Count | Why |
|---|---|---|
@name | 16 | visual names are not carried; the geometry is kept |
inertia | 8 | <inertia> is not part of the URDF subset RobotDescription mirrors |
mass | 8 | <mass> is not part of the URDF subset RobotDescription mirrors |
origin | 8 | <origin> is not part of the URDF subset RobotDescription mirrors |
safety_controller | 7 | soft limits (safety_controller) are not representable yet |
workspace | 1 | <workspace> is not part of the URDF subset RobotDescription mirrors |
Forward-kinematics check
Forward kinematics of 10 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 · 4.9e-16 rad.
MuJoCo
robot.xml did not compile in MuJoCo: Error: mass and inertia of moving bodies must be larger than mjMINVAL
Source & licence
| Repository | https://github.com/flexivrobotics/flexiv_description |
|---|---|
| Commit | f33331a7f75b9a25ec903674595ddfebbe1fb998 |
| Original file | urdf/flexiv.urdf.xacro |
| Licence | Apache-2.0 · 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.