주요 콘텐츠

dlqr

이산시간 상태공간 시스템을 위한 선형-2차(LQ) 상태-피드백 조절기

설명

[K,S,P] = dlqr(A,B,Q,R,N) 은 이산시간 상태공간 행렬 AB를 사용하여 최적 이득 행렬 K, 관련된 대수 리카티 방정식의 해 S, 폐루프 극점 P를 계산합니다. 이 함수는 이산시간 모델에만 유효합니다. 연속시간 모델의 경우 lqr을 사용하십시오.

입력 인수

모두 축소

상태 행렬로, n×n 행렬로 지정됩니다. 여기서 n은 상태 개수입니다.

입력-상태 행렬로, n×m의 입력-상태 행렬로 지정됩니다. 여기서 m은 입력 개수입니다.

상태-비용 가중 행렬로, n×n 행렬로 지정됩니다. 여기서 n은 상태 개수입니다. 다음과 같이 Bryson의 규칙을 사용하여 Q의 초기값을 설정할 수 있습니다.

Qi,i=1maximum acceptable value of (errorstates)2, i{1,2,...,n}Q=[Q1,1000Q2,200000Qn,n]

여기서 n은 상태 개수입니다.

입력-비용 가중 행렬로, D'D와 동일한 크기의 스칼라 또는 행렬로 지정됩니다. 여기서 D는 피드스루 상태공간 행렬입니다. 다음과 같이 Bryson의 규칙을 사용하여 R의 초기값을 설정할 수 있습니다.

Rj,j=1maximum acceptable value of (errorinputs)2, j{1,2,...,m}R=[R1,1000R2,200000Rm,m]

여기서 m은 입력 개수입니다.

교차 항 행렬(선택 사항)로, 행렬로 지정됩니다. N이 지정되지 않은 경우 기본적으로 lqrN을 0으로 설정합니다.

출력 인수

모두 축소

폐루프 시스템의 최적 이득으로, 크기가 n인 행 벡터로 반환됩니다. 여기서 n은 상태 개수입니다.

관련된 대수 리카티 방정식의 해로, n×n 행렬로 반환됩니다. 여기서 n은 상태 개수입니다. 즉, S는 상태공간 행렬 A와 차원이 동일합니다. 자세한 내용은 idare를 참조하십시오.

폐루프 시스템의 극점으로, 크기가 n인 열 벡터로 반환됩니다. 여기서 n은 상태 개수입니다.

알고리즘

dlqr은 최적 이득 행렬 K를 계산합니다. 여기서 상태-피드백 법칙 u[n]=Kx[n]은 다음 2차 비용 함수를

J(u)=n=1(x[n]TQx[n]+u[n]TRu[n]+2x[n]TNu[n])

이산시간 상태공간 모델 x[n+1]=Ax[n]+Bu[n]에 대해 최소화합니다.

dlqr은 상태-피드백 이득 K 외에도 그와 관련된 다음 이산시간 리카티 방정식의 무한대 지평 해 S

ATSAS(ATSB+N)(BTSB+R)1(BTSA+NT)+Q=0

폐루프 고유값 P = eig(ABK)를 반환합니다. 다음을 사용하여 S에서 이득 행렬 K가 도출됩니다.

K=(BTSB+R)1(BTSA+NT)

어떤 경우이든 교차 항 행렬 N을 생략하면 dlqrN을 0으로 설정합니다.

버전 내역

R2006a 이전에 개발됨

참고 항목

| | | |