http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.584.9413&rep=rep1&type=pdf
리아푸노브 안정 성질을 이용하여 전역 안정한 벡터필드를 이용한 UAV의 유도 기법을 제안한 논문이다.
위 알고리즘과 간단한 스위칭 알고리즘을 이용하면 경로점을 추종하는 경로와 루프를 추종하도록 유도할 수 있다.
예시로 원형 선회와 racetrack 형태의 선회 예시를 들고 있다.
1. 벡터 필드의 설계
배열 $\theta$을 매개변수로 하는 다음의 벡터 공간을 정의한다.
$$\dot{\bar{r}}_d = h \left(\bar{r} ,\theta \right) $$
위 벡터 필드의 전역적 거동이 모든 $\theta$에 대해서 간단하고 강건하게 구체화될 수 있다면, 기체의 관리가 더 높은 계층 단계에서 수행 될 수 있다.
요구하는 점근적 거동은 attractor 를 통해서 표현된다. attractor는 기체가 수렴해야만 하는 경로나 요구되는 위치 집합과 같은 것으로 구성된다. 많은 응용 분야에서는 속도가 없는 점근적 고정 위치로 단일의 평형점을 정의할 수 있다. 그러나 고정익 무인기는 떠 있기 위해서 대기 속도를 유지해야하기 때문에 이게 불가능하다.
본 응용에서는, 가장 간단한 attractor로써 평형점이 없는 closed, non-intersecting curves $C \in \scriptR^3 $에 초점을 두자. 그러면 '이 집합 $C$로 전역적으로 유인되도록 하는 벡터 공간을 구축'하는 문제로 정의한다.
$V_F (\bar{r})$의 시간 미분은 다음과 같다.
$$\dot{V}_F (\bar{r}) = \frac{\partial V_F}{\partial \bar{r} } \dot{\dot{r}} = \frac{\partial V_F}{\partial \bar{r} } h(\bar{r}, \theta)$$
이때, 기체의 움직임 $\dot{\bar{r}}$이 요구하는 벡터 공간 $\dot{\bar{r}}_d$과 같을 수 있다고 가정한다면, 다음과 같이 벡터 공간을 고르자.
$$\dot{\bar{r}} = \dot{\bar{r}}_d = h(\bar{r} ,\theta) = - \left[\frac{\partial V_F}{\partial \bar{r} } \Gamma(\bar{r}) \right]^T + S(\bar{r}) $$
$\Gamma (\bar{r})$는 $\bar{r}$이 유계일 때 마다 $\frac{\partial V_F}{\partial \bar{r} } \Gamma(\bar{r})$이 유계가 어떤 대칭의 양의 정부호 행렬이라서,
$\frac{\partial V_F}{\partial \bar{r} } \Gamma(\bar{r}) \left[\frac{\partial V_F}{\partial \bar{r} } \Gamma(\bar{r}) \right]^T \rightarrow \bar{0}$는 $\frac{\partial V_F}{\partial \bar{r} }\rightarrow \bar{0}$이도록 하므로
$S(\bar{r})$는 $\frac{\partial V_F}{\partial \bar{r} } S(\bar{r}) = 0$을 만족한다.
그러면
$$\dot{V}_F (\bar{r}) = -\frac{\partial V_F}{\partial \bar{r} } \Gamma(\bar{r}) \left[\frac{\partial V_F}{\partial \bar{r} } \Gamma(\bar{r}) \right]^T$$
이고, $\dot{V}_F (\bar{r}) <=0$이므로, $V_F (\bar{r})$는 유계이며 수렴한다.
벡터 공간을 다시 보면,
$$h(\bar{r} ,\theta) = - \left[\frac{\partial V_F}{\partial \bar{r} } \Gamma(\bar{r}) \right]^T + S(\bar{r}) = h_{c} (\vec{r},\theta) + S(\bar{r})$$
위의 벡터 공간의 첫 번째 항 $h_c (\vec{r},\theta)$은 "Contradiction" 으로, 포텐셜 함수 $V_F (\bar{r}$의 gradient의 "반대" 방향으로 향하는 벡터 공간 성분을 만들어낸다.
위의 두 번째 항 $S(\bar{r})$은 "Circulation" 항으로, 항상 포텐셜 함수 $V_F(\bar{r})$의 gradient에 항상 직교하는데, 이때문에 시간이 지남에 따라 $V_F(\bar{r})$의 변화에 기여하진 않는다.
UAV의 추종 제어를 위해 $\gamma(\bar{r})$과 $S(\bar{r})$는 요구 속력 $\nu$를 나타내기 위해 벡터 공간 $h(\bar{r},\theta)$ 정규화하도록 선택되어야 한다.
$$\left| h(\bar{r} ,\theta) \right| =\left| - \left[\frac{\partial V_F}{\partial \bar{r} } \Gamma(\bar{r}) \right]^T + S(\bar{r}) \right| = \nu$$
선회 원 예시
선회 원이 단위 벡터 $\hat{n}$에 수직인 평면에 놓여있다고 하자. 그리고 요구 선회 원 끌개(Desired loiter circle attractor) $C$ 상의 선회 원 반경을 $\rho$라고 하자. 기체의 위치 벡터 $\vec{r}$에 대해서 평면의 수직 성분 $\vec{r}_n = (\vec{r}^T \hat{n})\hat{n}$, 접선 성분을 $\vec{r}_t = (I-\hat{n}\hat{n}^T)\vec{r}$이라 하면, 포텐셜 함수 $V_F (\bar{r})$을 다음과 같이 정의하자.
$$V_F (\vec{r}) = 0.5 \left( \vec{r}_n^T \hat{n}\right)^2 + 0.5 \left( \vec{r}_t^T \hat{t} - \rho \right)^2$$
$\vec{r}$는 벡터, $\bar{r}$는 길이, $\hat{r}$은 단위 방향 벡터이다.
그러면 다음의 식을 취할 수 있다.
$$\frac{\partial V_F} {\partial \bar{r}} = \bar{r}_n \hat{n}^T + \left(r_t - \rho \right) \hat{t}^T$$
또한 다음과 같이 정의하자.
$$\Gamma (\bar{r}) = \frac{1}{\alpha (\bar{r}) } I \hspace{10mm} S(\bar{r}) = \gamma \frac{\hat{n}\times \vec{r}_t}{\alpha (\bar{r})}$$
$\gamma >0$이다. 정규화 변수 $\alpha (\bar{r})$는 다음과 같이 주어진다.
$$\alpha(\bar{r}) = \frac{1}{\nu} \left(\bar{r}_n ^2 + \left(\bar{r}_t - \rho \right)^2 + \rho ^2 \gamma ^2 \right)^{1/2}$$
$\gamma$의 크기는 Contraction 항과 Circulation 항의 상대적인 강도를, 부호는 회전 방향을 나타낸다.
경우를 나누어 생각해보면,
Case 1) 선회 원 상에 기체가 있다면,
$V_F (\bar}=0$ 이며, $\bar{r}_n = 0$, $\bar{r}_t = \rho$이다. $\hat{n}$은 평면에 직교하기 때문이다. 또한 contradiction term $h_c (\bar{r},\theta)=0$이며, circulation term $|S(\bar{r})|=\nu$이 작동하면서 선회 원 상의 요구 속력을 나타낸다.
Case 2) $\bar{r}$이 커지면,
contradiction term $|h_c| \rightarrow \nu $이고, circulation term $|S(\bar{r})| \rightarrow 0$이게 된다. 식으로부터, 벡터 공간은 선회 원의 중심을 향한다.
MATLAB을 이용한 구현과 그림
|
|
Racetrack 예시
두 경로점에 고정된 두 개의 선회 원 간을 번갈아 돌면서 만든 Racetrack 패턴 시뮬레이션에서, 전환 기준은 간단하다.
기체는 현재 선회 원의 경로점을 지정된 거리 내에 지나야하며, 다음 경로점의 벡터 공간 내에서 기체의 방위가 특정 오차 이내로 정렬되어야한다.
Ref
Dale Lawrence, Eric Frew and William Pisano, "Lyapunov Vector Fields for Autonomous UAV Flight Control," Jun 2012.
'G.N.C. > Guidance and Control' 카테고리의 다른 글
TECS(Total Energy Control System) 논문 정리 및 구현 (2) - 구현 (0) | 2022.11.26 |
---|---|
TECS(Total Energy Control System) 논문 정리 및 구현 (1) - 정리 (0) | 2022.11.19 |
[G] 비선형 경로 추종 기법을 이용한 곡선 경로 추종 (0) | 2021.06.20 |
[G] 비선형 경로 추종 유도 법칙 기반 선회 유도 기법 구현해보기 (2) | 2021.06.11 |
SMC, 슬라이딩 모드 제어와 예제해보기 (0) | 2021.05.21 |