Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 26 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
26
Dung lượng
763,47 KB
Nội dung
BÀI THÍ NGHIỆM ĐIỀU KHIỂN HỆ PHI TUYẾN CON LẮC NGƯỢC QUAY 5.1 Tuyến tính hóa điểm cân thiết kế điều khiển LQR - Sử dụng mơ hình tuyến tính hóa điểm cân chuẩn bị nhà phần 4.3 (các ma trận As, Bs tìm được), sinh viên khảo sát điều khiển LQR sau Xây dựng mơ hình mơ Simulink “pend_lqr.mdl” hình Lưu ý chọn chế độ Multiplication Matrix(K*u) cho khối Gain - Viết m-file “pend_lqr_init.m” sử dụng ma trận As, Bs lệnh lqr để tìm vector hồi tiếp trạng thái K - Hình Điều khiển cân lắc ngược LQR a Khảo sát ảnh hưởng ma trận Q ma trận R Giá trị khởi tạo trạng thái (θ1 = dθ1/dt=dθ2/dt = 0, θ2 = 100), sinh viên thay đổi giá trị ma trận Q R tương ứng với trường hợp tính lại vector K, vẽ đáp ứng ngõ Lần chạy Giá trị ma trận Q Giá trị ma trận Giá trị vector K R Q = diag([1, 1, 0.001, R = [1 -1.9536 110.3185 1]) 23.3228] Q = diag([1, 1, 1, 1]) R=1 [1 -1.9537 110.3279 - θ2? 23.3239] [-1 -2.397 170.6348 29.1884] Q = diag([1, 1, 10^4, 1]) R = Q = diag([1, 1, 1, 1]) R = 0.01 Q = diag([1, 1, 1, 1]) R=1 Q = diag([1, 1, 1, 1]) R = 100 [-10 -15.33 462.033 98.5219] [1 -19.537 110.3279 23.3239] [-0.1 -0.471 70.9676 14.9452] Nhận xét ảnh hưởng việc thay đổi ma trận Q đến đáp ứng góc lệch Q = diag([1, 1, 0.001, 1]) R=1 Q = diag([1, 1, 1, 1]) R=1 Q = diag([1, 1, 10^4, 1]) R=1 Khi tăng giá trị q13 ma trận Q lên, đáp ứng góc lệch θ ngày đáp ứng nhanh hơn, vọt lố giảm, thời gian xác lập giảm, khơng có sai số - θ2 ? Nhận xét ảnh hưởng việc thay đổi ma trận R đến đáp ứng góc lệch Q = diag([1, 1, 1, 1]) R = 0.01 Q = diag([1, 1, 1, 1]) R=1 Q = diag([1, 1, 1, 1]) R = 100 Khi tăng giá trị ma trận R lên, đáp ứng góc lệch θ2 ngày đáp ứng chậm hơn, vọt lố giảm, thời gian xác lập kéo dài hơn, khơng có sai số b Khảo sát ảnh hưởng giá trị khởi tạo góc θ2 Đặt giá trị cho ma trận Q = diag([1, 1, 1, 1]) ma trận R = tìm lại vector hồi tiếp trạng thái K - Giá trị khởi tạo trạng thái (θ1 = dθ1/dt=dθ2/dt = 0), thay đổi giá trị khởi tạo góc θ2 tương ứng trường hợp sau vẽ đáp ứng ngõ Giá trị vector K Lần chạy Giá trị khởi tạo góc θ2 [1 -1.9537 110.3279 23.3239] θ2 = 100 [1 -1.9537 110.3279 23.3239] θ2 = 150 θ2 = 20 [1 -1.9537 110.3279 23.3239] θ2 = 250 [1 -1.9537 110.3279 23.3239] - Nhận xét ảnh hưởng giá trị khởi tạo θ2 đến đáp ứng hệ thống ? θ2 = 100 θ2 = 150 θ2 = 200 10 5.2 Bộ ước lượng trạng thái Xây dựng mơ hình Simulink ước lượng trạng thái “pend_state_estimator.mdl” hình hình Các giá trị nhiễu cộng vào tín hiệu tương ứng sau: nhiễu tín hiệu đo θ1 Noise1 với variance N1, tương tự cho θ2 Noise2 với variance N2 Tín hiệu hồi tiếp góc lệch quay lắc (θ1 θ2) - Thực tính lại vector hồi tiếp trạng thái K với ma trận Q = diag ([1 1 1]) ma trận R = - - Giá trị khởi tạo trạng thái (θ1 = dθ1/dt=dθ2/dt = 0, θ2 = 100) - Tính độ lợi Kalman cho ước lượng thái đoạn code sau 0.1537 0.1324 L0 = [ 0.4920 2.0839 %% Kalman gain G = eye(4); 0.4920 2.1456 ] 8.4422 35 7562 Cs = [1 0 0;0 0]; Cm = [1 0;0 1]; QN = 10^-6*eye(4); %variance of process noise RN = [10^-3 0; Hình Ước lượng trạng thái điều khiển LQR cân lắc ngược quay 12 Hình Cấu trúc ước lượng trạng thái Sinh viên đánh giá sai số ước lượng tín hiệu θ1 θ2 trường hợp sau Giá trị phương sai nhiễu Giá trị ma trận QN RN QN =10-6*eye(4) RN =10-3*eye(2) N1 = 0.001, N2 = 0.001 Sai số ước lượng tín hiệu θ1 gần 0, chất lượng ước lượng tốt.Sai số ước lượng tín hiệu θ2 lớn hơn, chất lượng không tốt 13 5.3 Điều khiển swing-up lắc phương pháp lượng Sinh viên thực mô hình mơ Simulink “pend_swingup.mdl” hình 10, khối chức hệ thống hoạt động sau Hình 10 Sơ đồ khối điều khiển swing-up điều khiển cân dùng LQR Khối swing-up thực luật điều khiển swing-up để đưa lắc đến vị trí cân trên, tốc độ swing-up đặc trưng giá trị Ksw thay đổi Sinh viên thực luật điều khiển swing-up công thức (31) vào khối swing-up hình 11 Hình 11 Khối điều khiển swing-up lắc Bộ điều khiển LQR để giữ cân cho lắc vùng làm việc tuyến tính thực thí nghiệm 5.1 14 Khối switchC (khối Embedded Matlab Function Simulink) thực việc xem xét điều kiện góc quay vận tốc góc để chuyển đổi luật điều khiển swingup luật điều khiển cân LQR lắc vào vùng tuyến tính hóa Lưu ý: Khối signal specification cần thiết MATLAB báo lỗi thiếu định nghĩa kiểu liệu cho đầu vào cho khối switchC function y = switchC(ang, vel) temp = mod(ang, 2*pi); if(temp>pi) temp=temp-2*pi; end if((abs(temp)