이 글은 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를 찾으면


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





http://pinkwink.kr/trackback/416 관련글 쓰기
  • 핑구야 날자 2011/03/14 13:04

    오랜만에 어려운 상의 들어보네요,,활기찬 월요일 보내세요

    • PinkWink 2011/03/14 18:33

      넵... 핑구야날자님께서도 아름다운 한주를 보내시길 바랍니다.^^

  • 재오리 2011/07/08 13:09

    안녕하세요 오랜만입니다.ㅋ

    서보 제어기를 밸런싱 로봇에 적용한다고 하셨는데

    이 경우에는 x의 값을 로봇의 기울기를 의미 하나요?

    아니면 바퀴의 회전각도를 의미 하나요?


    본문에서 보면 로봇의 조이스틱에 따른 움짐임에 적용한다고 하셨는데

    조이스틱으로 원하는 위치까지 이동하도록 바퀴의 회전각도를 조절해주는 것인가요? 아니면 로봇의 기울기를 변경시키는 것인가요?

    제가 부족한게 많아서 궁금합니다;;

    • PinkWink 2011/07/08 13:39

      바퀴의 회전각도를 위치제어하는 것입니다.^^

1 ... 2 3 4 5 6 7 8 9 10 ... 80