1 Introduction
URDF is the Unified Robot Description Format for specifying robot geometry and organization in ROS.
2 Grammar
2.1 Introduction to Syntax
material    color
link
    geometry
    origin
    material
joint
    parent
    child
    origin
    limit
    axis
2.2 Complete syntax
<robot>
    # describe:
    # Parameters: name=""
    #  Child node:
        <link>
            # Description:
            # Parameters:name=""
            # Child node:
                <visual>
                    # describe:
                    # Parameters:
                    # child nodes: 
                        <geometry>
                            # description
                            # parameters
                            # Child node: 
                                <cylinder />
                                    # Description:
                                    # Parameters:
                                        # length="0.6"
                                        # radius="0.2"
                                <box />
                                    # description
                                    # Parameters:size="0.6 0.1 0.2"
                                <mesh />
                                    #  Description
                                    #Parameters: filename="package://urdf_tutorial/meshes/l_finger_tip.dae"
                        <collision>
                            # Description: collision element, prioritized
                            # parameters
                            # child node 
                                <geometry>
                        <inertial>
                            # description
                            # parameters
                            # Child nodes: 
                                <mass />
                                    # description: mass
                                    # Parameters: value=10
                                <inertia />
                                    # Description: Inertia
                                    # Parameters: i+"Cartesian product of xyz" (9 in total)="0.4"
                        <origin />
                            # Description:
                            # Parameters:
                                # rpy="0 1.5 0"
                                # xyz="0 0 -0.3"
                        <material />
                            # Description
                            # Parameters:name="blue"
        <joint>
            # Description
            # Parameters:
                # name=""
                # type=""
                    # fixed
                    # prismatic
            # child node
                <parent />
                    # Description
                    # Parameters:link=""
                <child />
                    # Description:
                    # Parameters:link=""
                <origin />
                    # Description:
                    # Parameters:xyz="0 -0.2 0.25"
                <limit />
                    # Description
                    # Parameters:
                        # effort="1000.0"    maximum effort
                        # lower="-0.38"      Joint upper limit (radians)
                        # upper="0"          Joint lower limit (radians)
                        # velocity="0.5"     Maximum velocity 
                <axis />
                    # Description: Press ? axis rotation
                    # Parameters:xyz="0 0 1",along the Z axis
        <material>
            # Description:
            # Parameters:name="blue"
            # child node:
                <color />
                    # description:
                    # Parameters:rgba="0 0 0.8 1"
3 Example
3.1 Install dependent libraries
sudo apt install ros-foxy-joint-state-publisher-gui ros-foxy-joint-state-publishersudo apt install ros-foxy-xacro  
3.2 Download the source code
cd ~/dev_wsgit clone -b ros2 https://github.com/ros/urdf_tutorial.git src/urdf_tutorial
3.3 Compiling the source code
colcon build --packages-select urdf_tutorial
3.4 Running the example
ros2 launch urdf_tutorial display.launch.py model:=urdf/01-myfirst.urdf