Main Content

lqgreg

선형-2차-가우스(LQG) 조절기 생성

구문

rlqg = lqgreg(kest,k)
rlqg = lqgreg(kest,k,controls)

설명

rlqg = lqgreg(kest,k)는 칼만 추정기 kest와 상태-피드백 이득 행렬 k가 주어졌을 때 LQG 조절기 rlqg(상태공간 모델)를 반환합니다. 이 함수는 연속시간 사례와 이산시간 사례를 모두 처리합니다. kestk는 일관된 툴을 사용하여 설계합니다.

  • 연속 플랜트를 위한 연속 조절기: lqr 또는 lqrykalman 사용

  • 이산 플랜트를 위한 이산 조절기: dlqr 또는 lqrykalman 사용

  • 연속 플랜트를 위한 이산 조절기: lqrdkalmd 사용

이산시간에서 lqgreg는 다음과 같이 조절기를 생성합니다.

  • u[n]=Kx^[n|n]: kest가 "현재" 칼만 추정기인 경우

  • u[n]=Kx^[n|n1]: kest가 "지연된" 칼만 추정기인 경우

칼만 추정기에 대한 자세한 내용은 kalman 함수 도움말 페이지를 참조하십시오.

rlqg = lqgreg(kest,k,controls)는 알려진 결정적 추가 플랜트 입력 ud에 액세스할 수 있는 추정기를 처리합니다. 그런 다음, 인덱스 벡터 controls가 어떤 추정기 입력이 제어값 u인지 지정합니다. 결과로 생성되는 LQG 조절기 rlqg는 ud와 y를 입력으로 갖습니다(다음 그림 참조).

참고

항상 양의 피드백을 사용하여 LQG 조절기를 플랜트에 연결합니다.

예제

예제는 LQG Regulation: Rolling Mill Case Study 항목을 참조하십시오.

알고리즘

lqgreg kalman을 사용해 설계된 칼만 추정기와 lqr, dlqr 또는 lqry를 사용해 설계된 최적 상태-피드백 이득을 연결하여 선형-2차-가우스(LQG) 조절기를 생성합니다. LQG 조절기는 조절 성능과 제어 노력을 상호 절충하는 몇몇 2차 비용 함수를 최소화합니다. 이 조절기는 동적이며, 잡음이 있는 출력 측정값에 의존하여 조절 명령을 생성합니다.

연속시간에서 LQG 조절기는 다음 명령을 생성합니다.

u=Kx^

여기서 x^은 칼만 상태 추정값입니다. 제어기 상태공간 방정식은 다음과 같습니다.

x^˙=[ALC(BLD)K]x^+Lyu=Kx^

여기서 y는 플랜트 출력 측정값으로 구성된 벡터입니다(관련 배경 정보와 표기법은 kalman 참조). 다음 다이어그램에는 이 동적 조절기와 플랜트의 관계가 나와 있습니다.

이산시간에서는 y[n–1]까지의 추정값을 기반으로 x[n]의 지연된 상태 추정값 x^[n|n1]을 사용하거나, y[n]을 포함하여 사용 가능한 모든 측정값을 기반으로 현재 상태 추정값 x^[n|n]을 사용하여 LQG 조절기를 생성할 수 있습니다. 다음 조절기는

u[n]=Kx^[n|n1]

항상 잘 정의되는 반면, 다음 현재 조절기

u[n]=Kx^[n|n]

I-KMD가 가역인 경우에만 인과적입니다(표기법은 kalman 참조). 그 외에도 현재 조절기의 실질적인 구현에서는 측정값 y[n]이 제공된 후 u[n]을 계산하는 데 필요한 처리 시간을 허용해야 합니다(이는 피드백 루프에서의 시간 지연에 해당함).

다음 방정식을 갖는 이산시간 플랜트의 경우

x[n+1]=Ax[n]+Bu[n]+Gw[n]y[n]=Cx[n]+Du[n]+Hw[n]+v[n]{Measurements}

E(w[n]v[n])=0이고 y[n]이 w[n](H = 0)에 종속되지 않는 경우에만 "현재" 칼만 추정기를 LQR 이득에 연결하는 것이 최적입니다. 이러한 조건이 충족되지 않는 경우에는 lqg를 사용하여 최적 LQG 제어기를 계산하십시오.

버전 내역

R2006a 이전에 개발됨

참고 항목

| | | | | |