지능 소프트웨어로봇 센서 인터페이스 개발로봇 센서 드라이버 구현
출제기준 좌표4·3·3·1
4과목 · 지능 소프트웨어

로봇센싱 알고리즘 설계

로봇 센서 인터페이스 개발로봇 센서 드라이버 구현
# 지능소프트웨어
01

📌 개요

  • 센서의 원시 값은 그대로 못 씀 — 노이즈가 끼고, 영점이 틀어지고, 가끔 엉뚱한 값이 튐
  • 센싱 알고리즘 = 원시 데이터를 보정(캘리브레이션) → 필터링 → 융합의 단계로 믿을 수 있는 값으로 만드는 소프트웨어
  • 출제 포인트: 필터 3종(이동평균·저역통과·중앙값)의 특성 구분, 상보 필터(자이로+가속도계), 칼만 필터의 예측–보정 구조, 이상치 제거
02

📖 핵심 개념

캘리브레이션 — 영점과 눈금을 맞춘다

  • 오프셋(영점) 보정: 입력이 0일 때 출력이 0이 아니면 그 차를 빼 줌 — 자이로는 기동 시 정지 상태 평균으로 바이어스 추정이 표준
  • 스케일(감도) 보정: 기준 입력 대비 출력 비율 교정 — 두 점(영점·스팬) 보정이 기본
  • 카메라 캘리브레이션: 내부 파라미터(초점거리·왜곡 계수 — 체커보드로) + 외부 파라미터(extrinsic — 센서와 로봇 좌표계 간 상대 자세). 센서 융합의 전제는 좌표계 정합이다 (→ 좌표계, 로봇 시스템 통합 설계)

필터링 3형제 — 노이즈를 다듬는 기본기 (시험 단골)

필터 원리 강점 약점
이동평균 최근 N개 평균 구현 최단순, 랜덤 노이즈 완화 지연(N/2 샘플), 스파이크에 오염
저역통과(1차 IIR) y_k = \alpha x_k + (1-\alpha)y_{k-1} 메모리 1개, 부드러운 응답 지연, α 튜닝 필요
중앙값(Median) 최근 N개의 중앙값 스파이크(이상치)에 강함 정렬 비용, 지연

구분 포인트: 가끔 튀는 스파이크 → 중앙값 필터(평균 계열은 튄 값에 끌려감), 잔잔한 랜덤 노이즈 → 평균·저역통과. 필터는 공짜가 아니다 — 강하게 걸수록 지연이 커져 제어 응답을 해친다 (트레이드오프).

이상치(Outlier) 제거

필터 이전에 물리적으로 불가능한 값을 걸러 낸다.

  • 범위 검사: 센서 사양 범위 밖 값 폐기 (거리 -1 m, 각도 400°)
  • 변화율 검사: 물리적으로 불가능한 급변 폐기 (1 ms에 10 m 이동)
  • 통계적 검사: 최근 분포에서 3σ 밖 값 의심
  • 폐기가 연속되면 "노이즈"가 아니라 센서 고장으로 판정 전환 (→ 고장 감지)

상보 필터 — 두 센서의 장점만 합성 (시험 단골)

IMU 자세 추정의 고전 해법:

  • 자이로: 단기(고주파)엔 정확하지만 적분 드리프트로 장기엔 흘러감
  • 가속도계: 장기(저주파)엔 중력 기준으로 정확하지만 움직임·진동에 단기 노이즈
  • 상보 필터: 자이로 적분에 고역통과, 가속도계 기울기에 저역통과를 걸어 합침 — \theta = \alpha(\theta_{prev} + \omega \Delta t) + (1-\alpha)\theta_{acc} (α ≈ 0.98). 서로의 약점을 보완(상보) 한다

칼만 필터 — 예측과 측정의 확률적 융합

예측(Predict)보정(Update) 을 반복하는 최적 추정기 (개념 수준).

  1. 예측: 운동 모델로 다음 상태를 예상 ("바퀴가 이만큼 돌았으니 여기쯤") — 불확실성은 커짐
  2. 보정: 센서 측정으로 예상을 수정 — 불확실성이 작은 쪽에 더 큰 가중치(칼만 이득)
  • 모델도 측정도 완벽하지 않다는 전제에서 둘을 확률적으로 섞는 것이 핵심
  • 비선형 시스템엔 확장 칼만 필터(EKF) — 위치인식·SLAM의 표준 도구 (→ 이동로봇 위치인식, 이동로봇 SLAM)

센서 융합의 설계

  • 이종 융합: 원리가 다른 센서의 결합 — 엔코더(누적 오차) + IMU(드리프트) + GPS/랜드마크(절대 보정): 상대 센서의 누적 오차를 절대 센서가 주기적으로 리셋
  • 중복 융합: 같은 대상을 여러 센서로 — 다수결·평균으로 신뢰성 향상, 고장 검출(값 불일치)
  • 융합의 3대 전제 (시험 포인트): 좌표계 정합(외부 캘리브레이션), 시간 정합(타임스탬프 동기 → 로봇센서 인터페이스), 불확실성 모델(어느 센서를 얼마나 믿을지)

파이프라인 설계 원칙

  • 파이프라인 순서: 원시값 → 이상치 제거 → 캘리브레이션 적용 → 필터링 → (융합) → 물리량 발행
  • 원시 데이터도 함께 기록해 둔다 — 알고리즘 개선·사후 분석은 원시 데이터로 한다 (→ 데이터 기록·재생)
03

📊 다이어그램 · 수식

센싱 파이프라인

DIAGRAM
flowchart LR
    R["원시값"] --> O["이상치 제거
범위·변화율 검사"] --> C["캘리브레이션
오프셋·스케일"] --> F["필터링
평균·저역·중앙값"] --> FU["융합
상보·칼만"] --> P["물리량 발행"] R -. 원시 기록(사후 분석용) .-> LOG["로그"]

상보 필터와 저역통과 필터

\theta_k = \alpha\,(\theta_{k-1} + \omega_k \Delta t) + (1-\alpha)\,\theta_{acc,k} \quad (\alpha \approx 0.98)
y_k = \alpha x_k + (1-\alpha) y_{k-1} \quad (1차\ 저역통과,\ \alpha \uparrow = 필터\ 약함)
04

🎯 핵심 요약 · 암기 포인트

익힘 0 / 12카드를 눌러 뒤집고, 앞면에서 아는지 표시하세요.
Q · 1
센싱 파이프라인의 표준 순서는?
A
원시값 → 이상치 제거 → 캘리브레이션 → 필터링 → 융합 → 물리량 발행
Q · 2
자이로 바이어스의 표준 보정법은?
A
기동 시 정지 상태에서 출력 평균을 구해 오프셋으로 빼 줌
Q · 3
외부 캘리브레이션(extrinsic)이란?
A
센서와 로봇(또는 센서 간) 좌표계의 상대 위치·자세 보정 — 융합의 전제
Q · 4
스파이크성 이상치에 강한 필터는?
A
중앙값(median) 필터 — 평균 계열은 튄 값에 끌려간다
Q · 5
필터를 강하게 걸 때의 대가는?
A
지연 증가 — 제어 응답성과의 트레이드오프
Q · 6
이상치 제거의 3가지 검사는?
A
범위 검사(사양 밖), 변화율 검사(물리적 불가능 급변), 통계 검사(3σ 밖)
Q · 7
상보 필터의 구성은?
A
자이로 적분(고주파 신뢰) + 가속도계 기울기(저주파 신뢰)를 α≈0.98로 가중 합성
Q · 8
자이로와 가속도계의 상보적 약점은?
A
자이로=장기 드리프트, 가속도계=단기 진동·운동 가속도 노이즈
Q · 9
칼만 필터의 두 단계는?
A
예측(운동 모델로 다음 상태 예상) — 보정(측정으로 수정, 불확실성 작은 쪽에 가중)
Q · 10
이종 센서 융합의 대표 구성은?
A
상대 센서(엔코더·IMU — 누적 오차)를 절대 센서(GPS·랜드마크)가 주기적으로 리셋
Q · 11
센서 융합의 3대 전제는?
A
좌표계 정합, 시간(타임스탬프) 정합, 불확실성 모델
Q · 12
원시 데이터를 함께 기록하는 이유는?
A
필터를 거친 값으론 사후 분석·알고리즘 개선 불가 — 원시 데이터가 원본 증거
05

✏️ 예상문제

1. 거리 센서 값이 대체로 안정적이지만 가끔 한 샘플씩 크게 튄다. 가장 적합한 필터는?

① 이동평균 필터 ② 중앙값(median) 필터 ③ 고역통과 필터 ④ 적분기

정답 및 해설

정답: ② 중앙값 필터는 튄 값이 정렬의 가운데에 오지 못하게 해 스파이크를 통째로 무시한다. 이동평균은 튄 값이 평균에 섞여 오염되며, 고역통과는 오히려 급변만 남긴다.

2. 상보 필터에서 자이로와 가속도계에 각각 적용되는 처리로 옳은 것은?

① 자이로에 저역통과, 가속도계에 고역통과 ② 자이로 적분에 고역통과 성격, 가속도계 기울기에 저역통과 성격의 가중 합성 ③ 두 센서 모두 고역통과 ④ 두 센서 모두 대역통과

정답 및 해설

정답: ② 자이로는 단기(고주파)에 정확하므로 그 몫을, 가속도계는 장기(저주파) 기준을 제공하므로 저주파 몫을 맡긴다 — θ = α(θ+ωΔt) + (1−α)θ_acc, α≈0.98. 각자의 약점(드리프트/진동)을 상대가 보완한다.

3. 칼만 필터에 대한 설명으로 옳지 않은 것은?

① 예측 단계에서 운동 모델로 다음 상태를 예상한다 ② 보정 단계에서 측정값으로 예측을 수정한다 ③ 불확실성이 작은 정보에 더 큰 가중치를 준다 ④ 모델과 측정이 모두 완벽하다는 전제에서 동작한다

정답 및 해설

정답: ④ 정반대다 — 모델도 측정도 오차를 가진다는 전제에서, 각각의 불확실성을 추적하며 확률적으로 최적 배합(칼만 이득)을 구하는 것이 칼만 필터의 본질이다.

4. 엔코더 오도메트리의 누적 오차 문제에 대한 융합 설계로 가장 적절한 것은?

① 엔코더 값에 더 강한 저역통과 필터를 건다 ② GPS·랜드마크 같은 절대 위치 센서로 주기적으로 보정한다 ③ 엔코더 분해능을 낮춘다 ④ 오차가 쌓이기 전에 로봇을 재부팅한다

정답 및 해설

정답: ② 누적(드리프트) 오차는 필터로 없어지지 않는다 — 상대 센서의 숙명이다. 절대 기준(GPS, 랜드마크, 지도 매칭)이 주기적으로 오차를 리셋하는 이종 융합이 정석이며, 칼만 필터가 그 표준 틀이다.

5. 센서 융합의 전제 조건으로 가장 거리가 것은?

① 센서 간 좌표계 정합(외부 캘리브레이션) ② 타임스탬프 기반의 시간 정합 ③ 각 센서의 불확실성(신뢰도) 모델 ④ 모든 센서가 같은 제조사일 것

정답 및 해설

정답: ④ 융합에 필요한 것은 공간(좌표)·시간(동기)·신뢰도(불확실성)의 정합이지 제조사 통일이 아니다. 오히려 원리가 다른 센서의 조합이 약점 상쇄에 유리하다.

06

🔗 관련 노트

로봇소프트웨어개발기사 필기 · 학습 교재출제기준 2025.1.1 – 2027.12.31