1. Trang chủ
  2. » Luận Văn - Báo Cáo

Điều khiển học lặp: Iterative learning control ILC99

86 9 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

ĐIỀU KHIỂN HỌC LẶP (ITERATIVE LEARNING CONTROL - ILC) Nguyễn Doãn Phước (Bản sửa lần - 2021) Nguyên lý học điều khiển: Học để với u (t )  u r (t ) y (t )  r (t ), e (t )  r (t )  y ( Áp dụng cho hệ làm việc theo mẻ u (t )  u k ( ) với t  kT   ,    T trạng thái đầu u (t ) u r (t ) Đối tượng điều khiển y (t ) y r (t )  y (t )  r (t ) u (t ) Nguyên tắc học: Xác định công thức học lặp: u k 1 ( )  f l u k ( ), y k ( ), t  với    0,T  , k  để có y ( )  r ( )   Lưu ý: Thường dùng dạng công thức N u k 1 (i )  uk ( Các bước xây dựng điều khiển học lặp (ILCler) Chọn hàm học u ( ),   0, Gán k  u k 1 ( )  Gán k : k  u k ( )  f l e k ( ),t  Tính u k 1 ( ) sai fl () Đưa u k ( ) vào điều khiển đối tượng đo y k ( ) Reset trạng th đầu Kiểm tra y k ( )  r ( )   Ghi nhận N k u N ( ) Kết thúc trình học Đưa u j ( ), j  N vào điều khiển đối tượ Đặc điểm điều khiển học lặp (ILCler) lần thử thứ k uk ek u k 1 lần thử thứ k  ek 1  1    T Đặc điểm điều khiển học lặp (ILCler) – tiếp Học lặp bậc cao r (t ) Bộ nhớ + Học uk 1 ( ), ek  ( ),   T, k  N u k ( ) Đối tượng y k ( ) điều khiển Chất lượng điều khiển phụ thuộc vào công thức học lặp: u k 1 ( )  u k ( )  f ek (1), e k 1( ),  , e k m ( m 1 ), t  ,    T ,  l Điều khiển học lặp bậc cao có hàm học autonom (dừng): ─ Bậc 2: u k 1 ( )  u k ( )  f e k 1 (1 ),e k ( )  ,    T ,   i  T l   ─ Bậc cao: u k 1 ( )  u k ( )  f l e k (1 ),e k 1 ( ),  ,e k m ( m 1 ) ,    T Đặc điểm điều khiển học lặp (ILCler) – tiếp Khả tồn hàm học Nhiệm vụ trình học xác định uN ( ) để với đầu yN ( ) tươn thỏa mãn: y ( )  r ( )   với   k  N k r (t ) tín hiệu đặt trước mà hệ cần phải bám theo Như vậy, câu hỏi đặ có tính chất với tín hiệu đặt r (t )sẽ tồn dãy u k (t ) để có y (t )  k trả lời trước mắt có cho hệ tuyến tính, sau Nếu hệ tuyến tính: x  Ax  Bu y  C x  với ma trận hàm truyền G (s )  C  sI  A 1 B thực dương chặt (strict positive real), ln tồn hai ma trận đối xứng xác đ P để có: AT P  PA  Q PB  C T Khi với hàm r (t ) khả vi cho trước tồn ur ( ) để có y r ( )  r ( ) N gọi “khả nghịch” Điều kiện vừa nêu đủ Một số hàm học Hệ không liên tục với ek (i )  r (i )  y k (i ),   iTs ,  Ts  1 u k 1(i )  uk (i )  Kek (i ) uk 1 (i )  uk (i )  Kek (i  1) u k 1 (i )  K1u k (i )  K 2e k (i  1) u k 1 (i )  uk (i )   k (i )Kek (i ) u k 1 (i )  K1 u k (i  1)  K e k (i )  K Hệ liên tục d i e k ( ) u k 1 ( )  u k ( )  Ke k ( ) u k 1 ( )  u k ( )  K u k 1 ( )  K 1u k ( )  K 2e k ( ) u k 1 ( )  u k ( )   k ( )Ke k ( )  uk 1 ( )  uk ( )  K p ek ( )  K D ek ( )  KI  ek ( )d U k 1 (s )  L (s ) U k (s )  K E k (s ) dt i Cài đặt điều khiển học lặp Thuật toán điều khiển học lặp Algorithm: Basic ILC control algorithm Khởi tạo: Chọn hàm học f e k ( ),  tham số hội tụ cho l Chọn bước cập nhật liệu  Ts  Tính số bước điều khiển chu kỳ Gán giá trị ban đầu u (i )  r (i ), e (i )  0, i  0,1,  , N  while continue the control for i  0,1,  , N  Đưa u (i ) vào điều khiển đối tượng khoảng thời gian Ts Đo đầu y (i) Tính e( i)  r( i)  y( i) Gán u( i)  u( i)  fl (e(i ), ) end for end while Lưu ý: ‒ Mỗi vòng while-loop mẻ làm việc (chu kỳ làm việc, lần thử ‒ Tín hiệu điều khiển số đoạn u (t )  u k (i ) kT  iTs  t  k Cài đặt điều khiển học lặp – tiếp Ví dụ 1: Điều khiển bám với luật học D Hệ khơng liên tục có hàm truyền G (z )  z  0.5 z  0.7z  0.1 (để mô phỏng), tương đương với y (i )  u (i  1)  0.5u (i  2)  0.7y (i  1)  0.1y (i  2) Sử dụng hàm học uk 1 (i )  uk (i )  Kek (i  1) với K  0.5 N  120 2.5 2.5 2 1.5 1.5 1 0.5 -0.5 reference output 20 40 Sau lần học 0.5 60 80 100 120 reference output 20 40 Sau 10 lần 60 80 Cài đặt điều khiển học lặp – tiếp Chương trình minh họa ví dụ (ILCer1) clc N=60; K=0.5; r=[]; t=[]; y=[]; u=[]; e=[];con=1; % T=2*N for i=1:N r(i)=min((i-1)*0.1,2.5);r(2*N+1-i)=r(i); %create the reference t(i)=i-1;t(N+i)=N+i-1; %control time interval e(i)=0;e(N+i)=0; %tracking error end u=r; while con==1 for i=1:2*N-1 u(i)=u(i)+K*e(i+1); end u(2*N)=u(2*N)+K*e(2*N); y(1)=1;y(2)=1; %initial values for i=3:2*N y(i)=u(i-1)+0.5*u(i-2)-0.7*y(i-1)-0.1*y(i-2); end e=r-y; con=input('Press to continue or to stop: '); end plot(t,r,t,y);legend('reference','output'); Cài đặt điều khiển học lặp – tiếp Ví dụ 2: Điều khiển bám với luật học PD Hệ khơng liên tục có hàm truyền G (z )  z  0.2 z 1.3z  0.4 (chỉ để mơ phỏng) Hệ có tham số khác so với ví dụ nên cần phải thay đổi lại tham số hàm Sử dụng hàm học uk 1 (t )  uk (t )  K1ek ( t )  K 2ek ( t  1) với K  0.1, K  2.5 2.5 2 1.5 1.5 1 0.5 0 reference output 20 40 Sau 20 lần học 60 80 100 0.5 120 reference output 20 40 Sau 200 lầ 60 80 12 Ứng dụng vào điều khiển hệ CSTR (tiếp) Ví dụ 13 (tiếp) Triển khai bước 2: Hàm học chọn có kiểu P Với tham số cụ thể h   0.3,   0.072, q  1.0, x 1f  1.0,   8.0, x 2f    20.0 có điểm cân  a   0.2353   a1   0.8560   a2   0.5528       , x e2    , x e3     x e1        b1   0.8860   b2   2.7517   b3   4.7050  Như vậy, tùy theo đầu chọn là nhiệt độ x2  Tx hay nồng độ x1  C x mà tín hiệu đặt r (t ) Chẳng hạn, trạng thái đầu x  xe1 , trạng thái cuối xT  gian đặt trước cho mẻ T  100s chọn   có b1  b  b1  1  exp( 0.2t )  t  T b  b  b  1  exp( 0.2(t  T 2)  t a) Nếu đầu nhiệt độ r (t )   a1  a  a1  1  exp(0.1t )   t  T a2  a3  a2    exp(0.1(t T 2)  t  b) Nếu đầu nồng độ r (t )   12 Ứng dụng vào điều khiển hệ CSTR (tiếp) Ví dụ 13 (tiếp) Thuật tốn điều khiển Algorithm: Điều khiển thơng minh hệ CSTR với ILC kiểu D Khởi tạo: Chọn  Ts  tham số học K Tính N  T T Gán tùy ý ˆ s với i  0,1,  , N  Tùy chọn   while continue the control T T Gán trạng thái đầu z   z1 , z2   (CA ,TA ) for i  0,1,  ,N  u (i )  v (i )  ˆ vào điều khiển CSTR khoảng thời gian Ts T Đo x  (x1 , x ) đầu y Gán ˆ  (x  z ) Ts   x  v (i )  ˆ v Tính e (i )  r (i )  y Đưa end for Lập vector Tính v  v (0),  , v ( N  1)  e  e(0),  ,e (N  1)  T v  v  K e (2 : end) ; e (end)   v  K e (1),  ,e (N  1),e (N  1)  end while T T 12 Ứng dụng vào điều khiển hệ CSTR (tiếp) Ví dụ 13 (tiếp) Sau kết mô đầu nhiệt độ, sau 15 lần thử nhờ Reference Output Error chương trình mơ ILCer13, tham số học chọn K  8.12 Kết bám kênh nhiệt độ sau lần thử  20 40 60 Time [s] Reference Output Error  Kết bám kênh nhiệt độ sau 0 20 40 60 Time [s] 80 100 12 Ứng dụng vào điều khiển hệ CSTR (tiếp) Ví dụ 13 (tiếp) 0.8 Kết thay đổi tương ứng kênh nồng độ ước lượng thành phần bất định hàm ˆ (t ) 0.6 0.4 Thay đổi nồng độ tương ứng sau 15 lần thử  0.2 20 40 60 Time [s]  Kết ước lượng thành phần bất 12 Ứng dụng vào điều khiển hệ CSTR (tiếp) Ví dụ 13 (tiếp) clc; clear; global phi q alph beta delt lamda x1f x2f b v i etah th eta phi=0.072; q=1; alph=5; beta=8; delt=0.3; lamda=20; x1f=1; x2f=0; T=100; Ts=0.02; N=T/Ts; % initial values xe1=[0.856;0.886]; xe2=[0.5528;2.7517]; xe3=[0.2353;4.705]; % equibrium points b=[0;1]; r=[]; tp=[]; pd=[]; pdh=[]; td=[]; for i=1:4 th(i)=i+random('norm',0,i); end con=input('Press for choosing Tx as the intersting output, otherwise for Cx: '); for k=1:N if k

Ngày đăng: 11/03/2022, 15:34

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN