카트 위의 역링 펜듈럼 [제어 부트캠프]
Table of Contents
- 시스템 소개
- 시스템 상태 정의
- 선형화된 시스템
- 시스템의 제어 가능성
- 제어 설계
- 고유치 배치
- 선형-제곱근-규제기
- 결론
- 자주 묻는 질문
- 참고자료
시스템 소개
이 문서에서는 MATLAB을 사용하여 원래 시스템을 제어하는 방법에 대해 알아보겠습니다. 우리는 역진자가 카트 위에 놓여있는 역마차 시스템으로 작업을 진행할 것입니다. 이 시스템은 카트를 움직여 역진자를 안정시키는 것이 목표입니다.
시스템 상태 정의
이제부터는 시스템을 제어하기 위해 필요한 상태를 정의해야 합니다. 이 시스템의 상태는 카트의 위치인 X와 역진자의 각도인 θ로 정의됩니다. X와 θ는 두 자유도 시스템으로 구성되어 있습니다.
선형화된 시스템
시스템을 선형화하기로 결정했습니다. 선형화된 시스템에서는 두 가지 기본적인 고정점이 존재합니다. θ=0인 경우의 고정점은 역진자가 아래로 향하는 상태를 의미합니다. θ=π인 경우의 고정점은 역진자가 위로 향하는 상태를 의미합니다. 이러한 고정점에서의 선형화된 시스템을 구할 수 있습니다.
시스템의 제어 가능성
선형화된 시스템의 제어 가능성을 확인하기 위해 시스템의 제어 가능성 행렬을 계산합니다. 행렬의 랭크를 확인하여 시스템이 제어 가능한지 여부를 판단합니다.
제어 설계
제어 할 수 있는 시스템을 가지고 있으므로 이제는 제어를 설계할 차례입니다. 특정한 고유치를 가지도록 제어기 행렬 K를 설계합니다. 이를 통해 시스템을 안정화할 수 있습니다.
고유치 배치
고유치 배치 방법을 사용하여 원하는 고유치를 시스템에 할당합니다. 이를 통해 시스템을 최적화할 수 있습니다.
선형-제곱근-규제기
선형-제곱근-규제기(LQR)를 사용하여 시스템을 제어합니다. LQR은 선형 제어 이론의 중요한 개념 중 하나입니다.
결론
MATLAB을 사용하여 시스템을 제어하는 방법에 대해 알아보았습니다. 이제 진행할 작업에 대한 전반적인 이해를 가지게 되었습니다. 시스템을 제어함으로써 안정성을 확보할 수 있으며, 원하는 동작을 수행할 수 있습니다.
자주 묻는 질문
Q: 시스템은 선형 시스템으로 가정되나요?
A: 예, 이 예제에서는 시스템을 선형화하여 제어하고 있습니다.
Q: MATLAB 뿐만 아니라 다른 프로그래밍 언어로도 시스템을 제어할 수 있나요?
A: 네, MATLAB은 다른 프로그래밍 언어와의 통합을 지원하므로 여러 언어로도 시스템 제어가 가능합니다.
Q: 카트와 역진자 사이에 어떤 힘을 가해야 시스템을 제어할 수 있나요?
A: 시스템을 제어하기 위해 카트에 X 방향의 힘을 가합니다.
참고자료
- MATLAB Documentation