Building Your Own Robot

Building a world

원하는 디렉토리로 이동하고 아래 명령어를 통해 sdf 파일을 제작한다.

touch building_robot.sdf

파일을 제작한뒤 ls 명령어를 통해 올바르게 파일이 생성 되었는지 확인하고

nano building_robot.sdf

명령어를 통해 텍스트 편집기를 이용해 파일을 편집한다.

해당 building_robot.sdf 파일에 아래 코드를 입력

<?xml version="1.0" ?>
<sdf version="1.10">
    <world name="car_world">
        <physics name="1ms" type="ignored">
            <max_step_size>0.001</max_step_size>
            <real_time_factor>1.0</real_time_factor>
        </physics>
        <plugin
            filename="gz-sim-physics-system"
            name="gz::sim::systems::Physics">
        </plugin>
        <plugin
            filename="gz-sim-user-commands-system"
            name="gz::sim::systems::UserCommands">
        </plugin>
        <plugin
            filename="gz-sim-scene-broadcaster-system"
            name="gz::sim::systems::SceneBroadcaster">
        </plugin>

        <light type="directional" name="sun">
            <cast_shadows>true</cast_shadows>
            <pose>0 0 10 0 0 0</pose>
            <diffuse>0.8 0.8 0.8 1</diffuse>
            <specular>0.2 0.2 0.2 1</specular>
            <attenuation>
                <range>1000</range>
                <constant>0.9</constant>
                <linear>0.01</linear>
                <quadratic>0.001</quadratic>
            </attenuation>
            <direction>-0.5 0.1 -0.9</direction>
        </light>

        <model name="ground_plane">
            <static>true</static>
            <link name="link">
                <collision name="collision">
                <geometry>
                    <plane>
                    <normal>0 0 1</normal>
                    </plane>
                </geometry>
                </collision>
                <visual name="visual">
                <geometry>
                    <plane>
                    <normal>0 0 1</normal>
                    <size>100 100</size>
                    </plane>
                </geometry>
                <material>
                    <ambient>0.8 0.8 0.8 1</ambient>
                    <diffuse>0.8 0.8 0.8 1</diffuse>
                    <specular>0.8 0.8 0.8 1</specular>
                </material>
                </visual>
            </link>
        </model>
    </world>
</sdf>

이후 아래 명령을 통해 위 예제를 실행

gz sim building_robot.sdf

그럼 땅바닥, 햇빛이 있는 환경만 보일것.

스크린샷 2024-04-01 오후 2.36.33.png

Building a model

</model> 태그 아래에 우리는 아래코드를 입력하여 로봇 모델을 추가

<model name='vehicle_blue' canonical_link='chassis'>
    <pose relative_to='world'>0 0 0 0 0 0</pose>

스크린샷 2024-04-01 오후 2.42.51.png

모델의 이름은 ‘vehicle_blue’로 지정했다.