본문 바로가기
자동제어

자동제어 확률론적 시스템 모델링 이해하기.

by jamesjo 2023. 3. 22.
반응형

자동제어 시스템에서는 일반적으로 시스템의 동작을 모델링하여 이를 기반으로 제어 알고리즘을 설계합니다. 이를 위해서는 시스템의 동작을 정확히 모델링하는 것이 매우 중요합니다. 하지만, 실제 시스템에서는 외부 환경 변화나 시스템 자체의 불확실성 등으로 인해 시스템의 동작이 불확실하게 되는 경우가 많습니다. 이러한 불확실성을 모델링하기 위해서는 확률론적 모델링이 필요합니다.

 

확률론적 모델링은 시스템의 동작을 확률 변수로 모델링하는 것입니다. 이를 통해 시스템의 불확실성을 모델링할 수 있습니다. 확률론적 모델링은 다양한 방법으로 수행될 수 있습니다. 여기에서는 확률론적 모델링의 가장 일반적인 방법인 확률적 상태 공간 모델링에 대해서 자세히 설명하겠습니다.

 

확률적 상태 공간 모델링은 시스템의 동작을 상태 공간 모델로 표현하는 것입니다. 상태 공간 모델은 시스템의 상태를 표현하는 변수와 시스템이 어떻게 동작하는지를 표현하는 모델로 구성됩니다. 일반적으로 상태 공간 모델은 다음과 같이 표현됩니다.

 

x(k+1) = f(x(k), u(k), w(k))

y(k) = h(x(k), v(k))

 

여기에서 x(k)는 k번째 시간에서의 시스템의 상태를 나타내는 벡터입니다. u(k)는 k번째 시간에서의 제어 입력, w(k)는 k번째 시간에서의 프로세스 잡음, y(k)는 k번째 시간에서의 시스템의 측정값을 나타내는 벡터, v(k)는 k번째 시간에서의 측정 잡음을 나타내는 벡터입니다. f와 h는 시스템의 동작을 모델링하는 함수입니다.

 

여기에서 w(k)와 v(k)는 시스템의 불확실성을 모델링하기 위해 도입되는 변수입니다. w(k)는 프로세스 잡음으로, 시스템의 동작과는 독립적인 랜덤 변수입니다. v(k)는 측정 잡음으로, 시스템의 측정값과는 독립적인 랜덤 변수입니다.

 

시스템의 동작을 모델링하는 함수 f와 h는 보통 선형 또는 비선형 함수로 표현됩니다. 선형 함수는 다음과 같이 표현됩니다.

 

x(k+1) = A(k) x(k) + B(k) u(k) + w(k)

y(k) = C(k) x(k) + v(k)

 

여기에서 A(k), B(k), C(k)는 시스템의 동작을 나타내는 상수 행렬입니다. 비선형 함수는 다음과 같이 표현됩니다.

 

x(k+1) = f(x(k), u(k), w(k))

y(k) = h(x(k), v(k))

 

비선형 함수의 경우, 일반적으로 선형 함수보다 모델링이 어렵지만, 보다 정확한 모델링을 할 수 있습니다.

 

시스템의 동작을 모델링할 때, w(k)와 v(k)는 일반적으로 가우시안 분포를 따른다고 가정합니다. 이 가정은 중심극한정리에 의한 것으로, 많은 랜덤 변수의 합이 정규 분포에 근사하게 되는 현상입니다. 따라서, 프로세스 잡음과 측정 잡음은 평균과 공분산으로 표현되는 정규 분포를 따르게 됩니다.

 

평균과 공분산은 시스템의 동작과 불확실성에 따라 달라집니다. 일반적으로 평균은 0으로 가정하고, 공분산은 시스템의 동작과 측정 잡음에 따라서 조정됩니다. 공분산은 일반적으로 Q와 R로 표현됩니다. Q는 프로세스 잡음의 공분산으로, R은 측정 잡음의 공분산으로 표현됩니다. 이러한 Q와 R은 보통 시스템 설계자가 설정해야 할 매개 변수입니다.

 

확률론적 상태 공간 모델링을 이용하여 시스템의 동작을 모델링하면, 이를 기반으로 제어 알고리즘을 설계할 수 있습니다. 제어 알고리즘은 보통 칼만 필터링(Kalman Filtering) 알고리즘을 이용하여 구현됩니다. 칼만 필터링 알고리즘은 상태 공간 모델과 프로세스 잡음, 측정 잡음의 공분산을 이용하여 시스템의 상태를 추정하는 알고리즘입니다.

 

칼만 필터링 알고리즘은 실시간으로 시스템의 상태를 추정하고, 추정된 상태를 이용하여 제어 입력을 계산합니다. 칼만 필터링 알고리즘은 시스템 모델과 측정값을 이용하여 상태의 최적 추정치를 계산하는 것으로, 잡음의 영향을 최소화하여 정확한 상태 추정을 수행합니다. 이를 통해 제어 시스템의 안정성과 성능을 향상시킬 수 있습니다.

 

칼만 필터링 알고리즘은 일반적으로 다음과 같은 단계로 구성됩니다.

 

예측 단계 (Predict) : 현재 상태와 입력값을 이용하여 다음 상태를 예측합니다. 예측된 상태는 예측 오차 공분산과 함께 반환됩니다.

 

측정 단계 (Measure) : 시스템의 상태를 측정하고, 측정값을 이용하여 상태 추정치를 계산합니다. 이 단계에서는 칼만 이득(Kalman Gain)이 계산됩니다.

 

업데이트 단계 (Update) : 측정값을 이용하여 예측된 상태와 측정값을 조합하여 보다 정확한 상태 추정치를 계산합니다. 이 단계에서는 상태 추정치와 오차 공분산이 업데이트됩니다.

 

제어 단계 (Control) : 업데이트된 상태 추정치를 이용하여 제어 입력을 계산합니다.

 

이러한 단계를 반복하여 실시간으로 시스템의 상태를 추정하고 제어 입력을 계산합니다. 이를 통해 시스템의 안정성과 성능을 최적화할 수 있습니다.

반응형

댓글