Blog #4 — URDF
- asmartiba4
- Mar 5, 2024
- 1 min read
Updated: Apr 28

I'm using the UR5 robot model using a URDF file. This research helps create digital twins—virtual models simulating the robot's physics and movements, used for testing scenarios in a virtual environment.
<joint name="shoulder_pan_joint" type="revolute">
<parent link="base_link"/>
<child link="shoulder_link"/>
<origin rpy="0 0 0" xyz="0 0 0.089159"/>
<axis xyz="0 0 1"/>
<limit effort="150.0" lower="-3.14159265359" upper="3.14159265359" velocity="3.15"/>
<dynamics damping="0.0" friction="0.0"/>
</joint>
<link name="shoulder_link">
<visual>
<geometry>
<mesh filename="package://ur5/visual/shoulder.dae"/>
</geometry>
<material name="LightGrey">
<color rgba="0.7 0.7 0.7 1.0"/>
</material>
</visual>
<collision>
<geometry>
<mesh filename="package://ur5/collision/shoulder.stl"/>
</geometry>
</collision>
<inertial>
<mass value="3.7"/>
<origin rpy="0 0 0" xyz="0 0 0"/>
<inertia ixx="0.012067495893" ixy="0.0" ixz="0.0" iyy="0.012067495893" iyz="0.0" izz="0.00666"/>
</inertial>
</link>
<joint name="shoulder_lift_joint" type="revolute">
<parent link="shoulder_link"/>
<child link="upper_arm_link"/>
<origin rpy="0 -1.57079632679 0" xyz="0 0.13585 0"/>
<axis xyz="0 1 0"/>
<limit effort="150.0" lower="-3.14159265359" upper="3.14159265359" velocity="3.15"/>
<dynamics damping="0.0" friction="0.0"/>
</joint>
Overview
A URDF file is like XML, including Links, Joints, Transmission, and mesh files (DAE, STL). It contains kinematic equations accessible via certain libraries. After some research, the closed-chain-ik library seemed promising but isn't package-friendly, so I'll use it internally.

Conclusions:
After days of work, the UR5 robotic arm's kinematics are configured on the web. The chain movement is calculated based on its target, effector, and degree of freedom (DOF).
Challenges:
Physics configuration shows promise, but the collision mechanism is undefined, causing issues during collisions or with unreachable targets. These issues are reported as STALLED, TIMEOUT, CONVERGED, or DIVERGED.