Luận văn: Thiết kế hệ thống điều khiển cho Acrobot, HAY
1. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
i
ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP
HÀ MẠNH QUÂN
THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN CHO ACROBOT
LUẬN VĂN THẠC SĨ KỸ THUẬT
(KỸ THUẬT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA)
Thái Nguyên - 2014
2. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
ii
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu khoa học độc lập của
bản thân. Mọi kết quả nghiên cứu cũng nhƣ ý thƣởng của các tác giả khác nếu
có đều đƣợc trích dẫn nguồn gốc cụ thể. Các số liệu sử dụng phân tích trong
luận văn có nguồn gốc rõ ràng, đã công bố theo đúng quy định. Các kết quả
nghiên cứu trong luận văn do tôi tự tìm hiểu, phân tích một cách trung thực,
khách quan và phù hợp với thực tiễn của Việt Nam.
Luận văn này cho đến nay chƣa đƣợc bảo vệ tại bất kỳ một hội đồng
bảo vệ luận văn thạc sĩ nào và chƣa từng đƣợc công bố trên bất kỳ một
phƣơng tiện thông tin nào.
Tôi xin hoàn toàn chịu trách nhiệm về những gì mà tôi đã cam đoan ở trên.
Thái Nguyên, ngày tháng năm 2014
Học viên
Hà Mạnh Quân
3. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
iii
LỜI CẢM ƠN
Trong thời gian học tập và nghiên cứu tại nhà trƣờng tôi đã tích lũy
đƣợc khá nhiều kiến thức chuyên nghành. Sau gần hai năm học tập tại nhà
trƣờng những học viên chúng tôi đƣợc nhận luận văn tốt nghiệp đó là một
vinh dự lớn của bản thân.
Sau 6 thánh nghiên cứu và làm việc khẩn trƣơng với sự hƣớng dẫn,
giúp đỡ tận tình của T.S Nguyễn Hoài Nam (Trƣờng Đại học Công Nghiệp –
Đại học Thái Nguyên) luận văn “Thiết kế hệ thống điều khiển cho Acrobot”
đã cơ bản hoàn thành. Trong quá trình thực hiện luận văn ngoài sự cố gắng
của bản thân, tôi đã nhận đƣợc rất nhiều sự quan tâm giúp đỡ, chỉ bảo tận tình
của các thầy giáo, cô giáo trong nhà trƣờng.
:
, ph
.
Nhân dịp này tôi xin gửi lời cảm ơn sâu sắc tới T.S Nguyễn Hoài Nam
. Tuy đã rất cố
gắng, nhƣng luận văn còn nhiều thiếu sót, rất mong nhận đƣợc sự góp ý để đề
tài đƣợc hoàn thiện hơn.
Thái Nguyên, ngày tháng năm 2014
Học viên
Hà Mạnh Quân
4. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
iv
MỤC LỤC
Trang
LỜI CAM ĐOAN……………….…………………..……………….………...i
LỜI CẢM ƠN……………………..……………………………...….……….ii
DANH MỤC HÌNH ẢNH..……………………….……….………….………vi
DANH MỤC CÁC BẢNG …………...………...……….……………...…..viii
MỞ ĐẦU…………….…………………………………….………..………...1
1. Lý do chọn đề tài…………………...………..……….…………………1
2. Mục tiêu nghiên cứu…………………………....………………….……1
3. Đối tƣợng và phạm vi nghiên cứu………………………………………2
3.1. Đối tƣợng nghiên cứu ..……………………………………….…2
3.2. Phạm vi nghiên cứu ……………………………………………..2
4. Ý nghĩa khoa học và thực tiễn của đề tài nghiên cứu …..………………2
4.1. Ý nghĩa khoa học của đề tài ……………………………………..2
4.2. Ý nghĩa thực tiễn của đề tài nghiên cứu ………………………….2
5. Phƣơng pháp nghiên cứu……………….…………………………….…2
5.1. Nghiên cứu lý thuyết…………………………………………..….2
5.2. Phương pháp thực nghiệm……………………………...………...3
CHƢƠNG I: TỔNG QUAN VỀ ACROBOT………....................……...…....4
CHƢƠNG II: MÔ HÌNH HÓA ACROBOT…………..…..……………….....6
2.1. Hệ thống Acrobot …………………………….……………….…….6
2.2. Luật điều khiển cho Acrobot ……………………………………..…8
2.3. Chƣơng trình mô phỏng Acrobot trong không gian 2 chiều…….…10
5. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
v
CHƢƠNG III: THIẾT KẾ BỘ ĐIỀU KHIỂN ………………...…….……...15
3.1. Tuyến tính hóa mô hình tại điểm cân bằng không ổn định……......15
3.2. Thiết kế bộ điều khiển phản hồi trạng thái…………..…….……....18
3.2.1. Phƣơng pháp gán điểm cực......……………………….........18
3.2.2. Ứng dụng Matlab tìm bộ điều khiển cho Acrobot .….….....20
3.3. Bộ điều khiển LQR QUADRATIC REGULATOR:…........……. ..20
3.3.1. Phƣơng trình Riccati đại số …..…………...……………...20
3.3.2. Sử dụng Matlab tìm ma trận P, K ….………………….….22
CHƢƠNG IV: MÔ PHỎNG……..............................................................….24
4.1. Bài toán 1…………………………………………………………..24
4.1.1 . Bộ điều khiển phản hồi trạng thái.………………...……..26
4.1.2. Bộ điều khiển LQR QUADRATIC REGULATOR………29
4.1.3. Bộ điều khiển phi tuyến……...……………………...…….33
4.2. Bài toán 2…………………………………………..………………38
4.2.1 . Bộ điều khiển phản hồi trạng thái theo phƣơng pháp gán
điểm cực…………………………………………………………40
4.2.2. Khảo sát khi có nhiễu tác động……..…….………………46
CHƢƠNG V: GIẢI PHÁP THIẾT KẾ MÔ HÌNH THỰC CHO ACROBOT...50
5.1 Thiết kế hệ thống điều khiển Acrobot…………………………........50
5.2. Mô hình thí nghiệm Acrobot ……………………………………....51
5.2.1. Động cơ DC………………………………………………51
5.2.2. Động cơ DC gear motor encoder…………………………52
5.2.3. IC L298N…………………………………………………53
5.2.4. IC SN74HC08N……..……………………………………53
6. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
vi
5.2.5. Giới thiệu Card Arduino…………………...……………..54
5.2.6. Thiết kế bộ điều khiển PI cho Acrobot…...…..…………..54
5.2.7. Kết quả thực nghiệm……………………..……………….55
CHƢƠNG VI: KẾT LUẬN VÀ KIẾN NGHỊ …………………..……………...…56
6.1 Kết luận…………………………………….……………………….56
6.2 Kiến nghị…………………………………………………………...56
TÀI LIỆU THAM KHẢO……………………………...………………………..…57
7. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
vii
DANH MỤC HÌNH ẢNH
Trang
Hình 1.1: Sơ đồ cấu trúc Acrobot ……………………………………………4
Hình 2. 1: Hệ thống Acrobot……………………………….…………………6
Hình 2.2: Mô phongrAcrobot 2 chiều………………..………………...……14
Hình 3. 1: Điểm cân bằng không ổn định của hệ thống……………..………15
Hình 3. 2: Bộ điều khiển cho đối tƣợng………………………………...…...19
Hình 4.1: Hệ thống Acrobot……………………………………………...….24
Hình 4.2: Sơ đồ hệ thống điều khiển trong Simulink…………………..…....26
Hình 4.3: Biến trạng thái x1……………………………………..……...…....27
Hình 4.4: Biến trạng thái x2……………………………………………...…..28
Hình 4.5: Biến trạng thái x3…………………………………….……….…...28
Hình 4.6: Biến trạng thái x4……………………………………………..…...29
Hình 4.7: Sơ đồ hệ thống điều khiển trong Simulink……………………..…30
Hình 4.8: Biến trạng thái x1………………………………………...………..31
Hình 4.9: Biến trạng thái x2……………………………………………….....31
Hình 4.10: Biến trạng thái x3……………………………………….………..32
Hình 4.11: Biến trạng thái x4……………………………………….………..32
Hình 4.12: Sơ đồ hệ thống điều khiển trong Simulink………………..…..…34
Hình 4.13: Biến trạng thái x1…………………………………….…………..35
Hình 4.14: Biến trạng thái x2…………………………………….…………..35
Hình 4.15: Biến trạng thái x3………………………………………….….….36
Hình 4.16: Biến trạng thái x4……………………………………….………..36
8. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
viii
Hình 4.17: Hệ thống Acrobot thực nghiệm………………………….....……38
Hình 4.18: Sơ đồ hệ thống điều khiển trong Simulink………………........…41
Hình 4.19: Biến trạng thái x1………………………………………….……..42
Hình 4.20: Biến trạng thái x2…………………………………………….…..42
Hình 4.21: Biến trạng thái x3…………………………………….….……….43
Hình 4.22: Biến trạng thái x4…………………………………….…………..43
Hình 4.23: Biến trạng thái x1…………………………………………….…..44
Hình 4.24: Biến trạng thái x2…………………………………………….…..45
Hình 4.25: Biến trạng thái x3……………………………….…………….….45
Hình 4.26: Biến trạng thái x4………………………………………….……..46
Hình 4.27: Sơ đồ hệ thống điều khiển trong Simulink…………..……......…47
Hình 4.28: Biến trạng thái x1…………………………………………….…..47
Hình 4.29: Biến trạng thái x2………………………………………….……..48
Hình 4.30: Biến trạng thái x3………………………………….…….……….48
Hình 4.31: Biến trạng thái x4……………………………………….………..49
Hình 5.1. Mô hình Acrobot thực……………………………………………..50
Hình 5.2. Sơ đồ khối mô hình thí nghiệm…………………………………....51
Hình 5.3. Kí hiệu chân động cơ……………………………………………...52
Hình 5.4 Động cơ DC gear motor encoder…………………………………..52
Hình 5.5. Giới thiệu IC L298N……………………………………………....53
Hình 5.6. Giới thiệu IC SN74HC08N………………………………………..53
Hình 5.7 Card Arduino Mega………………………………………………...54
Hình 5.8 Sơ khối bộ điều khiển……………………………………………....55
Hình 5.9 Vị trí góc của thanh 2……………………………………………....55
9. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
ix
DANH MỤC CÁC BẢNG
Trang
Bảng 1: Các thông số của mô hình acrobot……..……………..……….……24
Bảng 2: Các thông số của hệ thống acrobot thực…………………..….…….39
10. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
x
11. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
1
MỞ ĐẦU
1. Lý do chọn đề tài
Trong công cuộc kiến thiết xây dựng đất nƣớc đang bƣớc vào thời kỳ công
nghiệp hóa, hiện đại hóa đất nƣớc với những cơ hội thuận lợi và những khó khăn
thách thức lớn. Cùng với sự phát triển của khoa học kĩ thuật, ngành tự động hóa
đã có những bƣớc tiến quan trọng. Quá trình đó góp phần không nhỏ vào việc
tăng năng suất lao động, giảm giá thành, tăng chất lƣợng và độ đồng đều về chất
lƣợng, đồng thời tạo điều kiện cải thiện môi trƣờng làm việc của con ngƣời, đặc
biệt trong một số công việc có độ an toàn thấp hoặc có tính độc hại cao. Điều
này đặt ra cho thế hệ trẻ những chủ nhân tƣơng lai của đất nƣớc những nhiệm vụ
nặng nề.
Sự phát triển nhanh chóng của cách mạng khoa học kỹ thuật nói chung và
trong lĩnh vực điện – điện tử nói riêng làm cho bộ mặt xã hội đất nƣớc biến đổi
từng ngày. Để đáp ứng đƣợc những yêu cầu đó, chúng em những chủ nhân tƣơng
lai của đất nƣớc cần có ý thức học tập và nghiên cứu về chuyên môn của mình
trong trƣờng đại học Kỹ Thuật Công Nghiệp một cách đúng đắn và sâu sắc.
Acrobot là một ví dụ tiêu biểu cho các hệ thống hụt (số đầu vào điều khiển
nhỏ hơn bậc của mô hình). Đây là một hệ thống phi tuyến và rất khó điều khiển,
có thể sử dụng làm đối tƣợng thử nghiệm cho các thuật toán điều khiển phi tuyến
mới. Thấy đƣợc tầm quan trọng đó, tôi đã chọn đề tài: “Thiết kế hệ thống điều
khiển cho Acrobot”.
2. Mục tiêu nghiên cứu
- Tìm hiểu về acrobot và các phƣơng pháp điều khiển acrbot.
- Thiết kế hệ thống điều khiển cho acrobot tại điểm cân bằng không ổn định.
12. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
2
- Thiết kế và chế tạo mô hình thực cho acrobot để phục vụ cho việc nghiên
cứu và thí nghiệm.
3. Đối tƣợng và phạm vi nghiên cứu
3.1. Đối tƣợng nghiên cứu
- Xây dựng mô hình toán cho acrobot
- Nghiên cứu các phƣơng pháp điều khiển cho acrobot
3.2. Phạm vi nghiên cứu
Phục vụ việc nghiên cứu trong phòng thí nghiệm tại trƣờng Đại học Công
nghiệp – Đại học Thái Nguyên
4. Ý nghĩa khoa học và thực tiễn của đề tài nghiên cứu
4.1. Ý nghĩa khoa học của đề tài
Acrobot là một ví dụ điển hình của các hệ thống hụt. Đây là một hệ thống phi
tuyến rất khó điều khiển. Có thể sử dụng hệ thống này nhƣ một đối tƣợng để thử
nghiệm các lý thuyết điều khiển điển kinh điển cũng nhƣ lý thuyết điều khiển mới.
4.2. Ý nghĩa thực tiễn của đề tài nghiên cứu
Hệ acrobot là cơ sở để tạo ra các hệ thống tự cân bằng nhƣ: Xe hai bánh tự
cân bằng, tháp vô tuyến, giàn khoan, công trình biển….
5. Phƣơng pháp nghiên cứu
5.1. Nghiên cứu lý thuyết
- Nghiên cứu xây dựng mô hình acrobot
- Nghiên cứu các phƣơng pháp điều khiển và thiết kế bộ điều khiển trên
cơ sở mô hình toán học đã đƣợc kiểm chứng của acrobot.
13. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
3
- Kiểm tra chất lƣợng của hệ thống điều khiển sử dụng phần mềm Matlab
và sử dụng hệ thống thực.
- Nghiên cứu bộ điều khiển LQR điều khiển cân bằng acrobot
5.2. Phương pháp thực nghiệm
- Sử dụng phần mềm Matlab – Simulink làm công cụ xây dựng mô hình
và mô phỏng hệ thống.
- Xây dựng mô hình acrobot thực.
14. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
4
CHƢƠNG I: TỔNG QUAN VỀ ACROBOT
Acrobot là rô bốt phẳng, hai bậc tự do nhƣng chỉ có khớp thứ hai đƣợc
điều khiển nhƣ hình vẽ 1. Hệ phƣơng trình động lực học của acrobot là một hệ
phi tuyến có hai bậc tự do và một đầu vào. Vấn đề đặt ra là tìm thuật toán điều
khiển cho khớp thứ 2 để lắc đƣa acrobot từ điểm ban đầu bất kỳ lên vị trí thẳng
đứng và điều khiển duy trì nó ở trạng thái thẳng đứng cân bằng không ổn định này.
Hình 1.1: Sơ đồ cấu trúc Acrobot
Thuật ngữ “Acrobot” đƣợc đặt ra tại Berkeley, ở đó những nghiên cứu
đầu tiên về điều khiển của acrobot đƣợc thực hiện bởi Murray và Hauser [5]. Các
kết quả thử nghiệm đầu tiên cho Acrobot đƣợc thực hiện bởi Bortoff [6]. Kỹ
thuật giả tuyến tính đã đƣợc sử dụng để điều khiển acrobot. Nhóm R'emi
Coulom Cortex [4] đã sử dụng mạng nơ ron để đễ xấp xỉ hàm với độ chính xác
cao để điều khiển acrobot.
15. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
5
Nhóm nghiên cứu Sam Duong Châu, Hiroshi Kinjo, Eiho Uezato, và
Tetsuhiko Yamamoto [7] đã ngiên cứu điều khiển tƣơng tự cho acrobot thông
qua máy tính. Brown và Kevin M. PASSINO [8] đã phát triển bộ điều khiển
thông minh cho acrobot. Gần đây nhất Mahindrakar và Banavar đã đề xuất một
chiến lƣợc điều khiển cho acrobot dựa trên nguyên lý điều khiển con lắc ngƣợc [2].
Trong luận văn này chúng tôi sẽ nghiên cứu, mô phỏng và kiểm tra lại các
kết quả nghiên cứu của hai tác giả này [3]. Trên cơ sở đó sẽ thiết kế một mô hình
acrobot thực trong phòng thí nghiệm nhằm mục đích nghiên cứu và thử nghiệm.
16. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
6
CHƢƠNG II MÔ HÌNH HÓA HỆ THỐNG ACROBOT
2.1 Hệ thống Acrobot
Sơ đồ cấu trúc của acrobot [3] đƣợc thể hiện nhƣ hình vẽ 2.1.
Hình 2.1 Hệ thống Acrobot
Trong đó thông số cho bởi bảng sau:
1l (m ) 2l (m ) 1m (kg ) 2m (kg ) 1I ( 2
kgm ) 2I ( 2
kgm )
q2
q1
g
lc2
Thanh 2
Thanh 1
lc1
17. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
7
Đặt
1 2
1 2
2 2 2
1 1 1 2 1 1 2 2 2 2 3 2 1 2 4 1 1 2 1 5 2 2
;
(2.1)2 2
; ; ; ;
c c
c c c c c
l l
l l
c m l m l I c m l I c m l l c m l m l c m l
Định nghĩa các biến trạng thái nhƣ sau:
2
.
1
.
214321 ,,,
2
,,, qqqqxxxxx
Mô hình toán của Acrobot theo [6]:
x f x g x u (2.2)
Trong đó
3
4
3
4
x
x
f
f
f
và
3
4
0
0
g
g
g
Với
2 2 2
3 2 3 3 4 2 2 4 1 3 3 2 2 3 5 1 2 2
2
1
sin sin sin cos sin cosf c c x x x c c g x c x x x c c g x x x
x
2
4 2 3 2 3 4 4 3 2 2 4 1 3 4 1 2
2
2
1 5 1 2 2 3 5 1 2 2 1 2 3 2 3 3 2
1
{ cos 2 sin sin sin cos
sin cos sin cos 2 cos sin }
f c c x x x x c x c c g x c c g x x
x
c c g x x x c c g x x x c c c x x c x
Δ
18. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
8
2 3 2
3
2
1 2 3 2
4
2
2 2
2 1 2 3 2
cos
2 cos
cos
c c x
g
x
c c c x
g
x
x c c c x
2u .
2.2 Luật điều khiển cho acrobot
:
1 2 3 4: , , 0, 0e
ijx M x i x j x x i, j = 0, 1
.
:
2 2
3 4
1 2 3 2 3 4 2 3 2 2 4 1 5 1 2( ) ( 2 cos ) ( cos ) cos cos( )
2 2
x x
E x c c c x x x c c x c c g x c g x x (2.3)
trên 00
e
x d = (c4 +c5)g.
Đặt Ê(x) = E(x)-Ed.
x2 = x4 = 0 Ê(x) Ê(x) = 0 :
2
3
1 2 3 4 5 1( 2 ) ( )cos 0
2
d
x
c c c g c c x E (2.4)
.
3 1 2 3 4 5 1( 2 ) ( )sin 0x c c c g c c x (2.5)
19. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
9
l
l = (c1+c2+2c3)/(c4+c5 ĝ = - g.
Đặt N = 2 4: 0x M x x Π = : Ê( ) 0x N x .
Π
. Đ
Π.
Π
.
:V M R
2 2 2
2 4
1
( ) Ê ( )
2
p d eV x k x k x k x (2.6)
kp, kd và ke V
. Đạo :
. .
42 4 4 4Ê( )p d eV k x x k x x k x x u
.
44 2( Ê( ) ).p d ex k x k x k x u (2.7)
Đ
.
42 4Ê( )p d ek x k x k x u x (2.8)
Δ Δ
20. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
10
.
2
4V x (2.9)
2 4 4 4( ( ) ( ) ) Ê( )p d ek x k f x g x u k x u x . (2.10)
luật u nhƣ sau:
4 2 4
4
( )
( ) Ê( )
p d
d e
x k x k f x
u
k g x k x
.
2 4 2 4
1 2 3 2 2
( ) ( )
( 2 cos ) ( )Ê( )
p d
e
x x k x k f x
k c c c x k x x (2.11)
Chúng tôi sẽ kiểm chứng luật điều khiển này trong phần chƣơng 4. Để có
thể nhìn thấy hệ thống acrobot hoạt động một cách trực quan, chúng tôi sẽ viết
một chƣơng trình trong Matlab/Simulink để mô phỏng quá trình hoạt động của
acrobot trong không gian 2 chiều.
2.3 Chƣơng trình mô phỏng acrobot trong không gian 2 chiều
Trong phần này chúng tôi sẽ viết một hàm S-function để mô tả acrobot
trong không gian 2 chiều. Đầu vào của hàm này sẽ là 2 biến trạng thái của
acrobot 1x và 2x . Tại mỗi thời điểm t chúng ta hoàn toàn có thể xác định đƣợc vị
trí điểm đầu và điểm cuối của mỗi thanh. Trên cơ sở đó chúng ta sẽ vẽ vị trí của
từng thanh. Nhƣ vậy ta sẽ có hình ảnh của acrobot thay đổi theo thời gian, phụ
thuộc vào giá trị 2 biến trạng thái tại mỗi thời điểm.
21. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
11
Chƣơng trình đƣợc viết nhƣ sau:
function [sys, x0, str, ts]=animdemo(t, x, u, flag)
l1 = 2;
l2 = 4;
global xP1 xP2 yP1 yP2 R P xLink1 xLink2 yLink1 yLink2 xCenter
yCenter
global Link1 Link2 Center
global AnimDemoFigure
str=[];
ts=[.01 0];
P0 = [8 8];
if flag==2
if any(get(0,'Children')==AnimDemoFigure)
set(0, 'CurrentFigure', AnimDemoFigure);
xP1new = l1*cos(u(1)+pi/2) + P0(1);
yP1new = l1*sin(u(1)+pi/2) + P0(2);
R = [cos(u(1)+pi/2) sin(u(1)+pi/2);-sin(u(1)+pi/2)
cos(u(1)+pi/2)];
P = [l2*cos(u(2)) l2*sin(u(2))]*R+[xP1new yP1new];
xP2new = P(1);
yP2new = P(2);
xLink1 = [P0(1) xP1new];
yLink1 = [P0(2) yP1new];
xLink2 = [xP1new xP2new];
22. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
12
yLink2 = [yP1new yP2new];
n = 100;
t = 0:2*pi/n:2*pi*(1-1/n);
xCenter = xP1new + .02*cos(t);
yCenter = yP1new + .02*sin(t);
set(Link1, 'XData', xLink1,'YData', yLink1 );
set(Link2, 'XData', xLink2,'YData', yLink2 );
set(Center,'XData',xCenter,'YData',yCenter);
drawnow
end
sys=[];
elseif flag==0
[fig, flag]=figflag('Animation Demo Figure', 0);
if flag
AnimDemoFigure=fig;
cla reset;
else
AnimDemoFigure=figure;
end
set(AnimDemoFigure, ...
'Name', 'Acrobat',...
'NumberTitle', 'off')
plot([0 16],[0 0],'k')
n = 100;
23. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
13
t = 0:2*pi/n:2*pi*(1-1/n);
x = 8 + .02*cos(t);
y = 8 + .02*sin(t);
plot(x,y,'k','LineWidth',5);
set(gca, ...
'Visible', 'off',...
'DrawMode','fast',...
'XLim', [0 16],...
'YLim', [0 16]);
xLink1 = [8 8];
yLink1 = [8 10];
xLink2 = [8 12];
yLink2 = [10 10];
n = 100;
t = 0:2*pi/n:2*pi*(1-1/n);
xCenter = 8 + .5*cos(t);
yCenter = 10 + .5*sin(t);
hold on;
Link1 =plot(xLink1, yLink1,'b','LineWidth',6);
Link2 =plot(xLink2, yLink2,'r','LineWidth',3);
Center = plot(xCenter,yCenter,'g','LineWidth',5)
sys=[0 0 0 4 0 0 1];
x0=[];
end
pause(.001)
24. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
14
Mỗi khi mô phỏng hệ thống điều khiển acrobot chúng ta sẽ kết nối 2 biến
trạng thái với khối S-function có tên là mydemo. Chúng ta sẽ nhìn thấy hình ảnh
động của acrobot. Chúng ta có thể kiểm tra đƣợc chƣơng trình bằng cách so sánh
với 2 quỹ đạo trạng thái. Việc sử dụng chƣơng trình mô phỏng 2 chiều cho
acrobot có thể giảm đƣợc chi phí thử nghiệm hệ thống. Hình 2.2 thể hiện một vị
trí của acrobot trong quá trình mô phỏng hệ thống điều khiển.
Hình 2.2: Mô phỏng acrobot 2 chiều
Ở hình ảnh trên, màu xanh là thanh 1 và màu đỏ là thanh 2.
25. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
15
CHƢƠNG III: THIẾT KẾ BỘ ĐIỀU KHIỂN
3.1. Tuyến tính hóa mô hình tại điểm cân bằng không ổn định
Hình 3.1 Điểm cân bằng không ổn định của hệ thống
Tại điểm cân bằng không ổn định phía trên ta có:
1
2
2
0
q
q
Suy ra
26. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
16
1 1
2 2
3 1
4 2
0
2
0
0
0
x q
x q
x q
x q
Ma trận Jacobian tại điểm cân bằng là:
1 1 1 1
1 2 3 4
2 2 2 2
1 2 3 4
3 3 3 3
1 2 3 4
4 4 4 4
1 2 3 4 0
x
x x x x
x x x x
J
x x x x
x x x x x
và
1
2
3
4
0
u
u
u
J
u
u u
Các phần tử của hai ma trận trên đƣợc tính nhƣ sau:
27. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
17
1
1
1
2
1
3
1
4
0
0
0
0
1
0
0.
0
xx
xx
xx
xx
2
1
2
2
2
3
2
4
0,
0
0
0
0
0
1.
0
xx
xx
xx
xx
3 2 4 3 5
312
1 1 2 3
3 3 5
322
2 1 2 3
3
3
3
4
0
0
0
0
0.
0
c c g c c g
a
xx c c c
c c g
a
xx c c c
xx
xx
2 4 3 4 1 5 3 54
412
1 1 2 3
1 5 3 54
422
2 1 2 3
4 4
3 4
0
,
0
0, 0.
0 0
c c g c c g c c g c c g
a
xx c c c
c c g c c g
a
xx c c c
x xx x
28. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
18
2
1
2
33
32
1 2 3
1 2 34
42
1 2 3
0
0
0
0
( )
0
( 2 )
.
0
uu
uu
c c
b
uu c c c
c c c
b
uu c c c
Do đó ta có mô hình trạng thái xấp xỉ của acrobot ở lân cận điểm cân
bằng không ổn định 0 là:
31 32 3
41 42 4
0 0 1 0 0
0 0 0 1 0
0 0
0 0
x ux J x J u x u
a a b
a a b
Trên cơ sở mô hình trạng thái này chúng tôi sẽ thiết kế bộ điều khiển
phản hồi trạng thái để đảm bảo hệ có thể tiến tới điểm cân bằng không ổn định từ
bất kỳ điểm nào đó thuộc lân cận điểm cân bằng.
3.2. Thiết kế bộ điều khiển phản hồi trạng
3.2.1. Phƣơng pháp gán điểm cực
Xét mô hình tuyến tính nhƣ sau:
A 1
2
x x bu
u Kx
Yêu cầu đặt ra là thiết kế bộ điều khiển u Kx để cho hệ kín đạt đƣợc
chất lƣợng ổn định. Sơ đồ cấu trúc của hệ thống điều khiển đƣợc thể hiện nhƣ
hình vẽ 3.2.
29. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
19
Hình 3.2: Bộ điều khiển cho đối tƣợng
Các bƣớc thiết kế bộ điều khiển:
- Bƣớc 1: Chọn trƣớc các điểm cực của hệ kín nằm bên trái mặt phẳng phức
1 2 3
, , ..., n
p p p p .
- Bƣớc 2: Xây dựng phƣơng trình đặc tính
Phƣơng trình đặc tính mong muốn của hệ kín:
1 2
( ) ( )( )...( )m n
A s s p s p s p= - - -
Thay (2) vào (1) ta có:
'
Ax x bKx A bK x A x (3.1)
Phƣơng trình đặc tính của hệ kín:
det( ) 0
det( ) 0
sI A
sI A bK
¢- =
Û - + =
- Bƣớc 3: Tìm K bằng cách cân bằng các hệ số ở hai vế của phƣơng trình
1 2
det( ) ( )( )...( )n
sI A bK s p s p s p- + = - - -
30. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
20
3.2.2. Ứng dụng Matlab tìm bộ điều khiển cho acrobot
Ta có mô hình trạng thái xấp xỉ của acrobot xung quanh điểm cân bằng
không ổn định là:
x ux J x J u (3.2)
Trong đó:
31 32
41 42
0 0 1 0
0 0 0 1
(3.3)
0 0
0 0
xJ
a a
a a
và
3
4
0
0
(3.4)uJ
b
b
Chọn bộ điểm cực mong muốn của hệ kín là: p=[-4 -4 -4 -4]
Sử dụng lệnh acker trong Matlab ta có thể tìm đƣợc K:
K=acker(A,b,p)
Ta có bộ điều khiển dạng nhƣ sau:
K = [k1 k2 k3 k4]
3.3. Bộ điều khiển LQR
3.3.1. Phƣơng trình Riccati đại số
Để đảm bảo hệ thống ổn định tại gốc tọa độ và có khả năng chống ảnh
hƣởng của nhiễu, một hàm mục tiêu đƣợc lựa chọn nhƣ sau:
31. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
21
0
1
min x Qx+u Ru dt
2
T T
J
Trong đó Q và R là các ma trận đối xứng xác định dƣơng. Chọn luật điều
khiển hồi tiếp trạng thái u = -Kx, K là véc tơ hằng số. Thay vào J ta có:
0
1
2
T T
J x Q K RK xdt
Chọn hàm Lyapunov là J ta đƣợc:
0
1
2
T T
V x t x Q K RK xdt
Đạo hàm theo thời gian:
1
( ) ( ) |
2
1 1
( ) ( ) ( ) ( )
2 2
T T
t
T T T T
V x x Q K RK x
x Q K RK x x t Q K RK x t
Chọn K để hệ ổn định, do đó 0x . Vậy
1
( ) ( ) ( )
2
T T
V x x t Q K RK x t
Mặt khác ta có thể biểu diễn hàm Lyapunov dƣới dạng:
1
2
T
V x t x Px
Trong đó P là một ma trận đối xứng xác định dƣơng. Nhƣ vậy ta có thể
tính ( )V x theo P nhƣ sau:
32. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
22
1 1
( ) ( ) ( )
2 2
1 1
( ) ( ) ( )
2 2
T T T T
T T T T
V x x Px x Px x A bK P P A bK x
x A bK P P A bK x x Q K RK x
Ma trận P sẽ thỏa mãn phƣơng trình:
( ) ( ) ( )T T
A bK P P A bK Q K RK
Đặt R = T
, là ma trận vuông không suy biến. Phƣơng trình Lyapunov
viết lại là:
1 1 1
( ) ( ) 0
[ ( ) ] [ ( ) ] 0
T T T T T
T T T T T T T
A K b P P A bK Q K K
A P PA K b P K b P PbR b P Q
Lấy đạo hàm phƣơng trình theo ijk và dùng tính chất:
ij
0
P
k
Ta suy ra:
1 1
[( ( ) ) ( ( ) )] 0T T T T T
ij
K B P K B P
k
Cực tiểu xảy ra khi số hạng trong ngoặc bằng không. Do đó
1
( )T T
K B P
Vậy bộ điều khiển sẽ là:
1 T
K R B P
Phƣơng trình Lyapunov trở thành phƣơng trình đại số Riccati:
1
0T T
A P PA PbR b P Q
3.3.2. Sử dụng Matlab tìm ma trận P và K
Dùng lệnh [K,P,e]=lqr(A,b,Q,R) trong Matlab để giải bài toán cực tiểu:
33. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
23
0
min T T
J x Qx u Ru dt
Và tìm nghiệm của phƣơng trình đại số Riccati:
1
0T T
A P PA PbR b P Q
Trong đó: e là giá trị riêng của ma trận A bK
Đặt
1 0 0 0
0 1 0 0
, 1
0 0 1 0
0 0 0 1
Q R
31 32 41 42
3 4
0 0 1 0;0 0 0 1; 0 0; 0 0 ;
0;0; ; ;
1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1 ;
1 ;
, , , , ,
A a a a a
b b b
Q
R
K P e lqr A b Q R
Ta đƣợc:
1 2 3 4K k k k k
34. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
24
CHƢƠNG IV: MÔ PHỎNG
4.1. Bài toán 1
Trong phần này chúng tôi sẽ thiết kế bộ điều khiển phản hồi trạng thái, bộ
điều khiển phi tuyến (2.11) cho acrobot với các thông số đã cho trong bài báo
[3]. Sau đó sẽ mô phỏng trong Matlab/Simulink và so sánh với kết quả trong bài
báo [3].
Hình 4.1: Hệ thống Acrobot
Bảng 1: Các thông số của hệ thống Acrobot
1l (m ) 2l (m ) 1m (kg ) 2m (kg ) 1I ( 2
kgm ) 2I ( 2
kgm )
1 2 1 2 0.083 0.667
q2
q
1
g
lc2
Thanh 2
Thanh 1
lc1
35. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
25
Acrobot [3] có các thông số nhƣ bảng 1.
Thay các thông số trên vào (2.2) ta đƣợc:
1
1
2
2
2 2 2 2
1 1 1 2 1 1
2 2
2 2 2 2
3 2 1 2
4 1 1 2 1
5 2 2
1
0.5
2 2
2
1
2 2
1*0.5 2*1 0.083 2.333
2*1 0.667 2.667 (4.1)
2*1*1 2
1*0.5 2*1 2.5
2*1 2
c
c
c
c
c
c
c
l
l
l
l
c m l m l I
c m l I
c m l l
c m l m l
c m l
Thay vào (3.3) và (3.4) thu đƣợc:
0 0 1 0 0
0 0 0 1 0
11.76 17.64 0 0 2.1
13.23 38.22 0 0 4.05
x x u
Ta có:
0 0 1 0 0
0 0 0 1 0
,
11.76 17.64 0 0 2.1
13.23 38.22 0 0 4.05
A b
4.1.1 Bộ điều khiển phản hồi trạng thái theo phƣơng pháp gán điểm cực
Chọn bộ điểm cực: p=[-4 -4 -4 -4]
36. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
26
Sử dụng lệnh acker trong Matlab:
A=[0 0 1 0;0 0 0 1;11.76 -17.64 0 0;-13.23 38.22 0 0];
b=[0;0;-2.1;4.05];
p=[-4 -4 -4 -4];
K=acker(A,b,p)
Ta thu đƣợc bộ điều khiển:
K = [-513.4706 -230.2196 -227.3579 -113.9473]
Mô phỏng hệ thống với điều kiện đầu 1 2 3 4, , 0, 0.
8 6
x x x x
Hình 4.2: Sơ đồ hệ thống điều khiển trong Simulink
37. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
27
Kết quả thu đƣợc nhƣ hình 4.3; hình 4.4; hình 4.5; hình 4.6. Chúng ta có
thể nhận thấy là sau khoảng 6 giây, các biến trạng thái đều tiến tới 0. Điều này
có nghĩa là acrobot đƣợc giữ ở vị trí cân không ổn định.
0 1 2 3 4 5 6 7 8 9 10
-4
-3
-2
-1
0
1
2
3
4
x1
Hình 4.3: Biến trạng thái x1
38. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
28
0 1 2 3 4 5 6 7 8 9 10
-8
-6
-4
-2
0
2
4
6
8
10
x2
Hình 4.4: Biến trạng thái x2
0 1 2 3 4 5 6 7 8 9 10
-30
-20
-10
0
10
20
30
40
x3
Hình 4.5: Biến trạng thái x3
39. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
29
0 1 2 3 4 5 6 7 8 9 10
-80
-60
-40
-20
0
20
40
60
x4
Hình 4.6: Biến trạng thái x4
4.1.2. Bộ điều khiển LQR
Chọn:
1 0 0 0
0 1 0 0
, 1
0 0 1 0
0 0 0 1
Q R .
Dùng lệnh , , , , ,K P e lqr A b Q R ta thu đƣợc:
541.8813 240.891 243.3184 121.5755K
40. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
30
Mô phỏng với điều kiện đầu 1 2,
8 6
x x , x3=0, x4=0.
Hình 4.7: Sơ đồ hệ thống điều khiển trong Simulink
Các quỹ đạo trạng thái đƣợc thể hiện trong hình 4.8, hình 4.9, hình 4.10,
hình 4.11. Ta dễ dàng nhận thấy Acrobot đạt tới trạng thái cân bằng không ổn
định sau 6 giây. Nhƣ vậy bộ điều khiển LQR đảm bảo hệ ổn định và có thời gian
xác lập giống nhƣ bộ điều khiển phản hồi trạng thái theo phƣơng pháp gán điểm
cực trong trƣờng hợp này.
41. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
31
0 1 2 3 4 5 6 7 8
-4
-3
-2
-1
0
1
2
3
4
x1
Hình 4.8: Biến trạng thái x1
0 1 2 3 4 5 6 7 8
-8
-6
-4
-2
0
2
4
6
8
10
x2
Hình 4.9: Biến trạng thái x2
42. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
32
0 1 2 3 4 5 6 7 8
-30
-20
-10
0
10
20
30
40
x3
Hình 4.10: Biến trạng thái x3
0 1 2 3 4 5 6 7 8
-80
-60
-40
-20
0
20
40
60
x4
Hình 4.11: Biến trạng thái x4
43. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
33
Nhƣ vậy chúng ta đã thiết kế đƣợc bộ điều khiển phản hồi trạng thái. Với
bộ điều khiển này, acrobot có thể tiến tới trang thái cân bằng không ổn định từ
bất kỳ trạng thái ban đâu nào ở lân cận điểm cân bằng không ổn định.
Ở phần tiếp theo, chúng tôi sẽ tính toán bộ điều khiển phi tuyến và mô
phỏng cùng với bộ điều khiển phản hồi trạng thái. Bộ điều khiển phi tuyến có
nhiệm vụ đƣa acrobot về tới trạng thái ở lân cận điểm cân bằng không ổn định,
sau đó bộ điều khiển phản hồi trạng thái sẽ đƣa acrobot về điểm cân bằng không
ổn định.
4.1.3. Bộ điều khiển phi tuyến
Dựa vào các thông số (4.1) chúng tôi thiết kế bộ điều khiển phi tuyến theo
luật (2.11). Trong quá trình mô phỏng, chúng tôi sử dụng một khâu chuyển
mạch. Khi hệ thống bắt đầu làm việc bộ điều khiển phi tuyến sẽ đƣợc kết nối với
hệ thống để điều khiển. Khi mà acrobot đạt tới vùng lân cận của điểm cân bằng
không ổn định thì khâu chuyển mạch sẽ ngắt bộ điều khiển phi tuyến ra khỏi hệ
thống và kết nối bộ điều khiển phản hồi trạng thái với hệ thống.
Điều kiện chuyển mạch đƣợc chúng tôi chọn lựa nhƣ sau: Gọi 1y và 2y lần
lƣợt là các giá trị tƣơng đối của 1x và 2x so với vị trí cân bằng không ổn định của
acrobot.
Ví dụ: Giả sử 1 2x k , trong đó k là một số nguyên thì 1y .
Đặt
2 2 2 2
1 2 3 4r y y x x .
Nếu r < 0.5, khâu chuyển mạch sẽ chọn bộ điều khiển phản hồi trạng thái.
Ngƣợc lại khâu chuyển mạch sẽ chọn bộ điều khiển phi tuyến.
44. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
34
Chúng tôi sẽ mô phỏng với điều kiện đầu ở gần điểm cân bằng ổn định.
Đây là vị trí gần nhƣ là xa điểm cân bằng không ổn định nhất. Điều kiện đầu
nhƣ sau: 1 2 3 4, 0, 0, 0.1x x x x .
Hình 4.12: Sơ đồ hệ thống điều khiển trong Simulink
Kết quả mô phỏng đƣợc thể hiện qua các hình 4.13, hình 4.14, hình 4.15,
hình 4.16.
45. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
35
0 5 10 15 20 25 30 35 40 45 50
-15
-10
-5
0
5
10
15
x1
Hình 4.13: Biến trạng thái x1
0 5 10 15 20 25 30 35 40 45 50
-10
-8
-6
-4
-2
0
2
4
6
8
10
x1
Hình 4.14: Biến trạng thái x2
46. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
36
0 5 10 15 20 25 30 35 40 45 50
-10
-8
-6
-4
-2
0
2
4
6
8
10
x3
Hình 4.15: Biến trạng thái x3
0 5 10 15 20 25 30 35 40 45 50
-20
-15
-10
-5
0
5
10
15
20
x4
Hình 4.16: Biến trạng thái x4
47. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
37
Kết quả mô phỏng đƣợc thể hiện trong hình 4.13, hình 4.14, hình 4.15,
hình 4.16. Ta nhận thấy các quỹ đạo trạng thái đều tiến về không sau khoảng 37
giây. Quá trình xác lập dài hơn là do điều kiện ban đầu ở xa điểm cân bằng
không ổn định, do đó phải mất khoảng 31 giây để bộ điều khiển phi tuyến đƣa
acrobot về lân cận điểm cân bằng không ổn định, sau đó mất khoảng 6 giây để
bộ điều khiển phản hồi trạng thái đƣa acrobot về trạng thái xác lập ở điểm cân
bằng không ổn định.
Nhƣ vậy chúng tôi đã thiết kế bộ điều khiển, mô phỏng và kiểm chứng
đƣợc các kết quả trong bài báo [3]. Có một điểm khác ở đây là chúng tôi chọn r
khác và lớn hơn khá nhiều so với [3].
Trên cơ sở của bài báo [3] và những thiết kế và mô phỏng đã thực hiện,
chúng tôi sẽ thiết kế và chế tạo acrobot thực theo mô hình acrobot đƣợc trình bày
trong [3]. Ở phần tiếp theo chúng tôi sẽ trình bày về vấn đề này.
48. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
38
4.2. Bài toán 2
Trong phần này chúng tôi đã thiết kế và chế tạo một mô hình acrobot.
Trên cơ sở acrobot thực này chúng tôi sẽ xác định các tham số cho mô hình toán
của nó. Sau đó sẽ thiết kế bộ điều khiển và mô phỏng kết quả trong
Matlab/Simulink.
Sơ đồ thiết kế của acrobot thực nhƣ hình vẽ 4.8. Một số hình ảnh của
acrobot thực nhƣ hình 4.9.
Hình 4.17: Hệ thống Acrobot thực nghiệm
g
lc2
Thanh 2
lc1
q2
q1
Bánh đai
Động cơ
Đối trọng
Đai truyền
Thanh 1
49. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
39
m1, m2: Khối lƣợng thanh 1, thanh 2.
l1, l2: Chiều dài thanh 1, thanh 2.
IT, I2: Mô men quán tính nội của thanh 1, thanh 2.
Bảng 2: Các thông số của Acrobot thực
1l (m ) 2l (m ) 1m (kg) 2m (kg ) 2I ( 2
kgm ) TI ( 2
kgm )
0.285 0.203 0.245 0.03 0.0001 0.00019
IT: Mô men quán tính nội của thanh 1
Vì thanh 1 có dạng hình chữ T nên IT đƣợc tính theo công thức gần đúng:
' '
1 310
11
T
I I
I
Trên cơ sở các thông số này ta sẽ tính các thông số còn lại nhƣ sau:
1 1
1
1 3
2
2
2 2 2 2
1 1 1 2 1 1
2 2
2 2 2 2
3 2 1 2
4
0.285 0.025
0.029
0.025 0.22
0.203
0.105
2 2
0.025 0.029 0.03 0.023 0.00019 0.000227
0.03 0.105 0.0001 0.000431
0.03 0.285 0.105 0.000898
c
c
c
c
c
l m
l
m m
l
l
c m l m l I
c m l I
c m l l
c 1 1 2 1
5 2 2
0.025 0.029 0.03 0.285 0.009275
0.03 0.015 0.00045
c
c
m l m l
c m l
Thay vào công thức (3.3) và (3.4) ta thu đƣợc:
50. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
40
0 0 1 0 0
0 0 0 1 0
56.26 0.53 0 0 387.41
57.28 2.15 0 0 457.13
x x u
Với
0 0 1 0 0
0 0 0 1 0
,
56.26 0.53 0 0 387.41
57.28 2.15 0 0 457.13
A b .
4.2.1 Bộ điều khiển phản hồi trạng thái theo phƣơng pháp gán điểm cực
Chọn bộ điểm cực: p=[-4 -4 -5 -5]. Sử dụng lệnh acker trong Matlab với
A=[0 0 0 1 0;0 0 0 1; 56.26 -0.53 0 0;-57.28 2.15 0 0];
b=[0;0;-387.41;457.13];
p=[-4 -4 -5 -5];
K=acker(A,b,p)
Ta tìm đƣợc bộ điều khiển K = [-0.7061 -0.2059 -0.2079 -0.1368]
Mô phỏng với điều kiện đầu 1 2 3 4, , 0, 0
8 6
x x x x
51. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
41
Hình 4.18: Sơ đồ hệ thống điều khiển trong Simulink
Kết quả ta thu đƣợc các quỹ đạo trạng thái nhƣ hình sau.
52. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
42
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
x1
Hình 4.19: Biến trạng thái x1
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-0.5
0
0.5
1
1.5
2
x2
Hình 4.20: Biến trạng thái x2
53. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
43
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-6
-5
-4
-3
-2
-1
0
1
2
x3
Hình 4.21: Biến trạng thái x3
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-3
-2
-1
0
1
2
3
4
5
6
7
x4
Hình 4.22: Biến trạng thái x4
54. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
44
Hệ thống đạt tới trạng thái ổn định sau khoảng 3 giây.
Mô phỏng với điều kiện đầu 1 2 3 4, 0, 0, 0.1x x x x ta thu đƣợc các quỹ
đạo trạng thái nhƣ hình.
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-4
-3
-2
-1
0
1
2
x1
Hình 4.23: Biến trạng thái x1
55. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
45
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-6
-5
-4
-3
-2
-1
0
1
x2
Hình 4.24: Biến trạng thái x2
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-5
0
5
10
15
20
25
30
x3
Hình 4.25: Biến trạng thái x3
56. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
46
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-35
-30
-25
-20
-15
-10
-5
0
5
10
x4
Hình 4.26: Biến trạng thái x4
Sau khoảng 3 giây hệ thống đạt đƣợc trạng thái xác lập và ổn định.
4.2.2. Khảo sát khi có nhiễu tác động
Mô phỏng với điều kiện đầu 1 2 3 4, 0, 0, 0.1x x x x
57. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
47
Hình 4.27: Sơ đồ hệ thống điều khiển trong Simulink
0 1 2 3 4 5 6 7 8 9 10
-8
-7
-6
-5
-4
-3
-2
-1
0
1
2
x1
Hình 4.28: Biến trạng thái x1
58. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
48
0 1 2 3 4 5 6 7 8 9 10
-6
-4
-2
0
2
4
6
8
10
12
14
x2
Hình 4.29: Biến trạng thái x2
0 1 2 3 4 5 6 7 8 9 10
-30
-20
-10
0
10
20
30
x3
Hình 4.30: Biến trạng thái x3
59. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
49
0 1 2 3 4 5 6 7 8 9 10
-40
-30
-20
-10
0
10
20
30
40
x4
Hình 4.31: Biến trạng thái x4
Chúng ta có thể thấy với mô hình toán này, chỉ cần bộ điều khiển phản hồi
trạng thái là đủ để đƣa acrobot về trạng thái cân bằng không ổn định từ bất kỳ
trạng thái ban đầu nào.
Nhƣ vậy từ mô hình toán trong [3], khi thiết kế và chế tạo mô hình acrobot
thực có nhiều vấn đề cần phải quan tâm. Thứ nhất là vấn đề tỉ lệ giữa mô hình
thực và mô hình toán, chẳng hạn nhƣ tỉ lệ khối lƣợng và độ dài giữa hai thanh
của mô hình toán [3] là 1:2, trong khi đó của mô hình thực là gần nhƣ 1:1 về độ
dài và 10:1 về khối lƣợng. Vấn đề thứ 2 là về kết cấu cơ khí, ma sát và độ chính
xác khi chế tạo phần cơ.
Với những kết quả mô phỏng ở trên cùng với kinh nghiệm thiết kế và chế
tạo mô hình acrobot thực, chúng ta hoàn toàn có thể xây dựng một mô hình
acrobot thực để phục vụ nghiên cứu và thí nghiệm.
60. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
50
CHƢƠNG V: THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN MÔ
HÌNH ACROBOT THỰC
Trong phần này chúng tôi sẽ thiết kế và giới thiệu hệ thống điều khiển
thời gian thực cho mô hình acrobot trong phòng thí nghiệm. Hệ thống bao gồm
một mô hình acrobot thực đã đƣợc trình bày ở phần trƣớc, Arduino Mega, mạch
đảo chiều động cơ, bộ nguồn và động cơ một chiều có gắn kèm encorder.
5.1 Thiết kế hệ thống điều khiển Acrobot
Để phục vụ cho việc nghiên cứu tôi đã thiết kế và chế tạo hệ thống điều
khiển Acrobot gồm có hai khớp, trong đó chỉ có khớp thứ 2 đƣợc điều khiển để
lắc đƣa Acrobot về vị trí cân bằng.
Hình 5.1: Hình ảnh của mô hình Acrobot thực
61. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
51
5.2. Mô hình thí nghiệm Acrobot
Cấu trúc mô hình thí nghiệm Acrobot gồm:
- Máy tính xách tay: Core i5, 1,8Hz, Ram 4G – Phần mềm Matlab 2013a.
- Card điều khiển Arduino.
- Động cơ DC Encoder 334 xung.
- IC L298N.
- IC SN74HC08N
- Động cơ DC gear motor encoder
- Bo mạch đa năng.
Hình 5.2. Sơ đồ khối mô hình thí nghiệm.
5.2.1. Động cơ DC
Động cơ Encoder V2 chạy đƣợc với điện áp nguồn DC tối đa 31V, tích
hợp đĩa Encoder 334 xung, cho 2 kênh ra A và B cùng tần số nhƣng lệch pha 90 độ.
Card Arduino
Computer,
Matlab
Hệ thống
Acrobot
Nguồn vào,
IC L298N,
IC SN74HC08N
Bo mạch
Vị trí
đặt
62. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
52
1. DC 12V, dây màu trắng.
2. GND, dây màu vàng.
3. Kênh A, dây màu xanh dƣơng.
4. DC 5V, dây màu đỏ.
5. Kênh B, dây màu xanh lá cây.
6. GND, dây màu đen.
Hình 5.3 Kí hiệu chân động cơ
5.2.2. Động cơ DC gear motor encoder
Động cơ DC gear motor encoder chạy đƣợc với điện áp nguồn DC tối đa
24V, sử dụng hộp số và tích hợp đĩa Encoder
Hình 5.4 Động cơ DC gear motor encoder
- Điện áp: 12V
- Công suất: 1W
- Đƣờng kính trục: 4 mm
- Khối lƣợng: 0.2kg
- Tốc độ: 12 vòng/phút
.
63. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
53
5.2.3. IC L298N
IC L298N là một mạch bán dẫn tích hợp trong một khối, có 15 chân. Nó
có thể kiểm soát không chỉ một mà là hai động cơ. Với điện áp ra lớn, sai số tín
hiệu ra nhỏ và tản nhiệt tốt...Do đó chúng tôi lựa chọn IC L298N cho mô hình
thí nghiệm.
Hình 5.5. Giới thiệu IC L298N.
5.2.4. IC SN74HC08N
Hình 5.6. Giới thiệu IC SN74HC08N.
1A 1
1B 2
1Y 3
2A 4
2B 5
2Y 6
GND 7
14 VCC
13 4B
12 4A
11 4Y
10 3B
9 3A
8 3Y
SN74HC08N
64. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
54
5.2.5. Giới thiệu Card Arduino
Card Arduino 2560 Mega là một bo mạch vi xử lý có 54 ngõ I/O có thể
tƣơng tác và điều khiển nhiều thiết bị, đƣợc dùng để lập trình tƣơng tác với các
thiết bị phần cứng nhƣ cảm biến, động cơ, đèn hoặc các thiết bị khác. Đặc điểm
nổi bật của Arduino là môi trƣờng phát triển ứng dụng cực kỳ dễ sử dụng, với
một ngôn ngữ lập trình có thể học một cách nhanh chóng.
Hình 5.7 Card Arduino Mega
5.2.6. Thiết kế bộ điều khiển PI cho Acrobot
Sử dụng máy tính và Card Ardiuno điều khiển Acrobot.
Các thông số đƣợc chọn bằng phƣơng pháp thực nghiệm.
65. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
55
Hình 5.8 Sơ đồ khối hệ thống điều khiển thời gian thực
5.2.7. Kết quả thực nghiệm
0 10 20 30 40 50 60 70 80 90 100
-50
-40
-30
-20
-10
0
10
20
30
40
50
Vi tri goc cua link 2
Hình 5.9 Vị trí góc của thanh 2
Ta nhận thấy khi đƣa Acrobot lệch khỏi vị trí cân bằng, sau một khoảng
thời gian tác động (khoảng 10 giây) thì Acrobot đã điều khiển đƣợc thanh 2 về vị
trí cân bằng.
66. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
56
CHƢƠNG 6: KẾT LUẬN VÀ KIẾN NGHỊ
6.1. Kết luận
- Viết đƣợc chƣơng trình mô phỏng acrobot trong không gian 2 chiều.
- Thiết kế, mô phỏng và kiểm tra đƣợc các kết quả trong bài báo [3] là
đúng và chính xác.
- Thiết kế và chế tạo đƣợc một mô hình acrobot thực.
- Thử nghiệm các thuật toán để điều khiển trên acrobot thực.
- Điều khiển đƣợc Acrobot ở lân cận vị trí cân bằng về vị trí cân bằng.
6.2. Kiến nghị
- Hoàn thiện mô hình acrobot thực trong phòng thí nghiệm.
- Nhận dạng mô hình acrobot thực trong phòng thí nghiệm.
- Thử nghiệm các thuật toán điều khiển acrobot khác.
- Thiết kế và chế tạo thanh 1 (link 1) có dạng thanh thẳng thay vì chữ T.
67. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
57
TÀI LIỆU THAM KHẢO
1. Nguyễn Thƣơng Ngô (2006) “Lý thuyết điều khiển tự động thông thường và
hiện đại Quyển 3: Hệ phi tuyến & Hệ ngẫu nhiên”, Nhà xuất bản khoa học và
kỹ thuật.
2. Nguyễn Thƣơng Ngô (2006) “Lý thuyết điều khiển tự động thông thường và
hiện đại Quyển 4: Hệ tối ưu & Hệ thích nghi”, Nhà xuất bản khoa học và kỹ thuật.
3. Arun D. Mahindrakar and Ravi N. Bnavar (2005) “A swing-up of the acrobot
based on a simple pendulum strategy”, International Journal of Control, ( 6),
424 - 429.
4. R'emi Coulom CORTEX, Loria Nancy (2004) “High-Accuracy Value-
Function Approximation with Neural Networks Applied to the Acrobot”,
European Symposium on Artificial Neural Networks, 28-30.
5. R. M. Murray and J. Hauser (1991) “A case study in approximate
linearization: the acrobot example”, American control conference, 1- 40.
6. S. A. Bortoff (1992) “Pseudolinearization Using Spline Functions With
Application to the Acrobot” Ph.D. thesis, Dept. of Electrical and Computer
Engineering, University of Illinois at Urbana- Champaign.
7. Sam Chau Duong, Hiroshi Kinjo, Eiho Uezato and Tetsuhiko Yamamoto
(2009) “On the Continuous Control of the Acrobot via Computational
Intelligence”, 231 – 241.
8. Scott C. Brown and Kevin M. Passino (1997) “Intelligent Control for an
Acrobot”, Journal of Intelligent and Robotic Systems, (18), 209–248.