Inferensys

Glossary

URDF (Unified Robot Description Format)

URDF is an XML-based file format used in ROS to define a robot's geometry, kinematics, visual appearance, and inertial properties for simulation and control.
Stylish WeWork-like workspace with hot desks and document wall, professional searching through enterprise knowledge base on a mounted ultrawide display, warm industrial pendants overhead.
EMBODIED AI FRAMEWORKS

What is URDF (Unified Robot Description Format)?

URDF is the foundational XML schema for describing a robot's physical and kinematic properties within the Robot Operating System (ROS) ecosystem.

URDF (Unified Robot Description Format) is an XML-based file format used to define a robot's physical structure, kinematics, dynamics, and visual representation for simulation and control. It describes a robot as a tree of links (rigid bodies) connected by joints (movable connections), specifying their geometry, inertial properties, and coordinate transformations. This standardized description is essential for tools like RViz for visualization, Gazebo for simulation, and the ROS robot_state_publisher for coordinate frame management.

While URDF excels at describing single, monolithic robots, its limitations for complex, modular systems led to the development of SDF (Simulation Description Format). URDF is a core component of the Robot Operating System (ROS) middleware, enabling interoperability between perception, planning, and control software stacks. It provides the critical geometric and inertial model required for algorithms performing inverse kinematics (IK), motion planning, and collision detection, forming the digital blueprint for any robot operating within the ROS framework.

URDF (UNIFIED ROBOT DESCRIPTION FORMAT)

Core Components of a URDF File

A URDF file is an XML document that defines a robot's physical structure and properties. It is the standard format in ROS for describing a robot's links (rigid bodies), joints (connections between links), and their relationships.

01

Link Element

A link element defines a rigid body segment of the robot, representing a single physical part like a chassis, wheel, or gripper finger. Each link contains properties describing its physical characteristics:

  • Inertial: Mass and 3D inertia matrix, crucial for dynamic simulation.
  • Visual: The 3D geometry (mesh or primitive) and material (color/texture) for rendering.
  • Collision: A (often simplified) geometry used for physics engine contact calculations.
02

Joint Element

A joint element defines the kinematic connection between two links. It specifies the type of movement allowed and the relationship between the parent and child links. Key attributes include:

  • Type: continuous (unlimited rotation), revolute (limited rotation), prismatic (linear slide), fixed (no movement), floating, or planar.
  • Axis: The vector (x, y, z) around or along which movement occurs.
  • Origin: The transform from the parent link's frame to the child link's frame.
  • Limits: For revolute and prismatic joints, the lower and upper bounds of motion.
03

Kinematic Tree Structure

A URDF model must form a kinematic tree, a connected graph with no closed loops. This means every link (except the root) has exactly one parent joint. The tree structure is defined by the parent and child attributes within each joint. The base link is the root of this tree. While URDF itself does not support parallel mechanisms or closed chains, they can be approximated using fixed joints or require extensions like SDF.

04

Visual vs. Collision Geometry

URDF separates the concepts of how a robot looks from how it physically interacts.

  • Visual Geometry: Used for graphical rendering (e.g., in RViz). Can be high-detail meshes (.stl, .dae) for realism.
  • Collision Geometry: Used by the physics engine (e.g., in Gazebo). Should be simplified primitives (boxes, cylinders, spheres) or convex hulls for faster and more stable simulation. The collision geometry is often a less detailed approximation of the visual mesh.
05

Inertial Properties

The inertial tag within a link is mandatory for accurate dynamic simulation. It defines:

  • Mass: In kilograms.
  • Origin: The center of mass for the link.
  • Inertia: A 3x3 rotational inertia matrix (often diagonal: ixx, iyy, izz, ixy, ixz, iyz). Incorrect or missing inertial properties will cause simulation to behave unrealistically or fail. For simple shapes, these can be calculated analytically; for complex meshes, tools can compute approximations.
06

Extensions and Limitations

While URDF is foundational, it has known limitations addressed by other formats and tools:

  • No Sensors: URDF describes structure, not sensors. Sensors are added in simulation worlds (SDF) or via ROS plugins.
  • No Closed Loops: Cannot natively describe parallel mechanisms (e.g., a Stewart platform).
  • Static Description: Cannot change parameters at runtime.
  • Xacro (XML Macros): A macro language used to create modular, reusable, and parameterized URDF files, enabling programmatic generation of robot descriptions.
  • SDF: The Simulation Description Format is a more feature-rich successor used in Gazebo, supporting nested models, loops, and plugins.
ROBOT MODELING

How URDF Works in the Robotics Pipeline

URDF (Unified Robot Description Format) is the foundational XML schema used to define a robot's physical and kinematic properties for simulation and control.

A URDF file provides a static, tree-structured description of a robot's links (rigid bodies) and joints (connections defining motion). It specifies geometry for collision and visualization, inertial properties (mass, inertia tensor), and joint types (revolute, prismatic, fixed). This model is parsed by the Robot Operating System (ROS) and other frameworks to create a computational kinematic tree, enabling forward/inverse kinematics calculations and serving as the geometric basis for physics engines like Gazebo and MuJoCo.

In the development pipeline, the URDF is the central reference for simulation, motion planning, and control. Simulation Description Format (SDF), used in Gazebo, often wraps or extends URDF models with world context. For reinforcement learning or imitation learning in simulators like Isaac Sim, the URDF defines the agent's embodiment. It is also critical for visualization in RViz and for generating the robot state needed by Model Predictive Control (MPC) and inverse kinematics (IK) solvers in real-time control loops.

ROBOTIC MODELING STANDARD

Primary Use Cases for URDF

URDF (Unified Robot Description Format) is the foundational XML schema for describing a robot's physical and kinematic properties within the Robot Operating System (ROS) ecosystem. Its primary applications span simulation, control, and visualization.

02

Kinematic & Dynamic Analysis

URDF provides the complete kinematic tree required for real-time state estimation and control. Robotics libraries like KDL (Kinematics and Dynamics Library) parse URDF to:

  • Compute forward kinematics to determine end-effector pose from joint angles.
  • Calculate inverse kinematics solutions for motion planning.
  • Derive the Jacobian matrix for velocity control and singularity analysis.
  • Build the dynamic model for model-based controllers like computed-torque control. The precise specification of link relationships and joint axes is critical for these calculations.
04

Unified Configuration for Control Stacks

URDF serves as a single source of truth for a robot's physical parameters across all software modules. This ensures consistency between:

  • The move_group node in MoveIt for motion planning.
  • The robot_state_publisher node, which broadcasts the transform (TF) tree describing the relationship of all robot links.
  • Localization and perception pipelines that need to know sensor mounting positions.
  • Controller managers that send commands to specific joints. This eliminates configuration drift and manual parameter duplication.
05

Model Sharing & Ecosystem Interoperability

As a standardized, human-readable XML format, URDF facilitates the sharing and reuse of robot models across the global ROS community. Key benefits include:

  • Public repositories like the ROS wiki host URDFs for common robots (e.g., PR2, TurtleBot, Universal Robots arms).
  • Enables benchmarking and algorithm comparison on identical simulated robot models.
  • Provides a common interface for tooling; converters exist to translate URDF into formats for MuJoCo, PyBullet, and Webots.
  • Simplifies the process of modeling custom robots for research and development.
URDF

Frequently Asked Questions

URDF (Unified Robot Description Format) is the fundamental XML schema for describing a robot's physical structure in ROS. These questions address its core mechanics, limitations, and role in the modern robotics stack.

URDF (Unified Robot Description Format) is an XML-based file format used to define a robot's physical and kinematic properties for simulation and visualization in the Robot Operating System (ROS). It works by describing a robot as a tree of links (rigid bodies) connected by joints (movable connections). Each link contains elements for its visual geometry (for display), collision geometry (for physics simulation), and inertial properties (mass, inertia tensor). Joints define the kinematic relationship between links, specifying the type (e.g., revolute, continuous, fixed), axis of rotation/translation, and limits. The URDF file is parsed by ROS tools like robot_state_publisher to compute and broadcast the transform (TF) tree, which provides the 3D pose of every robot part in real-time.

Prasad Kumkar

About the author

Prasad Kumkar

CEO & MD, Inference Systems

Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.

His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.