BÁO CÁO HỆ THỐNG ĐIỀU KHIỂN PHI TUYẾN nonlenear

22 214 0
BÁO CÁO HỆ THỐNG ĐIỀU KHIỂN PHI TUYẾN nonlenear

Đ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

BÁO CÁO HỆ THỐNG ĐIỀU KHIỂN PHI TUYẾN SVTH: Nguyễn Ninh Bình Mssv: 09390929 I. Điều khiển mặt trượt II. Điều khiển thích nghi III. Điều khiển backstepping IV. Điều khiển tuyến tính hóa MÔ HÌNH HỆ THỐNG NÂNG TỪ TRƯỜNG Mô hình hệ thống nâng từ bao gồm quả cầu sắt khối lượng m được giữ lơ lững do lực từ trường được điều khiển bởi nguồn điện áp e. p là khoảng cách từ quả cầu đến bộ phận phát từ Ta có phương trình:   =  Gọi R là điện trở trong của cuộn cảm, L là từ cảm của cuộn cảm, i là cường độ dòng điện trong bộ phát từ, e là nguồn cấp, ta có: + (())  =  Và  =    =     =   (   ) 2 Trong đó     =  1 + 2  Đặt: x1=p ; x2 = 1  = v ; x3= I; u = e Ta có 1  = 2 2  =      ( 3 1 ) 2 3  =    3 + 2   2. 3 1 2 + 1   Từ các phương trình trên ta đặt biến đưa sang hệ tọa độ phi tuyến 1 = 1  1 2 = 2 3 =      ( 3 1 ) 2 T ∞; z1,z2,z30; Từ đó ta có: 1  = 2 2  = 3 3  = + .  Với : = 2  (1  2 1  2. 3 2 1 3 +   3 2 1 2 ) =  23 1 2 I. Thiết kế hệ thống điều khiển trượt Dựa vào lý thuyết mặt trượt ta lựa chọn mặt trượt như sau: Vậy ta chọn n=2 ta có: =  + 1. + 2. = 3 + 1. 2 + 2. 1 Suy ra: =      ( 3 1 ) 2 + 1. 2 + 2. (1  1 ) Ta xét hàm Lyapunov: = 1 2  2 Điều kiện để hàm ổn định theo Lyapunov:  > 0,   < 0   = .  Ta có:  = + . + 1. 3 + 2. 2 .  < 0 Ta đặt :  = . ()  + . + 1. 3 + 2. 2 = . ()  = 1  [1. 3 2. 2 .     ] Mô phỏng mô hình: Chương trình Matlab: %SLIDING MODE CONTROL (SMC) OF MAGNETIC LEVITATION %16/2/2009 %NGUYEN NINH BINH MSSV: 09390929 %NOP TIEU LUAN CHO MON NONLENEAR close all clear all clc; %sampling time tmax=50; dt=0.01; n=round(tmax/dt); %para_system; R=28.7;%om L=.65;%H gc=9.81;%miilisecon-2 C=1.41*10^(-4); m=11.87*10^(-3);%gam %du lieu dieu khien 1 W=300; %Do loi lamda1=50; lamda2=350; %gia tri ban dau x1(1)=0.02;%met% x2(1)=4; x3(1)=3; x1d=.01; z1(1)=x1(1)-x1d; z2(1)=x2(1); z3(1)=gc-C*(x3(1)/x1(1))^2/m; %Gia tri ban dau cua cac ham f1(1)=2*C*((1-2*C/(L*x1(1)))*x2(1)*x3(1)^2/x1(1)^3 + R*x3(1)^2/(L*x1(1)^2))/m ; g1(1)=-(2*C*x3(1))/(L*m*x1(1)^2); %Gia tri ban dau cua ham dieu khien u(1)=[-f1(1)-lamda1*(gc-C*(x3(1)/x1(1))^2/m)-lamda2*x2(1)-W*sign( gc-C*(x3(1)/x1(1))^2/m +lamda1*x2(1)+lamda2*(x1(1)-x1d)) ]/g1(1); %mat truot s1(1)= gc-C*(x3(1)/x1(1))^2/m +lamda1*x2(1)+lamda2*(x1(1)-x1d); for i=2:n %cac bien z1(i)=z2(i-1)*dt+z1(i-1); z2(i)=z3(i-1)*dt+z2(i-1); z3(i)=(f1(i-1)+g1(i-1)*u(i-1))*dt+z3(i-1); x1(i)=z1(i)+x1d; x2(i)=z2(i); x3(i)=x1(i)*sqrt((gc-z3(i))*m/C); % cac ham f1(i)=2*C*((1-2*C/(L*x1(i)))*x2(i)*x3(i)^2/x1(i)^3 + R*x3(i)^2/(L*x1(i)^2))/m ; g1(i)=-(2*C*x3(i))/(L*m*x1(i)^2); u(i)=[-f1(i)-lamda1*(gc-C*(x3(i)/x1(i))^2/m)-lamda2*x2(i)-W*sign(gc- C*(x3(i)/x1(i)^2/m)+lamda1*x2(i)+lamda2*(x1(i)-x1d)) ]/g1(i); s1(i)=gc-C*(x3(i)/x1(i)^2/m)+lamda1*x2(i)+lamda2*(x1(i)-x1d); end for i=1:n t(i)=i*dt; end figure ; plot(t,x1);xlabel('time '); ylabel('position '); figure ; plot(t,x2);xlabel('time '); ylabel('velocity '); figure; plot(t,x1,t,x2);xlabel('time'); ylabel ('position, velocity '); figure; plot(t,s1); hold on figure; plot(t,u);xlabel('time');ylabel('control input'); hold on Vị trí: Hệ điễu khiển II. ĐIỀU KHIỂN THÍCH NGHI (ADAPTIVE CONTROL) CHO HỆ THỐNG NÂNG TỪ TRƯỜNG Giả sử p không được đo chính xác. Ta đặt:  = 1 Với:  là sai số ước lượng  là giá trị ước lượng. 1 là giá trị chính xác    =   1   = 2 2  =      ( 3 1  ) 2 3  =    3 + 2   2. 3 1  2 + 1   1 = 1= + 1 1  2 =   =   3 =      ( 3 1  ) 2 Từ đó ta có: 1  = 2 2  = 3 3  =   + .  Với : = 2  (1  2 1   2. 3 2 1  3 +   3 2 1  2 ) =  23 1  2 Ta chọn lyapunov: = 1 2 1 2 + 1 2 2 2 + 1 2 3 2 + 1 2 1  2    = 1. 1  + 2. 2  + 3. 3  + 1  1  . 1      = (  + 1 1)1  + 2. 2  + 3.    + .   + 1  1  . 1      = 1  . 2 + 1    +  1 1+ 3  . 2 + 3.    + .   Ta chọn   = . 2 1 = 1. 2 + 13   + . = 2. 3 Hay: = 1  (2. 3   ) Lập trình bằng matlap: %ADAPTIVE CONTROL OF MAGNETIC LEVITATION %16/2/2009 %NGUYEN NINH BINH MSSV: 09390929 %NOP TIEU LUAN CHO MON NONLENEAR close all clear all clc; %sampling time tmax=50; dt=0.01; n=round(tmax/dt); %para_system; R=28.7;%om L=.65;%H gc=9.81;%miilisecon-2 C=1.41*10^(-4); m=11.87*10^(-3);%gam %he so trong dieu khien k1=.5; k2=5; gama=2000; x1d=.01; %gia tri ban dau xmu1(1)=.5;%met% x2(1)=4; x3(1)=3; x1d=.01; z1(1)=xmu1(1)-x1d; z2(1)=x2(1); z3(1)=gc-C*(x3(1)/xmu1(1))^2/m; %Gia tri chinh xac cua x1 x1(1)=-k1*z2(1)+x1d-z3(1); %Gia tri ban dau cua cac ham f(1)=2*C*((1-2*C/(L*xmu1(1)))*x2(1)*x3(1)^2/xmu1(1)^3 + R*x3(1)^2/(L*xmu1(1)^2))/m ; g(1)=-(2*C*x3(1))/(L*m*xmu1(1)^2); %hàm ?i?u khi?n u(1)=-(k2*z3(1)-f(1))/g(1); for i=2:n %cac bien z1(i)=z2(i-1)*dt+z1(i-1); z2(i)=z3(i-1)*dt+z2(i-1); z3(i)=(f(i-1)+g(i-1)*u(i-1))*dt+z3(i-1); xmu1(i)=z1(i)+x1d; x2(i)=z2(i); x3(i)=xmu1(i)*sqrt((gc-z3(i))*m/C); %gia tri cua x1 x1(i)=-k1*z2(i)+x1d-z3(i); %C?p nh?t giá tr? ??c l??ng xmu1(i)=-gama*z2(i-1)*dt+xmu1(i-1); % cac ham f(i)=2*C*((1-2*C/(L*xmu1(i)))*x2(i)*x3(i)^2/xmu1(i)^3 + R*x3(i)^2/(L*xmu1(i)^2))/m ; g(i)=-(2*C*x3(i))/(L*m*xmu1(i)^2); %hàm ?i?u khiên u(i)=-(k2*z3(i)-f(i))/g(i); end for i=1:n t(i)=i*dt; end hold on; plot(t,x1);xlabel('time '); ylabel('gia tri chinh xac cua p '); figure ; plot(t,xmu1);xlabel('time '); ylabel('gia tri uoc luong '); figure; plot(t,x2);xlabel('time'); ylabel ('velocity '); figure; plot(t,u);xlabel('time');ylabel('control input'); Kết quả mô phỏng: III. ĐIỀU KHIỂN BACKSTEPPING Từ những phương trình trên ta xử lý backstepping như sau: Step1: 1 = 2  1 Ta xét hàm lyapunov như sau: = 1 2  1 2    = 1. 1  = 1. (1 + 1) Ta đặt: 1 = 1. 1  Vậy ta có:   = 1. 1  = 1. 1 1. 1 2 Step2: 2 = 3  2 Ta xét hàm lyapunov như sau: 1 = + 1 2 1 2  1  =   + 1. 1  = 1. 1 2 + 1(1 + 2 + 2 + 1. 2) [...]... ]}}/{𝑚2 𝑏2 + 𝐼2 } (𝜃 Vòng điều khiển trong là vòng điều khiển có nhiệm vụ tuyến tính hóa hệ thống Vòng điều khiển ngoài là vòng điều triển bám, và ổn định hóa hệ thống dựa vào sai số đọc về Đây là vòng điều khiển chính, có nhiệm vụ tracking đầu ra do chênh lệch từ sai số.Cấu trúc vòng điều khiển này gồm một bộ vi phân và tỷ lệ PD, giúp triệt tiêu sai số Để tuyến tính và điều khiển được bằng phương pháp... 𝜃2 Điều khiển PD : Đặt y=𝑞 với y là tín hiệu vào mới, ta có luật điều khiển được mô tả như sau: 𝑀𝑙 𝑦 = 𝜏 𝑙 Mục đích điều khiển là tín hiệu ra q(t) bám theo quỹ đạo qd(t) đã định trước: Ta đặt e=qd (t)- q(t): là sai số Ta sẽ điều khiển để lái sai số này về 0 bằng cách thành lập phương trình hutzwit có chứa sai số này trong bộ điều khiển PD Đặt: 𝑟(𝑡) = 𝑞 𝑑 (𝑡) + 𝐾 𝑝 𝑞 𝑑 (𝑡) + 𝐾 𝑑 𝑞 𝑑 (𝑡) Chọn luật điều. .. triệt tiêu sai số Để tuyến tính và điều khiển được bằng phương pháp momen tính , ta tách luật điều khiển gồm thành phần: 𝜏 = 𝜏 𝑛 + 𝜏𝑙 Với 𝜏 𝑛 = 𝑀 𝑛 𝑞 + 𝐶𝑞: là thành phần điều khiển được tuyến tính hóa 𝜏 𝑙 = 𝑀 𝑙 𝑞: là thành phần điều khiển tracking Bằng cách phân tách ma trận M ra cũng bao gồm 2 thành phần : tuyến tính hóa và tracking , ta được momen lực tác động lên 2 khớp của robot được chia làm 2... ylabel('velocity '); figure; plot(t,x1,t,x2);xlabel('time'); ylabel ('position, velocity '); figure; plot(t,u);xlabel('time');ylabel('control input'); Kết quả mô phỏng: IV ĐIỀU KHIỂN TUYẾN TÍNH HÓA (Bài tập điều khiển tuyến tính được trích từ đề tài báo cáo nhóm robot môn học Robot Nâng Cao thầy Phan Tấn Tùng do nhóm Nguyễn Tấn Phúc, Lê Minh Đông, Nguyễn Ninh Bình làm) Mô hình robot: Các phương trình động lực học... 𝑟(𝑡) = 𝑞 𝑑 (𝑡) + 𝐾 𝑝 𝑞 𝑑 (𝑡) + 𝐾 𝑑 𝑞 𝑑 (𝑡) Chọn luật điều khiển: 𝑦 = −𝐾 𝑝 𝑞(𝑡) − 𝐾 𝑑 𝑞(𝑡) + 𝑟(𝑡) (1) Ta được luật điều khiển momen phần tuyến tính là: 𝜏 𝑙1 (𝑚1 𝑎2 + 𝐼1 + 𝑚2 𝐿2 + 𝑚2 𝑏2 )(𝑞 𝑑1 + 𝐾 𝑝 𝑒1 + 𝐾 𝑑 𝑒1 ) + 𝑚2 𝑏2 (𝑞 𝑑2 + 𝐾 𝑝 𝑒2 + 𝐾 𝑑 𝑒2 ) 1 2 𝑚2 𝑏 (𝑞 𝑑1 + 𝐾 𝑝 𝑒1 + 𝐾 𝑑 𝑒1 ) + 𝑚2 𝑏2 + 𝐼2 (𝑞 𝑑2 + 𝐾 𝑝 𝑒2 + 𝐾 𝑑 𝑒2 )  𝜏𝑙 = 𝜏 = ( 𝑙2 Luật điều khiển này cập nhật các thông số động lực học bao gồm moment... 𝑒2 + 𝐾 𝑑 𝑒2 )  𝜏𝑙 = 𝜏 = ( 𝑙2 Luật điều khiển này cập nhật các thông số động lực học bao gồm moment tại các biến khớp theo các sai số đọc về từ các cảm biến vị trí Từ những phân tích ta đưa ra luật điều khiển trên mathlab : Đoạn chương trình như sau: %chuong trinh mo phong dieu khien dong luc scara robot % nguyen tan phuc-le minh dong-nguyen ninh binh % su dung linearization and PID controller for... chọn hàm 𝑓 + 𝑔 𝑢 + 𝑘2 𝑧2 + 𝑍1 = −𝑘3 𝑍2  𝑢= −𝑘3.𝑍2−𝑍1−𝑘2.𝑧2−𝑓 𝑔 Lập trình MatLap: %BACKSTEPPING CONTROL OF MAGNETIC LEVITATION SYSTEM %16/2/2009 %NGUYEN NINH BINH MSSV: 09390929 %NOP TIEU LUAN CHO MON NONLENEAR close all clear all clc; %sampling time tmax=50; dt=0.01; n=round(tmax/dt); % du lieu he thong R=28.7;%om L=.65;%H gc=9.81;%miilisecon-2 C=1.41*10^(-4); m=11.87*10^(-3);%kg %he so trong dieu . BÁO CÁO HỆ THỐNG ĐIỀU KHIỂN PHI TUYẾN SVTH: Nguyễn Ninh Bình Mssv: 09390929 I. Điều khiển mặt trượt II. Điều khiển thích nghi III. Điều khiển backstepping IV. Điều khiển tuyến tính. Vòng điều khiển trong là vòng điều khiển có nhiệm vụ tuyến tính hóa hệ thống. Vòng điều khiển ngoài là vòng điều triển bám, và ổn định hóa hệ thống dựa vào sai số đọc về .Đây là vòng điều khiển. plot(t,u);xlabel('time');ylabel('control input'); Kết quả mô phỏng: IV. ĐIỀU KHIỂN TUYẾN TÍNH HÓA (Bài tập điều khiển tuyến tính được trích từ đề tài báo cáo nhóm robot môn học Robot Nâng Cao thầy Phan Tấn Tùng

Ngày đăng: 14/04/2015, 16:44

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan