MÔ HÌNH HÓA ROBOT HAI BẬC TỰ DO VÀ NHẬN DẠNG THÔNG SỐ, VẬN DỤNG BỘ ĐIỂU KHIỂN SILIDING MODE CONTROL CHO ROBOT 2 DOF CHƯƠNG 1: MÔ HÌNH HÓA ROBOT 2 DOF VÀ MÔ PHỎNG 1 1.1. Mô hình hóa robot hai bậc tự do 1 CHƯƠNG 2: NHẬN DẠNG THÔNG SỐ MÔ HÌNH BẰNG PHƯƠNG PHÁP BÌNH PHƯƠNG TỐI THIỂU 5 2.1 Cơ sở lý thuyết nhận dạng thông số mô hình bằng phương pháp bình phương tối thiểu 5 2.2 Vận dụng lý thuyết để nhận dạng thông số mô hình robot 2 bậc tự do 7 2.3 Mô phỏng trên matlab và kết quả 8 CHƯƠNG 3: ĐIỀU KHIỂN ROBOT BẰNG BỘ ĐIỀU KHIỂN TRƯỢT SIDLING MODE CONTROL 15 3.1 Thiết kế bộ điều khiển trượt SMC cho robot hai bậc tự do 15 3.2 Mô Phỏng trên matlab simulink và nhận xét kết quả đạt được 17 3.2.1 Xây dựng mô phỏng bộ điều khiển trượt cho robot 2 dof 17 3.2.2 Kết quả 21 3.3 Kết luận 24 TÀI LIỆU THAM KHẢO 25
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HCM
KHOA ĐIỆN – ĐIỆN TỬ
- -
BÁO CÁO MÔN HỌC MÔN HỌC: ĐIỀU KHIỂN THÔNG MINH
ĐỀ TÀI: THIẾT KẾ BỘ ĐIỀU KHIỂN THÔNG MINH
CÂN BẰNG HỆ XE CON LẮC NGƯỢC
DANH MỤC HÌNH ẢNH
DANH MỤC BẢNG BIỂU
Trang 2MỤC LỤC
Trang 3LỜI CẢM ƠN
Chúng em chân thành cảm ơn, quý thầy cô trường Đại Học Sư Phạm kỹ ThuậtTP.HCM nói chung và quý thầy cô bộ môn Điều khiển tự động nói riêng, đã trang bịkiến thức và giúp đỡ chúng em, giải quyết những khó khăn trong quá trình làm báocáo môn học Đặc biệt chúng em xin chân thành cảm ơn thầy Trần Đức Thiện, giảngviên trường Đại học Sư phạm Kỹ Thuật Thành Phố Hồ Chí Minh đã hướng dẫn, cungcấp tài liệu để nhóm có thể hoàn thành bài báo cáo này
Sau cùng nhóm xin cảm ơn các bạn bè đã giúp đỡ để báo cáo môn học được hoànthành tốt đẹp Tuy nhiên do chưa tự nghiên cứu kĩ lưỡng cũng như chuyên môn cònhạn chế, nên không tránh khỏi những sai sót Chúng em rất mong nhận được sự thôngcảm, góp ý và hướng dẫn của quý thầy cô cùng các bạn
Xin chúc quý thầy cô nhiều sức khoẻ và thành công trong quá trình công tác và học tập
Chúng em xin chân thành cảm ơn
Tp Hồ Chí Minh, ngày 30 tháng 06 năm 2022
Sinh viên thực hiện
Lý Phi Cường – Tạ Trần Nhật Minh – Trần Minh Khiêm
PHẦN MỞ ĐẦU
1 Lý do lựa chọn đề tài
Thuật ngữ “ Điều khiển thông minh” đã được giới thiệu trong khoảng ba thập niênvới các phương pháp điều khiển có mục tiêu tham vọng hơn so với các hệ thốngtruyền thống Trong khi hệ thống truyền thống thường cần các chi tiết dù nhiều dù ít
về quá trình điều khiển thì hệ thống điều khiển thông minh có thể điều khiển một cách
tự chủ các hệ thống phức tạp, các quá trình chưa được hiểu biết nhiều thí dụ như vềmục tiêu điều khiển Hệ thống này còn hoạt động được khi hệ thống có sự thay đổi vềtham số hay môi trường điều khiển, thông qua quá trình học từ kinh nghiệm, tiếp thu
và tổ chức kiến thức về môi trường xung quanh và hành vi sắp tới của hệ thống
Trang 4Hệ xe con lắc ngược đơn giản là một con lắc có khối lượngmđược gắn trên một
thanh có chiều dài lvà một đầu của thanh được gắn lên xe con lắc Hệ thống này sẽkhông còn mới lạ nữa với rất nhiều bộ điều khiển đã được áp dụng trên hệ này để tiếnhành đánh giá chất lượng điều khiển, bộ điều khiển nào sẽ tiêu tốn ít năng lượng nhất
phải kể đến với các bộ điều khiển như “LQR”, “LQG”, “Sliding Mode Control”, “Hồi Tiếp Tuyến Tính”, “PID”, “Fuzzy PID”, “Neural Network”, “Genetic Algorithm”… Ở
đây nhóm tụi em sẽ tìm hiểu về cách xây dựng phương trình vi phân cho hệ xe con lắc
ngược cũng như xây dựng các bộ điều khiển “Fuzzy PID”, “Neural Network” và
“Genetic Algorithm” để cho con lắc luôn ổn định tại vị trí cân bằng và vị trí xe luôn
ổn định tại vị trí đặt Đây cũng là lý do nhóm em lựa chọn đề tài “Thiết kế bộ điều khiển ổn định cho hệ Xe Con Lắc Ngược”.
2 Mục tiêu nghiên cứu
Thiết kết bộ điều khiển “Fuzzy PID” điều khiển ổn định hệ xe con lắc ngược, tiếp
theo đó tụi em sẽ tiến hành thu thập dữ liệu góc lệch con lắc, vận tốc góc của con lắc,
vị trí xe và vận tốc xe để sử dụng “Neural Network” để tiến hành học theo và thay thế
bộ điều khiển “Fuzzy PID” Cùng với đó tụi em sẽ xây dựng 2 bộ điều khiển “PID”
nhằm ổn định vị trí xe và giữ cho gốc quay của con lắc luôn ở vị trí cân bằng và sử
dụng “Genetic Algorithm” để tìm ra bộ thông số Kp, Ki và Kd thích hợp với hệ thống.
4 Phương pháp nghiên cứu
Dựa trên các đề tài nghiên cứu có trên sách, báo, tạp chí khoa học… từ đó nghiên
Trang 5phỏng được để chạy mô phỏng hệ thống Nhóm sử dụng phương pháp thiết kế các bộ
điều khiển “Fuzzy PID”, “Neural Network” và “Genetic Algorithm” để mô phỏng.
Cùng đó với kinh nghiệm đã được học ở môn học “Điều Khiển Thông Minh” để tiếnhành thiết kế hệ thống
5 Nội dung nghiên cứu
Chương 1: CƠ SỞ LÝ THUYẾT
Chương này trình bày lý thuyết về mô hình toán hệ xe con lắc ngược
Chương 2: THIẾT KẾ BỘ ĐIỀU KHIỂN FUZZY – PID
Chương này trình bày về phần xây dựng tập mờ dựa vào phương pháp chuyên gia
để tiến hành thiết kế mô hình bộ điều khiển Fuzzy PID trên Simulink và sau đó tiếnhành mô phỏng hệ thống
Chương 3: THIẾT KẾ BỘ ĐIỀU KHIỂN THẦN KINH
Chương này tụi em sẽ xây dựng mạng thần kinh để thu thập dữ liệu và huấn luyệnmạng thần kinh học theo và thay thế bộ điều khiển FUZZY PID sau đó mô phỏng trênSimulink và tiến hành đánh giá chất lượng của hệ thống
Chương 4: THIẾT KẾ BỘ ĐIỀU KHIỂN PID DÙNG GA
Chương này trình bày về cách xây dựng giải thuật di truyền để tiến hành dò tìm bộthông số Kp, Ki và Kd giúp ổn định hệ thống tại điểm làm việc cân bằng
Chương 5: KẾT LUẬN
Chương này sẽ trình bày đánh giá chung về các bộ điều khiển mà nhóm chúng em
đã xây dựng Hướng phát triển trong tương lai của đề tài
Trang 6CHƯƠNG 1 CƠ SỞ LÝ THUYẾT
1.1 Mô hình hệ xe con lắc ngược
Hệ con lắc ngược được mô tả như trong Hình 1.1 Con lắc ngược được gắn vào xekéo bởi động cơ điện, nghĩa là con lắc chỉ di chuyển trong mặt phẳng, đồng thời nókhông thể ổn định vì nó luôn ngã xuống trừ khi có lực tác động thích hợp Giả sử khốilượng của con lắc tập trung ở đầu thanh như hình vẽ (khối lượng thanh không đángkể) Lực điều khiển F tác động vào xe Do đó yêu cầu của bài toán là điều khiển vị trí
xe và giữ cho con lắc ngược luôn thẳng đứng tức hệ con lắc ngược luôn cân bằng
Hình 1.1 Mô hình hệ xe con lắc ngược
Trang 71.2 Mô hình toán học hệ xe con lắc ngược
Phân tích vị trí của con lắc theo 2 phương ngang và phương thẳng đứng ta có:
ncos
si
i j
x
x l
x l θθ
cossin
i j
Vì xe chỉ di chuyển theo phương ngang nên động năng của xe được tính như sau:
2
12
Trang 8Hệ phương trình toán học theo phương pháp Euler-Lagrange:
Ta có:
2
0cos
sin
L
M m x ml x
L x L
ml x ml L
Trang 9Từ 111 ta mô tả đặc tính động học của hệ thống bằng phương trình vi phân:
2
2
2 2
1.3Tuyến tính hoá hệ xe con lắc ngược
Đặt các biến trạng thái lần lượt là:x1 =θ
Trang 10Đặt ( , )x u0 0
f A
01
x u
f u f
B
f u
Thay các thông số của hệ thống vào 116 và 117 ta được giá trị của hai ma trận A và
Trang 110 1 0 0 10.78 0 0 0
0 0 0 0 0.98 0 0 0
− Không có nhiễu tác động vào hệ thống
CHƯƠNG 2 182Equation Section (Next)THIẾT KẾ BỘ ĐIỀU
KHIỂN FUZZY-PID
2.1 Giới thiệu về bộ điều khiển mờ trực tiếp
Điều khiển mờ cung cấp phương pháp để biểu diễn, xử lý và thực thi tri thức trựcgiác của con người Khác với mạng thần kinh, bộ điều khiển mờ không tự học đượckinh nghiệm chuyên gia mà ngược lại kinh nghiệm chuyên gia phải được tích hợp vào
bộ điều khiển mờ trong quá trình thiết kế hệ thống Nhờ logic mờ, các phát biểu ngônngữ định tính mô tả tác động điều khiển được chuyển thành mô hình toán học Quátrình thiết kế bộ điều khiển mờ dựa vào kinh nghiệm là quá trình thử sai, và khi quátrình thiết kế thành công ta có được bộ điều khiển mờ có thể điều khiển được đốitượng với chất lượng chấp nhận được
Về nguyên tắc, hệ thống điều khiển mờ cũng không khác gì so với hệ thống điềukhiển thông thường khác Sự khác biệt ở đây là bộ điều khiển mờ làm việc có tư duynhư bộ não dưới dạng trí tuệ nhân tạo Nếu khẳng định với bộ điều khiển mờ có thểgiải quyết tất cả vấn đề chưa giải quyết được từ trước đến nay theo phương pháp kinhđiển thì không hoàn toàn chính xác, vì hoạt động của bộ điều khiển phụ thuộc vàokinh nghiệm và phương pháp rút ra kết luận theo tư duy con người, sau đó được càivào thông qua cơ sở logic mờ
Trang 12Hình 2.2 Cấu trúc bộ điều khiển mờ
Điều khiển mờ trực tiếp (Direct Control): Bộ điều khiển mờ được dùng trongđường thuận của hệ thống điều khiển hồi tiếp, Tín hiệu ra của đối tượng điều khiểnđược so sánh với tín hiệu đặt, nếu có sai lệch thì bộ điều khiển mờ sẽ xuất tín hiệu tácđộng vào đối tượng nhằm mục làm giảm sai số về 0 Đây là sơ đồ điều khiển mờ quenthuộc được dùng để thay thế bộ điều khiển kinh điển
Hình 2.3 Điều khiển mờ trực tiếp
2.2 Thiết kế bộ điều khiển mờ
− Xây dựng khối mờ
Hình 2.4 Sơ đồ khối hệ mờ cơ bản
− Chọn giá trị biến ngõ vào/ra
Trang 13Ở phần này, nhóm nghiên cứu chọn 4 biến ngõ vào lần lượt là giá trị góc lệch con
lắc θ
, vận tốc góc con lắc θ&
, vị trí xe xvà tốc độ xe x& Biến ngõ ra là lực tác dụngvào xe u
Ta chọn đối tượng có các tập cơ sở như sau:
− Chuẩn hoá tập cơ sở
Để miền giá trị của các biến vào/ra là [-1,1], ta tiến hành chuẩn hóa tập cơ sở vớicác khối tiền xử lý và hậu xử lý có hệ số khuếch đại như sau:
− Định nghĩa các tập mờ mô tả các giá trị ngôn ngữ biến vào và ra
Chọn 3 tập mờ cho mỗi biến vào (NE, ZE, PO), các tập mờ này được phân hoạch
mờ trên tập cơ sở chuẩn hóa và hàm liên thuộc có dạng tam giác
Trang 14Chọn 7 tập mờ (NB NM NS ZE PS PM PB) cho biến ra
Hình 2.9 Tập mờ lực điều khiển xe
− Xây dựng quy tắc điều khiển mờ
Hình 2.10 Một số quy tắc điều khiển
Với 3 tập mờ ở ngõ vào cho mỗi biến, để thõa mãn tính hoàn chỉnh thì hệ quy tắcphải gồm 81 quy tắc Chúng ta cũng không nên tăng số tập mờ ở ngõ vào vì như thếquy tắc mờ sẽ tăng lên rất lớn
Trang 15Bảng 2.1 Hệ quy tắc mờ dành cho hệ xe con lắc ngược
STT θ θ& x x& u STT θ θ& x x& x&
Trang 16− Sử dụng phương pháp suy diễn mờ Max – Min
Xét quy tắc thứ k của một hệ quy tắc mờ: nếu là và là thì y là
Hình 2.11 Phương pháp suy diễn mờ
− Giải mờ
Vì hệ quy tắc mờ trong điều khiển và khối hậu xử lý không có khâu tích phân nên
sử dụng phương pháp giải mờ trọng tâm (Centroid method)
2.3 Mô phỏng bộ điều khiển mờ
− Lựa chọn các khối cần thiết cho việc mô phỏng
Hình 2.12 Các khối cần thiết cho mô phỏng
− Thiết kế mô hình xe con lắc
Trang 17Hình 2.13 Mô phỏng động học hệ xe con lắc ngược Bảng 2.2 Code Matlab mô phỏng đặc tính động học hệ xe con lắc ngược
%% Phuong trinh vi phan cua mo hinh
Trang 18Hình 2.14 Sơ đồ hệ thống bộ điều khiển mờ cho hệ xe con lắc ngược
− Khối fuzzy – logic
Hình 2.15 Quy tắc mờ Sugeno
Trang 19Hình 2.16 Tập mờ ngõ vào góc lệch θ trên Matlab
Hình 2.17 Tập mờ ngõ vào vận tốc góc θ&trên Matlab
Trang 20Hình 2.18 Tập mờ ngõ vào vị trí xe x trên Matlab
Hình 2.19 Tập mờ ngõ vào vận tốc xe x& trên Matlab
Trang 21Hình 2.20 Tập mờ ngõ ra là lực điều khiển u trên Matlab
Hình 2.21 Xây dựng hệ quy tắc mờ trên Matlab
Trang 22Hình 2.22 Mặt đặc tính mờ của hệ sau khi thiết kế
− Cài đặt thời gian mô phỏng
Chọn Fixed step với thời gian lấy mẫu là 0.01s
Chọn thời gian mô phỏng là 45s
2.4 Kết quả mô phỏng
Tín hiệu đặt cho vị trí xe được tạo bởi khối tạo xung Pulse Generator với độ lớn(amplitude) bằng 1 (m), chu kì 40s, độ rộng xung 50% và trễ pha 5s
Trang 23Hình 2.23 Đáp ứng vị trí xe với bộ điều khiển Fuzzy – PID
Hình 2.24 Đáp ứng góc lệch con lắc với bộ điều khiển Fuzzy – PID
Trang 24Hình 2.25 Sai số đáp ứng vị trí xe với bộ điều khiển Fuzzy – PID
Hình 2.26 Tín hiệu điều khiển của bộ điều khiển Fuzzy-PID
2.5 Kết luận
Dựa vào kết quả mô phỏng ở hình Hình 2.23 và Hình 2.24, ta thấy khi đặt con lắc
θ
Trang 25giá trị góc lệch về và vị trí về vị trí x = 1, tương ứng với cân bằng thẳng đứng của hệ
ở vị trí cài đặt Khi giảm vị trí cài sp = 0 ở t = 20s, bộ điều khiển mờ xuất 1 tín hiệu u
để chỉnh định hệ thống, giúp hệ thống đáp ứng ổn định
193Equation Section (Next)
CHƯƠNG 3 THIẾT KẾ BỘ ĐIỀU KHIỂN THẦN KINH
3.1 Lý thuyết về mang thần kinh
Neural Network là Mạng nơ-ron nhân tạo, đây là một chuỗi những thuật toán đượcđưa ra để tìm kiếm các mối quan hệ cơ bản trong tập hợp các dữ liệu Thông qua việcbắt bước cách thức hoạt động từ não bộ con người Nói cách khác, mạng nơ ron nhântạo được xem là hệ thống của các tế bào thần kinh nhân tạo Đây thường có thể là hữu
cơ hoặc nhân tạo về bản chất Neural Network có khả năng thích ứng được với mọithay đổi từ đầu vào Do vậy, nó có thể đưa ra được mọi kết quả một cách tốt nhất cóthể mà bạn không cần phải thiết kế lại những tiêu chí đầu ra
Trong lĩnh vực tài chính, mạng nơ ron nhân tạo hỗ trợ cho quá trình phát triển cácquy trình như: giao dịch thuật toán, dự báo chuỗi thời gian, phân loại chứng khoán,
mô hình rủi ro tín dụng và xây dựng chỉ báo độc quyền và công cụ phát sinh giá cả.Mạng nơ ron nhân tạo có thể hoạt động như mạng nơ ron của con người Mỗi một nơron thần kinh trong nơ ron nhân tạo là hàm toán học với chức năng thu thập và phânloại các thông tin dựa theo cấu trúc cụ thể
Neural Network có sự tương đồng chuẩn mạnh vối những phương pháp thống kênhư đồ thị đường cong và phân tích hồi quy Neural Network có chứa những lớp baohàm các nút được liên kết lại với nhau Mỗi nút lại là một tri giác có cấu tạo tương tựvới hàm hồi quy đa tuyến tính Bên trong một lớp tri giác đa lớp, chúng sẽ được sắpxếp dựa theo các lớp liên kết với nhau Lớp đầu vào sẽ thu thập các mẫu đầu vào vàlớp đầu ra sẽ thu nhận các phân loại hoặc tín hiệu đầu ra mà các mẫu đầu vào có thểphản ánh lại
Trang 263.2 Cấu trúc mạng thần kinh
Hình 3.27 Cấu trúc của mạng thần kinh
Mạng Neural Network là sự kết hợp của những tầng perceptron hay còn gọi làperceptron đa tầng Và mỗi một mạng Neural Network thường bao gồm 3 kiểu tầng là:
* Tầng input layer (tầng vào):
Tầng này nằm bên trái cùng của mạng, thể hiện cho các đầu vào của mạng
* Tầng output layer (tầng ra):
Tầng bên phải cùng và nó thể hiện cho những đầu ra của mạng
● Lựa chọn mô hình: Phụ thuộc vào cách trình bày dữ liệu và các ứng dụng của
nó Đây là mô hình khá phức tạp nên có thể dẫn đến nhiều thách thức cho quá trìnhhọc
● Thuật toán học: Thường sẽ có rất nhiều thỏa thuận giữa các thuật toán học Và
Trang 273.3 Xây dựng mô hình thu thập dữ liệu đầu vào và ra
Hình 3.28 Cấu trúc thu thập dữ liệu hệ thống cho mạng thần kinh
Dự liệu cần được thu thập để huấn luyện cho mạng neural đượclấy tại các khối “to workspace” để đưa tín hiệu ra workspace củaMatlab để dễ dàng xử lý và tính toán
Các tín hiệu thu thập gồm có “The”, “The_d”, “Vitri”, “Vitri_d” và
“u” điều khiển cho hệ thống
Cách thiết lập khối “to workspace” để thu thập dữ liệu:
Hình 3.29 Thiết lập khối “To Workspace” để thu thập dữ liệu
Thiết lập tín hiệu đầu vào của hệ thống là vị trí ngẫu nhiên:
Trang 28Hình 3.30 Thiết lập thông số đầu vào thu thập dữ liệu
Dạng sóng tín hiệu đặt vị trí đầu vào Ngẫu nhiên, vị trí xe của hệ ở ngõ ra và gốclệch Theta của xe con lắc ngược:
Hình 3.31 Thu thập dữ liệu đáp ứng vị trí xe
Trang 29Hình 3.32 Thu thập dữ liệu về góc lệch con lắc
3.4 Thiết kế bộ điều khiển mạng thần kinh
Ta lựa chọn mạng thần kinh như sau:
− Phương pháp học sử dụng là Phương pháp học có giám sát
− Sử dụng mạng truyền thẳng nhiều lớp
− Số lớp vào là 4
− Số lớp ẩn là 30
− Số lớp ra là 1
Trang 31Luật cập nhật trọng số
- Thuật toán sử dụng ở đây là Levenberg-Marquardt (L-M) Thuật toán này đượcthiết kế để có thể đạt được tốc độ huấn luyện bậc hai của mạng mà không cầntính toán ma trận Hessian, tốc độ hội tụ cũng nhanh hơn thuật toán suy giảm độdốc Thuật toán L-M dựa trên triển khai bậc 2 của khai triển Taylor:
- Tại điểm cần tìm g W( )=0và H W( )xác định dương
Trang 32( ) ( ) ( )
( t ) ( t ) t 0
g W +H W p =
24324\* MERGEFORMAT(.)
- Để tránh bước dịch chuyển quá lớn:
1
W + =W − ηH(W )− g W( )
26326\*MERGEFORMAT (.)
Chương trình huấn luyện cho mạng Neural Network:
Bảng 3.3 Code chương trình huấn luyện cho mạng thần kinh
% Compile by Ly Phi Cuong
k = length(u);
x = [The(2:k)';The_d(2:k)';Vitri(2:k)';Vitri_d(2:k)'];
d = [u(2:k)'];
hiddenLayerSize = 30;
% Phep toan lan truyen nguoc Levenberg-Marquardt
mynet = fitnet(hiddenLayerSize,'trainlm');
% Lua chon cac chuc nang chuyen giao noi bo
% Hàm chuc nang chuyen doi sigmoid ??i x?ng
mynet.layers{1}.transferFcn = 'tansig';
% Hàm chuc nang chuyen doi tuyen tinh
mynet.layers{2}.transferFcn = 'purelin';
mynet.trainparam.epochs=1000; % So lan chay
mynet.trainparam.lr=0.01; % He so hoc, he so cang lonthi he thong hoc cang nhanh
mynet.trainparam.goal=1e-7; % Sai so huan luyen
[mynet,tr] = train(mynet,x,d);
gensim(mynet,0.01)
Tiếp theo ta cho chạy mạng thần kinh để bắt đầu huấn luyện cho mạng thần kinhhọc theo bộ điều khiển Fuzzy PID: