🤖 AI Learning Companion
Agent Skills:
Understanding URDF
Unified Robot Description Format​
To control a robot, we first need to describe it. URDF is an XML format used in ROS to describe all the elements of a robot, including its physical dimensions, visual appearance, and collision properties.
Structure of a URDF​
A URDF file consists of Links (rigid bodies) and Joints (connections between links).
Links​
Links represent the physical parts of the robot (e.g., forearm, hand).
<link name="upper_arm">
<visual>
<geometry>
<cylinder length="0.3" radius="0.05"/>
</geometry>
<material name="silver"/>
</visual>
<collision>
<geometry>
<cylinder length="0.3" radius="0.05"/>
</geometry>
</collision>
<inertial>
<mass value="1.0"/>
<inertia ixx="0.01" ixy="0.0" ixz="0.0" iyy="0.01" iyz="0.0" izz="0.01"/>
</inertial>
</link>
Joints​
Joints define how links move relative to each other (e.g., revolute, prismatic).
<joint name="elbow_joint" type="revolute">
<parent link="upper_arm"/>
<child link="forearm"/>
<!-- ... see examples/module-1/robot.urdf for full context -->
</joint>
Hands-on: Visualizing the URDF​
We have provided a sample URDF file in examples/module-1/robot.urdf.
You can view this file to understand how links and joints are nested.
In a full ROS 2 environment, you would verify it with:
check_urdf examples/module-1/robot.urdf
For Humanoids​
For humanoid robots, the URDF becomes complex, involving:
- Kinematic Chains: Serial chains of links for arms and legs.
- End Effectors: The hands or grippers.
- Dynamics: Accurate mass and inertia matrices are crucial for stable walking simulation.