OpenMANIPULATOR-X
ROBOTIS · licence Apache-2.0 · source: github.com/ROBOTIS-GIT/open_manipulator @ bc555a9c4
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.
Loading the model…
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 1e9f4b2870b08811 -->
<robot name="open_manipulator_x">
<link name="world" />
<joint name="world_fixed" type="fixed">
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<parent link="world" />
<child link="link1" />
</joint>
<material name="grey">
<color rgba="0.2 0.2 0.2 1.0" />
</material>
<link name="link1">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://open_manipulator_description/meshes/open_manipulator_x/link1.stl" scale="0.001 0.001 0.001" />
</geometry>
<material name="grey" />
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://open_manipulator_description/meshes/open_manipulator_x/link1.stl" scale="0.001 0.001 0.001" />
</geometry>
</collision>
<inertial>
<origin xyz="0.00030876154 0.0 -0.00012176461" />
<mass value="0.079119962" />
<inertia ixx="1.2505234e-05" ixy="0.0" ixz="-1.7855208e-07" iyy="2.1898364e-05" iyz="0.0" izz="1.9267361e-05" />
</inertial>
</link>
<joint name="joint1" type="revolute">
<origin xyz="0.012 0.0 0.0" rpy="0.0 0.0 0.0" />
<parent link="link1" />
<child link="link2" />
<axis xyz="0.0 0.0 1.0" />
<limit effort="1000.0" velocity="4.8" lower="-3.141592653589793" upper="3.141592653589793" />
<dynamics damping="0.1" friction="0.0" />
</joint>
<link name="link2">
<visual>
<origin xyz="0.0 0.0 0.019" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://open_manipulator_description/meshes/open_manipulator_x/link2.stl" scale="0.001 0.001 0.001" />
</geometry>
<material name="grey" />
</visual>
<collision>
<origin xyz="0.0 0.0 0.019" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://open_manipulator_description/meshes/open_manipulator_x/link2.stl" scale="0.001 0.001 0.001" />
</geometry>
</collision>
<inertial>
<origin xyz="-0.0003018487 0.00054043684 0.047433463999999995" />
<mass value="0.098406837" />
<inertia ixx="3.4543422e-05" ixy="-1.6031095e-08" ixz="-3.8375155e-07" iyy="3.2689329e-05" iyz="2.8511935e-08" izz="1.885032e-05" />
</inertial>
</link>
<joint name="joint2" type="revolute">
<origin xyz="0.0 0.0 0.0595" rpy="0.0 0.0 0.0" />
<parent link="link2" />
<child link="link3" />
<axis xyz="0.0 1.0 0.0" />
<limit effort="1000.0" velocity="4.8" lower="-1.5" upper="1.5" />
<dynamics damping="0.1" friction="0.0" />
</joint>
<link name="link3">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://open_manipulator_description/meshes/open_manipulator_x/link3.stl" scale="0.001 0.001 0.001" />
</geometry>
<material name="grey" />
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://open_manipulator_description/meshes/open_manipulator_x/link3.stl" scale="0.001 0.001 0.001" />
</geometry>
</collision>
<inertial>
<origin xyz="0.010308393 0.00037743363 0.10170197" />
<mass value="0.13850917" />
<inertia ixx="0.00033055381" ixy="-9.7940978e-08" ixz="-3.8505711e-05" iyy="0.00034290447" iyz="-1.5717516e-06" izz="6.0346498e-05" />
</inertial>
</link>
<joint name="joint3" type="revolute">
<origin xyz="0.024 0.0 0.128" rpy="0.0 0.0 0.0" />
<parent link="link3" />
<child link="link4" />
<axis xyz="0.0 1.0 0.0" />
<limit effort="1000.0" velocity="4.8" lower="-1.5" upper="1.4" />
<dynamics damping="0.1" friction="0.0" />
</joint>
<link name="link4">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://open_manipulator_description/meshes/open_manipulator_x/link4.stl" scale="0.001 0.001 0.001" />
</geometry>
<material name="grey" />
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://open_manipulator_description/meshes/open_manipulator_x/link4.stl" scale="0.001 0.001 0.001" />
</geometry>
</collision>
<inertial>
<origin xyz="0.09090959 0.00038929816 0.00022413279" />
<mass value="0.13274562" />
<inertia ixx="3.0654178e-05" ixy="-1.2764155e-06" ixz="-2.6874417e-07" iyy="0.00024230292" iyz="1.155955e-08" izz="0.00025155057" />
</inertial>
</link>
<joint name="joint4" type="revolute">
<origin xyz="0.124 0.0 0.0" rpy="0.0 0.0 0.0" />
<parent link="link4" />
<child link="link5" />
<axis xyz="0.0 1.0 0.0" />
<limit effort="1000.0" velocity="4.8" lower="-1.7" upper="1.97" />
<dynamics damping="0.1" friction="0.0" />
</joint>
<link name="link5">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://open_manipulator_description/meshes/open_manipulator_x/link5.stl" scale="0.001 0.001 0.001" />
</geometry>
<material name="grey" />
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://open_manipulator_description/meshes/open_manipulator_x/link5.stl" scale="0.001 0.001 0.001" />
</geometry>
</collision>
<inertial>
<origin xyz="0.044206755 3.6839985e-07 0.0089142216" />
<mass value="0.14327573" />
<inertia ixx="8.0870749e-05" ixy="0.0" ixz="-1.0157896e-06" iyy="7.5980465e-05" iyz="0.0" izz="9.3127351e-05" />
</inertial>
</link>
<joint name="gripper_left_joint" type="prismatic">
<origin xyz="0.0817 0.021 0.0" rpy="0.0 0.0 0.0" />
<parent link="link5" />
<child link="gripper_left_link" />
<axis xyz="0.0 1.0 0.0" />
<limit effort="1000.0" velocity="4.8" lower="-0.011" upper="0.02" />
<dynamics damping="0.1" friction="0.0" />
</joint>
<link name="gripper_left_link">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://open_manipulator_description/meshes/open_manipulator_x/gripper_left_palm.stl" scale="0.001 0.001 0.001" />
</geometry>
<material name="grey" />
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://open_manipulator_description/meshes/open_manipulator_x/gripper_left_palm.stl" scale="0.001 0.001 0.001" />
</geometry>
</collision>
<inertial>
<origin xyz="0.0 0.0 0.0" />
<mass value="0.001" />
<inertia ixx="1e-06" ixy="0.0" ixz="0.0" iyy="1e-06" iyz="0.0" izz="1e-06" />
</inertial>
</link>
<joint name="gripper_right_joint" type="prismatic">
<origin xyz="0.0817 -0.021 0.0" rpy="0.0 0.0 0.0" />
<parent link="link5" />
<child link="gripper_right_link" />
<axis xyz="0.0 -1.0 0.0" />
<limit effort="1000.0" velocity="4.8" lower="-0.011" upper="0.02" />
<dynamics damping="0.7" friction="0.0" />
</joint>
<link name="gripper_right_link">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://open_manipulator_description/meshes/open_manipulator_x/gripper_right_palm.stl" scale="0.001 0.001 0.001" />
</geometry>
<material name="grey" />
</visual>
<collision>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<mesh filename="package://open_manipulator_description/meshes/open_manipulator_x/gripper_right_palm.stl" scale="0.001 0.001 0.001" />
</geometry>
</collision>
<inertial>
<origin xyz="0.0 0.0 0.0" />
<mass value="0.001" />
<inertia ixx="1e-06" ixy="0.0" ixz="0.0" iyy="1e-06" iyz="0.0" izz="1e-06" />
</inertial>
</link>
<joint name="end_effector_joint" type="fixed">
<origin xyz="0.126 0.0 0.0" rpy="0.0 0.0 0.0" />
<parent link="link5" />
<child link="end_effector_link" />
</joint>
<material name="red">
<color rgba="1.0 0.0 0.0 1.0" />
</material>
<link name="end_effector_link">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry>
<box size="0.01 0.01 0.01" />
</geometry>
<material name="red" />
</visual>
</link>
</robot>
robot.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- generated by bam_robot_descriptions (mjcf backend), content 1e9f4b2870b08811 -->
<mujoco model="open_manipulator_x">
<compiler angle="radian" autolimits="true" meshdir="assets/" inertiafromgeom="false" balanceinertia="false" />
<asset>
<material name="grey" rgba="0.2 0.2 0.2 1.0" />
<material name="red" rgba="1.0 0.0 0.0 1.0" />
<mesh name="link1_0p001_0p001_0p001" file="open_manipulator_description/meshes/open_manipulator_x/link1.stl" scale="0.001 0.001 0.001" />
<mesh name="link2_0p001_0p001_0p001" file="open_manipulator_description/meshes/open_manipulator_x/link2.stl" scale="0.001 0.001 0.001" />
<mesh name="link3_0p001_0p001_0p001" file="open_manipulator_description/meshes/open_manipulator_x/link3.stl" scale="0.001 0.001 0.001" />
<mesh name="link4_0p001_0p001_0p001" file="open_manipulator_description/meshes/open_manipulator_x/link4.stl" scale="0.001 0.001 0.001" />
<mesh name="link5_0p001_0p001_0p001" file="open_manipulator_description/meshes/open_manipulator_x/link5.stl" scale="0.001 0.001 0.001" />
<mesh name="gripper_left_palm_0p001_0p001_0p001" file="open_manipulator_description/meshes/open_manipulator_x/gripper_left_palm.stl" scale="0.001 0.001 0.001" />
<mesh name="gripper_right_palm_0p001_0p001_0p001" file="open_manipulator_description/meshes/open_manipulator_x/gripper_right_palm.stl" scale="0.001 0.001 0.001" />
</asset>
<worldbody>
<body name="link1">
<inertial pos="0.00030876154 0.0 -0.00012176461" mass="0.079119962" fullinertia="1.2505234e-05 2.1898364e-05 1.9267361e-05 0.0 -1.7855208e-07 0.0" />
<geom name="link1_vis_0" type="mesh" mesh="link1_0p001_0p001_0p001" contype="0" conaffinity="0" group="2" material="grey" />
<geom name="link1_col_0" type="mesh" mesh="link1_0p001_0p001_0p001" group="3" />
<body name="link2" pos="0.012 0.0 0.0">
<joint name="joint1" type="hinge" axis="0.0 0.0 1.0" range="-3.141592653589793 3.141592653589793" damping="0.1" />
<inertial pos="-0.0003018487 0.00054043684 0.047433463999999995" mass="0.098406837" fullinertia="3.4543422e-05 3.2689329e-05 1.885032e-05 -1.6031095e-08 -3.8375155e-07 2.8511935e-08" />
<geom name="link2_vis_0" type="mesh" mesh="link2_0p001_0p001_0p001" pos="0.0 0.0 0.019" contype="0" conaffinity="0" group="2" material="grey" />
<geom name="link2_col_0" type="mesh" mesh="link2_0p001_0p001_0p001" pos="0.0 0.0 0.019" group="3" />
<body name="link3" pos="0.0 0.0 0.0595">
<joint name="joint2" type="hinge" axis="0.0 1.0 0.0" range="-1.5 1.5" damping="0.1" />
<inertial pos="0.010308393 0.00037743363 0.10170197" mass="0.13850917" fullinertia="0.00033055381 0.00034290447 6.0346498e-05 -9.7940978e-08 -3.8505711e-05 -1.5717516e-06" />
<geom name="link3_vis_0" type="mesh" mesh="link3_0p001_0p001_0p001" contype="0" conaffinity="0" group="2" material="grey" />
<geom name="link3_col_0" type="mesh" mesh="link3_0p001_0p001_0p001" group="3" />
<body name="link4" pos="0.024 0.0 0.128">
<joint name="joint3" type="hinge" axis="0.0 1.0 0.0" range="-1.5 1.4" damping="0.1" />
<inertial pos="0.09090959 0.00038929816 0.00022413279" mass="0.13274562" fullinertia="3.0654178e-05 0.00024230292 0.00025155057 -1.2764155e-06 -2.6874417e-07 1.155955e-08" />
<geom name="link4_vis_0" type="mesh" mesh="link4_0p001_0p001_0p001" contype="0" conaffinity="0" group="2" material="grey" />
<geom name="link4_col_0" type="mesh" mesh="link4_0p001_0p001_0p001" group="3" />
<body name="link5" pos="0.124 0.0 0.0">
<joint name="joint4" type="hinge" axis="0.0 1.0 0.0" range="-1.7 1.97" damping="0.1" />
<inertial pos="0.044206755 3.6839985e-07 0.0089142216" mass="0.14327573" fullinertia="8.0870749e-05 7.5980465e-05 9.3127351e-05 0.0 -1.0157896e-06 0.0" />
<geom name="link5_vis_0" type="mesh" mesh="link5_0p001_0p001_0p001" contype="0" conaffinity="0" group="2" material="grey" />
<geom name="link5_col_0" type="mesh" mesh="link5_0p001_0p001_0p001" group="3" />
<body name="gripper_left_link" pos="0.0817 0.021 0.0">
<joint name="gripper_left_joint" type="slide" axis="0.0 1.0 0.0" range="-0.011 0.02" damping="0.1" />
<inertial pos="0.0 0.0 0.0" mass="0.001" fullinertia="1e-06 1e-06 1e-06 0.0 0.0 0.0" />
<geom name="gripper_left_link_vis_0" type="mesh" mesh="gripper_left_palm_0p001_0p001_0p001" contype="0" conaffinity="0" group="2" material="grey" />
<geom name="gripper_left_link_col_0" type="mesh" mesh="gripper_left_palm_0p001_0p001_0p001" group="3" />
</body>
<body name="gripper_right_link" pos="0.0817 -0.021 0.0">
<joint name="gripper_right_joint" type="slide" axis="0.0 -1.0 0.0" range="-0.011 0.02" damping="0.7" />
<inertial pos="0.0 0.0 0.0" mass="0.001" fullinertia="1e-06 1e-06 1e-06 0.0 0.0 0.0" />
<geom name="gripper_right_link_vis_0" type="mesh" mesh="gripper_right_palm_0p001_0p001_0p001" contype="0" conaffinity="0" group="2" material="grey" />
<geom name="gripper_right_link_col_0" type="mesh" mesh="gripper_right_palm_0p001_0p001_0p001" group="3" />
</body>
<body name="end_effector_link" pos="0.126 0.0 0.0">
<geom name="end_effector_link_vis_0" type="box" size="0.005 0.005 0.005" contype="0" conaffinity="0" group="2" material="red" />
</body>
</body>
</body>
</body>
</body>
</body>
</worldbody>
<contact>
<exclude body1="link1" body2="link2" />
<exclude body1="link2" body2="link3" />
<exclude body1="link3" body2="link4" />
<exclude body1="link4" body2="link5" />
<exclude body1="link5" body2="gripper_left_link" />
<exclude body1="link5" body2="gripper_right_link" />
<exclude body1="link5" body2="end_effector_link" />
</contact>
</mujoco>
Import report
Counts
| Links | 9 |
|---|---|
| Joints | 8 |
| Moving joints | 6 |
| Visuals | 8 |
| Collisions | 7 |
| Materials | 2 |
Meshes
Formats: stl.
Asset size: 4.1 MB.
Dropped on import
| Tag | Count | Why |
|---|---|---|
mimic | 1 | joint coupling (mimic) is not representable yet; the joint imports as independent |
Forward-kinematics check
Forward kinematics of 9 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.1e-16 rad.
MuJoCo
robot.xml compiles in MuJoCo with its meshes (nq = 6).
Source & licence
| Repository | https://github.com/ROBOTIS-GIT/open_manipulator |
|---|---|
| Commit | bc555a9c41ebd7493dc945ddabc43fc649681b62 |
| Original file | open_manipulator_description/urdf/open_manipulator_x/open_manipulator_x.urdf |
| 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.