다음과 같은 로봇을 URDF를 이용해 모델링 해봅시다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/cb9915ab-eaca-4ac0-8fd6-7c384a36b778/Untitled.png

먼저 URDF 정보를 저장할 패키지를 생성합니다.

$ cd ~/catkin_ws/src
$ catkin create pkg mobile_robot1_description
$ catkin build
$ source ~/.bashrc

이제 패키지 디렉토리로 이동하고, urdf 디렉토리 아래에 robot.udf 파일을 생성하고 모델링을 시작합니다.

$ roscd mobile_robot1_description
$ mkdir urdf
$ cd urdf
$ touch robot.urdf

robot.urdf 파일을 편집기를 이용해 열고, 입력 시작.

처음은 <robot></robot>으로 시작

<?xml version="1.0" ?>
<robot name="mobile_robot" xmlns:xacro="<http://www.ros.org/wiki/xacro>">
</robot>

몸통 링크 (base_link, base_footprint)를 만들어봅시다.

<?xml version="1.0" ?>
<robot name="mobile_robot" xmlns:xacro="<http://www.ros.org/wiki/xacro>">
		<link name="base_footprint"/>
		<link name="base_link">
        <visual>
            <origin xyz="-0.08 0 0.03" rpy="0 0 0"/>
            <geometry>
                <box size="0.3 0.26 0.1"/>
            </geometry>
            <material name="gray">
                <color rgba="0.5 0.5 0.5 1.0"/>
            </material>
        </visual>
        <collision>
            <origin xyz="-0.08 0 0.03" rpy="0 0 0"/>
            <geometry>
                <box size="0.3 0.26 0.1"/>
            </geometry>
        </collision>
		</link>
</robot>

이 두 개의 링크를 이어주는 조인트를 생성합니다.

		<joint name="base_footprint_fixed" type="fixed">
        <origin xyz="0 0 0.035" rpy="0 0 0" />
        <parent link="base_footprint"/>
        <child link="base_link"/>
    </joint>

다음으로 바퀴 링크를 만들어봅시다.