상태공간 (State-Space)

공학
한 줄 정의: 시스템의 다음 순간 움직임을 완전히 결정짓는 최소한의 내부 변수들(상태변수)을 모아, 그 변화를 행렬 형태의 방정식으로 표현하는 제어이론의 방법입니다.

쉽게 풀면

달리는 자동차의 다음 순간을 예측하려면 무엇을 알아야 할까요? 현재 위치, 현재 속도 정도만 알면 충분합니다. 이렇게 "시스템이 앞으로 어떻게 움직일지 결정하는 데 필요한 최소한의 정보 묶음"을 상태(state)라고 부르고, 이 상태들이 모여 있는 공간을 상태공간이라고 합니다. 상태공간 표현은 이 상태들이 시간에 따라 어떻게 변하는지, 그리고 외부 입력(가속 페달을 밟는 정도)이 상태에 어떤 영향을 주는지를 행렬과 벡터로 정리한 것입니다. 옛날 방식인 전달함수가 하나의 입력과 하나의 출력 관계만 다루던 것과 달리, 상태공간은 입력과 출력이 여러 개인 복잡한 시스템도 체계적으로 다룰 수 있어서 현대 제어이론의 기본 언어로 쓰입니다.

왜 중요한가

상태공간 개념은 제어이론을 넘어 강화학습, 로보틱스, 신호처리 등 "시스템이 어떤 상태에 있고 그 상태가 어떻게 변하는가"를 다루는 다양한 분야의 공통 기반이 된다. 특히 강화학습에서는 에이전트가 관측하는 환경 정보 자체를 상태로 정의하는 문제와 직결되며, 제어공학에서는 다변수 시스템의 제어기·관측기 설계 전체가 이 개념 위에서 이루어진다.

논문에서는 이렇게 쓰입니다

"쿼드콥터의 자세 제어를 위해 롤, 피치, 요와 각속도를 상태변수로 하는 상태공간(state-space) 모델을 구성하고, 이를 기반으로 선형이차조절기(LQR)를 설계하였다."

이 문장은 "드론의 자세와 회전 속도를 나타내는 변수들을 모아서 시스템의 움직임을 수식으로 정리하고, 그 수식을 바탕으로 최적의 제어기를 만들었다"는 뜻입니다. 입력과 출력이 여러 개인 드론, 로봇 팔 같은 다변수 시스템은 상태공간 표현 없이는 체계적으로 제어기를 설계하기 어렵습니다.

"강화학습 에이전트의 상태공간을 로봇 관절 각도와 각속도로 정의하고, 이를 입력으로 하는 정책 네트워크를 학습하였다."

강화학습에서 에이전트가 매 순간 관측하는 정보의 집합을 상태공간으로 정의하고, 그 상태를 바탕으로 행동을 결정하는 정책을 학습시켰다는 뜻입니다.

"화학 반응기의 온도와 농도를 상태변수로 갖는 상태공간 모델을 이용해 공정을 실시간으로 제어하였다."

화학공정 분야에서 반응기의 내부 조건을 상태변수로 삼아 상태공간 모델을 구성하고, 이를 실시간 제어에 활용했다는 의미입니다.

조금 더 깊게 보면

상태공간의 차원은 시스템을 완전히 기술하는 데 필요한 독립적인 상태변수의 개수와 같으며, 이는 시스템의 차수(order)와도 밀접하게 관련됩니다. 실제 논문에서는 상태공간을 연속적인 실수 공간으로 다루는 경우와, 강화학습처럼 이산적이거나 고차원 관측값을 그대로 상태로 취급하는 경우가 있어, 상태의 정의 방식이 이후 분석이나 학습 알고리즘의 설계에 큰 영향을 미칩니다.

주의할 점

같은 시스템이라도 상태변수를 어떻게 정의하느냐에 따라 상태공간 표현은 여러 가지가 나올 수 있지만, 입출력 사이의 관계를 나타내는 전달함수는 동일한 시스템이라면 하나로 고정됩니다. 즉 상태공간 표현은 전달함수보다 더 많은 내부 정보를 담고 있는 표현 방식입니다.

관련 용어