본문으로 건너뛰기

M15.05 · IMU 융합·드리프트·재위치추정

단위별 목표·권장 선수와 자료 준비 상태를 확인하고, 공개된 본문과 활동을 읽고 준비 상태를 확인할 수 있습니다.

전체 커리큘럼

학습 안내

본문을 읽고 장비 없는 기본 실습·세 확인 문제와 해설로 이해를 확인하세요.

예상 학습 시간: 미정. 이 페이지 방문이나 자료 열람으로 완료·숙달을 자동 부여하지 않습니다.

현재 경로·이전·다음 단위 확인 ↓

학습 목표

  • IMU의 직접 관측과 추정 상태를 구분하고 일정 바이어스의 누적 오차를 계산한다.
  • 독립·무편향 스칼라 관측의 단순 가중 결합을 계산하고 가정이 깨지는 경우를 설명한다.
  • 대칭 환경의 위치 모호성과 재위치추정에 필요한 지도·관측·검증 근거를 판정한다.

아래 설명·실습·문제로 각 학습 목표를 확인하세요.

권장 선수

M03/M09의 IMU와 M15의 위치·지도 기초를 연결한다. 바이어스, 분산, 예측과 관측 보정 및 재위치추정의 뜻을 본문에서 보충한다. Kalman/EKF 심화를 요구하지 않으며 단순 스칼라 가중식을 실제 필터 구현과 동일시하지 않는다. 기본은 합성 기록 계산이다. 이미 알고 있다면 직접 열어볼 수 있습니다.

설명 필수

세 목표에 대응하는 검수된 설명·예제를 읽습니다.

IMU가 제공하는 값과 위치 추정을 구분한다

IMU의 gyro는 센서 축의 각속도를 rad/s로, 가속도계는 specific force를 m/s²로 측정한다. specific force는 운동 가속도에서 중력 가속도를 뺀 양을 센서 축으로 표현한 것이다. z축이 위를 향하는 정지 센서에서는 +g가 나타날 수 있으므로 이 값을 그대로 위로 움직이는 가속도라고 적분하면 틀린다. 방향 추정값을 출력하는 장치는 내부 융합 결과를 제공하는 것이며 모든 IMU가 전역 pose를 직접 측정하는 것은 아니다.

REP145는 이런 축과 측정의 관례를 설명하는 Draft 지침이다. 실제 장치의 축·중력 처리·내부 보정은 장치 문서와 기록을 확인해야 한다. Jazzy Imu 메시지는 각속도, 가속도와 방향 추정의 공분산을 구별한다. 공분산 전체가 0이면 불확실성이 알려지지 않았다는 뜻이며, 해당 공분산의 첫 원소 −1은 추정값이 제공되지 않는다는 뜻이다. 0을 완벽한 센서로 해석하거나 없는 방향을 단위 quaternion으로 채워 신뢰하지 않는다.

작은 바이어스도 적분하면 누적된다

바이어스는 측정에 지속적으로 더해지는 치우침이다. 정지해 실제 yaw 각속도가 0인데 측정값이 +0.01 rad/s로 일정하다고 하자. 시간 T=10 s 동안 이를 그대로 적분하면 방향 오차는 0.01×10=0.1 rad다. 다른 오차와 보정이 없는 합성 예이며 샘플링이 빠르다고 이 일정 치우침이 사라지지는 않는다. 많은 표본을 평균해도 공통 바이어스는 그대로 남을 수 있다.

위치에 대한 간단한 예는 더 빠르게 커진다. 방향과 중력 보정이 이미 정확하다고 가정한 고정된 한 축에서 남은 가속도 바이어스 b_a=0.02 m/s²가 일정하고 초기 속도·위치 오차는 0이라고 하자. 속도 오차 Δv와 위치 오차 Δx는 다음과 같다.

Δv=baT,Δx=12baT2.\Delta v=b_aT,\qquad \Delta x=\frac12 b_aT^2.

10 s 뒤 Δv=0.2 m/s, Δx=1 m다. 5 s에서는 0.1 m/s와 0.25 m이므로 시간을 절반으로 줄이면 위치 오차가 1/4이 된다. 이는 실제 IMU 성능 예측이 아니라 일정 오차를 적분한 결과다. 실제로는 초기 상태, 변하는 바이어스, 잡음, 축 회전과 외부 보정 등이 함께 작용한다.

방향이 틀리면 중력을 운동 성분과 섞을 수 있다. 작은 기울기 오차 δθ=0.01 rad일 때 중력의 수평 누설 크기는 1차 근사로 g|δθ|≈9.81×0.01=0.0981 m/s²다. 이 성분이 한 축에 일정하게 남는다고 추가 가정하면 10 s 위치 오차 크기는 약 4.905 m다. 부호는 기울기와 축 규약에 따라 달라진다. 이 수치를 모든 운동에서의 오차 상한이나 실제 장치 정격으로 쓰지 않는다. 자세와 중력 분리가 중요한 이유를 보여 주는 국소 예다.

예측은 이어 가고 외부 관측은 제약을 더한다

관성 정보는 짧은 시간의 운동을 이어 추정하는 데 유용하지만 전역 위치를 독립적으로 고정하는 근거와는 다르다. LiDAR·영상·바퀴와 지도 관측을 결합할 때는 서로 다른 오차 특성을 이용할 수 있다. 예측은 운동 모델로 상태를 다음 시각으로 옮기는 일이고 보정은 새 관측이 주는 관계로 그 추정을 수정하는 일이다. 두 단계를 결합한 필터도 잘못된 시간·좌표·모델을 자동으로 고쳐 주지는 않는다.

robot_localization 공식 개념 문서는 운동 모델로 상태를 예측하고 센서 관측으로 보정하는 EKF/UKF 노드를 설명한다. 이 자료는 여기서 역할 참고로 사용하며 특정 Jazzy 파라미터 기본값이나 실제 실행을 확인한 것으로 쓰지 않는다. 아래 가중 예는 그 필터 전체가 아니라 같은 스칼라 양의 불확실성이 결합에 어떤 영향을 주는지 보는 계산이다.

가중 결합의 계산과 숨은 가정을 확인한다

같은 시각·같은 방향 기준에서 작은 yaw 두 추정값 θ_1=0.12 rad와 θ_2=0.02 rad를 얻었다고 하자. 둘은 같은 참각을 측정하며 무편향이고 서로 독립인 오차를 가진다는 합성 가정이다. 분산 v_1=0.04 rad², v_2=0.01 rad²를 알고 있다고 준다. 분산은 오차 제곱의 평균적 크기이며 표준편차는 그 제곱근이므로 각각 0.2 rad와 0.1 rad다.

추정이 끊긴 뒤의 복구 근거: IMU/운동 예측 → 외부 관측 → 추적 손실 → 재위치추정.그림 원본 크기로 보기

그림 M15.05-1. 각 칸은 서로 다른 역할/근거다. 아래 방향은 자료/처리의 연결이며 실제 성공을 자동으로 보장하지 않는다. 직접 제작한 개념도이며 본문의 조건과 함께 읽는다.

가중치 w를 첫 값에 주고 1−w를 둘째에 주면 추정값은 θ̂=wθ_1+(1−w)θ_2다. 독립 조건에서 결합 분산은 w²v_1+(1−w)²v_2다. 이를 가장 작게 하는 w=v_2/(v_1+v_2)=0.2이므로 둘째 값에 0.8의 큰 가중치를 준다. 덜 불확실한 관측에 더 큰 가중치가 가는 것이다. 결과는 θ̂=0.2×0.12+0.8×0.02=0.04 rad, 분산은 0.008 rad², 표준편차는 약 0.08944 rad다.

분산이 작아졌다는 계산은 가정 안에서의 결과다. 두 값이 같은 IMU 자료를 재가공했거나 동일한 보정 오차를 공유하면 독립이 아니다. 이때 교차 공분산 항을 무시하면 확신을 과장할 수 있다. 둘 다 +0.1 rad의 공통 바이어스를 가진다면 가중합에도 +0.1 rad가 남는다. 불확실성 수치를 작게 써서 관측을 더 신뢰하게 만드는 것은 센서 품질을 개선하는 방법이 아니다.

또한 yaw는 원 위의 각도다. +179°와 −179°를 단순 평균해 0°로 만들면 반대 방향을 얻는다. 위 계산은 같은 각도 구간으로 국소적으로 펼친 두 값에 한정한다. 실제 큰 방향 변화는 각도 차이의 wrap이나 회전 표현을 고려해야 한다. 지도 기준과 IMU의 초기 yaw 기준이 다른 값을 곧바로 평균해서도 안 된다.

추적을 잃었을 때는 재위치추정의 근거가 필요하다

재위치추정은 기존 지도에서 현재 pose를 다시 찾는 문제다. 로봇을 옮겼거나 관측 추적을 잃은 뒤 이전 pose를 계속 믿을 수 없을 때 필요할 수 있다. 과거와 현재 사이에 같은 장소 관계를 추가하는 루프 폐쇄와 관련되지만, 재위치추정이 언제나 새 지도를 만들거나 전체 지도를 최적화한다는 뜻은 아니다. AMCL Jazzy 설명은 알려진 지도와 2D laser에서 pose를 추정하는 문제의 사례다.

서로 같은 모양의 지도 위치 A=10 m와 B=20 m에서 같은 거리 관측이 나온다고 하자. 로봇이 정지해 gyro가 0이라고 알려져도 두 전역 위치를 구분하지 못한다. '회전하지 않는다'는 관측이 '지도 어디에 있다'를 알려주지는 않기 때문이다. 구별되는 랜드마크의 ID와 지도 대응, 다른 시야의 관측 또는 별도 위치 기준이 필요하다. 어느 위치인지 모르면 둘 중 하나를 참값으로 고정하지 않고 후보와 미상을 유지한다.

재획득 후보는 센서·지도 버전, 좌표와 취득 시각, 새 관측에서의 일관성과 독립 기준으로 검증한다. map 보정이 바뀌었다고 실제 로봇이 순간 이동한 것으로 해석하지 않으며 이전 상태와 새 기준을 사용하는 자료를 구분한다. 기존 4.3 TF2 트리 설계와 6.2 정량 진단으로 연결해 보자. 아래 활동은 센서 융합과 재획득의 근거를 계산할 뿐 실제 필터나 위치 추정의 성능을 입증하지 않는다.

학습 범위와 한계

기본 설명·예제가 준비되었습니다. 기존 보충 자료의 범위와 구별하세요.

실습 필수

장비 없는 실습을 수행하고 관찰·계산 근거를 해설과 비교합니다.

입력은 정지한 로봇의 일정 gyro 바이어스 +0.01 rad/s, 중력·방향 보정 후 한 축의 일정 가속도 바이어스 +0.02 m/s²와 T=10 s다. 초기 오차는 0이며 본문 이외의 오차는 제외한다. 결합 입력은 같은 시각·기준의 θ_1=0.12, θ_2=0.02 rad와 독립·무편향 분산 0.04/0.01 rad²다. 위치 후보 A=10 m와 B=20 m는 현재 거리 관측이 같으며 gyro는 0이다.

  1. gyro의 직접 관측과 방향 추정을 구분하고 방향·속도·위치 오차를 계산한다. T만 5 s로 바꾸어 비교한다.
  2. 주어진 w 규칙으로 결합 각도·분산과 표준편차를 구한다. 공통 바이어스 +0.1 rad가 추가될 때와 동일 자료를 재사용할 때의 가정 위반을 설명한다.
  3. A/B를 현재 입력으로 구분할 수 있는지 판정하고 재위치추정에 필요한 추가 관측과 검증 기록을 제안한다.

관찰 결과는 직접 측정과 적분, 결합과 가정, 위치 후보와 근거로 나눈다. 막히면 rad/s×s와 m/s²×s²의 단위를 먼저 확인한다. 실제 IMU나 필터 설치는 필요하지 않다.

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

학습 범위와 한계

기본 실습은 장비 없이 수행합니다. 실제 장비·GPU 실증을 완료했다는 뜻은 아닙니다.

평가·해설 필수

목표별 세 서술문항에 답하고 해설·판정 기준으로 자기검토합니다.

확인 문제 Q1

초기 오차 0, 일정 gyro 바이어스 0.02 rad/s와 중력 보정 후 가속도 바이어스 0.04 m/s²가 5 s 지속된다. 방향·속도·위치 오차는 얼마인가? 정지 IMU의 +g를 같은 식에 바로 넣어도 되는가?

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

확인 문제 Q2

같은 기준의 국소 각도 추정 0.1/0.3 rad가 독립·무편향이며 분산은 둘 다 0.04 rad²다. 최소 분산의 단순 결합 값과 분산·표준편차를 구하라. 두 추정이 같은 원자료라면 무엇을 다시 확인해야 하는가?

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

확인 문제 Q3

대칭 복도의 두 지도 위치가 같은 관측을 설명한다. IMU 방향 출력이 매끄럽고 분산도 작으니 현재 전역 위치가 확정됐다는 주장을 평가하고 재획득 근거를 제안하라.

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

학습 범위와 한계

서술답안과 해설이 준비되었습니다. 자기검토와 학습 완료는 숙달 인증과 별개입니다.

참고 자료

학습 확인

실습과 세 문항의 답안을 해설과 비교한 뒤, 이 단위의 학습 완료를 직접 기록할 수 있습니다. 자기검토·학습 완료는 자동 채점이나 숙달 인증과 별개입니다.

실습1개·확인 문제3개의 답안을 저장하고 각각 자기검토를 기록하세요.

학습 이동

학습 단계 순서 · 공통 과정 이후 전문화 선택

전체 목차로 돌아가기 →

신규 활동의 답안은 이 브라우저의 통합 학습 기록에 저장합니다. 기존 화면의 답안·진도는 원래 키를 유지합니다. AI 강사는 현재 단위의 준비 상태·부족한 범위와 연결된 실제 자료를 참고합니다.