BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH
CÔNG TRÌNH NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN
K
C
S
0
0
3
9
5
9
NGHIÊN CỨU ĐIỀU KHIỂN CÁNH TAY ROBOT THIẾU DẪN ĐỘNG HAI BẬC TỰ DO - PENDUBOT
MÃ SỐ: SV2020-158
S KC 0 0 7 3 4 3
Tp. Hồ Chí Minh, tháng 08/2020
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM
BÁO CÁO TỔNG KẾT
ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN
NGHIÊN CỨU ĐIỀU KHIỂN CÁNH TAY ROBOT THIẾU DẪN ĐỘNG
HAI BẬC TỰ DO - PENDUBOT
SV2020-158
Chủ nhiệm đề tài: TRẦN MINH ĐỨC
TP Hồ Chí Minh, 08/2020
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM
BÁO CÁO TỔNG KẾT
ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN
NGHIÊN CỨU ĐIỀU KHIỂN CÁNH TAY ROBOT THIẾU DẪN ĐỘNG
HAI BẬC TỰ DO - PENDUBOT
SV2020-158
Thuộc nhóm ngành khoa học: Điều khiển học kỹ thuật
SV thực hiện: Trần Minh Đức Nam, Nữ: Nam
Dân tộc: Kinh
Lớp, khoa: 16151CL3 - Đào tạo Chất Lượng Cao Năm thứ:4/Số năm đào tạo: 4
Ngành học: Công nghệ Kỹ thuật Điều khiển và Tự động hóa
Người hướng dẫn: PGS. TS. Nguyễn Minh Tâm
TP Hồ Chí Minh, 08/2020
MỤC LỤC
LỜI CẢM ƠN ................................................................................................................ 1
LỜI NÓI ĐẦU ................................................................................................................ 2
TÓM TẮT ...................................................................................................................... 3
1. Đặt vấn đề .............................................................................................. 4
2. Lý do chọn đề tài .................................................................................... 4
3. Đối tượng nghiên cứu ............................................................................. 5
4. Phương pháp nghiên cứu ........................................................................ 5
5. Phạm vi nghiên cứu ................................................................................ 6
6. Ý nghĩa khoa học .................................................................................... 6
CHƯƠNG 1: TỔNG QUAN VỀ HỆ PENDUBOT .................................................... 8
1.1 Giới thiệu về hệ pendubot ....................................................................... 8
1.2 Mô tả toán học hệ Pendubot ................................................................... 8
1.2.1 Cơ sở khoa học ....................................................................................... 8
1.2.2 Thành lập phương trình động học cho hệ Pendubot ................................ 9
1.3 Yêu cầu điều khiển hệ pendubot ở các vị trí bất ổn định ....................... 14
1.3.1 Xét tính điều khiển được ở vị trí TOP ................................................ 15
1.3.2 Xét tính điều khiển được ở vị trí MID ................................................... 16
CHƯƠNG 2: GIỚI THIỆU PHẦN CỨNG VÀ PHẦN MỀM ............................ 18
2.1 Vi xử lí LAUNCHXL-F28379D C2000 ................................................. 18
2.3 Động cơ 24VDC M.A.E ........................................................................ 19
2.4 Cầu H IR2184 ...................................................................................... 19
2.5 Module giao tiếp UART sử dụng IC CP2102 ........................................ 20
CHƯƠNG 3: MÔ HÌNH HÓA VÀ NHẬN DẠNG HỆ THỐNG PENDUBOT .... 21
3.1. Phân tích đáp ứng quá độ bằng phương pháp phân tích đáp ứng xung ... 21
3.1.1. Nhiễu DC (Mean) = 0; Nhiễu AC (Var) = 0 ....................................... 21
3.1.2. Nhiễu DC (Mean) = 0.1; Nhiễu AC (Var) = 0 .................................... 22
3.1.3. Nhiễu DC (Mean) = 0; Nhiễu AC (Var) = 0.01 .................................. 22
3.1.4. Nhiễu DC (Mean) = 0.1; Nhiễu AC (Var) = 0.01 ................................ 23
3.2 Phân tích đáp ứng quá độ bằng phương pháp phân tích đáp ứng nấc ....... 23
3.2.1 Nhiễu DC=0; VAR=0......................................................................... 24
3.2.2 Nhiễu DC=0.1, VAR=0 ...................................................................... 24
3.2.3 Nhiễu DC=0; VAR=0.001 .................................................................. 25
3.2.4 Nhiễu DC=0.1; VAR=0.001 ............................................................... 26
3.3 Phân tích đáp ứng quá độ bằng phương pháp phân tích tương quan ........ 26
3.3.1 Nhiễu DC=0; VAR=0......................................................................... 27
3.3.2 Nhiễu DC=0.1; VAR=0 ...................................................................... 28
3.3.3 Nhiễu DC=0; VAR=0.001 .................................................................. 28
3.3.4 Nhiễu DC=0.1, VAR=0.001 ................................................................ 28
3.3.5 Nhận xét cho phân tích đáp ứng quá độ bằng phương pháp phân tích tương quan ................................................................................................ 29
3.4 Phân tích đáp ứng tần số bằng phương pháp kiểm tra sóng sin ................ 29
3.4.1. Khảo sát tại link 1 của đối tượng ...................................................... 29
3.4.2 Khảo sát tại link 2 của đối tượng ....................................................... 31
3.4.3 Nhận xét phương pháp ...................................................................... 32
3.5 Phân tích tần số bằng phương pháp tương quan ...................................... 32
3.5. Phương trình hàm truyền của hệ thống Pendubot ................................... 34
3.6. Nhận dạng mô hình có tham số khi không nhiễu ..................................... 34
3.6.1. Cấu trúc ARX .................................................................................. 34
3.6.2. Cấu trúc ARMAX ............................................................................ 35
3.6.3. Cấu trúc OE ..................................................................................... 37
3.6.4. Cấu trúc BJ ...................................................................................... 38
3.6.5. Nhận xét các mô hình khi không có nhiễu ......................................... 39
3.7. Nhận dạng mô hình có tham số khi có nhiễu ........................................... 40
3.7.1. Nhiễu DC=0.1; AC=0........................................................................ 40
3.7.2. Nhiễu DC = 0.3; AC=0 ...................................................................... 42
3.7.3. Nhiễu DC=0; AC=0.03 ...................................................................... 43
3.7.4. Nhiễu DC=0; AC=0.1........................................................................ 45
3.7.5. Nhiễu DC=0.15; AC=0.03 ................................................................. 46
3.3.6. Nhận xét ........................................................................................... 48
CHƯƠNG 4: CƠ SỞ LÝ THUYẾT ........................................................................... 49
4.1 Giới thiệu giải thuật điều khiển tuyến tính dạng toàn phương LQR ......... 49
4.2 Giới thiệu giải thuật Swing up ............................................................... 50
4.2.1 Thiết kế bộ điều khiển swing-up vị trí top ( 𝒒𝟏 = 𝝅𝟐 và 𝒒𝟐 = 𝟎 ) ..... 50
4.2.2 Thiết kế bộ điều khiển swing-up vị trí middle ( 𝒒𝟏 = −𝝅𝟐 và 𝒒𝟐 = 𝝅 ) .................................................................................................................. 52
4.3 Giới thiệu giải thuật di truyền GA ..................................................... 53
4.3.1 Lưu đồ giải thuật của thuật toán di truyền ..................................... 55
4.4 Giới thiệu phần mềm Matlab của Matworks ........................................... 55
CHƯƠNG 5 ĐÁP ỨNG THỰC TẾ KHI ĐIỀU KHIỂN ......................................... 56
5.1 Kết quả mô phỏng bộ điều khiển swing up (top+middle) và cân bằng LQR ..................................................................................................................... 56
CHƯƠNG 6: KẾT LUẬN ........................................................................................... 62
6.1 Kết quả đạt được ..................................................................................... 62
6.2 Hướng phát triển ..................................................................................... 62
DANH MỤC BẢNG BIỂU
Tên bảng Trang số
Bảng 1.1 Thông số các đại lượng của hệ thống hệ Pendubot 9
Bảng 1.2 Bảng DH hệ Pendubot 10
Bảng 3.1 So sánh các cấu trúc 40
DANH MỤC CÁC BIỂU ĐỒ, SƠ ĐỒ, HÌNH ẢNH
Tên biểu đồ, sơ đồ, hình ảnh Trang số
Hình 1.1 Cấu trục hệ Pendubot trên trục tọa độ Oxyz 9
Hình 1.2 Cấu trúc động cơ DC 13
14 Hình 1.3
14 Hình 1.4
15 Hình 1.5
15 Hình 1.6
Hình 2.1 Vi điều khiển LAUNCHXL-F28379D C2000. 18
Hình 2.2 Encoder E6B2-CWZ6C OMRON 1000PPR. 18
Hình 2.3 Động cơ 24VDC của M.A.E. 19
Hình 2.4 Cầu H IRF3205 19
Hình 2.5 Cổng kết nối UART giữa máy tính và vi điều khiển 20
Hình 3.1 Thí nghiệm thu thập dữ liệu phân tích đáp ứng xung 21
21
Hình 3.2 Phân tích đáp ứng xung được thiết kế cho hệ Pendubot
Hình 3.3 Đồ thị biểu diễn hệ Pendubot trước và sau khi nhận dạng khi không nhiễu; Sai số của hệ sau khi nhận dạng
21
Hình 3.4 Đồ thị biểu diễn hệ Pendubot trước và sau khi nhận dạng khi nhiễu DC; Sai số của hệ sau khi nhận dạng
22
Hình 3.5 Đồ thị biểu diễn hệ Pendubot trước và sau khi nhận dạng khi nhiễu AC; Sai số của hệ sau khi nhận dạng
23
Hình 3.6 Đồ thị biểu diễn hệ Pendubot trước và sau khi nhận dạng khi nhiễU DC và AC; Sai số của hệ sau khi nhận dạng
Hình 3.7 Thí nghiệm thu thập dữ liệu phân tích đáp ứng nấc 23
23
Hình 3.8 Phương pháp phân tích đáp ứng nấc được thiết kế cho hệ Pendubot
24
Hình 3.9 Đồ thị biểu diễn hệ Pendubot trước và sau khi nhận dạng khi không nhiễu; Sai số của hệ sau khi nhận dạng
25
Hình 3.10 Đồ thị biểu diễn hệ Pendubot trước và sau khi nhận dạng khi nhiễU DC; Sai số của hệ sau khi nhận dạng
25
26 Hình 3.11 Đồ thị biểu diễn hệ Pendubot trước và sau khi nhận dạng khi nhiễU AC; Sai số của hệ sau khi nhận dạng Hình 3.12 Đồ thị biểu diễn hệ Pendubot trước và sau khi nhận dạng khi nhiễu DC và AC; Sai số của hệ sau khi nhận dạng
Hình 3.13 Thí nghiệm thu thập dữ liệu phân tích tương quan 26
Hình 3.14 Phân tích phương pháp trên hệ Pendubot 27
27
Hình 3.15 Đồ thị biểu diễn hệ Pendubot trước và sau khi nhận dạng khi không nhiễu; Sai số của hệ sau khi nhận dạng
28
Hình 3.16 Đồ thị biểu diễn hệ Pendubot trước và sau khi nhận dạng khi nhiễu DC; Sai số của hệ sau khi nhận dạng
28
Hình 3.17 Đồ thị biểu diễn hệ Pendubot trước và sau khi nhận dạng khi nhiễu AC; Sai số của hệ sau khi nhận dạng
29
Hình 3.18 Đồ thị biểu diễn hệ Pendubot trước và sau khi nhận dạng khi nhiễu DC và AC; Sai số của hệ sau khi nhận dạng
29
30
Hình 3.19 Sơ đồ Simulink mô tả phương pháp kiểm tra sóng sin cho hệ Pendubot Hình 3.20 Đáp ứng ngỏ vào ra của hệ Pendubot và giản đồ Bode hệ thống
Hình 3.21 Giản đồ Bode pha sau khi thu thập dữ liệu 40 lần 30
Hình 3.22 Giản đồ Bode biên sau khi thu thập dữ liệu 40 lần
Hình 3.23 giản đồ bode thực của hệ xét tại link 2 31
Hình 3.24 giản đồ Bode pha và biên sau khi thu thập dữ liệu 31
Hình 3.25 Gian đồ Bode thực của hệ tại link 1 32
Hình 3.26 giản đồ Bode pha sau khi nhận dạng 33
Hình 3.27 giản đồ Bode biên sau khi nhận dạng 33
Hình 3.28 Tín hiệu vào ra của hệ thống khi không nhiễu 34
35
Hình 3.29 Đồ thị về cấu trúc ARX được tùy chỉnh theo các bậc khác nhau
Hình 3.30 Giá trị best fits của cấu trúc ARX khi không nhiễu 35
Hình 3.31 Kết quả phương trình [arx441], best fit = 96.18 35
36
Hình 3.32 Tín hiệu vào ra của hệ thống Pendubot với cấu trúc ARMAX
36
Hình 3.33 Đồ thị về cấu trúc ARMAX được tùy chỉnh theo các bậc khác nhau
37
Hình 3.34 giá trị best fits của cấu trúc ARMAX khi không nhiễu
Hình 3.35 Kết quả phương trình [amx2221], best fit = 95.58 37
38
Hình 3.36 Đồ thị về cấu trúc OE được tùy chỉnh theo các bậc khác nhau
Hình 3.37 giá trị best fits của cấu trúc OE khi không nhiễu 38
Hình 3.38 Kết quả phương trình [oe421], best fit = 99.51 38
39
Hình 3.39 Đồ thị về cấu trúc BJ được tùy chỉnh theo các bậc khác nhau
Hình 3.40 giá trị best fits của cấu trúc BJ khi không nhiễu 39
Hình 3.41 Kết quả phương trình [bj42122], best fit = 89.41 39
40
Hình 3.42 Hệ Pendubot được thiết kế với cấu trúc ARX, ARMAX, OE, BJ khi có nhiễu DC nhỏ và không nhiễu AC Hình 3.43 Các giá trị best fits với các cấu trúc 41
Hình 3.44 Phương trình cấu trúc ARX 41
Hình 3.45 Phương trình cấu trúc ARMAX 41
Hình 3.46 Phương trình cấu trúc OE 41
Hình 3.47 Phương trình cấu trúc BJ 42
42
Hình 3.48 Hệ Pendubot được thiết kế với cấu trúc ARX, ARMAX, OE, BJ khi có nhiễu DC lớn và không nhiễu AC
Hình 3.49 Các giá trị best fits với các cấu trúc 42
Hình 3.50 Phương trình cấu trúc ARX 42
Hình 3.51 Phương trình cấu trúc ARMAX 43
Hình 3.52 Phương trình cấu trúc OE 43
Hình 3.53 Phương trình cấu trúc BJ 43
43
Hình 3.54 Hệ Pendubot được thiết kế với cấu trúc ARX, ARMAX, OE, BJ khi có nhiễu AC nhỏ và không nhiễu DC
Hình 3.55 Các giá trị best fits với các cấu trúc 44
Hình 3.56 Phương trình cấu trúc ARX 44
Hình 3.57 Phương trình cấu trúc ARMAX 44
Hình 3.58 Phương trình cấu trúc OE 44
Hình 3.59 Phương trình cấu trúc BJ 45
45
Hình 3.60 Hệ Pendubot được thiết kế với cấu trúc ARX, ARMAX, OE, BJ khi có nhiễu AC lớn và không nhiễu DC Hình 3.61 Các giá trị best fits với các cấu trúc 45
Hình 3.62 Phương trình cấu trúc ARX 46
Hình 3.63 Phương trình cấu trúc ARMAX 46
Hình 3.64 Phương trình cấu trúc OE 46
Hình 3.65 Phương trình cấu trúc BJ 46
46
Hình 3.66 Hệ Pendubot được thiết kế với cấu trúc ARX, ARMAX, OE, BJ khi có nhiễu AC và nhiễu DC Hình 3.67 Các giá trị best fits với các cấu trúc 47
Hình 3.68 Phương trình cấu trúc ARX 47
Hình 3.69 Phương trình cấu trúc ARMAX 47
Hình 3.70 Phương trình cấu trúc OE 47
Hình 3.71 Phương trình cấu trúc BJ 48
Hình 4.1 Cấu trúc bộ điều khiển LQR 49
Hình 4.2 Sơ đồ khối giải thuật điều khiển Swing-up 50
Hình 4.3 Vị trí TOP của hệ Pendubot 51
Hình 4.4 Sơ đồ điều khiển swing-up vị trí TOP 52
Hình 4.5 Vị trí Middle của hệ Pendubot 53
Hình 4.6 Sơ đồ giải thuật di truyền tổng quát 54
Hình 4.7 Sơ đồ giải thuật di truyền GA 55
Hình 5.1 Sơ đồ thiết kế bộ điều khiển 56
58 Hình 5.2 Kết quả mô phỏng góc và vận tốc của link 1 và link 2 vị trí top của hệ Pendubot
58 Hình 5.3 Kết quả mô phỏng điện áp cấp cho hệ Pendubot ở vị trí TOP
59 Hình 5.4 Kết quả thực nghiệm góc và vận tốc của link 1 và link 2 trên thực nghiệm ở vị trí TOP
59
Hình 5.5 Kết quả điện áp cấp cho động cơ thực nghiệm ở vị trí TOP
60 Hình 5.6 Kết quả góc và vận tốc link 1 và link 2 trên mô phỏng ở vị trí middle
60
Hình 5.7 Kết quả điện áp cấp từ động cơ trên mô phỏng ở vị trí middle.
61
Hình 5.8 Góc và vận tốc link 1 và link 2 trên thực nghiệm ở vị trí middle.
61
Hình 5.9 Điện áp cấp cho động cơ trên thực nghiệm ở vị trí middle.
DANH MỤC TỪ VIẾT TẮT
Từ viết tắt Nguyên nghĩa
LQR GA PID SIMO ARX ARMAX
OE BJ Linear–quadratic regulator Genetic Algorithm Proportional–Integral–Derivative Single Input Multiple Output Auto-Regressive eXternal Input Model Auto-Regressive Moving Average eXternal Input Model Output Error Model Box-Jenkins Model
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM
THÔNG TIN KẾT QUẢ NGHIÊN CỨU CỦA ĐỀ TÀI
1. Thông tin chung:
- Tên đề tài: NGHIÊN CỨU ĐIỀU KHIỂN CÁNH TAY ROBOT THIẾU DẪN
ĐỘNG HAI BẬC TỰ DO - PENDUBOT
- SV thực hiện: Trần Minh Đức Mã số SV: 16151019
- Lớp: 16151CL3 Khoa: CLC Năm thứ: 4 Số năm đào tạo: 4
- Thành viên đề tài:
Stt Họ và tên MSSV Lớp Khoa
1 VÕ MINH TÀI 16151313 16151CL3 CLC
2 TRẦN QUỐC CƯỜNG 16151008 16151CL3 CLC
- Người hướng dẫn: PGS. TS. Nguyễn Minh Tâm
2. Mục tiêu đề tài:
Xây dựng phương trình động học hệ thống Pendubot dựa trên động học nghịch –
thuận của Kỹ thuật Robot.
Nhận dạng hệ thống Pendubot bằng các phương pháp nhận dạng mô hình có tham
số và không tham số.
Mô phỏng hệ thống trên phần mềm Matlab/Simulink, mô phỏng điều khiển ổn định
hệ thống bằng giải thuật điều khiển tối ưu toàn phương tuyến tính LQR, mô phỏng điều
khiển Swing up hệ thống bằng phương pháp năng lượng.
Xây dựng mô hình thực của hệ thống, điều khiển thực tế hệ thống để đánh giá kết
quả với mô phỏng.
Mô hình hóa và nhận dạng hệ thống Pendubot bằng phương pháp có tham số và
không tham số.
3. Tính mới và sáng tạo:
Chương trình điều khiển hệ thống được nhúng bằng phần mềm Matlab với thư viện
Embedded Coder Support Package for Texas Instrument C2000 Processors của vi xử lý
LAUNCHXL-F28379D.
4. Kết quả nghiên cứu:
Nghiên cứu tính toán phương trình động học cho hệ thống Pendubot.
Nghiên cứu tìm hiểu về lý thuyết nhận dạng mô hình hệ thống, lý thuyết bộ điều
khiển tối ưu toàn phương tuyến tính LQR, phương pháp Swing up bằng năng lượng, tìm
thông số tối ưu bằng phương pháp giải thuật di truyền GA.
Thực hiện mô phỏng hệ thống, mô hỏng các giải thuật điều khiển với đối tượng
Pendubot, tìm thông số tối ưu cho hệ thống.
Nghiên cứu xây dựng mô hình thực tế hệ thống Pendubot, áp các bộ điều khiển lên
hệ thống thực, sau đó đánh giá lại kết quả thực tế.
5. Đóng góp về mặt giáo dục và đào tạo, kinh tế - xã hội, an ninh, quốc phòng và
khả năng áp dụng của đề tài:
Đề tài “NGHIÊN CỨU ĐIỀU KHIỂN CÁNH TAY ROBOT THIẾU DẪN ĐỘNG HAI
BẬC TỰ DO - PENDUBOT” sẽ hỗ trợ đắc lực trong quá trình giảng dạy, học tập và
nghiên cứu khoa học cho giảng viên cũng như sinh viên trường Đại học Sư phạm Kỹ
thuật TPHCM. Việc áp dụng mô hình hệ thống sẽ giúp người học kiểm chứng lại các
giải thuật khác, phương pháp điều khiển khác nhau nhằm tìm ra giải thuật tối ưu cho
từng ứng dụng cụ thể.
6. Công bố khoa học của SV từ kết quả nghiên cứu của đề tài:
Ngày tháng năm
SV chịu trách nhiệm chính
thực hiện đề tài
(kí, họ và tên)
Nhận xét của người hướng dẫn về những đóng góp khoa học của SV thực hiện đề
tài:
Ngày tháng năm
Người hướng dẫn
(kí, họ và tên)
LỜI CẢM ƠN
Trước tiên, nhóm sinh viên xin chân thành cảm ơn thầy Nguyễn Minh Tâm, người
đã tận tình hướng dẫn và truyền đạt kiến thức giúp nhóm sinh viên hoàn thành đề tài
Nghiên cứu khoa học này. Và quan trọng hơn hết, thầy là người đã gợi mở cho nhóm
sinh viên một hướng nghiên cứu mà nhóm cảm thấy quan tâm và mong muốn theo đuổi.
Bên cạnh đó, nhóm sinh viên xin chân thành cảm ơn đến thầy Đặng Xuân Ba,
thầy Nguyễn Văn Thái, thầy Vũ Văn Phong thuộc bộ môn Tự động điều khiển đã
định hướng và hỗ trợ một số phần quan trọng cho việc học tập, nghiên cứu và phát triển
đề tài.
Ngoài ra, nhóm sinh viên cũng gởi lời cảm ơn đến tập thể lớp 16151CL3 đã hỗ trợ
nhóm rất nhiều trong quá trình thực hiện đề tài.
Cuối cùng, nhóm sinh viên xin chân thành cảm ơn sự quan tâm, hỗ trợ, tạo điều
kiện và động viên về vật chất lẫn tinh thần của các thành viên trong gia đình.
TP Hồ Chí Minh, Ngày… tháng …năm …
Nhóm sinh viên thực hiện
1
LỜI NÓI ĐẦU
Thế giới ngày nay với sự phát triển không ngừng của khoa học kỹ thuật, khoa học kỹ thuật đem lại những giá trị thiết thực cho cuộc sống con người. Với việc cuộc cách mạng Công nghiệp 4.0 đang đến gần, sự phát triển không ngừng của ngành kỹ thuật Điều Khiển Tự Động đã mang đến những thay to lớn trong khoa học và công nghệ cũng như trong nhu cầu đời sống con người. Nhờ sự phát triển đó, các thiết bị máy móc, robot ngày càng trở nên thông minh và chính xác hơn, các công việc được thực hiện nhanh chóng và hiệu quả.
Trong lĩnh vực điều khiển tự động, kỹ thuật điều khiển thông minh, điều khiển hiện đại với các ứng dụng của mạng nơron, PID kinh điển, logic mờ, điều khiển lai… đang được xem là ngành kỹ thuật của tương lai, nhờ có nó mà máy móc, robot ngày càng đạt được sự ổn định tối ưu nhất. Đối với sinh viên chuyên ngành Điều khiển Tự động, với sự yêu thích, đam mê, cùng với nhận thấy đây là một lĩnh vực mới, hứa hẹn mở ra nhiều triển vọng mới. Nhằm đóng góp nghiên cứu, người thực hiện quyết định chọn đề tài: “NGHIÊN CỨU ĐIỀU KHIỂN CÁNH TAY ROBOT THIẾU DẪN ĐỘNG HAI BẬC TỰ DO PENDUBOT” để tiến hành nghiên cứu.
Mặc dù người thực hiện đề tài đã cố gắng hoàn thành nhiệm vụ đề tài đặt ra và đúng thời hạn quy định nhưng chắc chắn sẽ không tránh khỏi những thiếu sót, mong quý Thầy/Cô và các bạn sinh viên thông cảm. Người thực hiện đề tài rất mong nhận được những ý kiến đóng góp của quý Thầy/Cô và các bạn sinh viên để đề tài được hoàn thiện hơn nữa. Xin chân thành cảm ơn!
NGƯỜI THỰC HIỆN ĐỀ TÀI
TRẦN MINH ĐỨC
VÕ MINH TÀI
TRẦN QUỐC CƯỜNG
2
TÓM TẮT
Trong công trình này, nhóm sinh viên đã xây dựng mô hình thực tế hệ Pendubot.
Nhóm sinh viên thực hiện tính toán động học thuận và động học nghịch của robot. Dựa
trên cơ sở này, nhóm sinh viên lập trình bằng phần mềm Matlab và sử dụng nền tảng vi
xử lý LAUNCHXL-F28379D để điều khiển hệ thống Pendubot.
Kết quả thực nghiệm đạt được: sinh viên đã xây dựng thành công mô hình thực
nghiệm hệ thống Pendubot thông qua giao tiếp máy tính giữa phần mềm
Matlab/Simulink với vi điều khiển LAUNCHXL-F28379D bằng bộ thư viện Embedded
Coder Support Package for Texas Instrument C2000 Processors được Matlab hỗ trợ. Kết
quả thực nghiệm cho thấy phương pháp điều khiển swing up và ổn định hệ thống có hiệu
quả cao.
Nhiệm vụ
Giới thiệu vi điều khiển LAUNCHXL-F28379D và bộ thư viện Embedded
Coder Support Package for Texas Instrument C2000 Processors trên phần
mềm Matlab/Simulink.
Lắp ráp mô hình phần cứng và điện tử cho mô hình thực hệ cánh tay robot
2 bậc tự do.
Lập trình chương trình điều khiển trên Simulink của Matlab.
Điều khiển Swing-up và ổn định hệ pendubot.
Tìm hiểu lý thuyết về động lực robot, các lý thuyết của kỹ thuật robot để
xây dựng hệ thống.
Tìm hiểu lý thuyết swing-up bằng phương pháp năng lượng.
Tìm hiểu lý thuyết giải thuật di truyền.
Mô hình hóa và nhận dạng hệ thống Pendubot.
3
PHẦN MỞ ĐẦU
1. Đặt vấn đề
Trong những thập niên gần đây, khái niệm robot để phục vụ nhu cầu sản
xuất trong môi trường công nghiệp. Gần đây hàng loạt robot đã được sản xuất
với những mục đích và những yêu cầu khác nhau. Robotics được hiểu là một
ngành khoa học có nhiệm vụ nghiên cứu thiết kế chế tạo robot và ứng dụng chúng
trong các hoạt động khác nhau của xã hội loài người, như nghiên cứu khoa học –
kỹ thuật, kinh tế, quốc phòng và dân sinh.
Cùng với sự phát triển của xã hội, khoa học kĩ thuật, các phương pháp điều
khiển hiện đại, điều khiển thông minh, ra đời. Các phương pháp này ngày càng
được nghiên cứu, phát triển, ứng dụng rộng rãi.
Hệ thống Pendubot được thực hiện trong để tài là một hệ SIMO (Single-
Input and Multiple-Output) với nhiều ngõ vào điều khiển và nhiều ngõ ra. Nhằm
nâng cao khả năng áp dụng các giải thuật điều khiển tôi ưu cho hệ cánh tay robot
trước tiên chúng ta cần nắm rõ về phương trình động học hệ thống.
Thực hiện đề tài “Nghiên cứu điều khiển cánh tay robot thiếu dẫn động hai
bậc tự do - Pendubot” là rất cần thiết cho vấn đề giảng dạy và nghiên cứu tại
trường Đại học Sư phạm Kỹ thuật thời điểm hiện tại. Vì đây là một mô hình rất
điển hình cần phải có ở bất kỳ một trường Đại học, Cao đẳng nào theo hướng
chuyên ngành kỹ thuật tại Việt Nam, nhất là ngành điều khiển tự động hóa, điện
công nghiệp, cơ điện tử… Việc xây dựng mô hình sẽ giúp ích cho công tác giảng
dạy trực quan hơn, dễ dàng kiểm chứng với các giải thuật điều khiển trên lý
thuyết, là cơ sở nghiên cứu khoa học cho cả giảng viên và sinh viên tại trường.
2. Lý do chọn đề tài
Hệ thống Pendubot rất thường được sử dụng trong các phòng thí nghiệm
điều khiển tự động. Thiết kế cơ khí đơn giản và có tính phi tuyến làm mô hình
này phù hợp trong việc thử nghiệm các giải thuật điều khiển cũng như việc giảng
dạy điều khiển tự động trong các chương trình đại học hay cao học.
Hai bài toán cơ bản nghiên cứu về hệ thống Pendubot là Swing up,
Balancing:
Swingup: đây là bộ điều khiển đưa 2 thanh của hệ thống Pendubot từ vị
trí hướng xuống đến lân cận vị trí thẳng đứng hướng lên.
4
Balancing: đây là bộ điều khiển giúp 2 thanh trên hệ thống đứng ở vị trí
MID và TOP không bị ngã và đồng thời cũng giữ xe ở vị trí cố định cho
trước.
Các giải pháp điều khiển thông minh, điều khiển hiện đại ngày càng được
quan tâm nghiên cứu để thực hiện các ứng dụng mà các giải pháp điều khiển
thông thường không thực hiện được. Đề tài “Nghiên cứu điều khiển cánh tay
robot thiếu dẫn động hai bậc tự do - Pendubot” mang lại kết quả nghiên cứu cho
một bộ điều khiển phi tuyến trên hệ under-actuated. Đồng thời, mô hình phần
cứng hệ Pendubot cũng là một mô hình thí nghiệm để tiếp tục công việc nghiên
cứu, đưa ra các giải thuật điều khiển khác.
3. Đối tượng nghiên cứu
- Nghiên cứu phương trình toán học của hệ Pendubot.
- Nghiên cứu bất đẳng thức Lyapunov tìm kiếm thông số điều khiển của bộ
điều khiển trượt thứ bậc.
- Nghiên cứu giải thuật di truyền tìm kiếm thông số điều khiển tối ưu cho bộ
điều khiển trượt thứ bậc.
- Nghiên cứu lập trình mô phỏng Matlab cho hệ thống để ổn định cân bằng hệ
Pendubot.
- Nghiên cứu lập trình trên Matlab/Simulink để điều khiển mô hình thực
nghiệm Pendubot.
- Nghiên cứu nhận dạng hệ Pendubot bằng phương pháp không tham số và có
tham số.
4. Phương pháp nghiên cứu
Dựa vào cấu tạo phần cứng và các đặc tính vật lý của hệ thống, sinh viên
xây dựng phương trình toán học của hệ thống (dùng phương pháp động học thuận
– nghịch). Hệ thống không chỉ có cấu trúc cơ khí mà còn bị ảnh hưởng bởi loại
động cơ DC được sử dụng. Tuy động cơ DC là một mô hình đơn giản nhưng
phương trình toán học cũng như thông số của nó cũng cần đề cập tới. Sau đó,
phương pháp điều khiển (ở đây là trượt thức bậc cho hệ SIMO) cũng sẽ được
trình bày và phân tích để có thể điều khiển được cả vị trí cân bằng cố định cho hệ
Pendubot. Do sự sai lệch của việc đo đạc thông số mô hình cũng như sai số trong
5
việc nhận dạng động cơ, giải thuật GA cần được áp dụng để tìm thông số tối ưu
nhất trên mô phỏng để thông số điều khiển tìm được trên mô phỏng sát nhất với
thông số điều khiển được trên mô hình thực nghiệm. Bộ điều khiển trượt được
xây dựng và tối ưu hóa thông qua việc lập trình trên công cụ Matlab/Simulink.
Các phương pháp nghiên cứu được sử dụng trong luận văn bao gồm:
- Khảo sát, phân tích tổng hợp: Khảo sát một số mô hình, mô phỏng thực tế đang
có từ các luận văn trước và các bài báo trên mạng internet, từ đó mô phỏng lại
bằng phần mềm Matlab/simulink để so sánh với kết quả đã có nhằm rút ra những
kinh nghiệm trong việc mô phỏng.
- Mô phỏng trên máy tính: Phần nghiên cứu được kiểm chứng bằng việc mô
phỏng và đánh giá trên phần mềm Matlab/Simulink.
- Thiết kế mô hình thực nghiệm: Mô hình thực nghiệm được xây dựng để kiểm
chứng lại và đánh giá lại các kết quả mô phỏng.
5. Phạm vi nghiên cứu
- Giới thiệu vi điều khiển LAUNCHXL-F28379D và bộ thư viện Embedded
Coder Support Package for Texas Instrument C2000 Processors trên phần
mềm Matlab/Simulink.
- Lắp ráp mô hình phần cứng và điện tử cho mô hình thực hệ cánh tay robot 2
bậc tự do.
- Lập trình chương trình điều khiển trên Simulink của Matlab.
- Điều khiển Swing-up và ổn định hệ pendubot.
- Tìm hiểu lý thuyết về động lực robot, các lý thuyết của kỹ thuật robot để xây
dựng hệ thống.
- Tìm hiểu lý thuyết swing-up bằng phương pháp năng lượng.
- Tìm hiểu lý thuyết giải thuật di truyền.
- Mô hình hóa và nhận dạng hệ thống Pendubot.
6. Ý nghĩa khoa học
Nghiên cứu hệ Pendubot và giải thuật trượt (cân bằng) giúp kiểm chứng lại
giải thuật phi tuyến trên đối tượng thực. Qua đó, hỗ trợ kiến thức nền tảng cho
việc nghiên cứu giải thuật trượt, phương pháp điều khiển cân bằng cho hệ
Pendubot. Ngoài ra, việc nghiên cứu có thể mở rộng cho các hệ SIMO khác như
6
con lắc ngược quay, bóng thanh, con lắc ngược hai bậc trên xe ..., tạo nền tảng
nghiên cứu sau này.
7
PHẦN NỘI DUNG
CHƯƠNG 1: TỔNG QUAN VỀ HỆ PENDUBOT
1.1 Giới thiệu về hệ pendubot
Pendubot là từ ghép bởi Pendu (Pendulum) và bot (robot) - một hệ underactuated
có ngõ vào điều khiển ít hơn số bậc tự do, và rất khó để điều khiển.
Hệ pendubot được nghiên cứu trong đề tài bao gồm 2 thanh đồng chất, đầu đầu
thanh 1 được gắn chặt vào một động cơ DC. Đầu cuối thanh 1 được gắn vào đầu đầu
thanh 2 (thông qua 1 trục encoder nhằm tính toán góc lệch giữ thanh 2 và thanh 1) sao
cho thanh 2 quay tự do xung quanh khớp nối với thanh 1.
Mô hình Pendubot được ứng dụng trong rất nhiều phòng Thí nghiệm nhằm
nghiên cứu các giải thuật điều khiển thông minh, điều khiển hiện đại.
1.2 Mô tả toán học hệ Pendubot
1.2.1 Cơ sở khoa học
Tất cả hệ thống điều khiển tự động đều được mô tả bằng một phương trình toán
học với dạng vi phân. Hệ pendubot cũng vậy, để điều khiển được hệ Pendubot, việc đầu
tiên là phải nắm rõ được đối tượng, từ đó mới đưa ra phương pháp điều khiển.
Đối với hệ pendubot, để mô tả được hệ dưới dạng một phương trình toán học thì
đó là sự kết hợp giữa vật lý và toán học với định luật cổ điển Lagrange [1] (dựa trên
tổng năng lượng của hệ và lực tổng quát trong một hệ trục tọa độ Descarts [2]).
Phương trình Lagrange loại 1 [3]:
(1)
Trong đó:
là vị trí của chất điểm thứ k
C là số lượng liên kết trong hệ
là nhân tử Lagrange thứ i
là phương trình liên kết thứ i
L là hàm Lagrange của một hệ các hạt (chất điểm):
(2)
8
Với:
K là tổng động năng của các chất điểm trong hệ
V là tổng thế năng của các chất điểm trong hệ
1.2.2 Thành lập phương trình động học cho hệ Pendubot
Hình 1.1 Cấu trục hệ Pendubot trên trục tọa độ Oxyz
Bảng 1.1 Thông số các đại lượng của hệ thống hệ Pendubot
Ý nghĩa 𝑡𝑟ọ𝑛𝑔 𝑙ượ𝑛𝑔 𝑙𝑖𝑛𝑘 1 𝑡𝑟ọ𝑛𝑔 𝑙ượ𝑛𝑔 𝑙𝑖𝑛𝑘 2 𝑚ô 𝑚𝑒𝑛 𝑞𝑢á𝑛 𝑡í𝑛ℎ 𝑙𝑖𝑛𝑘 1 𝑚ô 𝑚𝑒𝑛 𝑞𝑢á𝑛 𝑡í𝑛ℎ 𝑙𝑖𝑛𝑘 2 𝑐ℎ𝑖ề𝑢 𝑑à𝑖 𝑙𝑖𝑛𝑘 1 𝑐ℎ𝑖ề𝑢 𝑑à𝑖 𝑙𝑖𝑛𝑘 2 𝑐ℎ𝑖ề𝑢 𝑑à𝑖 𝑡ừ 𝑡𝑟ụ𝑐 𝑥𝑜𝑎𝑦 đế𝑛 𝑡𝑟ọ𝑛𝑔 𝑡â𝑚 𝑐ủ𝑎 𝑙𝑖𝑛𝑘 1 𝑐ℎ𝑖ề𝑢 𝑑à𝑖 𝑡ừ 𝑡𝑟ụ𝑐 𝑥𝑜𝑎𝑦 đế𝑛 𝑡𝑟ọ𝑛𝑔 𝑡â𝑚 𝑐ủ𝑎 𝑙𝑖𝑛𝑘 2 𝑔ó𝑐 𝑙𝑖𝑛𝑘 1 𝑠𝑜 𝑣ớ𝑖 𝑡𝑟ụ𝑐 𝑥 𝑔ó𝑐 𝑙𝑖𝑛𝑘 2 𝑠𝑜 𝑣ớ𝑖 𝑡𝑟ụ𝑐 𝑥1 𝑔𝑖𝑎 𝑡ố𝑐 𝑡𝑟ọ𝑛𝑔 𝑡𝑟ườ𝑛𝑔 Hệ số ma sát link 1
Hệ số ma sát link 2 Thông số 𝑚1 𝑚2 𝐼𝑐1 𝐼𝑐2 𝑙1 𝑙2 𝑙𝑐1 𝑙𝑐2 𝑞1 𝑞2 𝑔
Một số kí hiệu khác trong đề tài mà sinh viên đặt :
𝑐1 = cos (𝑞1); 𝑠1 = sin (𝑞1); 𝑐2 = cos (𝑞2); 𝑠2 = sin (𝑞2); 𝑐12 = cos(𝑞1 + 𝑞2 ) ; 𝑠12 = sin (𝑞1 + 𝑞2 )
9
Bảng 1.2 Bảng DH hệ Pendubot
𝛼𝑖−1 0 0 𝑑𝑖 0 0 𝑍0𝑍1𝑥0 𝑍1𝑍2𝑥1 𝑎𝑖−1 0 𝑙1 𝑞𝑖 𝑞1 𝑞2 𝑥0𝑥1𝑍1 𝑥1𝑥2𝑍2
Ta có :
0 = [ 𝑇1
]
𝑐1 −𝑠1 0 0 𝑠1 0 0 1 0 0 0 0 0 𝑐1 0 0
1 = [ 𝑇2
]
𝑐2 −𝑠2 0 𝑙1 𝑠2 0 0 1 0 0 0 0 0 𝑐2 0 0
1 = [
0 = 𝑇1 𝑇2
0 . 𝑇2
] [ ] = [ ]
0
1
𝑐1 −𝑠1 0 0 𝑠1 0 0 1 0 0 0 0 0 𝑐1 0 0 𝑐2 −𝑠2 0 𝑙1 𝑠2 0 0 1 0 0 0 0 0 𝑐2 0 0 𝑐12 −𝑠12 0 𝑙1𝑐1 0 𝑙1𝑠1 𝑠12 1 0 0 0 0 0 𝑐12 0 0
0 [ 𝑃𝑐1 1
] [ ] = [ ] = [ ] ] = 𝑇1 [ 𝑃𝑐1 1 𝑙𝑐1 0 0 1 𝑐1 −𝑠1 0 0 𝑠1 0 0 1 0 0 0 0 0 𝑐1 0 0 𝑙𝑐1𝑐1 𝑙𝑐1𝑠1 0 1
] (3) → [ ] = [ 𝑥𝑐1 𝑦𝑐1
0
2
] (4) → [ ] = [ 𝑣𝑐1 𝑣𝑐1 𝑙𝑐1𝑐1 𝑙𝑐1𝑠1 −𝜃̇1𝑙𝑐1𝑠1 𝜃̇1𝑙𝑐1𝑐1
0 [ 𝑃𝑐2 1
] [ ] = [ ] = [ ] (5) ] = 𝑇2 [ 𝑃𝑐2 1 𝑙𝑐2 0 0 1 𝑙𝑐2𝑐12 + 𝑙1𝑐1 𝑙𝑐2𝑠12 + 𝑙1𝑠1 0 1 𝑐12 0 0
] (6) → [ ] = [ 𝑥𝑐2 𝑦𝑐2 𝑐12 −𝑠12 0 𝑙1𝑐1 0 𝑙1𝑠1 𝑠12 1 0 0 0 0 0 𝑙𝑐2𝑐12 + 𝑙1𝑐1 𝑙𝑐2𝑠12 + 𝑙1𝑠1
] (7) → [ ] = [ 𝑣𝑐2 𝑣𝑐2 −(𝑞̇1 + 𝑞̇2)𝑙𝑐2𝑠12 − 𝑞̇1𝑙1𝑠1 (𝑞̇1 + 𝑞̇ 2)𝑙𝑐2𝑐12 + 𝑞̇1𝑙1𝑐1
10
0
Ta có :
1̂ = [
1 1 𝜔1 = 𝑅 𝜔0 0
1
] [ ] + [ ] (8) + 𝑞̇1 𝑍1 ] 𝑞̇1 = [ 0 0 0 0 0 1 𝑐1 −𝑠1 0 0 𝑐1 𝑠1 1 0 0 0 0 𝑞̇1
2̂ = [
2 2 𝜔2 = 𝑅 𝜔1 1
] [ ] = [ ] (9) +𝑞̇2 𝑍2 0 ] + 𝑞̇2 [ 0 1 𝑐2 −𝑠2 0 0 𝑐2 𝑠2 1 0 0 0 0 𝑞̇1 0 0 𝑞̇1 + 𝑞̇2
1
1
1
𝑐1
1
2 (10)
2 +
𝑇 𝑣𝑐1 +
Ta có công thức động năng :
1 𝑇 𝜔1
2 𝑞̇1
1 𝐾1 = 2
2
2
2
1
1
1
𝑐2
2
2 +
𝑇 𝑣𝑐2 +
𝐼1 𝜔1 = 𝑚1𝑣𝑐1 𝑚1𝑙𝑐1 𝐼𝑐1𝑞̇1
2 𝑇 𝜔2
2
2
2
𝑚2𝑣𝑐2 𝑚2(𝑞̇1 + 𝑞̇ 2)2𝑙𝑐2 𝑚2𝑙1
2
1 2 + 2𝑞̇1 𝐾2 = 𝐼2 𝜔2 = 2 1 (𝑞̇1 + +𝑞̇2)𝑙𝑐2 sin(𝑞̇1 + 𝑞̇2) 𝑙1𝑞̇1𝑠1𝑚2 + (𝑞̇1 + 𝑞̇2)𝑙𝑐2𝑐12𝑙1𝑞̇1𝑐1𝑚2 + (11)
𝐼𝑐2(𝑞̇1 + 𝑞̇2)2
𝑇
0
0
Ta có công thức thế năng :
𝑇
0
0
] [ = − 𝑚1 [ ] = 𝑚1𝑙𝑐1𝑔𝑠1 (12) 𝑈1 = −𝑚1 𝑔𝑇 𝑃𝑐1 0 −𝑔 0 𝑙𝑐1𝑐1 𝑙𝑐1𝑠1 0
] [ = −𝑚2 [ ] = 𝑚2𝑔(𝑙𝑐2𝑠12 + 𝑙1𝑠1) 𝑈2 = −𝑚2 𝑔𝑇 𝑃𝑐2 0 −𝑔 0 𝑙𝑐2𝑐12 + 𝑙1𝑐1 𝑙𝑐2𝑠12 + 𝑙1𝑠1 0 (13)
1
1
1
2 +
2 +
Từ các phương trình động năng và thế năng ta suy ra:
2
2
2
2𝑞̇1
2 𝑞̇1 2 + 2 + (𝑞̇1 + 𝑞̇ 2)𝑙𝑐2 sin(𝑞̇1 + 𝑞̇ 2) 𝑙1𝑞̇1𝑠1𝑚2 + (𝑞̇1 + 𝑞̇ 2)𝑙𝑐2𝑐12𝑙1𝑞̇1𝑐1𝑚2 + 𝑚2𝑙1 2 1 𝐼𝑐2(𝑞̇1 + 𝑞̇2)2 ) − (𝑚1𝑙𝑐1𝑔𝑠1 + 𝑚2𝑔(𝑙𝑐2𝑠12 + 𝑙1𝑠1)) (14)
2
𝑚2(𝑞̇1 + 𝑞̇ 2)2𝑙𝑐2 𝑚1𝑙𝑐1 𝐼𝑐1𝑞̇1 𝐿 = (𝐾1 + 𝐾2) − (𝑈1 + 𝑈2) = ( 1
𝑑
𝜕𝐿
Phương trình Euler-Lagrange cho khớp thứ 1 :
𝑑𝑡
𝜕𝑞1
) − = 𝜏1 (15) ( 𝜕𝐿 𝜕𝑞̇ 1
2 𝑚2𝑞̇2 +
Với :
2 𝑚2𝑞̇1 + 𝑙𝑐2
2 𝑚1𝑞̇1 + 𝑙𝑐2
2𝑚2𝑞̇1 + 𝑙𝑐1
𝜕𝐿 𝜕𝑞̇1 2𝑙1𝑙𝑐2𝑚2𝑞̇1𝑐2 + 𝑙1𝑙𝑐2𝑚2𝑞̇2𝑐2 (16)
= 𝐼𝑐1𝑞̇1 + 𝐼𝑐2𝑞̇1 + 𝐼𝑐2𝑞̇2 + 𝑙1
11
𝑑
2 𝑚2𝑞̈2 +
2𝑚2𝑞̈1 + 𝑙𝑐1
2 𝑚1𝑞̈1 + 𝑙𝑐2
2 𝑚2𝑞̈1 + 𝑙𝑐2
2
𝑑𝑡 2𝑙1𝑙𝑐2𝑚2𝑐2𝑞̈1 + 𝑙1𝑙𝑐2𝑚2𝑐2𝑞̈2 − 2𝑙1𝑙𝑐2𝑚2𝑠2𝑞̇1𝑞̇2 − 𝑙1𝑙𝑐2𝑚2𝑠2𝑞̇ 2 (17)
𝜕𝐿
) = 𝐼𝑐1𝑞̈1 + 𝐼𝑐2𝑞̈1 + 𝐼𝑐2𝑞̈2 + 𝑙1 ( 𝜕𝐿 𝜕𝑞̇ 1
𝜕𝑞1 (18)
= −𝑔𝑚2(𝑙𝑐2𝑐12 + 𝑙1𝑐1) − 𝑔𝑙𝑐1𝑚1𝑐1
2 𝑚2𝑞̈2 +
2 𝑚2𝑞̈1 + 𝑙𝑐2
2 𝑚1𝑞̈1 + 𝑙𝑐2
2𝑚2𝑞̈1 + 𝑙𝑐1
2 + 𝑔𝑚2(𝑙𝑐2𝑐12 +
Từ các thành phần trên nên ta có :
𝜏1 = 𝐼𝑐1𝑞̈1 + 𝐼𝑐2𝑞̈1 + 𝐼𝑐2𝑞̈2 + 𝑙1 2𝑙1𝑙𝑐2𝑚2𝑐2𝑞̈1 + 𝑙1𝑙𝑐2𝑚2𝑐2𝑞̈2 − 2𝑙1𝑙𝑐2𝑚2𝑠2𝑞̇1𝑞̇2 − 𝑙1𝑙𝑐2𝑚2𝑠2𝑞̇ 2 𝑙1𝑐1) + 𝑔𝑙𝑐1𝑚1𝑐1 (19)
𝑑
𝜕𝐿
Phương trình Euler-Lagrange cho khớp thứ 2 :
𝑑𝑡
𝜕𝑞2
) − = 0 (20) ( 𝜕𝐿 𝜕𝑞̇ 2
2 𝑚2𝑞̇2 + 𝑙1𝑙𝑐2𝑚2𝑐2𝑞̇1
Với :
2 𝑚2𝑞̇1 + 𝑙𝑐2
𝜕𝐿 𝜕𝜃̇ 2 (21)
𝑑
2 𝑚2𝑞̈ 2 + 𝑙1𝑙𝑐2𝑚2𝑐2𝑞̈1 − 𝑙1𝑙𝑐2𝑚2𝑠2𝑞̇2𝑞̇1
= 𝐼𝑐2𝑞̇1 + 𝐼𝑐2𝑞̇2 + 𝑙𝑐2
2 𝑚2𝑞̈1 + 𝑙𝑐2
) = 𝐼𝑐2𝑞̈1 + 𝐼𝑐2𝑞̈2 + 𝑙𝑐2
𝜕𝐿
2 + 𝑙1𝑠2𝑞̇1𝑞̇2 + 𝑔𝑐12)
( 𝜕𝐿 𝜕𝑞̇ 2 𝑑𝑡 (2.22)
𝜕𝑞2 (23)
= −𝑙𝑐2𝑚2(𝑙1𝑠2𝑞̇1
2 𝑚2𝑞̈2 + 𝑙1𝑙𝑐2𝑚2𝑐2𝑞̈1 − 𝑙1𝑙𝑐2𝑚2𝑠2𝑞̇ 2𝑞̇1 +
2 𝑚2𝑞̈1 + 𝑙𝑐2
2 + 𝑙1𝑠2𝑞̇1𝑞̇2 + 𝑔𝑐12) = 0 (24)
Từ các thành phần trên nên ta có :
𝐼𝑐2𝑞̈1 + 𝐼𝑐2𝑞̈2 + 𝑙𝑐2 𝑙𝑐2𝑚2(𝑙1𝑠2𝑞̇1
2 𝑚2𝑞̈2 +
2 𝑚2𝑞̈1 + 𝑙𝑐2
2 𝑚1𝑞̈1 + 𝑙𝑐2
2𝑚2𝑞̈1 + 𝑙𝑐1
2 + 𝑔𝑚2(𝑙𝑐2𝑐12 +
Từ (19) và (24) ta có hệ phương trình biến trạng thái của hệ Pendubot không ma sát 2 link :
2 𝑚2𝑞̈2 + 𝑙1𝑙𝑐2𝑚2𝑐2𝑞̈1 − 𝑙1𝑙𝑐2𝑚2𝑠2𝑞̇1𝑞̇1 +
2 𝑚2𝑞̈1 + 𝑙𝑐2
2 + 𝑙1𝑠2𝑞̇1𝑞̇2 + 𝑔𝑐12) (26)
𝜏1 = 𝐼𝑐1𝑞̈1 + 𝐼𝑐2𝑞̈1 + 𝐼𝑐2𝑞̈2 + 𝑙1 2𝑙1𝑙𝑐2𝑚2𝑐2𝑞̈1 + 𝑙1𝑙𝑐2𝑚2𝑐2𝑞̈2 − 2𝑙1𝑙𝑐2𝑚2𝑠2𝑞̇1𝑞̇2 − 𝑙1𝑙𝑐2𝑚2𝑠2𝑞̇ 2 𝑙1𝑐1) + 𝑔𝑙𝑐1𝑚1𝑐1 (25)
0 = 𝐼𝑐2𝑞̈1 + 𝐼𝑐2𝑞̈2 + 𝑙𝑐2 𝑙𝑐2𝑚2(𝑙1𝑠2𝑞̇1
Để thêm hệ số ma sát vào (25) và (26) trở thành :
12
2 𝑚2𝑞̈2 +
2𝑚2𝑞̈1 + 𝑙𝑐1
2 𝑚2𝑞̈1 + 𝑙𝑐2 2 + 𝑔𝑚2(𝑙𝑐2𝑐12 +
2 𝑚1𝑞̈1 + 𝑙𝑐2 𝜏1 − 𝑏1𝑞̇1 = 𝐼𝑐1𝑞̈1 + 𝐼𝑐2𝑞̈1 + 𝐼𝑐2𝑞̈2 + 𝑙1 2𝑙1𝑙𝑐2𝑚2𝑐2𝑞̈1 + 𝑙1𝑙𝑐2𝑚2𝑐2𝑞̈2 − 2𝑙1𝑙𝑐2𝑚2𝑠2𝑞̇1𝑞̇2 − 𝑙1𝑙𝑐2𝑚2𝑠2𝑞̇ 2 𝑙1𝑐1) + 𝑔𝑙𝑐1𝑚1𝑐1 (27)
2 𝑚2𝑞̈2 + 𝑙1𝑙𝑐2𝑚2𝑐2𝑞̈1 − 𝑙1𝑙𝑐2𝑚2𝑠2𝑞̇1𝑞̇1 +
2 𝑚2𝑞̈1 + 𝑙𝑐2
2 + 𝑙1𝑠2𝑞̇1𝑞̇2 + 𝑔𝑐12) (28)
−𝑏2𝑞̇2 = 𝐼𝑐2𝑞̈1 + 𝐼𝑐2𝑞̈2 + 𝑙𝑐2 𝑙𝑐2𝑚2(𝑙1𝑠2𝑞̇1
2 + 𝐼𝑐1
Đặt các tham số :
2 + 𝑚2𝑙𝑐2
2 + 𝐼𝑐2
𝜃1 = 𝑚1𝑙𝑐1
𝜃2 = 𝑚2𝑙𝑐2
𝜃3 = 𝑚1𝑙1𝑙𝑐2
𝜃4 = 𝑚1𝑙𝑐1 + 𝑚2𝑙1
𝜃5 = 𝑚2𝑙𝑐2
Từ (27) và (28) ta có được hệ phương trình biến trạng thái của hệ pendubot trở thành:
2𝜃3𝑠2 + 𝜃5𝑔𝑐12 = −𝑏2𝑞̇2 (30)
(𝜃1 + 𝜃2 + 2𝜃3𝜃2)𝑞̈1 + (𝜃2 + 𝜃3𝑐2)𝑞̈2 − 𝜃3𝑞̇1𝑞̇2𝑠2 − 𝑞̇ 2(𝑞̇2 + 𝑞̇1)𝜃3𝑠2 + 𝜃4𝑔𝑐1 + 𝜃5𝑔𝑐12 = 𝜏1 − 𝑏1𝑞̇1 (2.29)
(𝜃2 + 𝜃3𝑐2)𝑞̈1 + (𝜃2)𝑞̈ 2 + 𝑞̇1
Tín hiệu đầu vào của hệ Pendubot là momen tác động vào link 1. Tuy nhiên, trong thực tế, tín hiệu đầu vào của hệ thống là điện áp cung cấp cho động cơ DC để tạo ra momen. Do đó, sinh viên tìm mối quan hệ giữa điện áp 𝑢 và momen 𝜏1:
Hình 1.2 Cấu trúc động cơ DC
𝑑𝑖
Dựa vào cấu trúc của động cơ ta có hệ phương trình sau:
𝑑𝑡
𝑑𝜔
𝑑𝑡
𝑢 = 𝑖𝑅 + 𝐿 + 𝑘𝑡𝜔 { (31) 𝑖𝑘𝑡 = 𝐽 + 𝐶𝜔 + 𝑀𝑡
13
Trong đó : 𝑢 là điện áp cấp cho động cơ , 𝑖 dòng điện khi động cơ hoạt động , 𝐿 cuộn cảm của động cơ , 𝑘𝑡 hệ số momen của động cơ , 𝜔 vận tốc của động cơ (rpm hoặc rad/s) , 𝐽 momen quán tính của động cơ , 𝐶 hệ số ma sát của động cơ , 𝑀𝑡 momen tải của động cơ.
𝑑𝜔
Vì 𝐿 ≪ 0 nên ta có bỏ qua 𝐿 và từ đây ta thu được phương trình :
𝑑𝑡
2 𝑘𝑡 𝑅
𝑘𝑡 𝑅
− (𝐶 + ) 𝜔 + 𝑢 (32) 𝑀𝑡 = −𝐽
Vì 𝜔 là vận tốc của động cơ cũng như là vận tốc của link 1 và 𝑀𝑡 là momen tải của động cơ cũng chính là momen sinh ra khi cấp điện áp 𝑢 do đó 𝑀𝑡 là ngõ vào 𝜏1 của hệ Pendubot , Do đó ta có thể định nghĩa lại (32) :
𝑘𝑡 𝑅
2 𝑘𝑡 𝑅
𝑢 (33) 𝜏1 = −𝐽𝑞̈1 − (𝐶 + ) 𝑞̇1 +
𝑘𝑡 𝑅
2 𝑘𝑡 𝑅
, (33) trở thành : ta đặt : 𝜃6 = (𝐶 + ) và 𝜃7 =
𝜏1 = −𝐽𝑞̈1 − 𝜃6𝑞̇1 + 𝜃7𝑢 (34)
1.3 Yêu cầu điều khiển hệ pendubot ở các vị trí bất ổn định
Hệ Pendubot có 4 vị trí đặc biệt, gồm 2 vị trí ổn định và 2 vị trí bất ổn định
Hình 1.3
Hình 1.4
14
Hình 1.5
Hình 1.6
Có thể thấy, ở vị trí ở Hình 1.3 và ở vị trí ở Hình 1.4 thì
hệ Pendubot đã ổn định thoe tự nhiên.
Còn ở vị trí ở Hình 1.5 và ở vị trí ở Hình 1.6 thì hệ
Pendubot không còn ổn định. Với một lực tác động rất nhỏ từ trọng lực cũng đủ làm hệ
ngã xuống, mất ổn định.
Yêu cầu đặt ra là thiết kế bộ điều khiển sao cho giữ cho hệ thăng bằng ở vị trí TOP (hình
1.6) và vị trí MID (hình 1.5). Để hệ thăng bằng các vị trí này thì động cơ cần phải quay
với điện áp thích hợp và phải đảo chiều liên tục.
1.3.1 Xét tính điều khiển được ở vị trí TOP
Ma trận A, B ở vị trí TOP như sau:
15
(35)
Ma trận điều khiển:
Với n là số nghiệm của phương trình biến trạng thái
Thay vào ma trận điều khiển:
, Vậy có thể điều khiển được hệ ở vị trí TOP.
1.3.2 Xét tính điều khiển được ở vị trí MID
Ma trận A, B ở vị trí MID như sau:
Ma trận điều khiển:
(36)
Với n là số nghiệm của phương trình biến trạng thái
16
Thay vào ma trận điều khiển,
. Vậy có thể điều khiển được hệ ở vị trí MID.
17
CHƯƠNG 2: GIỚI THIỆU PHẦN CỨNG VÀ PHẦN MỀM
2.1 Vi xử lí LAUNCHXL-F28379D C2000
Hình 2.1 Vi điều khiển LAUNCHXL-F28379D C2000.
Vi điều khiển LAUNCHXL-F28379D C2000 được sử dụng rộng rãi trên thế giới bởi giá thành rẻ, ngoại vi nhiều, tốc độ cao và phần mềm sử dụng đa dạng tạo cho người dùng mới sự tiện lợi, thoải mái (ControlSUITE, Code Composer Studio IDE, Matlab,…)
Thông số kỹ thuật chính:
Vi xử lí: TMS320F28379D: 200MHz, 16/12bit ADCs, 3 eQEP modules , PWM
có độ phân giải 16bit
Tích hợp mạch nạp FT2232HQ. Nguồn cấp qua cổng USB 2.0 hoặc hơn. Điện áp sử dụng trên kit là 0-3.3V trừ module đọc encoder eQEP là sử dụng được
5V.
Tích hợp bộ đọc xung encoder hoặc hall sensor eQEP.
2.2 Rotary Encoder Omron 1000 xung
Hình 2.2 Encoder E6B2-CWZ6C OMRON 1000PPR.
18
Encoder E6B2-CWZ6C bên trong chứa đĩa encoder có 1000 xung cơ bản và sử
dụng cặp thu-phát led hồng ngoại để đếm số xung khi xoay trục.
Thông số kỹ thuật chính :
Ngõ ra kiểu NPN. Điện áp cấp là 5-24VDC. Độ phân giải : 1000 xung trên 1 vòng. Tần số đáp ứng : 100KHz.
2.3 Động cơ 24VDC M.A.E
Hình 2.3 Động cơ 24VDC của M.A.E.
Thông số kỹ thuật chính:
Điện áp cung cấp: 24VDC Encoder 2000 xung trên 1 vòng. Điện áp cấp 5VDC.
2.4 Cầu H IR2184
Hình 2.4 Cầu H IRF3205.
Mạch công suất đề điều khiển động cơ dùng 4 MOSFET IRF3205 và các opto
để cách lý phần mạch công suất và mạch điều khiển. Ở mạch điều khiển ngõ ra là 4
19
chân: PWM+, PWM-, DIR+, DIR-, 4 chân này dùng để cấp xung điều khiển và chiều quay của động cơ.
Thông số kỹ thuật chính:
Mosfet IRF3205 : Dòng liên tục 𝐼𝐷𝑆 = 110𝐴 , Điện áp cấp 5-55VDC. Tần số hoạt động lớn nhất: 100KHz.
2.5 Module giao tiếp UART sử dụng IC CP2102
Hình 2.5 Cổng kết nối UART giữa máy tính và vi điều khiển.
Mạch chuyển USB UART CP2102 sử dụng chip CP2102 của hãng SILICON
LABS được dùng để chuyển giao tiếp từ USB sang UART TTL và ngược lại.
Mạch chuyển USB UART CP2102 có thể nhận trên tất cả các hệ điều hành
Windows, Mac, Linux, Android,... rất dễ sử dụng và giao tiếp.
Hỗ trợ các tốc độ truyền như: 300, 600, 1200, 1800, 2400, 4000, 4800, 7200, 9600,14400, 16000, 19200, 28800, 38400, 51200, 56000, 57600, 64000, 76800, 115200, 128.000, 153.600, 230.400, 250.000, 256.000, 460.800, 500.000, 576.000, 921.600 và các loại tốc độ khác.
20
CHƯƠNG 3: MÔ HÌNH HÓA VÀ NHẬN DẠNG HỆ THỐNG
PENDUBOT
NHẬN DẠNG MÔ HÌNH KHÔNG THAM SỐ
3.1. Phân tích đáp ứng quá độ bằng phương pháp phân tích đáp ứng xung
Hình 3.1 Thí nghiệm thu thập dữ liệu phân tích đáp ứng xung
Hình 3.2 Phân tích đáp ứng xung được thiết kế cho hệ Pendubot
Khi áp dụng phương pháp này để chúng ta có thể quan sát rõ ràng về đáp ứng của
hệ thống, chúng ta cần lần lượt đưa tín hiệu nhiễu theo các trường hợp như sau:
3.1.1. Nhiễu DC (Mean) = 0; Nhiễu AC (Var) = 0
Alpha =0.2
Hình 3.3 Đồ thị biểu diễn hệ Pendubot trước và sau khi nhận dạng khi không nhiễu; Sai số của hệ sau khi nhận dạng 21
Nhận dạng mô hình không tham số bằng phương pháp đáp ứng xung khi không nhiễu cho kết quả ngõ ra của hệ thống nhận dạng tương đối giống với ngõ vào hệ thống thực, tín hiệu ngõ ra bám ngõ vào của hệ Pendubot. Nhóm sinh viên thực hiện thay đổi nhiều giá trị alpha khác nhau nhưng sai số ngõ ra hệ thống tốt nhất là 4x10-6. Sau khi nhận dạng, biên độ hệ thống nhận dạng giảm đáng kể so với hệ thống thực.
3.1.2. Nhiễu DC (Mean) = 0.1; Nhiễu AC (Var) = 0
Alpha = 0.3
Hình 3.4 Đồ thị biểu diễn hệ Pendubot trước và sau khi nhận dạng khi nhiễu DC; Sai số của hệ sau khi nhận dạng
Sinh viên thực hiện đưa nhiễu mean vào quá trinh nhận dạng bằng phương pháp đáp ứng xung. Kết quả nhận dạng Hình 3.4 cho thấy hệ thống có khả năng khử nhiễu mean, tín hiệu hệ thống nhận dạng tương đối giống với tin hiệu hệ thống thực, bám tín hiệu hệ thống thực. Sinh viên thực hiện thay đổi nhiều alpha khác nhau, với alpha =0.3 thì sai số ra tốt nhất bằng 3.5x10-6. Ngõ Sau khi nhận dạng, biên độ hệ thống nhận dạng giảm đáng kể so với hệ thống thực.
3.1.3. Nhiễu DC (Mean) = 0; Nhiễu AC (Var) = 0.01
Alpha = 0.4
Hình 3.5 Đồ thị biểu diễn hệ Pendubot trước và sau khi nhận dạng khi nhiễu AC; Sai số của hệ sau khi nhận dạng 22
Sinh viên thực hiện đưa nhiễu var vào quá trình nhận dạng bằng phương pháp đáp ứng xung. Kết quả nhận dạng từ Hình 3.5 cho thấy phương pháp đáp ứng xung không có khả năng triệt tiêu nhiễu var, tín hiệu hệ thống nhận dạng có chất lượng thấp, không bám với hệ thống thực.
3.1.4. Nhiễu DC (Mean) = 0.1; Nhiễu AC (Var) = 0.01
Alpha = 0.2
Hình 3.6 Đồ thị biểu diễn hệ Pendubot trước và sau khi nhận dạng khi nhiễU DC và AC; Sai số của hệ sau khi nhận dạng
Sinh viên thực hiện đưa nhiễu var và nhiễu mean vào quá trình nhận dạng bằng phương pháp đáp ứng xung. Kết quả nhận dạng từ Hình 3.6 cho thấy phương pháp đáp ứng xung không có khả năng triệt tiêu nhiễu var, tín hiệu hệ thống nhận dạng có chất lượng thấp, không bám với hệ thống thực.
3.2 Phân tích đáp ứng quá độ bằng phương pháp phân tích đáp ứng nấc
Hình 3.7 Thí nghiệm thu thập dữ liệu phân tích đáp ứng nấc
Hình 3.8 Phương pháp phân tích đáp ứng nấc được thiết kế cho hệ Pendubot
23
Khi áp dụng phương pháp này để chúng ta có thể quan sát rõ ràng về đáp ứng của
hệ thống, chúng ta cần lần lượt đưa tín hiệu nhiễu theo các trường hợp như sau:
3.2.1 Nhiễu DC=0; VAR=0
Alpha =0.1
Hình 3.9 Đồ thị biểu diễn hệ Pendubot trước và sau khi nhận dạng khi không nhiễu; Sai số của hệ sau khi nhận dạng
Nhận dạng mô hình không tham số bằng phương pháp đáp ứng nấc khi không nhiễu cho kết quả ngõ ra của hệ thống nhận dạng tương đối giống với ngõ vào hệ thống thực, tín hiệu ngõ ra bám ngõ vào của hệ Pendubot. Nhóm sinh viên thực hiện thay đổi nhiều giá trị alpha khác nhau nhưng sai số ngõ ra hệ thống tốt nhất là 1.5x10-6. Sau khi nhận dạng, biên độ hệ thống nhận dạng giảm đáng kể so với hệ thống thực.
3.2.2 Nhiễu DC=0.1, VAR=0
Alpha = 0.1
24
Hình 3.10 Đồ thị biểu diễn hệ Pendubot trước và sau khi nhận dạng khi nhiễU DC; Sai số của hệ sau khi nhận dạng
Nhận dạng mô hình không tham số bằng phương pháp đáp ứng nấc khi nhiễu mean cho kết quả ngõ ra của hệ thống nhận dạng tương đối giống với ngõ vào hệ thống thực, tín hiệu ngõ ra bám ngõ vào của hệ Pendubot. Nhóm sinh viên thực hiện thay đổi nhiều giá trị alpha khác nhau nhưng sai số ngõ ra hệ thống tốt nhất là 1.5x10-6. Sau khi nhận dạng, biên độ hệ thống nhận dạng giảm đáng kể so với hệ thống thực.
3.2.3 Nhiễu DC=0; VAR=0.001
Alpha=0.1
Hình 3.11 Đồ thị biểu diễn hệ Pendubot trước và sau khi nhận dạng khi nhiễU AC; Sai số của hệ sau khi nhận dạng
25
Nhận dạng mô hình không tham số bằng phương pháp đáp ứng nấc khi nhiễu var, hệ thống không có khả năng khử nhiễu var. Tín hiệu hệ thống nhận dạng có đáp ứng chất lượng kém.
3.2.4 Nhiễu DC=0.1; VAR=0.001
Alpha =0.1
Hình 3.12 Đồ thị biểu diễn hệ Pendubot trước và sau khi nhận dạng khi nhiễu DC và AC; Sai số của hệ sau khi nhận dạng
Nhận dạng mô hình không tham số bằng phương pháp đáp ứng nấc khi nhiễu var và nhiễu dc, hệ thống không có khả năng khử nhiễu var. Tín hiệu hệ thống nhận dạng có đáp ứng chất lượng kém.
3.3 Phân tích đáp ứng quá độ bằng phương pháp phân tích tương quan
Hình 3.13 Thí nghiệm thu thập dữ liệu phân tích tương quan
26
Hình 3.14 Phân tích phương pháp trên hệ Pendubot
Khi áp dụng phương pháp này để chúng ta có thể quan sát rõ ràng về đáp ứng của
hệ thống, chúng ta cần lần lượt đưa tín hiệu nhiễu theo các trường hợp như sau:
3.3.1 Nhiễu DC=0; VAR=0
Hình 3.15 Đồ thị biểu diễn hệ Pendubot trước và sau khi nhận dạng khi không nhiễu; Sai số của hệ sau khi nhận dạng
27
3.3.2 Nhiễu DC=0.1; VAR=0
Hình 3.16 Đồ thị biểu diễn hệ Pendubot trước và sau khi nhận dạng khi nhiễu DC; Sai số của hệ sau khi nhận dạng
3.3.3 Nhiễu DC=0; VAR=0.001
Hình 3.17 Đồ thị biểu diễn hệ Pendubot trước và sau khi nhận dạng khi nhiễu AC; Sai số của hệ sau khi nhận dạng
3.3.4 Nhiễu DC=0.1, VAR=0.001
28
Hình 3.18 Đồ thị biểu diễn hệ Pendubot trước và sau khi nhận dạng khi nhiễu DC và AC; Sai số của hệ sau khi nhận dạng
3.3.5 Nhận xét cho phân tích đáp ứng quá độ bằng phương pháp phân tích tương quan
Sinh viên thực hiện nhận dạng mô hình Pendubot bằng phương pháp phân tích đáp ứng quá độ bằng phương pháp phân tích tương quan lần lượt các trường hợp không nhiễu, nhiễu DC, nhiễu AC, nhiễu DC và AC. Kết quả ngõ ra hệ thống nhận dạng trong các trường hợp bằng phương pháp tương quan không có khả năng nhận dạng, chất lượng ngõ ra thấp.
3.4 Phân tích đáp ứng tần số bằng phương pháp kiểm tra sóng sin
3.4.1. Khảo sát tại link 1 của đối tượng
Hệ thống được cho nhiễu DC =0.1; VAR=0
Hình 3.19 Sơ đồ Simulink mô tả phương pháp kiểm tra sóng sin cho hệ Pendubot
Dữ liệu thu thập 40 lần khi cho nhiễu mean DC vào hệ thống:
29
Hình 3.20 Đáp ứng ngỏ vào ra của hệ Pendubot và giản đồ Bode hệ thống
Hình 3.21 Giản đồ Bode pha sau khi thu thập dữ liệu 40 lần
Hình 3.22 Giản đồ Bode biên sau khi thu thập dữ liệu 40 lần
30
Phương pháp phân tích tần số bằng phương pháp kiểm tra sóng sin khi đưa nhiễu DC vào hệ thống, sinh viên thực hiện thu thập dữ liệu 40 lần như file đính kèm. Hình 3.21 và Hình 3.22 thể hiện kết quả thu thập sau 40 lần để vẽ giản đồ Bode biên và Bode pha.
Hình 3.21 giản đồ Bode pha và Hình 3.22 giản đồ Bode biên sau khi thu thập dữ liệu có hình dạng tương đối giống với giản đồ bode thực của hệ thống, khả năng nhận dạng từ phương pháp này có hiệu quả cao.
Đặc tính tần số ước lượng bị ảnh hưởng bởi nhiễu.
3.4.2 Khảo sát tại link 2 của đối tượng
Khảo sát link 2 của đối tượng, nhóm sinh viên thực hiện không đưa nhiễu mean và nhiễu var vào quá trình nhận dạng. Giản đồ Bode thực và giản đồ Bode sau khi thu thập dữ liệu được trình bày ở Hình 3.24.
Nhiễu DC =0; AC=0
Dữ liệu thu thập sau 40 lần như sau:
Hình 3.23 giản đồ bode thực của hệ xét tại link 2
Hình 3.24 giản đồ Bode pha và biên sau khi thu thập dữ liệu 31
3.4.3 Nhận xét phương pháp
Nhận dạng mô hình hệ thống Pendubot bằng phương pháp phân tích tần số bằng phương pháp kiểm tra sóng sin có khả nhận dạng mô hình cho kết quả nhận dạng tốt, giản đồ Bode thu thập tại link 1 và link 2 của hệ thống cho kết quả tương đối giống với giản đồ Bode của hệ thống thực.
Phương pháp kiểm tra sóng sin có khả năng nhận dạng tốt mô hình Pendubot trong
để tài.
Thời gian nhận dạng 500.
3.5 Phân tích tần số bằng phương pháp tương quan
Thời gian lấy mẫu cho hệ thống là 0.001 s.
Khoảng thời gian chạy Simulink trên matlab là 30000s.
Giản đồ Bode thực hệ thống được trình bày trong Hình 3.25
Nhiễu mean =0; var=0.
Hình 3.25 Gian đồ Bode thực của hệ tại link 1
Phân tích tần số bằng phương pháp tương quan để nhận dạng mô hình hệ Pendubot sau khi thu thập dữ liệu. giản đồ Bode biên và Bode pha sau khi thu thập được
32
trình bày ở Hình 3.26 và Hình 3.27 để kiểm chứng khả năng nhận dạng của phương pháp.
Hình 3.26 giản đồ Bode pha sau khi nhận dạng
Hình 3.27 giản đồ Bode biên sau khi nhận dạng
Nhận xét: Khi áp dụng phương pháp phân tích tần số bằng phương pháp tương quan để nhận dạng mô hình Pendubot, nhóm sinh viên đã thực hiện thu thập dữ liệu khi không có nhiễu. Giản đồ Bode biên và Bode pha được thể hiện ở Hình 3.26 và 3.27 cho thấy phương pháp nhận dàng này không có khả năng nhận cho hệ Pendubot trong đề tài này. Khả năng nhận dạng mô hình của phân tích tần số bằng phương pháp tương quan để đạt được kết quả tốt nhất cần cho khoảng thời gian của hệ lớn nhưng nhóm sinh viên thực hiện thí nghiệm thì khoảng thời gian này còn tùy thuộc vào quá trình thử sai. Với khoảng thời gian 30000 giây, nhóm sinh viên nhận thấy rằng kết quả nhận dạng là tốt nhất, Bode biên và Bode pha sau khi thu thập dữ liệu có ngõ ra tốt nhất.
MÔ HÌNH HÓA VÀ NHẬN DẠNG CÓ THAM SỐ
33
3.5. Phương trình hàm truyền của hệ thống Pendubot Phương trình hàm truyền của hệ thống:
(37) Từ phương trình (37), ta có:
(38) Từ phương trình (38), ta có:
(39) Từ phương trình (39), ta có
(40) Từ phương trình (40), ta có:
(41)
3.6. Nhận dạng mô hình có tham số khi không nhiễu 3.6.1. Cấu trúc ARX Tín hiệu ngỏ vào và ngõ ra của hệ thống với tín hiệu ngõ vào là RBS (Random binary signal).
Hình 3.28 Tín hiệu vào ra của hệ thống khi không nhiễu
Hệ Pedubot là một hệ có tính phi tuyến cao, bậc của hệ thống là bậc 4. Quá trình nhận dạng bằng cấu trúc ARX, sinh viên thực hiện thay đổi bậc của hệ thống để tìm ra giá trị best fits tốt nhất của hệ thống sau khi nhận dạng. Đồ thị về cấu trúc ARX được tùy chỉnh theo các bậc khác nhau được trình bày ở Hình 3.29:
34
Hình 3.29 Đồ thị về cấu trúc ARX được tùy chỉnh theo các bậc khác nhau Gía trị best fit khi thay đổi được trình bày trong Hình 3.30:
Hình 3.30 Giá trị best fits của cấu trúc ARX khi không nhiễu
Sau khi nhận dạng bằng cấu trúc ARX, đối với bậc của hệ Pendubot nên sinh viên chọn giá trị [arx441] với giá trị best fits = 96.18. Hình 3.31 trình bày về phương trình của cấu trúc ARX.
Hình 3.31 Kết quả phương trình [arx441], best fit = 96.18
Từ Hình 3.31, sinh viên thực hiện tính toán phương trình y(t) để khảo sát với phương trình y(t) hệ thống.
(42)
3.6.2. Cấu trúc ARMAX Tín hiệu ngỏ vào và ngõ ra của hệ thống với tín hiệu ngõ vào là SINE (Sum-of-sinusoids signal).
35
Hình 3.32 Tín hiệu vào ra của hệ thống Pendubot với cấu trúc ARMAX Hệ Pedubot là một hệ có tính phi tuyến cao, bậc của hệ thống là bậc 4. Quá trình nhận dạng bằng cấu trúc ARX, sinh viên thực hiện thay đổi bậc của hệ thống để tìm ra giá trị best fits tốt nhất của hệ thống sau khi nhận dạng. Đồ thị về cấu trúc ARX được tùy chỉnh theo các bậc khác nhau được trình bày ở Hình 3.33:
Hình 3.33 Đồ thị về cấu trúc ARMAX được tùy chỉnh theo các bậc khác nhau Gía trị best fit khi thay đổi được trình bày trong Hình 3.34
36
Hình 3.34 giá trị best fits của cấu trúc ARMAX khi không nhiễu
Sau khi nhận dạng bằng cấu trúc ARMAX, đối với bậc của hệ Pendubot nên sinh viên chọn giá trị [amx2221] với giá trị best fits = 95.58. Hình 3.35 trình bày về phương trình của cấu trúc ARMAX.
Hình 3.35 Kết quả phương trình [amx2221], best fit = 95.58
Từ Hình 3.35, sinh viên thực hiện tính toán phương trình y(t) để khảo sát với phương trình y(t) hệ thống
(43)
3.6.3. Cấu trúc OE
Tín hiệu ngỏ vào và ngõ ra của hệ thống với tín hiệu ngõ vào là SINE (Sum-of- sinusoids signal).
Hệ Pedubot là một hệ có tính phi tuyến cao, bậc của hệ thống là bậc 4. Quá trình nhận dạng bằng cấu trúc OE, sinh viên thực hiện thay đổi bậc của hệ thống để tìm ra giá trị best fits tốt nhất của hệ thống sau khi nhận dạng. Đồ thị về cấu trúc OE được tùy chỉnh theo các bậc khác nhau được trình bày ở Hình 3.36:
37
Hình 3.36 Đồ thị về cấu trúc OE được tùy chỉnh theo các bậc khác nhau
Hình 3.37 giá trị best fits của cấu trúc OE khi không nhiễu
Sau khi nhận dạng bằng cấu trúc OE, đối với bậc của hệ Pendubot nên sinh viên chọn giá trị [OE421] với giá trị best fits = 99.51. Hình 3.38 trình bày về phương trình của cấu trúc OE.
Hình 3.38 Kết quả phương trình [oe421], best fit = 99.51
(44)
3.6.4. Cấu trúc BJ
Tín hiệu ngỏ vào và ngõ ra của hệ thống với tín hiệu ngõ vào là SINE (Sum-of- sinusoids signal).
Hệ Pedubot là một hệ có tính phi tuyến cao, bậc của hệ thống là bậc 4. Quá trình nhận dạng bằng cấu trúc BJ, sinh viên thực hiện thay đổi bậc của hệ thống để tìm ra giá trị best fits tốt nhất của hệ thống sau khi nhận dạng. Đồ thị về cấu trúc BJ được tùy chỉnh theo các bậc khác nhau được trình bày ở Hình 3.39:
38
Hình 3.39 Đồ thị về cấu trúc BJ được tùy chỉnh theo các bậc khác nhau
Hình 3.40 giá trị best fits của cấu trúc BJ khi không nhiễu
Sau khi nhận dạng bằng cấu trúc BJ, đối với bậc của hệ Pendubot nên sinh viên chọn giá trị [BJ42122] với giá trị best fits = 89.41. Hình 3.41 trình bày về phương trình của cấu trúc BJ.
Hình 3.41 Kết quả phương trình [bj42122], best fit = 89.41
(45)
3.6.5. Nhận xét các mô hình khi không có nhiễu
39
Bảng 3.1 So sánh các cấu trúc
ARX441
ARMAX2 221
OE421
BJ42122
Hệ thống
Các hàm truyền của từng cấu trúc được liệt kê trong Bảng 3.1, sinh viên nhận thấy rằng với cấu trúc [arx441] cho hàm truyền tương đối giống với hàm truyền của hệ thống. Cấu trúc ARX là một cấu trúc đơn giản, khả năng nhận dạng tốt. Mô hình Pendubot trong để tài được lựa chọn là bậc 4. Nhóm sinh viên chọn lựa cấu [arx441] sau nhận dạng cho hệ Pendubot khi nhận dạng không nhiễu. 3.7. Nhận dạng mô hình có tham số khi có nhiễu 3.7.1. Nhiễu DC=0.1; AC=0 Tín hiệu ngỏ vào và ngõ ra của hệ thống với tín hiệu ngõ vào là RGS (Random Gaussian signal). Nhận dạng hệ thống Pendubot theo phương pháp có tham số không nhiễu đã được thực hiện phần trên bằng 4 kiểu cấu trúc khác, thay đổi bậc của hệ thống trong từng cấu trúc để khảo sát tính ổn định, thu thập các best fits có giá trị tốt, đơn giản phù hợp với bậc của hệ thống. Sau khi khảo sát không nhiễu, sinh viên thực hiện đưa nhiễu vào hệ thống để khảo sát. Các trường hợp nhiễu lần lượt được giới thiệu qua các phần sau.
40
Hình 3.42 Hệ Pendubot được thiết kế với cấu trúc ARX, ARMAX, OE, BJ khi có nhiễu DC nhỏ và không nhiễu AC
Hình 3.43 Các giá trị best fits với các cấu trúc Các hàm truyền của từng cấu trúc được trình bày như sau: Cấu trúc ARX
Hình 3.44 Phương trình cấu trúc ARX
(46)
Cấu trúc ARMAX
Hình 3.45 Phương trình cấu trúc ARMAX
(47) Cấu trúc OE
Hình 3.46 Phương trình cấu trúc OE
(48)
Cấu trúc BJ
41
Hình 3.47 Phương trình cấu trúc BJ
3.7.2. Nhiễu DC = 0.3; AC=0
Hình 3.48 Hệ Pendubot được thiết kế với cấu trúc ARX, ARMAX, OE, BJ khi có nhiễu DC lớn và không nhiễu AC
Hình 3.49 Các giá trị best fits với các cấu trúc Cấu trúc ARX
Hình 3.50 Phương trình cấu trúc ARX
42
(49) Cấu trúc ARMAX
Hình 3.51 Phương trình cấu trúc ARMAX
(50) Cấu trúc OE
Hình 3.52 Phương trình cấu trúc OE
(51)
Cấu trúc BJ
Hình 3.53 Phương trình cấu trúc BJ
3.7.3. Nhiễu DC=0; AC=0.03
Hình 3.54 Hệ Pendubot được thiết kế với cấu trúc ARX, ARMAX, OE, BJ khi có nhiễu AC nhỏ và không nhiễu DC
43
Hình 3.55 Các giá trị best fits với các cấu trúc Cấu trúc ARX
Hình 3.56 Phương trình cấu trúc ARX
(52) Cấu trúc ARMAX
Hình 3.57 Phương trình cấu trúc ARMAX
(53) Cấu trúc OE
Hình 3.58 Phương trình cấu trúc OE
(54)
Cấu trúc BJ
44
Hình 3.59 Phương trình cấu trúc BJ
3.7.4. Nhiễu DC=0; AC=0.1
Hình 3.60 Hệ Pendubot được thiết kế với cấu trúc ARX, ARMAX, OE, BJ khi có nhiễu AC lớn và không nhiễu DC
Hình 3.61 Các giá trị best fits với các cấu trúc Cấu trúc ARX
45
Hình 3.62 Phương trình cấu trúc ARX
(55) Cấu trúc ARMAX
Hình 3.63 Phương trình cấu trúc ARMAX
(56) Cấu trúc OE
Hình 3.64 Phương trình cấu trúc OE
(57)
Cấu trúc BJ
Hình 3.65 Phương trình cấu trúc BJ
3.7.5. Nhiễu DC=0.15; AC=0.03
Hình 3.66 Hệ Pendubot được thiết kế với cấu trúc ARX, ARMAX, OE, BJ khi có nhiễu AC và nhiễu DC
46
Hình 3.67 Các giá trị best fits với các cấu trúc Cấu trúc ARX
Hình 3.68 Phương trình cấu trúc ARX
(58) Cấu trúc ARMAX
Hình 3.69 Phương trình cấu trúc ARMAX
(59) Cấu trúc OE
Hình 3.70 Phương trình cấu trúc OE
(60)
Cấu trúc BJ
47
Hình 3.71 Phương trình cấu trúc BJ
3.3.6. Nhận xét
Nhận dạng mô hình có tham số hệ Pendubot khi có nhiễu như các trường hợp trên ta
nhận thấy rằng cấu trúc ARX cho mỗi trường hợp có giá trị best fit tốt nhất, phương
trình hàm truyền y(t) của cấu trúc ARX có kết quả giống với phương trình hàm truyền
hệ thống. Cấu trúc ARX là một cấu trúc đơn giản, dễ tính toán, có khả năng nhận dạng
cao. Nhóm sinh viên chọn cấu trúc ARX để nhận dạng cho hệ Pendubot đối với trường
hợp khi đưa nhiễu vào được.
48
CHƯƠNG 4: CƠ SỞ LÝ THUYẾT
4.1 Giới thiệu giải thuật điều khiển tuyến tính dạng toàn phương LQR
LQR là thuật toán điều khiển được xây dựng dựa trên cơ sở nguyên lý phản hồi
trạng thái, còn gọi là phương pháp tuyến tính hóa dạng toàn phương. Bộ điều khiển LQR
thường được áp dụng trên các hệ phi tuyến với nhiều ngõ vào ra. Bộ điều khiển nhận tín
hiệu vào là trạng thái của hệ thống và tín hiệu mẫu sau đó tính toán và chuyển thành tín
hiệu điều khiển cho hệ thống.
Một hệ điều khiển được thiết kế ở chế độ làm việc tốt nhất là hệ luôn ở trạng thái
tối ưu theo một tiêu chuẩn chất lượng nào đó (đạt giá trị cực trị). Trạng thái tối ưu có
đạt được hay không tùy thuộc vào yêu cầu chất lượng đặt ra, sự hiểu biết vè đối tưởng
và các tác động lên đối tượng, điều kiện làm việc của hệ.
Hình 4.1 Cấu trúc bộ điều khiển LQR
Xét hệ thống có tác động ngoài ( ): (61)
Chúng ta cần tìm ma trận K của vector điều khiển tối ưu: thỏa mãn chỉ tiêu
chất lượng J đạt giá trị cực tiểu: (62)
Trong đó Q là ma trận xác định dương (hoặc bán xác định dương), R là ma trận xác định
dương.
Ma trận K tối ưu được xác định từ phương trình Riccati có dạng:
(63)
Như vậy, luật điều khiển tối ưu cho bài toán điều khiển tối ưu dạng toàn phương với chỉ
tiêu chất lượng là phương trình tuyến tính và có dạng:
(64)
Ma trận P khi đó thỏa mãn phương trình Riccati:
49
(65)
Khi S không thay đổi theo thời gian , ta có phương trình đại số Riccati:
(66)
4.2 Giới thiệu giải thuật Swing up
Trong đề tài này, sinh viên xin giới thiệu phương pháp điều khiển swing up thanh
con lắc từ vị trí thẳng đứng hướng xuống lên vị trí thẳng đứng hướng lên. Phương pháp
thứ nhất để swing up thanh con lắc là phương pháp năng lượng.
𝝅
Hình 4.2 Sơ đồ khối giải thuật điều khiển Swing-up
𝟐
4.2.1 Thiết kế bộ điều khiển swing-up vị trí top ( 𝒒𝟏 = và 𝒒𝟐 = 𝟎 )
50
Hình 4.3 Vị trí TOP của hệ Pendubot.
Hệ phương trình toán học miêu tả hệ Pendubot từ (29) và (30) được biểu diễn lại như sau:
𝐷11𝑞̈1 + 𝐷12𝑞̈ 2 + 𝐶11𝑞̇1 + 𝐶12𝑞̇ 2 + 𝐺1 = 𝜏1 − 𝑏1𝑞̇1 (67)
𝐷21𝑞̈1 + 𝐷22𝑞̈2 + 𝐶21𝑞̇1 + 𝐺2 = −𝑏2𝑞̇2 (68)
Với :
𝐷11 = (𝜃1 + 𝜃2 + 2𝜃3𝜃2) 𝐷12 = (𝜃2 + 𝜃3𝑐2) 𝐶11 = −𝜃3𝑞̇ 2𝑠2 𝐶12 = − (𝑞̇2 + 𝑞̇1)𝜃3𝑠2 𝐺1 = 𝜃4𝑔𝑐1 + 𝜃5𝑔𝑐12 𝐷21 = (𝜃2 + 𝜃3𝑐2) 𝐷22 = 𝜃2 𝐶21 = 𝑞̇1𝜃3𝑠2 𝐺2 = 𝜃5𝑔𝑐12
Từ (3.2) ta có gia tốc link 2:
𝑞̈ 2 = −(𝐷21𝑞̈1 + 𝐶21𝑞̇1 + 𝐺2 + 𝑏2𝑞̇2 ) 𝐷22 (69)
Thay thế 𝑞̈ 2 vào phương trình (3.1) ta được:
𝐷11𝑞̈1 + 𝐷12( ) + 𝐶11𝑞̇1 + 𝐶12𝑞̇2 + 𝐺1 = 𝜏1 − 𝑏1𝑞̇1 −(𝐷21𝑞̈1 + 𝐶21𝑞̇1 + 𝐺2 + 𝑏2𝑞̇ 2 ) 𝐷22
(70)
Rút gọn phương trình (3.4) ta được:
𝐷11̅̅̅̅̅𝑞̈1 + 𝐶11̅̅̅̅𝑞̇1 + 𝐶12̅̅̅̅𝑞̇2 + 𝐺1 ̅̅̅̅ = 𝜏1 (71)
51
Với :
𝐷11̅̅̅̅̅ = 𝐷11 − 𝐷12𝐷21 𝐷22
𝐶11̅̅̅̅ = 𝐶11 + 𝑏1 − 𝐷12𝐶21 𝐷22
𝐶12̅̅̅̅ = 𝐶12 − 𝐷12𝑏2 𝐷22
𝐺1 ̅̅̅̅ = 𝐺1 − 𝐷12𝐺2 𝐷22
Bộ điều khiển vòng trong tuyến tính hóa 𝑞1 được thiết kế như sau : 𝜏1 = 𝐷11̅̅̅̅̅𝑣1 + 𝐶11̅̅̅̅𝑞̇1 + 𝐶12̅̅̅̅𝑞̇2 + 𝐺1 ̅̅̅̅ (72) Hệ thống được mô tả lại như sau :
(73) 𝑞̈1 = 𝑣1 𝐷21𝑣1 + 𝐷22𝑞̈ 2 + 𝐶21𝑞̇1 + 𝐺2 = −𝑏2𝑞̇2
Thiết kế bộ điều khiển vòng ngoài để bám theo quỹ đạp link 1 sử dụng bộ điều khiển PD hồi tiếp gia tốc link 1 :
𝑣1 = 𝑞̈1𝑑 + 𝐾𝑝(𝑞1𝑑 − 𝑞1) + 𝐾𝐷(𝑞̇1𝑑 − 𝑞̇1) (74)
Hình 4.4 Sơ đồ điều khiển swing-up vị trí TOP
Thay phương trình (3.8) vào (3.6). Cuối cùng, ta có được bộ điều khiển:
𝜋
𝜏1 = 𝐷11̅̅̅̅̅(𝑞̈1𝑑 + 𝐾𝑝(𝑞1𝑑 − 𝑞1) + 𝐾𝐷(𝑞̇1𝑑 − 𝑞̇1)) + 𝐶11̅̅̅̅𝑞̇1 + 𝐶12̅̅̅̅𝑞̇ 2 + 𝐺1 ̅̅̅̅ (75)
2
. Với 𝑞̈1𝑑 = 0 , 𝑞̇1𝑑 = 0 , 𝑞1𝑑 =
𝝅 và 𝒒𝟐 = 𝝅 )
𝟐
4.2.2 Thiết kế bộ điều khiển swing-up vị trí middle ( 𝒒𝟏 = −
52
Hình 4.5 Vị trí Middle của hệ Pendubot
Với bộ điều khiển để swing-up vị trí middle, sinh viên thực hiện vẫn sử dụng bộ điều khiển hồi tiếp tuyến tính (3.9) nhưng sẽ thêm điều kiện là các vị trí ban đầu để có thể swing-up được link 1 và link 2 đến vị trí mong muốn.
2𝜋
𝜏1 = 𝐷11̅̅̅̅̅(𝑞̈1𝑑 + 𝐾𝑝(𝑞1𝑑 − 𝑞1) + 𝐾𝐷(𝑞̇1𝑑 − 𝑞̇1)) + 𝐶11̅̅̅̅𝑞̇1 + 𝐶12̅̅̅̅𝑞̇ 2 + 𝐺1 ̅̅̅̅ (76)
5
𝜋
2
(𝑡 < )
2𝜋
Với
5
{ (𝑡 > )
2
𝑞̈1𝑑 = 0 𝑞̇1𝑑 = 0 { 𝑞1𝑑 = −1.4 sin(5𝑡) − 𝑞̈1𝑑 = 0 𝑞̇1𝑑 = 0 𝜋 𝑞1𝑑 = − {
4.3 Giới thiệu giải thuật di truyền GA
Thuật toán di truyền (Genetic Algorithms - GA) là phương pháp tìm kiếm toàn cục
ngẫu nhiên dựa trên cơ chế chọn lọc tự nhiên và di truyền học tự nhiên. Chúng lặp đi
lặp lại việc tìm kiếm và được sử dụng rộng rãi trong các bài toán tối ưu hóa ở một số
ngành khoa học và công nghệ. Chúng ta có thể xem tiến trình trên như là một qui trình
vòng kín (tạo ra các thế hệ mới). Quá trình lai ghép, đột biến, chọn lọc bắt đầu lại từ
điểm cơ sở và các mẫu tốt nhất sẽ được chọn. Việc lựa chọn các thể di truyền (sản phẩm
của sự kết hợp giữa 2 cá thể cha mẹ) là một quá trình ngẫu nhiên nhưng nó được định
hướng bởi việc lựa chọn các mẫu tốt nhất trong quần thể. Thực tế, để kết thúc quá trình
GA sau khi số lượng thế hệ được tạo ra và sau đó tiến hành kiểm tra chất lượng của tập
hợp đó. Nếu không tìm thấy giải pháp tối ưu, GA có thể được khởi động lại hoặc tìm
kiếm mới bắt đầu.
53
Đối với việc thiết kế bộ điều khiển LQR, Backstepping. Giải thuật gen di truyền
được áp dụng để tìm kiếm ra các thông số của ma trận , các trọng số trong luật điều
khiển của phương pháp Backstepping, các thông số tiền xử lý, hậu xử lý cho bộ điều
khiển LQR, Backstepping.
Để áp dụng giải thuật GA cho việc thiết kế một hệ thống điều khiển tự động. Cần
nắm bắt rõ cấu trúc, thông số, bản chất của hệ thống. Từ đó thành lập chương trình với
sự hỗ trợ của khoa học máy tính để tìm kiếm các cá thể, thông số như ý.
Ở đề tài này, giải thuật GA được tiến hành trên phần mềm Matlab. Tuy nhiên, việc
chọn lọc, lai ghép các cá thể diễn ra theo thể thức random-tự do, vì vậy để tìm được cá
thể tốt, máy tính có thể chạy mất vài ngày.
Hình 4.6 Sơ đồ giải thuật di truyền tổng quát
Tóm lại, để giải quyết bài toán bằng giải thuật di truyền, chúng ta cần thực hiện
bảy bước quan trọng sau đây:
Bước 1: Chọn mô hình cho lời giải của bài toán, chọn một số lời giải tượng trưng
cho toàn bộ các lời giải (tương đương như quần thể) có thể có của bài toán.
Bước 2: Chỉ định cho mỗi lời giải (cá thể) một ký hiệu (mã hóa). Ký hiệu có thể
là một dãy các số 0 và 1 hay dãy số thập phân, dãy các chữ hay hỗn hợp của số
và chữ. Ký hiệu đơn giản nhất và thƣờng dùng nhất là dãy số 0 và 1.
Bước 3: Tìm hàm số thích nghi cho bài toán và tính hệ số thích nghi cho từng lời
giải (cá thể).
Bước 4: Dựa trên hệ số thích nghi của các lời giải để thực hiện chọn lọc
(Selection) và các phép toán di truyền như: lai ghép (Crossover), đột biến
(Mutation).
54
Bước 5: Tính hệ số thích nghi cho các lời giải (cá thể) mới, loại bỏ đi các cá thể
kém nhất để chỉ còn giữ lại một số nhất định các cá thể tương đối tốt.
Bước 6: Nếu chưa tìm được lời giải mong muốn (tối ưu) hay tương đối tốt nhất
hay chưa hết thời gian ấn định, quay lại bước 4 để tìm lời giải mới.
Bước 7: Tìm được lời giải tối ưu hay thời gian ấn định đã hết thì kết thúc giải
thuật và đưa ra kết quả tìm được.
Hàm mục tiêu để tối ưu hóa thông số điều khiển cho bộ điều khiển LQR và bộ điều
khiển backstepping khi áp dụng giải thuật di truyền GA được trình bày như sau:
(77)
Với và n là số lượng mẫu trong 1 đơn vị thời gian, giá trị J phụ thuộc vào
sai số của thanh con lắc và thanh cánh tay. Trong trường hợp này, nếu thời gian chạy là
100 giây, với thời gina lấy mẫu là 0.01 giây, thì chúng ta có n = 10001 mẫu.
4.3.1 Lưu đồ giải thuật của thuật toán di truyền
Hình 4.7 Sơ đồ giải thuật di truyền GA
4.4 Giới thiệu phần mềm Matlab của Matworks
Xem thêm ở mục I phần PHỤ LỤC.
55
CHƯƠNG 5 ĐÁP ỨNG THỰC TẾ KHI ĐIỀU KHIỂN
5.1 Kết quả mô phỏng bộ điều khiển swing up (top+middle) và cân bằng LQR
Sinh viên thực hiện mô phỏng trên Matlab.
Hình 5.1 Sơ đồ thiết kế bộ điều khiển
Thông qua việc sử dụng việc đo đạc và từ datasheet nhà sản xuất, sinh viên thu được các tham số hệ thống như sau:
𝜃1 = 0.02735
𝜃2 = 0.003931
𝜃3 = 0.0054179
𝜃4 = 0.21683
𝜃5 = 0.036405
𝜃6 =0.011074
𝜃7 = 0.14941
𝑏1 = 0.022629
𝑏2 = 7.1283 ∗ 10−6
𝐽 = 3.6373 ∗ 10−5
Ta có được ma trận K của bộ điều khiển LQR sau khi chọn:
56
𝜋
và middle 𝑄 = [ ] và 𝑅 = 1 với giá trị điểm làm việc tĩnh top
−𝜋
1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 𝑞1 = 2 𝑞̇1 = 0 𝑞2 = 0 𝑞̇ 2 = 0 {
2 𝑞̇1 = 0 𝑞2 = 𝜋 𝑞̇2 = 0
𝑞1 =
{
Giải phương trình Riccati:
𝐴𝑇𝑆 + 𝑆𝐴 − 𝑆𝐵𝑅−1𝐵𝑇𝑆 + 𝑄 = 0 (78)
Sau đó thay 𝑆 vào 𝐾 = −𝑅−1𝐵𝑇𝑆. Ta thu được:
𝐾𝑡𝑜𝑝 = [−9 −1.5 −9.5 −1] (79)
𝐾𝑚𝑖𝑑𝑑𝑙𝑒 = [3 0.2 6.8 0.6] (80)
Ta chọn { và { cho bộ điều khiển Swing-up. 𝐾𝑝_𝑡𝑜𝑝 = 25 𝐾𝑑_𝑡𝑜𝑝 = 7.2 𝐾𝑝_𝑚𝑖𝑑𝑑𝑙𝑒 = 150 𝐾𝑑_𝑚𝑖𝑑𝑑𝑙𝑒 = 27.3
𝜋
Bộ switch giữa 2 bộ điều khiển LQR và Swing-up khi:
| ≤ 0.5 |𝑞1 −
2 |𝑞2| ≤ 0.5 𝑢𝑙𝑞𝑟_𝑡𝑜𝑝 ≤ 15
𝜋
Vị trí top : {
Vị trí middle : {
𝜋
|𝑞1 + | ≤ 0.5 2 |𝑞2 − 𝜋| ≤ 0.5 𝑢𝑙𝑞𝑟_𝑚𝑖𝑑𝑑𝑙𝑒 ≤ 15 Kết quả trên mô phỏng và thực nghiệm:
Vị trí top :
𝑞1 = 2 𝑞̇1 = 0 𝑞2 = 0 𝑞̇2 = 0 {
57
Hình 5.2 Kết quả mô phỏng góc và vận tốc của link 1 và link 2 vị trí top của hệ Pendubot.
Hình 5.3 Kết quả mô phỏng điện áp cấp cho hệ Pendubot ở vị trí TOP
58
Hình 5.4 Kết quả thực nghiệm góc và vận tốc của link 1 và link 2 trên thực nghiệm ở vị trí TOP
−𝜋
Hình 5.5 Kết quả điện áp cấp cho động cơ thực nghiệm ở vị trí top
2 𝑞̇1 = 0 𝑞2 = 𝜋 𝑞̇ 2 = 0
𝑞1 = Vị trí middle :
{
59
Hình 5.6 Kết quả góc và vận tốc link 1 và link 2 trên mô phỏng ở vị trí middle.
Hình 5.7 Kết quả điện áp cấp từ động cơ trên mô phỏng ở vị trí middle.
60
Hình 5.8 Góc và vận tốc link 1 và link 2 trên thực nghiệm ở vị trí middle.
Hình 5.9 Điện áp cấp cho động cơ trên thực nghiệm ở vị trí middle.
61
CHƯƠNG 6: KẾT LUẬN
6.1 Kết quả đạt được
Qua quá trình nghiên cứu và thực hiện đề tài đã được một số kết quả sau:
Nghiên cứu áp dụng bộ thư viện Embedded Coder Support Package for Texas
Instrument C2000 Processors để điều khiển hệ thống bồn nước đơn thông qua phần mềm
Matlab/Simulink.
Nghiên cứu ứng dụng vi xử lý LAUNCHXL-F28379D vào điều khiển hệ thống
bồn nước đơn.
Tác giả đã xây dựng thành công mô hình hệ thống Pendubot hoạt động ổn định,
thẫm mỹ.
Nghiên cứu giải thuật điều khiển LQR, giải thuật di truyền GA, swing up bằng
phương pháp năng lượng áp dụng trên mô hình con lắc ngược và cho kết quả mô phỏng
rất tốt trên Matlab.
Nghiên cứu mô hình hóa và nhận dạng hệ Pendubot.
Đề tài “NGHIÊN CỨU ĐIỀU KHIỂN CÁNH TAY ROBOT THIẾU DẪN ĐỘNG
HAI BẬC TỰ DO - PENDUBOT” sẽ hỗ trợ đắc lực trong quá trình giảng dạy, học tập
và nghiên cứu khoa học cho giảng viên cũng như sinh viên trường Đại học Sư phạm Kỹ
thuật TPHCM. Việc áp dụng mô hình hệ thống bồn nước đơn sẽ giúp người học kiểm
chứng lại các giải thuật, phương pháp điều khiển khác nhau nhằm tìm ra giải thuật tối
ưu cho từng ứng dụng cụ thể.
6.2 Hướng phát triển
Điều khiển hệ thống Pendubot 3 link.
62
TÀI LIỆU THAM KHẢO
[1] Trần Hoàng Chinh, Điều khiển PID-Fuzzy cho hệ Pendubot, trường Đại học Sư
phạm Kỹ thuật TPHCM, 2018.
[2] Tran Thien Dung, Nguyen Nam Trung, Nguyen Van Lanh, Control design using
backstepping technique for a cart-inverted pendulum system, International Journal of
Engineering and Applied Sciences (IJEAS), Volume-6, pp.70-75, 2019.
[3] Philippe Faradja, Guoyuan Qi, Martial Tatchum, Sliding mode control of a Rotary
Inverted Pendulum using higher order differential observer, 14th International
Conference on Control, Automation and Systems (ICCAS 2014), pp. 1123-1127, 2014.
[4] K. Furuta, M. Iwase, Swing-up time analysis of pendulum, Bulletin of the Polish
Academy of Sciences Technical Sciences Vol. 52, No. 3, pp. 153-163, 2004.
[5] Yung-Chih Fu, Jung-Shan Lin, Nonlinear Backstepping Control Design of the Furuta
Pendulum, IEEE Conference on Control Applications, pp. 96-101, 2005.
[6] Nguyễn Văn Đông Hải, Xây dựng bộ điều khiển nhúng tuyến tính hóa vào ra cho hệ
xe con lắc ngược, Luận văn Thạc sĩ trường Đại học Bách Khoa TPHCM, 2011
[7] Iraj Hassanzadeh, Saleh Mobayen, Controller Design for Rotary Inverted Pendulum
System Using Evolutionary Algorithms, Mathematical Problems in Engineering,
Volume 2011, pp. 1-17, 2011.
[8] Vo Anh Khoa, Nguyen Minh Tam, Tran Vi Do, Nguyen Thien Van, Nguyen Van
Dong Hai, Model and control algorithm construction for rotary inverted pendulum in
laboratory, Journal of Technical Education Science No.49, pp. 32-40, 2018.
[9] Li Chun Lai -. Yu Yi Fu - Chia-Nan Ko, “MQPSO Algorithm Based Fuzzy PID
Control for a Pendubot System “, International Conference on Artificial Life and
Robotics (ICAROB 2017), pp. 19-22, Seagaia Convention Center, Miyazaki, Japan,
2017.
[10] Xiao Qing Ma A Thesis in The Department of Mechanical Engineering, Fuzzy
Control for an under-actuated Robotic Manipirlator: Pendubot, August 2001.
[11] Navin John Mathew, K. Koteswara Rao, N. Sivakumaran, Swing Up and
Stabilization Control of a Rotary Inverted Pendulum, the 10th IFAC International
Symposium on Dynamics and Control of Process Systems, pp. 654-659, 2013
[12] Mahsa Rahmanian, Mohammad Teshnehlab, Mahdi Aliyari Shoorehdeli, An off-
line fuzzy backstepping controller for rotary inverted pendulum system, International
Conference on Intelligent and Advanced Systems, pp. 109-113, 2007.
[13] Quanser rotary inverted pendulum workbook.
[14] Varunendra Kumar Singh, Vijay Kumar, Nonlinear Design for Inverted Pendulum
using Backstepping Control Technique, International Journal of Scientific Research
Engineering & Technology (IJSRET), Vol. 2, pp. 807-810, 2014.
[15] Pavol Seman, Boris Rohal’-Ilkiv, Martin Juh´as, Michal Salaj, Swinging up the
Furuta pendulum and its stabilization via model predictive control, Journal of Electrical
Engineering, vol. 64, No. 3, pp. 152-158, 2013.
S
K
L
0
0
2
1
5
4