본격적으로 LIO 계열 SLAM 알고리즘을 분석하기에 앞서 MTi-100 센서로 부터 데이터를 읽어 오도록 하자.
아래 포스팅은 MTi-100 설치 실행을 정리했던 글이다.
XSens MTi-100 IMU 센서 설치 및 실행
라이다 센서와 IMU 센서를 융합한 LIO (Lidar-Inertial Odometry) 계열 알고리즘을 살펴봐야해서 IMU 센서를 테스트 해보고자 한다. 사용할 IMU 센서는 xsens MTi-100 이고, 해당 제품을 사용하려면 센서와 USB
seansun79.tistory.com
글의 말미에
roslaunch xsens_mti_driver display.launch 로 mti 센서 데이터를 rostopic 으로 publish 할 때,
/imu/dq , /imu/dv , /imu/mag 데이터는 받아오는데 /imu/data 메세지는 받지 못하는 것에 대해 언급했다.
위 문제를 해결하기 위해서는 위 포스팅에서 참조했던 블로그에서
ROS 토픽 중 일부 신호가 나오지 않을 때 mtmanager 프로그램을 통해 설정을 변경해야 한다고 되어있다.
그래서 mtmanager 에서 센서 데이터 설정을 변경하고 다시 rostopic 을 확인 해 보자.
위 상태가 Default 로 설정되어 있는 Device Setting 상태이다.
이제 빈 체크 박스에 데이터를 다 받아 보도록 변경하고 Apply 버튼을 눌러 적용시키자.
이제 다시
roslaunch xsens_mti_driver display.launch 런처를 실행하고 rostopic 을 확인해 보자.
아래는 rostopic echo /imu/data 토픽의 결과다.
LIO-SAM 에서 처리하는 sensor_msgs::Imu 타입의 메세지 형태로 데이터가 출력되는 것을 확인 할 수 있다.
이제 데이터를 저장하고 LIO 알고리즘에 데이터 셋으로 활용해 보자.
[2024.08.28 내용 추가]
lio_sam 에서 imu 데이터를 사용하는데, 위 그럼에서 처럼 orientation 데이터가 MTi-100 에서는 나오지가 않는다.
그런데 lio_sam 에서 mapOptimization을 수행하기 위해 imu의 Orientation 값을 사용한다!!
코드를 살펴보자.
위 코드는 Utility.h 파일에 포함되어 있는 imuRPY2rosRPY 함수인데,
여기에서 셋팅된 imu의 orientation 정보가 필요하다.!!
MTi-100 orientation 검색어로 구글에서 검색해보니, Movella 홈페이지에 해당 내용에 대한 질문이 있다.
We use the MTI 100 IMU to calculate the orientation of our system. Unfortunately, the MTI 100 does only output raw data and no o
base.movella.com
내용을 보니 MTi-100 에서 Orientation 정보가 안나오냐는 질문인데, 답변은 온보드에서 제공하지는 않고,
계산해서 써야한다는거다...
후아... 일단 온보드에서 orientation 값이 제공되는 다른 제품을 빨리 구매 해야 할듯 하다..
참고로 아래 링크는 IMU와 GNSS/INS 센서 사이의 출력 데이터를 설명한 페이지다.
정리가 잘 되어 있는 것 같아 링크를 남겨본다.
From IMU to GNSS/INS
mtidocs.movella.com
'IT 개발 > Sensor' 카테고리의 다른 글
IMU 센서 종류, 동작 원리 등 정리 문서 (0) | 2024.11.12 |
---|---|
XSens MTi-100 IMU 센서 설치 및 실행 (0) | 2024.05.09 |
Livox MID-40 라이다 센서 연결하기 (feat. 납땜) (1) | 2024.01.19 |
ZED ROS Package installation on Ubuntu 18.04 (0) | 2023.07.21 |
Ubuntu 에서 Velodyne VLP-16 데이터 Visualize 하기 (2) | 2023.06.02 |