Các kết quả mô phỏng và thực nghiệm đã chứng minh được giải thuật điều khiển LQR điều khiển cân bằng và bám tín hiệu sin tốt hệ thống phi tuyến có số đầu vào điều khiển ít hơn số ngỏ ra
Trang 1ĐẠI HỌC QUỐC GIA TP HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
NGUYỄN ANH TUẤN
XÂY DỰNG GIẢI THUẬT ĐIỀU KHIỂN TRƯỢT SWING UP VÀ CÂN BẰNG LQR HỆ PENDUBOT
Chuyên ngành : Kỹ thuật điều khiển và tự động hóa
Mã số: 60.52.02.16
LUẬN VÀN THẠC SĨ
TP HỒ CHÍ MINH, tháng 1 năm 2017
Trang 2CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA - ĐHQG TP.HCM
Cán bộ hướng dẫn khoa học: TS Nguyễn Vĩnh Hảo
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
(Ghi rõ họ, tên, học hàm, học vị cùa Hội đồng chấm bảo vệ luận văn thạc sĩ)
Trang 3NHIỆM VỤ CỦA LUẬN VĂN THẠC SĨ
Mã số: 60.52.02.16
I TÊN ĐỀ TÀI: Xây dựng giải thuật điều khiển trượt Swing up và cân bằng LQR
hệ Pendupot
II NHIỆM VỤ VÀ NỘI DUNG
Xây dựng giải thuật điều khiển trượt và LQR trên mô phỏng và áp dụng trên mô hình thực nghiệm điều khiển Swing up và cân bằng Pendubot
III NGÀY GIAO NHIỆM VỤ: 04/07/2016
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 01/12/2016
V CÁN BỘ HƯỚNG DẪN: TS Nguyễn Vĩnh Hảo
ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc
Họ tên học viên: NGUYỄN ANH TUẤN
Ngày, tháng, năm sinh: 05-10-1980
Chuyên ngành: Kỹ thuật điều khiển và tự
động hoá
MSHV: 13151150 Nơi sinh: Tiền Giang
CÁN BỘ HƯỚNG DẪN
(Họ tên và chữ ký)
Trang 4LỜI CẢM ƠN
Đầu tiên tôi xin gửi lời cảm ơn chân thành đến thầy TS Nguyễn Vĩnh Hảo đã nhận lời hướng dẫn và tận tình hướng dẫn tôi từ quá trình làm đề cương đến khi hoàn thành luận văn này
Tôi xin gửi lời cảm ơn đến tất cả quý thầy cô ừong bộ môn Tự động hóa trường Đại học Bách Khoa TPHCM đã tận tình truyền đạt những kiến thức quý báu để tôi hoàn thành luận văn này Những kiến này cũng sẽ là hành ttang giúp cho tôi nghiên cứu khoa học chuyên sâu và mở rộng hơn để ngày càng hoàn thiện kiến thức của tôi trong tương lai
Nhân đây tôi xin có lời cám ơn đến gia đình đã tạo điều kiện và động viên tôi trong suốt quá trình học cao học
Đặc biệt tôi xin cảm ơn đến những người bạn đã giúp đỡ và chia sẽ kinh nghiệm ừong quá trình làm luận văn
Trang 5TÓM TẮT
Luận văn này trình bày về thiết ke và thực nghiệm giải thuật điều khiển swing up, cân bằng và bám tín hiệu sine đối với mô hình Pendubot Đầu tiên hệ thống được swing up bằng phương pháp điều khiển trượt, sau đó được chuyển sang ừạng thái cân bằng bằng phương pháp điều khiển tối ưu dạng toàn phương tuyến tính LQR ( Linear Quadratic Regulator) Các thông số của mô hình thực được ước lượng bằng giải thuật tối ưu GA (Gientic Algorithm) Từ các thông số này thiết kế mô hình mô phỏng và thực nghiệm Các kết quả mô phỏng và thực nghiệm đã chứng minh được giải thuật điều khiển LQR điều khiển cân bằng và bám tín hiệu sin tốt hệ thống phi tuyến có số đầu vào điều khiển
ít hơn số ngỏ ra điều khiển
Trang 6The results of simulation and experimentation prove that the LQR conttol method presents the good capable of balance and sine wave tracking the Pendubot system which is a
representative non linear system has input conttol quantity less than output conttol
quantity eventhrough the hardware have limitation of motor quality and low resolution of motor’s encoder
Trang 7LỜI CAM ĐOAN
Tôi xin cam đoan đề tài “Xây dựng giải thuật điều khiển trượt Swing up và cân bằng LQR hệ Pendupot” dưới sự hướng dẫn của thầy TS Nguyễn Vĩnh Hảo là do tôi thực hiện
Tất cả các kết quả ừong luận văn này đều do tôi thực hiện và chưa được công bố bởi các tác giả khác
Tôi xin chịu trách nhiệm về nghiên cứu của mình
Trang 8i
MỤC LỤC
Mục lục i
Danh mục hình iv
Danh mục bảng vi
Chữ viết tắt vii
CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 1
1.1 Đặt vấn đề 1
1.2
Giới thiệu về đề tài 1
1.2.1 Mục tiêu của đề tài 1
1.2.2 Phương pháp tiếp cận đề tài 2
1.3 Các công trình liên quan 2
1.4 Phạm vi nghiên cứu 4
1.5 Cấu trúc của luận văn 4
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 6
2.1 Bộ điều khiển toàn phương tuyến tính LQR 6
2.2 Bộ điều khiển trượt 6
2.3 Phương pháp nhận dạng thông số mô hình GA 8
CHƯƠNG 3 TRIỀN KHAI NỘI DUNG NGHIÊN CỨU 11
3.1 Mô tả mô hình toán của pendubot 11
3.2 Ước lượng thông số hệ thống thực 16
3.2.1 Chỉ tiêu ước lượng 17
3.2.2 Phương pháp ước lượng 17
3.2.3 Lấy mẫu dữ liệu 18
3.2.4 Kết quả ước lượng 19
3.3 Thiết kế bộ điều khiển trượt Swing up 20
3.4 Thiết kế bộ điều khiển Toàn phương tuyến tính ( LQR) 21
3.5 Thiết kế bộ điều khiển kết hợp trượt Swing up và cân bằng LQR 22
CHƯƠNG 4 MỘT SỐ KẾT QUẢ MÔ PHỎNG TRONG MATLAB 24
4.1 Mô phỏng hệ thống pendubot khi chưa có nhiễu 24
Trang 9ii
4.1.1 Mô phỏng hệ thống pendubot ở các điểm cân bằng khác nhau khi chưa có điều
khiển 25
4.1.2 Mô phỏng tín hiệu tham chiếu của bộ điều khiển trượt Swing up 27
4.1.3 Mô phỏng bộ điều khiển Toàn phương tuyến tính ( LQR) 28
4.1.3.1 Mô phỏng bộ điều khiển cân bằng LQR 28
4.1.3.2 Mô phỏng bộ điều khiển LQR bám tín hiệu sin 30
4.1.4 Mô phỏng kết hợp trượt Swing up và cân bằng LQR 34
4.2 Mô phỏng hệ thống khi có nhiễu 37
4.2.1 Kết quả mô phỏng bộ điều khiển cân bằng LQR khi có nhiễu 38
4.2.1.1 Mô phỏng bộ điều khiển cân bằng LQR khi có nhiễu 38
4.2.1.2 Mô phỏng bộ điều khiển LQR bám tín hiệu sin khi có nhiễu 39
4.2.2 Mô phỏng kết hợp Trượt Swing up và cân bằng LQR khi có nhiễu 44
4.2.2.1 Mô phỏng Trượt Swing up và cân bằng khi có nhiễu 44
4.2.2.2 Mô phỏng Trượt Swing up và cân bằng, bám tín hiệu sin khi có nhiễu 44
CHƯƠNG 5 MÔ HÌNH THỰC NGHIỆM PENDUBOT 48
5.1 Cấu trúc phần cứng của mô hình Pendubot 48
5.1.1 Cấu trúc phần cơ khí 49
5.1.2 Cấu trúc phần mạch điện điều khiển và truyền dữ liệu 51
5.1.2.1
Mạch điều khiển trung tâm 51
5.1.2.2 Mạch truyền dữ liệu UART về máy tính 52
5.1.2.3 Mạch Công suất 53
5.2 Cấu trúc chương trình điều khiển trong thực nghiệm 54
5.2.1 Mô hình pendubot trong thực nghiệm 56
5.2.2 Bộ điều khiển LQR trong thực nghiệm 58
5.2.3 Bộ điều khiển swing up trượt trong thực nghiệm 59
5.3 Kết quả thực nghiệm 60
5.3.1 Kết quả thực nghiệm bộ điều khiển LQR 60
5.3.1.1
Điều khiển cân bằng tại vị trí cân bằng không ổn định 60
5.3.1.2
Điều khiển cân bằng bám tín hiệu sin 61
Trang 10iii
5.3.2 Kết quả thực nghiệm Trượt Swing up, cân bằng, bám tín hiệu sine của LQR 65
5.3.2.1 Thực nghiệm trượt Swing up và cân bằng 65
5.3.2.2 Thực nghiệm Trượt Swing up và cân bằng, bám tín sin 66
5.4 So sánh kết quả mô phỏng và thực nghiệm 68
5.5 Kết luận 68
CHƯƠNG 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỀN 69
6.1 Kết quả đạt được 69
6.1.1 Mục tiêu luận vãn 69
6.1.2 Các kết quả khác 69
6.2 Những hạn che và hướng phát triển 69
6.2.1 Phần cứng 69
6.2.2 Giải thuật điều khiển 70
Trang 114
DANH MỤC HÌNH
Hình 1.1 Pendubot ở 2 vị trí điều khiển Down-Up, Up-Up 2
Hình 1.2 Cấu trúc cân bằng 3
Hình 1.3 Pendubot ở vị trí cân bằng Top Balancing 3
Hình 2.1 Sơ đồ khối giải thuật điều khiển trượt 7
Hình 2.2 Lưu đồ giải thuật GA 9
Hình 3.1 Hình chiếu mặt trước và mặt bên cạnh của Pendubot 11
Hình 3.2 Pendubot system 11
Hình 3.3 Dữ liệu nhận dạng gốc 2 thanh 18
Hình 3.4 Dữ liệu vận tốc gốc 2 thanh 18
Hình 3.5 Sơ đồ khối kết nối bộ điều khiển 22
Hình 4.1 Sơ đồ mô phỏng trong Matlab của hệ thống pendubot 24
Hình 4.2 Đáp ứng của hệ tại điểm cân bằng ổn định qi = -pi/2, q2 = 0 25
Hình 4.3 Đáp ứng của hệ tại điểm cân bằng ổn định q! = -pi/2, q2 = 0, có lực tác động 25
Hình 4.4 Đáp ứng của hệ tại điểm cân bằng không ổn định qi = pi/2, q2 = 0 26
Hình 4.5 Đáp ứng của hệ tại điểm cân bằng không ổn định qi= pi/2, q2=0, có lực tác động ’ .26
Hình 4.6 Đáp ứng của hệ với điều kiện đầu qi = 0, q2 = 0 27
Hình 4.7 Tín hiệu tham chiếu r 27
Hình 4.8 Sơ đồ mô phỏng bộ điều khiển LQR 28
Hình 4.9 Kết quả mô phỏng bộ điều khiển LQR 29
Hình 4.10 Kết quả mô phỏng bộ điều khiển LQR khi có lực tác động 29
Hình 4.11 Sơ đồ bộ điều khiển LQR bám tín hiệu sin 30
Hình 4.12 Đáp ứng bám tín hiệu sin của hệ khi thay đổi R ttong LQR 31
Hình 4.13 Trường họp R = 0.1, biên độ sin = pi/10 32
Hình 4.14 Trường hợp R = 0.1, biên độ sin = pi/6 32
Hình 4.15 Trường hợp R = 0.1, biên độ sin = pi/4 33
Hình 4.16 Bộ điều khiển Swing up và cân bằng 34
Hình 4.17 Đáp ứng của hệPendubot từ khâu Swing up đến khi cân bằng 35
Hình 4.18 Đáp ứng của hệPendubot khi biên độ sin pi/10 36
Hình 4.19 Đáp ứng của hệPendubot khi biên độ sin pi/6 36
Hình 4.20 Đáp ứng của hệ Pendubot khi biên độ sin pi/4 37
Hình 4.21 Mô hình Pendubot có nhiễu tác động 37
Hình 4.22 Đáp ứng của hệ tại qi = 90 (Deg ), q2 = 10 (Deg) khi có nhiễu 38
Hình 4.23 Đáp ứng của hệ tại qi = 90 ( Deg ), q2 = 10 ( Deg ) khi có nhiễu và lực 39
Trang 125
Hình 4.24 Trường hợp R = 0.1, biên độ bám sin = pi/5.2 40 Hình 4.25 Trường hợp R = 0.2, biên độ bám sin = pi/5.2 40
Trang 13Hình 4.26 Trường hợp R = 0.6, biên độ bám sin = pi/5.2 41
Hình 4.27 Trường hợp R = 1, biên độ bám sin = pi/5.2 41
Hình 4.28 Trường hợp biên độbám sin = pi/10, R = 0.1 42
Hình 4.29 Trường hợp biên độ bám sin = pi/6, R = 0.1 43
Hình 4.30 Trường họp biên độ bám sin = pi/5.2, R = 0.1 43
Hình 4.31 Mô phỏng trượt Swing up và cân bằng khi có nhiễu 44
Hình 4.32 Trượt Swing up và cân bằng, bám sin biên độ pi/10 khi có nhiễu 45
Hình 4.33 Trượt Swing up và cân bằng, bám sin biên độ pi/6 khi có nhiễu 45
Hình 4.34 Trượt Swing up và cân bằng, bám sin biên độ pi/5.2 khi có nhiễu 46
Hình 5.1 Sơ đồ khối tổng quát của hệ thống pendubot 48
Hình 5.2 Sơ đồ tổng quát của hệ thống pendubot 48
Hình 5.3 Mô hình pendubot 3D 49
Hình 5.4 Mô hình thực pendubot 50
Hình 5.5 Motor 50
Hình 5.6 Encoder 51
Hình 5.7 Board kit STM32F407 52
Hình 5.8 Board truyền dữ liệu UART 52
Hình 5.9 Mạch cầu H-BTS7960 53
Hình 5.10 Phần mềm wajung chuyển Matlab/Keil c 54
Hình 5.11 Sơ đồ điều khiển Swing up, cân bằng ừong thực nghiệm 55
Hình 5.12 Sơ đồ khối mô hình Pendubot 56
Hình 5.13 Khối điều khiển PWM và đảo chiều motor 56
Hình 5.14 Khối xử lý tín hiệu Encoder 57
Hình 5.15 Sơ đồ của mô hình LQR 58
Hình 5.16 Sơ đồ khối bộ điều khiển Swing up Sliding mode 59
Hình 5.17 Sơ đồ bên ừong khối SLIDING MODE 59
Hình 5.18 Đáp ứng bộ điều khiển LQR khi không có lực tác động 60
Hình 5.19 Đáp ứng bộ điều khiển LQR khi có lực tác động vào thanh 2 61
Hình 5.20 Cân bằng LQR trường hợp R = 0.1 62
Hình 5.21 Cân bằng LQR trường hợp R = 0.2 62
Hình 5.22 Cân bằng LQR trường hợp R = 0.6 63
Hình 5.23 Cân bằng LQR trường hợp R = 1 63
Hình 5.24 Cân bằng LQR R = 0.1, biên độ bám sin pi/10 64
Hình 5.25 Cân bằng LQR R = 0.1, biên độ bám sin pi/6 64
Hình 5.26 Cân bằng LQR R = 0.1, biên độ bám sin pi/4 65
Hình 5.27 Ket quả thực nghiệm Trượt Swing up và cân bằng 65
Hình 5.28 Kết quả thực nghiệm Trượt Swing up và cân bằng, bám sin biên độ pi/10 66
Hình 5.29 Ket quả thực nghiệm Trượt Swing up và cân bằng, bám sin biên độ pi/6 67
Hình 5.30 Kết quả thực nghiệm Trượt Swing up và cân bằng, bám sin biên độ pi/4 67
V
Trang 14vi
DANH MỤC BẢNG
Bảng 3.1 Thông số vật lý của mô hình 12
Bảng 3.2 Thông số vật lý của mô hình mẫu 16
Bảng 3.3 Thông số của mô hình mẫu 16
Bảng 3.4 Thông số mô hình thực 19
Bảng 4.1 Các thông số dùng ừong mô phỏng 24
Bảng 5.1 Kết nối chân trong cầu H- BTS7960 53
Trang 157
CHỮ VIẾT TẮT
GA Gientic Algorithm
NST Nhiễm sắc thể
LQR Linear Quadratic Regulator
SWcondition Switching condition
r Reference
UART Universal Asynchronous Receiver/Transmitter
Trang 161
CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 1.1 Đặt vấn đề
Cùng với sự phát triển của khoa học kỹ thuật chung của the giới, sự phát triển ừong
lĩnh vực tự động hoá đang ngày càng phục vụ đắc lực cho đời sống cũng như nghiên cứu
khoa học của con người Nhờ có những robot hiện đại giúp cho năng xuất sản xuất ưong
công nghiệp được nâng lên với số lượng lớn, chất lượng cao và ổn định Robot có thể làm
việc thay thế con người những công việc nguy hiểm và ngày càng phức tạp Để phục vụ
cho việc nghiên cứu, chế tạo ra những hệ thống tự động ngày càng hiện đại, đòi hỏi
phương pháp điều khiển cũng ngày càng hiện đại
Đối tượng điều khiển có thể là tuyến tính hoặc phi tuyến, có thể có một đầu vào một đầu
ra, nhiều đầu vào nhiều đầu ra Trong đó việc điều khiển đối tượng phi tuyến có số đầu
vào ít hơn số đầu ra khó hơn đối tượng có số đầu vào bằng số đầu ra Những đầu ra tự do
không được điều khiển trực tiếp mà được điều khiển gián tiếp
Pendubot là mô hình điển hình cho đối tượng điều khiển phi tuyến có số ngỏ vào điều
khiển ít hơn số ngỏ ra Với mong muốn được áp dụng những kiến thức đã học vào mô
hình thực và để hoàn hoàn thành chương trình cao học tác giả đề xuất đề tài Điều khiển
Swing up và cân bằng hệ Pendubot
1.2 Giói thiệu về đề tài
Pendubot là một dạng robot có hai khớp nhưng chỉ có một ngỏ vào điều khiển Khớp thứ
nhất được điều khiển, còn khớp thứ hai được điều khiển gián tiếp thông qua khớp thứ nhất
Việc điều khiển được thực hiện sao cho hệ thống đang ở vị trí cân bằng ổn định được đưa
lên vị trí cân bằng không ổn định, sau đó điều khiển cân bằng quanh vị trí cân bằng không
ổn định này
Để thực hiện công việc điều khiển này tác giả đề xuất giải thuật điều khiển trượt để thực
hiện giai đoạn Swing up và giải thuật Điều khiển Toàn phương tuyến tính (LQR) để giữ
cân bằng cho hệ thống
1.2.1 Mục tiêu của đề tài
- Thiết kế bộ điều khiển trượt để thực hiện Swing up từ vị trí cân bằng ổn định [-TT/2;O]
lên vị trí cân bằng không ổn định [TT/2;0]
- Thiết kế bộ điều khiển Toàn Phương tuyến tính (LQR) để giữ cân bằng hệ thống tại
điểm cân bằng không ổn định
Thực hiện mô phỏng, thực nghiệm, thu thập kết quả So sánh kết quả mô phỏng và thực
nghiệm, từ đó rút ra kết luận tổng quan về bản chất của mô hình và hiệu quả của các
giải thuật điều khiển làm nền tản cho việc nghiên cứu sâu hơn về sau
Trang 172
1.2.2 Phương pháp tiếp cận đề tài
- Xây dựng mô hình toán học của hệ thống dựa vào phương trình Eurler Lagrange
Xây dựng bộ điều khiển Trượt để thực hiện Swing up
Xây dựng bộ điều khiển Toàn phương tuyến tính (LQR) để giữ cân bằng hệ thống
- Mô phỏng trên Matlab
Thiết kế hệ thống Pendubot thực
Thu thập kết quả, đánh giá kết quả
1.3 Các công trình liên quan
Khoa học kỹ thuật ngày càng hiện đại, yêu cầu về vấn đề điều khiển cân bằng ổn định ngày càng được đòi hỏi cao hơn Các ứng dụng ngày càng đòi hỏi trọng lượng nhỏ, ít tốn năng lượng Đe giải quyết tốt việc này, hệ thống có số đầu vào ít hơn số đầu ra là giải pháp được lựa chọn phù họp Pendubot là một mô hình phi tuyến điển hình có số đầu vào ít hơn số đầu ra điều khiển này Có nhiều nghiên cứu về đề tài này với nhiều phương pháp từ kinh điển đen hiện đại Tuy nhiên mỗi nghiên cứu đều có những ưu điểm và hạn chế nhất định, đen nay đề tài này vẫn là một đề tài mở để các nhà khoa học tìm ra phương pháp điều khiển tối ưu nhất Dưới đây là một số công trình nghiên cứu liên quan điển hình
Hình 1.1 Pendubot ở 2 vị trí điều khiển Down-Up, Up-Up
Hệ thống gồm có:
Một motor DC 90 V điều khiển linkl và link 2 được điểu khiển thụ động thông qua linkl
2 encoders với độ phân giải 1250 xung / vòng
Nhóm nghiên cứu này đã dùng phương pháp hồi tiếp tuyến tính hoá 1 phần kết hợp với
bộ điều khiển PD để thực hiện swing up Thực hiện swing up lên vị trí Down-Up hay
Up-Up thông qua việc điều chỉnh thông số Kp,K D Người dùng sẽ dùng nút nhấn để
chon điều khiển ở vị trí Down-Up hay Up-Up.’
(ẬI Dmrrh* ữ|>
pứtítnù
<I.J lyip
Trang 183
Hình 1.2 Cấu trúc cân bằng
Việc cân bằng được thực hiện bằng bộ điều khiển LQR, hệ thống có 1 khối sector để nhận biết hệ thống cần được điều khiển cân bằng ở vị trí Down-Up hay Up-Up Từ đó chọn bộ điều khiển cân bằng LQR tương ứng với một trong hai vị trí này
Spong đã dùng phương pháp hồi tiếp tuyến tính hóa từng phần để điều khiển swing up
và cân bằng
Hình 1.3 Pendubot ờ vị trí cân bằng Top Balancing
Deniel Jerome Block cũng đã dùng phương pháp hồi tiếp tuyến tính hoá 1 phần kết hợp với
bộ điều khiển PD và kết hợp thêm điều khiển truyền thẳng Feedforward để thực hiện Swing
up lên vị trí cân bằng Top hay Middle thông qua việc điều chỉnh thông số Kp,K D Bộ điều
khiển cân băng LQR cũng được dùng tương ứng với 2 vị trí Top và Middle
Mô hình Pendubot của Djamila Zeharl and Khỉer Benmahammed [4]
Trang 19Tác giả này đề xuất dùng giải thuật điều khiển hiện đại Fuzzy conưol cho cả hai quá trình Swing up và cân bằng, ông đã chứng minh được tính hiệu quả của phương pháp điều khiển hiện đại so với các phương pháp điều khiển khiển kinh điển trước đó
1.4 Phạm vi nghiên cứu
Việc điều khiển hệ thống phi tuyến pendubot là một đề tài rất rộng Luận văn này chỉ tập trung vào giai đoạn cân bằng mà không tập trung vào giai đoạn swing up
Để kiểm tra đáp ứng cân bằng của hệ thống, tác giả thực hiện thay đổi các thông số, các
điều kiện khác nhau để kiểm tta khả năng giữ cân bằng và bám theo tín hiệu đặt
1.5 Cấu trúc của luận văn
Luận văn này được trình bày qua 6 chương
Chương 1: nói về tổng quan về đề tài
- Chương 2: nói về cơ sở lý thuyết của các bộ điều khiển LQR, Sliding mode, giải thuật ước lượng thông số tối ưu GA
- Chương 3: nói về việc xây dựng mô hình pendubot, mô hình động lực học, bộ điều khiển Sliding mode
- Chương 4: nói về các kết quả mô phỏng của hệ thống
- Chương 5: nói về các kết quả trong thực nghiệm, so sánh các kết quả trong mô phỏng
và thực nghiệm
- Chương 6: nói về kết luận và hướng phát triển
Kết luận: Trong Chương 1 tác giả đã giới thiệu khái quát về đề tài, mục tiêu đề tài, phương pháp tiếp cận đề tài, các công trình nghiên cứu liên quan, phạm vi nghiên cứu và cấu trúc của luận văn Trong chương 2 tác giả sẽ trình bày về cơ sở lý thuyết của luận văn
Trang 205
CHƯƠNG 2 Cơ SỞ LÝ THUYẾT 2.1 Bộ điều khiển toàn phưoug tuyến tính LQR
Giải thuật điều khiển LQR là giải thuật điều khiển tối ưu dựa ưên mô hình tuyến tính hoặc
đã được tuyến tính hóa Việc tuyến tính hoá này được thực hiện quanh điểm cân bằng mong muốn Pendubot là mô hình phi tuyến, vì vậy cần phải tuyến tính hóa nó
trước khi áp dụng giải thuật LQR này Dựa theo [17] xây dựng bộ điều khiển này như sau: Đối tượng tuyến tính mô tả bởi phương trình trạng thái sau:
X = f(x, u) = Ax + Bu
Sẽ tiến hành tuyến tính hóa tại điểm làm việc X = x 0 , u = u 0
Tương ứng vói các giá trị gốc và vận tốc gốc sau:
P: ma trận (n X n) đối xứng, xác định dương, là nghiệm của
phương trình đại số Ricatti
PA + ATP + 0 - PBR’B'P = 0
(2.4) (2.5)
(2.6)
2.2 Bộ điều khiển trượt
Dựa theo [17] xây dựng bộ điều khiển này như sau:
(X = f(x,ù)
l y = h(x)
Trong đó: n: bậc của hệ thống
r: tín hiệu đặt
Trang 216
e: tín hiệu sai lệch m: bậc tương đối của e
Hình 2.1 Sơ đồ khối giải thuật điều khiển trượt
Hình 2.1 là sơ đồ khối của giải thuật điều khiển trượt
Vấn đề: xác định tín hiệu điều khiển u sao cho tín hiệu ra y bám theo tín hiệu đặt r
Có tất cả các nghiệm vói phần thực âm
Chọn u sao cho S = -Ksign(S)
là quỹ đạo pha sẽ vượt qua mặt trượt một đoạn và sẽ quay về mặt trượt sau đó, khi tín hiệu
u thay đổi giá trị Quá trình này được lặp lại tạo ra hiện tượng chattering gây ra các hiện tượng không mong muốn như:
+ Phát sinh sai số điều khiển
+ Làm nóng mạch điện tử
+ Mài mòn các bộ phận cơ khí
Trang 227
+ Kích động các mode tần số cao không mô hình hóa Làm giảm chất lượng điều khiển hoặc mất ổn định
Để khắc phục hiện tượng chattering ta có thể:
+ Giảm biên độ của tín hiệu điều khiển u bằng cách giảm K trong (2.11) Tuy nhiên điều này làm giảm tính bền vững của hệ thống điều khiển đối với sai số mô hình + Thay hàm sign bởi hàm sat
2.3 Phương pháp nhận dạng thông số mô hình GA
Phương pháp giải thuật di truyền GA [15] là phương pháp giải bài toán tối ưu trong điều khiển Phương pháp này được con người mô phỏng giống như quá trình tiến hóa trong tự nhiên như lưu đồ trong hình 2.2 Đe áp dụng GA giải bài toán tối ưu trước hết phải mã hóa lời giải của bài toán thành chuỗi NST Tùy theo phương pháp mã hóa mà chuỗi NST có thể là chuỗi số nhị phân, chuỗi số thập phân, chuỗi số thực Mỗi NST dại diện cho một cá thể trong quần thể Đe đánh giá các các thể phải định nghĩa một hàm thích nghi ( fitness function ), thường là hàm cần tìm cực trị hoặc một biến đổi tương đương của hàm cần tỉm cực trị Thế hệ đầu tiên gồm nhiều cá thể (lời giải) được khởi động ngẫu nhiên
Qua quá trình chọn lọc tự nhiên những cá thể thích nghi nhất với môi trường sống mới tồn tại và có cơ hội sinh sản ra thế hệ con có xu hướng thích nghi với môi trường sống tốt hơn thế hệ bố mẹ Cá thể nào có độ thích nghi càng cao thì càng có nhiều cơ hội để tồn tại
và bắt cặp với một cá thể khác để sinh ra thế hệ con
Nhờ các quá trình chọn lọc, lai ghép, đột biến giống như trong tự nhiên mà loại bỏ được những cá thể kém thích nghi, kết quả là quá trình tiến hóa được lặp lại từ thế hệ này sang thế hệ khác, thế hệ sau có xu hướng thích nghi với môi trường sống tốt hơn thế hệ trước
Nhờ đó mà bài toán tiến dần đến lời giải tối ưu
Trang 238
Hình 2.2 Lưu đồ giải thuật GA
Các quá trình trong lưu đồ giải thuật GA ừong hình 2.2:
- Khởi động: Khởi tạo quần thể gồm n cá thể Mỗi NST đại diện cho một cá thể ừong quần thể
- Mã hóa: biễu diễn lòi giải của bài toán thành dạng chuỗi NST Mỗi NST là một cá thể Mỗi thông số của lời giải được mã hóa thành một đoạn gen ừên chuỗi NST Mỗi gen mang một hoặc nhiều NST
- Chọn lọc: chọn cá thể có độ thích nghi cao trong môi trường
- Lai ghép: lai ghép cá thể cha, mẹ tạo ra thế hẹ con
- Đột biến: do lỗi trong quá trình di truyền làm xảy ra hiện tượng đột biến, khi xảy ra đột biến có thể xảy ra đột biến ở một điểm hoặc nhiều điểm Quá trình này có thể tạo
ra cá thể con tốt hoặc xấu
- Giải mã: giải mã gen sang lời giải
- Đánh giá: tìm độ thích nghi của từng cá thể trong môi trường
- Hội tụ: độ thích nghi của cá thể đạt đến giá trị tốt nhất so với yêu cầu đặt ra hoặc lời giải lặp lại với số lần giới hạn đặt ra thì dừng lại
Trang 249
Kết luận: Trong Chương 2 tác giả đã trình bày về cơ sở lý thuyết của các phương pháp điều khiển Toàn phương tuyến tính LQR, điều khiển Trượt và phương pháp nhận dạng thông số mô hình thực bằng giải thuật tối ưu GA Trong Chương 3 tác giả
sẽ xây dựng mô hình toán học của hệ thống, đồng thời dựa trên cơ sở lý thuyết của Chương 2 này tác giả sẽ xây dựng giải thuật điều khiển Trượt Swing Up, bộ điều khiển cân bằng LQR và nhận dạng thông số mô hình thực bằng giải thuật GA
Trang 2510
CHƯƠNG 3 TRIỂN KHAI NỘI DUNG NGHIÊN cứu
3.1 Mô tả mô hình toán của pendubot
Hình 3.1 Hình chiếu mặt trước và mặt bên cạnh của Pendubot
Mô hình pendubot ừong hình 3.1 bao gồm 2 thanh 1, và thanh 2
Thanh 1 được gắn với 1 motor có kèm theo 1 encorder để đọc giá ttị góc của thanh 1 Thanh 2 được gắn với 1 encorder để đọc giá ừị góc của thanh 2
Thanh 2 không được điều khiển mà được điều khiển gián tiếp thông qua thanh 1
Trang 2611
lcl Khoảng cách từ trục quay với tâm của
lc2 Khoảng cách từ trục quay với tâm của
Bảng 3.1 Thông số vật lý của mô hình
Bảng 3.1 là các thông số vật lý liên quan sử dụng ừong mô hình Hình 3.2 thể hiện chiều dài
và tọa độ của 2 thanh 1 và thanh 2 trong đó: xx là khoảng cách từ ừọng tâm của thanh 1 đến góc toạ độ theo trục X x2 là khoảng cách từ trọng tâm của thanh 2 đến góc toạ độ theo trục
X Yt là khoảng cách từ trọng tâm của thanh 1 đến góc toạ độ theo trục y y2 là khoảng cách
từ ừọng tâm của thanh 2 đến góc toạ độ theo trục y Phương trình toạ độ tâm của hệ
Pendubot
= ỉdCOsGh)
I 71 = ỉciSĨnCợ! )
1 %2 = k cosCqJ + l c2 cosGh + q 2 ) ly2 = l ± sinCq! ) + l c2 sinCí?! + q 2 )
Lấy đạo hàm theo thời gian phương trình (3.1) ta được hệ phương trình vận tốc như sau: f
Trang 2712
+ Động năng của thanh 1:
Gồm 2 thành phần: động năng do quán tính và động năng quay
EKI = 2 I i i ?i +2 m i( ;t i + ỳỉ )
Động năng của thanh 2:
Gồm 2 thành phần: động năng do quán tính và động năng quay Trong đó vận tốc tương tác
giữa 2 thanh là tổng vận tốc của 2 thanh ft + q 2
E K 2 = 2^(91 + ft) 2 + 2 m 2(*i + ỹ 2 )
E K 2 = 2^(91 + ft)2 + 2m 2ÍƠỈQỈ + *2 (91 + ft)2 +211 1C29I(9I + ft )cos(ft) ] (3.5) Từ (3.3), (3.4), (3.5) viết lại phương trình động năng của hệ:
ER = ;I191+ |mj 2 i9i + 2^(91 + ft) 2 + 2 m 2[(*i9i + * 2 (91 + ft) 2 +
+Thế năng của thanh 1:
Epi = Tragic! sin( 9i ) +Thế năng của thanh 2:
Trang 2813
p$ — 7Jl2^c2
Từ (3.6) và (3.10) Viết phương trình Lagrange:
L — EK Ep
L = ị &-L + f (91 + q 2 ) 2 P 2 + (91 + 9192 )cos(q2)P3 - P4 g sin( q-L) - p 5 g sin^! + q2)
s Phương hình Euler - Lagrange:
Trang 3015
Bảng 3.2 Thông số vật lý của mô hình mẫu
Bảng 3.2 là bản các thông số vật lý của mô hình mẫu Các thông số p ừong bảng 3.3
có mối quan hệ với các thông số vật lý này thông qua phương trình (3.11)
Bảng 3.3 Thông số của mô hình mẫu
3.2 Ước lượng thông số hệ thống thực
Việc nhận dạng thông số mô hình thực của hệ thống là công việc không thể thiếu để việc điều khiển được thực hiện chính xác theo thông số vật lý của mô hình thực, điều này giúp đồng bộ giữa mô hình thực và mô hình mô phỏng
Tác giả đề xuất giải thuật tối ưu GA để xác định các thông số, hàm chỉ tiêu chất lượng được lấy từ phương trình cân bằng năng lượng, sử dụng phương trình năng lượng giúp giảm số mẫu và thời gian dùng để nhận dạng Các tham số nhận dạng không phải là các
Trang 3116
thông số vật lý của mô hình mà là các thông số p, các thông số này sẽ được dùng cho mô phỏng
3.2.1 Chỉ tiêu ước lượng
Phương trình năng lượng:
Với: E = K + p
E= 2 41^1 + 2 (41 + 42)2E2 + (41 + 4142 )cos(q2)P3+P4 g sin( q r )+ P 5 g sinGh + q 2 )
(3.38)
Từ phương trình (3.36) và (3.38), các tham số được nhận dạng là Px , P 2 , P3 , P 4 ,P 5 , b1?
Sau khi nhận dạng các tham số tìm được này sẽ được sử dụng để thực hiện mô phỏng ở chương 4
Đặt sai số nhận dạng là:
3.2.2 Phưưng pháp ước lượng
Sử dụng phương pháp giải thuật di truyền GA được tham khảo từ [15],
Các tham số sử dụng trong GA như trong bảng 4
Thực hiện nhận dạng 7 thông số gồm: 5 thông số p và 2 thông số b
Mục tiêu là tối thiểu hàm chi phí (3.39), khi đó 7 thông số nhận dạng được sẽ gần đúng với các thông số thực tế của mô hình thực
■J Phương pháp mã hóa: mã hóa thập phân
Phương pháp chọn lọc: Chọn lọc xếp hạng tuyến tính
J Số cá thể ừong quần thể N = 200
Phương pháp lai ghép : lai ghép 2 điểm với xác xuất lai ghép p c = 0.9
Bảng 4: Các giá trị tham số sử dụng trong giải thuật GA
b 2
(3.38)
(3.39) Hàm chi phí (3.39) càng tiến về gần 0 thì các giá ưị nhận dạng càng gần đúng nhất
Do đó chỉ tiêu ước lượng là tối thiểu hàm chi phí (3.39)
Trang 3217
3.2.3 Lấy mẫu dữ liệu
Từ phần này trở đi T được đổi cách gọi là u
Cung cấp tín hiệu pulse u = 0.9, pulse wide = 5%, period = 4s cho hệ thống
Dữ liệu nhận dạng được truyền về máy tính chỉ gồm 3 thành phần q ± , q 2 , u
Các giá trị q t , q 2 được tạo ra bằng cách lấy đạo hàm các giá trị q r , q 2 Dùng bộ lọc để làm
đẹp tín hiệu, được tín hiệu nhận dạng như hình
crquD
—1 - - 1 - 1 -
—1 -
tí MU IOM 151E ZM' 3MB XSCB 3?£E
Trn&'sJ Hình 3.4 Dữ liệu vận tốc gốc 2 thanh
Trang 3318
Trong hình 3.3, 3.4 là các dữ liệu thu thập được truyền từ mô hình thực về máy tính trong quá trình nhận dạng thông số hệ thống
3.2.4 Kết quả ước lượng
Dùng phương pháp nhận dạng 20 mẫu dữ liệu được thông số mô hình như bảng 4
Đơn vị của blf b2: N.m.s/rad
Các thông số mô hình thực nay được nhận dạng không phải là các thông số chiều dài, trọng lượng của mô hình mà các thông số này là các biểu thức liên quan đến trọng lượng, chiều dài dựa vào (3.11) và các hệ số ma sát của mô hình
Giá trị trung bình của các thông số này được sử đụng để thiết kế mô hình mô phỏng và
mô hình thưc nghiệm
Trang 34Bậc tương đối của e: m = 2
Mô hình pendubot có bốn biến ttạng thái Xi, x2, x3, X4
Nhưng vì chỉ cần xem xét 2 trạng thái của xb X3 => xem như
Dựa vào mô phỏng chọn a = 5, K = 50
Cắn s -»0 ■=> Đặt s = - Ksign(S) (S lằ tốc độ trung bình của S)
(Chọn tốc độ trung bình Sngược so với s để s -> 0
Với sign(S) = -1
0
(3.44)
Trang 3520
-Ksign(S)-aẽ + f- fl (3.43) =>u = - 6 ' 7 — - J -L
TÍn hiệu tham
r
V 7
Mục tiêu của bộ điều khiển: lúc đầu thanh 1 lùi lại lấy đà tạo thế năng Sau đó động cơ
đưa thanh 1 bám theo tín hiệu đặt r lên đến vị trí cân bằng không ổn định 2, đồng thời
thanh 2 nhận được động năng gián tiếp từ thanh 1 cũng được đưa lên vị trí cân bằng không
ổn định 0 ở phía trên
Sau đó hệ thống được chuyển qua bộ điều khiển cân bằng LQR được mô tả ở phần 3.4
lúc đầu t ' 71 *v~nh 1 lùi xa hơn góc — 71 tạo đà, trong khoảng thời gian 1 > t > - inh 1 sẽ
tăng dần đến gầ -, khi t > 5 (s) thì thanh 1 đạt 2
Giá trị — và tần số 3.85, 3.36 được chọn thông qua thử sai, giá trị này càng
5.5
lớn thì động năng để Swing up càng lớn Giá trị này được chọn vừa đủ để hệ không mất
cân bằng trước khi chuyển qua bộ điểu khiển câng bằng LQR
3.4 Thiết kế bộ điều khiển Toàn phưoug tuyến tính ( LQR)
Bộ điều khiển LQR được thiết kế đễ giữ cân bằng hệ tại vị trí cân bằng không ổn
định Vói những thông số đã được nhận dạng từ mô hình thực trong Bảng 3.4, ta tính được
mô hình tuyến tính của hệ như sau:
Từ hệ phương trình (3.35) tính ma trận A, B
Vì việc tính toán ma trận A khá phức tạp nên việc này được thực hiện ừong Matlab Kết
quả như sau:
Trang 36Khi thực hiện mô phỏng sẽ thay đổi giá ừị R để tìm gí ưị K và u điều khiển tối ưu của mô hình
3.5 Thiết kế bộ điều khiển kết hợp trượt Swing up và cân bằng LQR
Feedback qi, q2 (rom encoders
Hình 3.5 Sơ đồ khối kết nối bộ điều khiển
tlswing up VƠI Swcondition
^balancing VỚI Swcondition
Hình 3.5 là sơ đồ khối tổng quát của bộ điều khiển trong mô hình
Thông qua bộ Switching với điều kiện đầu tiên là hệ thống thực hiện công việc Swing
up dùng bộ điều khiển Sliding mode để đưa Pendubot lên vị trí thích hợp, sau đó tương ứng với điều kiện của vị trí thích hợp này, bộ điều khiển sẽ chuyển qua bộ điều khiển cân
tlcontrol -
Trang 37Các thông số mô hình thực này sẽ được tác giả sử dụng để thiết kế mô phỏng ừong
Chương 4 và mô hình thực nghiệm trong Chương 5
Trang 3823
CHƯƠNG 4 MỘT SỐ KẾT QUẢ MÔ PHỎNG TRONG MATLAB
Nội dung khái quát Chương 4: Trình bày một số kết quả mô phỏng trong
Matlab/Simulink, với các thông số nhận dạng được ở chương 3 Kiểm chứng các giải thuật
đã thiết kế ở Chương 3, đánh giá khả năng đáp ứng của hệ thống
Trong phần này có xây dựng mô hình mô phỏng 3 D sử dụng Solid Work 2014
Bảng 4.1 Các thông số dùng trong mô phỏng
Bảng 4.1 là bảng các thông số trung bình của 20 thông số nhận dạng được ở bảng 3.4 ,
các thông số này sẽ được dùng trong thiết kế các mô hình mô phỏng và thực nghiệm
4.1 Mô phỏng hệ thống pendubot khi chưa có nhiễu
Trang 3924
4.1.1 Mô phỏng hệ thống pendubot ở các điểm cân bằng khác nhau khỉ chưa có điều khiển
Các hàm ừong Hình 4.1 là các hàm từ các phương trình từ (3.24) đến (3.28) Từ đây trở
đi tín hiệu điều khiển T sẽ được gọi là tín hiệu điều khiển u
ũ tì.6 1 15 2 2 5 3
lime 15]
Hình 4.2 Đáp ứng của hệ tại điểm cân bằng ổn định qi = -pi/2, q 2 = 0
lime [3]
Hình 4.3 Đáp ứng của hệ tại điểm cân bằng ổn định qi = -pi/2, q 2 = 0, có lực tác động
Trong Hình 4.2, tại điểm cân bằng ổn định, hệ thống không thay đổi trạng thái khi không có lực tác động
Trong hình 4.3, tại điểm cân bằng ổn định, cho dù có lực tác động thì hệ thống vẫn quay về điểm cân bằng ổn định
Trang 4025
Hình 4.4 Đáp ứng của hệ tại điểm cân bằng không ổn định qi = pi/2, q 2 = 0
Trong hình 4.4 cho thấy tại điểm cân bằng không ổn định nếu không có lực tác động thì hệ thống không thay đổi ttạng thái
Hình 4.5 Đáp ứng của hệ tại điểm cân bằng không ổn định qi= pi/2, q 2 =0, có lực tác