캐스케이드 제어
케스케이드 제어에서는 내부 제어 루프와 외부 제어루프가 존재합니다.
내부 루프는 외란을 보상하는 쪽으로 작동하고 외부 루프는 실질 제어 프로세스를 담당하는 방식을 사용합니다. 여기서 외부 제어 루프는 Primary, Outer, Master loop의 이름으로 부르기도 하고, 내부 제어 루프는 Secondary, Inner, Slave loop라 칭하기도 합니다.
이러한 제어기는 설명한 것과 같이 외란이 섞인 제어시스템의 응답을 향상하는 데에 사용하기도 하고,
제어 프로세스 내 시간 지연이 존재하는 경우, 이를 개선하기 위해 사용하기도 합니다.
드론예시
고도 제어를 하는 드론을 예시로 들어봅니다.
단일 제어기로 고도를 제어를 한다면 아래의 제어 모델을 사용할 수 있습니다.
단일 제어기의 경우에는 모터에 의한 문제 즉, 전압, 열에 의해 속도가 변화되는 것을 바로 알아차리지 못하고 제어가 한번 마무리 되었을 때 감지가 됩니다. 모터의 제어가 고도의 제어로 이어져 출력으로 나타날 때까지 포착이 안된다는 것입니다. 이 때문에 응답 속도도 굉장히 느립니다.
그에 비해 이를 캐스케이드 제어기는 다음과 같이 표현할 수 있습니다.
캐스케이드 시스템은 단일 제어기에 비해 몇가지 이점을 가집니다.
첫번째는 크게 보면 2개의 시스템을 사용하는 것이기 때문에, 각각의 시스템에서 발생하는 문제들을 개별로 식별할 수 있습니다. 드론의 모터 속도 시스템 자체에서 발생하는 문제와 고도를 제어하는 시스템의 문제를 별개로 볼 수 있어, 시스템 내에 문제가 발생했을 때 정확하게 해당 이슈를 포착할 수 있는 장점을 가집니다. 즉, 속도 자체의 문제인지, 고도 제어 자체의 문제인지를 식별할 수 있게 됩니다.
두번째는 첫번째에서 언급한 것처럼 시스템이 분리되었으니 개별적 제어 작업이 가능하다 장점이 있습니다. 하나의 시스템이 모터 제어 시스템과 고도 제어 시스템 모듈로 구성되어 있게 됨에 따라 각 제어시스템은 개별적 튜닝이 가능해졌습니다. 또한 필요하다면 모터 제어 혹은 고도 제어 시스템을 다른 제어 시스템으로 쉽게 변경 가능합니다.
세번째는 제어 모델별의 해결하고자 하는 관심 영역이 분리되었습니다. 위 시스템의 경우, 모터 제어 시스템에서는 속도 제어에 영향을 주는 여러 외란(온도, 전압 강하 등)에만 관심을 갖게 되었고 또한 이러한 외란들을 빠르게 처리할 수 있게 되어 상위 제어기가 이러한 문제가 발생했다는 사실 자체도 인지하지 못할 정도로 만들어줍니다. 반대로 고도 제어기의 경우 고도에 영향을 주는 외란(외부 기압, 바람)등에만 대응할 수 있도록 하여 각각 시스템의 관심영역을 확실하게 분리할 수 있도록 해줍니다.
설계 고려사항
캐스케이드 제어기를 설계할 시, 다음과 같은 사항을 고려하는 것이 좋습니다.
1. Secondary Loop는 Primary Loop 보다 빠른 응답을 내야합니다.적용하는 어플리케이션에 따라 다르지만, 일반적으로 3배에서 10배까지의 응답속도를 요구하는 경우도 있습니다. Secondary Loop가 Primary Loop와 비교하여 5배 이상의 대역폭을 가지고 있다면, 시스템의 튜닝을 개별적으로 하는 것이 가능해집니다. 이 경우, Primary Loop를 튜닝할 경우, 내부 루프가 없다고 가정해도 충분합니다.
2 하지만 만약 Primary Loop와 Secondary Loop가 동일한 대역폭을 가진다면, 살짝 튜닝 절차가 복잡해집니다.
2.1 첫번째 튜닝은 Iterative Approach라고 불리는 방식입니다. 내부 루프를 먼저 튜닝을 진행하고 내부 루프가 도는 상태에서 외부 루프를 튜닝하는 방식으로 이루어집니다.
2.2 두번째 튜닝 방법론은 SISO(단일 입력 단일 출력) 시스템이 아닌 MIMO(다중 입력 다중 출력) 시스템으로 간주하여 튜닝하는 방식입니다. State Space 표현식을 활용하여 시스템 전체를 두개의 시스템이 아닌 하나의 시스템으로 간주하고 하고 튜닝하는 방식으로 첫번째 튜닝에 비해 손쉽게 처리할 수 있습니다.
참고 자료
https://www.youtube.com/watch?v=tbgV6caAVcs&ab_channel=MATLAB
댓글