Main Content

Enabled Subsystem을 사용하여 제어 알고리즘 구현하기

이 예제에서는 Enabled Subsystem을 사용하여 이진 논리형 신호를 기반으로 제어 알고리즘을 구현하는 방법을 보여줍니다. Enabled Subsystem은 이진 신호가 양수 값을 갖고 제어 알고리즘을 구현할 때 실행됩니다. 이 예제에서는 불안정한 동적 시스템을 안정화하는 데 슈퍼 트위스팅(super-twisting) 제어 알고리즘이 사용됩니다. 슈퍼 트위스팅(super-twisting) 알고리즘은 강력한 성능으로 잘 알려진 슬라이딩 모드 제어 기법 중 하나입니다.

모델을 엽니다.

mdl = 'enablesub.slx';
open_system(mdl);

Enabled subsystem that implements super-twisting algorithm.

동적 시스템

대상 동적 시스템은 다음 식을 따릅니다.

x˙1=x2x˙2=2x1-3x2+u+d(t)

여기서 u는 제어 입력이고, d(t)는 외부 외란입니다.

제어기 및 제어 신호

제어 입력(u)에는 슈퍼 트위스팅(super-twisting) 알고리즘을 따르는 두 성분 u1u2가 있습니다. u2에 대한 논리 기반 설계가 Enabled Subsystem을 사용하여 구현됩니다.

u(t)=u1+u2

u˙1=γsign(σ)

u21=-λ|μ|ρsign(σ)for|σ|>μ

u22=-λ|σ|ρsign(σ)for|σ|μ

u=u21+u22

σ=x1+x2, γ=2,λ=0.8,μ=0.55,, ρ=0.6입니다. 이러한 파라미터는 모델 콜백 파라미터 PreLoadFcn에서 불러옵니다.

Implement super twisting logic 1.

Implement super twisting logic 2.

시뮬레이션을 실행하고 결과 시각화하기

시뮬레이션을 실행하고 Scope 블록과 Simulink 데이터 인스펙터를 사용하여 결과를 시각화합니다.

out = sim(mdl);

제어기 입력 시각화하기

Simulink 데이터 인스펙터는 이진 신호를 기반으로 서브시스템 출력을 보여줍니다. 출력 u21u22는 제어기 이득 u2의 두 성분입니다.

  • u21을 포함하는 서브시스템은 0초와 1.8초 사이에, 그리고 3초와 5초 사이에 활성화됩니다.

  • u22를 포함하는 서브시스템은 1.8초와 3초 사이에, 그리고 5초와 15초 사이에 활성화됩니다.

Enabled subsystem output shows the components u21 and u22 of the control signal u2.

상태 출력

상태 출력은 제어기가 시스템을 안정화함을 보여줍니다.

The Scope block shows state outputs.

참고 항목

| | | |

관련 항목

참고 문헌

[1] Shtessel, Yuri, Christopher Edwards, Leonid Fridman, and Arie Levant. "Sliding mode control and observation." Vol. 10. New York: Springer New York, 2014. https://link.springer.com/book/10.1007/978-0-8176-4893-0