14.46 관성 행렬의 역행렬 계산 기법

1. 개요

매니퓰레이터의 순동역학 계산은 관성 행렬의 역행렬을 필요로 한다. 효율적이고 정확한 역행렬 계산 기법은 동적 시뮬레이션과 제어의 성능을 결정한다. 본 절에서는 관성 행렬의 역행렬 계산 기법을 다룬다.

2. 직접 역행렬 계산

2.1 일반 방법

일반 행렬의 역행렬은 가우스-조던 소거법, LU 분해, 또는 다른 방법으로 계산될 수 있다. 그러나 매니퓰레이터의 관성 행렬은 대칭이고 양정행렬이라는 특수한 성질을 가지므로 더 효율적인 방법이 존재한다.

2.2 콜레스키 분해를 통한 역행렬

대칭 양정행렬 \mathbf{M}의 역행렬은 콜레스키 분해를 통해 계산된다.

  1. \mathbf{M} = \mathbf{L}\mathbf{L}^T 분해
  2. \mathbf{L}^{-1} 계산 (전방 대입)
  3. \mathbf{M}^{-1} = \mathbf{L}^{-T}\mathbf{L}^{-1} 계산

이 방법의 복잡도는 O(n^3)이다.

2.3 LDL 분해

LDL 분해는 콜레스키와 비슷하지만 제곱근 계산을 피할 수 있다.

\mathbf{M} = \mathbf{L}\mathbf{D}\mathbf{L}^T

여기서 \mathbf{L}은 단위 하삼각이고 \mathbf{D}는 대각이다.

3. 선형계 풀이를 통한 회피

3.1 직접 풀이

대부분의 경우 명시적인 역행렬을 계산할 필요는 없다. 대신 선형계 \mathbf{M}\ddot{\mathbf{q}} = \mathbf{b}를 직접 풀면 된다.

이는 명시적인 역행렬보다 정확하고 효율적이다.

3.2 풀이 방법

  1. 콜레스키 분해 \mathbf{M} = \mathbf{L}\mathbf{L}^T
  2. 전방 대입: \mathbf{L}\mathbf{y} = \mathbf{b}를 풂
  3. 후방 대입: \mathbf{L}^T\ddot{\mathbf{q}} = \mathbf{y}를 풂

복잡도는 분해 O(n^3) + 풀이 O(n^2)이다.

4. 효율적 알고리즘

4.1 관절 공간 관성 알고리즘 (ABA)

페더스톤(Featherstone)의 관절 공간 관성 알고리즘(Articulated Body Algorithm)은 관성 행렬을 명시적으로 형성하지 않고 순동역학을 계산하는 효율적인 방법이다.

ABA의 복잡도는 O(n)이며, 가장 효율적인 순동역학 알고리즘이다.

4.2 알고리즘 비교

방법순동역학 복잡도
관성 행렬 형성 + 직접 역행렬O(n^2) + O(n^3)
관성 행렬 형성 + 콜레스키 풀이O(n^2) + O(n^3)
ABAO(n)

4.3 고자유도에서의 효율 차이

자유도가 작을 때(예: n < 6)는 ABA의 이점이 크지 않을 수 있지만, 자유도가 크면(예: n > 20) ABA가 매우 유리하다.

5. 수치 안정성

5.1 조건수

관성 행렬의 조건수는 자세에 따라 달라진다. 특이성 부근에서 조건수가 매우 커질 수 있다.

5.2 정밀도

배정밀도 부동소수점이 일반적으로 사용된다. 단정밀도는 조건수가 큰 경우 정확도가 부족할 수 있다.

5.3 오차 분석

수치 알고리즘의 오차는 조건수와 정밀도의 결합으로 분석된다.

6. 정규화

6.1 정규화 역행렬

특이성 부근에서 안정성을 위해 정규화 역행렬이 사용된다.

\mathbf{M}^* = (\mathbf{M} + \lambda\mathbf{I})^{-1}

여기서 \lambda는 작은 양수이다.

6.2 적응적 정규화

정규화 매개 변수를 자세에 따라 적응적으로 조정할 수 있다.

7. 작업 공간 관성 행렬

7.1 정의

작업 공간 관성 행렬은 다음과 같이 정의된다.

\mathbf{\Lambda}(\mathbf{q}) = (\mathbf{J}(\mathbf{q})\mathbf{M}^{-1}(\mathbf{q})\mathbf{J}^T(\mathbf{q}))^{-1}

이 행렬은 작업 공간 제어, 임피던스 제어, 작업 공간 동역학 분석에 사용된다.

7.2 계산

작업 공간 관성 행렬의 계산은 관성 행렬의 역행렬을 두 번 사용한다. 직접적 계산은 비용이 많이 든다.

7.3 효율적 계산

작업 공간 관성 행렬을 효율적으로 계산하는 알고리즘이 있다. 카티프(Khatib)의 작업 영역 동역학 알고리즘 등이 그 예이다.

8. 응용

8.1 동적 시뮬레이션

순동역학의 적분을 위해 관성 행렬의 역행렬 또는 ABA가 필요하다.

8.2 작업 공간 제어

작업 공간 관성 행렬을 사용한 제어에 역행렬 계산이 필요하다.

8.3 임피던스 제어

작업 공간 임피던스 제어는 작업 공간 관성 행렬의 형성과 처리를 필요로 한다.

8.4 운동 계획

운동 계획 알고리즘에서 관성 행렬의 역행렬이 자주 등장한다.

9. 본 절의 의의

본 절은 관성 행렬의 역행렬 계산 기법을 다루었다. 효율적인 역행렬 계산은 매니퓰레이터의 순동역학과 제어의 핵심 기법이다.

10. 참고 문헌

  • Featherstone, R. (2008). Rigid Body Dynamics Algorithms. Springer.
  • Featherstone, R. (1983). The calculation of robot dynamics using articulated-body inertias. International Journal of Robotics Research, 2(1), 13-30.
  • Khatib, O. (1987). A unified approach for motion and force control of robot manipulators: The operational space formulation. IEEE Journal of Robotics and Automation, 3(1), 43-53.
  • Golub, G. H., & Van Loan, C. F. (2013). Matrix Computations (4th ed.). Johns Hopkins University Press.

version: 1.0