주요 콘텐츠

이중 스프링-질량 시스템

R2026b

이 예제에서는 주기적으로 변하는 강제 함수(forcing function)를 갖는 이중 스프링-질량 기계 시스템을 모델링하는 방법을 보여줍니다. 두 질량이 하나의 스프링으로 연결되어 있으며 왼쪽 질량에 힘이 가해집니다. 이 힘으로 인해 두 질량이 움직이며 스프링을 통해 상호 작용합니다.

Two rectangular masses connected by a spring. The left mass, labeled mass₁, is pushed to the right by an input force u(t), represented by a blue arrow. The spring between the masses is labeled kₐ. The right mass is labeled mass₂

Simulink® 모델은 선형-2차 조절기(LQR) 제어기와 상태 추정기를 사용하여 상태 피드백으로 제어되는 이중 질량-스프링 기계 시스템을 나타냅니다.

Plant 블록

Plant라는 State-Space 블록은 다음 상태공간 방정식으로 표현되는 이중 스프링-질량 기계 시스템을 구현합니다.

x˙=Ax+Buy=Cx+Du

여기서 상태 벡터는 아래와 같이 정의됩니다.

x=[x1x˙1x2x˙2] 및 y=[x1x2]

행렬 A, B, C, D는 기계 시스템 운동 방정식의 항을 정의하는 계수를 포함합니다.

A=[0100-kam10kam100001kam20-kam20]B=[01m100]C=[10000010]D=[00]

여기서

  • x1,x˙1 – 각각 질량 1의 위치와 속도

  • x2,x˙2 – 각각 질량 2의 위치와 속도

  • u(t) – 주기적 강제 함수

  • ka – 스프링 상수

플랜트 출력은 측정된 위치를 제공하며, 모델은 이를 시각화와 상태 추정에 모두 사용합니다.

Estimator 블록

이 모델은 LQR 제어기와 상태 추정기를 사용하여 상태 피드백을 구현합니다. Estimator라는 State-Space 블록은 상태 추정기를 구현합니다. 이 블록은 플랜트 입력과 측정된 출력을 사용하여 전체 상태 벡터를 추정합니다. 추정기는 예측 출력과 측정된 출력을 지속적으로 비교하고, 그 차이를 바탕으로 상태 추정값을 보정합니다. LQR 제어에 대한 자세한 내용은 lqr (Control System Toolbox) 항목을 참조하십시오.

모델 시뮬레이션

모델을 열고 시뮬레이션합니다. 이 모델은 시뮬레이션 중에 질량 시스템을 애니메이션으로 보여주기 위해 Level-2 MATLAB S-Function 블록을 사용합니다.

open_system('sldemo_dblcart1');

Figure dblcart1 Animation contains an axes object and other objects of type uicontrol. The hidden axes object contains 32 objects of type line.

sim('sldemo_dblcart1');
close(findall(0,'Type','figure'))

참고 항목

| | (Control System Toolbox)

도움말 항목

교육 관련 자료