-
현대제어이론은 오늘날의 공학시스템은 복잡한 사양과 높은 정확도가 요구되므로 점점 더 복잡해지는 추세에 있다. 이러한 복잡한 시스템은 여러 개의 입력과 여러개의 출력을 가질 수 있고, 시변(time_varying)일 수 있다. 제어시스템의 성능에 대한 보다 엄격한 요구조건의 필요성, 시스템 복잡성의 증가 및 대형 컴퓨터의 출현 등으로 인하여 1960대 이후로 복잡한 제어시스템을 해석하고 설계하는 새로운 기법으로서 현대제어이론(modern control theory)이 개발되어 왔다.
동적시스템의 상태변수(state variable)는 동적시스템의 상태를 결정할 수 있는 최소개의 변수들이다. 동적시스템의 거동을 완전히 표현하기 위하여 적어도 n개의 변수 x1, x2 ... xn이 필요하다면 n개의 변수들은 하나의 상태변수의 집합을 형성한다.
상태변수는 물리적으로 측정될 수 있꺼나 관측될(observable) 수 있는 양일 필요는 없다. 물리적인 양으로 나타낼 수도 없고, 측정할 수 도 없는 변수라 할지라도 상태변수로 선택될 수 있다. 상태변수를 성택하는 데 있어서 이러한 자유로움은 상태공간법의 한장점이다. 그러나 실제적인 면에서 가능하다면 쉽게 측정할 수 있는 양을 상태변수로 선택하는 것이 바람직하다. 왜냐하면 최적제어법칙에서 모든 상태변수들은 적당한 가중치를 가지고 되먹임되기 때문이다.
주어진 시스템의 거동을 표현하기 위하여 n개의 상태변수가 필요하다면, 이 n개의 변수를 벡터 x의 n개의 성분으로 생각할 수 있다. 이러한 벡터를 상태벡터(state vector)라고 한다. 상태벡터는 t = t0에서 상태가 주어지고, t>_t0에서 입력 u(t)가 주어지면 시간 t>_t0에서 시스템 상태 x(t)를 유일하게 결정한다.
좌표축이 x1축, x2축,..., xn축으로 구성된 n차원의 공간을 상태공간(state space)이라고 한다. 하나의 상태는 상태공간에서 하나의 점으로 표시된다.
상태공간 방정식 : 상태공간에서 동적시스템의 모델을 구할 때 변수들은 입력변수, 출력변수, 상태변수의 세 종류로 구성되어 있다. 주어진 시스템에 대한 상태공간 표현은 유일하지 않다. 한 시스템의 상태공간 표현은 여러 가지고 있을 수 있으나 상태 변수의 개수만은 일정하다. 동적시스템에서의 입력값을 기억할 수 있는 요소를 가지고 있어야 한다. 연속시간 제어시스템에서 적분기는 기억소자로 작용하기 때문에, 적분기의 출력을 동적시스템의 내부 상태를 정의하는 변수로 생각 할 수 있다. 따라서 적분기의 출력을 상태변수로 취급할 수 있다. 시스템의 동특성을 완전히 정의할 수 있는 상태변수는의 수는 시스템에 포함된 적분기의 수와 동일하다.
x(t) = f(x,u,t) y(t)=g(x,u,t)
첫번째 식을 상태방정식(state equation)이라고 하고, 2번째 식이 출력방정식(out-put equation)이라고 한다. 벡터함수 f와g에서 시간 t가 밖으로 드러나면, 그 시스템을 시변시스템(time-varying sytem)이라고한다.
위의 첫번쨰 식과 두번째 식을 작동상태 주위에서 선형화 하면, 다음과 같이 선형화된 상태방정식과 출력방정식을 얻을 수 있다.
x(t) = A(t)x(t) +b(t)u(t)
y(t) = c(t)x(t) + D(t)u(t)
여기서 A(t)를 상태행렬(state matrix), b(t)를 입력행렬(input matrix), c(t)를 출력행렬(output matrix), D(t)를 직접전송행렬(direct transmission matrix)이라고 한다.
벡터함수 f와 g에 시간 t가 밖으로 드러나지 않으면 시스템을 시불변시스템(time-invariant system)이라고 한다.
전달함수와 상태공간방정식의 상호관계를 알아보겠다.
여기서는 단일입력 단일출력 시스템의 상태공간방정식으로부터 전달함수를 유도한다. 어떤 시스템의 전달함수가 다음과 같이 주어져 있다고 하자.
Y(S)/U(S) = G(S)
이 시스템은 다음과 같은 상태공간방정식으로도 표현될 수 있다.
X = AX+BU
Y = CX+DU
여기서 X는 상태벡터, U는 입력, Y는 출력이다. 각 식을 라플라스 변환하면 sX(s) - x(0) = AX(s) +BU(s)
Y(s) = CX(s) + DU(s) 전달함수는 초기조건이 0일때 출력의 라플라스 변환식과 입력의 라플라스변환식의 비로 정의되었으므로 x(0)을 0으로 가정한다.
그러면
sX(s) - AX(s) = BU(s)
이 식 양변의 앞쪽에 (SI - A)-1을 곱하면 다음과 같다.
X(s) = (sI-A)-1BU(S)
G(s) = Q(s)/sI-A 요기서 Q(s)는 s의 다항식이다. 이 식으로부터 분모가 G(s)의 특성다항식과 같음을 알 수 있다.
전달행렬 : 다음에는 다중입력 다중출력 시스템을 고려해 보자. r개의 입력을 u1, u2, ......ur그리고 m개의 출력을 y1, y2,....ym이라 하고 다음과 같은 벡터를 정의한다.
전달행렬(transfer matrix) G(S)는 출력 Y(s)와 입력 U(s)의 관계를 나타낸다.
y(S) = G(s)U(s)
여기서 G(s)는 다음과 같이 주어진다.
G(s) = C(sI - A)-1B+D