1. Trang chủ
  2. » Giáo Dục - Đào Tạ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 17 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 đề Thiết kế hệ thống điều khiển hệ con lắc ngược quay bằng thuật toán Reinforcement Learning
Tác giả Mai Việt Phương
Người hướng dẫn PGS. TS. Chu Đức Việt
Trường học Trường Đạ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Ế (13)
    • 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 (46)

Nội dung

TỔNG QUAN

Đặt vấn đề

áp dụng rất thành công trong các quá trình công nghiệp cũng như trong các thiết bị dân dụng Tuy nhiên, các lý thuyết này không hiệu quả đối với các hệ thống phi tuyến mà không thể hoặc khó xác định chính xác mô hình toán học, nhất là đối với những hệ thống có mô hình toán học thay đổi và chịu tác động của nhiễu Bên cạnh đó, lý thuyết điều khiển phi tuyến cũng đã có những bước phát triển đáng kể Từ đó chúng ta có nền tảng toán học cần thiết để thiết kế những bộ điều khiển đạt chất lượng

Các lý thuyết được áp dụng thành công để điều khiển các hệ phi tuyến được chia thành hai nhóm chính: lý thuyết điều khiển kinh điển và lý thuyết điều khiển hiệ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 của hệ thống xung quanh điểm làm việc, sau đó áp dụng các 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ộ ra những yếu điểm về chất lượng cũng như độ tin cậy khi đối tượng điều khiển là hệ phi tuyến, và nhất là những đối tượng không rõ hoặc khó xác định chính xác mô hình toán học, cũng như chịu tác động của nhiễu

Nhóm phương pháp điều khiển hiệ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 khi mới hình thành còn chưa có tri thức về hệ thống, tri thức của mạng hình thành dần sau mỗi quá trình huấn luyện Tác tử được huấn luyện bằng các tương tác với môi trường, bao gồm kích thích ngõ vào và đáp ứng ngõ ra của hệ thống Ta đưa vào đầu thuật toán những kích thích, thuật toán sẽ hình thành những đáp ứng tương ứng ở ngõ ra, đáp ứng phù hợp với từng loại kích thích sẽ được lưu giữ, giai đoạn này được gọi là giai đoạn học của mạng Khi đã hình thành tri thức, chúng ta có thể dùng tác tử học tăng cường để điều khiển hệ thống mà nó được học

Hệ con lắc ngược quay là một hệ thống không ổn định và có ít ngõ vào điều khiển hơn số bậc tự do Hệ thống 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 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à đối tượng đại diện cho lớp các đối tượng có độ phi tuyến cao và không ổn định So sánh với con lắc ngược tịnh tiến, con lắc ngược quay một bậc tự do có ưu điểm là hệ thống cơ khí không quá phức tạp do vậy hệ thống được sử dụng rộng rãi trong việc giảng dạy và nghiên cứu lý thuyết điều khiển tự động cũng như 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 3 phần chính: phần cơ khí, phần điện tử và phần chương trình Phần cơ khí bao gồm một thanh kim loại (con lắc) quay quanh một trục thẳng đứng Thanh kim loại được gắn gián tiếp với đầu của một cánh tay nằm ngang thông qua một cảm biến để đo góc, đầu còn lại của cánh tay được gắn vào trục quay của một động cơ DC Động cơ DC đặt thẳng đứng để cánh tay có thể quay trong một mặt phẳng nằm ngang.Do trong quá trình vận hành cánh tay sẽ quay với tốc độ cao nên phần cơ khí cần phải được tính toán thiết kế chính xác, chắc chắn nhằm tránh rung gây nhiễu và hư hỏng trong quá trình vận hành Phần điện tử gồm 3 phần nhỏ là: cảm biến đo góc cánh tay và con lắc, mạch khuyếch đại công suất và mạch điều khiển Phần cảm biến đóng vai trò hết sức quan trọng, nó sẽ cung cấp cho bộ điều khiển: vị trí, hướng của cánh tay và con lắc.

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

Đối tượng được nghiên cứu trong đồ án này là hệ con lắc ngược quay (con lắc ngược Furuta) Thông số các thiết bị được cho trong bảng 1

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

  Với    , , , lần lượt là vị trí, tốc độ của góc cánh tay động cơ và con lắc Đối với hệ con lắc ngược quay vì chỉ có một cơ cấu chấp hành là động cơ

DC nên chỉ có một biến điều khiển được là điện áp động cơ (u motor ) trong khi có tới 4 biến ra cần điều khiển (   , , , ) Vì vậy để xử lý cả hai bài toán trên 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 Cụ thể quá trình hoạt động của hệ thống như sau: ban đầu con lắc ở vị trí thẳng đứng hướng xuống, khi bắt đầu chạy, bộ điều khiển vòng ngoài hoạt động khiến con lắc dao động, cho đến khi vị trí con lắc đến vùng lân cận vị trí cân bằng trên (180 30 độ) thì bộ điều khiển bắt đầu hoạt động để đưa con lắc tới vị trí cân bằng và duy trì nó ổn định tại đó và cánh tay động cơ sẽ ở vị trí nào đó khác góc 0 Sau đó bộ điều khiển vòng trong có nhiệm vụ duy trì góc của con lắc ổn định ở vị trí cân bằng trên trong quá trình 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

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

 Đá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:

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

Phần đầu chương trình bày cơ sở lý thuyết về Reinforcement Learning và thuật toán SAC, các kỹ thuật huấn luyện và quy trình thực hiện thuật toán Phần sau chương trình bày các thiết lập về thiết kế và mô phỏng thuật toán trên Matlab và Simulink, đánh giá và so sánh kết quả với các bộ điều khiển khác

Chương 4: Kết luận và hướng phát triển

Trong chương này, nhóm sinh viên tóm tắt kết quả đạt được trong đồ án và phát triển đề tài.

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 (chỉ gồm phần cơ khí) được mô tả một cách đơn giản như trong hình 3 Hệ bao gồm: một tay quay (OA) nằm ngang, chiều dài l0 được gắn vuông góc với trục động cơ, khi động cơ quay sẽ khiến thanh này quay trong mặt phẳng nằm ngang; con lắc có khối lượng m, chiều dài 2l1, gắn tại A và có thể 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ơ.

 b1: hệ số ma sát của trục con lắc. Xét trong hệ tọa độ Oxyz cố định như hình 2.1, θ và α được sử dụng là các hệ tọa độ suy rộng Tại một thời điểm, khi cánh tay quay được một góc θ so với trục

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

Từ mô hình phi tuyến tìm được và phương án điều khiển đã đề ra, ta xây dựng được mô hình đối tượng và cấu trúc hệ thống điều khiển trên Simulink như dưới đây và sử dụng một số giả thiết để mô hình có thể 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

- Nhiệm vụ của bộ điều khiển vòng trong là khi góc của con lắc ổn định quanh lân cận cân bằng nó sẽ duy trì điều đó trong quá trình đưa 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

- Đối với hệ con lắc ngược quay hệ thống có 2 điểm làm việc: một điểm làm việc khi 0(vị trí không mong muốn) và 180(vị trí mong muốn).Vì vậy để có thể thiết kế bộ điều khiển vòng trong ta cần tuyến tính hóa mô hình của hệ quanh 2 điểm làm việc của hệ là :

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 K1 được sử dụng khi

   và K2 được sử dụng trong trường hợp còn lại Hơn nữa để duy trì góc của con lắc ổn định quanh lân cận cân bằng trong quá trình đưa góc của cánh tay động cơ về vị trí 0, ta cần để đầ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)

Hiểu đơn giản machine learning (học máy) là kỹ thuật giúp cho máy tính có thể tự học và đưa ra quyết định mà không cần phải cài đặt các quy tắc, luật lệ Machine learning đang là lĩnh vực công nghệ được quan tâm nhiều nhất hiện nay Nó ngày càng được ứng dụng vào thực tế cuộc sống, từ các ứng dụng mạng xã hội, thương mại điện tử hay mareting… tạo ra những 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 thường được phân thành 3 loại lớn: supervised learning (học có giám sát), unsupervised learning (học không giám sát) và reinforcement learning (học tăng cường) Nếu như supervised learning là học tập từ một tệp các dữ liệu được gắn nhãn để suy luận ra quan hệ giữa đầu vào và đầu ra, thì unsupervised learning không được cung cấp các dữ liệu được gắn nhãn ấy, thay vào đó chỉ được cung cấp dữ liệu mà thuật toán tìm cách mô tả dữ liệu và cấu trúc của chúng Loại thứ 3 là reinforcement learning - phương pháp tập trung vào việc làm thế nào để cho một tác tử trong môi trường có thể hành động sao cho lấy được phần thưởng nhiều nhất có thể Khác với học có giám sát, học tăng cường không có cặp dữ liệu gán nhãn trước làm đầu vào và cũng không có đánh giá các hành động là đúng hay sai

“Reinforcement learning là đào tạo các mô hình học máy để đưa ra một chuỗi các quyết định Tác tử học cách đạt được mục tiêu trong một môi trường không chắc chắn, có thể là phức tạp.” Đến đây ta có thể thấy, reinforcement learning là một nhánh của machine learning

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

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

Bên trong mỗi tác nhân sẽ có một hàm (ta gọi là chính sách) để nhận các đầu vào từ môi trường để tính toán đưa ra các hành động tương tác môi trường

Khi tương tác với môi trường, tác nhân sẽ nhận lại được một phần thưởng (tương đương với định nghĩa hàm phạt trong điều khiển tối ưu) Nếu hành động tốt sẽ được phần thưởng nhiều, hành động sai sẽ nhận phần thưởng ít (hoặc nhận điểm phạt) Căn cứ vào mức thưởng mà tác nhân sẽ rút ra được “kinh nghiệm” cho các lần hoạt động sau

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 ta có thể thiết kế được một chính sách hoàn hảo để tạo ra những tác động đúng cho cơ cấu chấp hành ở mỗi trạng thái thì công việc thiết kế coi như hoàn thành

Nhưng điều này không dễ dàng bởi vì cho dù có thể thiết kế được chính sách hoàn hảo rồi nhưng môi trường bên ngoài thay đổi thì các phản ứng cũng sẽ khác đi Do đó để có thể có được chính sách tối ưu thì chính sách phải được thay đổi dựa vào hành động đã thực hiện, phản hồi của môi trường và phần thưởng nhận được Đây chính là nguyên lý hoạt động 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 một hệ thống điều khiển là tính toán các đầu vào điều khiển (hành động) cho một hệ thống để tạo ra đáp ứng mong muốn Ở các hệ thống điều khiển phản hồi, bộ điều khiển sử dụng các trạng thái phản hồi để cải thiện chất lượng hệ thống Người kỹ sư thiết kế sử dụng các thông tin phản hồi cùng với mô hình hệ thống và môi trường để thiết kế bộ điều khiển Với điều khiển học tăng cường, mục tiêu và yêu cầu tương tự như điều khiển truyền thống, chỉ khác ở cách thực hiện Với học tăng cường, việc tạo ra tín hiệu điều khiển (hành động) phù hợp chỉ có thể có được sau một quá trình học Quá trình học này được thực hiện bởi máy tính thông qua việc tương tác với môi trường mà không cần biết mô hình cụ thể của đối tượng và môi trường Do vậy, học tăng cường thường được áp dụng trong 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 về bản chất là một hàm toán học được xây dựng dựa trên một thuật toán và có các tham số có thể thay đổi được Với mỗi chính sách được xây dựng, sẽ có một tập các tham số làm cho hành động sinh ra là tối ưu Và nhiệm vụ của việc học là thay đổi các tham số sẵn có một cách có hệ thống để hội tụ dần đến giá trị tối ưu Quá trình học sẽ được máy tính thực hiện thông qua các thuật toán được đề cập ở các phần tiếp theo 3.2.3 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)

Hình 15 Ví dụ về thuật toán Q – Learning và Q – table Để thực hiện thuật toán q-learning, cần tạo một bảng q (q - table) Q- table là một ma trận có chiều là [trạng thái, hành động] ([state, action]) Sau khi khởi tạo giá trị 0 cho ma trận, các giá trị q được cập nhật và lưu trữ vào q-table sau từng tập (episode - bao gồm tất cả các trạng thái được tính từ lúc tác nhân - agent (trong thuật toán Markov) bắt đầu học cho đến khi agent gặp điểm terminate) Bảng q này trở thành bảng tham chiếu để tác nhân (agent) chọn hành động tốt nhất (best action) dựa trên giá trị q (q value)

Các cập nhật xảy ra sau mỗi bước hoặc hành động và kết thúc khi một tập (episode) được hoàn thành Kết thúc trong trường hợp này có nghĩa là tác nhân (agent) đã tới được một số điểm cuối (terminate) Trạng thái cuối (terminate state) có thể là bất kỳ điều gì như truy cập trang thanh toán, đến cuối trò chơi, hoàn thành một số mục tiêu mong muốn, v.v Tác nhân sẽ không học được nhiều chỉ sau một tập, nhưng với đủ sự khám phá (qua nhiều bước (steps) và tập (episode)) nó sẽ hội tụ và tìm được 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 đi tìm giá trị tích lũy tối ưu cho một hành động như Q-Learning, kế thừa những khái niệm về học online, model – free của Q-Learning và quan trọng hơn là Q-Table Khác biệt chính giữa hai thuật toàn nằm ở việc Q-Learning thuộc nhóm thuật toán 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 thừa hưởng moi tính chất của Q – Learning Là mô hình thuộc dạng Model – Free, học online và thuộc nhóm thuật toán off – policy Để giải quyết những vấn đề về bộ nhớ của các thuật toán Q – Learning và SARSA, DQN loại bỏ mảng hai chiều Q – Table, thay vào đó xây dựng một mạng neuron để xấp xỉ bảng Q – Table này

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

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

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

Bộ điều khiển vòng vòng ngoà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”

Do quá trình swing-up con lắc lên vị trí cân bằng trên là quá 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 toán học tăng cường mới có thể xử lý

Hình 22 Cấu trúc bộ điều khiển vòng ngoà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 quá 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à: sin 𝛼 = 0, cos 𝛼 = 1, 𝛼̇ = 0, sin 𝜃 = 0, cos 𝛼 = 1,  = 0

Hình 23 Sơ đồ thuật toá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

Hình 24 Cấu trúc mạng Critic

- 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

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

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:

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 toá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 Quá trình huấn luyện thuật toán kết thúc khi tổng phần thưởng tích lũy đạt tiêu chí dừng Quá trình huấn luyện thuật toán SAC trong bài toá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

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 quá trình huấn luyện như sau:

Hình 26 Quá trình huấn luyện SAC Agent

Hình 27 Quá trình huấn luyện DDPG Agent

 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.

 Vì vậy có thể khẳng định thuật toán SAC ở đây đã chứng minh được tính 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)

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

Hình 31: Góc đặt cho con lắc từ SAC agent và tín hiệu “select-mode”

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

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 quá 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ơ

Mô phỏng trên Matlab – Simulink

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 hoà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.

Ngày đăng: 01/12/2022, 15:19

HÌNH ẢNH LIÊN QUAN

Bảng 1. Thông số các thiết bị trong hệ con lắc ngược - ĐỒ á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
Bảng 1. Thông số các thiết bị trong hệ con lắc ngược (Trang 10)
Hình 2: Minh họa cách hoạt động của cả hệ thống khi có bộ điều khiển - ĐỒ á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
Hình 2 Minh họa cách hoạt động của cả hệ thống khi có bộ điều khiển (Trang 11)
CHƯƠNG 2. MƠ HÌNH HĨA ĐỐI TƯỢNG THỰC TẾ - ĐỒ á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
2. MƠ HÌNH HĨA ĐỐI TƯỢNG THỰC TẾ (Trang 13)
2.2 Xây dựng mơ hình Simulink và Simscape - ĐỒ á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
2.2 Xây dựng mơ hình Simulink và Simscape (Trang 16)
 Mơ hình đối tượng con lắc (trong khối Rotary Inverted Pendulum) được thể hiện như sau: - ĐỒ á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
h ình đối tượng con lắc (trong khối Rotary Inverted Pendulum) được thể hiện như sau: (Trang 17)
Hình 5.Sơ đồ mô tả hệ con lắc ngược trên Simulink - ĐỒ á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
Hình 5. Sơ đồ mô tả hệ con lắc ngược trên Simulink (Trang 17)
Hình 9: Kết quả mơ phỏng góc  với điều kiện ban đầu đã cho - ĐỒ á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
Hình 9 Kết quả mơ phỏng góc  với điều kiện ban đầu đã cho (Trang 22)
Hình 8: Cấu trúc của bộ điều khiển vòng trong - ĐỒ á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
Hình 8 Cấu trúc của bộ điều khiển vòng trong (Trang 22)
Hình 10: Kết quả mơ phỏng góc  khi điều kiện ban đầu đã cho 3.2    Cơ sở lý thuyết   - ĐỒ á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
Hình 10 Kết quả mơ phỏng góc  khi điều kiện ban đầu đã cho 3.2 Cơ sở lý thuyết (Trang 23)
. Hình 11 Mối liên hệ giữa AI, Machine Learning và Deep Learning - ĐỒ á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
Hình 11 Mối liên hệ giữa AI, Machine Learning và Deep Learning (Trang 23)
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 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
Hình 13. Tương tác giữa tác nhân học tăng cường và môi trường (Trang 25)
Hình 14 Hệ thống các phương pháp học tăng cường      3.2.3.1 Thuật toán Q – Learning  - ĐỒ á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
Hình 14 Hệ thống các phương pháp học tăng cường 3.2.3.1 Thuật toán Q – Learning (Trang 26)
Hình 16.Khác biệt giữa SARSA và Q– Learning - ĐỒ á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
Hình 16. Khác biệt giữa SARSA và Q– Learning (Trang 27)
Hình 17.Từ Q-learning đến DQN - ĐỒ á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
Hình 17. Từ Q-learning đến DQN (Trang 28)
Hình 18.Minh họa thuật tốn Policy Gradient - ĐỒ á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
Hình 18. Minh họa thuật tốn Policy Gradient (Trang 30)
Hình 19.Minh họa thuật tốn Actor – Critic - ĐỒ á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
Hình 19. Minh họa thuật tốn Actor – Critic (Trang 31)
Hình 20.Minh họa thuật tốn DDPG - ĐỒ á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
Hình 20. Minh họa thuật tốn DDPG (Trang 32)
Hình 21.Minh họa thuật tốn SAC - ĐỒ á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
Hình 21. Minh họa thuật tốn SAC (Trang 34)
Hình 22 Cấu trúc bộ điều khiển vịng ngồi: - ĐỒ á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
Hình 22 Cấu trúc bộ điều khiển vịng ngồi: (Trang 37)
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  - ĐỒ á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
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 (Trang 38)
Hình 24.Cấu trúc mạng Critic - ĐỒ á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
Hình 24. Cấu trúc mạng Critic (Trang 38)
Hình 25.Cấu trúc mạng Actor - ĐỒ á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
Hình 25. Cấu trúc mạng Actor (Trang 39)
Bảng 3. Bảng tham số quá trình huấn luyện - ĐỒ á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
Bảng 3. Bảng tham số quá trình huấn luyện (Trang 40)
Hình 27 Quá trình huấn luyện DDPG Agent - ĐỒ á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
Hình 27 Quá trình huấn luyện DDPG Agent (Trang 41)
Hình 26 Quá trình huấn luyện SAC Agent - ĐỒ á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
Hình 26 Quá trình huấn luyện SAC Agent (Trang 41)
Hình 29: Kết quả . (sensor 3) và . (sensor 4)    - ĐỒ á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
Hình 29 Kết quả . (sensor 3) và . (sensor 4) (Trang 42)
Hình 28: Kết quả góc (sensor 2) , (sensor 1) thu được khi chạy mô phỏng - ĐỒ á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
Hình 28 Kết quả góc (sensor 2) , (sensor 1) thu được khi chạy mô phỏng (Trang 42)
Hình 30: Kết quả điện áp đặt vào động cơ - ĐỒ á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
Hình 30 Kết quả điện áp đặt vào động cơ (Trang 43)
Hình 31: Góc đặt cho con lắc từ SAC agent và tín hiệu “select-mode” - ĐỒ á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
Hình 31 Góc đặt cho con lắc từ SAC agent và tín hiệu “select-mode” (Trang 43)
Hình 32 Góc  và  khi dùng bộ điều khiển LQR - ĐỒ á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
Hình 32 Góc  và  khi dùng bộ điều khiển LQR (Trang 44)

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w