10.74 기하학적 자세 추적 제어기

1. 기하학적 제어의 개념

기하학적 자세 추적 제어기(geometric attitude tracking controller)는 회전군 SO(3) 또는 특수 유클리드 군 SE(3)의 다양체 구조를 직접 활용하여 설계된 비선형 제어기이다. 좌표계 의존적인 매개변수화(예: 오일러 각)를 사용하지 않고 회전 다양체 자체에서 동작하므로 짐벌 락이나 매개변수 특이점이 발생하지 않으며, 거의 전역적인 점근 안정성(almost global asymptotic stability)을 보장한다. 이 접근 방식은 강한 비선형성을 가진 비행체의 자세 추적 문제에서 우수한 성능을 보이며, 복잡한 곡예 비행이나 극한 조건의 자세 명령에 효과적으로 대응한다.

2. 기하학적 제어의 동기

2.1 매개변수화의 한계

자세를 표현하는 다양한 방법들 가운데 오일러 각, 축-각도, 로드리게스 매개변수 등은 모두 일정한 영역에서 특이점을 가진다. 이러한 매개변수에 의존하는 제어기는 특이점 근처에서 부정확한 동작을 보이거나 발산할 수 있다. 쿼터니언은 특이점이 없지만, 이중 포복 특성으로 인한 부호 모호성을 적절히 처리하지 않으면 가까운 자세 명령을 위해 먼 회전 경로를 선택하는 풀림 현상(unwinding phenomenon)이 발생할 수 있다.

2.2 다양체 위의 직접 설계

기하학적 제어는 자세를 회전 행렬 \mathbf{R} \in SO(3) 또는 동치인 다양체 원소로 다루며, 제어 법칙도 다양체의 기하학적 구조에 부합하도록 설계된다. 이렇게 설계된 제어기는 좌표계 선택에 무관하게 동작하며, 모든 자세에서 일관된 응답을 보인다.

3. 회전군 SO(3)의 구조

3.1 군의 정의

회전군 SO(3)은 다음과 같이 정의된다.

SO(3) = \{\mathbf{R} \in \mathbb{R}^{3 \times 3} : \mathbf{R}^T\mathbf{R} = \mathbf{I}, \det(\mathbf{R}) = 1\}

이 집합은 매트릭스 곱셈에 대해 군을 이루며, 동시에 3차원의 매끄러운 다양체 구조를 갖는다.

3.2 리 대수와 지수 사상

SO(3)의 리 대수는 반대칭 행렬의 집합 \mathfrak{so}(3) = \{[\boldsymbol{\omega}]_\times : \boldsymbol{\omega} \in \mathbb{R}^3\}이다. 리 대수와 군 사이는 지수 사상으로 연결된다.

\exp([\boldsymbol{\omega}]_\times) = \mathbf{I} + \frac{\sin\lVert\boldsymbol{\omega}\rVert}{\lVert\boldsymbol{\omega}\rVert}[\boldsymbol{\omega}]_\times + \frac{1 - \cos\lVert\boldsymbol{\omega}\rVert}{\lVert\boldsymbol{\omega}\rVert^2}[\boldsymbol{\omega}]_\times^2

이 식이 로드리게스 공식이며, 회전 벡터에서 회전 행렬로의 사상이다.

4. 기하학적 자세 오차

4.1 회전 행렬 형태의 오차

추정 자세 \mathbf{R}과 목표 자세 \mathbf{R}_d 사이의 자세 오차는 다음과 같이 정의된다.

\mathbf{R}_e = \mathbf{R}_d^T\mathbf{R}

이 행렬은 목표 자세에서 현재 자세로의 회전을 나타내며, 두 자세가 일치할 때 항등 행렬이다.

4.2 벡터 형태의 오차

자세 오차의 벡터 형태는 회전 행렬의 반대칭 부분으로 정의된다.

\mathbf{e}_R = \frac{1}{2}(\mathbf{R}_d^T\mathbf{R} - \mathbf{R}^T\mathbf{R}_d)^\vee

여기서 (\cdot)^\vee는 반대칭 행렬에서 벡터로의 사상이다. 이 벡터는 회전 오차의 회전 축과 회전 각의 사인의 곱에 비례하며, 미소 자세 오차에 대해 회전 벡터에 근사한다.

4.3 각속도 오차

각속도 오차는 다음과 같이 정의된다.

\mathbf{e}_\Omega = \boldsymbol{\omega} - \mathbf{R}^T\mathbf{R}_d\boldsymbol{\omega}_d

여기서 \boldsymbol{\omega}_d는 목표 각속도이며, 변환 항 \mathbf{R}^T\mathbf{R}_d는 목표 자세에서 현재 자세로의 좌표 변환이다.

5. 리(Lee) 등의 기하학적 추적 제어기

5.1 제어 법칙

태욱 리(Taeyoung Lee), 멜빈 룩(Melvin Leok), 해리스 매클랭록(N. Harris McClamroch)이 제안한 기하학적 추적 제어기는 다음의 형태이다.

\boldsymbol{\tau} = -k_R\mathbf{e}_R - k_\Omega\mathbf{e}_\Omega + \boldsymbol{\omega} \times \mathbf{J}\boldsymbol{\omega} - \mathbf{J}([\boldsymbol{\omega}]_\times\mathbf{R}^T\mathbf{R}_d\boldsymbol{\omega}_d - \mathbf{R}^T\mathbf{R}_d\dot{\boldsymbol{\omega}}_d)

여기서

  • k_R, k_\Omega: 양의 이득
  • \mathbf{J}: 본체 좌표계에서의 관성 행렬
  • \boldsymbol{\omega}_d, \dot{\boldsymbol{\omega}}_d: 목표 각속도와 그 시간 미분
  • \mathbf{e}_R, \mathbf{e}_\Omega: 자세 오차와 각속도 오차

이 제어 법칙은 PD 형태의 피드백 항과 자이로스코프 효과 보상, 목표 가속도 피드포워드를 모두 포함한다.

5.2 폐루프 안정성

이 제어기의 폐루프 안정성은 다음의 리아푸노프 함수로 분석된다.

V = \frac{1}{2}\mathbf{e}_\Omega^T\mathbf{J}\mathbf{e}_\Omega + k_R\Psi(\mathbf{R}_d^T\mathbf{R})

여기서 \Psi는 회전 행렬의 오차 측정값이다.

\Psi(\mathbf{R}_e) = \frac{1}{2}\mathrm{tr}(\mathbf{I} - \mathbf{R}_e)

이 함수는 \mathbf{R}_e = \mathbf{I}일 때 0이고 그 외에는 양의 값을 가진다. 폐루프 동역학을 대입하면 \dot{V}가 음의 정부호임을 보일 수 있으며, 자세 오차와 각속도 오차가 모두 0으로 점근 수렴함이 증명된다.

5.3 거의 전역적 안정성

기하학적 제어기는 거의 전역적 점근 안정성을 보장한다. 회전군의 위상적 제약으로 인해 단일 안정점에서의 전역 점근 안정성은 불가능하지만, 측도 0의 집합을 제외한 모든 초기 조건에서 점근 안정성이 보장된다. 측도 0의 집합은 정확히 \pi 라디안 회전된 자세에 해당하며, 실용적으로 이 집합에 정확히 도달하기는 어렵다.

6. SE(3) 위의 추적 제어기

6.1 결합된 위치-자세 제어

쿼드콥터의 위치와 자세를 동시에 제어하는 SE(3) 위의 기하학적 제어기는 다음과 같이 설계된다. 위치 오차와 속도 오차는 다음과 같다.

\mathbf{e}_x = \mathbf{x} - \mathbf{x}_d, \quad \mathbf{e}_v = \mathbf{v} - \mathbf{v}_d

목표 추력 벡터는 PD 피드백과 중력 보상, 가속도 피드포워드의 결합으로 결정된다.

\mathbf{F}_{\text{des}} = -k_x\mathbf{e}_x - k_v\mathbf{e}_v + mg\hat{\mathbf{e}}_3 + m\ddot{\mathbf{x}}_d

여기서 m은 비행체의 질량이고 g는 중력 가속도이다.

6.2 목표 자세의 유도

목표 추력 방향이 본체 좌표계의 z축과 일치하도록 목표 자세 \mathbf{R}_d를 구성한다.

\hat{\mathbf{b}}_3 = \frac{\mathbf{F}_{\text{des}}}{\lVert\mathbf{F}_{\text{des}}\rVert}

목표 비행 방향(요)을 지정하는 단위 벡터 \hat{\mathbf{b}}_{1,d}가 주어지면, 다른 두 축은 외적으로 결정된다.

\hat{\mathbf{b}}_2 = \frac{\hat{\mathbf{b}}_3 \times \hat{\mathbf{b}}_{1,d}}{\lVert\hat{\mathbf{b}}_3 \times \hat{\mathbf{b}}_{1,d}\rVert}, \quad \hat{\mathbf{b}}_1 = \hat{\mathbf{b}}_2 \times \hat{\mathbf{b}}_3

목표 회전 행렬은 \mathbf{R}_d = [\hat{\mathbf{b}}_1, \hat{\mathbf{b}}_2, \hat{\mathbf{b}}_3]이다.

6.3 추력 크기와 토크 계산

추력 크기는 목표 추력 벡터의 본체 z축 성분이다.

f = \mathbf{F}_{\text{des}}^T\mathbf{R}\hat{\mathbf{e}}_3

토크는 위에서 언급한 자세 추적 제어 법칙으로 계산된다.

7. 기하학적 제어의 풍부한 동특성

7.1 곡예 비행

기하학적 제어기는 모든 자세에서 일관된 응답을 제공하므로 곡예 비행에서 우수한 성능을 보인다. 비행체가 거꾸로 뒤집히거나 극단적 자세에 있을 때에도 안정적으로 동작한다.

7.2 큰 자세 명령

큰 자세 변화 명령(예: 90도 이상의 회전)에 대해서도 부드럽고 안정적으로 반응한다. 이는 선형화된 제어기가 흔히 실패하는 영역이다.

7.3 빠른 응답

피드포워드 항이 포함되어 있어 동적 응답이 빠르며, 정확한 추적이 가능하다.

8. 쿼터니언 기반 기하학적 제어

8.1 쿼터니언 형태의 제어 법칙

회전 행렬 대신 쿼터니언을 사용하는 기하학적 제어기도 설계할 수 있다. 자세 오차는 쿼터니언 곱으로 정의되며, 제어 법칙은 다음과 같다.

\boldsymbol{\tau} = -k_q\mathrm{sgn}(q_{e,w})\mathbf{q}_{e,v} - k_\omega\mathbf{e}_\Omega + \text{비선형 보상 항}

여기서 \mathrm{sgn}(q_{e,w})가 풀림 현상을 방지한다.

8.2 풀림 현상의 방지

쿼터니언의 이중 포복 특성으로 인해 두 부호의 쿼터니언이 동일한 회전을 표현한다. 부호 처리를 잘못하면 짧은 경로 대신 긴 경로를 따라 회전하는 풀림 현상이 발생한다. \mathrm{sgn}(q_{e,w}) 인자를 사용하여 항상 짧은 경로를 선택하도록 보장한다.

8.3 비연속 제어 법칙의 안정성

부호 함수의 사용은 제어 법칙을 비연속적으로 만들지만, 측도 0의 자세 집합에서만 비연속이며 거의 전역적 점근 안정성을 보장한다.

9. 강건성과 외란 거부

9.1 적분 작용

외란이 있는 환경에서 정상 상태 오차를 제거하기 위해 적분 항이 추가된다.

\boldsymbol{\tau} = \boldsymbol{\tau}_{\text{nominal}} - k_I\!\int\!\mathbf{e}_R\,dt

이 적분 항이 일정한 외란 토크를 보상한다.

9.2 외란 관측기

외란 토크를 추정하는 관측기를 사용하여 추정값을 제어 입력에서 빼는 방식도 사용된다.

9.3 적응형 제어

관성 행렬이 정확히 알려지지 않은 경우 적응형 제어가 적용될 수 있다. 매개변수 추정이 실시간으로 갱신된다.

10. 실험적 검증

10.1 시뮬레이션

기하학적 제어기는 비선형 시뮬레이션 환경에서 검증된다. 곡예 비행, 외란 응답, 큰 자세 변화 등 다양한 시나리오에서 우수한 성능이 확인된다.

10.2 실제 비행

실제 쿼드콥터에 구현된 기하학적 제어기는 곡예 비행과 정밀 호버링 모두에서 우수한 성능을 보였다. PX4와 ArduPilot 등 주요 비행 제어 시스템에서 기하학적 제어 옵션이 제공된다.

11. 기하학적 제어와 다른 방법의 비교

항목기하학적 제어오일러 각 PD쿼터니언 PD
특이점없음있음(짐벌 락)없음
풀림 현상없음해당 없음부호 처리 필요
안정성 보장거의 전역국소거의 전역
곡예 비행우수부적합우수
계산 비용중간낮음낮음
이론적 기반다양체 위의 분석선형화리아푸노프

12. 기하학적 제어의 응용

12.1 곡예 비행 드론

레이싱 드론과 곡예 시연 드론에서 기하학적 제어기가 활용된다. 극단적 자세와 빠른 변화에 대응할 수 있는 능력이 핵심이다.

12.2 우주선 자세 제어

우주선의 자세 제어에서 기하학적 제어는 큰 자세 변화 임무에 사용된다. 통신 안테나의 정렬이나 태양 전지판의 방향 조정 등에 활용된다.

12.3 매니퓰레이터 작업 공간 제어

로봇 팔의 말단 장치 자세 제어에서도 기하학적 제어 원리가 사용된다.

12.4 수중 로봇

수중 로봇의 자세 제어에서 기하학적 제어가 적용된다. 6자유도 운동을 다루는 데 적합하다.

12.5 자율 비행 시스템

복잡한 비행 임무를 수행하는 자율 비행 시스템에서 기하학적 제어가 핵심 자세 제어 알고리즘으로 사용된다.

13. 기하학적 제어의 한계와 발전

13.1 매개변수 튜닝

기하학적 제어기는 다수의 이득을 포함하므로 튜닝이 복잡할 수 있다. 시스템 식별과 자동 튜닝 기법이 보조로 사용된다.

13.2 계산 부하

비선형 보상 항과 행렬 연산으로 인해 계산 부하가 단순한 PD 제어보다 높다. 임베디드 환경에서는 최적화된 구현이 필요하다.

13.3 학습 기반 확장

최근에는 기하학적 제어와 강화 학습을 결합한 하이브리드 방식이 연구되고 있다. 모형 기반 안정성 보장과 학습 기반 적응성을 결합한 형태이다.

14. 참고 문헌

  • Lee, T., Leok, M., & McClamroch, N. H. (2010). “Geometric tracking control of a quadrotor UAV on SE(3).” IEEE Conference on Decision and Control, 5420–5425.
  • Lee, T. (2012). “Geometric tracking control of the attitude dynamics of a rigid body on SO(3).” American Control Conference, 1200–1205.
  • Bullo, F., & Murray, R. M. (1999). “Tracking for fully actuated mechanical systems: A geometric framework.” Automatica, 35(1), 17–34.
  • Bhat, S. P., & Bernstein, D. S. (2000). “A topological obstruction to continuous global stabilization of rotational motion and the unwinding phenomenon.” Systems & Control Letters, 39(1), 63–70.
  • Mayhew, C. G., Sanfelice, R. G., & Teel, A. R. (2011). “Quaternion-based hybrid control for robust global attitude tracking.” IEEE Transactions on Automatic Control, 56(11), 2555–2566.

version: 1.0