LQG 서보 제어기 설계하기
이 예제에서는 다음 시스템에 대해 서보 제어기를 설계하는 방법을 보여줍니다.
플랜트에는 3개의 상태(x), 2개의 제어 입력(u), 2개의 임의의 입력(w), 1개의 출력(y), 출력에 대한 측정 잡음(v), 그리고 다음과 같은 상태 및 측정 방정식이 있습니다.
여기서는 다음이 성립됩니다.
시스템에는 다음과 같은 잡음 공분산 데이터가 있습니다.
다음 비용 함수를 사용하여 추종기 성능과 제어 노력 사이의 상호 절충을 정의합니다.
이 시스템에 대해 LQG 서보 제어기를 설계하려면 다음을 수행하십시오.
MATLAB® 명령 창에 다음을 입력하여 상태공간 시스템을 만듭니다.
A = [0 1 0;0 0 1;1 0 0]; B = [0.3 1;0 1;-0.3 0.9]; G = [-0.7 1.12; -1.17 1; .14 1.5]; C = [1.9 1.3 1]; D = [0.53 -0.61]; H = [-1.2 -0.89]; sys = ss(A,[B G],C,[D H]);
다음 명령을 입력하여 지정된 비용 함수를 사용하여 최적의 상태-피드백 이득을 생성합니다.
nx = 3; %Number of states ny = 1; %Number of outputs Q = blkdiag(0.1*eye(nx),eye(ny)); R = [1 0;0 2]; K = lqi(ss(A,B,C,D),Q,R);
다음 명령을 입력하여 지정된 잡음 공분산 데이터를 사용하여 칼만 상태 추정기를 생성합니다.
Qn = [4 2;2 1]; Rn = 0.7; kest = kalman(sys,Qn,Rn);
다음 명령을 입력하여 칼만 상태 추정기와 최적의 상태-피드백 이득을 연결하여 LQG 서보 제어기를 형성합니다.
이 명령은 다음 LQG 서보 제어기를 반환합니다.trksys = lqgtrack(kest,K)
>> trksys = lqgtrack(kest,K) a = x1_e x2_e x3_e xi1 x1_e -2.373 -1.062 -1.649 0.772 x2_e -3.443 -2.876 -1.335 0.6351 x3_e -1.963 -2.483 -2.043 0.4049 xi1 0 0 0 0 b = r1 y1 x1_e 0 0.2849 x2_e 0 0.7727 x3_e 0 0.7058 xi1 1 -1 c = x1_e x2_e x3_e xi1 u1 -0.5388 -0.4173 -0.2481 0.5578 u2 -1.492 -1.388 -1.131 0.5869 d = r1 y1 u1 0 0 u2 0 0 Input groups: Name Channels Setpoint 1 Measurement 2 Output groups: Name Channels Controls 1,2 Continuous-time model.