Thiết kế bộ điều khiển vịng ngồi

Một phần của tài liệu ĐỒ ÁN TỐT NGHIỆP Điều khiển con lắc ngược sử dụng phương pháp học tăng cường (Trang 36)

CHƯƠNG 3 THIẾT KẾ VÀ CÁC KIỂM NGHIỆM BỘ ĐIỀU KHIỂN

3.3 Thiết kế bộ điều khiển vịng ngồi

3.3.1 Nhiệm vụ và mục tiêu:

Bộ điều khiển vòng vịng ngồi có nhiệm vụ tạo năng lượng để con lắc dao động swing up nó lên vị trí cân bằng ở trên đồng thời nó cũng tối thiểu hóa sai lệch của các biến ra cần điều khiển, (đặc biệt là góc của con lắc) so với giá trị đặt của chúng hay nói cách khác là” kéo con lắc lên càng gần vị trí thẳng đứng ở trên và giữ nó ở lân cận đó”. Và nó cũng đưa ra giá trị đặt của góc con lắc cho bộ điều khiển vòng trong .Vùng lân cận quanh vị trí cân bằng được sử dụng trong mơ phỏng này là  180 30 độ. Ở trong mơ phỏng sử dụng thêm một tín hiệu logic gọi là “select-mode”

“select-mode” 1, 0, ref ref swing up            , 6 , 6 ref swing up                    

Do quá trình swing-up con lắc lên vị trí cân bằng trên là q trình có sự phi tuyến lớn, góc đặt của con lắc cũng thay đổi liên tục nên để đạt được mục đích tối thiểu sai số nên khơng thể sử dụng một cơng thức cụ thể nào đó mà cần sử dụng thuật tốn học tăng cường mới có thể xử lý.

30 Hình 22 Cấu trúc bộ điều khiển vịng ngồi:

3.3.2 Thiết kế mơi trường và trạng thái

Mơi trường được tạo từ mơ hình simscape của con lắc ngược quay trong phịng thí nghiệm với thơng số được lấy từ trong chương 2.

Ở mỗi bước của một tập, trạng thái của môi trường sẽ được gửi về tác nhân. Sau khi cân nhắc, nhóm chúng em lựa chọn trạng thái gồm 6 bộ:

〈sin 𝛼, cos 𝛼, 𝛼̇, sin 𝜃, cos 𝜃̇, . 〉

Nhóm lựa chọn các hàm lượng giác của góc α thay vì góc α trong trạng thái vì các giá trị góc trong mơ phỏng khơng bị giới hạn trong miền có độ dài 2π. Bên cạnh đó, sử dụng các hàm lượng giác của α không chỉ xác định độ lớn mà cịn xác định dấu của góc α, từ đó thể hiện đầy đủ trạng thái cho q trình học của tác nhân. Ở vị trí ban đầu, các giá trị trạng thái lần lượt là:

31 Hình 23. Sơ đồ thuật tốn học tăng cường trong Simulink

3.3.3 Thiết kế cấu trúc và tham số của SAC Agent

Tác nhân SAC được xây dựng với hai mạng neuron là mạng Critic và mạng Actor với tham số độc lập. Trong đó:

- Mạng Critic được xây dựng với cấu trúc hai đầu vào và một đầu ra. Đầu vào là trạng thái (6 unit ứng với 6 trạng thái quan sát) và hành động (1 unit), đầu ra là giá trị Q ước lượng. Mạng gồm 8 lớp ẩn bao gồm: 2 lớp feature input layer, 4 lớp fully connected layer và 2 lớp relu layer. Lớp feature input layer lần lượt có có 5 và 1 units. 3 lớp fully connected layer đầu tiên lần lượt có 400, 300, 300 và lớp cuối cùng có 1 units ở đầu ra. Hàm kích hoạt Relu được sử dụng cho toàn bộ các lớp của mạng Critic. Hệ số học của mạng Critic là 0.001

32 - Mạng Actor được xây dựng với cấu trúc một đầu vào và một đầu ra. Đầu

vào là trạng thái và hành động, đầu ra là giá trị Q ước lượng. Mạng gồm 8 lớp ẩn bao gồm: 1 lớp feature input layer, 5 lớp fully connected layer ,3 lớp relu layer và 1 lớp concatenation layer ở đầu ra. Lớp feature input layer có 5, 3 lớp fully connected layer lần lượt có 400, 300, 300 units, 2 lớp cuối cùng ở gần đầu ra lần lượt đều có 1 unit. Hàm kích hoạt Relu được sử dụng cho toàn bộ các lớp của mạng Critic. Hệ số học của mạng Actor là 0.001

Hình 25. Cấu trúc mạng Actor

Từ mạng Critic và Actor, SAC Agent được tạo với các tham số sau:

Bảng 2.Bảng tham số SAC Agent

Tham số Giá trị

Target Smooth Factor 0.001

Mini Batch Size 128

Experience Buffer 1000000

Sample Time 0.02

Discount Factor 0.99

Phương sai mơ hình nhiễu 0.4 Tốc độ suy giảm phương sai 0.00001

33 3.3.4 Hàm Reward và các tham số huấn luyện

Quá trình học của tác nhân được mô phỏng thành từng tập, mỗi tập bao gồm các bước lặp. Ở mỗi bước lặp, môi trường sẽ gửi về tác nhân điểm thưởng 𝑟𝑡 được xác định như sau: 2 . 2 0.1( )2 0.1 100, 6 2 0, r F and F otherwise                       

Mỗi tập sẽ diễn ra đến khi có tín hiệu hủy bỏ (Góc quay θ và vận tốc quay của cánh tay động cơ quá giới hạn đã được định sẵn). Sau khi kết thúc một lần huấn luyện thuật tốn, tổng phần thưởng tích lũy từ trạng thái đầu tiên đến trạng thái cuối cùng. Q trình huấn luyện thuật tốn kết thúc khi 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 trong bài tốn này được diễn ra với các tham số sau:

Bảng 3. Bảng tham số quá trình huấn luyện

Tham số Giá trị

Số tập tối đa 10000

Số bước lặp tối đa trong mỗi tập 500

Tiêu chí dừng Phần thưởng trung bình của 5 tập liên

tiếp lớn hơn hoặc bằng 7000

Tiêu chí hủy tập |𝜃𝑡| > 20 rad hoặc |𝜃̇𝑡| > 20 rad/s

3.4 Thiết kế và mô phỏng trên Matlab – Simulink

Sau khi thực hiện huấn luyện SAC Agent và so sánh với quá trình huấn luyện DDPG Agent trên Matlab với cùng mơ hình, nhóm thu được q trình huấn luyện như sau:

34 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 mất hơn 120 episodes đầu tiên để khám phá mơi trường, cịn với DDPG là hơn 250 episodes.

 Quá trình huấn luyện SAC ổn định hơn so với DDPG, hiệu suất huấn luyện SAC đã có xu hướng tăng và đạt được tiêu chí dừng sau 178 episodes, với DDPG mặc dù đã hết số episodes nhưng vẫn chưa đạt được tiêu chí dừng.

35 hiệu quả so với DDPG

Sau khi đã huấn luyện thành công, SAC Agent được sử dụng để điều khiển con lắc ngược mô phỏng và thu được kết quả sau:

Hình 28: Kết quả góc(sensor 2),(sensor 1) thu được khi chạy mô phỏng

Hình 29: Kết quả . (sensor 3) và . (sensor 4)

36

Hình 30: Kết quả điện áp đặt vào động cơ

37 Hình 32 Góc  và khi dùng bộ điều khiển LQR

38 Nhận xét kết quả mô phỏng:

 Từ kết quả mơ phỏng cho thấy góc cánh tay quay và góc con lắc ngược . Tại giây đầu tiên, con lắc ngược quay đang trong q trình lật ngược. Sau đó, ở trạng thái cân bằng, con lắc ngược được giữ tại vị trí thẳng đứng trong khoảng thời gian cịn lại.

 Giá trị điện áp đặt vào động cơ không vượt quá 12V về mặt thực tế đảm bảo an toàn cho động cơ

 So với bộ điều khiển truyền thống (LQR) thì bộ điều khiển được đề xuất ở đây làm thời gian đáp ứng của theta và alpha nhanh hơn (2s với bộ điều khiển đề xuất và 5s-8s của bộ điều khiển LQR)

39 CHƯƠNG 4. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Nhìn lại những kết quả đã đạt được trong quá trình làm đồ án, chúng em nhận thấy đã cơ bản đạt được những mục tiêu ban đầu đặt ra là thiết kế và xây dựng hồn chỉnh một hệ thống điều khiển cho mơ hình con lắc ngược.

Từ những kết quả đã đạt được và qua quá trình nghiên cứu tài liệu khi thực hiện đồ án, chúng em xin được đề xuất các hướng phát triển tiếp theo của đồ án này:

- Thực thi phương án này trên thiết bị thực tế thông qua các vi điều khiển chuyên dụng.

- Sử dụng thêm các thuật toán học tăng cường phức tạp hơn như á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 có thể nhận được nhiều lời đóng góp ý kiến của thầy cơ và các bạn cho đồ án của chúng em. Và mong rằng đề tài này của chúng em trong tương lai sẽ được phát triển tiếp để hoàn thiện hơn nữa, với nhiều giải thuật điều khiển thú vị và tốt hơn nữa được đưa ra.

40

1. 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 trong điều khiển Tự động với Matlab và Simulink, Hà Nội: Nhà xuất bản Bách khoa Hà Nội, 2020.

[3] N. D. Phước, Tối ưu hóa trong điều khiển và điều khiển tối ưu., Hà Nội: Nhà xuất bản 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 bản Khoa học & Kỹ thuật, 2005.

[5] Nguyễn Viết Quý, Phạm Văn Tiến, "Thiết kế và điều khiển mơ hình con 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.

Một phần của tài liệu ĐỒ ÁN TỐT NGHIỆP Điều khiển con lắc ngược sử dụng phương pháp học tăng cường (Trang 36)

Tải bản đầy đủ (PDF)

(47 trang)