Đăng ký Đăng nhập
Trang chủ Thiết kế bộ điều khiển thích nghi thuật toán điều chỉnh hàm số cho đối tượng bồn...

Tài liệu Thiết kế bộ điều khiển thích nghi thuật toán điều chỉnh hàm số cho đối tượng bồn nước đôi c4

.PDF
29
163
91

Mô tả:

53 CHƯƠNG 4 THIẾT KẾ BỘ ĐIỀU KHIỂN CHO HỆ BỒN NƯỚC ĐÔI NỐI TIẾP 4.1 Thiết kế bộ điều khiển phản hồi biến trạng thái dùng phương pháp gán cực cho đối tượng hệ bồn nước đôi nối tiếp Hệ phương trình trạng thái mô tả hệ bồn nước đôi đã được tuyến tính hóa có dạng: x(t )  Ax(t )  Bu(t )  y (t )  Cx(t ) Trong đó:  x (t )  x(t )   1   x2 (t )   x1 (t )  h1 (t ) với:   x2 (t )  h2 (t )  u (t )  u(t )   1  u2 (t )   Cd 1a1 2 g  0    2 A1 xv1   a11 a12  A    a Cd 1a1 2 g Cd 2 a2 2 g   21 a22     2 A2 xv1 2 A2 xv 2     K p1  0   A    b11 b12  B 1  K p 2  b21 b22     0  A2   1 0  C  0 1  54 Với: Kp1 = 15 (cm3/sec.V): Hệ số tỉ lệ với công suất của máy bơm 1 Kp2 = 15 (cm3/sec.V): Hệ số tỉ lệ với công suất của máy bơm 2 xv1 = 10 (cm): Điểm làm việc của bồn 1 xv2 = 10 (cm): Điểm làm việc của bồn 2 A1 = 13 (cm2): Diện tích mặt cắt ngang của bồn nước 1 A2 = 13 (cm2): Diện tích mặt cắt ngang của bồn nước 2 Cd1 = 0.3: Hệ số của van xả bồn 1 Cd2 = 0.6: Hệ số của van xả bồn 2 a1 = 0.8 (cm2): Tiết diện của van xả bồn a2 = 0.8 (cm2): Tiết diện của van xả bồn 2 g = 981 (cm/s2): Gia tốc trọng trường Tín hiệu điều khiển phản hồi biến trạng thái dùng phương pháp gán cực được sử dụng là: u(t )  Kx(t ) (4.1) Trong đó ma trận K là ma trận hệ số phản hồi đưa đến các giá trị riêng của (A  BK ) là các giá trị mong muốn µ1, µ2, . . . , µn. Trước tiên, chúng ta kiểm tra tính điều khiển được của đối tượng. Ta có ma trận điều khiển được: M  B AB Điều kiện cần và đủ để hệ thống điều khiển được là: rank (M)  2 55 Phương trình đặc trưng của hệ thống kín: det  sI  A  BK   0  1 0  a11  det  s   0 1   a21  a12   b11 b12   k11 k12    0 a22  b21 b22   k21 k22        s 2  a1s  a2  0 (4.2) Trong đó: các hệ số a1 và a2 chứa các thành phần của ma trận K Phương trình đặc trưng mong muốn: (s  p1 )(s  p2 )  0  s 2  ( p1  p2 )s  p1 p2  0 (4.3) Trong đó: p1 , p2 là các cực mong muốn. Cân bằng hệ số hai phương trình (4.2) và (4.3), chúng ta suy ra ma trận phản hồi trạng thái K. Và trong phần mềm Matlab - Simulink ma trận K có thể xác định dễ dàng nhờ lệnh như sau: K  place  A, B, p1 p2  (4.4) Trên cơ sở phương trình (4.4) chúng ta lập trình m-file với bộ điều khiển phản hồi biến trạng thái dùng phương pháp gán cực cho đối tượng trong Matlab như sau: % Cac thong so cua he bon nuoc doi Kp1 = 15; %He so ti le voi cong suat cua may bom 1 Kp2 = 15; %He so ti le voi cong suat cua may bom 2 A1 = 13; %Dien tich mat cat ngang cua bon nuoc 1 A2 = 13; %Dien tich mat cat ngang cua bon nuoc 2 Cd1 = 0.3; %He so cua van xa bon 1 56 Cd2 = 0.6; %He so cua van xa bon 2 a1 = 0.8; %Tiet dien cua van xa bon 1 a2 = 0.8; %Tiet dien cua van xa bon 2 g = 981; %Gia toc trong truong Xv1 = 10; %Diem lam viec cua bon 1 Xv2 = 10; %Diem lam viec cua bon 2 % Tuyen tinh hoa he bon nuoc quanh diem lam viec [10;10] a11 = -(Cd1*a1*sqrt(2*g))/(2*A1*sqrt(Xv1)); a12 = 0; a21 = (Cd1*a1*sqrt(2*g))/(2*A2*sqrt(Xv1)); a22 = -(Cd2*a2*sqrt(2*g))/(2*A2*sqrt(Xv2)); A = [a11 a12;a21 a22]; b11 = Kp1/A1; b12 = 0; b21 = 0; b22 = Kp2/A2; B = [b11 b12;b21 b22]; % Dieu khien gan cuc p = [-2 -2.5]; K = place(A,B,p); Sơ đồ khối mô phỏng hệ hai bồn nước với bộ điều khiển phản hồi trạng thái dùng phương pháp gán cực trong Simulink được trình bày như hình 4.1. Sơ đồ khối bộ điều khiển gán cực như hình 4.2. Sơ đồ đối tượng hệ bồn nước đôi nối tiếp như hình 4.3. Các kết quả mô phỏng được trình bày như hình 4.4. Hình 4.1: Sơ đồ khối hệ bồn nước đôi nối tiếp với bộ điều khiển gán cực 57 Hình 4.2: Sơ đồ bộ điều khiển gán cực Hình 4.3: Sơ đồ đối tượng hệ bồn nước đôi nối tiếp Hình 4.4a: Kết quả mô phỏng điều khiển gán cực với hệ số xả của van Cd1 = 0,3 và Cd2 = 0,6 58 Hình 4.4b: Kết quả mô phỏng điều khiển gán cực với hệ số xả của van Cd1 = 0,5 và Cd2 = 0,7 Qua kết quả mô phỏng cho thấy việc sử dụng bộ điều khiển phản hồi trạng thái dùng phương pháp gán cực cho ta đáp ứng mong muốn. Tuy nhiên, khi thông số của đối tượng thay đổi thì hệ thống sẽ mất ổn định. Trong phần sau tác giả sẽ xây dựng hệ thống điều khiển thích nghi thuật toán hàm Gauss nhằm mục đích điều khiển đối tượng đạt được giá trị mong muốn khi thông số của đối tượng thay đổi. 4.2 Thiết kế bộ điều khiển tối ưu toàn phương tuyến tính LQR cho đối tượng bồn nước đôi Hệ phương trình trạng thái mô tả hệ bồn nước đôi đã được tuyến tính hóa có dạng: x(t )  Ax(t )  Bu(t )  y (t )  Cx(t ) (4.5) 59 Trong đó:  x (t )  x(t )   1   x2 (t )   x1 (t )  h1 (t ) với:   x2 (t )  h2 (t )  u (t )  u(t )   1  u2 (t )   Cd 1a1 2 g   2 A1 xv1 A  Cd 1a1 2 g  2 A2 xv1      a11 a12     a Cd 2 a2 2 g   21 a22   2 A2 xv 2   0  K p1  0   A 1    b11 b12  B  K p 2  b21 b22     0  A2   1 0  C  0 1  Với: Kp1 = 15 (cm3/sec.V): Hệ số tỉ lệ với công suất của máy bơm 1 Kp2 = 15 (cm3/sec.V): Hệ số tỉ lệ với công suất của máy bơm 2 xv1 = 10 (cm): Điểm làm việc của bồn 1 xv2 = 10 (cm): Điểm làm việc của bồn 2 A1 = 13 (cm2): Diện tích mặt cắt ngang của bồn nước 1 A2 = 13 (cm2): Diện tích mặt cắt ngang của bồn nước 2 Cd1 = 0.3: Hệ số của van xả bồn 1 Cd2 = 0.6: Hệ số của van xả bồn 2 60 a1 = 0.8 (cm2): Tiết diện của van xả bồn a2 = 0.8 (cm2): Tiết diện của van xả bồn 2 g = 981 (cm/s2): Gia tốc trọng trường Chúng ta cần xác định ma trận K của vector điều khiển tối ưu: u(t )  Kx(t ) (4.6)  k11 k12  Trong đó: K     k21 k22  Thỏa mãn chỉ tiêu chất lượng J đạt giá trị cực tiểu:  1 J    xT Qx  uT Ru  dt 20 (4.7)  1 2 2 Chọn: J    q11 x12 (t )  q22 x2 (t )  r11u12 (t )  r22u2 (t )  dt   20 (4.8) Chỉ tiêu chất lượng được viết lại:  1  J     x1 (t ) 2 0 q x2 (t )  11 0 0   x1 (t )  r  u1 (t ) u2 (t )   11 q22   x2 (t )    0 0   u1 (t )    dt r22  u2 (t )     (4.9) Trong đó Q là ma trận xác định dương (hoặc bán xác định dương) 0 q Q   11   0 q22  Và R là ma trận xác định dương 0 r R   11   0 r22  61 Chú ý: thành phần R xác định lượng năng lượng tiêu tốn của tín hiệu điều khiển. Chúng ta sẽ chứng minh luật điều khiển tuyến tính cho bởi phương trình (4.6) là luật điều khiển tối ưu. Khi đó, nếu ma trận K được xác định để tối thiểu hoá chỉ tiêu chất lượng J thì luật điều khiển u(t) sẽ tối ưu với mọi trạng thái ban đầu x(0) . Từ (4.5) và (4.6) ta có : x  Ax  BKx   A  BK  x (4.9) Thay u  t   Kx  t  vào phương trình (4.7) :  1 J    xT Qx  xT K T RKx  dt 20  1   xT  Q  K T RK  xdt 20 (4.10) Bây giờ ta chọn hàm năng lượng : V (x)  xT Sx V (x)  0, x (4.11) với S là ma trận vuông xác định dương .  V (x)  xT Sx  xT Sx  xT Sx  xT (A  BK )T Sx  xT Sx  xT S(A  BK )x  xT (A  BK )T S  S  S(A  BK )  x   (4.12) Do V(x) xác định dương, nên để hệ thống ổn định thì V (x) phải là xác định âm. Ta đặt: 62 V ( x)  d T  x Sx   xT (Q  K T RK )x dt (do Q và R là ma trận xác định dương nên ma trận  Q  K T RK  cũng là xác định dương, từ đó V (x) sẽ là xác định âm).  T xT  Q  K T RK  x  xT  A  BK  S  S  A  BK   S  x   Q  K T RK    A  BK  S  S  A  BK   S    T (4.13) Theo tiêu chuẩn ổn định thứ hai của Lyapunov, nếu ma trận (A - BK) ổn định thì sẽ tồn tại một ma trận xác định dương S thoả mãn phương trình (4.13). Chỉ tiêu chất lượng bây giờ có thể được xác định như sau:  1 T 1 1 1 T T J    x Qx  uT Ru  dt   xT Sx   x    Sx     x  0  Sx  0  20 2 2 2 0 Lưu ý rằng x     0 J  x  0  Sx  0   T Đặt R  TT T phương trình (4.13) trở thành: A T  KT BT  S  S  A  BK   S  Q  K T TT TK  0 Phương trình trên có thể viết lại như sau : 1 1 AT S  SA  TK   TT  BT S  TK   TT  BT S   SBR 1BT S  Q  S  0     (4.14) T Chỉ tiêu chất lượng J đạt giá trị cực tiểu khi biểu thức: 63 1 1 x TK   TT  BT S  TK   TT  BT S  x     T T đạt giá trị cực tiểu. Khi đó: TK   TT  BT S  K  T1  TT  BT S  R 1BT S 1 1 (4.15) Phương trình (4.15) cho ta ma trận tối ưu K. Như vậy, luật điều khiển tối ưu cho bài toán điều khiển tối ưu dạng toàn phương với chỉ tiêu chất lượng cho bởi phương trình (4.15) là tuyến tính và có dạng: u  t   Kx  t   R 1BT Sx  t  (4.16) Ma trận S khi đó phải thỏa mãn phương trình (4.14) được viết lại như sau: AT S  SA  SBR 1BT S  Q  S (4.17) Phương trình (4.17) được gọi là phương trình Riccati . Khi S không thay đổi theo thời gian S  0 , ta có phương trình đại số Riccati (ARE: Algebraic Riccati Equation ): AT S  SA  SBR 1BT S  Q  0 T a  s a   11 12   11  a21 a22   s21 s   11  s21 s12   s11  s22   s21   (4.18) s12   a11 a12   q11 0   s22   a21 a22   0 q22      1 T s12   b11 b12   r11 0   b11 b12   s11 s12  0 s22  b21 b22   0 r22  b21 b22   s21 s22         (4.19) Giải phương trình (4.19) chúng ta tìm được các thành phần của ma trận S. Thế ma trận S vào phương trình (4.16) chúng ta được luật điều khiển tối ưu. 64 Trong phần mềm Matlab - Simulink ma trận K có thể xác định dễ dàng nhờ lệnh như sau: K = lqr(A,B,Q,R) (4.20) Trên cơ sở phương trình (4.20) chúng ta lập trình m-file tính ma trận K của luật điều khiển tối ưu cho đối tượng trong Matlab như sau: % Cac thong so cua he bon nuoc doi Kp1 = 15; %He so ti le voi cong suat cua may bom 1 Kp2 = 15; %He so ti le voi cong suat cua may bom 2 A1 = 13; %Dien tich mat cat ngang cua bon nuoc 1 A2 = 13; %Dien tich mat cat ngang cua bon nuoc 2 Cd1 = 0.3; %He so cua van xa bon 1 Cd2 = 0.6; %He so cua van xa bon 2 a1 = 0.8; %Tiet dien cua van xa bon 1 a2 = 0.8; %Tiet dien cua van xa bon 2 g = 981; %Gia toc trong truong Xv1 = 10; %Diem lam viec cua bon 1 Xv2 = 10; %Diem lam viec cua bon 2 % Tuyen tinh hoa he bon nuoc quanh diem lam viec [10;10] a11 = -(Cd1*a1*sqrt(2*g))/(2*A1*sqrt(Xv1)); a12 = 0; a21 = (Cd1*a1*sqrt(2*g))/(2*A2*sqrt(Xv1)); a22 = -(Cd2*a2*sqrt(2*g))/(2*A2*sqrt(Xv2)); A = [a11 a12;a21 a22]; b11 = Kp1/A1; b12 = 0; b21 = 0; b22 = Kp2/A2; B = [b11 b12;b21 b22]; %Dieu khien LQR Q = [2 0;0 1]; R = [1 0;0 1]; KL = lqr(A,B,Q,R) Sơ đồ khối mô phỏng hệ hai bồn nước với bộ điều khiển LQR trong Simulink được trình bày như hình 4.5. Sơ đồ khối bộ điều khiển LQR như hình 4.6. Sơ đồ đối tượng hệ bồn nước đôi nối tiếp như hình 4.7. Các kết quả mô phỏng được trình bày như hình 4.8. 65 Hình 4.5: Sơ đồ khối hệ bồn nước đôi nối tiếp với bộ điều khiển LQR Hình 4.6: Sơ đồ bộ điều khiển LQR Hình 4.7: Sơ đồ đối tượng hệ bồn nước đôi nối tiếp 66 Hình 4.8a: Kết quả mô phỏng điều khiển LQR với hệ số xả của van Cd1 = 0,3 và Cd2 = 0,6 Hình 4.8b: Kết quả mô phỏng điều khiển LQR với hệ số xả của van Cd1 = 0,5 và Cd2 = 0,7 67 Qua kết quả mô phỏng cho thấy việc sử dụng bộ điều khiển LQR cho ta đáp ứng mong muốn. Tuy nhiên, khi thông số của đối tượng thay đổi thì hệ thống sẽ mất ổn định. Trong phần sau tác giả sẽ xây dựng hệ thống điều khiển thích nghi thuật toán hàm Gauss nhằm mục đích điều khiển đối tượng đạt được giá trị mong muốn khi thông số của đối tượng thay đổi. 4.3 Thiết kế bộ điều khiển thích nghi thuật toán hàm Gauss cho đối tượng hệ bồn nước đôi nối tiếp 4.3.1 Mô hình chuẩn Mô hình chuẩn cho đối tượng bồn nước đôi nối tiếp được thiết lập bằng phương pháp thiết kế bộ điều khiển hồi tiếp trạng thái bằng phương pháp gán cực cho đối tượng bồn nước đôi đã được tuyến tính hóa. Hệ phương trình trạng thái mô tả hệ bồn nước đôi đã được tuyến tính hóa có dạng: x(t )  Ax(t )  Bu(t )  y (t )  Cx(t ) Trong đó:  x (t )  x(t )   1   x2 (t )   x1 (t )  h1 (t ) với:   x2 (t )  h2 (t )  u (t )  u(t )   1  u2 (t )   Cd 1a1 2 g   2 A1 xv1 A  Cd 1a1 2 g  2 A2 xv1      a11 a12    Cd 2 a2 2 g   a21 a22   2 A2 xv 2   0 (4.21) 68  K p1  0   A 1    b11 b12  B  K p 2  b21 b22     0  A2   1 0  C  0 1  Với: Kp1 = 15 (cm3/sec.V): Hệ số tỉ lệ với công suất của máy bơm 1 Kp2 = 15 (cm3/sec.V): Hệ số tỉ lệ với công suất của máy bơm 2 xv1 = 10 (cm): Điểm làm việc của bồn 1 xv2 = 10 (cm): Điểm làm việc của bồn 2 A1 = 13 (cm2): Diện tích mặt cắt ngang của bồn nước 1 A2 = 13 (cm2): Diện tích mặt cắt ngang của bồn nước 2 Cd1 = 0.3: Hệ số của van xả bồn 1 Cd2 = 0.6: Hệ số của van xả bồn 2 a1 = 0.8 (cm2): Tiết diện của van xả bồn a2 = 0.8 (cm2): Tiết diện của van xả bồn 2 g = 981 (cm/s2): Gia tốc trọng trường Hệ thống hồi tiếp trạng thái (Hình 4.9) là hệ thống trong đó tín hiệu điều khiển xác định bởi: u(t )  r(t )  Kx(t ) (4.22) 69 r(t) + C K Hình 4.9: Hệ thống điều khiển hồi tiếp trạng thái Thay (4.22) vào (4.21) ta được: x(t )  Ax(t )  B r (t )  Kx(t )   y (t )  Cx(t ) x(t )   A  BK  x(t )  Br (t )  y (t )  Cx(t ) (4.23) Chọn ma trận hồi tiếp trạng thái K sao cho hệ kín mô tả bởi biểu thức (4.23) thỏa mãn yêu cầu chất lượng mong muốn. Hệ bồn nước đôi nối tiếp là hệ bậc 2, nên ma trận K có dạng: k  k K   11 12   k21 k22  Phương trình đặc trưng của hệ thống hồi tiếp trạng thái: det[sI  A  BK]  0  s 2  a1s  a2  0 (4.24) Các hệ số a1, a2 sẽ chứa các thành phần của ma trận K: Phương trình đặc trưng mong muốn: (s  p1 )(s  p2 )  0  s 2  ( p1  p2 )s  p1 p2  0 (4.25) 70 Trong đó p1, p2 là các cực mong muốn. Muốn hệ kín ổn định thì các cực p1, p2 phải được chọn sao cho nằm bên trái mặt phẳng phức. Cân bằng hệ số hai phương trình (4.24) và (4.25) ta tìm được các thành phần của ma trận K. Từ đó xác định được ma trận hồi tiếp trạng thái K. Trong Control System Toolbox của Matlab cung cấp cho ta lệnh “Place” có thể xác định ma trận hồi tiếp trạng thái K một cách dễ dàng. K  place  A, B, p1 p2  (4.26) Trên cơ sở phương trình (4.26), chúng ta lập trình m-file để tính ma trận phản hồi biến trạng thái K như sau: % Cac thong so cua he bon nuoc doi Kp1 = 15; %He so ti le voi cong suat cua may bom 1 Kp2 = 15; %He so ti le voi cong suat cua may bom 2 A1 = 13; %Dien tich mat cat ngang cua bon nuoc 1 A2 = 13; %Dien tich mat cat ngang cua bon nuoc 2 Cd1 = 0.3; %He so cua van xa bon 1 Cd2 = 0.6; %He so cua van xa bon 2 a1 = 0.8; %Tiet dien cua van xa bon 1 a2 = 0.8; %Tiet dien cua van xa bon 2 g = 981; %Gia toc trong truong Xv1 = 10; %Diem lam viec cua bon 1 Xv2 = 10; %Diem lam viec cua bon 2 % Tuyen tinh hoa he bon nuoc quanh diem lam viec [10;10] a11 = -(Cd1*a1*sqrt(2*g))/(2*A1*sqrt(Xv1)); a12 = 0; a21 = (Cd1*a1*sqrt(2*g))/(2*A2*sqrt(Xv1)); a22 = -(Cd2*a2*sqrt(2*g))/(2*A2*sqrt(Xv2)); A = [a11 a12;a21 a22]; b11 = Kp1/A1; b12 = 0; b21 = 0; b22 = Kp2/A2; B = [b11 b12;b21 b22]; 71 % Xác dinh cac ma tran trang thai cua mo hinh chuan pm = [-b11 -b22]; Km = place(A,B,pm); Am = A-B*Km; Bm = B; Mô hình chuẩn có dạng: hm  Amhm (t )  Bmr(t ) Trong đó: Am  A  BK; Bm  B Sơ đồ Simulink của mô hình chuẩn trong Matlab như hình 4.10 Hình 4.10: Sơ đồ Simulink của mô hình chuẩn 4.3.2 Thiết kế bộ điều khiển thích nghi thuật toán hàm Gauss Hệ bồn nước đôi nối tiếp đã được tuyến tính hóa có xét đến tác động của nhiễu δ(x) có dạng: x(t )  Ax(t )  B[uΣ (t )  δ(x)] Trong đó: A – là ma trận hằng, kích thước 2 x 2. B – là ma trận hằng, kích thước 2 x 2. x(t )  R n – là vector biến trạng thái của hệ thống. u (t )  u0 (t )  ua (t ) u0 (t ) – là tín hiệu đặt trước. 72 u a (t ) – là tín hiệu điều khiển thích nghi. δ(x) – là hàm nhiễu. Giả sử rằng đối với  *  0, hàm nhiễu liên tục gần đúng xấp xỉ được trình bày trong phương trình như sau: với: || (x) ||  * δ(x)  K δ (t )Φ(x)   (x) Trong đó: K δ (t ) – là ma trận hệ số chưa biết. Φ(x)  R n – là vector hàm phụ thuộc vào x . Trong bài này, Φ(x) chúng ta chọn kiểu Gauss: Фi ( x )  e||xxci || /2 i 2 Trong đó: x ci – là vector trọng tâm.  i – là độ rộng của hàm. Chọn một  *  0 rất nhỏ, từ đó ta suy ra được: δ(x)  K δ (t )Φ(x) . Từ đó ta suy ra phương trình không gian trạng thái của đối tượng là: x(t )  Ax(t )  B.[u0 (t )  u a (t )  K δ (t )Φ( x)] (4.27) Chúng ta xây dựng bộ điều khiển thích nghi trực tiếp với mô hình chuẩn được cho như sau: xm (t )  Am xm (t )  Bmu0 (t ) (4.28) Trong đó: x m – là vector biến trạng thái của mô hình chuẩn. Nếu các thông số của đối tượng đã biết trước thì luật điều khiển thích nghi được thiết lập ngay là:
- Xem thêm -

Tài liệu liên quan

Tài liệu xem nhiều nhất