9.86 좌표 변환의 오류 전파와 불확실성 분석

9.86 좌표 변환의 오류 전파와 불확실성 분석

1. 좌표 변환의 불확실성

실제 로봇 시스템에서 좌표 변환은 항상 어느 정도의 불확실성을 가진다. 캘리브레이션 오차, 센서 노이즈, 매니퓰레이터의 기구학적 불완전성 등이 변환에 오차를 도입한다. 이러한 오차가 어떻게 변환의 결과에 영향을 주는지를 분석하는 것이 오류 전파(error propagation) 또는 불확실성 분석이다.

2. 오차의 원인

2.1 캘리브레이션 오차

센서-로봇 사이의 외부 매개변수 캘리브레이션이 부정확하면 그 변환이 시스템적 오차를 가진다. 카메라-매니퓰레이터, LiDAR-카메라, IMU-본체 등의 캘리브레이션 결과가 모두 어느 정도 불확실하다.

2.2 매니퓰레이터의 기구학적 오차

매니퓰레이터의 명목 DH 매개변수와 실제 매개변수의 차이로 인한 오차이다. 제조 공차, 마모, 변형 등이 원인이다.

2.3 센서 노이즈

각 센서의 측정값에 노이즈가 포함되며, 이것이 좌표 변환을 통해 전파된다.

2.4 시간 동기화 오차

서로 다른 센서의 시각이 정확히 동기화되지 않으면, 시간 차이가 추가 오차를 만든다.

2.5 부동 소수점 오차

수치 계산의 반올림 오차도 오차의 원인이지만, 일반적으로 위의 다른 원인에 비해 작다.

3. 오차의 분류

3.1 시스템적 오차 (Systematic Error)

캘리브레이션 오차나 기구학적 오차처럼 일관된 방향으로 발생하는 오차이다. 통계적 평균이 0이 아니다.

3.2 무작위 오차 (Random Error)

센서 노이즈처럼 매번 다른 방향으로 발생하는 오차이다. 통계적 평균이 0에 가깝지만 분산이 있다.

3.3 양자화 오차

디지털 시스템에서 측정값이 이산화되어 발생하는 오차이다. 무작위 오차의 일종이다.

4. 가우시안 오차 모델

가장 일반적인 오차 모델은 가우시안(정규) 분포이다. 변환의 매개변수가 평균 \boldsymbol{\mu}와 공분산 행렬 \boldsymbol{\Sigma}를 가지는 가우시안 분포를 따른다고 가정한다.

\boldsymbol{\xi} \sim \mathcal{N}(\boldsymbol{\mu}, \boldsymbol{\Sigma})

여기서 \boldsymbol{\xi}는 변환의 6차원 표현(예: 회전 벡터 + 병진 벡터)이다.

5. 선형 오류 전파

5.1 차 테일러 전개

비선형 함수 f(\boldsymbol{\xi})의 값이 \boldsymbol{\xi}의 평균 주위에서 1차 테일러 전개로 근사된다.

f(\boldsymbol{\xi}) \approx f(\boldsymbol{\mu}) + \mathbf{J}_f(\boldsymbol{\mu})(\boldsymbol{\xi} - \boldsymbol{\mu})

여기서 \mathbf{J}_ff의 야코비안 행렬이다.

5.2 공분산의 전파

이 1차 근사에서 출력의 공분산은 입력 공분산과 야코비안으로부터 계산된다.

\boldsymbol{\Sigma}_y = \mathbf{J}_f \boldsymbol{\Sigma}_x \mathbf{J}_f^T

이 공식이 선형 오류 전파의 핵심이다.

6. 점 변환의 오류 전파

6.1 변환된 점의 평균과 공분산

\mathbf{p}를 변환 \mathbf{T}로 변환하면 \mathbf{p}' = \mathbf{R}\mathbf{p} + \mathbf{t}이다. \mathbf{T}가 불확실성을 가지면 \mathbf{p}'도 불확실성을 가진다.

평균:
E[\mathbf{p}'] = E[\mathbf{R}]E[\mathbf{p}] + E[\mathbf{t}]

(여기서 \mathbf{R}, \mathbf{p}, \mathbf{t}가 독립이라고 가정)

공분산은 더 복잡하지만, 1차 근사로 다음과 같이 계산된다.

\boldsymbol{\Sigma}_{\mathbf{p}'} = \mathbf{R}\boldsymbol{\Sigma}_{\mathbf{p}}\mathbf{R}^T + (-[\mathbf{R}\mathbf{p}]_\times)\boldsymbol{\Sigma}_{\boldsymbol{\theta}}(-[\mathbf{R}\mathbf{p}]_\times)^T + \boldsymbol{\Sigma}_{\mathbf{t}}

여기서 \boldsymbol{\Sigma}_{\boldsymbol{\theta}}는 회전 부분의 공분산(회전 벡터 표현)이다. 첫 번째 항은 점의 불확실성, 두 번째 항은 회전의 불확실성이 점에 미치는 영향, 세 번째 항은 병진의 불확실성이다.

7. 변환 합성의 오류 전파

여러 변환의 합성에서 불확실성도 합성된다. 매니퓰레이터의 순기구학에서 각 링크의 변환 오차가 누적되어 말단 장치의 위치 오차를 만든다.

7.1 두 변환의 합성

\mathbf{T} = \mathbf{T}_2\mathbf{T}_1의 공분산은 다음과 같이 근사된다.

\boldsymbol{\Sigma}_{\mathbf{T}} = \mathbf{J}_1\boldsymbol{\Sigma}_1\mathbf{J}_1^T + \mathbf{J}_2\boldsymbol{\Sigma}_2\mathbf{J}_2^T

여기서 \mathbf{J}_1, \mathbf{J}_2는 합성 함수의 각 변환에 대한 야코비안이다. SE(3)의 공역(adjoint) 사상이 이 야코비안의 핵심이다.

7.2 n 변환의 합성

n개의 변환이 합성될 때 공분산은 다음과 같다.

\boldsymbol{\Sigma}_{\text{total}} = \sum_{i=1}^n \mathbf{J}_i\boldsymbol{\Sigma}_i\mathbf{J}_i^T

각 항이 한 변환의 불확실성 기여를 나타낸다. 각 야코비안은 그 변환부터 끝까지의 누적 효과를 반영한다.

8. 매니퓰레이터의 자세 오차 전파

매니퓰레이터의 말단 장치 자세 오차는 다음으로부터 발생한다.

8.1 관절 각 측정 오차

엔코더의 분해능과 노이즈로 인한 오차이다. 자코비안을 통해 말단 장치 자세에 전파된다.

\boldsymbol{\Sigma}_{\mathbf{x}} = \mathbf{J}\boldsymbol{\Sigma}_{\boldsymbol{\theta}}\mathbf{J}^T

여기서 \mathbf{J}는 매니퓰레이터의 자코비안이다.

8.2 DH 매개변수 오차

명목 DH 매개변수와 실제의 차이로 인한 시스템적 오차이다. 매개변수 야코비안을 통해 전파된다.

8.3 탄성 변형

매니퓰레이터의 탄성 변형(중력, 외력 등)으로 인한 오차이다. 동역학 모델로 분석된다.

이러한 오차의 합이 말단 장치 자세의 전체 불확실성이다.

9. 비선형 효과

9.1 차 근사의 한계

선형 오류 전파는 1차 테일러 전개에 기반하므로, 큰 오차에서는 정확하지 않다. 회전 부분이 큰 오차를 가지면 1차 근사가 부정확하다.

9.2 차 보정

더 정확한 분석을 위해 2차 테일러 전개를 사용할 수 있다. 그러나 계산이 복잡해진다.

9.3 몬테카를로 시뮬레이션

비선형 효과를 정확히 평가하려면 몬테카를로 시뮬레이션이 사용된다. 입력의 무작위 샘플을 생성하고 각각을 변환하여 출력의 분포를 통계적으로 추정한다.

10. SE(3) 상의 오류 분석

SE(3)이 매니폴드이므로, 그 위의 확률 분포는 유클리드 공간과 다르다. 정확한 분석을 위해 다음의 도구가 사용된다.

10.1 접공간에서의 분포

자세 추정은 통상 현재 자세의 접공간 \mathfrak{se}(3)에서 수행된다. 작은 오차가 6차원 가우시안 분포로 모델링된다.

10.2 좌-/우-불변 분포

SE(3) 상의 가우시안 분포는 두 종류로 정의될 수 있다.

  • 좌-불변(Left-invariant): \boldsymbol{\xi}_l = \log(\mathbf{T}\bar{\mathbf{T}}^{-1})
  • 우-불변(Right-invariant): \boldsymbol{\xi}_r = \log(\bar{\mathbf{T}}^{-1}\mathbf{T})

여기서 \bar{\mathbf{T}}는 평균 자세이다. 응용에 따라 적절한 형태를 선택한다.

10.3 공분산의 좌표 변환

서로 다른 좌표계 사이에서 공분산을 변환할 때, 공역 사상이 사용된다.

\boldsymbol{\Sigma}_b = \mathrm{Ad}_{\mathbf{T}}\boldsymbol{\Sigma}_a\mathrm{Ad}_{\mathbf{T}}^T

이는 트위스트의 공분산이 좌표계 변환에 따라 어떻게 변하는지를 기술한다.

11. 불확실성의 시각화

오차 분석의 결과를 시각화하는 방법은 다음과 같다.

11.1 공분산 타원체

3차원 위치 오차의 공분산을 3D 타원체로 시각화한다. 타원체의 크기와 방향이 오차의 분포를 보여준다.

11.2 회전 오차의 시각화

회전 오차는 작은 회전 벡터로 표현되며, 이를 3D 화살표나 색상으로 시각화한다.

11.3 D 자세 오차

위치와 회전 오차를 함께 시각화하려면, 6×6 공분산 행렬의 부분(위치와 회전)을 별도로 표시한다.

12. 응용

12.1 매니퓰레이터 정확도 분석

매니퓰레이터의 작업 정확도를 평가할 때 오차 전파 분석이 사용된다. 작업 영역의 어느 지점에서 오차가 가장 큰지를 파악한다.

12.2 자세 추정의 신뢰도

자세 추정 시스템의 출력에는 추정된 자세뿐만 아니라 신뢰도(공분산)도 포함되어야 한다. 칼만 필터, MAP 추정 등이 자연스럽게 공분산을 산출한다.

12.3 센서 융합

여러 센서의 데이터를 융합할 때 각 측정의 불확실성을 고려한다. 더 정확한 측정에 더 큰 가중치를 부여한다.

12.4 SLAM의 정확도

SLAM 시스템의 자세 추정과 지도 정확도가 시간에 따라 어떻게 발산하는지 분석한다. 폐루프 검출은 누적 오차를 줄이는 핵심 메커니즘이다.

12.5 안전 영역 결정

매니퓰레이터의 작업 영역을 결정할 때 오차의 영향을 고려한다. 사람이나 환경과의 충돌을 방지하기 위해 안전 마진이 필요하다.

13. 오차 분석의 라이브러리

오차 전파 분석을 위한 도구는 다음과 같다.

13.1 Sophus

Sophus 라이브러리는 SE(3)의 매니폴드 구조와 야코비안을 효율적으로 제공한다.

13.2 Ceres Solver

Ceres는 비선형 최소 제곱 솔버이며, 자세 추정 문제에서 자동으로 야코비안을 계산하고 공분산을 추정한다.

13.3 GTSAM

GTSAM은 인수 그래프(factor graph) 기반의 추정 라이브러리이며, SLAM과 추정 문제에서 정확한 오차 전파를 제공한다.

13.4 MATLAB Robotics System Toolbox

MATLAB의 도구박스도 매니퓰레이터의 오차 분석 기능을 제공한다.

14. 참고 문헌

  • Barfoot, T. D. (2017). State Estimation for Robotics. Cambridge University Press.
  • Smith, R. C., & Cheeseman, P. (1986). “On the Representation and Estimation of Spatial Uncertainty.” International Journal of Robotics Research, 5(4), 56–68.
  • Long, A. W., Wolfe, K. C., Mashner, M. J., & Chirikjian, G. S. (2013). “The Banana Distribution Is Gaussian: A Localization Study with Exponential Coordinates.” Robotics: Science and Systems.
  • Forster, C., Carlone, L., Dellaert, F., & Scaramuzza, D. (2017). “On-Manifold Preintegration for Real-Time Visual–Inertial Odometry.” IEEE Transactions on Robotics, 33(1), 1–21.
  • Sola, J., Deray, J., & Atchuthan, D. (2018). “A Micro Lie Theory for State Estimation in Robotics.” arXiv:1812.01537.

version: 1.0