본문 바로가기

전기

[제어공학] #1.State variable의 의미

State variable이란 무엇일까?

system의 state variable은

system이 지금 어떤 상태에 있는지 알 수 있게 해주는 변수이다.

제어에서 현재 시스템의 내부상태가 어떤지 파악하는 것은 중요한 일이다. 다음의 예를 생각해보자

다음과 같은 그림에서 system의 상태를 알려주는 상태변수(state variable)는 \(x(t)\)이다.

우리는 \(x(t)\)로 상태를 표현할 수 있는 시스템에 입력 \(u(t)\)를 넣어서 출력 y(t)를 얻는다. 

우리가 원하는 출력이 \(y(t)=30\)이고 이는 a상태에 있는 system에  \(u(t)=10\)이라는 입력을 줄 경우 30이라는 출력을 얻을 수 있다고 가정해보자 만약 시간이 지남에 따라 system의 상태가 b로 바뀌었다면 아직도 우리는 10이라는 입력을 통하여 30의 출력을 얻을 수 있을까? 

출력 \(y(t)\)입력\(u(t)\)system의 상태 \(x(t)\)를 통과하여 생기는 결과값이다. 그러므로 system의 state가 바뀌었다면 우리는 더 이상 10이라는 입력 값을 통해 30이라는 출력값을 얻을 수 없을 것 이다.

즉 우리가 원하는 출력값\(y(t)\)를 위해서 우리는 변화하는 system의 state \(x(t)\)에 맞춰 알맞게 입력값\(u(t)\)를 넣어줘야 한다.

그러므로 우리가 원하는 출력을 얻기 위해서 알아야하는 것은

(1) 우리가 원하는 출력값 \(y(t)\)가 \(x(t)\)와 \(u(t)\)와 어떠한 관계가 있는지

(2) system의 state variable \(x(t)\)가 어떻게 변화하는지

이 두가지를 알고 있다면 원하는 출력 \(y(t)\) 를 얻기 위한 적절한 입력 \(u(t)\) 를 구해 낼 수 있을것이고 이를 통해 우리는 출력을 제어 할 수 있다.

그리고 이러한 상황을 수학적으로 표현한 식이 바로 State space equation 이다

[1]State space equation [Continuous,linear,time-invariant form]

\(\dot{x}(t)=Ax(t)+Bu(t)\tag{1-1}\)

\(y(t)=Cx(t)+Du(t)\tag{1-2}\)

수식(1-1)에서 \(\dot{x}(t)\)는 \(\cfrac{dx}{dt}\)로서 state variable \(x\)가 시간에 따라 어떻게 변화하는지 알려주는 식이다.

즉 system의 상태변수가 시간에 따라 어떻게 변화하는지 알려주는 식이라 할 수 있다.

  \(x(t)\)는 현재 \(x(t)\)에 A를 곱하고 입력\(u(t)\)에 B를 곱하여 더한 것만큼 변화하고 있다

수식(1-2)는 우리가 원하는 출력값 \(y(t)\)는 state variable \(x(t)\)에 C를 곱하고 입력 \(u(t)\)에 D를 곱하여 표현된다라는 의미가 된다.

예를 들어 다음 회로를 하나의 system이라고 보자

우리는 전원 \(u(t)\)를 조절하여 저항 \(R\)에 걸리는 특정한 전압값 \(v_o(t)\)을 얻기 원한다 이 경우 우리가 얻고 싶은 출력값이 \(v_o\)이므로 \(y(t)=v_o(t)\)이다. 그리고 \(i(t)\)를 state variable \(x(t)\)라고 생각해 보자 \(i(t)\)에 R을 곱하면 \(v_o(t)\)를 알수도 있고 미분하면 \(v_L(t)\)를 알 수도 있고 제곱하여 R과 곱하면 R에서 소비되는 전력을 구할 수 도 있다.

즉 \(i(t)\)는 이 회로 system의 여러가지 상태를 알 수 있게 해주는 변수라고 말 할 수 있다.

위 회로는 다음과 같은 식을 따른다.

\(v_L(t)=L\cfrac{di}{dt}\tag{2-1}\)  \(v_o(t)=Ri(t)\tag{2-2}\)

\(u(t)=v_L(t)+v_o(t)\tag{2-3}\)

(2-1)과 (2-2)를 (2-3)에 대입하여 식을 정리해주면

\(u(t)=L\cfrac{di}{dt}+Ri(t)\tag{2-3'}\)

 \(\cfrac{di}{dt}=\cfrac{-R}{L}i(t)+\cfrac{1}{L}u(t)\tag{2-4}\)

즉 식 [2-4]는 state space equation의 (1-1) 과 같은 꼴로 표현된다.

\(\dot{i}=\cfrac{-R}{L}i(t)+\cfrac{1}{L}u(t)\tag{2-4'}\)

\(\dot{x}(t)=Ax(t)+Bu(t)\tag{1-1}\)

또한 식 [2-5]는 [1-2]꼴과 동일해 짐을 알 수 있다.

\(y(t)=v_o(t)=Ri(t)\tag{2-5}\)

\(y(t)=Cx(t)+Du(t)\tag{1-2}\)

따라서 위 회로의 State space equation은 다음과같이 표현된다,.

$$\dot{x}(t)=\cfrac{-R}{L}x(t)+\cfrac{1}{L}u(t)$$

$$y(t)=Rx(t)$$

[1-1] state variable은 unique하지 않다.

위의 예제에서는 state variable을 i(t)로 잡았다. 하지만 하나의 system에 정해진 state variable이 있는것이 아니다.

다음의 예를 살펴보자 위의 예제와 동일한 회로에서 state variable을 \(v_o\)로 설정한다면 (2-2)에 의해 식(2-3)을 다음과 같이 표현할 수 있을것이다.

\(u(t)=\cfrac{L}{R}\cfrac{dv_o(t)}{dt}+v_o(t)\tag{3-1}\)

\(\cfrac{dv_o(t)}{dt}=\cfrac{-R}{L}v_o(t)+\cfrac{R}{L}u(t)\tag{3-1'}\)

\(y(t)=v_o(t)\tag{3-2}\)

그러므로 \(x(t)=v_o(t)\)로 설정한 경우 위 회로의 state space equation은

$$\dot{x}(t)=\cfrac{-R}{L}x(t)+\cfrac{R}{L}u(t)$$

$$y(t)=x(t)$$

즉 state variable이란 우리의 편의에 의해 system의 상태를 알 수 있는 적당한 변수를 설정해주면 된다. 그리고 이에 따라 동일한 system의 상태를 설명하는 state space equation도 다르게 표현될 수 있다.