IT 개발/LiDAR-SLAM

2024.10.21_1fl 데이터 LIO-SAM 테스트 (자이로값 수정)

KimDol2 2024. 11. 12. 16:20

 

LIO-SAM 알고리즘 테스트를 하기위해 myAHRS+ IMU 센서를 사용하고 있다.

그런데, 움직이지 않아도 계속 한쪽 방향으로 흐르는 경향이 있어 IMU 값이 문제가 있는것 같아

imuPreintegration.cpp 파일에서 IMU 값을 사용하는 부분을 변경해 봤다.

(odometryHandler() 함수 처리 부분)

 

  imuIntegratorImu_->integrateMeasurement(

          gtsam::Vector3(thisImu->linear_acceleration.x, thisImu->linear_acceleration.y, thisImu->linear_acceleration.z),

          gtsam::Vector3(0.0, thisImu->angular_velocity.y, thisImu->angular_velocity.z), dt);

 

gtsam::PreintegratedImuMeasurements  클래스 멤버인 imuIntegratorImu_->integrateMeasurement() 함수에 

angular_velocity.x 값을 0 으로 셋팅했다. 

(사실 -y 축 방향으로 흐르는 현상이 발생해서 y 축값을 0 으로 했었는데 문제가 해결되지 않았다.)

 

솔직히 지금 센서를 통해 들어오는 자이로스코프 값이 정상인지 비정상인지 잘 모르겠다. 

myAHRS+ 센서 모니터를 통해 보면 정상인것 같은데... IMU 값을 받아서 preIntegration 을 수행하면

점점 SLAM 이 -y 축 방향으로 흐르니...

 

아무튼 위와 같이 imuIntegratorImu_ 멤버와 imuIntegratorOpt_ 멤버의 integrateMeasurement() 함수에서 

자이로스코프 값 중 x 값을 0을 셋팅하고 돌려보니 결과가 원하는대로 나온다.

 

그래도 작은 공간에서 회전을 하면 Rotation 이 많이 깨진다 ㅠㅠ 

 

 

 

반응형