2-06 자동차에 일어나는 상황은 늘 복잡하다.
앞서 소개한 PID제어는 로직이 간편하면서도 목표를 따라가는 성능이 뛰어나기 때문에 자동차용 각종 액츄에이터 제어에 많이 활용되고 있다. 그러나 모터의 출력과 차의 속력 같이 하나의 입력과 하나의 출력 간의 관계에서만 유용하기 때문에 복잡한 상황을 제어하는 데는 한계도 분명하다.
예를 들어 차가 눈길에 미끄러졌을 때 빠르게 자세를 제어하려면, 차체가 움직이는 속도와 각 바퀴들의 회전 속도를 비교해서 어느 바퀴의 타이어가 노면과의 그립감을 잃어서 제어가 어려운지 파악해야 한다. 카메라나 레이다로 앞 차와의 간격을 파악해서 브레이킹이 필요하면 ESP를 작동시키고, 모터에서 나오는 출력을 상황에 맞게 배분되도록 동시에 통제해 주어야 한다.
이런 복잡한 상황을 통제하려면, 각각의 변수들을 서로 연결해 주어야 한다. 현대 제어에서는 여러 입력값들의 조합으로 내부의 상태를 특정한 하나의 상태 변수로 표현하는 방법을 주로 이용한다. 상태 변수는 반드시 물리적으로 측정될 수 있는 값이 아니어도 상관없다. 허구의 값이라도 변수들의 관계만 명확히 할 수 있다면 충분하다.
https://en.wikipedia.org/wiki/Realization_(systems)
전체 시스템의 거동을 표현하기 위해 n개의 상태 변수가 필요하다면, 이 n개의 변수들의 조합은 n차원의 공간처럼 다룰 수 있다. 이를 상태공간이라고 하는데 각 시점에서 하나의 상태는 상태 공간에서 하나의 점으로 표시할 수 있다. 이렇게 구성된 복합 상태 공간에서 변수들의 관계들을 수식으로 정의하고 나면 그 변화량을 미적분을 통해 분석하고 모니터링하면서 통제할 수 있게 된다. PID보다 훨씬 복잡하지만, 그만큼 복잡한 상황에 대한 대응이 가능해진다.