IMU 센서란?
IMU(Inertial Measurement Unit) 센서란, ‘관성 측정 장치’로 신체의 힘, 각속도 또는 주변 자기장을 측정할 수 있는 전자 장치이다. IMU 센서는 보통 가속도 센서(Acceleration Sensor), 각속도 센서(Gyroscope Sensor)로 이루어진 6축 센서가 있고 지자기 센서(Magnetometer Sensor)가 추가된 9축 센서가 있다.
IMU 6축 센서는 각속도 센서에 의해 3축의 움직임을 감지하고 각 축(x, y, z)의 각속도를 측정하며 가속도 센서에 의해 각 축의 가속도를 측정한다. 3축 가속도 및 각속도 자료는 장애물 및 구배, 노면상태 등 도로환경 요소별 평균 및 표준편차 등의 차이가 나타나므로 이륜차의 주행특석 분석을 위해 활용 가능한 변수이다.
가속도 센서
가속도 센서는 물체에 가해지는 가속도의 크기를 출력하는 센서로 1축, 2축, 3축 등 축수에 의해서 타입이 나눠진다. 3축 가속도 센서의 경우 x, y, z 3축 방향의 3차원 공간에서 가속도를 측정할 수 있다. 즉, 중력 가속도를 기준으로 물체의 기울어진 각도와 각 방향의 가속도로부터 물체의 움직임을 검출할 수 있는 것이다. 이때 중력 가속도를 기준으로 물체의 기울어진 각도는 지구 중력이 수직방향일 때 중력 가속도 1G이다. 따라서 중력가속도는 기울어진 각도(sin)의 관계로 나타낼 수 있다.
가속도센서의 값들은 정지 상태에서도 중력에 의한 특정한 값을 갖기 때문에 기울어진 정도를 파악하는데 유리하다. 중력가속도는 x, y, z축의 벡터 합으로 나타낼 수 있다.
가속도 센서를 이용해 물체의 기울기 뿐만 아니라 축에 대한 회전각인 Pitch와 Roll을 구할 수 있다. 이 때 중력가속도와 일치하는 축(z 축)의 회전은 감지할 수 없기 때문에 z축의 회전각인 Yaw은 구할 수 없다. Yaw을 구하기 위해서는 자이로 센서나 지자기 센서가 추가로 필요하다.
자이로 센서
각속도 센서라고도 하는 자이로 센서는 물체의 회전각에 대한 속도를 측정하는 센서이다. 자이로 센서는 코리올리 효과를 이용하는데 코리올리 효과. 즉, 코리올리 힘은 전향력이라고도 하며 회전체의 표전 위에서 운동하는 물체에 대하여 운동 속도 방향에 수직으로 작용하는 가상의 힘을 말한다.
자이로 센서는 기본적으로 x, y, z 각 축의 각속도를 출력한다. 여기에 더해서 각속도를 이용해 회전각을 구할 수 있다.
거리 = 속력 * 시간 이기 때문에 회전각 = 각속도 * 시간으로 구할 수 있다.
따라서 단위 시간(dt)동안 측정되는 각속도를 이용하여 회전한 각도에 더해주면 회전한 각도를 구할 수 있다.
다만 적분을 하는 과정에서 적분 상수 때문에 오차가 발생하고 오차가 누적되어 추후에 정확한 측정이 힘들어진다.
지자기 센서
지자기 센서는 지구 자기장을 이용한 센서로 일반적인 음향, 진동, 가속도 센서 등과 달리 에너지원으로부터 발생된 신호를 감지하는 것이 아닌 차량, 금속물질, 자석 등에 의한 지구 자기장의 변화를 감지한다. 자기 센서의 출력은 최대 3차원으로 나타내며 x, y, z의 3축으로 나타낼 수 있다. 각 축은 물체의 진행방향, 센서의 방향에 따라 서로 직교하는 출력을 나타낸다.
지자기센서의 출력을 사용하는 방법은 크게 2가지로 나뉘다. 각 축의 출력 패턴을 그대로 이용하여 사용하는 경우와 전체 크기를 이용하는 방법으로 이때 전체 크기는 다음과 같이 구할 수 있다.
IMU와 센서 퓨전
자이로 센서나 가속도 센서를 하나만 사용해서 각도를 측정하는 방법은 당연히 간단하겠지만, 측정된 각속도를 적분해서 각도를 계산해야 하는 자이로 센서의 경우 적분 오차가 누적되는 에러를 가지고 있고, 가속도 센서의 경우 센서의 중심축이 회전중심축과 같지 않다면 병진운동성분이 포함되어 오차가 발생하는 등 단일 센서를 사용했을 때의 문제점으로 인해 여러 개의 센서를 융합해서 오차를 줄이고 정확도를 높이는 기술이 센서 퓨전이다.
대표적으로 칼만 필터를 이용한 계산법이 있다. 다만 칼만 필터의 경우 많은 연산량을 필요로 하는 단점이 있다. 상대적으로 설계가 간단한 각도 추정 필터 기법으로 자이로 센서와 가속도 센서에 각각 고역/저역통과필터를 적용한 후 조합하는 상보필터가 있다.
칼만 필터
칼만 필터는 잡음이 포함된 측정치를 바탕으로 선형 역학계의 상태를 추정하는 재귀 필터로 루돌프 칼만이 개발하였다.
칼만 필터는 물체의 측정값에 확률적인 오차가 포함되고, 또한 물체의 특정 시점에서의 상태는 이전 시점의 상태와 선형적인 관계를 가지고 있는 경우 적용이 용이하다.
칼만 필터의 알고리즘은 예측과정, 추정과정으로 분류할 수 있다. 칼만 필터 알고리즘은 시스템 모델을 기초로 다음 시각에 상태와 오차 공분산이 어떤 값이 될지 예측하고, 측정값과 예측값의 차이를 보상해서 새로운 추정값을 계산하고 이 값이 칼만 필터의 최종 결과물이 되고 이 과정을 반복한다.
상보 필터
상보필터는 가속도 센서를 이용하여 추정한 각도를 low pass filter에 통과시키고 자이로 센서를 이용하여 추정한 각도를 high pass filter에 통과시킨 결과를 합한 것이다. 쉽게 말하면 고주파 영역에서 응답 특성이 좋은 자이로 센서의 출력을 적분한 각도에는 고역통과필터를, 저주파 영역에서 응답특성이 좋은 가속도 센서에서 얻은 각도에는 저역통과필터를 적용하여 합한 것이다.
파티클 필터(Particle Filter)
파티클 필터는 최근 물체 추적에서 가장 많이 사용되는 알고리즘이며 대표적으로는 몬테칼로 위치 추정(Monte Carlo Localization) 방법이 있다. 칼만 필터는 선형 시스템과 잡음이 적용되는 시스템에서 정확도를 갖지만, 이와 달리 파티클 필터는 비선형 시스템에서도 위치 추정이 가능한 특징을 갖고 있다.
칼만 필터에서는 잡음이 포함된 신호 또는 선형 시스템에서 동작을 가정하고 파라미터를 찾아가는 과정을 거치지만, 파티클 필터는 시행착오에 기초한 시뮬레이션으로 예측한다. 비선형 시스템에 확률 분포로 임의로 생성된 추정값을 입자 형태로 나타내어 시스템의 정보를 추측한다.
파티클 필터는 크게 파티클 생성, 가중치 계산, 파티클 재분배, 위치 추정, 예측 순서로 설명 할 수 있다. 추정값을 각 파티클로 나타내고 파티클이 실제 값과 가까울 수록 가중치 또한 큰 값을 부여받게 되고 가중치가 높을 수록 해당 파티클은 실제 값과 가깝다는 것을 의미한다.
데드 렉컨닝(Dead Reckoning)
데드 렉컨닝은 바퀴와 이동 정보로 로봇의 현재 위치를 추정하는 방법으로 저비용으로 위치를 구할 수 있으나 오차가 크며 로봇 바퀴의 크기, 회전수와 바퀴 사이의 거리로 로봇이 움직인 거리와 회전 각도를 구하여 현재 위치 좌표를 계산하기 때문이다.
이러한 문제를 해결하기 위해 관성센서 내의 가속도센서와 자이로센서를 활용하여 데드 렉컨닝에 발생하는 위치 오차를 줄인다.
센서 퓨전 슬램(Sensor Fusion SLAM)
IMU의 센서 퓨전 기술 뿐만 아니라 다른 센서들 역시 센서 융합을 통해 SLAM 기술을 적용하는 경우가 많다. 엔코더 센서, 2D 레이저 스캐너, IMU 센서 등을 사용한 SLAM 성능 향상을 하는 방법도 있고, 아고스비전 처럼 2개의 망원 카메라를 이용해 광각을 3D로 구현하는 기술 등 다양한 기술이 발전하고 있다.
Reference.
구예서, 조은솔, 오철, 이건우. (2023). IMU센서 자료를 이용한 배달 이륜차 라이더의 주행 안전성 평가. 대한교통학회지, 41(1), 35-48.
도정찬, 이왕헌. (2018). 주차장 관리를 위한 ROS 기반 자율주행 이동로봇의 원격 제어 및 Visual SLAM에 관한 연구. 제어로봇시스템학회 논문지, 24(11), 1088-1093.
한승호, 양승훈, 이영석, 박지일, 김경수. (2022). 편대 내 차량 간 거리 추정 정확도를 이용한 ROS 기반 GPS/IMU 통합 위치 인식 알고리즘 검증. 한국자동차공학회 춘계학술대회, (), 412-416.
유향미, 서재원, 차은종, 배현덕. (2008). 3축 가속도 센서를 이용한 보행 횟수 검출 알고리즘과 활동 모니터링. 한국콘텐츠학회논문지, 8(8), 253-260.
허수정, 송준열, 박용완. (2013). 지구 자기장 기반의 Fingerprint 실내 위치추정 방법 연구. 한국통신학회논문지, 38(1), 131-140.
김진석, 임영도, 허재영. (2012). 센서 결합을 통한 쿼드콥터의 자세제어 시뮬레이터 구현. 한국정보기술학회논문지, 10(7), 1-11.
민형기, 윤주한, 김지훈, 권성하, 정은태. (2011). 최소자승법을 이용한 상보필터의 설계. 제어로봇시스템학회 논문지, 17(2), 125-130.
황종락, 안경재, 강연식. (2019). 3D 라이다 센서와 도로 환경 지도의 비교를 통한 자율주행 자동차 위치인식 기법 검증. 제어로봇시스템학회 논문지, 25(6), 557-564.
https://m.blog.naver.com/ccaa09/220704142932
'logistics' 카테고리의 다른 글
[SLAM] 칼만 필터(Kalman Filter)란? (0) | 2023.06.27 |
---|---|
로봇공학 입문 - 자유도란? (0) | 2023.06.26 |
SLAM이란? 무인 이동 차량의 지도 생성 (0) | 2023.06.22 |
최적 경로 찾기 #2 - 에이스타(A*) 알고리즘, 자바 코드 구현 포함 (0) | 2023.06.20 |
자율 주행 로봇의 각종 센서들(카메라, 레이더, 라이다, 적외선 등) (0) | 2023.06.01 |