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