Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 56 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
56
Dung lượng
1,02 MB
Nội dung
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI ĐỒ ÁN TỐT NGHIỆP Điều khiển lắc ngược sử dụng phương pháp học tăng cường MAI VIỆT PHƯƠNG phuong.mv174119@sis.hust.edu.vn Ngành KT Điều khiển & Tự động hóa Giảng viên hướng dẫn: Khoa: Trường: HÀ NỘI, 8/2022 BỘ GIÁO DỤC & ĐÀO TẠO CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐH BÁCH KHOA HÀ NỘI Độc lập - Tự - Hạnh phúc NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Mai Việt Phương Khóa: 62 Trường: Điện- Điện tử Ngành: KT ĐK &TĐH Tên đề tài: Thiết kế hệ thống điều khiển hệ lắc ngược quay thuật toán Reinforcement Learning Nội dung đề tài: Nghiên cứu, tìm hiểu thuật tốn học tăng cường Thiết kế điều khiển để cài đặt chạy kiểm nghiệm Thời gian giao đề tài: Thời gian hoàn thành: ……………………… Ngày tháng … năm 2022 CÁN BỘ HƯỚNG DẪN Lời cảm ơn Trong lời báo cáo đồ án tốt nghiệp này, chúng em muốn gửi lời cảm ơn biết ơn trân thành tới tất người hỗ trợ, giúp đỡ chúng em kiến thức tinh thần trình thực đồ án Trước hết chúng em xin chân thành cảm ơn thầy Chu Đức Việt, Phó trưởng Bộ mơn Điều Khiển Tự Động, người trực tiếp hướng dẫn, nhận xét, tận tình bảo, giúp đỡ chúng em suốt trình làm đồ án, để chúng em hồn thiện đồ án cách tốt Xin chân thành cảm ơn tới tất thầy nhiệt tình dậy bảo, truyền đạt kiến thức cho chúng em em suốt thời gian học tập mái trường Đại học Bách Khoa Hà Nội, đặc biệt với thầy cô Bộ môn Điều Khiển Tự Động, thầy cô quan tâm, định hướng tạo điều kiện thuận lợi cho chúng em học tập, nghiên cứu thực đồ án Cuối xin gửi lời cảm ơn đến gia đình, bạn bè, người thân giúp đỡ, động viên chúng em nhiều trình học tập làm đồ án Chúng em cố gắng để hoàn thiện đồ án cách tốt nhất, hạn chế thời gian kiến thức nên tránh khỏi thiếu sót, mong đóng góp thầy bạn Xin chân thành cảm ơn! Tóm tắt nội dung đồ án Con lắc ngược quay hệ thống phi tuyến không ổn định mức cao, thường sử dụng mơ hình phổ biến cho ứng dụng kỹ thuật điều khiển tuyến tính phi tuyến Mơ hình lắc dùng để kiểm chứng lại thuật toán điều khiển như: điều khiển trượt, đặt cực, LQR, PID, logic mờ, mạng neural, thuật toán học tăng cường Điều khiển lắc ngược gồm hai trình điều khiển: trinh điều khiển lật ngược lắc điều khiển cân lắc quanh vị trí lật ngược (vị trí thẳng đứng) Trong phương pháp điều khiển hành hệ phi tuyến, điều khiển sử dụng thuật toán học tăng cường Reinforcement Learning phương pháp Do vậy, thuật tốn học tăng cường cịn nhiều vấn đề cần quan tâm Những kết nghiên cứu trước cho thấy thuật toán học tăng cường điều khiển cho kết tốt phương pháp khác hệ phi tuyến Trong đồ án này, nhóm sinh viên sử dụng thuật toán Soft Actor-Critic (SAC) huấn luyện để xây dựng điều khiển lắc Quá trình mô hệ thống điều khiển thực phần mềm Matlab trinh chạy thực nghiệm thưc ngơn ngữ lập trình Python Kết đạt được: Mô điều khiển sử dụng thuật toán SAC điều khiển đưa lắc ngược quay từ vị trí bng thõng lên vị trí lật ngược lắc ổn định vị trí MỤC LỤC CHƯƠNG TỔNG QUAN 1.1 Đặt vấn đề 1.2 Đối tượng thực tế 1.3 Mục tiêu giới hạn đồ án 1.4 Phương pháp nghiên cứu 1.5 Nội dung luận văn CHƯƠNG MƠ HÌNH HĨA ĐỐI TƯỢNG THỰC TẾ 2.1 Xây dựng mơ hình tốn học 2.2 Xây dựng mơ hình Simulink Simscape CHƯƠNG THIẾT KẾ VÀ CÁC KIỂM NGHIỆM BỘ ĐIỀU KHIỂN 12 3.1 Thiết kế điều khiển vòng 12 3.2 Cơ sở lý thuyết 16 Tổng quan Machine Learning Reinforcement Learning 16 Mối liên hệ điều khiển truyền thống điều khiển học tăng cường (Reinforcement Learning) 18 3.2.3 Các thuật toán Reinforcement Learning 19 3.2.3.1 Thuật toán Q – Learning 19 3.2.3.2 Thuật toán SARSA 20 3.2.3.3 Thuật toán Deep Q – Network (DQN) 20 3.2.3.4 Thuật toán Policy Gradient 22 3.2.3.5 Thuật toán Actor – Critic………………………………………23 3.2.3.6 Thuật toán Deep Deterministic Policy Gradient……………….24 3.2.3.6 Thuật toán Soft Actor-Critic………………………………… 26 3.3 Thiết kế điều khiển vịng ngồi 29 Nhiệm vụ mục tiêu 29 3.4 3.3.2 Thiết kế môi trường trạng thái…………………………… 30 3.3.3 Thiết kế cấu trúc tham số SAC agent………………….31 3.3.4 Hàm Reward tham số huấn luyện 33 Mô Matlab – Simulink 33 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 39 TÀI LIỆU THAM KHẢO 40 PHỤ LỤC 41 DANH MỤC HÌNH VẼ Hình 1.Mơ hình thực tế hệ lắc ngược Hình Minh họa cách hoạt động hệ thống có điều khiển Hình 3.Mơ hình đơn giản hệ lắc ngược quay Hình 4.Sơ đồ hệ thống điều khiển Simulink Hình 5.Sơ đồ mơ tả hệ lắc ngược Simulink Hình 6.Mơ hình Simscape Simulink Hình 7.Mơ mơ hình Simscape Simulink Hình 8.Cấu trúc điều khiển vòng Hình 9.Kết mơ góc với điều kiện ban đầu cho Hình 10.Kết mơ góc với điều kiện ban đầu cho Hình 11.Mối liên hệ AI, Machine Learning Deep Learning Hình 12 loại Machine Learning Hình 13.Tương tác tác nhân học tăng cường mơi trường Hình 14.Hệ thống phương pháp học tăng cường Hình 15.Ví dụ thuật tốn Q – Learning Q – table Hình 16.Khác biệt SARSA Q – Learning Hình 17.Từ Q - learning đến DQN Hình 18.Minh họa thuật tốn Policy Gradient Hình 19.Minh họa thuật toán Actor – Critic Hình 20.Minh họa thuật tốn DDPG Hình 21.Minh họa thuật toán SAC: Hình 22.Cấu trúc điều khiển vịng ngồi: Hình 23.Sơ đồ thuật toán học tăng cường Simulink Hình 24.Cấu trúc mạng Critic Hình 25.Cấu trúc mạng Actor Hình 26.Quá trình huấn luyện SAC Agent Hình 27.Quá trình huấn luyện DDPG Agent Hình 28.Kết góc (sensor 2), (sensor 1) thu chạy mơ Hình 29: Kết (sensor 3) Hình 30: Kết điện áp đặt vào động Hình 31: Góc đặt cho lắc từ SAC agent tín hiệu “select-mode” Hình 32 Góc dùng điều khiển LQR CHƯƠNG TỔNG QUAN 1.1 Đặt vấn đề Ngày lý thuyết điều khiển tuyến tính phát triển hồn chỉnh áp dụng thành cơng q trình cơng nghiệp thiết bị dân dụng Tuy nhiên, lý thuyết không hiệu hệ thống phi tuyến mà khơng thể khó xác định xác mơ hình tốn học, hệ thống có mơ hình tốn học thay đổi chịu tác động nhiễu Bên cạnh đó, lý thuyết điều khiển phi tuyến có bước phát triển đáng kể Từ có tảng toán học cần thiết để thiết kế điều khiển đạt chất lượng Các lý thuyết áp dụng thành công để điều khiển hệ phi tuyến chia thành hai nhóm chính: lý thuyết điều khiển kinh điển lý thuyết điều khiển đại Nhóm phương pháp điều khiển kinh điển dựa vào việc tuyến tính hóa đặc tuyến hệ thống xung quanh điểm làm việc, sau áp dụng phương pháp điều khiển cho hệ tuyến tính Lý thuyết điều khiển kinh điển bộc lộ yếu điểm chất lượng độ tin cậy đối tượng điều khiển hệ phi tuyến, đối tượng khơng rõ khó xác định xác mơ hình tốn học, chịu tác động nhiễu Nhóm phương pháp điều khiển đại bao gồm điều khiển dùng giải thuật mờ, điều khiển dùng giải thuật di truyền, điều khiển dùng mạng thần kinh nhân tạo, điều khiển dùng thuật toán học tăng cường (Reinforcement Learning),…Tác tử Reinforcement Learning hình thành cịn chưa có tri thức hệ thống, tri thức mạng hình thành dần sau trình huấn luyện Tác tử huấn luyện tương tác với môi trường, bao gồm kích thích ngõ vào đáp ứng ngõ hệ thống Ta đưa vào đầu thuật tốn kích thích, thuật tốn hình thành đáp ứng tương ứng ngõ ra, đáp ứng phù hợp với loại kích thích lưu giữ, giai đoạn gọi giai đoạn học mạng Khi hình thành tri thức, dùng tác tử học tăng cường để điều khiển hệ thống mà học Hệ lắc ngược quay hệ thống khơng ổn định có ngõ vào điều khiển số bậc tự Hệ thống có hai điểm cân bằng: Điểm cân thẳng đứng hướng lên (vị trí lật ngược) điểm cân thẳng đứng hướng xuống (vị trí bng thõng), vị trí lật ngược điểm cân khơng ổn định Bài tốn đặt thiết kế hệ thống điều khiển gồm hai phần: đưa lắc từ vị trí bng thõng lên vị trí lật ngược giữ lắc ổn định vị trí lật ngược Con lắc ngược đối tượng đại diện cho lớp đối tượng có độ phi tuyến cao không ổn định So sánh với lắc ngược tịnh tiến, lắc ngược quay bậc tự có ưu điểm hệ thống khí khơng q phức tạp hệ thống sử dụng rộng rãi việc giảng dạy nghiên cứu lý thuyết điều khiển tự động xây dựng điều khiển Hệ thống lắc ngược quay bậc tự bao gồm phần chính: phần khí, phần điện tử phần chương trình Phần khí bao gồm kim loại (con lắc) quay quanh trục thẳng đứng Thanh kim loại gắn gián tiếp với đầu cánh tay nằm ngang thơng qua cảm biến để đo góc, đầu cịn lại cánh tay gắn vào trục quay động DC Động DC đặt thẳng đứng để cánh tay quay mặt phẳng nằm ngang.Do trình vận hành cánh tay quay với tốc độ cao nên phần khí cần phải tính tốn thiết kế xác, chắn nhằm tránh rung gây nhiễu hư hỏng trình vận hành Phần điện tử gồm phần nhỏ là: cảm biến đo góc cánh tay lắc, mạch khuyếch đại công suất mạch điều khiển Phần cảm biến đóng vai trị quan trọng, cung cấp cho điều khiển: vị trí, hướng cánh tay lắc 1.2 Đối tượng thực tế Đối tượng nghiên cứu đồ án hệ lắc ngược quay (con lắc ngược Furuta) Thông số thiết bị cho bảng Hình 1: Mơ hình thực tế hệ lắc ngược Bảng Thông số thiết bị hệ lắc ngược STT Tên thiết bị Động DC Encoder động Encoder lắc 1.3 Mục tiêu giới hạn đồ án Từ mô tả tốn mục 1.1, thấy mục tiêu điều khiển ta giải hai toán sau: - Bài toán điều khiển swing-up: đưa lắc từ vị trí ban đầu (thẳng đứng hướng xuống) lên đến lân cận vị trí cân - Bài tốn điều khiển cân bằng: trì hệ ổn định quanh vị trí cân dù chịu tác động ngoại lực Hay nói cách khác ta phải đưa Với , , , vị trí, tốc độ góc cánh tay động lắc Đối với hệ lắc ngược quay có cấu chấp hành động DC nên có biến điều khiển điện áp động ( umotor ) có 28 + Cập nhật tham số entropy nhờ tối thiểu hàm mát : H entropy mục tiêu + Cập nhật tham số mạng critic mục tiêu: ϕtk = τϕk + (1 − τ) ϕtk 3.3 Thiết kế điều khiển vịng ngồi 3.3.1 Nhiệm vụ mục tiêu: Bộ điều khiển vịng vịng ngồi có nhiệm vụ tạo lượng để lắc dao động swing up lên vị trí cân đồng thời tối thiểu hóa sai lệch biến cần điều khiển, (đặc biệt góc lắc) so với giá trị đặt chúng hay nói cách khác là” kéo lắc lên gần vị trí thẳng đứng giữ lân cận đó” Và đưa giá trị đặt góc lắc cho điều khiển vịng Vùng lân cận quanh vị trí cân sử dụng mô 180 30 độ Ở mơ sử dụng thêm tín hiệu logic gọi “select-mode” 1, ref “select-mode” 0, Do q trình swing-up lắc lên vị trí cân q trình có phi tuyến lớn, góc đặt lắc thay đổi liên tục nên để đạt mục đích tối thiểu sai số nên sử dụng công thức cụ thể mà cần sử dụng thuật tốn học tăng cường xử lý 29 Hình 22 Cấu trúc điều khiển vịng ngồi: 3.3.2 Thiết kế mơi trường trạng thái Môi trường tạo từ mô hình simscape lắc ngược quay phịng thí nghiệm với thông số lấy từ chương Ở bước tập, trạng thái môi trường gửi tác nhân Sau cân nhắc, nhóm chúng em lựa chọn trạng thái gồm bộ: , 〈sin , cos , , ̇ sin , cos ̇ 〉 Nhóm lựa chọn hàm lượng giác góc α thay góc α trạng thái giá trị góc mơ khơng bị giới hạn miền có độ dài 2π Bên cạnh đó, sử dụng hàm lượng giác α khơng xác định độ lớn mà cịn xác định dấu góc α, từ thể đầy đủ trạng thái cho trình học tác nhân Ở vị trí ban đầu, giá trị trạng thái là: sin = 0, cos = 1, ̇= 0, sin = 0, cos = 1, = 30 Hình 23 Sơ đồ thuật tốn học tăng cường Simulink 3.3.3 Thiết kế cấu trúc tham số SAC Agent Tác nhân SAC xây dựng với hai mạng neuron mạng Critic mạng Actor với tham số độc lập Trong đó: Mạng Critic xây dựng với cấu trúc hai đầu vào đầu Đầu vào trạng thái (6 unit ứng với trạng thái quan sát) hành động (1 unit), đầu giá trị Q ước lượng Mạng gồm lớp ẩn bao gồm: lớp feature input layer, lớp fully connected layer lớp relu layer Lớp feature input layer có có units lớp fully connected layer có 400, 300, 300 lớp cuối có units đầu Hàm kích hoạt Relu sử dụng cho toàn lớp mạng Critic Hệ số học mạng Critic 0.001 Hình 24 Cấu trúc mạng Critic 31 - Mạng Actor xây dựng với cấu trúc đầu vào đầu Đầu vào trạng thái hành động, đầu giá trị Q ước lượng Mạng gồm lớp ẩn bao gồm: lớp feature input layer, lớp fully connected layer ,3 lớp relu layer lớp concatenation layer đầu Lớp feature input layer có 5, lớp fully connected layer có 400, 300, 300 units, lớp cuối gần đầu có unit Hàm kích hoạt Relu sử dụng cho toàn lớp mạng Critic Hệ số học mạng Actor 0.001 Hình 25 Cấu trúc mạng Actor Từ mạng Critic Actor, SAC Agent tạo với tham số sau: Bảng 2.Bảng tham số SAC Agent Tham số Target Smooth Factor Mini Batch Size Experience Buffer Sample Time Discount Factor Phương sai mơ hình nhiễu Tốc độ suy giảm phương sai 32 3.3.4 Hàm Reward tham số huấn luyện Q trình học tác nhân mơ thành tập, tập bao gồm bước lặp Ở bước lặp, môi trường gửi tác nhân điểm thưởng xác định sau: r 0.1()2 0.1.2 F 100, F 0, otherwise Mỗi tập diễn đến có tín hiệu hủy bỏ (Góc quay θ vận tốc quay cánh tay động giới hạn định sẵn) Sau kết thúc lần huấn luyện thuật toán, tổng phần thưởng tích lũy từ trạng thái đến trạng thái cuối Q trình huấn luyện thuật tốn kết thúc tổng phần thưởng tích lũy đạt tiêu chí dừng Q trình huấn luyện thuật tốn SAC toán diễn với tham số sau: Bảng Bảng tham số trình huấn luyện Số bước lặp tối đa tập Giá trị 10000 500 Tiêu chí dừng Phần thưởng trung bình tập liên Tham số Số tập tối đa Tiêu chí hủy tập 3.4 tiếp lớn 7000 | | > 20 rad | | > 20 rad/s Thiết kế mô Matlab – Simulink Sau thực huấn luyện SAC Agent so sánh với trình huấn luyện DDPG Agent Matlab với mơ hình, nhóm thu q trình huấn luyện sau: 33 Hình 26 Quá trình huấn luyện SAC Agent Hình 27 Quá trình huấn luyện DDPG Agent Nhận xét: Thuật toán SAC 120 episodes để khám phá mơi trường, cịn với DDPG 250 episodes Quá trình huấn luyện SAC ổn định so với DDPG, hiệu suất huấn luyện SAC có xu hướng tăng đạt tiêu chí dừng sau 178 episodes, với DDPG hết số episodes chưa đạt tiêu chí dừng Vì khẳng định thuật tốn SAC chứng minh tính 34 hiệu so với DDPG Sau huấn luyện thành công, SAC Agent sử dụng để điều khiển lắc ngược mô thu kết sau: Hình 28: Kết góc (sensor 2), (sensor 1) thu chạy mơ Hình 29: Kết (sensor 3) (sensor 4) 35 Hình 30: Kết điện áp đặt vào động Hình 31: Góc đặt cho lắc từ SAC agent tín hiệu “select-mode” 36 Hình 32 Góc dùng điều khiển LQR 37 Nhận xét kết mô phỏng: Từ kết mô cho thấy góc cánh tay quay góc lắc ngược Tại giây đầu tiên, lắc ngược quay q trình lật ngược Sau đó, trạng thái cân bằng, lắc ngược giữ vị trí thẳng đứng khoảng thời gian cịn lại Giá trị điện áp đặt vào động không vượt 12V mặt thực tế đảm bảo an toàn cho động So với điều khiển truyền thống (LQR) điều khiển đề xuất làm thời gian đáp ứng theta alpha nhanh (2s với điều khiển đề xuất 5s-8s điều khiển LQR) 38 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Nhìn lại kết đạt trình làm đồ án, chúng em nhận thấy đạt mục tiêu ban đầu đặt thiết kế xây dựng hoàn chỉnh hệ thống điều khiển cho mơ hình lắc ngược Từ kết đạt qua trình nghiên cứu tài liệu thực đồ án, chúng em xin đề xuất hướng phát triển đồ án này: Thực thi phương án thiết bị thực tế thông qua vi điều khiển chuyên dụng Sử dụng thêm thuật toán học tăng cường phức tạp áp dụng kỹ thuật Prioritized Experience Replay vào thuật toán DDPG, thuật toán Twin-delayed deep deterministic policy gradient (TD3), thuật toán Proximal policy optimization (PPO), … Rất mong nhận nhiều lời đóng góp ý kiến thầy bạn cho đồ án chúng em Và mong đề tài chúng em tương lai phát triển tiếp để hoàn thiện nữa, với nhiều giải thuật điều khiển thú vị tốt đưa 39 TÀI LIỆU THAM KHẢO [1] C Andrew, K Robert and L Joao, "Furuta Pendulum," Massachusetts, 2013 [2] Vũ Thị Thúy Nga, Ong Xuân Lộc, Trịnh Hải Nam, Học tăng cường điều khiển Tự động với Matlab Simulink, Hà Nội: Nhà xuất Bách khoa Hà Nội, 2020 [3] N D Phước, Tối ưu hóa điều khiển điều khiển tối ưu., Hà Nội: Nhà xuất Bách khoa Hà Nội, 2015 [4] N P Quang, Matlab Simulink dành cho kỹ sư điều khiển tự động, Hà Nội: Nhà xuất Khoa học & Kỹ thuật, 2005 [5] Nguyễn Viết Quý, Phạm Văn Tiến, "Thiết kế điều khiển mô hình lắc ngược furuta," Hà Nội, 2016 [6] Timothy P Lillicrap,Jonathan J Hunt,Alexander Pritzel, Nicolas Heess,Alexander Pritzel, Nicolas Heess,, "CONTINUOUS CONTROL WITH DEEP REINFORCEMENT," London, UK, 2016 40 ... toán điều khiển như: điều khiển trượt, đặt cực, LQR, PID, logic mờ, mạng neural, thuật toán học tăng cường Điều khiển lắc ngược gồm hai trình điều khiển: trinh điều khiển lật ngược lắc điều khiển. .. khiển cân lắc quanh vị trí lật ngược (vị trí thẳng đứng) Trong phương pháp điều khiển hành hệ phi tuyến, điều khiển sử dụng thuật toán học tăng cường Reinforcement Learning phương pháp Do vậy,... vậy, thuật toán học tăng cường nhiều vấn đề cần quan tâm Những kết nghiên cứu trước cho thấy thuật toán học tăng cường điều khiển cho kết tốt phương pháp khác hệ phi tuyến Trong đồ án này, nhóm