# 7. ROS1-Robot Arm URDF Modeling & Simulation ## 7.1 URDF Model ### 7.1.1 URDF Model Introduction The Unified Robot Description Format (URDF) is an XML file format widely used in ROS (Robot Operating System) to comprehensively describe all components of a robot. Robots are typically composed of multiple links and joints. A link is defined as a rigid object with certain physical properties, while a joint connects two links and constrains their relative motion. By connecting links with joints and imposing motion restrictions, a kinematic model is formed. The URDF file specifies the relationships between joints and links, their inertial properties, geometric characteristics, and collision models. * **Comparison between Xacro and URDF Model** The URDF model serves as a description file for simple robot models, offering a clear and easily understandable structure. However, when it comes to describing complex robot structures, using URDF alone can result in lengthy and unclear descriptions. To address this limitation, the xacro model extends the capabilities of URDF while maintaining its core features. The xacro format provides a more advanced approach to describe robot structures. It greatly improves code reusability and helps avoid excessive description length. For instance, when describing the two legs of a humanoid robot, the URDF model would require separate descriptions for each leg. On the other hand, the xacro model allows for describing a single leg and reusing that description for the other leg, resulting in a more concise and efficient representation. * **XML Basic Syntax** The URDF model is written using XML standard. **Elements**: An element can be defined as desired using the following formula: **\** **\** **Properties**: Properties are included within elements to define characteristics and parameters. Please refer to the following formula to define an element with properties: **\** **\** **Comments**: Comments have no impact on the definition of other properties and elements. Please use the following formula to define a comment: **\