Inverted Pendulum on a Cart

Jeongsu Ahn·2025년 7월 24일

ControlBootcamp

목록 보기
5/7

Reference: Prof Steve Brunton, Control Bootcamp
Youtube Link


Inverted Pendulum on Cart 시스템의 선형화

위와 같은 카트에 달린 역진자에 대한 예제를 수행해보자.


상태변수 정의

우리가 사용할 수 있는 상태는 다음과 같다:

x=[xx˙=vθθ˙=ω]x = \begin{bmatrix} x \\ \dot{x} = v\\ \theta \\ \dot{\theta} = \omega \end{bmatrix}

여기서 시스템의 차원은 다음과 같다:

xR4,uR1x \in \mathbb{R}^4, \quad u \in \mathbb{R}^1

평형점 (Fixed Point)

평형점은 다음과 같다:

θ=0,πθ˙=0x˙=0x=free\theta = 0, \pi \\ \dot{\theta} = 0 \\ \dot{x} = 0 \\ x = \text{free}

여기서 θ=0\theta = 0은 진자가 위로 세워진 불안정한 평형점이고, θ=π\theta = \pi는 진자가 아래로 매달린 안정한 평형점이다.


비선형 상태방정식

힘과 모멘트 평형식을 통해 상태 미분방정식을 도출하면 다음과 같다:

x˙=v\dot{x} = v
v˙=m2L2gcosθsinθ+mL2(mLω2sinθδv)+mL2umL2(M+m(1cos(θ)2))\dot{v} = \frac{-m^2L^2g\cos{\theta}\sin{\theta}+mL^2(mL\omega^2\sin{\theta}-\delta v)+mL^2u}{mL^2(M+m(1-\cos(\theta)^2))}
θ˙=ω\dot{\theta} = \omega
ω˙=(m+M)mgLsin(θ)mLcos(θ)(mLω2sinθδv)+mLcos(θ)umL2(M+m(1cos(θ)2))\dot{\omega} = \frac{(m+M)mgL\sin(\theta)-mL\cos(\theta)(mL\omega^2\sin{\theta}-\delta v)+mL\cos(\theta)u}{mL^2(M+m(1-\cos(\theta)^2))}

선형화 과정

제어 시스템 설계를 위해 불안정한 평형점 θ=0\theta = 0 (진자가 위로 세워진 상태) 근처에서 선형화를 수행한다.

선형화 조건:

  • x=0,v=0,θ=0,ω=0x = 0, v = 0, \theta = 0, \omega = 0

이 점에서 다음과 같은 소각도 근사를 사용한다:

  • sin(θ)θ\sin(\theta) \approx \theta
  • cos(θ)1\cos(\theta) \approx 1
  • θ20\theta^2 \approx 0 (2차 이상의 고차항 무시)

선형화된 상태공간 모델

상태변수를 다음과 같이 재정의하면:

[x1x2x3x4]=[xvθω]\begin{bmatrix} x_1 \\ x_2 \\ x_3 \\ x_4 \end{bmatrix} = \begin{bmatrix} x \\ v \\ \theta \\ \omega \end{bmatrix}

선형화된 시스템:

x˙=Ax+Bu\dot{x} = Ax + Bu

여기서:

A=[01000δMmgM000010δML(m+M)gML0],B=[01M01ML]A = \begin{bmatrix} 0 & 1 & 0 & 0 \\ 0 & -\frac{\delta}{M} & \frac{mg}{M} & 0 \\ 0 & 0 & 0 & 1 \\ 0 & \frac{\delta}{ML} & -\frac{(m+M)g}{ML} & 0 \end{bmatrix}, \quad B = \begin{bmatrix} 0 \\ \frac{1}{M} \\ 0 \\ \frac{1}{ML} \end{bmatrix}

시스템의 차원은:

AR4×4,BR4×1A \in \mathbb{R}^{4 \times 4}, \quad B \in \mathbb{R}^{4 \times 1}

시스템 매개변수

  • M: 카트의 질량 [kg]
  • m: 진자의 질량 [kg]
  • L: 진자의 길이 [m]
  • δ: 감쇠 계수 [N·s/m]
  • g: 중력 가속도 [m/s²]
  • u: 제어 입력 (카트에 가해지는 힘) [N]

A 행렬의 물리적 의미

A 행렬의 각 원소가 나타내는 물리적 의미:

  • A12=1A_{12} = 1: 위치의 미분은 속도
  • A22=δMA_{22} = -\frac{\delta}{M}: 카트의 마찰에 의한 감쇠 효과
  • A23=mgMA_{23} = \frac{mg}{M}: 진자의 기울어짐이 카트 가속도에 미치는 영향
  • A34=1A_{34} = 1: 각도의 미분은 각속도
  • A42=δMLA_{42} = \frac{\delta}{ML}: 카트의 마찰이 진자 각가속도에 미치는 영향
  • A43=(m+M)gMLA_{43} = -\frac{(m+M)g}{ML}: 중력에 의한 복원 모멘트 (불안정)

B 행렬의 물리적 의미

B 행렬의 각 원소:

  • B2=1MB_2 = \frac{1}{M}: 제어력이 카트 가속도에 미치는 직접적 영향
  • B4=1MLB_4 = \frac{1}{ML}: 제어력이 진자 각가속도에 미치는 간접적 영향

시스템의 제어가능성 분석

이 시스템이 제어 가능한지 분석해보자.

제어가능성 행렬(Controllability Matrix)을 구성한다:

C=[BABA2BA3B]\mathcal{C} = [B \quad AB \quad A^2B \quad A^3B]

각 항을 계산하면:

B=[01M01ML]B = \begin{bmatrix} 0 \\ \frac{1}{M} \\ 0 \\ \frac{1}{ML} \end{bmatrix}
AB=[1MδM2+gML1MLδM2L(m+M)gM2L2]AB = \begin{bmatrix} \frac{1}{M} \\ -\frac{\delta}{M^2} + \frac{g}{ML} \\ \frac{1}{ML} \\ \frac{\delta}{M^2L} - \frac{(m+M)g}{M^2L^2} \end{bmatrix}

판별 조건:

if rank(C)=4Controllable\text{if } \text{rank}(\mathcal{C}) = 4 \Rightarrow \text{Controllable}
else Noncontrollable\text{else } \Rightarrow \text{Noncontrollable}

결과: 일반적인 매개변수 값에서 rank(C)=4\text{rank}(\mathcal{C}) = 4이므로 이 시스템은 제어가능(Controllable)하다.

물리적 해석

제어가능성의 물리적 의미:

  • 제어력 uu가 카트에 직접 작용하여 xxvv를 제어
  • 카트의 움직임이 진자의 운동에 결합되어 θ\thetaω\omega도 간접적으로 제어 가능
  • 모든 상태변수가 제어입력의 영향권 내에 있음

제어 설계로의 확장

1. 상태 피드백 제어

가상의 제어입력을 다음과 같이 설정한다:

u=Kx=[k1k2k3k4][xvθω]u = -Kx = -[k_1 \quad k_2 \quad k_3 \quad k_4] \begin{bmatrix} x \\ v \\ \theta \\ \omega \end{bmatrix}

그러면 폐루프 시스템은:

x˙=(ABK)x\dot{x} = (A-BK)x

2. LQR (Linear Quadratic Regulator) 제어

성능 지표 함수를 최소화하는 최적 제어:

J=0(xTQx+uTRu)dtJ = \int_0^{\infty} (x^TQx + u^TRu)dt

최적 제어 법칙: u=Kxu = -Kx (여기서 KK는 Riccati 방정식의 해)

3. 극점 배치 (Pole Placement)

폐루프 시스템 ABKA-BK의 고유값을 원하는 위치에 배치하여 시스템 응답 특성을 설계한다.

결론: 역진자 시스템은 제어가능하므로 다양한 제어 기법을 적용하여 안정화할 수 있다.

profile
될 때까지 하는 사람

0개의 댓글