본문 바로가기

Theory/ControlTheory

부유체 위의 크레인 제어기 설계 - 2. 외란제거를 통한 선형화

처음 배나 모바일 하버와 같은 부유체 위에 고정된 크레인의 간소화된 동역학을 

이야기했었습니다. 그리고 그 동역학에 대한 제어기 설계를

또한 이야기 했었구요.

그 사이에 제어기 동역학에서 트롤리라고 부르는 부분의 절대좌표에서 수평성분을 고려해야한다는 이야기를

에서 했었는데요. 이번에는 절대좌표계에서 제어기를 설계해 보도록하겠습니다.



위 두 식은 절대좌표계에서 동역학을 고려할때 나타났던 라그랑지 방정식입니다. 여기서 ddot_z_t가 보이실텐데요. 트롤리의 수직방향의 이동거리를 나타내는 z_t의 두 번 미분된 형태의 저 항들은 시스템 전체에서 외란과도 같다고 생각할 수 있습니다. 이를 제거하기 위해


제어입력을 다시 잡습니다. 여기서 F_b는  스프레더에 추가되는 제어력인데, 이는 최소화하기 위해 위와 같은 상태로 둡니다. 그러면 sin의 영향으로 theta가 0근방일때는 작은 값을 가질 수 있을 것입니다.


그러면, 애초 절대좌표계에서의 동역학 모델은


위와 같이 변경됩니다. 

이걸 theta=0 근방에서 근사화를 하면


위와 같이 생각할 수 잇습니다. theta=0 근방이니까 가능한 이야기지요^^


그러면 위의 식이 나타나는데요. 

여기서 theta=0에서 선형화를 수행합니다. 


그러면 위의 식이 됩니다. 이제 제어가능성을 만족하는 성형시스템으로 바꾸어 놓았네요. 간단히 LQR 제어기를 설계하도록 하지요.


그래서 Q, R 행렬을 설정하고, MATLAB의 LQR Toolbox를 이용해서 제어게인을 구하면


을 찾을 수 있습니다. 이를 이용하면 hat_F를 찾을 수 있고 위에서 제시한 제어입력에 대입하면 되지요. 여기서 각 상태는


입니다. 

이를 이용해서 MATLAB/Simulink를 이용해서 시뮬레이션 환경을 구축하도록 하겠습니다.


이렇게 구성했습니다. 위에 특별히 절대좌표계로 변환하는 블럭들을 제외하면 궤환선형화를 했던 포스팅과 같은 블럭을 사용했습니다.


먼저, y_t와 y_t를 유지하기 위한 y를 확인 할 수 있습니다. 그리고 theta도 확인 할 수 있네요. 눈에 보이기엔 궤환선형화기법의 제어기가 아주 좋은 동작을 보이는 것 처럼 보입니다. 그러나, 이번에 설계한 제어기도 나쁘지만은 않습니다. 물론 theta가 대략 5도 미만에서 크게 한번 흔들리지만, 궤환선형화기법이 원체 좋은 성능을 가지고 있어서 그렇다는 생각이 들구요. 제어입력을 한번 보시면


이번에 설계된 제어기의 성능이 상당히 괜찮다는 것을 확인 할 수 있습니다. 크기도 작고, 특히. 추가제어력의 경우 theta가 크게 흔들릴 때만 딱 발생하는 모습을 확인할 수 있습니다.


반응형