1. Trang chủ
  2. » Luận Văn - Báo Cáo

ĐỒ á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

47 4 0

Đ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

Thông tin cơ bản

Tiêu đề Điều khiển con lắc ngược sử dụng phương pháp học tăng cường
Tác giả Mai Việt Phương
Người hướng dẫn PGS. TS. Chu Đức Việt
Trường học Đại học Bách Khoa Hà Nội
Chuyên ngành KT Điều khiển & Tự động hóa
Thể loại đồ án tốt nghiệp
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 47
Dung lượng 2,41 MB

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN (8)
    • 1.1 Đặt vấn đề (8)
    • 1.2 Đối tượng thực tế (9)
    • 1.3 Mục tiêu và giới hạn của đồ án (10)
    • 1.4 Phương pháp nghiên cứu (11)
    • 1.5 Nội dung luận văn (12)
  • CHƯƠNG 2. MÔ HÌNH HÓA ĐỐI TƯỢNG THỰC TẾ (12)
    • 2.1 Xây dựng mô hình toán học (13)
    • 2.2 Xây dựng mô hình Simulink và Simscape (16)
  • CHƯƠNG 3. THIẾT KẾ VÀ CÁC KIỂM NGHIỆM BỘ ĐIỀU KHIỂN (19)
    • 3.1 Thiết kế bộ điều khiển vòng trong (19)
    • 3.2 Cơ sở lý thuyết (23)
      • 3.2.3 Các thuật toán cơ bản của Reinforcement Learning (26)
        • 3.2.3.1 Thuật toán Q – Learning (26)
        • 3.2.3.2 Thuật toán SARSA (27)
        • 3.2.3.3 Thuật toán Deep Q – Network (DQN) (27)
        • 3.2.3.4 Thuật toán Policy Gradient (29)
        • 3.2.3.5 Thuật toán Actor – Critic (30)
        • 3.2.3.6 Thuật toán Deep Deterministic Policy Gradient (31)
        • 3.2.3.6 Thuật toán Soft Actor-Critic (0)
    • 3.3 Thiết kế bộ điều khiển vòng ngoài (36)
      • 3.3.2 Thiết kế môi trường và trạng thái (37)
      • 3.3.3 Thiết kế cấu trúc và tham số của SAC agent (38)
      • 3.3.4 Hàm Reward và các tham số huấn luyện (40)
    • 3.4 Mô phỏng trên Matlab – Simulink (0)
  • CHƯƠNG 4. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (12)

Nội dung

TỔNG QUAN

Đặt vấn đề

Lý thuyết điều khiển phi tuyến đã được áp dụng thành công trong công nghiệp và thiết bị dân dụng, nhưng gặp khó khăn với các hệ thống phi tuyến mà mô hình toán học khó xác định Đặc biệt, những hệ thống có mô hình thay đổi và chịu ảnh hưởng của nhiễu càng làm cho việc áp dụng lý thuyết trở nên phức tạp Tuy nhiên, sự phát triển đáng kể của lý thuyết điều khiển phi tuyến đã cung cấp nền tảng toán học cần thiết để thiết kế các bộ điều khiển chất lượng.

Các lý thuyết điều khiển phi tuyến được chia thành hai nhóm chính: lý thuyết điều khiển kinh điển và hiện đại Lý thuyết điều khiển kinh điển dựa vào việc tuyến tính hóa đặc tuyến quanh điểm làm việc, sau đó áp dụng các phương pháp cho hệ tuyến tính Tuy nhiên, lý thuyết này bộc lộ nhiều yếu điểm về chất lượng và độ tin cậy khi áp dụng cho hệ phi tuyến, đặc biệt là khi đối tượng điều khiển có mô hình toán học không rõ ràng hoặc bị ảnh hưởng bởi nhiễu.

Nhóm phương pháp điều khiển hiện đại bao gồm các kỹ thuật như điều khiển bằng giải thuật mờ, giải thuật di truyền, mạng thần kinh nhân tạo và thuật toán học tăng cường (Reinforcement Learning) Tác tử trong học tăng cường ban đầu chưa có tri thức về hệ thống, mà tri thức này dần được hình thành qua các quá trình huấn luyện Tác tử được huấn luyện thông qua các tương tác với môi trường, bao gồm kích thích đầu vào và đáp ứng đầu ra của hệ thống Khi đưa vào thuật toán các kích thích, nó sẽ tạo ra các đáp ứng tương ứng, và những đáp ứng phù hợp sẽ được lưu giữ trong giai đoạn học Khi tri thức đã được hình thành, tác tử học tăng cường có thể được sử dụng để điều khiển hệ thống mà nó đã học.

Hệ con lắc ngược quay là một hệ thống không ổn định với ít ngõ vào điều khiển hơn số bậc tự do Hệ thống này có hai điểm cân bằng: điểm cân bằng thẳng đứng hướng lên (vị trí lật ngược) và điểm cân bằng thẳng đứng hướng xuống dưới (vị trí buông thõng) Trong đó, vị trí lật ngược là điểm cân bằng không ổn định Bài toán đặt ra là thiết kế hệ thống điều khiển bao gồm hai phần: đưa con lắc từ vị trí buông thõng lên vị trí lật ngược và giữ con lắc ổn định tại vị trí lật ngược.

Con lắc ngược là một ví dụ điển hình cho các hệ thống phi tuyến và không ổn định So với con lắc ngược tịnh tiến, con lắc ngược quay với một bậc tự do có lợi thế về cấu trúc cơ khí đơn giản hơn, giúp dễ dàng trong việc thiết kế và xây dựng các bộ điều khiển.

Hệ thống con lắc ngược quay một bậc tự do bao gồm ba phần chính: cơ khí, điện tử và chương trình Phần cơ khí gồm một thanh kim loại (con lắc) quay quanh trục thẳng đứng, được gắn với cánh tay ngang thông qua cảm biến đo góc, trong khi đầu còn lại của cánh tay kết nối với trục quay của động cơ DC Động cơ DC được đặt thẳng đứng, cho phép cánh tay quay trong mặt phẳng nằm ngang Để đảm bảo hoạt động ổn định và tránh rung lắc gây hư hỏng, thiết kế phần cơ khí cần tính toán chính xác và chắc chắn Phần điện tử gồm ba thành phần chính: cảm biến đo góc cho cánh tay và con lắc, mạch khuyếch đại công suất và mạch điều khiển, trong đó cảm biến đóng vai trò quan trọng, cung cấp thông tin về vị trí và hướng của cánh tay và con lắc cho bộ điều khiển.

Đối tượng thực tế

Hình 1: Mô hình thực tế hệ con lắc ngược

Bảng 1 Thông số các thiết bị trong hệ con lắc ngược STT Tên thiết bị Thông số

 Đầu ra dạng NPN open collector

 Đầu ra dạng Totem pole

Mục tiêu và giới hạn của đồ án

Từ mô tả bài toán ở mục 1.1, có thể thấy mục tiêu điều khiển của ta là giải quyết hai bài toán sau:

- Bài toán điều khiển swing-up: đưa được con 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ằng trên

- Bài toán điều khiển cân bằng: duy trì được hệ ổn định quanh vị trí cân bằng dù chịu tác động của ngoại lực

Hay nói cách khác là ta phải đưa

Trong hệ thống con lắc ngược quay, vị trí và tốc độ của góc cánh tay động cơ và con lắc được xác định bởi các biến số cụ thể Hệ này chỉ có một cơ cấu chấp hành duy nhất là động cơ, điều này tạo ra những thách thức và cơ hội riêng trong việc điều khiển và tối ưu hóa hoạt động của nó.

Trong hệ thống điều khiển DC, chỉ có một biến điều khiển là điện áp động cơ (u motor), trong khi có tới bốn biến ra cần điều khiển Để giải quyết vấn đề này, chúng ta sẽ xây dựng một bộ điều khiển nối tầng hoạt động trong cả hai giai đoạn Quá trình hoạt động bắt đầu khi con lắc ở vị trí thẳng đứng hướng xuống; bộ điều khiển vòng ngoài sẽ kích hoạt để con lắc dao động cho đến khi nó gần đến vị trí cân bằng trên (α = 180 ± 30 độ) Khi đó, bộ điều khiển sẽ hoạt động để đưa con lắc về vị trí cân bằng và duy trì sự ổn định tại đó, trong khi cánh tay động cơ ở một góc khác ngoài 0 Cuối cùng, bộ điều khiển vòng trong sẽ giữ cho góc của con lắc ổn định ở vị trí cân bằng trên trong khi cánh tay động cơ di chuyển về vị trí góc 0.

Hình 2: Minh họa cách hoạt động của cả hệ thống khi có bộ điều khiển

Chi tiết cách xây dựng từng bộ điều khiển sẽ được trình bày ở các chương sau

Giới hạn của đề tài chỉ thiết kế và điều khiển mô hình con lắc ngược quay giữ cân bằng dùng mạng Soft Actor-Critic (SAC).

Phương pháp nghiên cứu

 Khảo sát, phân tích tổng hợp

 Mô phỏng trên máy tính bằng phần mềm Matlab phiên bản 2021a

Nhóm sinh viên đã tiến hành thí nghiệm trên mô hình thực tại phòng thí nghiệm D8 – 905, trường Đại học Bách khoa Hà Nội và thu thập dữ liệu từ các thí nghiệm này.

 Đánh giá kết quả dựa trên kết quả mô phỏng và thực nghiệm.

Nội dung luận văn

Phần còn lại của nội dung luận văn bao gồm:

MÔ HÌNH HÓA ĐỐI TƯỢNG THỰC TẾ

Xây dựng mô hình toán học

Hình 3 Mô hình đơn giản hệ con lắc ngược quay

Hệ con lắc ngược Furuta bao gồm một tay quay nằm ngang (OA) với chiều dài l0, gắn vuông góc với trục động cơ Khi động cơ quay, tay quay sẽ chuyển động trong mặt phẳng ngang Con lắc có khối lượng m và chiều dài 2l1, được gắn tại điểm A, cho phép nó quay linh hoạt trong mặt phẳng vuông góc với OA.

Một số đại lượng khác cần quan tâm:

 J 0 : momen quán tính của tay quay với trục quay qua tâm O 

 J 1 : momen quán tính của con lắc với khối tâm B 

 b 0 : hệ số ma sát của trục động cơ 

Hệ số ma sát của trục con lắc được xác định trong hệ tọa độ Oxyz cố định Trong đó, các góc θ và α được sử dụng như các hệ tọa độ suy rộng Khi cánh tay quay tạo một góc θ so với trục, các yếu tố liên quan đến ma sát và chuyển động của trục con lắc cần được xem xét.

Ox, thì con lắc rời đi một góc α so với phương thẳng đứng

Giả sử trọng lực của con lắc đặt tại điểm giữa B Tọa độ khối tâm B của con lắc là:

(PT 2.1) Đạo hàm hai vế của PT 2.1 ta được:

Suy ra được vận tốc của khối tâm B của con lắc:

(PT 2.3) Động năng của hệ

K  2 J   J   mv (PT 2.4) Thay PT 2.3 vào PT 2.4 thu được

K  J  ml  ml    J  ml   m l l    (PT 2.5) Chọn mốc thế năng T = 0 tại vị trí cao nhất của con lắc ngược

Ta có thế năng của hệ được tính như sau:

Từ PT 2.5 và PT 2.6 ta có được công thức hàm Lagrange:

L  K T   J  ml  ml    J  ml   m l l     mgl   (PT2.7)

Gọi τ là momen tác dụng của động cơ Áp dụng công thức : i ( ) i i

Ta có hệ phương trình động lực học sau:

Hệ phương trình 2.8 có thể viết dưới dạng:

Từ (PT 2.9) ta có thể viết thành dạng:

Xây dựng mô hình Simulink và Simscape

Dựa trên mô hình phi tuyến và phương án điều khiển đã phát triển, chúng tôi đã xây dựng mô hình đối tượng và cấu trúc hệ thống điều khiển trên Simulink Để đảm bảo tính chính xác, một số giả thiết đã được áp dụng nhằm phản ánh sát nhất với thực tế.

Các giả thiết sử dụng:

- Góc của cánh tay động cơ là 0 radian khi cánh tay hướng nằm ngang và hướng về phía trước (ngược chiều kim đồng hồ là chiều dương)

- Góc của con lắc là 0 radian khi con lắc hướng thẳng đứng xuống dưới (ngược chiều kim đồng hồ là chiều dương)

- Đầu vào của mô hình đối tượng là tín hiệu điện áp một chiều cấp cho động cơ Giá trị điện áp nằm trong khoảng –12 đến 12 V

- Các góc và vận tốc góc của con lắc và động cơ được đo bằng các cảm biến

 Cấu trúc hệ thống điều khiển cho hệ con lắc ngược được mô phỏng trên Simulink như sau:

Hình 4 Sơ đồ hệ thống điều khiển trên Simulink

 Mô hình đối tượng con lắc (trong khối Rotary Inverted Pendulum) được thể hiện như sau:

Hình 5 Sơ đồ mô tả hệ con lắc ngược trên Simulink

 Sử dụng Simscape, nhóm xây dựng được mô hình như sau:

Hình 6 Mô hình Simscape trong Simulink

Hình 7 Mô phỏng mô hình Simscape trong Simulink

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

Thiết kế bộ điều khiển vòng trong

Bộ điều khiển vòng trong có nhiệm vụ duy trì sự ổn định của con lắc xung quanh vị trí cân bằng, đồng thời điều chỉnh góc của cánh tay động cơ về vị trí 0.

Với động cơ DC ta có hệ phương trình mô tả:

Do đó ta có thể biểu diễn cả hệ dưới dạng: x F x u  ( , motor ) với

Hệ con lắc ngược có hai điểm làm việc quan trọng: điểm không mong muốn khi α = 0 và điểm mong muốn khi α = 180 Để thiết kế bộ điều khiển vòng trong hiệu quả, cần phải tuyến tính hóa mô hình của hệ thống quanh hai điểm làm việc này.

Ta biết rằng 1 hệ phi tuyến có dạng:

, x   n có thể tuyến tính hóa quanh điểm làm việc ( , ) x u 0 0 dựa theo công thức: x 1  Ax 1  Bu 1 Trong đó: x 1  x t ( )  x 0 , u 1  u t ( )  u 0

Do đó từ (PT 2.10) ta có mô hình tuyến tính

, ta có hệ tuyến tính:

Dùng phương pháp gán điểm cực, chọn lần lượt các điểm cực ( 1 2 ; 1.5 2 ; 2)   i   i  ta được bộ điều khiển phản hồi trạng thái: u motor  K x 1 với K 1  ( 0.162; 40;0.0356; 2;0)  

, ta có hệ tuyến tính:

Dùng phương pháp gán điểm cực, chọn lần lượt các điểm cực ( 1 2 ; 1.5 2 ; 2)   i   i  ta được bộ điều khiển phản hồi trạng thái: u motor  K x 2 với K 2  ( 0.162; 40;0.0356; 2;0)

Bộ điều khiển K 1 được sử dụng khi

Trong trường hợp còn lại, ta sử dụng các giá trị K1 và K2 Để duy trì góc của con lắc ổn định quanh vị trí cân bằng trong quá trình đưa góc của cánh tay động cơ về vị trí 0, cần thiết phải thiết lập đầu ra của bộ điều khiển (θ, θ) làm giá trị đặt cho bộ điều khiển (α, α).

Hình 8: Cấu trúc của bộ điều khiển vòng trong Ở đây chúng em giả sử điều kiện ban đầu: 0 0 0 0 0 0 160 0 0 0

Hình 9: Kết quả mô phỏng góc  với điều kiện ban đầu đã cho

Hình 10: Kết quả mô phỏng góc  khi điều kiện ban đầu đã cho

Cơ sở lý thuyết

“Machine learning (ML) is a process whereby a computer program learns from experience to improve its performance at a specified task” (Kiran, 2020)

Machine learning (học máy) là kỹ thuật cho phép máy tính tự học và đưa ra quyết định mà không cần quy tắc cụ thể Hiện nay, machine learning đang thu hút sự chú ý lớn và được ứng dụng rộng rãi trong nhiều lĩnh vực như mạng xã hội, thương mại điện tử và marketing, tạo ra giá trị to lớn cho các dịch vụ này.

Hình 11 Mối liên hệ giữa AI, Machine Learning và Deep Learning

Các thuật toán học máy được chia thành ba loại chính: học có giám sát (supervised learning), học không giám sát (unsupervised learning) và học tăng cường (reinforcement learning) Học có giám sát sử dụng dữ liệu đã được gắn nhãn để xác định mối quan hệ giữa đầu vào và đầu ra, trong khi học không giám sát chỉ làm việc với dữ liệu không có gán nhãn, nhằm khám phá và mô tả cấu trúc của dữ liệu Học tăng cường, loại thứ ba, tập trung vào việc tối ưu hóa hành động của một tác tử trong môi trường để đạt được phần thưởng cao nhất, mà không cần dựa vào các cặp dữ liệu gán nhãn hay đánh giá hành động là đúng hay sai.

Reinforcement learning là một lĩnh vực trong machine learning, tập trung vào việc huấn luyện các mô hình học máy để đưa ra chuỗi quyết định Tác nhân trong reinforcement learning học cách đạt được mục tiêu trong môi trường không chắc chắn và phức tạp.

Hình 12 3 loại chính của Machine Learning

Mục tiêu chính của học tăng cường là tìm ra trình tự hành động tối ưu nhằm đạt được kết quả tốt nhất, thay vì chỉ phân loại hay dán nhãn dữ liệu Để đạt được điều này, học tăng cường sử dụng một thành phần quan trọng gọi là tác nhân (Agent), có nhiệm vụ khám phá, tương tác và học hỏi từ môi trường xung quanh.

Mỗi tác nhân trong môi trường đều có một hàm gọi là chính sách, giúp nhận đầu vào từ môi trường và tính toán để đưa ra các hành động tương tác phù hợp.

Khi tác nhân tương tác với môi trường, nó nhận phần thưởng tương ứng với hành động của mình, tương tự như khái niệm hàm phạt trong điều khiển tối ưu Hành động đúng sẽ mang lại phần thưởng lớn, trong khi hành động sai có thể dẫn đến phần thưởng thấp hoặc điểm phạt Dựa vào mức thưởng này, tác nhân sẽ tích lũy "kinh nghiệm" cho các lần hoạt động tiếp theo.

Hình 13 Tương tác giữa tác nhân học tăng cường và môi trường

Nếu chúng ta có khả năng xây dựng một chính sách tối ưu nhằm tạo ra những ảnh hưởng tích cực cho cơ cấu chấp hành tại mỗi trạng thái, thì nhiệm vụ thiết kế có thể được coi là đã hoàn tất.

Thiết kế chính sách tối ưu không phải là điều dễ dàng, vì môi trường bên ngoài luôn thay đổi, ảnh hưởng đến các phản ứng Để đạt được chính sách hoàn hảo, cần điều chỉnh dựa trên hành động đã thực hiện, phản hồi từ môi trường và phần thưởng thu được Nguyên lý này chính là cốt lõi của các thuật toán học tăng cường.

3.2.2 Mối liên hệ giữa điều khiển truyền thống và điều khiển học tăng cường (Reinforcement Learning)

Mục tiêu của hệ thống điều khiển là tính toán các đầu vào điều khiển nhằm tạo ra đáp ứng mong muốn, với bộ điều khiển sử dụng trạng thái phản hồi để nâng cao chất lượng hệ thống Kỹ sư thiết kế dựa vào thông tin phản hồi cùng với mô hình hệ thống và môi trường để phát triển bộ điều khiển Trong khi điều khiển truyền thống và học tăng cường có mục tiêu tương tự, cách thực hiện lại khác nhau; học tăng cường yêu cầu một quá trình học qua tương tác với môi trường mà không cần biết mô hình cụ thể Phương pháp này thường được áp dụng cho các hệ thống có mô hình bất định hoặc có số lượng trạng thái và hành động lớn.

Câu trả lời cho việc máy học như nào nằm ở cách thức xây dựng chính sách

Chính sách trong học máy có thể được xem như một hàm toán học dựa trên thuật toán với các tham số có thể điều chỉnh Mỗi chính sách sẽ tương ứng với một tập hợp các tham số giúp tối ưu hóa hành động Nhiệm vụ của việc học là điều chỉnh các tham số này một cách hệ thống để tiến gần đến giá trị tối ưu Quá trình này được thực hiện bởi máy tính thông qua các thuật toán trong phần 3.2.3 về các thuật toán cơ bản của Reinforcement Learning.

Hình 14 Hệ thống các phương pháp học tăng cường

Q-learning là một thuật toán học-tăng-cường off policy (off policy reinforcement learning algorithm) Cụ thể, q-learning học để tìm ra được một chiến lược (policy) có thể tối đa hoá được tổng phần thưởng (maximizes the total reward)

Để thực hiện thuật toán Q-Learning, cần tạo một bảng Q (Q-table), là ma trận có chiều [trạng thái, hành động] Sau khi khởi tạo giá trị 0 cho ma trận, các giá trị Q sẽ được cập nhật và lưu trữ vào Q-table sau mỗi tập (episode), từ khi tác nhân bắt đầu học cho đến khi gặp điểm kết thúc Bảng Q này trở thành tài liệu tham khảo để tác nhân chọn hành động tốt nhất dựa trên giá trị Q.

Các cập nhật diễn ra sau mỗi hành động và kết thúc khi một tập (episode) hoàn thành, nghĩa là tác nhân đã đạt đến điểm cuối (terminate) Trạng thái cuối này có thể là việc truy cập trang thanh toán, hoàn thành trò chơi, hoặc đạt được các mục tiêu cụ thể Mặc dù tác nhân không thể học được nhiều chỉ sau một tập, nhưng với đủ sự khám phá qua nhiều bước và tập, nó sẽ hội tụ và tìm ra các giá trị q tối ưu, hay còn gọi là q*.

SARSA (State Action Reward State Action) là một thuật toán nhằm tối ưu hóa giá trị tích lũy cho hành động, tương tự như Q-Learning, nhưng kế thừa các khái niệm về học online và model-free từ Q-Learning, đặc biệt là Q-Table Sự khác biệt chính giữa hai thuật toán này là Q-Learning thuộc nhóm off-policy, trong khi SARSA thuộc nhóm on-policy.

Hình 16 Khác biệt giữa SARSA và Q – Learning

3.2.3.3 Thuật toán Deep Q – Network (DQN)

DQN kế thừa các đặc tính của Q-Learning và là một mô hình Model-Free, học online, thuộc nhóm thuật toán off-policy Để khắc phục các vấn đề về bộ nhớ của Q-Learning và SARSA, DQN đã loại bỏ mảng hai chiều Q-Table và thay vào đó sử dụng một mạng neuron để xấp xỉ bảng Q-Table.

Hình 17 Từ Q - learning đến DQN

Mô phỏng trên Matlab – Simulink

Nhóm sinh viên đã thực hiện các thí nghiệm trên mô hình thực tại phòng thí nghiệm D8 – 905, trường Đại học Bách khoa Hà Nội, nhằm thu thập dữ liệu quan trọng.

 Đánh giá kết quả dựa trên kết quả mô phỏng và thực nghiệm

Phần còn lại của nội dung luận văn bao gồm:

Chương 2: Mô hình hóa đối tượng thực tế

Chương này trình bày các bước xây dựng phương trình hệ thống động lực học, xây dựng mô hình Simulink và mô hình Simscape trong phần mềm Matlab

Chương 3: Thiết kế và kiểm nghiệm mô phỏng bộ điều khiển sử dụng Reinforcement Learning

Bài viết này giới thiệu cơ sở lý thuyết về Reinforcement Learning và thuật toán SAC, cùng với các kỹ thuật huấn luyện và quy trình thực hiện Ngoài ra, nó cũng trình bày các thiết lập thiết kế và mô phỏng thuật toán trên Matlab và Simulink, đồng thời đánh giá và so sánh kết quả với các bộ điều khiển khác.

Ngày đăng: 24/12/2023, 14:08

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w