Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 65

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC SƯ PHẠM KĨ THUẬT TP.HCM KHOA


ĐIỆN – ĐIỆN TỬ
  

BÁO CÁO CUỐI KỲ

BỘ MÔN: ĐIỀU KHIỂN THÔNG MINH

ĐỀ TÀI: THIẾT KẾ BỘ ĐIỀU KHIỂN CHO HỆ XE 2


BÁNH CÂN BẰNG
GVHD: TS. Trần Đức Thiện
SVTH: Nguyễn Quang Trung 21151487
Nguyễn Hoàng Nghĩa 21151138
Vũ Nam Bình 21151074

TP.HCM, ngày 31 tháng 12 năm 2023.


Mục lục
TÓM TẮT...........................................................................................................................................4
Chương 1 : TỔNG QUAN..................................................................................................................5
1.1 Tầm quan trọng của đề tài.............................................................................................................5
1.2 Mục tiêu đề tài...............................................................................................................................5
1.3 Giới hạn đề tài...............................................................................................................................6
1.3.1.Phương pháp lý thuyết........................................................................................................6
1.3.2.Phương pháp thực hiện.......................................................................................................7
1.4 Nội dung đề tài..............................................................................................................................7
1.5 Các đề tài liên quan.....................................................................................................................7
Chương 2: CƠ SỞ LÝ THUYẾT........................................................................................................8
2.1 Thế nào là xe hai bánh tự cân bằng( two wheels seft balancing ).................................................8
2.2 Lý thuyết con lắc ngược................................................................................................................9
2.3 Mô hình toán học.........................................................................................................................10
2.4 Giải thuật điều khiển.................................................................................................................15
2.4.1 Bộ điều khiển PD mờ cho hệ xe hai bánh tự cân bằng...............................................16
2.4.3. Bộ điều khiển mạng thần kinh ( Neural Network ).........................................................19
2.4.4.Giải thuật di truyền (GA).................................................................................................21
Chương 3: THIẾT KẾ Chương Chương Chương 3:BỘ ĐIỀU KHIỂN............................................25
3.1. Khai báo và xây dựng bộ điều khiển..........................................................................................25
3.1.1. Khai báo thông số hệ thống xe hai bánh cân bằng..........................................................25
3.1.2. Xây dựng bộ điều khiển...................................................................................................25
3.2. Xây dựng mô hình Malab Simulink...........................................................................................31
Chương 4: PHÂN TÍCH VÀ KẾT LUẬN.....................................................................................52
4.1. Đối với bộ điều khiển PD mờ...................................................................................................52
4.2. Đối với bộ điều khiển Neural Network......................................................................................52
4.3 Đối với bộ điều khiển GA...........................................................................................................59
Chương 5: TÀI LIỆU THAM KHẢO...........................................................................................64

1
MỤC LỤC HÌNH ẢNH
Hình 2.1: Mô hình nguyên lý giữ thăng bằng.....................................................................................8
Hình 2.2: Mô tả cách bắt đầu di chuyển..............................................................................................9
Hình 2.3: Con lắc ngược......................................................................................................................9
Hình 2.4: Mô hình của xe hai bánh cân bằng....................................................................................10
Hình 2.5: Phân tích lực tác động lên 2 bánh xe.................................................................................11
Hình 2.6: Phân tích lực tác động lên bánh xe....................................................................................13
Hình 2.7: Sơ đồ bộ điều khiển PD Fuzzy..........................................................................................16
Hình 2.8: Hình hệ mờ căn bản...........................................................................................................17
Hình 2.9: Các phương pháp giải mờ dựa vào điểm trọng tâm..........................................................18
Hình 2.10: Mạng Neural truyền thẳng nhiều lớp...............................................................................19

Hình 3.1: Mô tả hệ thống với bộ điều khiển PD Fuzzy.....................................................................25


Hình 3 2: Đồ thị hàm liên thuộc ngõ ra DU......................................................................................26
Hình 3.3: Bảng hệ quy tắc mờ..........................................................................................................27
Hình 3.4: Xác định input và output trong Fuzzy Logic Designer....................................................27
Hình 3.5: Tập mờ của ngõ vào E.......................................................................................................28
Hình 3.6: Tập mờ của ngõ vào DE....................................................................................................28
Hình 3.7: Hàm liên thuộc của ngõ ra U.............................................................................................29
Hình 3.8: Bảng quy tắc 9 luật mờ......................................................................................................29
Hình 3.9: Mặt đặc tính biểu diễn mối quan hệ vào ra của hệ mờ......................................................30
Hình 3.10: Giải Mờ bằng rules..........................................................................................................30
Hình 3.11: Xây dựng toàn bộ hệ thống trên Simulink......................................................................31
Hình 3.12: Khối Matlab Function mô tả phương trình không gian trạng thái của hệ thống.............31
Hình 3.13: Thiết lập môi trường mô phỏng trong Modeling Setting................................................32
Hình 3.14: Xung cấp cho bộ điều khiển............................................................................................32
Hình 3.15: Sai số xác lập của góc nghiêng........................................................................................33
Hình 3.16: Sai số xác lập của vị trí....................................................................................................33
Hình 3.17: Ngõ vào của đối tượng điều khiển...................................................................................34
Hình 3.18: Đáp ứng ngõ ra của góc...................................................................................................34
Hình 3.19: Đáp ứng ngõ ra của vị trí.................................................................................................34
Hình 3.20: Thiết lập cho các scope ngõ vào......................................................................................35
Hình 3.21: Thiết lập scope cho ngõ ra U...........................................................................................36
Hình 3.22: Dữ liệu huấn luyện mạng thần kinh................................................................................37
Hình 3.23: Bộ quan sát toàn bộ hệ thống..........................................................................................38
Hình 3.24: Bộ điều khiển PD fuzzy trong Matlab Simulink.............................................................38
Hình 3.25: Mô hình huấn luyện mạng thần kinh xấp xỉ hình 3.24 trong Simulink...........................39
Hình 3.26: Tín hiệu điện áp của mạng thần kinh..............................................................................39
Hình 3.27: Khối scope quan sát đầu vào dữ liệu NN........................................................................39
Hình 3.28: Scope quan sat ngõ vào huấn luyện mạng thần kinh.......................................................40
Hình 3.29: Đáp ứng ngõ ra tín hiệu điện áp U..................................................................................40
Hình 3.30: Scope quan sát tiền và hậu xử lý.....................................................................................41
Hình 3.31: Đáp ứng Tín hiệu điều khiển điện áp U và T2 sau huấn luyện.......................................41

2
Hình 3.32: Đáp ứng tín hiệu của sai số góc nghiêng Ea và T sau huấn luyện..................................42
Hình 3.33: Đáp ứng tín hiệu của sai số góc nghiêng Ep và T1 sau huấn luyện................................42
Hình 3.34: Scope quan sát đáp ứng ngõ ra của PD mờ và NN sau huấn luyện.................................43
Hình 3.35: Đáp ứng tín hiệu ngõ ra của Vị trí của PD mờ và NN sau huấn luyện...........................43
Hình 3.36: Đáp ứng tín hiệu ngõ ra của góc nghiêng của PD mờ và NN sau huấn luyện................44
Hình 3.37: Đáp ứng tín hiệu ngõ ra của Đạo hàm góc nghiêng của PD mờ và NN sau huấn luyện.44
Hình 3.38: Đáp ứng tín hiệu ngõ ra của Đạo hàm Vị trí của PD mờ và NN sau huấn luyện............45
Hình 3. 39: Thiết lập khối To Workspace.........................................................................................45
Hình 3.40: Thông số điều chỉnh tối ưu..............................................................................................49
Hình 3.41: Thông PD Mờ cho Góc sau khi áp dụng GA..................................................................49
Hình 3.42: Thông PD Mờ cho Vị trí sau khi áp dụng GA................................................................50
Hình 3.43: Đáp ứng ngõ ra góc nghiêng của bộ PD mờ sau khi áp dụng GA điều chỉnh thông số. .50
Hình 3.44: Đáp ứng ngõ ra vị trí của Bộ PD mờ sau khi áp dụng GA điều chỉnh thông số.............51
Hình 3.45: Đáp ứng Tín hiệu điều khiển...........................................................................................51

Hình 4.1: Dữ liệu huấn luyện với thông số (*)..................................................................................54


Hình 4.2: Kết quả huấn luyện Ngõ ra vị trí với thông số (*).............................................................55
Hình 4.3: Kết quả huấn luyện tín hiệu Đạo hàm vị trí với thông số (*)............................................55
Hình 4.4: Kết quả huấn luyện tín hiệu góc nghiêng với thông số (*)...............................................56
Hình 4.5: Kết quả huấn luyện tín hiệu góc nghiêng với thông số (*)...............................................56
Hình 4.6: Dữ liệu huấn luyện với thông số (**)................................................................................57
Hình 4.7: Kết quả huấn luyện Ngõ ra vị trí với thông số (**)...........................................................58
Hình 4.8: Kết quả huấn luyện tín hiệu Đạo hàm vị trí với thông số (**)..........................................58
Hình 4.9: Kết quả huấn luyện tín hiệu góc nghiêng với thông số (**).............................................58
Hình 4. 10: Kết quả huấn luyện tín hiệu góc nghiêng với thông số (*)............................................59
Hình 4.11: Đáp ứng ngõ ra tín hiệu góc và vị trí với thông số (*)....................................................61
Hình 4. 12: Đáp ứng ngõ ra với thông số (**)..................................................................................62

3
TÓM TẮT

Ngày nay, Robot đã có những đóng góp to lớn cho sản xuất công nghiệp cũng
như cho cuộc sống. Sản xuất Robot là ngành công nghiệp nhiều tỷ đô la được
đánh giá cao về mặt kinh tế và góp phần hiện đại hóa tự động hóa sản xuất.
Nhiều Robot có thể di chuyển ở tốc độ cao và độ chính xác cao để thực hiện
các công việc lặp đi lặp lại.

Đề tài này có thể được xem là một cầu nối kinh nghiệm từ mô hình thăng
bằng con lắc ngược đến việc nghiên cứu và chế tạo các loại robot hai chân và
robot người (humanoid robot) trong tương lai. Đề tài này được quan tâm từ
việc tính toán các thông số đầu vào, đầu ra, dựa trên đó để xây dựng các mô
phỏng, đến việc thiết kế mô hình, thực hiện phần điện tử và điều khiển, viết
các chương trình điều khiển với mục đích cuối cùng là tạo ra một mô hình xe
di chuyển cân bằng trên hai bánh xe đồng trục được lắp trên hai động cơ dựa
theo các định luật cơ học Newton và cơ học vật rắn: điều khiển để luôn duy trì
bề mặt chân đế( hai bánh xe ) ở ngay dưới vị trí trọng tâm của xe khi đứng
yên, và tạo ra một sai số nhỏ về góc nghiêng của thân xe với bề mặt di chuyển
khi muốn xe chuyển động. Sự cân bằng được tính toán và mô phỏng bằng
phần mềm Matlab simulink, để chứng minh rằng hoàn toàn có khả năng để
điều khiển một mô hình xe tự cân bằng chỉ nhờ một hệ thống điều khiển hoạt
động của động cơ điện gắn trên mỗi bánh xe.

Sự thành công của dự án này có thể mở ra các hướng nghiên cứu mới cho
việc tạo ra các robot hai chân hoặc một robot người đứng hai chân. Trong
tương lai công nghệ công bằng sẽ phổ biến hơn cũng như quan trọng với cuộc
sống của chúng ta.

4
Chương 1 : TỔNG QUAN
1.1 Tầm quan trọng của đề tài.
Xu thế hiện nay của khoa học công nghệ ngày càng phát triển, việc nghiên
cứu, chế tạo, phát minh các loại máy móc, robot công nghệ đang và phát triển
thành xu hướng hiện nay. Hệ thống xe hai bánh tự cân bằng là một đối tượng
phi tuyến với các tham số bất định thường được sử dụng trong các phòng thí
nghiệm, nghiên cứu để kiểm chứng các giải thuật điều khiển thông minh. Mô
hình xe hai bánh tự cân bằng là một trong các dự án có rất nhiều ứng dụng
thực tiễn trong cuộc sống hiện nay, được ứng dụng trong giảng dạy và phát
triển thương mại giữa các nước trên thế giới. Song với sự nghiên cứu đó, đối
tượng xe hai bánh tự cân bằng giúp con người di chuyển linh hoạt hơn. Nhóm
chúng em quyết định thực hiện mô phỏng đề tài : “ Thiết kế bộ điều khiển cho
xe hai bánh tự cân bằng ” với mong muốn tìm hiểu chính xác và đánh giá tổng
quan về việc đáp ứng ngõ ra của bộ điều khiển trong đối tượng này.
1.2 Mục tiêu đề tài.
Mục tiêu của đề tài là thiết kế cũng như mô phỏng chính xác nhất có thể trong
phạm vi về bộ điều khiển cho hệ xe hai bánh tự cân bằng dựa trên nền tảng
của các bộ điều khiển khác cũng như phương pháp thiết kế đã được học trong
bộ môn điều khiển thông minh. Khả năng di chuyển cân bằng trên hai bánh
làm phương tiện di chuyển hiệu quả và linh động hơn, dễ dàng xoay chuyển
trong điều kiện không gian chật hẹp. Trong quá trình thiết kế và mô phỏng,
những mục tiêu của đề tài được đề ra như sau:
-Nghiên cứu và đưa ra cơ sở lý thuyết của từng bộ điều khiển
-Thiết kế được bộ điều khiển tối ưu nhất cho hệ xe 2 bánh tự cân bằng
-Tính toán các tham số động lực học, xây dựng các hàm - không gian trạng
thái (space- state) của bộ điều khiển.

5
1.3 Giới hạn đề tài.

Trong nội dung môn học, đề tài: “ thiết kế bộ điều khiển cho hệ xe hai bánh tự
cân bằng”, chủ yếu là muốn thiết kế và xây dựng một bộ điều khiển tối ưu
nhất, bên cạnh đó áp dụng được các phương pháp điều chỉnh thông số và xấp
xỉ bộ điều khiển thực tế dựa trên bộ điều khiển ban đầu. Mô phỏng và cho ra
kết quả chính xác nhất theo cơ sở lý thuyết của điều khiển thông minh như
Fuzzy, GA, Neural,… trong lĩnh vực nghiên cứu học thuật. Bộ điều khiển cho
hệ xe hai bánh cân bằng chỉ là kết quả thử nghiệm, ứng dụng Mạng thần kinh
để huấn luyện dữ liệu nhằm thay thế cho bộ điều khiển PD mờ có sẵn, tuy
nhiên hạn chế của phương pháp này là chỉ đưa ra được kết quả xấp xỉ chứ
không thể thay thế hoàn toàn vì còn phụ thuộc vào quá trình huấn luyện.
Ngoài ra, đề tài này còn ứng dụng Giải thuật di truyền để điều chỉnh thông số
cho bộ điều khiển PD nhưng hạn chế đưa ra của phương pháp này là thời gian
thực hiện tăng lên tùy theo độ phức tạp của bộ điều khiển, đòi hỏi tài nguyên
tính toán lớn, thông số đưa ra không thật sự chính xác ở mọi thế hệ.
Vì thế, đề tài chỉ tập trung chỉ tập trung xây dựng các yếu tố của bộ điều
khiển như: phương trình vi phân, kết nối các khối chức năng cho bộ trên
matlab simulink, lập trình cho các thuật toán áp dụng như GA,Neural
Network, xây dựng hệ quy tắc mờ cho bộ điều khiển góc và vị trí, mô phỏng
được đáp ứng ngõ ra chính xác nhất.

1.3.1.Phương pháp lý thuyết.


Đề tài được tiếp cận dựa trên các phương pháp sau:
- Phương pháp khảo sát tài liệu, tìm hiểu các tài liệu liên quan đến đề tài như:
phương trình vi phân của hệ xe 2 bánh tự cân bằng, thông số vật lý của xe, các
hệ quy tắc và luật điều khiển của bộ điều khiển mờ, chương trình áp dụng cho
mạng thần kinh và giải thuật di truyền, nguyên lý thiết kế cho các hệ thống

6
trên simulink, tham khảo thông số tối ưu nhất cho các bộ điều khiển.
- Sử dụng các nguồn thông tin internet, các bài báo nghiên cứu, đồ án tốt
nghiệp, các tạp chí khoa học và giáo trình bộ mô tương tự trên thư viện số,
các trang web khoa học kĩ thuật, tham khảo ý tưởng thiết kế từ các bài báo
khoa học trong trường, sự hướng dẫn từ các anh chị và giảng viên có kinh
nghiệm trong lĩnh vực này.
-Phương pháp khảo sát các thuật toán điều khiển PID, Neural,GA
1.3.2.Phương pháp thực hiện.
Đề tài được nhóm xây dựng thành các công đoạn thực hiện sau:
- Xây dựng thiết kế các bộ điều khiển và các khối matlab function.
- Thiết kế các thuật toán áp dụng cho bộ điều khiển như Neural, GA.
- Đáp ứng ngõ ra được mô phỏng trên phần mềm matlab simulink phục vụ
cho công tác nghiên cứu.
- Xây dựng môi trường mô phỏng.
- Chạy mô phỏng bộ điều khiển để đánh giá được sự ổn định của hệ thống.
1.4 Nội dung đề tài.
- Trình bày cơ sở lý thuyết cho 3 bộ điều khiển.
- Thiết kế và xây dựng bộ điều khiển cho hệ xe hai bánh tự cân bằng.
- Thiết kế các thuật toán như Neural, GA cho việc thay thế và điều chỉnh
thông số cho bộ điều khiển PD mờ.
- Thiết lập môi trường mô phỏng.
- Phân tích kết quả 3 bộ điều khiển và đưa ra kết luận.
- Trình bày tài liệu tham khảo
1.5 Các đề tài liên quan.
- Thiết kế bộ điều khiển cho hệ xe con lắc ngược.
- Thiết kế bộ điều khiển cho hệ xe 2 bánh cân bằng sử dụng LQR

7
Chương 2: CƠ SỞ LÝ THUYẾT
Hệ xe 2 bánh tự cân bằng hai bánh là một hệ thống động không ổn định, có
nghĩa là xe được tự do ngã về phía trước hoặc phía sau mà không có bất kỳ
ngoại lực nào tác động. Tự cân bằng có nghĩa là xe ở trạng thái vị trí của nó
giống như đứng thẳng 90 độ. Tuy nhiên bản thân hệ thống không phải tự cân
bằng, có nghĩa là nó tiếp tục rời khỏi trục thẳng đứng. Do đó một sự kết hợp
của con quay hồi chuyển và cảm biến gia tốc là cần thiết để đọc vị trí góc của
xe và nhập vào bộ vi điều khiển, thực hiện quy trình cân bằng.

Hình 2.1: Mô hình nguyên lý giữ thăng bằng


2.1 Thế nào là xe hai bánh tự cân bằng( two wheels seft balancing )
Đối với các xe ba hay bốn bánh, việc thăng bằng và ổn định của chúng là nhờ
trọng tâm của chúng nằm trong bề mặt chân đế do các bánh xe tạo ra. Đối với
các xe 2 bánh có cấu trúc như xe đạp, việc thăng bằng khi không di chuyển là
hoàn toàn không thể, vì việc thăng bằng của xe dựa trên tính chất con quay
hồi chuyển ở hai bánh xe khi đang quay. Còn đối với xe hai bánh tự cân bằng,
là loại xe chỉ có hai bánh với trục của hai bánh xe trùng nhau, để cho xe cân
bằng, trọng tâm của xe (bao gồm cả người sử dụng chúng) cần được giữ nằm
ngay giữa các bánh xe..

8
Hình 2.2: Mô tả cách bắt đầu di chuyển
2.2 Lý thuyết con lắc ngược

Như đã nói ở trên, robot tự cân bằng dựa trên lý thuyết con lắc ngược. Con lắc
ngược là một hệ thống vốn không ổn định buộc phải được áp dụng đúng cách
để giữ thăng bằng nguyên hệ thống. Để đạt được điều này, lý thuyết điều
khiển thích hợp là bắt buộc. Một con lắc ngược là một con lắc có khối lượng
của nó trên đầu trục của nó. Nó thường được thực hiện với các điểm trục gắn
trên một xe đẩy có thể di chuyển theo chiều ngang và có thể được gọi là một
xe đẩy và cực. Trong khi một con lắc bình thường ổn định khi treo xuống và
phải được chủ động cân bằng để duy trì trạng thái thẳng đứng bằng cách áp
dụng mô-men xoắn tại điểm trục hoặc bằng cách di chuyển điểm trục theo
chiều ngang như một phần của hệ thống phản hồi. Vì nó là một hệ thống phi
tuyến nên một con lắc ngược là một trong những hệ thống khó kiểm soát nhất
trong lĩnh vực kiểm soát kỹ thuật.

Hình 2.3: Con lắc ngược


2.3 Mô hình toán học
9
Hình 2.4: Mô hình của xe hai bánh cân bằng

Bảng: Một vài thông số đặc trưng mô hình xe hai bánh cân bằng
Kí hiệu Đơn vị Ý nghĩa
Mp Kg Khối lượng robot
Mw Kg Khối lượng bánh xe
R m Bán kính bánh xe
θP rad Góc nghiêng của thân robot
θw rad Góc xoay của bánh xe

θ̇ W Rad/s Vận tốc góc của bánh xe


r Ohms Điện trở của động cơ
L H Cuộn cảm của động co
kf Nms/rad Hệ số ma sát
km Nm/A Hệ số moment
Ke Vs/rad Hệ số Back emf của động cơ
α rad/s2 Gia tốc góc của động cơ
Va V Điện áp cấp cho động cơ
Ve V Điện áp phần ứng
i A Dòng điện phần ứng
IR Kgm2 Moment quán tính của động cơ
τm Nm Moment của động cơ
10
Iw Moment quán tính của bánh xe
Ip Moment quán tính của thân xe
HL,HRPL, Lực tác động giữa bánh xe và thân robot
PR
l Khoảng cách từ tâm bánh xe đến tâm trọng
trường của
thân xe
CL,CR Moment động cơ tác động lên bánh xe
HfL,HfR Lực ma sát giữa bánh xe và mặt phẳng
β Hệ số hiệu chỉnh

 Mô hình động học của động cơ DC

[ ][ ] [ ][
0 1 0 0
[]
θ̇
=
ω̇ 0
−k m k e θ + k m
IR R
ω
IR R
−1
IR
Vl+ Vr
τa ]
(2.1)

 Mô hình động học cho hệ xe hai bánh cân bằng

Hình 2.5: Phân tích lực tác động lên 2 bánh xe

- Áp dụng định luật Newton tính được tổng lực tác động lên bánh xe theo
phương ngang
∑ F x =Ma (2.2)

11
M w ẍ =H fR −H R (2.3)
- Tổng lực tác động vào trục bánh xe:
∑ M o =Iα (2.4)
I w θ̈ w =C R −H fR r (2.5)
- Từ phương trình động học của động cơ DC, ta có moment của động cơ:

τ m=I R +τ (2.6)
dt a
- Từ phương trình động học và phương trình vi phân của động cơ DC, ta có
moment ngõ ra của động cơ:
dω −k m k e km
C=I R = θ̇ w + V a (2.7)
dt R R
- Thay phương trình (2.7) vào phương trình (2.5) ta được:
−k m k e km
I w θ̈ w = θ̇ w + V a−H fR r (2.8)
R R
Suy ra:
−k m k e km Iw
H fR = θ̇w + V a− θ̈w (2.9)
Rr Rr r
- Phương trình cho bánh trái:
−k m k e km Iw
M w ẍ = θ̇w + V a− θ̈w −H L(2.10)
Rr Rr r
- Phương trình cho bánh phải:
−k m k e km Iw
M w ẍ = θ̇w + V a− θ̈w −H R (2.11)
Rr Rr r
- Vì chuyển động tuyến tính tác dụng lực lên trục động cơ, vận tốc góc có thể
chuyển thành vận tốc tuyến tính theo phương trình sau:

θ̈ w r= ẍ ⟹ θ̈w =
r

θ̇ w r= ẋ ⟹ θ̇w =
r
- Tính tổng 2 phương trình 2 bánh:

12
Iw −2 k m k e 2 km
2(M w + 2
) ẍ= 2
ẋ + 2
V a −(H L + H R ) (2.12)
r Rr Rr

Hình 2.6: Phân tích lực tác động lên bánh xe

- Áp dụng định luật Newton tính được tổng lực tác động lên bánh xe theo
phương ngang:
∑ F x =M p ẍ
2
(H L + H R )−M p l θ̈ p cos θ p + M p l θ̇ p sin θ p =M p ẍ (2.13)
-Ta được:
2
(H L + H R )=M p ẍ + M p l θ̈ p cos θ p+ M p l θ̇ p sin θ p (2.14)
- Lực vuông góc tác động lên thân xe:
∑ F xp=M p ẍ cos θ p
(H L + H R )cos θ p+(P L + P R )sin θ p −M p gsinθ p−M p l θ̈ p =M p ẍ cos θ p

(2.15)
- Tổng moment tác động lên trọng tâm của thân xe:
∑ M o =Iα
13
−(H L + H R )lcosθ p−(P L + P R )lsin θ p−(C L +C R )=I p θ̈ p (2.16)
- Ta có:
−2 k m k e ẋ 2 k m
C L + C R= + ∗( Vl +Vr ) (2.17)
R r R
- Thay vào phương trình 2.15 ta được:
−2 k m k e ẋ 2 k m
−( H L + H R ) lcosθ p−( P L + P R ) lsin θ p−( + V )=I p θ̈ p
R r R a
(2.18)
- Nhân -l vào phương trình (2.17) và thế phương trình (2.16) vào đó ta có:
2 km ke 2 km 2
I p θ̈ p− ẋ+ V a + M p glsin θ p + M p l θ̈ p =−M p l ẍ cos θ p
Rr R
(2.19)
- Thế phương trình (2.13) vào (2.14) ta có:

(
2 Mw+
Iw
r
2 ) ẍ=
−2 k m k e
Rr
2
ẋ +
2 km
Rr
2
2
V a −M p ẍ−M p l θ̈ p cos θ p + M p l θ̇ p sin θ p

(2.20)
- Hai phương trình (2.20) (2.19) là hệ phương trình phi tuyến của hệ thống.
Để tuyến tính hóa mô hình trên ta cho θ p =π + ϕ với ϕ là 1 góc nhỏ theo
phương thẳng đứng lên trên. Từ đó ta có:
cos θ p=−1

sin θ p =−ϕ

( )
2
d θp
=0
dt

- Từ đó ta có mô hình tuyến tính hóa của hệ thống:


2 2 km k e 2 km
(I p + M p l ) ϕ̈− ẋ + V −M p glϕ=M p l ẍ (2.21)
Rr R a
2 km
Rr ( 2 Iw
V a = 2 M w + 2 + M p ẍ +
r
2 km ke
Rr
2 )
ẋ−M p l ϕ̈ (2.22)

14
- Để có được mô hình biến trạng thái của hệ thống ta rút các biến trạng thái từ
phương trình (2.21) và (2.22), ta có:
M pl 2 km ke 2 km M p gl
ϕ̈= ẍ + ẋ− (Vl+ Vr)+ ϕ
R ( I p+ M p l )
2 2 2 2
I p+ M pl Rr ( I p + M p l ) R (I p + M p l )
2km 2 km ke Mpl
ẍ= (Vl +Vr)− ẋ+ ϕ̈

(
Rr 2 M w +
2Iw
r2
+M p
) 2
(
R r 2 M w+
2 Iw
r2
+M p
) ( 2Mw+
2Iw
r2
+M p
)
- Bằng cách thay 2 phương trình trên vào lần lượt các phương trình (20) và
(21) ta được hệ không gian trạng thái như sau:

[ ][ ] [ ]
0 1 0 0 0

[]
ẋ 2 k m k e (M p lr−I p −M p l 2) M p2 g l 2 2
x 2 k m (I p + M p l −M p lr)
0 0
ẍ Rr α
2
α ẋ R r 2α
= + Va
ϕ̇ 0 0 ϕ 0
ϕ̈ 0 2 k m k e (rβ −M p l) 1 ϕ̇
M p glβ 2 k m ( M p l−rβ )
0 2 0
Rr α α Rrα

- Với:
2Iw
β=(2 M w + 2
+ M p)
r

[ 2
α = I p β+ 2 M p l M w +
( Iw
r2 )]
Với mô hình trên, chỉ đúng khi xe luôn nằm trên mặt phẳng và bỏ qua ma sát
của bánh xe với mặt phẳng, và lực tác động là không đáng kể.

2.4 Giải thuật điều khiển


2.4.1 Bộ điều khiển PD mờ cho hệ xe hai bánh tự cân bằng
Bộ điều khiển PD mờ (Fuzzy PD Controller) là một hệ thống điều khiển sử
dụng logic mờ để quyết định đầu ra của bộ điều khiển dựa trên các quy tắc
mờ và giá trị đầu vào. Trong trường hợp của hệ xe 2 bánh tự cân bằng, bộ
điều khiển PD mờ có thể được sử dụng để duy trì sự cân bằng của xe trong
quá trình di chuyển.

15
Hình 2.7: Sơ đồ bộ điều khiển PD Fuzzy

Phương pháp suy diễn MAX-MIN:


Xét quy tắc thứ k của một hệ quy tắc mờ:
r k : Nếu x 1 l à ~ ~ ~
A1 , k v à … v à x n l à A n , k t hì y l à Bk
~ ~
Giả sử ngõ vào x 1 là A ' 1 và x 2 là A ' 2, tìm y
Ngõ ra y tính theo phương pháp suy diễn MAX

Hình 2.8. Phương pháp suy diễn MAX-MIN

Hình 2.8: Hình hệ mờ căn bản


+Hệ mờ:
Hệ mờ cơ bản gồm 3 thành phần: khối mờ hóa, hệ quy tắc và khối giải mờ.
Hệ mờ cơ bản là hệ mờ tĩnh, điều này có nghĩa là giá trị ngõ ra của hệ mờ ở

16
một thời điểm chỉ phụ thuộc vào giá trị ngõ vào ở thời điểm đó.
Khối tiền xử lý: Tín hiệu vào bộ điều khiển thường là giá trị rõ từ các mạch
đo, bộ tiền xử lý có chức năng xử lý các giá trị đo này trước khi đưa vào bộ
điều khiển mờ cơ bản.
Khối tiền xử lý có thể:
• Lượng tử hóa hoặc làm tròn giá trị đo.
• Chuẩn hóa hoặc tỉ lệ giá trị đo vào tầm giá trị chuẩn.
• Lọc nhiễu.
Khối mờ hóa có chức năng biến đổi giá trị rõ sang giá trị ngôn ngữ, hay nói
cách khác là sang tập mờ, vì hệ quy tắc mờ chỉ có thể suy diễn trên các tập
mờ.
Quy tắc Sugeno: Quy tắc mờ này được Sugeno đưa ra vào năm 1983 và có
dạng tổng quát như sau:
r i : Nếu x 1 là ~ ~
A 1 ,i và … và x n là A n ,i thì y 1=f 1 ,i ( x 1 , … , x n ) ,… , y m =f m ,i ( x 1 , … , x n )

Kết luận của quy tắc điều khiển mờ Sugeno là hàm của tín hiệu vào bộ điều
khiển.
Nếu dùng hàm tuyến tính ở kết luận thì quy tắc mờ Sugeno có dạng:
n
r i : Nếu x 1 là ~ ~
A 1 ,i và … và x n là A n ,i thì y 1=b 0 ,i + ∑ b j , i x i
j=1

Thí dụ: Nếu e lớn và ∆ e nhỏ thì u = 4e + 2∆ e


Quy tắc mờ Sugeno có thể đơn giản hơn khi cho b j ,i =0. Khi đó kết luận của
quy tắc mờ Sugeno là hằng số.
Giải mờ: là biến đổi tập mờ (giá trị ngôn ngữ) sang giá trị rõ(giá trị vật lý)
Ngõ ra của của một hệ mờ có thể là hợp của hai hay nhiều tập mờ xác định
trên tập cơ sở của biến ở ngõ ra.
Giải mờ dựa vào điểm trọng tâm

17
Hình 2.9: Các phương pháp giải mờ dựa vào điểm trọng tâm
Công thức:

y=
, ∫ y μ ( y ) dy hay ,
y=
∑ y (k ) μ ( y (k ))
∫ μ ( y ) dy ∑ μ ( y (k))

Khối hậu xử lý:


 Chuyển giá trị chuẩn hóa [-1,1] (không thứ nguyên) thành giá trị vật lý.
 Khuếch đại.
 Mạch tích phân.
2.4.3. Bộ điều khiển mạng thần kinh ( Neural Network )
 Hàm dạng S lưỡng cực:
2
a ( f )= − λf
−1
1+e
 Mạng truyền thẳng nhiều lớp

18
Hình 2.10: Mạng Neural truyền thẳng nhiều lớp
- Mạng truyền thẳng nhiều lớp là mạng truyền thẳng có từ hai lớp tế bào thần
kinh xử lý trở lên. Lớp tế bào thần kinh nối với ngõ vào gọi là lớp vào
(thường lớp vào không thực hiện các phép toán xử lý), lớp tế bào thần kinh
nối với ngõ ra gọi là lớp ra, lớp tế bào thần kinh không nối trực tiếp với ngõ
vào và ngõ ra gọi là lớp ẩn. Kết nối giữa các tế bào thần kinh ở các lớp có thể
đầy đủ hoặc không đầy đủ. Khác với mạng thần kinh truyền thẳng một lớp,
mạng truyền thẳng nhiều lớp có thể giải bài toán không khả phân tuyến tính.
Thuật toán huấn luyện mạng truyền thẳng nhiều lớp là thuật toán lan truyền
ngược. Thuật toán lan truyền ngược thực hiện hai bước truyền thông tin. Thứ
nhất, mẫu dữ liệu vào x(k) được truyền từ ngõ vào đến ngõ ra, kết quả của
việc truyền dữ liệu theo hướng thuận là tạo ra tín hiệu y(k) ở ngõ ra của mạng.
Do thuật toán huấn luyện mạng truyền thẳng là thuật toán lan truyền ngược
nên mạng này được gọi là mạng lan truyền ngược.
 Thuật toán lan truyền ngược ( Back Propagation – BP )
- Cần có một sự phân biệt giữa kiến trúc của một mạng và thuật toán học của
nó, các mô tả trong các mục trên mục đích là nhằm làm rõ các yếu tố về kiến
trúc của mạng và cách mà mạng tính toán các đầu ra từ tập các đầu vào. Sau
đây là mô tả của thuật toán học sử dụng để điều chỉnh hiệu năng của mạng
sao cho mạng có khả năng sinh ra được các kết quả mong muốn.
 Tổng các trọng số tín hiệu vào tế bào thần kinh thứ 𝑞 ở lớp ẩn:
m
net q=∑ v qj x j (2.23)
j=1

 Ngõ ra tế bào thần kinh thứ 𝑞 ở lớp ẩn:

(∑ )
m
z q=ah ( net q )=ah v qj x j (2.24)
j=1

 Tổng các trọng số tín hiệu vào tế bào thần kinh thứ 𝑖 ở lớp ra:

19
l
net i=∑ wiq z q (2.25)
q =1

 Ngõ ra tế bào thần kinh thứ 𝑖 ở lớp ra:


y i=a0 ( net i )=a 0 ¿

 Thuật toán huấn luyện cập nhật trọng số mạng


 Cập nhật trọng số lớp ra:
w iq ( k + 1 )=w iq ( k )+ η δ oi (k) z q (k ) (2.27)
 Trong đó:
δ oi ( k )=[ ( d i ( k )− y i ( k ) ) ] a, 0 ( neti ( k ) ) (2.28)

 Cập nhật trọng số lớp ẩn:


v qj ( k +1 )=v qj ( k ) +η δ hq (k ) x j (k ) (2.29)
Trong đó:

[∑ ]
n
δ h q ( k )= δ oi ( k ) wiq ( k ) a, h (net q ( k ) ) (2.30)
i=1

Bộ điều khiển mạng thần kinh xấp xỉ bộ điều khiển PD mờ sử dụng cấu trúc
mạng truyền thẳng nhiều lớp:
Cấu trúc mạng như sau:
Ea

Eda
U
Ep . .
.
.
Edp

Lớp vào (m=4) Lớp ẩn(l=60) Lớp ra(n=1)

Cấu trúc bộ điều khiển mạng thần kinh bao gồm 3 lớp:
20
+ Lớp vào có 4 tế bào thần kinh
 Sai số góc nghiêng Ea
 Đạo hàm sai số góc nghiêng Eda
 Sai số vị trí Ep
 Đạo hàm sai số vị trí Edp
+ Lớp ẩn có 60 tế bào thần kinh
+ Lớp ra có 1 tế bào thần kinh: Tín hiệu điều khiển U
Hàm xử lý ngõ vào là hàm S lưỡng cực:
2
a ( f )= − λf
−1
1+e
Hàm xử lý ngõ ra là hàm tuyến tính:
a(f) = f
2.4.4.Giải thuật di truyền (GA)
 Khái niệm
- Giải thuật di truyền cung cấp một cách tiếp cận cho việc học dựa vào mô
phỏng sự tiến hóa Các giả thuyết thường được mô tả bằng các chuỗi bit,
việc hiểu các chuỗi bit này tùy thuộc vào ứng dụng, ý tưởng các giả thuyết
cũng có thể được mô tả bằng các biểu thức kí hiệu hoặc ngay cả các chương
trình máy tính. Tìm kiếm giả thuyết thích hợp bắt đầu với một quần thể, hay
một tập hợp có chọn lọc ban đầu của các giả thuyết.
- Các cá thể của quần thể hiện tại khởi nguồn cho quần thể thế hệ kế tiếp
bằng các hoạt động lai ghép và đột biến ngẫu nhiên – được lấy mẫu sau các
quá trình tiến hóa sinh học. Ở mỗi bước, các giả thuyết trong quần thể hiện
tại được qớc lượng liên hệ với đại lượng thích nghi được cho, với các giả
thuyết phù hợp nhất được chọn theo xác suất là các hạt giống cho việc sản
sinh thế hệ kế tiếp.
- Giải thuật di truyền đã được ứng dụng một cách thành công cho những tác
vụ học khác nhau và cho các vấn đề tối qu hóa khác. Ví dụ, chúng đã được
21
dùng để học tập luật điều khiển robot và để tối qu hóa các thông số học và
tôpô cho mạng nơron nhân tạo.
 Lưu đồ giải thuật
 Bước 1: Khởi tạo quần thể các nhiễm sắc thể.
 Bước 2: Xác định giá trị thích nghi của từng nhiễm sắc thể.
 Bước 3: Sao chép lại các nhiễm sắc thể dựa vào giá trị thích nghi của chúng
và tạo ra những nhiễm sắc thể mới bằng các phép toán di truyền.
 Bước 4: Loại bỏ những thành viên không thích nghi trong quần thể.
 Bước 5: Chèn những nhiễm sắc thể mới vào quần thể để hình thành quần
thể mới.
 Bước 6: Nếu mục tiêu tìm kiếm đạt được thì dừng, nếu không trở lại bước

Hình 2.11: Lưu đồ giải thuật GA

22
Thông số bộ PD mờ được chỉnh tự động dùng giải thuật di truyền với các tùy
chọn:
• Kích thước quần thể: N = 20
• Chọn lọc xếp hạng tuyến tính: η=0.2
• Lai ghép 2 điểm, xác suất lai ghép: Pc =0.95
• Đột biến đều, xác suất đột biến: Pm=0.05
• Hàm thích nghi: ρ=0.02
• Mã hóa thập phân: dấu chấm thập phân ở vị trí số 2, lấy 4 chữ số có nghĩa.
• Khởi động quần thể đầu tiên: ngẫu nhiên.
 Mã hóa : Giải thuật di truyền sử dụng kiểu mã hóa thập phân
 Trình bày giải thuật di truyền tổng quát:
Hàm đánh giá (fitness function): Dùng để đánh giá một ứng cử viên mang
thấp hay không. Một ứng cử viên càng phải chăng tức là độ thích ứng của nó
càng cao và tiến tới trở thành lời giải đúng của bài toán. Việc ngoại hình 1
hàm kiểm tra phải chăng là siêu quan yếu trong thuật toán di truyền. Một hàm
kiểm tra không chính xác mang thể làm mất đi các người mua việc rẻ trong
quần thể.
+Các toán tử di truyền phổ biến là Lai ghép (cross-over): Toán tử lai ghép lấy
hai lời giải người tậu việc và chia từng lời giải ra thành hai phần, sau đó bàn
thảo các phần có nhau để tạo ra ứng viên mới.
+Đột biến (mutation): Đột biến lấy 1 người sắm việc đơn lẻ và thay đổi 1
phương pháp tự nhiên một khía cạnh nào đó của nó. Độ thích nghi(fitness)
+Mã hóa thập phân trong Giải thuật Di truyền (Genetic Algorithm - GA)
thường được thực hiện bằng cách biểu diễn các cá thể dưới dạng chuỗi bit,
trong đó mỗi gen của chuỗi tương ứng với một phần của số thập phân.

23
+Xếp hạng tuyến tính (Linear Ranking) là một phương pháp xếp hạng cá thể
trong Giải thuật Di truyền (Genetic Algorithm - GA). Nó đánh giá cá thể dựa
trên vị trí của chúng trong quần thể sau khi sắp xếp theo hàm mục tiêu.
+Giải mã kết quả về dạng nhiễm sắc thể: Trong một giải thuật di truyền
(Genetic Algorithm - GA), việc giải mã một chromosome (cá thể) từ biểu diễn
nhị phân về giá trị thập phân thường được thực hiện thông qua một hàm
decode.
+Khởi tạo: Trong giải thuật di truyền (Genetic Algorithm - GA), quá trình
khởi tạo cá thể ban đầu được thực hiện thông qua một hàm khởi tạo.
=> Một toán tử di truyền tốt đóng 1 vai trò quan trọng trong thuật toán di
truyền. Toán tử di truyền buộc phải bảo toàn các mối quan hệ cốt yếu trong
quần thể; ví dụ, sự với mặt và sự độc nhất của mọi những thành phố trong
hành trình của người bán hàng trong bài toán người đi bán hàng.

24
Chương 3: THIẾT KẾ BỘ ĐIỀU KHIỂN
3.1. Khai báo và xây dựng bộ điều khiển
- Đầu tiên để tiến hành xây dựng bộ điều khiển ta cần khai báo giá trị của các
thông số vật lý trong hệ thống cho 3 bộ điều khiển.

3.1.1. Khai báo thông số hệ thống xe hai bánh cân bằng


Bảng khai báo thông số vật lý của hệ xe 2 bánh
Ký hiệu Giá trị Đơn vị Ý Nghĩa
mw 0.02 Kg Khối lượng bánh xe
mp 0.52 Kg Khối lượng robot
r 0.025 m Bán kính bánh xe
L 0.1 m Khoảng cách từ trọng tâm đến trục bánh xe
ip 0.0038 Quán tính bánh xe
iw 0.0032 Quán tính robot
R 1.6 Ohm Điện trở động cơ DC
ke 0.01375 Vs/rad Hệ số back emf của động cơ
km 0.0136 Nm/A Moment xoắn của động cơ
g 9.81 2 Gia tốc trọng trường
m/ s

3.1.2. Xây dựng bộ điều khiển


 Bộ điều khiển Mờ (PD Fuzzy)

Hình 3.1: Mô tả hệ thống với bộ điều khiển PD Fuzzy

25
+ Ở hệ thống điều khiển xe 2 bánh tự cân bằng, ta phải điều khiển ổn định 2
tham số là góc nghiêng và vị trí của hệ thống nên ta tách ra thành 2 bộ điều
khiển song song hoặc lồng nhau và hiệu chỉnh các thông số Kp Kd, luật mờ,
hậu xử lý của bộ điều khiển mờ để điều khiển được điện áp cấp cho động cơ
để có được đáp ứng mong muốn.

+ Để điều khiển ổn định được xe cân bằng trước tiên ta phải hiệu chỉnh ổn
định được góc nghiêng của xe trước sau đó ta hiệu chỉnh để ổn định tiếp bộ
điều khiển vị trí cho xe.

 Xây dựng hàm liên thuộc và luật mờ cho bộ điều khiển PD Fuzzy

Hình 3 2: Đồ thị hàm liên thuộc ngõ ra DU

Hình 3.3: Bảng hệ quy tắc mờ


26
- Sử dụng luật max-min và thiết lập theo hệ qui tắc kiểu Sugeno trong khối
Fuzzy Logic Designer, có hai ngõ vào là E và DE, ngõ ra là DU, trong đó ngõ
vào có 3 tập mờ là N,Z,P ở E và 5 tập mờ ngõ ra là N,Z,P,NZ,PZ có giá trị
phạm vi từ [-1 1] và DE có giá trị phạm vi từ [ -0.7 0.7]

Hình 3.4a: Xác định input và output trong Fuzzy Logic Designer

Hình 3.5b: Thêm ngõ vào “Ađ Variable”

27
Hình 3.6: Tập mờ của ngõ vào E

Hình 3.7: Tập mờ của ngõ vào DE

28
Hình 3.8: Hàm liên thuộc của ngõ ra U

Hình 3.9: Bảng quy tắc 9 luật mờ

29
Hình 3.10: Mặt đặc tính biểu diễn mối quan hệ vào ra của hệ mờ

Hình 3.11: Giải Mờ bằng rules

3.2. Xây dựng mô hình Malab Simulink

30
Hình 3.12: Xây dựng toàn bộ hệ thống trên Simulink

Hình 3.13: Khối Matlab Function mô tả phương trình không gian trạng thái của hệ
thống

 Mô phỏng trên môi trường Matlab Simulink Version 2022b

-Model Setting: Stop time: 50 giây, Type: Fixed-step, Solver details -> Fixed-
step size: 0.01

-Bỏ chọn Single Simulation Output trong mục Data Import/Export

31
Hình 3.14: Thiết lập môi trường mô phỏng trong Modeling Setting

Mô phỏng đáp ứng ngõ ra của hệ thống

Hình 3.15: Xung cấp cho bộ điều khiển

32
Hình 3.16: Sai số xác lập của góc nghiêng

Hình 3.17: Sai số xác lập của vị trí

33
Hình 3.18: Ngõ vào của đối tượng điều khiển

Hình 3.19: Đáp ứng ngõ ra của góc

Hình 3.20: Đáp ứng ngõ ra của vị trí

34
 Xây dựng bộ điều khiển mạng thần kinh thay thế bộ điều khiển PD mờ

 Mô phỏng trên môi trường Matlab Simulink Version 2022b

 Model Setting: Stop time: 50 giây, Type: Fixed-step, Solver details ->
Fixed-step size: 0.01

 Bỏ chọn Single Simulation Output trong mục Data Import/Export

 Thiết lập Format của các scope ngõ vào và ngõ ra kiểu Structure With
Time và đặt tên tương ứng với ngõ vào và ngõ ra mà scope đó đang quan sát:

+ Vào Scope->View->Configuration properties->logging-> tích chọn log data


to workspace

+ Đặt tên tương ứng tại Variable name, chỉnh Structure with time tại save
format.

Hình 3.21: Thiết lập cho các scope ngõ vào

35
Hình 3.22: Thiết lập scope cho ngõ ra U

 Chương trình huấn luyện mạng thần kinh

input =
[Ea.signals.values';Eda.signals.values';Ep.signals.values';Edp.signals.values'];

output = U.signals.values';

%%range = [-1, 1; -1 1; -1 1; -1 1];

Mynet = newff(range, [60,1], {'tansig' 'purelin'});

Mynet.trainParam.epochs = 50000;

Mynet.trainParam.goal = 0.00001;

Mynet.adaptParam.passes = 0.0001;

Mynet = train(Mynet,input,output);

Tsamp = 0.01;

%%%Display:

gensim(Mynet,Tsamp)

36
Hình 3.23: Dữ liệu huấn luyện mạng thần kinh

37
Hình 3.24: Bộ quan sát toàn bộ hệ thống

Hình 3.25: Bộ điều khiển PD fuzzy trong Matlab Simulink

38
Hình 3.26: Mô hình huấn luyện mạng thần kinh xấp xỉ hình 3.24 trong Simulink

Hình 3.27: Tín hiệu điện áp của mạng thần kinh

Hình 3.28: Khối scope quan sát đầu vào dữ liệu NN

39
Hình 3.29: Scope quan sat ngõ vào huấn luyện mạng thần kinh

Hình 3.30: Đáp ứng ngõ ra tín hiệu điện áp U

40
Hình 3.31: Scope quan sát tiền và hậu xử lý

Hình 3.32: Đáp ứng Tín hiệu điều khiển điện áp U và T2 sau huấn luyện

41
Hình 3.33: Đáp ứng tín hiệu của sai số góc nghiêng Ea và T sau huấn luyện

Hình 3.34: Đáp ứng tín hiệu của sai số góc nghiêng Ep và T1 sau huấn luyện

42
Hình 3.35: Scope quan sát đáp ứng ngõ ra của PD mờ và NN sau huấn luyện

Hình 3.36: Đáp ứng tín hiệu ngõ ra của Vị trí của PD mờ và NN sau huấn luyện

43
Hình 3.37: Đáp ứng tín hiệu ngõ ra của góc nghiêng của PD mờ và NN sau huấn luyện

Hình 3.38: Đáp ứng tín hiệu ngõ ra của Đạo hàm góc nghiêng của PD mờ và NN sau
huấn luyện

44
Hình 3.39: Đáp ứng tín hiệu ngõ ra của Đạo hàm Vị trí của PD mờ và NN sau huấn
luyện

 Xây dựng bộ điều khiển Genetic Algorithms (GA)

 Mô phỏng trên môi trường Matlab Simulink Version 2022b

 Model Setting: Stop time: 50 giây, Type: Fixed-step, Solver details ->
Fixed-step size: 0.01

 Bỏ chọn Single Simulation Output trong mục Data Import/Export

 Thiết lập cấu trúc khối To Workspace sang kiểu Array trong Save Format-
> chọn 3-D array

Hình 3. 40: Thiết lập khối To Workspace


45
 Xây dựng chương trình giải thuật di truyền điều chỉnh thông số bộ điều
khiển PD mờ

 Thông số chuẩn của bộ điều khiển PD mờ đã khảo sát: Kp = 2.75, Kd =


0.96, Kp1 = 1, Kd1 = 2, Ku = Ku1 = -250.

 Số thế hệ chạy tối đa: 200

 Số thế hệ giống nhau tối đa: 50

 Phạm vi điều chỉnh của từng thông số tối ưu nhất:

+ Kp thuộc [0,50] , Kp1 thuộc [0,50]

+ Kd thuộc [0,50], Kd1 thuộc [0,50]

+ Ku và Ku1 thuộc [0,100]

Bảng 3.1: Chương trình giải thuật di truyền (GA)

clc;
clear all
rand('state',sum(100*clock));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
max_generation=200; %% có 200 lan chay trong quá trình
max_stall_generation=50; %% 50 the he giong nhau thì dung
epsilon=0.0001; %% J chuan ( neu the he nào có J<=epsilon tuc là tìm dc thông
so thoa man, thì dung)
N=20; %%so cá the trong quan the, moi cá the có moi bo PD riêng biet
npar = 6 ; %% có 6 nhiem sac the trong 1 cá the
range=[ 0 0 0 0 0 0;...
50 50 100 50 50 100 ]; %% giá tri Ki kp ku nam trong khoang
dec=[2 2 2 2 2 2]; %% vi tri dau cham thap phan
sig=[4 4 4 4 4 4]; %% so chu so co nghia sau dau thap phan
cross_prob = 0.95; %% muc do cá the con giong ca the me
mutate_prob = 0.05; %% he so dot bien, he so càng lon thì cá the con càng ít
giong cá the me
elitism = 1; %% luon giu lai giá tri tot nhat trong khi lai tao
rho=0.02; %% trong so quyet dinh cái nào quan trong vs J hon
jmin = 10000;
par=Init(N,npar,range); %%khai tao 20 ca the cha me dau tien
Terminal=0; % điều kiện chạy của hệ thống
generation = 0; %% bien dem so the he
stall_generation=0; %biến đếm số thế hệ hàm thích nghi

for pop_index=1:N, % chỉ số của cá thể cần được xử lý


Kp = par(pop_index,1);
Kd = par(pop_index,2);
46
Ku = par(pop_index,3) - 250;
Kp1 = par(pop_index,4);
Kd1 = par(pop_index,5);
Ku1 = par(pop_index,6) - 250;

sim('GA_PD_MO.slx'); %%bat dau mo phong


if length (e1)>9500 % sai số e và e1
J = (e'*e) + (e1'*e1) + rho*(u'*u); % hàm mục tiêu
if J<jmin
jmin=J
Kp
Kd
Ku
Kp1
Kd1
Ku1
end
fitness(pop_index)=1/(J+eps); % tìm cực tiểu của hàm thích nghi
else
J=10^100;
fitness(pop_index)=1/(+J+eps);
end
end;
[bestfit0,bestchrom]=max(fitness);
Kp0=par(bestchrom,1); %cac ca the
Kd0=par(bestchrom,2); %dau tien
Ku0 = par(bestchrom,3) - 250;
Kp10=par(bestchrom,4);
Kd10=par(bestchrom,5);
Ku10=par(bestchrom,6) - 250;
J0=1/bestfit0+0.001;%do elitism= nen doi hoi phai co 1 cha me tot nhat de so
sanh
while ~Terminal,%terminal se bang 1 neu chay du 250 the he hoac trong qua
trinh chay co 1 the he con cai tối ưu nhất thì dừng
generation = generation+1;%truoc moi lan chay cho hien thi
disp(['generation #' num2str(generation) ' of maximum '
num2str(max_generation)]);
pop=Encoder_Decimal(par,sig,dec); %ma hoa thap phan(NST cua cac cha me)
parent=Select_Linear_Ranking(pop,fitness,0.2,elitism,bestchrom); %sap
hang cha me tuyen tinh(cha me tot nhat)
child=Cross_Twopoint(parent,cross_prob,elitism,bestchrom);%con cai sinh
ra se dc lai ghep theo hai điểm
pop=Mutate_Uniform(child,mutate_prob,elitism,bestchrom);%dot bien theo
dang phan bo deu
par=Decode_Decimal(pop,sig,dec);%giai ma ket qua ve lai dang nst
%đánh giá lại độ thích nghi của các cá thể sau khi tiến hóa
for pop_index = 1:N, %lan luot test tung ca the trong quan the
Kp = par(pop_index,1);
Kd = par(pop_index,2);
Ku = par(pop_index,3) - 250;
Kp1 = par(pop_index,4);
Kd1 = par(pop_index,5);
Ku1 = par(pop_index,6) - 250;
sim('GA_PD_MO.slx');%tien hanh chay mo phong de kiem tra
if length (e1)>1900
J= (e'*e) + (e1'*e1) + rho*(u'*u);
47
if J<jmin
jmin = J
Kp
Kd
Ku
Kp1
Kd1
Ku1
end
fitness(pop_index)=1/(J+eps);
else
J=10^10;
fitness(pop_index)=1/(J+eps);
end
end;

[bestfit(generation),bestchrom]=max(fitness);%ca the nao co


kp,kp1,kd,kd1,ku,ku1 se dc chon la ca the toi uu
if generation == max_generation %neu chay du 200 the he roi ma chua co ca the
toi uu
Terminal = 1; %thi cho terminal=1,stop GA
elseif generation>1,
if abs(bestfit(generation)-bestfit(generation-1))<epsilon,
stall_generation=stall_generation+1;
if stall_generation == max_stall_generation, Terminal = 1;end %con
trong qtr chay ma xuat hien ca the toi uu thi dung
else
stall_generation=0;
end;
end;

end; %While
plot(1./bestfit)
Kp = par(pop_index,1);
Kd = par(pop_index,2);
Ku = par(pop_index,3) - 250;
Kp1 = par(pop_index,4);
Kd1 = par(pop_index,5);
Ku1 = par(pop_index,6) - 250;
J = 1/bestfit(end) %ham tieu chuan tuong ung ca the con tot nhat do
sim('GA_PD_MO.slx');%tien hanh mo phong lai de kiem tra ca the con tot nhat
do cho dap ung he thong nhu the nao

48
Hình 3.41: Thông số điều chỉnh tối ưu

Hình 3.42: Thông PD Mờ cho Góc sau khi áp dụng GA

49
Hình 3.43: Thông PD Mờ cho Vị trí sau khi áp dụng GA

 Đáp ứng tín hiệu của hệ xe hai bánh cân bằng sau khi áp dụng GA điều
chỉnh thông số

Hình 3.44: Đáp ứng ngõ ra góc nghiêng của bộ PD mờ sau khi áp dụng GA điều chỉnh
thông số

50
Hình 3.45: Đáp ứng ngõ ra vị trí của Bộ PD mờ sau khi áp dụng GA điều chỉnh thông
số

Hình 3.46: Đáp ứng Tín hiệu điều khiển

51
Chương 4: PHÂN TÍCH VÀ KẾT LUẬN
4.1. Đối với bộ điều khiển PD mờ

 Phân tích:

- Bộ điều khiển PD mờ cho hệ xe hai bánh tự cân bằng có hai tín hiệu vào là
sai số E và vi phân sai số DE, 1 tín hiệu ra là vi phân điện áp điều khiển DU

- Do hệ xe hai bánh tự cân bằng có tính phi tuyến cao nên ta chọn số tập mờ
cho mỗi biến đầu vào là 3, số tập mờ cho mỗi biến đầu ra là 5

- Để hệ xe hai bánh tự cân bằng có thể dao động di chuyển quanh vị trí cân
bằng, qua quá trình khảo sát, chọn được thông số như sau:

+ Hệ số Kp,Kd cho góc và vị trí phụ thuộc vào thông số vật lí được chuẩn hóa
như sau:

Kp = 2.75, Kd = 0.96, Kp1 = 1, Kd1 = 2

+ Hệ số Ku được chọn trong quá trình tinh chỉnh chất lượng của hệ thống nên
chọn Ku = Ku1 = -250

 Kết luận:

- Ngõ ra đáp ứng kịp với tín hiệu đặt.

- Ngõ ra không có vọt lố so với tín hiệu đặt.

=> Hệ dao động ổn định đối với bộ điều khiển PD mờ.

4.2. Đối với bộ điều khiển Neural Network


 Phân tích:

 Phân tích dữ liệu:

+ Input: Dữ liệu đầu vào gồm Ea,Eda,Ep,Edp.

52
+ Output: Dữ liệu đầu ra U.

+ Đặt miền giá trị đầu vào chạy từ -1 đến 1.

+ Mạng thần kinh với 4 đầu vào, 60 nơ-ron ẩn, và 1 đầu ra.

+ Số vòng lặp huấn luyện : 50000

+ Mục tiêu lỗi : 0.00001

+ Số lần điều chỉnh tham số: 0.0001

 Phân tích đáp ứng:

- Việc thay đổi mục tiêu lỗi và số vòng lặp huấn luyện làm cho số lượng cá
thể và thời gian huấn luyện thay đổi.

- Đối với mục tiêu lỗi càng nhỏ, thì số lượng cá thể và thời gian huấn luyện
tăng, chất lượng huấn luyện càng bám sát với mô hình mẫu.

- So sánh kết quả huấn luyện khi thay đổi số vòng lặp huấn luyện, mục tiêu
lỗi và số lần điều chỉnh tham số.

+ Số vòng lặp huấn luyện: 2000, Mục tiêt lỗi: 0.006, Số lần điều chỉnh tham
số: 20 (*)

53
Hình 4.1: Dữ liệu huấn luyện với thông số (*)

54
Hình 4.2: Kết quả huấn luyện Ngõ ra vị trí với thông số (*)

Hình 4.3: Kết quả huấn luyện tín hiệu Đạo hàm vị trí với thông số (*)

55
Hình 4.4: Kết quả huấn luyện tín hiệu góc nghiêng với thông số (*)

Hình 4.5: Kết quả huấn luyện tín hiệu góc nghiêng với thông số (*)

+ Số vòng lặp huấn luyện: 50000, Mục tiêt lỗi: 0.00001, Số lần điều chỉnh
tham số: 0.0001 (**)

56
Hình 4.6: Dữ liệu huấn luyện với thông số (**)

57
Hình 4.7: Kết quả huấn luyện Ngõ ra vị trí với thông số (**)

Hình 4.8: Kết quả huấn luyện tín hiệu Đạo hàm vị trí với thông số (**)

Hình 4.9: Kết quả huấn luyện tín hiệu góc nghiêng với thông số (**)
58
Hình 4. 10: Kết quả huấn luyện tín hiệu góc nghiêng với thông số (*)

Kết luận:
- Thay đổi tham số huấn luyện có thể giúp cho đáp ứng ngõ ra sau khi huấn
luyện bám sát hơn với mô hình mẫu

- Số cá thể huấn luyện càng nhiều và thời gian huấn luyện càng dài giúp cho
quá trình huấn luyện mạng thần kinh đạt được chất lượng tốt hơn

- Ngõ ra đáp ứng kịp với tín hiệu đặt.

- Ngõ ra không có vọt lố so với tín hiệu đặt.

=> Hệ dao động ổn định đối với bộ điều khiển Mạng thần kinh thay thế bộ
điều khiển mờ.

4.3 Đối với bộ điều khiển GA


 Phân tích:

 Phân tích số liệu:

- Số lần chạy trong quá trình: 200

- Số thế hệ liên tiếp mà không có sự cải thiện để dừng: 50

- Ngưỡng dừng nếu giá trị hàm mục tiêu thấp hơn epsilon: 0.0001
59
- Số cá thể trong quần thể: 20

- Miền giá trị của các tham số PD và thông số hậu xử lý:

+ Kp thuộc [0,50] , Kp1 thuộc [0,50]

+ Kd thuộc [0,50], Kd1 thuộc [0,50]

+ Ku và Ku1 thuộc [0,100]

 Phân tích đáp ứng :

- Việc thay đổi miền giá trị của tham số PD và thông số hậu xử lý và số thế hệ
liên tiếp giống nhau làm cho thời gian chạy GA lâu hơn, thông số sau khi điều
chỉnh sát với thông số chuẩn hóa của bộ PD mờ.

- Đối với phạm vi càng xa giá trị chuẩn hóa, thì độ chính xác của các tham số
điều chỉnh mà giải thuật di truyền đưa ra càng lệch => đáp ứng ngõ ra không
ổn định với mô hình mẫu.

 So sánh đáp ứng ngõ ra khi thay đổi phạm vi của các tham số, số cá thể
giống nhau tối đa:

Miền giá trị của các tham số PD và thông số hậu xử lý: (*)

+ Kp thuộc [0,100] , Kp1 thuộc [0,100]

+ Kd thuộc [0,100], Kd1 thuộc [0,100]

+ Ku và Ku1 thuộc [0,200]

Bảng 4.1: Chương trình khởi tạo GA với thông số (*)


max_generation=200; %% có 200 lan chay trong quá trình
max_stall_generation=50; %% 50 the he giong nhau thì dung
epsilon=0.0001; %% J chuan ( neu the he nào có J<=epsilon tuc là tìm dc thông
so thoa man, thì dung)
N=20; %%so cá the trong quan the, moi cá the có moi bo PD riêng biet
npar = 6 ; %% có 6 nhiem sac the trong 1 cá the
range=[ 0 0 0 0 0 0;...
100 100 200 100 100 200 ]; %% giá tri Ki kp ku nam trong khoang
dec=[2 2 2 2 2 2]; %% vi tri dau cham thap phan
sig=[4 4 4 4 4 4]; %% so chu so co nghia sau dau thap phan
60
cross_prob = 0.95; %% muc do cá the con giong ca the me
mutate_prob = 0.05; %% he so dot bien, he so càng lon thì cá the con càng ít
giong cá the me
elitism = 1; %% luon giu lai giá tri tot nhat trong khi lai tao
rho=0.02; %% trong so quyet dinh cái nào quan trong vs J hon
jmin = 10000;
par=Init(N,npar,range); %%khai tao 20 ca the cha me dau tien
Terminal=0; % điều kiện chạy của hệ thống
generation = 0; %% bien dem so the he
stall_generation=0; %biến đếm số thế hệ hàm thích nghi

Hình 4.11: Đáp ứng ngõ ra tín hiệu góc và vị trí với thông số (*)

Miền giá trị của các tham số PD và thông số hậu xử lý: (**)

+ Kp thuộc [0,40] , Kp1 thuộc [0,40]

+ Kd thuộc [0,40], Kd1 thuộc [0,40]

+ Ku và Ku1 thuộc [0,100]


61
Chương trình khởi tạo GA với thông số (**)
max_generation=200; %% có 200 lan chay trong quá trình
max_stall_generation=50; %% 50 the he giong nhau thì dung
epsilon=0.0001; %% J chuan ( neu the he nào có J<=epsilon tuc là tìm dc thông
so thoa man, thì dung)
N=20; %%so cá the trong quan the, moi cá the có moi bo PD riêng biet
npar = 6 ; %% có 6 nhiem sac the trong 1 cá the
range=[ 0 0 0 0 0 0;...40 40 100 40 40 100 ]; %% giátrKi kp ku nam trong
khoang
dec=[2 2 2 2 2 2]; %% vi tri dau cham thap phan
sig=[4 4 4 4 4 4]; %% so chu so co nghia sau dau thap phan
cross_prob = 0.95; %% muc do cá the con giong ca the me
mutate_prob = 0.05; %% he so dot bien, he so càng lon thì cá the con càng ít
giong cá the me
elitism = 1; %% luon giu lai giá tri tot nhat trong khi lai tao
rho=0.02; %% trong so quyet dinh cái nào quan trong vs J hon
jmin = 10000;
par=Init(N,npar,range); %%khai tao 20 ca the cha me dau tien
Terminal=0; % điều kiện chạy của hệ thống
generation = 0; %% bien dem so the he
stall_generation=0; %biến đếm số thế hệ hàm thích nghi

Hình 4. 12: Đáp ứng ngõ ra với thông số (**)

62
Kết luận:

- Giới hạn chính xác được miền giá trị giúp cho việc điều chỉnh thông số bằng
GA cho ra đáp ứng chuẩn xác nhất của bộ điều khiển mờ

- Số thế hệ giống nhau càng nhiều và thời gian chạy càng lâu giúp cho quá
trình điều chỉnh thông số được chính xác hơn.

- Ngõ ra đáp ứng kịp với tín hiệu đặt.

-Ngõ ra không có vọt lố so với tín hiệu đặt.

=> Hệ dao động ổn định đối với thông só điều chỉnh nhờ GA.

63
Chương 5: TÀI LIỆU THAM KHẢO
[1]. Nguyễn Doãn Phước, Phan Xuân Minh, Hán Thành Trung (2003), Lý

thuyết điều khiển phi tuyến, Nxb Khoa học và Kỹ thuật, Hà Nội.

[2]. Vũ Mạnh Xuân (2006) “Tính toán tiến hóa trong tối ưu đa mục tiêu” Đề

tài nghiên cứu khoa học cấp Bộ - Mã số: B2006 TN01 – 04

[3] PGS. Ts. Huỳnh Thái Hoàng, Giáo trình điều khiển thông minh.

[4]PGS. Ts. Huỳnh Thái Hoàng, Hệ thống điều khiển thông minh, NXB Đại

Học Quốc Gia.

[5]PGS. Ts. Nguyễn Thị Phương Hà, Lý Thuyết Điều Khiển Hiện Đại, NXB

Đại Học Quốc Gia.

64

You might also like