Feedback Linearization

이번 글에서는 비선형 제어기법의 한 갈래인 feedback linearization 에 대해 다루어 봅니다. 여기서는 궤환 선형화에 대해 자세한 이론적인 어쩌구저쩌고를 다 다루지는 않고, 숲을 보기 위한 개념과 특징에 대해서만 살펴봅니다.

일반적으로 linearization 이라고 하면, Taylor series expansion 을 이용한 어떤 특정 점에서의 선형화를 말합니다. 잘 모르시는 분들을 위해서 대략적인 비유를 하자면 함수의 특정 위치에서 접선을 그어놓고 그 접선의 함수를 원래 함수인 마냥 생각하는 거라고 할 수 있겠습니다. 당연히 접선을 긋는 '특정 위치' 근처에서만 원래 함수와 접선의 함수가 비슷하고 조금만 멀리 떨어지면 함수의 값이 상당히 달라지겠죠. 원래 함수가 어떤 함수인지에 따라, 그리고 같은 함수라도 '특정 위치' 가 어디인지에 따라 접선의 함수와 값이 많이 달라질수도 있고 거의 비슷할 수도 있습니다. 일반적으로 '비선형성이 강하다' 라는 표현이 어떤 의미인지 이런 맥락에서 생각해 보면 무슨 의미인지 대충 감이 올 거예요.

궤환선형화, feedback linearization 은 이런 일반적인 의미에서의 선형화와는 살짝 다른 개념입니다. 일단 궤환선형화는 앞에서 언급한 일반적인 의미에서의 선형화와는 달리 아무 함수나 선형화하는 게 아니고, 제어입력과 출력이 존재하는 동역학 시스템에 대한 선형화입니다. 조금 더 직접적으로 표현하면, 함수를 근사해서 선형 함수인 척 하는 일반적인 선형화와 달리 궤환선형화에서는 적절한 제어입력을 통해 어떤 시스템을 선형 시스템인 것처럼 만들어 버리는 기법입니다.

궤환선형화는 어떤 시스템을 선형 시스템으로 만들어 버리는 기법이라고 했는데, 그럼 왜 이런 기법을 쓰느냐? 당연히 선형 시스템을 다루는 게 어떤 잘 모르는 시스템을 다루는 것보다 쉬울 것 같기 때문이죠. 하지만 모든 일반적인 비선형 시스템을 죄다 궤환선형화를 통해 선형 시스템으로 변신시킬 수는 없고요, 특정한 형태의 시스템만 가능하다든가, 시스템이 특정한 형태가 아니면 상태변수 전체는 아니고 일부만 선형화시킨다든가, 하는 식으로 깔짝깔짝 가능한 경우가 많습니다. 먼저 일부만 선형화시키는 경우, input-output linearization 에 대해 살펴봅시다.

1. Input-Output Linearization

일반적인 제어 시스템에서, 항상 controllable 한 것도 아니고 observable 한 것도 아닐 수도 있겠죠. 다음과 같은 시스템을 고려합시다.

$$\begin{align} \dot{\mathbf{x}} &= \mathbf{f}(\mathbf{x},u)\\ y&=h(\mathbf{x}) \end{align}$$

보면 출력 $y$ 가 제어입력에 대해 비선형 함수로 주어져 있죠. Input-output linearization 에서는 전체 상태변수 $\mathbf{x}$ 는 잘 모르겠고 일단 $y$ 를 선형 시스템으로 만들어버리는 걸 목표로 합니다. 이게 무슨 말이냐고 하면, $y$ 의 동역학 방정식을 어떤 선형 시스템 방정식으로 만들겠다는 것입니다. 어떻게 하느냐? 일단 $y$ 를 미분해서 동역학 방정식을 끄집어 냅니다. 다음과 같은 예제를 살펴봅시다.

$$\begin{align} \dot{x}_1 &= \sin x_2 + (x_2 + 1)x_3\\ \dot{x}_2 &= x_1^5 + x_3\\ \dot{x}_3 &= x_1^2 + u\\ y &= x_1 \end{align}$$

위와 같은 시스템에 대해 input-output linearization 기법을 이용해서 $y$ 를 선형 시스템으로 만들어 봅시다. 말했듯이 일단 $y$ 를 시간에 대해 미분합니다. 몇번이나? $u$ 가 식에 나타날 때 까지 합니다. 딱 보면 한번 미분하면 안 나오고 두번 미분하면 나오네요.

$$\begin{gather} \ddot{y} = (x_2+1)u + f_1(\mathbf{x})\\ f_1(\mathbf{x}) = (x_1^5+x_3)(x_3+\cos x_2)+(x_2+1)x_1^2 \end{gather}$$

 

두 번 미분해서 $u$ 가 나왔으니까 이 시스템의 $y$ 에 대한 relative degree $r= 2$ 라고 합니다. 여기서의 Relative degree 는 선형 시스템 이론에서 나오는 relative degree 와 같은 의미를 갖고 있다고 생각해도 됩니다. 그런데 아무리 계속 미분해도 이게 안 나올 수도 있어요. 그럼 망한 거라고 할 수 있습니다. Uncontrollable system 인 것이죠. 최대 $n$ 번 까지 미분해서 안 나오면 안 되는 겁니다. 즉 $r\le n$ 입니다.

아무튼 우리의 예제 시스템에서 $y$ 를 두 번 미분했더니 $u$ 가 나왔으니까 이제 궤환선형화를 해 봅시다. 방법은 간단합니다. 우변을 죄다 없애는 $u$ 를 설계하시면 됩니다.

$$u=\frac{1}{x_2+1} (-f_1(\mathbf{x})+v)$$

이 제어입력을 대입하면 $y$ 의 동역학 방정식은 다음과 같아집니다.

$$\ddot{y} = v$$

선형 시스템이 되었습니다. 행렬로 표현하면 다음과 같습니다.

$$\begin{bmatrix} \dot{y} \\ \ddot{y}\end{bmatrix} = \begin{bmatrix}0 & 1 \\ 0 & 0 \end{bmatrix} \begin{bmatrix} y \\ \dot{y} \end{bmatrix} + \begin{bmatrix} 0 \\ 1 \end{bmatrix} v$$

이제 뭐 적당한 선형 제어기 $v$ 를 설계하면 output $y$ 를 원하는대로 제어할 수 있는 feedback linearization controller $u$ 가 완성!

A. Properties

자, 이제 제어기를 설계했으니까 모두가 행복해진 것 같네요. 과연 정말 그런지 살펴봅시다.

  1. 궤환선형화를 통해 설계한 제어기를 살펴봅시다. $\mathbf{x}$ 에 대한 함수네요. 네, 이 제어기를 쓰려면 모든 상태변수 $\mathbf{x}$ 를 다 알아야 합니다.
  2. 제어입력 분모에 $x_2+1$ 이 있네요? 네, $x_2 = -1$ 에서 이 제어기는 정의되지 않습니다.
  3. 원래 시스템은 3차 시스템이었습니다. 그런데 궤환선형화를 통해 얻은 시스템은 2차 시스템이네요? 동역학 방정식 하나가 어디 갔을까요? 네, 그 시스템이 바로 internal dynamics 라고 불리는 녀석입니다. 이 친구가 막나가면 그냥 망하는거예요.
  4. 이 기법은 완전히 시스템 모델에 의존하고 있습니다. 모델이 정확해야 성능이 잘 나온다는 말이죠. 예를 들어서 모델이 실제와 살짝 달라서 $u$ 가 비선형 항들을 제대로 캔슬하지 못하면? $y$ 는 선형 시스템이 아니게 되고 선형 제어기로 설계한 $v$ 의 의도대로 시스템이 움직여주지 않게 될 겁니다.

B. Internal Dynamics

앞에서 살펴봤듯이 궤환선형화를 통해 얻은 선형 시스템은 relative degree 만큼의 차수를 갖습니다. 그리고 나머지 차수의 internal dynamics 를 남기죠.. 따라서 internal dynamics 의 차수는 $n-r$ 이 됩니다.

Internal dynamics 에 대해서 우리가 주의할 점을 몇 가지 나열해 보면 다음과 같습니다.

  • Internal dynamics 의 BIBO stability 를 따져 봐야 합니다.
  • Output $y$ 를 어떻게 선정하는지에 따라서 internal dynamics 가 달라질 수 있습니다.
  • 같은 시스템이라고 할 지라도, $y$ 가 달라지면 그에 따른 internal dynamics 가 stable 할 수도, unstable 할 수도 있습니다. 그러니까 만약 $y$ 를 내가 정할 수 있다고 하면 internal dynamics 를 stable 하게 만드는 $y$ 로 선정해야겠죠.
  • $r=n$ 이면, internal dynamics 가 없네요? 이 경우를 input-state linearization 이라고 부릅니다.

 

C. Zero-Dynamics

Internal dynamics 의 BIBO stability 를 따져봐야한다고, 중요하다고 했는데, 사실 많은 경우에 이게 좀 귀찮습니다. 보통 궤환선형화를 통해 설계된 제어입력 $u$ 가 비선형 항을 죄다 캔슬해야 하기 때문에 생긴 게 매우 더럽고, 그래서 internal dynamics 도 되게 더러워 보이거든요. 예를 들어 위에서 다룬 예제 시스템의 internal dynamics 는 다음과 같습니다.

$$\dot{x}_3 = x_1^2 + \frac{1}{x_2+1} (v+f_1)$$

그래서 internal dynamics 의 안정성을 조금 특수한 상황으로 한정해서 생각해 보기로 합니다. 어떤 특수한 상황이냐, 바로 궤환선형화를 통해 얻은 $y$ 의 시스템이 0으로 유지되는 상황입니다. 그러면 뭐, 조금 덜 더러운 시스템이 되겠죠.

Zero-dynamics 가 왜 중요한지, 이름이 왜 zero-dynamics 인지는 선형 시스템 이론에서 나오는 내용 때문입니다. 만약에 원래 시스템이 선형 시스템이었다고 합시다. 그리고 뭔가 어떤 출력 $y$ 에 대해서 궤환선형화를 통해 제어기를 설계했다고 치죠. 그리고 남은 internal dynamics 에 대해서 zero-dynamics 를 구해 보면? zero-dynamics 의 pole 이 선형 시스템의 zero 와 같게 됩니다. 그래서 zero-dynamics 라고 부르나봐요..

잘 아시다시피 선형 시스템에서 zero 가 negative real part 를 갖는 경우 asymptotically stable 입니다. 따라서, 선형 시스템의 경우 궤환선형화를 통해 얻은 zero-dynamics 가 안정하다면 internal dynamics 는 global stability 를 갖게 됩니다. 하지만 비선형 시스템에서는 zero-dynamics 의 안정성이 internal dynamics 의 global stability 를 보장하지는 않아요.

선형 시스템의 경우 궤환선형화를 통해 얻은 zero-dynamics 가 안정하다면 internal dynamics 는 global stability 를 갖게 됩니다. 하지만 비선형 시스템에서는 zero-dynamics 의 안정성이 internal dynamics 의 global stability 를 보장하지는 않아요.

원래 시스템이 비선형이라면 zero-dynamics 가 globally exponentially stable 이라고 할 지라도, internal dynamics 는 local stability 만을 얻을 뿐 global stability 는 보장받지 못합니다.

선형 시스템의 경우에는 zero-dynamics 의 안정성을 분석함으로써 internal dynamics 의 안정성을 분석할 수 있었는데 비선형 시스템은 일부만 보장받으니까 좀 기분이 나쁠 수도 있겠습니다. 뭔가 억울한 느낌도 있고 조금 아쉬우니까, 특별히 비선형 시스템의 zero-dynamics 가 asymptotically stable 한 경우에, 이 시스템을 asymptotically minimum phase system 이라고 불러 줍니다.

 

2. Input-State Linearization

위에서 input-state linearization 을 잠깐 언급하고 넘어갔었습니다. Input-output linearization 을 하고 있었는데 $r=n$ 이네? 그러면 input-state linearization 이 된다고 했었죠. 이걸 좀 더 뭔가 있어 보이게 정리 (Lemma) 로 서술하면 다음과 같습니다.

 

An $n^{th}$ order nonlinear system is input-state linearizable if and only if there exists a scalar function $z_1(\mathbf{x})$ such that the system's input-output linearization with $z_1(\mathbf{x})$ as output function has relative degree $n$.

 

그러니까 ouput 을 잘 잡아서 $r=n$ 이 되게 할 수 있으면 그 시스템은 input-state linearizable 인 시스템이다~ 라는 말이죠. 그러면 그 output 을 어떻게 잘 잡나요? 있을 수도 있고 없을 수도 있을 것 같은데? 마치 Lyapunov function 을 찾아야 할 때처럼 별로 안 좋은 기분이 드네요. 다행히도 궤환선형화에서는 이런 output 을 찾을 수 있는지 없는지를 알아내는 방법이 있습니다! 단, 시스템이 다음과 같은 input-affine form 일 때 말이죠..

$$\dot{\mathbf{x}} = \mathbf{f(x)+g(x)}u \label{inputAffineSystem}$$

다음과 같은 정리에 의해, 시스템의 input-state linearizability를 판단할 수 있습니다.

 

The nonlinear system, with $\mathbf{f(x)}$ and $\mathbf{g(x)}$ being smooth vector fields, is input-state stabilizable if and only if there exists a region $\Omega$ such that the following conditions hold:

  • the vector fields $\{\mathbf{g}, ad_\mathbf{f}\mathbf{g},\cdots,ad_\mathbf{f} ^{n-1} \mathbf{g}\}$ are linearly independent in $\Omega$
  • the set $\{\mathbf{g}, ad_\mathbf{x}\mathbf{g},\cdots,ad_\mathbf{f} ^{n-2} \mathbf{g}\}$ is involute in $\Omega$

 

정말이지 비선형 시스템은 제약이 너무나도 많군요. 그냥 되는 것도 아니고 특정 영역 $\Omega$ 에서만 되고 뭐를 만족해야 되고 어쩌고 저쩌고 어휴.. 아무튼 그렇다고 합니다. 위의 두 조건식에서 나오는 $ad_\mathbf{f}^j(\cdot)$ 와 같은 연산기호는 adjoint 라고 부르며, Lie brackets 을 사용하는 기호인데 Lie algebra 이론(?) 에서 나오는 개념입니다. 이 글에서는 그냥 그런 게 있다고 생각하고 넘어가도록 하겠습니다. 아마 다음에 기회가 되면 이에 대한 글을 쓰도록 할게요 ㅎㅎ..

첫 번째 조건을 controllability condition이라고 하고, 두 번째 조건을 involutivity condition 이라고 합시다.

그런데 보면, 선형 시스템도 input-affine form 이라고 할 수 있기 때문에 위의 개념을 동일하게 적용할 수 있습니다. 선형 시스템에 대해서 $\{\mathbf{g}, ad_\mathbf{f}\mathbf{g},\cdots,ad_\mathbf{f} ^{n-1} \mathbf{g}\}$ 행렬은 바로 $\{ \mathbf{b,Ab,\cdots,A}^{n-1}\mathbf{b}\}$ 입니다. Controllability matrix 네요! 와 놀라워! 그리고 선형 시스템에 대해 두 번째 조건은 무조건 만족합니다. 그러니까 선형 시스템이 controllable 이라면 input-state linearizable 이라는 것과 동치라고 할 수 있겠습니다.

여기서 우리 조금 더 깊이 생각해 봅시다. 만약에 어떤 비선형 시스템이 있고 이를 특정 위치에서 선형화했다고 합시다. 그런데 원래의 비선형 시스템이 controllable 이라고 할 지라도 이를 특정 위치에서 선형화한 시스템은 uncontrollable 일 수도 있거든요. 이 말은 특정 위치에서 선형화한 시스템이 not input-state linearizable 이라는 말이 되겠죠. 그래서 비선형 시스템의 경우 두 번째 조건이 필요한 것입니다. 정리하면, input-state linearizability 를 판단하기 위해서는 controllability condition 과 involutivity condition 이 필요한데, 선형 시스템은 controllability condition 만 만족하면 두 번째는 자동이다~ 입니다.

 

궤환선형화에 대해서 대충 살펴 보았습니다. 이 이론은 사실 매우 복잡한 수학적인 해석기법을 필요로 하기도 하고, 이 글에서 다룬 것보다 안정성 분석을 더 열심히 해야 하는 부분도 있습니다. 다 다루면 너무 글이 길어지기도 하고, 이 글은 단순히 궤환선형화의 개념과 이슈를 알아보는 글로서 여기까지 정리하고 마무리하도록 하겠습니다.

댓글

이 블로그의 인기 게시물

Stability of Linear System

Motion Planning Problem