해당 튜토리얼은 Moving The Robot 튜토리얼의 연장판.

여기서는 우리는 sensors를 추가하는 법과 다른 모델을 world에 추가하는 법을 배움.

3개의 센서를 사용할것 ⇒ IMU sensors , Contact sensor , Lidar sensor

우리는 하나의 파일을 사용하여 gz launch 명령어를 통해 여러 작업을 동시에 실행하는 법 또한 학습

Preliminaries

SDF파일에 플러그인을 추가할 때 기본적으로 로드되는 플러그인이 없는 경우, 기본 플러그인이 로드가 안됨.

따라서 센서를 추가하기 전에 GZ GUI를 계속 사용할 수 있도록 몇 가지 논리적인 기본값을 world에 추가해야 함.

기존에 있던 building_robot.sdf 파일을 복제해 sensor_tutorial.sdf 파일을 생성한뒤 ⇒ 제일 아래의 <plugin>을 추가 해줌(imu sensor)

    <plugin
        filename="gz-sim-physics-system"
        name="gz::sim::systems::Physics">
    </plugin>
    <plugin
        filename="gz-sim-scene-broadcaster-system"
        name="gz::sim::systems::SceneBroadcaster">
    </plugin>

    <!-- ... -->
<plugin filename="gz-sim-imu-system"
        name="gz::sim::systems::Imu">
</plugin>

위 코드는 world에서 사용될 IMU 센서 플러그인을 정의한다.

위 플러그인을 추가함으로써 우리는 IMU 센서를 우리의 로봇에 아래 처럼 추가가 가능하다.

chassis <link> 하부에 아래 센서를 추가하자.

<sensor name="imu_sensor" type="imu">
    <always_on>1</always_on>
    <update_rate>1</update_rate>
    <visualize>true</visualize>
    <topic>imu</topic>
</sensor>