본문 바로가기

Theory/ControlTheory

서보제어 Servo Control

이 글은 Yorihisa Yamamoto의 29.Feb.2009에 MATLAB Central에 발표된[관련글]

NXTway-GS Model-Based Design Control of self-balancing two-wheeled robot built with LEGO Mindstorms NXT

라는 글의 Appendix A.3절. Servo Control의 내용을 발췌한 것입니다.

서보제어는 제어대상의 위치 기준값을 잘 추적하도록 디자인된 제어기법입니다. 그중 PID방식의 서보제어기법을 소개할려고 합니다.

위의 그림에 서보제어기법이 블록선도로 나타나 있습니다. K_f는 일반적인 제어기이고 서보제어를 위해 K_i가 추가된 것입니다. 위 블록선도가 어떻게 나타나게 되었는지를 보겠습니다.

먼저 위와 같은 시스템이 있다고 보고

dot_z를 정의해 두겠습니다.

또한 위와 같이 새로운 상태 bar_x를 정의하고

시스템을 다시 위와 같이 표현할 수 있습니다. 이때

시간이 많이 흘렇다고 보고 x_e, z_e, u_e를 정의해 둡니다.

또다른 식을 두고, 위의 식과 빼버리면

로 표현가능합니다.  

이렇게 일반적인 선형시스템으로 표현가능해진 상태에서 u_e는

이 됩니다. 애초 정의

를 이용해서 다시 표현해보면

이 됩니다. 이제 제일 위의 블록선도에서 제어입력 u를 찾으면

이 됩니다. 이와같은 서보제어기는 실제 밸런싱로봇과 같은 시스템에 적용해보면 조이스틱에 따른 움직임에 적용할 수 있을 정도로 성능이 괜찮습니다. 


반응형