Intel® RealSense™ Depth Camera IMU(inerial measurement unit) Calibration Tool 설명 정리
출처 : IMU Calibration Tool for Intel® RealSense Depth Camera
Revision 1.4 July 2020 (일부오역이 있을 수 있음)
- 문서 목적
- depth 카메라 D435i 및 D455 카메라와 LiDAR 카메라 L515 내의 내부 측정 장치(IMU)를 효율적이고 정확하게 활용하려면, 사용자가 IMU 보정을 수행하는 것이 좋음. 이 문서는 사용자가 보정을 계산하는 제공된 샘플 파이썬 스크립트를 사용할 수 있는 가이드 역할을 함.
- 목차
- Overview
- Setup
- Calibrating and Writing Calibration Parameters with the calibration Python script
- Overview
- IMU Overview
- 직렬 측정 단위(IMU)는 종종 국제 시스템(SI)에서 일반적으로 출력되는 가속도를 측정하는 가속도계로 구성되어 있으며, 초당 미터 단위(m/s^2)임. 일반적으로 초당 라디안(rad/s)의 SI 단위로 각속도를 측정하는 자이로스코프로 구성됨. D435i 및 D455 카메라와 L515 내의 IMU도 다르지 않으며 구성 가능한 출력 주파수의 가속도계와 자이로스코프가 모두 포함되어 있음.
- IMU Calibration Parameters
- IMU 교정 매개 변수에는 intrinsic 및 extrinsic 매개 변수가 포함됨.
- intrinsic parameters
- 가속도계
- Scale factor(S로 표기) : 출력이 미터법 척도인지 확인하기 위해 원시 측정을 곱하는 데 사용
- Bias(zero offset) : 센서가 0을 읽어야 할 때 0이 아닌 값을 취소하는 데 사용
- Off-axis terms(C로 표기) : 가속도계의 축이 직각이 아닌 경우 수정하는 데 사용
- 자이로스코프
- Bias(zero offset) : 센서가 0을 읽어야 할 때 0이 아닌 값을 취소하는 데 사용
- Instrinic 매개 변수는 sersor의 부정확성을 모델링하여 원시 센서 데이터를 실제 측정으로 변환
- 가속도계
- extrinsic parameters
- 회전 : 왼쪽 적외선(IR) 카메라(IR1)에서 IMU로의 회전, 3x3 회전 행렬로 지정
- 변환 : 왼쪽 IR 카메라에서 IMU로의 변환으로, 밀리미터 단위의 3x1 벡터로 지정
- intrinsic parameters
- IMU 교정 매개 변수에는 intrinsic 및 extrinsic 매개 변수가 포함됨.
- Limitations and Accuracy
- 제공된 도구는 전반적인 교정 결과를 잘 달성하지만, 모든 단계를 따르지 않으면 교정은 정확하지 않음. 아래 요인들이 교정 성능에 영향을 미칠 수 있음
- 보정을 위해서는 카메라 장치를 6개의 지정된 방향과 정렬로 배치해야 함(가로 또는 수직으로 방향에 따라 다름). 정렬은 오류를 최소화하고 정확성을 향상시킴. 중력에 가장 가까운 정렬을 보장하기 위해 3축 레벨을 권장
- 이 도구는 모든 방향을 최적화하는 반면, 평균 가속도 결과는 중력 가속도(9.8m/s^2)에 가깝고, 때때로 개별 방향의 가속도는 완벽한 중력 가속도보다 약간 낮거나 초과될 수 있음
- 제공된 도구는 전반적인 교정 결과를 잘 달성하지만, 모든 단계를 따르지 않으면 교정은 정확하지 않음. 아래 요인들이 교정 성능에 영향을 미칠 수 있음
- IMU Overview
- Setup
- Hardware
- Device
- Intel® RealSense Depth Camera D435i
- Intel® RealSense Depth Camera D455
- Intel® RealSense LiDAR Camera L515
- USB : type C
- PC
- Windows* 10, Ubuntu* 16.04, and Ubuntu 18.04
- Software
- Python Calibration Script
- rs-imu-calibration.py는 https://github.com/IntelRealSense/librealsense 참조 (디렉토리 : tools/rs-imu-calibration)
- Intel® RealSenseTM SDK 2.0
- Intel® RealSenseTM SDK Home Page https://software.intel.com/en-us/realsense/sdk
- LibRealSense GitHub https://github.com/IntelRealSense/librealsense
- SDK Documentation https://github.com/IntelRealSense/librealsense/tree/master/doc
- Python Wrapper https://github.com/IntelRealSense/librealsense/tree/master/wrappers/p ython
- Pip / Numpy / Enum (Python 2.7 기준임)
- Python Calibration Script
- Device
- Hardware
- Calibrating Device with the Python Calibration Script
- Process Overview
- 파이썬 보정 스크립트로 장치를 보정하여 스크립트를 시작하여 6개의 다른 위치에서 IMU 데이터를 캡처한 다음 매개 변수를 계산하고 결과를 카메라에 기록
- Running the rs-imu-calibration.py
- Starting the process
- bash나 cmd prompt에서 실행
- Capturing IMU data from 6 positions
- 제공된 calibration 파이썬 스크립트의 알고리즘이 calibration을 계산하기 위해 3~4초씩 6개의 position으로 장치를 잡아주어야 한다. 각 위치에서 카메라를 가능한 한 안정적으로 잡아야 함
- 각 위치의 목표는 IMU 축을 중력 방향과 아래에 설명된 순서대로 정렬하는 것임.
- D435i and D455 (두 제품의 calibration 절차는 비슷함)
- Position #1 – Mounting screw pointing down, device facing out
- 삼각대 구멍이 있는 곳이 하단이다. 지면에 자연스럽게 놓는다.
- 녹화를 시작한 후, 카메라를 3~4초 동안 그대로 둔다. 파이썬 스크립트가 안내 제공함
- Position #2 – Mounting screw pointing left, device facing out
- 같은 방향을 바라보고 삼각대 구멍이 왼쪽으로 향하게 90도 회전한다.
- 3~4초 기다려준다.
- Position #3 – Mounting screw pointing up, device facing out
- 추가로 90도 회전하여 삼각대 구멍이 하늘을 향하게 회전한다.(3~4초 대기)
- Position #4 – Mounting screw pointing right, device facing out
- 추가로 90도 회전하여 삼각대 구멍이 오른쪽을 향하게 회전한다.(3~4초 대기)
- Position #5 – Viewing direction facing down
- 리얼센스 로고가 하늘을 향하고, 렌즈표면이 지면을 향하게 둔다.(3~4초 대기)
- Position #6 – Viewing direction facing up
- 렌즈가 하늘을 향하도록 180도 회전하여 둔다.
- 녹화를 마칠때까지 카메라를 놔둔다
- Position #1 – Mounting screw pointing down, device facing out
- L515
- Position #1 – Mounting screw pointing down, device facing out
- 삼각대 구멍이 있는 곳이 하단이다. 지면에 자연스럽게 놓는다.
- 녹화를 시작한 후, 카메라를 3~4초 동안 그대로 둔다. 파이썬 스크립트가 안내 제공함
- Position #2 – Mounting screw pointing left, device facing out
- 삼각대 구멍이 왼쪽을 향하도록 90도 방향으로 회전(3~4초 대기)
- Position #3 – Mounting screw pointing up, device facing out
- 추가로 90도 회전하여 삼각대 구멍이 하늘을 향하게 회전한다.(3~4초 대기)
- Position #4 – Mounting screw pointing right, device facing out
- 추가로 90도 회전하여 삼각대 구멍이 오른쪽을 향하게 회전한다.(3~4초 대기)
- Position #5 – Viewing direction facing down
- 리얼센스 로고가 하늘을 향하고, 렌즈표면이 지면을 향하게 둔다.(3~4초 대기)
- Position #6 – Viewing direction facing up
- 렌즈가 하늘을 향하도록 180도 회전하여 둔다.
- 녹화를 마칠때까지 카메라를 놔둔다
- Position #1 – Mounting screw pointing down, device facing out
- Starting the process
- Computing the calibration
- 6 position 캡쳐가 끝나면 raw data를 저장할 수 있다.
- Calibration이 계산되고 최적화 결과가 화면에 출력된다.
- Updating Results to Device
- Calibration 계산이 끝나면 결과를 업데이트할지 묻는다.
- Yes -> Done
- Process Overview
728x90
'Sensor' 카테고리의 다른 글
[LiDAR / python] intel Realsense LiDAR camera L515 시작하기(2) (0) | 2022.01.25 |
---|---|
[LiDAR / python] intel Realsense LiDAR camera L515 시작하기(1) (0) | 2022.01.25 |