해당 튜토리얼은 Moving The Robot 튜토리얼의 연장판.
여기서는 우리는 sensors를 추가하는 법과 다른 모델을 world에 추가하는 법을 배움.
3개의 센서를 사용할것 ⇒ IMU sensors , Contact sensor , Lidar sensor
우리는 하나의 파일을 사용하여 gz launch
명령어를 통해 여러 작업을 동시에 실행하는 법 또한 학습
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>
IMU 센서는?
위 코드는 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>
<always_on>
: true 인 경우 센서는 항상 업데이트 속도에 따라 업데이트됩니다.<update_rate>
: 센서 데이터가 생성되는 빈도.<visualize>
: true인 경우 센서가 GUI에 시각화됩니다.<topic>
: 데이터가 게시되는 topic의 이름입니다.