로봇 센서 퓨전은 카메라, IMU, 엔코더, LiDAR와 GPS처럼 성격이 다른 측정을 하나의 위치·속도·자세·바이어스 추정치로 결합하는 과정입니다. 빠르지만 드리프트하는 IMU와 느리지만 절대 위치를 주는 카메라·GPS를 보완할 수 있습니다. 핵심은 센서 개수가 아니라 타임스탬프, 좌표계, 공분산과 같은 정보가 정확한지입니다.
센서 퓨전은 측정과 불확실성을 함께 합친다
상태 추정기는 운동 모델로 다음 상태와 불확실성을 예측하고 새 센서 측정이 들어오면 오차를 보정합니다. 센서 공분산이 작을수록 그 측정을 더 신뢰하지만 잘못된 공분산은 필터를 한 센서에 과도하게 끌어갑니다.
서로 같은 원천에서 나온 위치와 속도를 독립 센서처럼 두 번 넣으면 정보가 중복돼 불확실성을 지나치게 작게 추정할 수 있습니다. 측정의 상관관계와 생성 경로를 알아야 합니다.
원시 센서가 상태 추정으로 들어가는 순서
수집에서는 각 센서가 자체 주기와 지연으로 측정값과 타임스탬프를 보냅니다. 시간 정렬에서는 하드웨어 시계·PTP·보간으로 같은 물리 순간을 맞춥니다. 좌표 변환에서는 센서 프레임을 로봇 베이스·오도메트리·지도 프레임으로 옮깁니다.
품질 검사에서는 공분산·범위·혁신값으로 이상치와 끊긴 센서를 걸러냅니다. 상태 추정에서는 EKF·UKF·그래프 최적화가 상태와 불확실성을 갱신합니다.
이동 로봇의 센서 배치에서 확인할 것
TurtleBot3 같은 이동 로봇은 바퀴 엔코더와 IMU, 거리 센서, 온보드 컴퓨터를 함께 사용합니다. 바퀴가 미끄러지면 엔코더 오도메트리는 틀리지만 IMU와 LiDAR·카메라의 환경 관측이 이를 드러낼 수 있습니다.
센서 위치와 방향이 잘못 보정되면 회전할 때 가짜 이동이 생깁니다. 카메라와 IMU, LiDAR의 외부 파라미터와 시간 오프셋을 함께 검증해야 합니다.

예측과 보정이 서로 다른 센서 속도를 묶는 방식
예측에서는 운동 모델과 이전 상태로 현재 위치·속도와 불확실성을 전파합니다. 혁신에서는 예측한 측정과 실제 센서 값의 차이로 모델과 센서의 불일치를 봅니다.
칼만 이득에서는 예측과 측정 공분산을 바탕으로 어느 쪽을 얼마나 믿을지 정합니다. 바이어스 상태에서는 IMU 자이로·가속도 오프셋을 상태에 포함해 장기 드리프트를 줄입니다.
EKF와 UKF는 비선형성을 다루는 방법이 다르다
EKF와 UKF는 같은 예측·보정 틀을 쓰지만 비선형 함수를 통과시키는 방식이 다릅니다.
UKF가 항상 더 정확한 것은 아닙니다. 모델·공분산·시간 동기화가 틀리면 계산량만 늘고 결과는 나빠질 수 있습니다.
| 방식 | 비선형 처리 | 장점 | 주의점 |
|---|---|---|---|
| EKF | 자코비안으로 선형화 | 빠르고 널리 구현 | 강한 비선형·선형화 오차 |
| UKF | 시그마 포인트 전파 | 자코비안 없이 비선형 반영 | 계산량·파라미터 조정 |
| 보완 필터 | 주파수 대역 분리 | 자세 추정이 단순 | 복잡한 상태·상관 제한 |
| 그래프 최적화 | 여러 시간 상태를 함께 최적화 | 루프 폐쇄·배치 보정 | 지연·메모리·복잡도 |
퓨전 로그에서 반드시 확인할 값
필터 출력만 보지 말고 혁신, 공분산, 지연과 센서별 사용 여부를 기록해야 합니다.
정답 궤적이 없을 때는 닫힌 경로의 시작·끝 오차, 정지 상태의 드리프트와 센서 가림 전후 연속성을 봅니다.
| 지표 | 정상 신호 | 문제 신호 | 확인 목적 |
|---|---|---|---|
| 혁신 | 평균이 0 근처·범위 안정 | 편향·큰 점프·지속 초과 | 모델·보정·센서 이상 |
| 공분산 | 환경에 따라 합리적 변화 | 계속 감소·고정·폭주 | 불확실성 일관성 |
| 지연 | 주기와 타임스탬프 안정 | 뒤늦은 측정·순서 역전 | 제어용 상태 신선도 |
| 드리프트 | 절대 센서로 제한 | 정지 중 이동·폐루프 오차 | 장기 위치 품질 |
시간·좌표·공분산을 준비하는 순서
센서 원천 목록에서는 각 측정이 어떤 하드웨어와 알고리즘에서 만들어졌는지 적습니다. 시계 측정에서는 발행 시각과 실제 측정 시각, 전송 지연을 구분합니다. 좌표 보정에서는 센서 외부 파라미터와 축 방향, 단위를 정적·동적 시험으로 확인합니다.
공분산 설정에서는 실제 정지·운동 데이터의 분산과 환경별 품질을 반영합니다. 고장 주입에서는 센서 가림·끊김·바이어스·미끄럼에서 필터 반응을 봅니다.
이중 입력과 지연에서 추정이 흔들리는 이유
오도메트리 이중 입력에서는 같은 엔코더에서 나온 위치와 속도를 독립 정보처럼 중복 사용합니다. 측정 시각 대신 수신 시각에서는 네트워크 지연이 로봇 움직임으로 해석됩니다. 좌표축 오류에서는 IMU 중력과 회전축이 잘못 변환돼 자세가 천천히 기웁니다.
0 공분산에서는 알 수 없는 불확실성을 완벽한 측정으로 해석하거나 센서를 무시합니다. 이상치 무제한 수용에서는 GPS 점프나 비전 오인식이 전체 상태를 끌고 갑니다.
센서를 가리고 밀어 보며 검증하는 방법
정지 시험에서는 바이어스·노이즈·자세와 장기 드리프트를 측정합니다. 직선·회전에서는 축 방향과 스케일, 레버암 보정을 확인합니다. 폐루프 주행에서는 출발점 복귀 오차와 공분산 일관성을 봅니다.
센서 가림에서는 카메라·GPS·LiDAR가 끊길 때 예측과 복구가 연속적인지 확인합니다. 바닥 변화에서는 바퀴 미끄럼과 진동에서 엔코더·IMU 신뢰도가 적절히 바뀌는지 봅니다.
센서 퓨전과 SLAM의 역할 경계
센서 퓨전은 로봇의 현재 상태를 제공하고 SLAM은 지도와 전역 위치 제약을 추가할 수 있습니다. 제어기는 최신 상태를 사용하므로 필터 지연과 상태 타임스탬프가 제어 안정성에 직접 영향을 줍니다.
도식은 센서 값을 곧바로 합치지 않고 시간·좌표·공분산·이상치 게이트를 거친 뒤 상태 추정기에 넣는 순서를 보여 줍니다. 이 네 단계를 로그로 남겨야 오류를 재현할 수 있습니다.

필터 출력이 곧 실제 위치라는 뜻은 아니다
공분산이 작다고 실제 오차가 작다는 뜻은 아닙니다. 모델과 센서가 같은 방향으로 틀리면 필터는 자신 있게 잘못된 상태를 출력할 수 있습니다.
GPS·카메라와 현장 데이터에는 개인정보와 위치 정보가 포함될 수 있습니다. 수집·저장·전송 범위와 접근 권한을 별도로 관리해야 합니다.
센서와 캘리브레이션 글로 이어 읽기
이 주제를 더 넓게 이해하려면 로봇 센서 종류와 역할, 로봇 캘리브레이션 종류, 엣지 AI 로봇를 함께 읽는 편이 좋습니다. 각 글은 부품, 제어, 데이터 계층을 서로 다른 질문으로 나누어 설명합니다.
본문의 기술 범위는 다음 1차 자료를 기준으로 확인했습니다. ROS robot_localization은 EKF·UKF 기반 다중 센서 상태 추정의 공식 문서를 제공합니다. ROS REP-105 좌표계은 map·odom·base_link 프레임의 역할을 정의합니다. OpenCV calib3d은 카메라와 로봇 좌표 보정의 공개 구현과 정의를 제공합니다. 수치와 적용 범위는 각 자료의 시험 조건을 벗어나 일반화하지 않았습니다.
로봇 센서 퓨전에서 자주 묻는 질문
센서를 많이 달면 위치가 더 정확해지나요?
센서가 서로 보완하고 시간·좌표·공분산이 맞을 때 그렇습니다. 같은 오차를 가진 센서를 중복하면 더 나빠질 수 있습니다.
EKF와 UKF 중 무엇이 더 좋나요?
비선형성, 계산 예산과 모델에 따라 다릅니다. 먼저 시간·보정·공분산을 맞춘 뒤 같은 데이터로 비교해야 합니다.
공분산은 어떻게 정하나요?
정지·운동·환경별 실제 오차 분포를 측정하고 센서 품질이 변할 때 함께 바뀌도록 설정합니다.
카메라와 IMU의 시간 차이는 얼마나 중요하나요?
빠른 회전과 진동에서는 수 밀리초도 자세·위치 오차로 이어질 수 있습니다. 작업 속도에 맞춰 측정해야 합니다.
센서가 끊기면 필터는 멈추나요?
운동 모델로 예측을 계속할 수 있지만 불확실성이 커져야 합니다. 제한을 넘으면 감속·정지하는 운영 정책이 필요합니다.
마지막 확인: 2026년 7월 25일. 필터가 출력한 상태와 공분산은 센서·모델 가정에 의존합니다. 실제 안전 위치를 보증하는 독립 장치가 아닙니다.