[RELLIS-3D] Warthog 로봇에서 IMU 데이터 받아오기

지토·2023년 4월 30일
0

현재 사용하고 있는 RELLIS-3D 데이터셋은 Warthog 로봇으로 획득한 것이다.

따라서 나의 실험 시뮬레이션에서도 Warthog 로봇을 사용했는데, 기본 세팅으로는 센서가 정의 되어 있긴 하지만 아무 데이터도 rostopic list 로 확인이 되지 않아서,
Gazebo 에서 이 센서를 사용하도록 설정해 주어야 한다.

(사담 : 당연히 처음에는 Turtlebot3 를 사용해 보았는데, 종잇장처럼 얕은 경사도 오르지 못했기 때문에 도저히 사용할 수 없었다)

Gazebo 시뮬레이션 설정

ㄴ src
	ㄴ warthog_simulator
    	ㄴ warthog_description
        	ㄴ urdf
            	ㄴ warthog.urdf.xacro

이 위치에 들어있는 warthog.urdf.xacro 파일에 다음 부분을 추가해준다.

<gazebo>
    <plugin name="imu_plugin" filename="libgazebo_ros_imu.so">
      <alwaysOn>true</alwaysOn>
      <updateRate>1000.0</updateRate>
      <bodyName>imu_link</bodyName>
      <topicName>imu_data</topicName>
      <gaussianNoise>0.05</gaussianNoise>
      <xyzOffset>0 0 0</xyzOffset>
      <rpyOffset>0 0 0</rpyOffset>
      <visualize>true</visualize>
    </plugin>
  </gazebo>

다음 코드는 imu_plugin 이라는 플러그인을 로드한다. 이 플러그인은 IMU 데이터를 생성하고, imu_link 에서 이 데이터를 읽어와 imu_data 라는 이름의 토픽으로 발행한다.

이후 로봇을 Gazebo 상에서 로드하면 다음과 같이 imu 토픽을 받아올 수 있다.

0개의 댓글