What is URDF?
URDF, short for Unified Robot Description Format, is a standard way of describing what a robot physically is. It is an XML format that represents a robot as a tree of links and joints, where each link is a rigid body, such as an arm segment or the base, and each joint defines how two links are connected and how they can move relative to each other. Alongside this structure, a URDF captures the robot's geometry for visualization and collision checking, and physical properties like mass and inertia. In effect, it is a machine-readable blueprint of the robot's body.
The value of having a single description format is that many different tools can then share the same understanding of a robot. A URDF can drive a simulator, feed a visualizer, and inform motion planning and control, all from one consistent model. It was introduced within the ROS ecosystem to standardize how robot models are stored and exchanged, and it has since been widely adopted, including by simulators beyond ROS. Because it encodes the robot's kinematic structure and degrees of freedom, a URDF is closely tied to the notion of a robot's embodiment, describing exactly the body that control and learning have to work through.
Key takeaways
- URDF is an XML format describing a robot as a tree of links (rigid bodies) connected by joints.
- It captures kinematics, geometry, and physical properties so tools can simulate, visualize, and control the robot consistently.
- Introduced in the ROS ecosystem, it is a widely used standard for sharing robot models across tools and simulators.
How it works
A URDF file lays out the robot as a hierarchy: links represent the rigid parts, and joints connect them, specifying the type of motion allowed, the axis of movement, and how one link is positioned relative to its parent. Each link can carry visual geometry, collision geometry, and inertial properties. Together these define both how the robot looks and how it moves, so a tool reading the URDF can reconstruct the robot's kinematic chain and physical layout. That shared model is what lets a simulator, a visualizer, and a motion planner all reason about the same robot in compatible ways, without each needing its own bespoke description.
Why it matters
URDF matters because a common, machine-readable description of a robot's body is foundational to the whole toolchain around it, from simulation to visualization to control. For anyone working in robotics, it is the artifact that pins down an embodiment precisely enough for software to work with, and its wide adoption means models can be shared and reused across projects and tools. Understanding URDF clarifies how a robot's physical structure gets communicated to the many systems that need to know it, which is a prerequisite for consistent simulation and control.
Frequently asked questions
What does a URDF describe?
It describes a robot's physical model as a tree of links and joints, capturing the kinematic structure, geometry for visualization and collision, and physical properties like mass and inertia. In short, it is a machine-readable blueprint of the robot's body.
What is URDF used for?
It provides a single, shared robot model that many tools can use, including simulators, visualizers like RViz, and motion planners. Having one consistent description avoids each tool needing its own separate representation of the robot.
How does URDF relate to a robot's embodiment?
A URDF encodes the robot's links, joints, and degrees of freedom, which is essentially a description of its embodiment. It specifies the exact body through which control and learning must operate, so it captures the physical form that defines the robot.
Related terms