Geometric Tracking Control of a Quadrotor UAV on

드론 제어에서 많이 인용되는 이태영 교수님의 “Geometric Tracking Control of a Quadrotor UAV on SE(3)” 논문을 읽어보았다.

논문 제목 그대로 에서 desired state 를 추종하는 controller 를 제안하였다.

앞선 Whole-body Motion Planning 논문들에서 여러 차례 attitude 를 고려하기 위해 에서의 경로 생성이 필요하다고 언급하였는데, Lie theory 까지 파고들기 어려워 To-Do 로 남겨두었는데, 본 논문을 보면서 이해가능한 정도로만 살펴보기로 하였다.

Contributions

  • almost global 한 control system 을 제안하여 어떤 initial state 에서도 desired state 로 제어가 가능하다.

Introduction

기존 UAV 의 제어와 관련한 연구에서는 nonlinear control 보다는 linear control system 을 많이 사용했다고 한다.

선행 연구들 조차도 quadrotor dynamics 를 선형화하거나 backstepping 과 sliding mode 방식이 사용되었고 이들은 모두 오일러 각에서 이루어졌기 때문에 singularity 문제에서 벗어날 수 없었다.

nonlinear manifolds 에서 전개된 dynamics 를 위한 Geometric Control 은 Euclidean 공간에서 표현할 수 없는 공간에서 제어가 가능하다.

따라서 본 논문에서는 에서 quadrotor dynamics 를 전개하고 이를 통해 경로 추종 제어기를 제안하였다.

Quadrotor Dynamics Model

Coordinate Frame

그림과 같이 inertial frame 과 body-fixed frame 을 정의한다. 이 외에 는 관습적인 정의를 따른다. ( 는 각속도)

quadrotor 는 4개의 모터의 thrust input 으로 6 DoF 움직임을 만들어 내는 underactuated system 이다.

에서 translation, 에서 rotation 을 표현하므로 이는 의 configuration manifold 를 가진다.

What is configuration manifold?

  • The space of all posible coordinates needed to determine the system (ref)
  • 즉, system 을 온전히 표현하기 위해 필요한 좌표공간

란 special orthogonal group 의 약자로 로 표현된다. 즉, 3차원 회전행렬 의 연산들로 닫혀있는 군이다.

What is Group?

군 (Group) 은 간단하게 집합 와 어떤 연산자(binary operator, 이항연산자) 로 이루어진 구조에 대한 개념이다.

의 요소와 연산자 에 대해 아래와 같은 조건을 만족해야 한다.

  • Composition: 모든 는 연산자 에 대해 닫혀있다. 즉, 를 만족한다.
  • Associativity: 모든 에 대해 를 만족한다.
  • Identity element: 항등원이 존재한다. 즉 모든 에 대해 를 만족하는 가 존재한다.
  • Inverse element: 역원이 존재한다. 모든 에 대해 항등원 를 만족하는 unique 한 가 존재한다.

자세한 내용은 Wikipedia 를 참고하자.

special Euclidean group 는 따라서 아래와 같이 정의된다.

Dynamic Model

그림에 표현된 대로 전체 thrust 는 방향을 가지는 로 표현된다. 이를 inertial frame 으로 표현하면 가 된다.

에서 각 축의 unit vector 에 대해 로 표현된다.

이제 를 가지고 을 얻어내기 위해서는 torque 를 고려해야 한다. 대부분 그렇듯 각 모터와 프롭의 dynamics 까지 고려하기는 어려우므로 torque 와 thrust 가 비례한다고 가정한다.

그리고 첫 번째와 세 번째 프롭이 CW 방향으로 돌고, 나머지가 CCW 로 돈다고 두면 아래와 같이 전체 thrust 와 moment 을 표현할 수 있다.

이 때 torque 로 표현된다. 위의 행렬이 invertible 하므로 을 control input 으로 사용할 수 있다.

따라서 quadrotor 의 equations of motion 을 아래와 같이 정리할 수 있다.

여기서 hat map 를 만족하는 연산자이다.

즉, 에 있는 vector 를 skew-symmetric matrix 바꿔준다. 에 대해 hat map 이 아래와 같이 표현된다.

아래 영상이 큰 도움이 되었다.

Geometric Tracking Control on SE(3)

주어진 경로는 CoM 의 위치와 의 방향으로 이루어져 있다. 이를 각각 라고 한다.

translation dynamics 는 에 의해 제어되므로 로 이동하기 위해 적절한 를 선택해야 한다.

그리고 가 정해지면 desired attitude 를 결정하기 위해 하나의 요소가 더 필요하다. 즉 에 수직인 평면에 있는 quadrotor 의 방향이 정해져야 한다.

이는 앞서 에 의해 정해진다.

에 평행하지 않다고 가정하므로, 이를 을 법선으로 삼는 평면에 투영(projection) 한다. 이로써 desired attitude 가 결정된다.

이 때 이다. 이 를 따라가기 위해 이 결정된다.

요약하자면, 에 따라 을 만족한다.

는 앞서 설명한 대로 에 수직한 평면으로 정규화한 투영을 의미한다. 자세한 내용은 그림 3 참고.

보다시피, Lie group 에서 바로 사용할 수 있는 제어기이므로 singularity 로부터 자유롭고 좌표계 변환이 필요없다.

A. Tracking Errors

이제 에 대해 tracking error 를 정의해야 한다. 위치와 속도에 대해서는 아래와 같이 간단하게 정의할 수 있다.

attitude 과 각속도 (the tangent bundle of ) 에서 전개되므로 복잡한 수식 전개가 필요하다.

우선 에서 error function 을 아래와 같이 정의한다.

의 각도 차이가 이내인 영역에서 라면 locally positive-defnite 하다.

그리고 이에 대한 sublevel set 을 정의한다.

풀어보면 둘의 각도 차이가 라면 이다. 따라서 이 때의 값은 2가 된다.

그러므로 이내의 각의 집합이므로 논문 표현대로 almost covers 한다.

회전 행렬 의 변화를 로 표현하면 위의 error function 의 미분은 아래와 같다.

이 때 vee map 은 위에서 hat map 의 역함수이다.

Question

  • Equation (9) 의 유도과정

이로부터 attitude tracking error 을 아래와 같이 정의한다.

두 접벡터( tangent vector ) 는 서로 다른 tangent space 에 놓여있으므로 바로 비교할 수 없다.

그래서 공간의 벡터로 변환한 후에 과 비교한다.

Question

  • 위 수식 뒷 부분 수식 전개

이로써, 각속도에 대한 추종 오차를 다음과 같이 정의한다.

이므로 가 회전행렬 의 각속도 임을 알 수 있다.

B. Tracking Controller

경로로부터 주어진 와 양의 상수 로부터 아래와 같이 를 정의한다.

당연히 분모 임을 가정한다.

앞서 정의한 에 대해 control inputs 은 아래와 같이 구성한다.

Question

  • 수식 (16) 에서 부분이 어떻게 생기게 된 것인지?
  • 수식(3) 이 inertial frame 에서 정의된 것으로 이해했는데 그렇다면 (15) 는 body-fixed frame 에서의 를 의미하는 것인가? 부분이 곱해진 이유?

Solved

  • 수식(3) 에 가 곱해진 이유는 아래 설명되어 있듯이, attitude error 에 따라 전체 thrust 의 크기를 작게 하기 위함이다.

이 때 desired trajectory 에서 필요한 net force 는 다음과 같이 주어진 상수 보다 작다.

(16) 에서의 control moment 에 상응하는 추종 제어기이다. 수식 (4), (5) 에서 제시된 dynamics 대로 이 제어기는 attitude tracking error 를 기하급수적으로 줄인다.

마찬가지로 (15) 에서의 제어기는 에서의 translational dynamics 를 반영한다. attitude tracking error 가 없음을 전제로 가 translation 에 대한 추종 제어를 할 수 있다.

따라서, attitude tracking error 가 0이 되면서 translational tracking error 가 0으로 수렴하게 된다.

물론 순간적으로 attitude tracking error 가 0이 아닐 수 있고, attitude error 가 커지면 의 방향이 desired direction 의 방향으로부터 많이 벗어날 수 있다.

그래서 (15) 에서 attitude tracking error 가 크면 전체 thrust 의 크기가 작아지도록 하였다.

의 수식에 desired body-fixed axis 오 현재의 body-fixed axis 의 dot product 을 포함하였다.

C. Exponential Asymptotic Stability

D. Almost Global Exponential Attractiveness

E. Properties and Extensions

Conclusion

본 논문은 에서의 geometric controller 를 제안하여 오일러각이나 쿼터니언에서의 단점을 극복할 수 있었다.

또한, 처음 attitude error 가 라면 기하급수적으로 안정화되고 이내라면 다시 이내의 오차로 수렴하면서 almost global 함을 보였다.