TÓM TẮT Luận văn trình bày việc nghiên cứu và thiết kế bộ điều khiển PD mờ để cân bằng Pendubot.. Cấu trúc bộ điều khiển thông minh PD mờ được tổ chức dưới dạng hai bộ điều khiển PD mờ r
Đặt vấn đề
Điều khiển cân bằng ở những trạng thái không ổn định là vấn đề khó trong lĩnh vực điều khiển tự động, có nhiều nhà khoa học nghiên cứu trong lĩnh vực này vì ứng dụng của nó tạo ra các sản phẩm có ý nghĩa phục phụ đời sống con người như robot, xe hai bánh tự cân bằng, hệ thống các cần cẩu bóc xếp hàng hóa, điều khiển hướng phóng của tên lửa Trong điều khiển cân bằng đặt ra nhiều vấn đề thách thức đối với các nhà nghiên cứu là tìm ra giải thuật cho bộ điều khiển các đối tượng phi tuyến
Mặc dù có nhiều đóng góp nhưng việc áp dụng lý thuyết kinh điển thiết kế các bộ điều khiển cân bằng cho các đối tượng phi tuyến cho kết quả không như mong đợi Trong những thập niên gần đây, lý thuyết điều khiển hiện đại phát triển rất nhanh như điều khiển mờ, mạng nơron nhân tạo tạo ra nhiều lựa chọn cho việc thiết kế và triển khai các bộ điều khiển đạt hiệu quả hơn
Hệ thống Pendubot là một mô hình lý tưởng của hệ thống phi tuyến, là nền tảng cho các nghiên cứu về thuật toán điều khiển cân bằng hệ thống Nhiệm vụ chính đặt ra là thiết kế bộ điều khiển PD mờ cho Pendubot nhằm cân bằng ổn định hệ thống ở trạng thái không ổn định Nếu thành công, phương pháp này có thể được áp dụng cho các đối tượng phi tuyến khác trong hệ thống tự động, mở ra cơ hội sáng tạo nhiều sản phẩm ứng dụng có giá trị vào đời sống.
Các công trình nghiên cứu liên quan
Pendubot (Pendulum robot) (Hình 1.1) là hệ thống điển hình dạng under- actuated trong đó số lượng cơ cấu chấp hành nhỏ hơn số bậc tự do của hệ thống, là một hệ thống gồm hai thanh liên kết với nhau qua hai khớp nối, thanh thứ nhất gọi là cánh tay máy một đầu áp chặt ở khớp thứ nhất tác động bởi một động cơ, đầu còn lại liên kết với thanh thứ hai gọi là con lắc tự do tại khớp thứ hai, ở khớp này có Encoder2 khiểm soát góc quay của con lắc
HVTH: Nguyễn Văn Thơm GVHD: TS.Nguyễn Vĩnh Hảo
Hình 1.1 Mô tả mô hình Pendubot
Cả cánh tay và con lắc có thể quay quanh trục 360 o con lắc thì được tự do trong khi đó cánh tay quay được nhờ mômen tác động của động cơ, góc quay của động cơ được kiểm soát bởi Encoder1 và tùy vào tín hiệu điện áp cấp cho động cơ Ở trạng thái ban đầu cả hai thanh ở vị trí hướng xuống (Bottom), vì con lắc được tự do nên lúc nào cũng có xu hướng hướng xuống bởi trọng lực dù cho góc quay của cánh tay có thay đổi cho nên Pendubot là hệ thống phi tuyến, việc điều khiển cho cả cánh tay và con lắc giữ ổn định cân bằng ở những vị trí không ổn định là vấn đề khó khăn
Pendubot sử dụng thích hợp cho việc nghiên cứu các giải thuật điều khiển phi tuyến Rất nhiều nhà nghiên cứu đã đã sử dụng các thuật toán khác nhau để swing-up và cân bằng Pendubot đã thu được một số thành công đáng kể
Sử dụng chiến lược điều khiển phản hồi một phần, Spong và Block [1] áp dụng cơ chế đu đưa con lắc và tận dụng giải pháp điều khiển tối ưu tuyến tính dạng toàn phương (LQR) để cân bằng con lắc.
- Fanton, Lozano và Spong [2] sử dụng năng lượng cơ bản để swing up và cân bằng con lắc nhưng dừng lại ở mô phỏng
HVTH: Nguyễn Văn Thơm GVHD: TS.Nguyễn Vĩnh Hảo
-Jen-Hsing LI [9] sử dụng cấu trúc bộ điều khiển Dual Fuzzy PD để cân bằng con lắc
- Zhang và Tarn [3] đề xuất bộ điều khiển lai để cân bằng con lắc Điều khiển lai bao gồm kiểm soát tín hiệu rời rạc và tín hiệu liên tục cùng một lúc
- Sanchez và cộng sự [4] thực hiện điều khiển cân bằng của Pendubot qua điều khiển mờ, kết hợp lý thuyết điều chỉnh tuyến tính với công nghệ Takagi- Sugeno mờ, điều khiển tự chỉnh được thực hiện
Theo quan điểm khác, nghiên cứu của Tanaka và cộng sự [6] sử dụng mô phỏng để phát hiện ra rằng động tác nhào lộn của Pendubot, một con lắc đảo ngược, đạt được bằng cách dao động cánh tay theo chu kỳ trong khi giữ con lắc thẳng đứng.
Một số phương pháp đã được đề xuất điều khiển swing-up cho pendubot
- Spong và Block [1] đề xuất một phương pháp dựa trên kỹ thuật hồi tiếp tuyến tính
-Zhao và Yi [5] đề xuất một bộ điều khiển bang-bang mà ở đó các thông số được kiểm soát bởi thuật toán di truyền
-Orlov, Qian và các cộng sự sử dụng bộ điều khiển trượt để cải thiện với sự không chắc chắn do nhiểu từ bên ngoài
Một số hình ảnh Pendubot được thiết kế:
Hình 1.2 Pendubot ở vị trí BOTTOM (nguồn Internet)
HVTH: Nguyễn Văn Thơm GVHD: TS.Nguyễn Vĩnh Hảo
Hình 1.3 Pendubot đang cân bằng ở vị trí MID (nguồn Internet)
Hình 1.4 Pendubot đang cân bằng ở vị trí TOP (nguồn Internet)
HVTH: Nguyễn Văn Thơm GVHD: TS.Nguyễn Vĩnh Hảo
Phạm vi nghiên cứu
Luận văn tập trung nghiên cứu điều khiển cân bằng Pendubot ở vị trí không ổn định Trong đề tài này cũng tìm hiểu giải thuật điều khiển swing-up, sau đó dùng bộ điều khiển PD mờ để điều khiển cân bằng cho Pendubot Kết quả sẽ được mô phỏng trên Simulink của Matlab và so sánh với bộ điều khiển tối ưu dạng toàn phương luyến tính LQR để đánh giá chất lượng bộ điều khiển Cuối cùng thiết kế và thử nghiệm mô hình Pendubot
Hình 1.5 Mô hình điều khiển Pendubot Mục tiêu chính:
-Tìm hiểu giải thuật điều khiển swing-up cho pendubot
-Thiết kế bộ điều khiển PD mờ cân bằng pendubot
-Thực hiện điều khiển trên mô hình Pendubot với mục tiêu là Pendubot này tự swing up và tự cân bằng
-Trên cơ sở kết quả thu được từ mô phỏng và điều khiển thực nghiệm ta phân tích ưu khuyết điểm của bộ điều PD mờ với bộ điều khiển LQR và rút ra kết luận.
Phương pháp nghiên cứu
-Nghiên cứu lý thuyết liên quan đến thiết kế bộ điều khiển Swing-up, bộ điều khiển LQR và bộ điều khiển PD mờ
-Xây dựng giải thuật điều khiển trên cơ sở lý thuyết đã nghiên cứu.
Tóm lược nội dung luận văn
-Xây dựng mô hình toán học và các bộ điều khiển bằng Simulink của Matlab và tiến hành mô phỏng
-Thiết kế mô hình và chương trình điều khiển, thực nghiệm trên mô hình thật và đánh giá kết quả
1.5 Tóm lƣợc nội dung luận văn
Nội dung luận văn gồm 5 chương:
Nội dung chương này giới thiệu sơ lược về các vấn đề nghiên cứu, tổng quan về các công trình nghiên cứu, các mục tiêu nghiên cứu Chương này cũng đề cập đến các phương pháp nghiên cứu để đạt được mục tiêu đặt ra cuối cùng là tóm lược nội dung luận văn.
Bộ điều khiển LQR
Điều khiển tối ưu là xác định luật điều khiển động cho trước sao cho tối thiểu hóa một chỉ tiêu chất lượng
Bộ điều khiển LQR (Linear Quadratic Regulator) như Hình 2.1
Bộ điều khiển LQR là một giải thuật điều khiển tối ưu tìm tín hiệu điều khiển u(t) giúp hệ thống chuyển từ trạng thái ban đầu x(0) về trạng thái cuối mong muốn x(t_f) với hàm chỉ tiêu chất lượng toàn phương tối thiểu Hệ thống được mô tả bằng phương trình trạng thái tuyến tính: x´(t) = Ax(t) + Bu(t), trong đó x(t) là vector trạng thái và u(t) là vector tín hiệu điều khiển.
J(u) = x T (t f )Mx(t f ) + ∫ ( ( ) ( ) ( ) ( )] (2.1) Trong đó Q và M là các ma trận số bán xác định dương
R: Là ma trận trọng số xác định dương
H = ∫ ( ) ( ) ( )] ( ) ( ) ( )] (2.2) Điều kiện để có lời giải tối ưu: y x
HVTH: Nguyễn Văn Thơm GVHD: TS.Nguyễn Vĩnh Hảo ̇(t) = Ax(t) +Bu(t) (2.3) ̇ ( )
( ) ( ) (2.4) = -Ru(t) - ( = 0 (2.5) Rút u(t) từ (2.5): u(t) = -R -1 B T (t) (2.6) Thay vào (2.6) vào (2.3), ta được ̇(t) = Ax(t) - BR -1 B T (t) (2.7)
Kết hợp (2.4) và (2.7), ta được phương trình vi phân:
( )] (2.8) Giải phương trình vi phân (3.8), ta tìm được x(t) và (t)
Thay (t) vào (2.7) ta tìm được lời giải tối ưu
Tín hiệu điều khiển tối ưu: u = -K(t)x(t) (2.9) Trong đó: K(t) = R -1 B T P(t)
Và P(t) là nghiệm xác định dương của phương trình vi phân Ricatti:
Trong điều kiện liên tục thời gian vô hạn với đối tượng tuyến tính mô tả bởi phương trình trạng thái: ̇(t) = Ax(t) +Bu(t)
Chỉ tiêu chất lượng dạng toàn phương, trong đó thời điểm cuối t f = :
Tín hiệu điều khiển tối ưu: u = -K(t)x(t)
Và P là nghiệm xác định dương của phương trình đại số Ricatti:
HVTH: Nguyễn Văn Thơm GVHD: TS.Nguyễn Vĩnh Hảo
Mô hình toán học hệ Pendubot
Hình 3.1.Mô hình hệ Pendubot Các kí hiệu trên mô hình: m a : Khối lượng của cánh tay m p : Khối lượng của con lắc l a : Chiều dài của cánh tay l p : Chiều dài của con lắc c a : Trọng tâm của cánh tay c p : Trọng tâm của con lắc
J a : Quán tính của cánh tay
J p : Quán tính của con lắc
a : Góc quay của cánh tay
p : Góc quay của con lắc g : Gia tốc trọng trường
: Mômen được tạo ra bởi động cơ
HVTH: Nguyễn Văn Thơm GVHD: TS.Nguyễn Vĩnh Hảo
Từ mô hình ta xây dựng mô hình toán học cho Pendubot
Tọa độ của cánh tay: x 1 = c a cosa (3.1) y 1 = c a sina (3.2) Vận tốc của cánh tay: v 1 = [ ̇ ̇ ] = [ ̇
̇ ] (3.3) Động năng của cánh tay:
T 1 = m a ( ̇ + ̇ ) + J a ̇ = m a c a 2 ̇ + J a ̇ (3.4) Tọa độ của con lắc: x 2 = l a cosa + c p cos(a + p) (3.5) y 2 = l a sin a + c p sin( a + p ) (3.6) Vận tốc của con lắc: v 2 = [ ̇ ̇ ] = [ ̇ (̇ ̇ ) ( )
= ̇ + ̇ +2 ̇ ̇ + ̇ + 2l a ̇ c p cos p + 2l a c p ̇ ̇ cos p = ( + 2l a c p cos p + ) ̇ + (2l a c p cos p + 2 ) ̇ ̇ + ̇ (3.10) Động năng của con lắc:
HVTH: Nguyễn Văn Thơm GVHD: TS.Nguyễn Vĩnh Hảo
Tổng động năng của hệ Pendubot:
Thế năng của cánh tay:
Thế năng của con lắc:
Tổng thế năng của hệ Pendubot:
- [m a gc a sin a + m p g(l a sin a + c p sin( a + p ))] (3.18) Áp dụng công thức Euler-Lagrange cho hệ Pendubot ta có:
HVTH: Nguyễn Văn Thơm GVHD: TS.Nguyễn Vĩnh Hảo
+ m a gc a cos a + m p gc p cos( a + p ) + m p gl a cos a (3.27)
Thì phương trình (3.27) và (3.28) có thể viết lại:
0 = (p 3 cos p + p 2 ) ̈ + p 2 ̈ + p 3 sin( p )̇ + p 5 gcos( a + p ) (3.31) Viết dưới dạng ma trận:
HVTH: Nguyễn Văn Thơm GVHD: TS.Nguyễn Vĩnh Hảo
̇ ] (3.40) Suy ra phương trình toán của hệ thống:
̈ = [-(p 2 + p 3 cos p ) - p 3 sin p (p 2 + p 3 cos p )(̇ + ̇ ) 2 - p 3 sin p (p 1 + p 3 cos p ) ̇ + p 4 gcos a (p 2 + p 3 cos p ) - p 5 gcos( a + p )(p 1 + p 3 cos p )] (3.42)
Từ hai phương trình toán hệ phi tuyến (3.41) và (3.42) ta xây dựng được mô hình Pendubot trên Matlab và các giải thuật để điều khiển cân bằng Pendubot.
Điều khiển cân bằng dùng LQR
3.2.1 Xây dựng bộ điều khiển
Vị trí TOP là vị trí [ a , ̇ , p , ̇ ] = [ , 0, 0, 0] Từ (3.41) và (3.42) biểu diễn về phương trình trạng thái vị trí TOP bằng cách đặt biến trạng thái:
HVTH: Nguyễn Văn Thơm GVHD: TS.Nguyễn Vĩnh Hảo x 1 = a - π/2 ̇ 1 = ̇ = x 2 = f 1 (x,) x 2 = ̇ ̇ 2 = ̈ = f 2 (x,) (3.43) x 3 = p ̇ 3 = ̇ = x 4 = f 3 (x,) x 4 = ̇ ̇ 4 = ̈ = f 4 (x,)
[x 1 x 2 x 3 x 4 ] T là các biến trạng thái
Với: f 2 (x,)= [p 2 + p2p 3 sin(x 3 )(x 2 +x 4 ) 2 + sin(x 3 )cos(x 3 ) + p 2 p 4 gcos(x 1 )
-p 3 p 5 gsin(x 1 +x 3 )cos(x 3 )] (3.44) f 4 (x,)= [-(p 2 + p 3 cos(x 3 )) - p3sin(x 3 )(p 2 + p 3 cos(x 3 ))(x 2 +x 4 ) 2
- p 3 sin(x 3 )(p 1 + p 3 cos(x 3 )) - p 4 gsin(x 1 )(p 2 + p 3 cos(x 3 )) +p 5 gsin(x 1 +x 3 )(p 1 + p 3 cos(x 3 ))] (3.45)
Phương trình trạng thái phi tuyến vị trí TOP:
Tuyến tính hóa quanh điểm cân bằng [a, ̇ , p, ̇ ] = [ , 0, 0, 0]
Phương trình có dạng: ̇ = Ax + B (3.47)
A, B là các ma trận tuyến tính
Tính các phần tử của ma trận A ta được:
HVTH: Nguyễn Văn Thơm GVHD: TS.Nguyễn Vĩnh Hảo
Tính các phần tử của ma trận B ta được:
Chọn ma trận Q và R ta tính được k bằng Matlab;
HVTH: Nguyễn Văn Thơm GVHD: TS.Nguyễn Vĩnh Hảo
Vị trí MID là vị trí [ a , ̇ , p , ̇ ] = [ , 0, , 0] Từ (3.41) và (3.42) biểu diễn về phương trình trạng thái vị trí MID bằng cách đặt biến trạng thái: x 1 = a + π/2 ̇ 1 = ̇ = x 2 = f 1 (x) x 2 = ̇ ̇2= ̈ = f 2 (x) (3.56) x 3 = p -π ̇ 3 = ̇ = x 4 = f 3 (x) x 4 = ̇ ̇4= ̈ = f 4 (x)
Với: f 2 (x,)= [p 2 - p 2 p 3 sin(x 3 )(x 2 +x 4 ) 2 + sin(x 3 )cos(x 3 ) - p 2 p 4 gsin(x 1 )
+p 3 p 5 gsin(x 1 +x 3 )cos(x 3 )] (3.57) f 4 (x,)= [-(p 2 - p 3 cos(x 3 )) + p 3 sin(x 3 )(p 2 - p 3 cos(x 3 ))(x 2 +x 4 ) 2
+ p 3 sin(x 3 )(p 1 - p 3 cos(x 3 )) +p 4 gsin(x 1 )(p 2 - p 3 cos(x 3 )) +p 5 gsin(x 1 +x 3 )(p 1 - p 3 cos(x 3 ))] (3.58) Phương trình trạng thái phi tuyến vị trí MID
Tuyến tính hóa quanh điểm cân bằng [ a , ̇ , p , ̇ ] = [ , 0, , 0]
Phương trình có dạng: ̇ = Ax + B (3.60)
A, B là các ma trận tuyến tính
Tính các phần tử của ma trận A ta được:
HVTH: Nguyễn Văn Thơm GVHD: TS.Nguyễn Vĩnh Hảo
Tính các phần tử của ma trận B ta được:
Chọn Q và R ta tính được k bằng Matlab;
HVTH: Nguyễn Văn Thơm GVHD: TS.Nguyễn Vĩnh Hảo
Thông số của mô hình mô phỏng dựa trên mô hình thực tế đã thiết kế Tuy nhiên cũng có những thông số tìm được trong quá trình mô phỏng và thử sai
Bảng 3.1.Các thông số của mô hình
Kí hiệu Mô tả Giá trị Đơn vị m a Khối lượng của cánh tay 0.25 kg m p Khối lượng của con lắc 0.05 kg l a Chiều dài của cánh tay 0.2 m l p Chiều dài của con lắc 0.3 m c a Trọng tâm của cánh tay 0.1 m c p Trọng tâm của con lắc 0.15 m
J a Quán tính của cánh tay 0.00112 kg.m 2
J p Quán tính của con lắc 0.00150 kg.m 2 g Gia tốc trọng trường 9.81 m/s 2
Sơ đồ mô phỏng bằng Simulink
Hình 3.2 Sơ đồ Simulink điều khiển cân bằng LQR vị trí TOP
HVTH: Nguyễn Văn Thơm GVHD: TS.Nguyễn Vĩnh Hảo
-Trường hợp 1: Thay đổi góc khởi tạo
+Con lắc lệch dương 10 độ :
Hình 3.3 Đáp ứng bộ điều khiển LQR vị trí TOP khi con lắc lệch dương 10 độ Kết quả mô phỏng cho thấy bộ điều khiển cho đáp ứng tốt khi góc con lắc lệch khỏi vị trí cân bằng 10 độ, bộ điều khiển đưa góc con lắc về 0và góc cánh tay về pi/2 Khảo sát các chỉ tiêu chất lượng cho thấy thời gian xác lập 3,5s, độ vọt lố bằng
0, sai số xác lập rất nhỏ 0.06%
+Cánh tay lệch dương 10 độ:
Hình 3.4 Đáp ứng bộ điều khiển LQR vị trí TOP khi cánh tay lệch dương 10 độ Kết quả mô phỏng cho thấy khi góc cánh tay lệch khỏi vị trí cân bằng 10 độ, bộ điều khiển đưa góc con lắc kéo về 0và góc cánh tay về pi/2 Trường hợp này thời gian xác lập 4s, độ vọt lố bằng 0, sai số xác lập bằng 0
Các trường khác cũng cho kết quả tương tự khi thay đổi góc khởi tạo nhỏ quanh điểm cân bằng Điều này chứng tỏ bộ điều khiển cho đáp ứng tốt khi thay đổi góc lệch
HVTH: Nguyễn Văn Thơm GVHD: TS.Nguyễn Vĩnh Hảo
-Trường hợp 2: Mô phỏng đánh giá chất lượng bộ điều khiển LQR khi thay đổi R, Q
+Trường hợp giữ nguyên Q=diag([40 40 15 1]), thay đổi R kết quả mô phỏng như Hình 3.5
Hình 3.5 Đáp ứng bộ điều khiển LQR vị trí TOP khi R thay đổi
Từ đáp ứng cho thấy, khi R thay đổi đáp ứng của góc con lắc và góc cánh tay thay đổi ít, khi R càng lớn đáp ứng càng nhanh tín hiệu điều khiển càng nhỏ, tuy nhiên hệ thống dao động nhiều hơn
+Trường hợp giữ nguyên R=1.1, thay đổi Q kết quả mô phỏng như Hình 3.6
HVTH: Nguyễn Văn Thơm GVHD: TS.Nguyễn Vĩnh Hảo
Hình 3.6 Đáp ứng bộ điều khiển LQRvị trí TOP khi Q thay đổi
Từ đáp ứng cho thấy, khi Q thay đổi đáp ứng của góc con lắc và góc cánh tay thay đổi nhiều nhơn khi thay đổi R, khi Q càng nhỏ đáp ứng càng nhanh tín hiệu điều khiển càng nhỏ, tuy nhiên hệ thống dao động nhiều hơn và ngược lại khi tăng
Q tín hiệu điều khiển lớn hệ thống rung mạnh quanh vị trí cân bằng
Tóm lại từ các trường hợp mô phỏng ta thấy trường hợp R=1.1 và Q diag([40 40 15 1]) đáp ứng cho kết quả tốt nhất
Sơ đồ mô phỏng bằng Simulink
Hình 3.7 Sơ đồ Simulink điều khiển cân bằng LQR vị trí MID
HVTH: Nguyễn Văn Thơm GVHD: TS.Nguyễn Vĩnh Hảo
-Trường hợp 1: Thay đổi góc khởi tạo
+Con lắc lệch dương 10 độ:
Hình 3.8 Đáp ứng bộ điều khiển LQR vị trí MID khi con lắc lệch dương 10 độ Kết quả mô phỏng cho thấy bộ điều khiển cho đáp ứng tốt khi góc con lắc lệch khỏi vị trí cân bằng, bộ điều khiển đưa góc con lắc về pivà góc cánh tay về -pi/2 Đáp ứng cho thấy thời gian xác lập 5s, độ vọt lố bằng 0, sai số xác lập bằng 0
+Góc cánh tay lệch dương 10 độ:
Bộ điều khiển LQR vị trí MID có đáp ứng tốt khi góc cánh tay lệch dương 10 độ khỏi vị trí cân bằng Bộ điều khiển đưa góc con lắc về trạng thái cân bằng và góc cánh tay về vị trí - pi/2 Con lắc và cánh tay ít dao động so với vị trí TOP Thời gian xác lập là 4 giây, độ vọt lố bằng 0 và sai số xác lập bằng 0.
Các trường khác cũng cho kết quả tương tự khi thay đổi góc khởi tạo nhỏ quanh điểm cân bằng Điều này chứng tỏ bộ điều khiển cho đáp ứng cân bằng tốt tại điểm này
HVTH: Nguyễn Văn Thơm GVHD: TS.Nguyễn Vĩnh Hảo
-Trường hợp 2: Mô phỏng đánh giá chất lượng bộ điều khiển LQR khi thay đổi R, Q
+Trường hợp giữ nguyên Q=diag([50 50 50 1]), thay đổi R kết quả mô phỏng như Hình 3.10
Hình 3.10 Đáp ứng bộ điều khiển LQR vị trí MID khi R thay đổi
Cũng tương tự vị trí TOP, từ đáp ứng cho thấy, khi R thay đổi đáp ứng của góc con lắc và góc cánh tay thay đổi ít, khi R càng lớn đáp ứng càng nhanh tín hiệu điều khiển càng nhỏ, tuy nhiên hệ thống dao động nhiều hơn
+Trường hợp giữ nguyên R= 1.5,thay đổi Q kết quả mô phỏng như Hình 3.11
HVTH: Nguyễn Văn Thơm GVHD: TS.Nguyễn Vĩnh Hảo
Hình 3.11 Đáp ứng bộ điều khiển LQR vị trí MID khi Q thay đổi
Từ đáp ứng cho thấy, khi Q thay đổi đáp ứng của góc con lắc và góc cánh tay thay đổi nhiều nhơn khi thay đổi R, khi Q càng nhỏ đáp ứng càng nhanh tín hiệu điều khiển càng nhỏ, tuy nhiên hệ thống dao động nhiều hơn
Tóm lại từ các trường hợp mô phỏng ta thấy trường hợp R=1.5 và Q diag([50 50 50 1]) đáp ứng cho kết quả tốt nhất.
Điều khiển cân bằng dùng PD mờ
Theo [14] sơ đồ bộ điều khiển PD mờ như sau:
Hình 3.12 Sơ đồ bộ điều khiển PD mờ Trong đó E là sai số giữa tín hiệu ra và tín hiệu đặt, K1, K 2 là hệ số tỉ lệ và hệ số vi phân của tín hiệu E Bộ điều khiển mờ có hai ngõ vào là sai số và vi phân của sai số, ngõ ra của bộ điều khiển tỷ lệ phi tuyến với tín hiệu vào và vi phân tín hiệu vào theo qui luật xác định bởi hệ quy tắc mờ
Hệ Pendubot là hệ thống điển hình dạng under-actuated, là hệ thống trong đó số lượng cơ cấu chấp hành là cánh tay nhỏ hơn số bậc tự do của hệ thống là chuyển động của cánh tay và chuyển động quay của con lắc Vì vậy, áp dụng bộ điều khiển
PD mờ có thể điều khiển cân bằng con lắc đồng thời cả vị trí cánh tay và con lắc ta cần thiết kế hai bộ điều khiển riêng biệt Tuy nhiên chỉ có một điện áp điều khiển
KU t Đối tượng điều khiển
Vì hệ thống điều khiển cánh tay và con lắc có đặc điểm chung nên cần kết hợp điện áp điều khiển góc lệch cánh tay Ua và góc lệch con lắc Up thành một điện áp điều khiển thống nhất U Khi cấp điện áp khiến cánh tay lệch về dương, con lắc sẽ ngã về phía ngược lại, chứng tỏ điện áp điều khiển hai đối tượng này trái dấu trên cùng một hệ quy chiếu Dựa vào mối quan hệ này, ta thiết lập được bộ điều khiển PD mờ.
Hình 3.13 Sơ đồ khối bộ điều khiển cân bằng PD mờ cho hệ Pendubot
3.3.1 Xây dựng bộ điều khiển
Vị trí TOP của hệ thống là [ a , ̇ , p , ̇ ] = [ , 0, 0,0] Các bộ điều khiển PD mờ loại Sugeno cho góc lệch cánh tay và góc lệch con lắc được thiết kế để giữ cân bằng cho robot ở vị trí TOP Do hai bộ điều khiển này tương tự nhau, nên có thể chọn chung ngõ vào, hàm liên thuộc và luật điều khiển cho cả hai bộ.
-Xác định tập mờ ngõ vào và ngõ ra
Mỗi bộ điều khiển mờ có hai ngõ vào, ngõ vào thứ nhất là sai số của góc lệch e được mờ hóa bởi 5 tập { NM, NS, ZE, PS, PM } và ngõ vào thứ hai là vi phân sai số de cũng được mờ hóa bởi 5 tập { NM, NS, ZE, PS, PM }, ngõ ra của bộ điều khiển mờ là U được mờ hóa bởi 5 tập { NM, NS, ZE, PS, PM } Các tập mờ của ngõ vào, ngõ ra được kí hiệu như sau: NM là Negative Medium, NS là Negative Small, ZE là Zero, PS là Positive Small, PM là Positive Medium
Bộ điều khiển PD mờ góc lệch con lắc
Giá trị tham chiếu của góc lệch cánh tay
Bộ điều khiển PD mờ góc lệch cánh tay
Giá trị tham chiếu của góc lệch con lắc
HVTH: Nguyễn Văn Thơm GVHD: TS.Nguyễn Vĩnh Hảo
-Chuẩn hóa tập cơ sở các biến vào ra:
Miền xác định và chuẩn hóa cho các biến ngõ vào và ngõ ra của bộ điều khiển mờ được xác định tùy thuộc vào tầm hoạt động của góc lệch cánh tay và con lắc K1 = 2/pi do góc lệch cánh tay nằm trong khoảng từ [0 pi/2](rad)
K3 = 2/pi do góc lệch con lắc nằm trong khoảng từ [0 pi/2] (rad)
Các hệ số K2, K4, K5 được chỉnh định trong quá chỉnh mô phỏng và thử sai, và cho kết quả đáp ứng tốt nhất khi K2= 1/22 , K4 = 1/29 , K5 = 55
-Hàm liên thuộc ngõ vào: Chọn hàm liên thuộc như Hình 3.14 và Hình 3.15
Hình 3.14 Hàm liên thuộc ngõ vào e và de bộ điều khiển góc lệch cánh tay
Hình 3.15 Hàm liên thuộc ngõ vào e và de bộ điều khiển góc lệch con lắc
Hình 3.16 Ngõ ra U của hai bộ điều khiển
HVTH: Nguyễn Văn Thơm GVHD: TS.Nguyễn Vĩnh Hảo
-Xây dựng luật điều khiển
Vai trò của hai bộ điều khiển là như nhau Luật điều khiển góc con lắc và góc cánh tay được xây dựng tương tự, dựa vào đặc tính hoạt động của hệ Pendubot và quá trình thử sai ta có xây dựng được các luật điều khiển
Ví dụ điều khiển con lắc:
Hình 3.17 Một số qui tắc điều khiển Bảng 3.2 Luật mờ cho bộ điều khiển vị trí TOP
NM NS ZE PS PM
NM NM NM NM NS ZE
NS NM NM NM ZE PS
ZE NM NM ZE PM PM
PS NS ZE PM PM PM
PM ZE PS PM PM PM
-Nếu e là NM và de là NM thì U đk là NM
-Nếu e là NM và de là PM thì U đk là ZE
-Nếu e là PM và de là PM thì U đk là PM
-Chọn luật suy diễn MAX-MIN
-Chọn phương pháp giải mờ trọng tâm
Vị trí MID là vị trí [ a , ̇ , p , ̇ ] = [ , 0, , 0] Cũng tương tự như ở vị trí TOP bộ điều khiển PD mờ loại Sugeno được thiết kế cho hai bộ điều khiển góc lệch cánh tay và góc lệch con lắc để giữ cân bằng cho Pendubot ở vị trí MID, vì hai bộ
HVTH: Nguyễn Văn Thơm GVHD: TS.Nguyễn Vĩnh Hảo điều khiển tương tự nhau nên ta chọn ngõ vào, hàm liên thuộc và luật điều khiển chung cho hai bộ điều khiển
-Xác định tập mờ ngõ vào và ngõ ra
Mỗi bộ điều khiển mờ có hai ngõ vào, ngõ vào thứ nhất là sai số của góc lệch e được được mờ hóa bởi 5 tập { NM, NS, ZE, PS, PM } và ngõ vào thứ hai là vi phân sai số de cũng được mờ hóa bởi 5 tập { NM, NS, ZE, PS, PM }, ngõ ra của bộ điều khiển mờ là U được mờ hóa bởi 5 tập { NM, NS, ZE, PS, PM } Các tập mờ của ngõ vào, ngõ ra được kí hiệu như sau: NM là Negative Medium, NS là Negative Small, ZE là Zero, PS là Positive Small, PM là Positive Medium
-Chuẩn hóa tập cơ sở các biến vào ra:
Miền xác định và chuẩn hóa cho các biến ngõ vào và ngõ ra của bộ điều khiển mờ được xác định tùy thuộc vào tầm hoạt động của góc lệch cánh tay và con lắc K1 = 2/pi do góc lệch con lắc nằm trong khoảng từ [0 pi/2](rad)
K3 = 3/pi do góc lệch cánh tay nằm trong khoảng từ [0 pi/3] (rad)
Các hệ số K2, K4, K5 được chỉnh định trong quá chỉnh mô phỏng và thử sai, và cho kết quả đáp ứng tốt nhất khi K2= 1/57 , K4 = 1/29 , K5 = 75
-Hàm liên thuộc ngõ vào: Chọn hàm liên thuộc như Hình 3.18 và Hình 3.19
Hình 3.18 Ngõ vào e và de bộ điều khiển góc lệch cánh tay
Hình 3.19 Ngõ vào e và de bộ điều khiển góc lệch con lắc
HVTH: Nguyễn Văn Thơm GVHD: TS.Nguyễn Vĩnh Hảo
Hình 3.20 Ngõ ra U của hai bộ điều khiển Vai trò của hai bộ điều khiển là như nhau Luật mờ điều khiển cho cánh tay được xây dựng dựa vào qui luật hoạt động của mô hình và kinh nghiệm của người thiết kế
Tương tự ở vị trí TOP ta xây dựng được luật mờ cho bộ điều khiển vị trí MID Bảng 3.3 Luật mờ cho bộ điều khiển vị trí MID
NM NS ZE PS PM
NM NM NM NM NS ZE
NS NM NM NM ZE PS
ZE NM NM ZE PM PM
PS NS ZE PM PM PM
PM ZE PS PM PM PM
-Nếu e là NM và de là NM thì U đk là NM
-Nếu e là NM và de là PM thì U đk là ZE
-Nếu e là PM và de là PM thì U đk là PM
-Chọn luật suy diễn MAX-MIN
-Chọn phương pháp giải mờ trọng tâm
HVTH: Nguyễn Văn Thơm GVHD: TS.Nguyễn Vĩnh Hảo
Sơ đồ mô phỏng bộ điều khiển PD mờ vi trí TOP bằng Simulink như Hình 3.21, các thông số mô phỏng theo Bảng 3.1, các hệ số k của bộ điều khiển xác định trong quá trình thử lỗi sửa sai Khi tổng hợp U điều khiển thì hai tín hiệu U a và U p phải trái dấu
Hình 3.21 Sơ đồ Simulink điều khiển cân bằng PD mờ vị trí TOP
-Trường hợp con lắc lệch dương10 độ
Hình 3.22 Đáp ứng bộ điều khiển PD mờ vị trí TOP khi con lắc lệch dương 10 độ Kết quả mô phỏng cho thấy bộ điều khiển giữ cân bằng tại vị trí với điều kiện đầu con lắc lệch dương 10 độ Bộ điều khiển kéo góc lệch con lắc về 0, cánh tay về pi/2, con lắc và cánh tay dao động nhưng sau đó nhanh chóng về vị trí cân bằng Khảo sát các chỉ tiêu chất lượng cho thấy thời gian xác lập 6s, độ vọt lố rất nhỏ 0.37%, sai số xác lập bằng 0
HVTH: Nguyễn Văn Thơm GVHD: TS.Nguyễn Vĩnh Hảo
-Trường hợp cánh tay lệch dương10 độ
Bộ điều khiển swing-up
Trạng thái ban đầu của Pendubot ở vị trí buông thả tức là [ a , ̇ , p , ̇ ] [ , 0, 0, 0] mục tiêu điều khiển cân bằng Pendubot ở vị trí TOP tức là vị trí cả cánh tay và con lắc hướng lên [ a , ̇ , p , ̇ ] = [ , 0, 0, 0] Bộ điều khiển cân bằng chỉ có nhiệm vụ cân bằng ở điều kiện góc a và góc p sai lệch nhỏ ( | p | < 0.2 rad) so với vị trí cân bằng mà không thể swing con lắc và cánh tay lên vị trí TOP được, để swing được cánh tay và con lắc phải sử dụng bộ điều khiển swing-up Như vậy để swing và cân bằng ở vị trí TOP hệ thống điều khiển cần kết hợp hai bộ điều khiển swing-up và cân bằng, khi swing-up gần với vị trí cân bằng thì hệ thống sẽ chuyển sang bộ điều khiển cân bằng nhờ công tắc chuyển mạch
Hình 3.31 Sơ đồ khối hệ thống điều khiển Pendubot
XUNG ENCODER Chọn bộ điều khiển
HVTH: Nguyễn Văn Thơm GVHD: TS.Nguyễn Vĩnh Hảo
3.4.1 Xây dựng bộ điều khiển
Bộ điều khiển swing-up có nhiệm vụ swing con lắc và cánh tay từ vị trí buông thả BOTTOM [ a , ̇ , p , ̇ ] = [ , 0, 0, 0] về vị trí cần cân bằng TOP [ a , ̇ , p ,
̇ ] = [ , 0, 0,0] Bộ điều khiển sử dụng cho đề tài này dùng phương pháp hồi tiếp tuyến tính như đề xuất [13]
Phương trình chuyển động của Pendubot như (3.32) Bỏ qua ma sát, nhân ma trận và vectơ thì phương trình viết lại: d 11 ̈ + d 12 ̈ + c 11 ̇ + c 12 ̇ + g 1 = 1 (3.65) d 21 ̈ + d 22 ̈ + c 21 ̇ + g 2 = 0 (3.66) Để tuyến tính với một góc tự do, một vòng hồi tiếp được sử dụng để đưa góc về quỹ đạo mong muốn Trong trường hợp Pendubot a được chọn tuyến tính từ
HVTH: Nguyễn Văn Thơm GVHD: TS.Nguyễn Vĩnh Hảo
Trong đó là góc cánh tay mong muốn
Ta có sơ đồ khối như sau:
Hình 3.32 Sơ đồ khối bộ điều khiển swing-up Khi kết hợp với bộ điều khiển cân bằng hai thông số k P và k D của bộ điều khiển swing-up sẽ được cân chỉnh trong quá trình mô phỏng
Kết quả mô phỏng khi chưa có bộ điều khiển cân bằng
Hình 3.33 Đáp ứng bộ điều khiển swing-up khi chưa có bộ điều khiển cân bằng Đáp ứng cho thấy bộ điều khiển đã swing được cánh tay và con lắc đến vị trí cân bằng (vị trí TOP) hướng lên khoảng 1s, tuy nhiên do chưa có bộ điều khiển cân bằng nên con lắc rớt xuống rơi tự do, cánh tay vẫn giữ đúng vị trí mong muốn Vì thế ta phải kết hợp bộ điều khiển swing-up và bộ điều khiển cân bằng để điều khiển Pendubot cân bằng đúng vị trí mong muốn
PD and feedforward acceleration control trạectory + gereration n paritial linearized system
HVTH: Nguyễn Văn Thơm GVHD: TS.Nguyễn Vĩnh Hảo
3.4.2 Kết hợp bộ điều khiển LQR để swing-up và cân bằng vị trí TOP
Hình 3.34 Sơ đồ Simulink điều khiển swing-up và cân bằng LQR
Hình 3.34 là sơ đồ mô phỏng kết hợp bộ điều khiển swing-up và cân bằng Việc chuyển đổi tín hiệu từ bộ điều khiển swing-up sang bộ điều khiển cân bằng ta sử dụng công tắc chuyển mạch với ngõ vào là tín hiệu swing-up và tín hiệu cân bằng Điều kiện để chuyển sang bộ điều khiển cân bằng là giá trị hàm logic
(| a -pi/2|