Lời giải các bài tập Matlab LQR và LQG nhóm 5 môn điều khiển tối ưu và bền vững lớp cao học ngành tự động hóa

40 1 0
Lời giải các bài tập Matlab LQR và LQG nhóm 5 môn điều khiển tối ưu và bền vững  lớp cao học ngành tự động hóa

Đ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

TP HCM, 2023 BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ GIAO THÔNG VẬN TẢI TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP HCM oOo BÀI TẬP VỀ ĐIỀU KHIỂN TỐI ƯU MÔN HỌC ĐIỀU KHIỂN TỐI ƯU VÀ RÀNG BUỘC TP HCM, 2023 MỤC LỤC MỤC LỤC.

BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ GIAO THÔNG VẬN TẢI TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM - oOo BÀI TẬP VỀ ĐIỀU KHIỂN TỐI ƯU MÔN HỌC: ĐIỀU KHIỂN TỐI ƯU VÀ RÀNG BUỘC TP.HCM, 2023 MỤC LỤC MỤC LỤC mục lục viết tắt tập tổng hợp Bài 8.1 Câu a) Câu b) Bài 8.2 Câu a) Bài 8.3 14 Bài 8.4 15 Bài 8.5 16 Bài 8.6 18 Câu a) 18 Câu b) 19 Bài 8.7 20 Câu b) 21 tập tự chọn 23 1: điều khiển lắc ngược phương pháp LQR 23 a Thiết lập mơ hình tốn học 23 b Mô phổng Matlab Simulink 24 c Kết luận 29 Bài 2: điều khiển lắc ngược phương pháp lqg 29 a Mơ hình tốn phương án 29 b Mô phổng Matlab Simulink 31 c Kết luận 32 3: Bộ Lộc Kalman cho hệ lắc 32 a Chương trình Matlab 32 b Mô phổng Simulink 33 c Kết luận 36 4: thiết kết thông số cho điều khiển LQG 37 a Chương trình Matlab 37 TP.HCM, 2023 Nhóm Điều khiển tối ưu bền vững Kết trả từ Matlab 37 b Mô phổng Simulink 38 c Kết luận 39 tài liệu tham khảo 40 Nhóm thực hiện: Nhóm Trang 40 GVHD: PSG.TS Đặng Xuân Kiên Nhóm Điều khiển tối ưu bền vững MỤC LỤC VIẾT TẮT LQR: Linear Quadractic Regulator LQG: Linear Quadratic Gaussian Nhóm thực hiện: Nhóm Trang 40 GVHD: PSG.TS Đặng Xuân Kiên Nhóm Điều khiển tối ưu bền vững BÀI TẬP TỔNG HỢP BÀI 8.1 Câu a) Nhập lệnh lqr để tìm hệ số khuếch đại tối ưu (K) nghiệm phương trình Ricacti Để mô phổng matllab ta gán cho biến số a ρ với giá trị a= 2.5 ρ= 3, với điều kiện a ρ lớn Tính tốn cách giải tay ta được: Nghiệm phương trình Ricacti: , thay a= 2.5 ρ= ta S= 15.1974 Hệ số tối ưu K: , thay a= 2.5 ρ= ta K= 5.0658 Hình thay a p vào cơng thức ta có kết K S Dùng Matlab để kiểm tra kết quả: clear clc Nhóm thực hiện: Nhóm Trang 40 GVHD: PSG.TS Đặng Xuân Kiên Nhóm Điều khiển tối ưu bền vững %% khai báo a = 2.5; %bài toán yêu c?u a>0 p = 3; %bài toán yêu c?u p>0 A = [a;]; B = [1;]; Q = [1;]; R = [p]; %% ch??ng trình %tìm nghi?m c?a ph??ng trình Ricacti [K,S] = lqr(A, B, Q, R) Hình Kết K S trả từ Matlab Câu b) Nhóm thực hiện: Nhóm Trang 40 GVHD: PSG.TS Đặng Xuân Kiên Nhóm Điều khiển tối ưu bền vững Trong Matlab ta nhập thêm lệnh: sys = ss(A-B*K, B, C, D); Pole = A-B*K pzplot(sys); grid on Kết trả về: Hình Kết trả Pole từ Matlab Nhóm thực hiện: Nhóm Trang 40 GVHD: PSG.TS Đặng Xuân Kiên Nhóm Điều khiển tối ưu bền vững Hình Đồ thị Zeros Poles hệ thống Đối chiếu giải tay ta có cực hệ thống cho bởi: Hình Kết tính tay Nhận định: Cực nằm nửa mặt phẳng bên trái với ρ > Khi ρ → 0, điều khiển dần độ lợi tiến tới ∞, cực tiến tới −∞ Khi ρ → ∞, điều khiển đắt tiền độ lợi tiến gần đến a, cực tiến tới –a Để chứng minh điều Matlab ta thay ρ= 0.001 tương đương với trường hợp ρ → ρ= 99 tương đương với việc ρ → ∞ Nhóm thực hiện: Nhóm Trang 40 GVHD: PSG.TS Đặng Xuân Kiên Nhóm Điều khiển tối ưu bền vững Hình K = 34.22 p= 0.001 Hình K = (bằng lần a) p= 99 BÀI 8.2 Câu a) Với phương trình ban đầu: Nhóm thực hiện: Nhóm Trang 40 GVHD: PSG.TS Đặng Xuân Kiên Nhóm Điều khiển tối ưu bền vững Với yêu cầu tối ưu J: Thay y(t) = C.x(t) u(t) = (u1 u2) vào phương trình bên ta được: Hình Giải tay để tìm ma trận Q R Nhóm thực hiện: Nhóm Trang 10 40 GVHD: PSG.TS Đặng Xuân Kiên Nhóm Điều khiển tối ưu bền vững Hình 22 Nhập hàm teta đạo hàm bậc hai vào function Lưu chúng vào “Subsystem” Hình 23 Khối miêu tả lắc Thiết lập thông số đầu vào (m,g,l,M,…) để người dùng tự nhập cho khối Nhóm thực hiện: Nhóm Trang 26 40 GVHD: PSG.TS Đặng Xuân Kiên Nhóm Điều khiển tối ưu bền vững Hình 24 chèn các số để người dùng tự nhập Hình 25 Tạo mơ hình Simulink để quan sát kết hệ Hình 26 Kết thu trạng thái ddaaufra hệ thống ban đầu Nhóm thực hiện: Nhóm Trang 27 40 GVHD: PSG.TS Đặng Xuân Kiên Nhóm Điều khiển tối ưu bền vững Khi có mơ tả hệ lắc, tiến hành tạo điều khiển LQR để điều khiển hệ thống Trước tiên ta tạo mộ mơ hình điều khiển Simulink Sơ đồ lý thuyết tham khảo [3] Hình 27 Sơ đồ hệ thốngđiều khiển LQR hệ mở Hình 28 Mơ phổng LQR hệ lắc ngược Simulink Tiếp theo ta tiến hành nhập chương trình Matlab Ở đây, chọn Q ma trận 3x3 (Q = [10 0 0;0 0;0 100 0;0 0 1]; ) R = clc clear M = 1; m = 0.1; l = 1; g = 9.81; theta_init = 0.1; theta_dot_init = 0; x_init = 0; x_dot_init = 0; A = [0 0;g*(M+m)/(M*l) 0 0;0 0 1;-g*m/M 0 0]; Nhóm thực hiện: Nhóm Trang 28 40 GVHD: PSG.TS Đặng Xuân Kiên Nhóm Điều khiển tối ưu bền vững B = [0;-1/(M*l);0;1/M]; C = [1 0 0;0 0]; D = 0; %Q = C'*C; Q = [10 0 0;0 0;0 100 0;0 0 1]; R = 1; K = lqr(A,B,Q,R) Kết độ lợi nhận được: Hình 29 Độ lợi K điều khiển LQR Đưa thông số cần thiết từ Matlab vào Simulink ma trận A, B, C, D độ lợi K ta kết sau: Hình 30 Kết đáp ứng hệ thống có điều khiển LQR c Kết luận Như ta thấy biến số vị trí gốc lệch dần tiến thời gian tiến vô tức điều khiển LQR điều khiển xe đưa lắc đến vị trí cân giống yêu cầu đặt Tuy nhiên mô phổng mơi trường lý tưởng chưa có can thiệp nhiễu vào hệ thống Bài kiểm tra ảnh hưởng nhiễu đến điều khiển LQR nghiêng cứu LQG BÀI 2: ĐIỀU KHIỂN CON LẮC NGƯỢC BẰNG PHƯƠNG PHÁP LQG a Mơ hình tốn phương án Nhóm thực hiện: Nhóm Trang 29 40 GVHD: PSG.TS Đặng Xuân Kiên Nhóm Điều khiển tối ưu bền vững Bài toán tham khảo [3] Về mơ hình tốn ta thực tương tự Đầu tiên xây dựng mơ hình trạng thái dựa phương trình lực tác động lên lắc từ suy biến đầu vào biến đầu Tiếp theo mô phổng hệ phần mềm Simulink Matlab Phương pháp điều khiển LQG hiểu đơn giản LQG = LQR + lọc nhiễu Kalman Để kiểm nghiệm yếu điểm điều khiển LQR ta thêm nhiễu vào hệ thống xem kết Hình 31 Thêm nhiều vào biến x teta Hình 32 Kết thu nhận Ta thấy cưa bắt đầu xuất kết Hơn sai số tăng lên Điều làm cho tổn hao lượng tăng lên, giảm chất lượng hệ thống Nhóm thực hiện: Nhóm Trang 30 40 GVHD: PSG.TS Đặng Xuân Kiên Nhóm Điều khiển tối ưu bền vững b Mô phổng Matlab Simulink Trên Simulink ta tạo mơ sau: Hình 33 Mơ phổng điều khiển LQG hệ lắc Simulink Bước nhập chương trình Matlab: clc clear M = 1; m = 0.1; l = 1; g = 9.81; theta_init = 0.1; theta_dot_init = 0; x_init = 0; x_dot_init = 0; A = [0 0;g*(M+m)/(M*l) 0 0;0 0 1;-g*m/M 0 0]; B = [0;-1/(M*l);0;1/M]; C = [1 0 0;0 0]; D = 0; %Q = C'*C; Q = [10 0 0;0 0;0 100 0;0 0 1]; R = 1; G = diag([1 1 1]); Qn = diag([0.000001 100 10000]); K = lqr(A,B,Q,R) Rn = [0.001 0;0 1]; Lưu lại liên kết với Simulink Ở Simulink ta đưa thông số vào khối Kalman Filter thông số A, B, C, D Qn, Rn (Qn, Rn hai ma trận điều khiển người lập trình chọn lựa) Đưa hệ số khuếch đại K vào khối Gain Nhóm thực hiện: Nhóm Trang 31 40 GVHD: PSG.TS Đặng Xuân Kiên Nhóm Điều khiển tối ưu bền vững Hình 34 Kết thu c Kết luận Bộ điều khiển LQG đựa biến trạng thái vị trí cân yêu cầu đặt với nhiễu tác động vào hệ thống LQG lọc nhiễu LQR nhiên làm cho thời gian để hệ thống ổn định lại chậm LQR Hơn việc chọn lựa ma trận điều khiển điều khiển LQG nhiều (4 Q,N,Qn,Rn) so với LQR Như tùy thuộc vào tiêu chất lượng đặt người yêu cầu ban đầu đặt mà ta có cân nhắc lựa chọn Nếu ưu tiên độ xác (ít sai số) ta chọn LQG, ưu tiên thời gian đáp ứng ta chọn điều khiển LQR BÀI 3: BỘ LỘC KALMAN CHO HỆ CON LẮC a Chương trình Matlab Chương trình thơng số tham khảo từ [1] Mơ hình chọn hệ lắc đơn Ta tưởng tượng giống lắc đồng hồ lắc Khi kéo nặng khỏi vị trí vng gốc với mặt đất, lúc buông lắc giao động xung quanh điểm cân (điểm cân vị trí mà dây nối vng gốc với mặt đất) Dao động dao động tắt dần sinh động năng, trì dó lực qn tính lắc dần bị lực ma sát lực trọng trường Các yếu tố dây nhiễu luồng gió, rung lắc khơng đồng chất,… Nhóm thực hiện: Nhóm Trang 32 40 GVHD: PSG.TS Đặng Xuân Kiên Nhóm Điều khiển tối ưu bền vững Hình 35 Mơ tả lực tác động lên lắc đơn Cơng thức tốn học: Suy ra: Trong đó: - g: gia tốc trọng trường (m/s2) - L: độ dài dây nối (m) - θ: góc lệch khỏi vị trí cân (độ) - m: khối lượng lắc (kg) Chương trình Matlab: % hệ lắc sử dụng lọc kalman g = 9.81; m = 1; l = 0.5; A = [0 1; -g/l 0] B = [0; 1/(m*l^2)] C = [1 0]; D = 0; Q = 1e-3; R = 1e-4; % Thời gian lấy mẫu Ts = 0.01; b Mơ phổng Simulink Nhóm thực hiện: Nhóm Trang 33 40 GVHD: PSG.TS Đặng Xuân Kiên Nhóm Điều khiển tối ưu bền vững Hình 36 Mơ phổng Simulink Hình 37 Chi tiết khối Pendulum Nhóm thực hiện: Nhóm Trang 34 40 GVHD: PSG.TS Đặng Xuân Kiên Nhóm Điều khiển tối ưu bền vững Hình 38 Cài đặt nhiễu Hình 39 Cài đặt khối Kalman Filter với góc ban đầu 10 độ Nhóm thực hiện: Nhóm Trang 35 40 GVHD: PSG.TS Đặng Xuân Kiên Nhóm Điều khiển tối ưu bền vững Hình 40 Kết với gốc ban đầu 10 độ Thay đổi góc xuất phát sang 60 độ kết nhận được: Hình 41 Kết mơ phổng góc xuất phát 60 độ c Kết luận Theo quan sát từ kết thu ta thấy lọc nhiễu Kalman lược bỏ nhiễu thông qua dự đoán trước.Sự dự đoán thể qua lệch pha của Estimated teta Actual teta (hai dạng sống Estiamte lại sớm pha Actual teta) Khi điều kiện bắt đầu lớn độ ổn định cao Nhóm thực hiện: Nhóm Trang 36 40 GVHD: PSG.TS Đặng Xuân Kiên Nhóm Điều khiển tối ưu bền vững BÀI 4: THIẾT KẾT THÔNG SỐ CHO BỘ ĐIỀU KHIỂN LQG a Chương trình Matlab Chương trình tham khảo từ mục “help” Matlab [3] Chương trình tạo điều khiển cho hệ thống giả định có ma trận A, B, C, D phương trình trạng thái là: Các ma trận điều khiển (Q,R,Qn,Rn) ndo người dùng tự chọn thơng số Nhập chương trình sau vào Matlab: clear clc %% A = [0 0;0 1;1 0]; B = [0.3 1;0 1;-0.3 0.9]; C = [1.9 1.3 1]; D = [0.53 -0.61]; sys = ss(A,B,C,D); Qn = [4 0;2 0;0 1]; Rn = 0.7; nx = 3; ny = 1; R = [1 0;0 2]; %% Kết trả từ Matlab Nhóm thực hiện: Nhóm Trang 37 40 GVHD: PSG.TS Đặng Xuân Kiên Nhóm Điều khiển tối ưu bền vững Hình 42 kết trả b Mơ phổng Simulink Hình 43 Thiêt lập hệ phần mềm Simulink Nhóm thực hiện: Nhóm Trang 38 40 GVHD: PSG.TS Đặng Xuân Kiên Nhóm Điều khiển tối ưu bền vững Hình 44Kết mô phổng c Kết luận Do điều khiển LQG kết hợp điều khiển LQR lọc nhiễu Kalman nên đáng xem cải tiến điều khiển LQR hạn chế chống nhiễu Bộ điều khiển LQG cho kết tốt đồ thị có cưa (tức sai số xác lập – sai số sinh phần nhiễu) Tuy nhiên việc tìm ma trận điều khiển tốn nhiều lần thử Hơn ta cần ước nguồn gây nhiễu lượng để tìm thống số tốt cho điều khiển Nhóm thực hiện: Nhóm Trang 39 40 GVHD: PSG.TS Đặng Xuân Kiên Nhóm Điều khiển tối ưu bền vững TÀI LIỆU THAM KHẢO [1] https://www.youtube.com/watch?v=ouRM4sgoVs8, “How to Use a Kalman Filter in Simulink | Understanding Kalman Filters, Part 6”, MATLAB [2] https://www3.diism.unisi.it/~control/ctm/examples/pend/invpen.html, “Example: Modeling an Inverted Pendulum”, Carnegie Mellon, The University of Michigan [2] https://www.youtube.com/watch?v=1Gf5urTHQsE, “15 State Space Model of the Inverted Pendulum”, Syed Abdul Rahman Kashif [2] https://www.youtube.com/watch?v=9Gs3K06THkE&t=386s, “Tạo mơ hình simulink/matlab hệ phi tuyến (ví dụ hệ xe lắc ngược)”, nguyen van dong hai [2] https://www.mathworks.com/help/control/ref/lti.lqr.html, “lqr”, MathWorks® [3] “Điều khiển tối ưu”, PSG TS Nguyễn Thị Phương Hà, xuất năm 2006 [3] https://www.mathworks.com/help/control/getstart/linear-quadratic-gaussianlqg-design.html, “Linear-Quadratic-Gaussian (LQG) Design”, MathWorks® Nhóm thực hiện: Nhóm Trang 40 40 GVHD: PSG.TS Đặng Xuân Kiên

Ngày đăng: 03/05/2023, 21:04

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

Tài liệu liên quan