본문 바로가기

Theory/ControlTheory

T-S 퍼지를 기본으로 한 선택적 선형화를 이용한 Two-Rotor (VTOL) 시스템 제어


   Two-Rotor (VTOL) 시스템 !  
 

예전에 비행체의 수직이착륙을 동역학적으로 표현한 VTOL 시스템의 한 형태인 Two-Rotor 시스템을 소개한 적이 있습니다.


투로터 시스템은 양끝에 힘이 기체에 수직한 방향으로 인가되는 것으로 표현할 수 있는데요. 당시 이 시스템의 동역학은


로 간략히 표현할 수 있음을 이야기했습니다. 여기서 F1+F2를 u1으로 F1-F2를 u2로 두고, 또한 시뮬레이션의 편의성을 위해 -실제로 만든적이 없어 파라미터를 구할 수도 없지만,..ㅜ.ㅜ- 파라미터들을 간략히 두고나면


으로 표현할 수 있습니다. 위 동역학을 유심히 보면, u1이라는 제어입력이 x, y에 동시에 인가 되면서, 두 상태를 하나의 제어입력으로 제어해야하는 어려움이 있었습니다. 이를 극복하기 위해 소개했던 방법이

궤환선형화를 이용한 방법


과 T-S 퍼지를 이용한 방법

을 소개 했었습니다. 이번에 소개할 방법은 y와 x, theta를 따로 제어하는 방식입니다.

   수직방향(y)에 대한 안정화 제어기 설계 !  
 

먼저


u1을 위와 같이 두면 y는


로 간략화 되면서 선형 시스템이 되어버립니다. 그래서


상태방정식으로 표현하고, LQR제어 기법을 이용해 제어기를 설계하는 것이지요.


가중치행렬을 정하고, MATLAB의 LQR툴박스를 사용[관련글]해서 제어이득을 구하면


입니다. 

   수평방향(x)과 각도(theta)를 T-S 퍼지를 이용해 제어하기 !  
 


y를 제어할때 두었던 u1을 x, theta에 대입해서 다시 정리하면


로 표현됩니다. 여기서 tan(theta)라는 비선형함수가 하나만 있네요. 여기에 T-S퍼지 모델을 얻습니다. 먼저 theta와 tild_u의 범위를 한정하고

 


비선형 함수 g를


로 두고 나면, T-S 퍼지 모델


로 표현하기 위한 h와 A, B를 찾을 수 있습니다.

 
이렇게 되면, 병렬분산보상방법을 사용하여


를 얻을 수 있습니다. 

   모의 실험 결과 !  
 

이 글까지 포함하면, Two-Rotor의 제어방법은 궤환선형화방법과 T-S 퍼지 모델을 이용한 방법과 함께 3가지를 소개했는데요. 각 각의 시뮬레이션 결과를 한 번 보도록 하죠


그래프의 결과는 수직방향(y)인데요. 전체적으로 수렴 시간을 본다면 궤환 선형화가 가장 빠르네요. 이번에 소개한 방법은 오히려 -1에서 출발했지만, -1.2까지 내려갔다가 올라가는 현상을 보여주어서 현실성이 있는가 하는 문제를 받을 수도 있겠습니다.


수평방향(x)의 결과는 앞선 두 방법에 비해 이번 포스팅의 제어기가 가장 좋은 성능을 보여주는 군요.

 
theta의 결과입니다. 요동치는 정도만 본다면 궤환선형화와 T-S퍼지를 이용한 방법이 매력적이네요. 초반 한번 기울어진 다음... 부드럽게 안정화되는군요.



위의 두 그림은 제어 입력 u1, u2인데요. u2는 확실히 이번에 소개해 드린 방법이 아주 괜찮네요^^. 실제로 시스템이 만들어진다면, 다시 이 세가지 방법을 가지고 실험을 해봐야할 텐데 말이죠...ㅜㅜ 언제쯤 실제로 구현을 해볼련지...ㅜㅜ


반응형