Luận văn trình bày việc thiết kế bộ điều khiển cân bằng con lắc ngược sử dụng bộ điều khiển lqr kết hợp với bộ lọc Kalman Kết quả thực nghiệm của phương pháp đề xuất được so sánh với bộ điều khiển hồi tiếp trạng thái LQR để đánh giá chất lượng điều khiển Hệ thống con lắc ngược được xây dựng mô phỏng và đánh giá kết quả bằng phần mềm Matlab Simulink Dựa vào kết quả mô phỏng thu được từ phần mềm Matlab – Simulink tiến hành xây dựng lưu đồ lập trình và điều khiển trên mô hình thực nghiệm được giám sát thông qua phần mềm Labview kết hợp cùng với board mạch vi xử lý Arduino Kết quả thực nghiệm trên mô hình cho thấy đáp ứng của hệ thống với bộ điều khiển đề xuất cho kết quả tốt hơn phương pháp điều khiển LQR Với bộ điều khiển lqr kết hợp với bộ lọc kalman con lắc có khả năng được điểu khiển cân bằng tại một vị trí xác định trong điều kiện có nhiễu đo lường trong khi đó hệ con lắc bị dao động quanh điểm đặt với giải thuật điều khiển LQR
Trang 1CAOăXUỂNăC NG
S D NG B ăĐI UăKHI N LQR VĨ B ăL CăKALMAN
LU NăVĔNăTH CăSƾăK ăTHU T
ĐƠăNẵngăậ Nĕmă2018
Trang 2CAOăXUỂNăC NG
S D NG B ăĐI U KHI NăLQRăVĨăB ăL CăKALMAN
ChuyênăngƠnh:ăK ăthu tăđi uăkhi năvƠăt ăđ ngăhóa
Mưăs :ă8520216
LU NăVĔNăTH CăSƾăK ăTHU T
Ng iăh ngăd năkhoaăh c:
TS.ăTR NăĐỊNHăKHỌIăQU C
ĐƠăNẵngăậ Nĕmă2018
Trang 3Ngoài các thông tin được sử dụng và trích dẫn trong các tài liệu tham khảo, các kết quả nghiên cứu khác nêu trong luận văn này là trung thực và chưa từng ai công bố trong bất kỳ công trình nào
Tác giả luận văn
CaoăXuơnăC ng
Trang 4VĨăB ăL CăKALMAN
H c viên: Cao Xuân C ng Chuyên ngành: Kỹ thuật điều khiển và tự động hóa
Mư số: 8520216 Khóa: K33 Tr ng Đ i h c Bách khoa - ĐHĐN
Tómăt tăậ Luận văn trình bày việc thiết kế bộ điều khiển cân bằng con lắc ng ợc sử dụng bộ
điều khiển lqr kết hợp với bộ l c Kalman Kết quả thực nghiệm của ph ơng pháp đề xuất đ ợc so sánh với bộ điều khiển h i tiếp tr ng thái LQR để đánh giá chất l ợng điều khiển Hệ thống con lắc
ng ợc đ ợc xây dựng, mô phỏng và đánh giá kết quả bằng phần mềm Matlab - Simulink Dựa vào kết quả mô phỏng thu đ ợc từ phần mềm Matlab – Simulink tiến hành xây dựng l u đ , lập trình
và điều khiển trên mô hình thực nghiệm đ ợc giám sát thông qua phần mềm Labview kết hợp cùng với board m ch vi xử lý Arduino Kết quả thực nghiệm trên mô hình cho thấy, đáp ứng của hệ thống với bộ điều khiển đề xuất cho kết quả tốt hơn ph ơng pháp điều khiển LQR Với bộ điều khiển lqr kết hợp với bộ l c kalman, con lắc có khả năng đ ợc điểu khiển cân bằng t i một v trí xác đ nh trong điều kiện có nhiễu đo l ng trong khi đó hệ con lắc b dao động quanh điểm đặt với giải thuật điều khiển LQR
T ăkhóaă- Con lắc ng ợc, bộ điều khiển LQR, bộ l c Kalman, phản h i v trí, bo m ch
arduino
BALANCE CONTROL OF AN INVERTED PENDULUM USING LQR AND
KALMAN FILTER Abstract - This thesispresents the design of balance control for an inverted pendulum system using the Linear-Quadratic Regulator method (LQR) control law conbine with Kalman filter
Experimental results of the proposed method was compared with LQR method to assess the quality
of control Inverted pendulum system is designed, simulated and supervised by Matlab – Simulink software Based on simulation results obtained from Matlab – Simulink conducts programmatic, programming and control on experimental model by Labview software conbined with the Arduino single-board microcontrollers Experiments of stabilizing the inverted pendulum show that the proposed controller produces better response than the LQR controller The inverted pendulum can
be stabilized at the predetermined position in the condition of noise measurement using the LQR controller combined with Kalman filter while The inverted pendulum fluctuates around the set point using the LQR controlalgorithm
Key words - Inverted pendulum, LQR, Kalman filter, position feedback, arduino card
Trang 5Trang phụ bìa Trang
L i cam đoan
Mục lục
Danh mục các từ viết tắt
Danh mục các hình
Danh mục các bảng
Danh mục các kí hiệu
PH NăM ăĐ U
I Đặt vấn đề 1
II Đ nh h ớng của đề tài 2
III Nhiệm vụ của luận văn 2
IV Kết quả mong muốn đ t đ ợc 2
PH NăN IăDUNG
CH NGă1: GI IăTHI UăBĨIăTOÁNăCONăL CăNG C
1.1 Lý thuyết về con lắc ng ợc 3
1.2 Mô hình toán h c cho hệ con lắc ng ợc 4
1.2.1 Mô hình toán h c của con lắc ng ợc 4
1.2.2 Mô hình toán h c của động cơ DC 6
1.2.3 Mô hình toán h c t ng hợp cho hệ con lắc ng ợc 8
1.3 Mô phỏng con lắc ng ợc trên matlab 8
CH NG 2: PH NGăPHÁPăĐI UăKHI N
2.1 Ph ơng pháp điều khiển PID 12
2.2 Ph ơng pháp điều khiển LQR 13
2.2.1 Điều khiển tối u 13
2.2.2 Thiết kế bộ điều khiển LQR 14
2.2.2.1 Điều khiển LQR liên tục 14
2.2.2.2 Thiết kế bộ điều khiển LQR liên tục 16
2.3 Thiết kế bộ điều khiển số 17
2.3.1 Xây dựng mô hình gián đo n cho hệ con lắc ng ợc 17
Trang 62.4.1 Bộ l c Kalman r i r c 22
2.4.2 Bộ l c Kalman liên tục 23
2.5 Điều khiển swing-up 24
CH NGă3: THI TăK ăB ăĐI UăKHI NăCỂNăB NGăCONăL CăNG C
3.1 Thiết kế bộ điều khiển LQR 26
3.1.1 Hệ ph ơng trình tr ng thái của con lắc ng ợc 26
3.1.2 Bộ điều khiển LQR 27
3.2 Thiết kế bộ điều khiển LQR kết hợp bộ l c Kalman 33
3.3 Mô phỏng và đánh giá kết quả 38
CH NGă4: XỂYăD NGăB ăĐI UăKHI N CONăL CăNG CăVĨăK TăQU ă TH CăNGHI M
4.1 Mô hình con lắc ng ợc 48
4.1.1 Giới thiệu về bo m ch điều khiển Arduino UNO R3 50
4.1.2 Động cơ truyền động 51
4.1.3 Hệ thống cảm biến và bộ l c sử dụng cho cảm biến 52
4.1.3.1 Cảm biến Encoder 52
4.1.3.2 Ph ơng pháp l c tín hiệu từ cảm biến dùng bộ l c Kalman gián đo n (Discrete Kalman) 54
4.1.4 Thiết kế bộ điều khiển LQR gián đo n 58
4.1.5 Điều khiển swing-up 60
4.1.6 Sơ đ kết nối thiết b 60
4.1.7 Thuật toán điều khiển con lắc ng ợc dùng Arduino UNO R3 61
4.2 Giám sát mô hình con lắc ng ợc bằng phần mềm LabVIEW 64
4.3 Kết quả thực nghiệm 66
4.3.1 Con lắc ho t động không sự tác động bên ngoài 66
4.3.2 Con lắc ho t động có sự tác động bên ngoài 67
PH NăK TăLU Nầầầầầầầầầầầầầầầầầầầầầầầầầầ 69
TĨIăLI U THAMăKH Oầầầầầầầầầầầầầầầầầầầầầầầầ70 PH ăL Cầầầầầầầầầầầầầầầầầầầầầầầầầầầầầầ 71
Trang 71. PID : PROPOTIONAL INTEGRAL DERIVATIVE
2. LQR : LINEAR QUADRATIC REGULATOR
Trang 8STT Tênăhình Trang
Đáp ứng v trí x của hệ thống khi Q(1,1)=3000 và Q(3,3)=3000 34
Trang 928 Hìnhă3.11ă: Đáp ứng góc θ của hệ thống khi Q(1,1)=10 và Q(3,3)=1000 38
Đáp ứng của hệ thống khi sử dụng bộ điều khiển LQR
(với nhiễu � = 0.001, nhiễu xc = 0.01)
41
34
Hìnhă3.17ă:
Đáp ứng của hệ thống khi sử dụng bộ điều khiển LQR + Kalman
(với nhiễu � = 0.001, nhiễu xc = 0.01)
42
35
Hìnhă3.18ă:
Đáp ứng của hệ thống khi sử dụng bộ điều khiển LQR
(với nhiễu � = 0.001, nhiễu xc = 0.1)
42
36
Hìnhă3.19ă:
Đáp ứng của hệ thống khi sử dụng bộ điều khiển LQR + Kalman
(với nhiễu � = 0.001, nhiễu xc = 0.01)
43
37
Hìnhă3.20ă:
Đáp ứng của hệ thống khi sử dụng bộ điều khiển LQR
(với nhiễu � = 0.001, nhiễu xc = 0.1)
43
38
Hìnhă3.21ă:
Đáp ứng của hệ thống khi sử dụng bộ điều khiển LQR + Kalman
(với nhiễu � = 0.001, nhiễu xc = 0.1)
44
39
Hìnhă3.22ă:
Đáp ứng của hệ thống khi sử dụng bộ điều khiển LQR
(với nhiễu � = 0.001, nhiễu xc = 0.1)
44
Trang 1041
Hìnhă3.24ă:
Đáp ứng của hệ thống khi sử dụng bộ điều khiển LQR
(với nhiễu � = 0.01, nhiễu xc = 0.01)
45
42
Hìnhă3.25ă:
Đáp ứng của hệ thống khi sử dụng bộ điều khiển LQR + Kalman
(với nhiễu � = 0.01, nhiễu xc = 0.01)
46
43
Hìnhă3.26ă:
Đáp ứng của hệ thống khi sử dụng bộ điều khiển LQR
(với nhiễu � = 0.01, nhiễu xc = 0.01)
46
44
Hìnhă3.27ă:
Đáp ứng của hệ thống khi sử dụng bộ điều khiển LQR + Kalman
(với nhiễu � = 0.01, nhiễu xc = 0.01)
47
45
Hìnhă3.28ă:
Đáp ứng của hệ thống khi sử dụng bộ điều khiển LQR
(với nhiễu � = 0.1, nhiễu xc = 0.0)
47
46
Hìnhă3.29ă:
Đáp ứng của hệ thống khi sử dụng bộ điều khiển LQR + Kalman
(với nhiễu � = 0.1, nhiễu xc = 0.0)
48
48
Hìnhă3.30ă:
Đáp ứng của hệ thống khi sử dụng bộ điều khiển LQR
(với nhiễu � = 0.1, nhiễu xc = 0.0)
48
48
Hìnhă3.31ă:
Đáp ứng của hệ thống khi sử dụng bộ điều khiển LQR + Kalman
(với nhiễu � = 0.1, nhiễu xc = 0.0)
49
Trang 1156 Hìnhă4.8: Cấu t o Encoder OMRON E6B2-CWZ6C 54
64 H ìnhă4.16: L u đ quá trình thu thập và tính toán các thông số từ encoder 63
70 Hìnhă4.22: Con lắc b tác động bên ngoài với lực tác động nhỏ làm d ch
71 Hìnhă4.23: Con lắc b tác động bên ngoài với lực tác động lớn làm xoay
Trang 12STT Tênăb ng Trang
3 B ngă3.1 Thông số của hệ thống con lắc ng ợc đ ợc thiết kế 28
4 B ngă4.1 Thông số của hệ thống con lắc ng ợc đ ợc thiết kế 49
5 B ng 4.2 Thông số kỹ thuật của Arduino UNO R3 50
Trang 13Kíăhi u ụănghƿa Đ năv
3 l Khoảng cách từ tâm con lắc đến điểm gốc m
5 θ Góc lệch giữa con lắc và ph ơng th ng đứng rad
15 Im Dòng điện ch y trong dây quấn phần ứng A
17 Ф Từ thông t ng trong máy điện một chiều Wb
Trang 14PH NăM ăĐ U
I Đặtăv năđ ă
Ngày nay, với sự phát triển m nh mẽ của khoa h c kỹ thuật trong thiết kế và điều khiển hệ thống, việc tự động hóa quá trình sản xuất đang ngày đ ợc đẩy m nh trong các hệ thống công nghiệp trên toàn thế giới Nhiều sản phẩm công nghệ mới
đ ợc t o ra để đáp ứng nhu cầu ngày càng cao của th tr ng Một xu thế mới của
th i đ i là t o ra các hệ thống điều khiển thông minh có khả năng t duy nh nưo bộ của con ng i, có khả năng giải quyết các bài toán khó, có khả năng xử lý nhiều
lo i tín hiệu mập m , thiếu chính xác Hay nói cách khác là có khả năng h c hỏi, tự chỉnh đ nh l i sao cho phù hợp với sự thay đ i không l ng đ ợc của đối t ợng điều khiển [5] Với yêu cầu đó, hàng lo t các ph ơng pháp điều khiển hiện đ i có
độ tin cậy và chính xác cao nh PID[4], LQR[4], Fuzzy[6], Neural Network[6]…
đư ra đ i nhằm đáp ứng yêu cầu trên
Các ph ơng pháp đ ợc đề xuất trên đều đ ợc kiểm chứng thông qua mô hình con lắc ng ợc và đư thu đ ợc một số thành công đáng kể Có thể kể đến nh :
Việc thiết kế hai bộ điều khiển PID riêng biệt đư cho khả năng điều khiển đ ợc cân bằng con lắc ng ợc, nh ng con lắc vẫn còn dao động dẫn đến v trí của xe không n đ nh
Với giải thuật điều khiển tối u LQR, hệ con lắc ng ợc b dao động rất m nh, v trí xe gần nh không thể điều khiển quanh điểm đặt
Ngoài các giải thuật kinh điển kể trên, một số nghiên cứu đư áp dụng các giải thuật điều khiển thông minh vào việc điều khiển th i gian thực hệ con lắc ng ợc Các thông số đáp ứng của hệ thống với giải thuật này tốt hơn so với các giải thuật điều khiển kinh điển khi con lắc không còn b dao động và v trí xe đ ợc giữ n đ nh, khắc phục đ ợc vấn đề đòi hỏi sự chính xác của các thông số trong mô hình toán gặp phải trong việc xây dựng các bộ điều khiển với giải thuật PID hay LQR
Trang 15Tuy nhiên, các bộ điều khiển trên đơn thuần là các bộ điều khiển tĩnh nên việc tinh chỉnh đáp ứng của hệ thống sẽ gặp nhiều khó khăn
Với những lý do trên, tôi đư ch n đề tài: “ĐI UăKHI NăCỂNăB NGăCONă
II Đ nhăh ngăcủaăđ ătƠi
Đề tài tập trung nghiên cứu các vấn đề chính sau :
o Xây dựng mô hình toán h c con lắc ng ợc
o Điều khiển cân bằng hệ thống bằng bộ điều khiển LQR kết hợp bộ l c Kalman
o Mô phỏng hệ thống bằng phần mềm Matlab - Simulink, đánh giá kết quả
o Mô phỏng và giám sát hệ thống bằng LabView
III Nhi măv ăcủaălu năvĕn
Đề tài tập trung nghiên cứu mô hình toán h c cho hệ con lắc ng ợc , tiến hành khảo sát, thiết kế hệ thống điều khiển và xây dựng các mô hình mô phỏng của giải thuật điều khiển cho hệ con lắc ng ợc Đánh giá các kết quả thu đ ợc trên mô hình mô phỏng về đặc tuyến làm việc, th i gian đáp ứng xác lập, sự n đ nh của hệ thống r i ứng dụng ph ơng pháp vào ch y thực tế trên mô hình con lắc So sánh kết quả mô phỏng và kết quả thực tế, phân tích đ ợc những mặt u điểm và khuyết điểm, từ đó rút ra ph ơng pháp điều khiển hợp lý cho hệ con lắc ng ợc
IV K tăqu ămongămu năđ tăđ c
Xây dựng đ ợc mô hình mô phỏng hệ con lắc ng ợc bằng phần mềm MATLAB để nghiên cứu đặc tính về đặc tính làm việc, th i gian xác lập của giải thuật
Xây dựng đ ợc mô hình giám sát hệ thống bằng LabView
Điều khiển cân bằng cho hệ con lắc ng ợc
So sánh đánh giá u khuyết điển của các giải thuật đư sử dụng trong luận văn
từ đó cải thiện thêm ph ơng pháp điều khiển mô hình con lắc ng ợc
Trang 16CH NGă1:ăGI IăTHI UăBĨIăTOÁNăCONăL CăNG C
1.1 L ýăthuy tăv ăconăl căng c
Hệ thống con lắc ng ợc là một đối t ợng nghiên cứu rất ph biến từ những năm 1950 [6] Nó vốn là một hệ thống không n đ nh th ng đ ợc sử dụng để kiểm tra sự thực thi và hiệu quả của các thuật toán điều khiển
Cấu trúc động h c của mô hình con lắc ng ợc hai bậc tụ do bao g m một con lắc là một thanh đ ng chất có chiều dài l có một đầu tự do có thể chuyển động theo trục ngang x , đầu còn l i của con lắc đ ợc gắn cố đ nh vào trục quay cố đ nh trên xe Xe đ ợc truyền động b i một động cơ điện có h i tiếp, thông qua hệ thống Puly và dây đai để có thể di chuyển d c trục trên đ ng ray ph ng trong ph m vi chuyển động giới h n Việc di chuyển của hệ thống con lắc phụ thuộc vào hệ thống điều khiển thông minh, có nhiệm vụ giúp xe di chuyển và giữ cho hệ thống đ ợc cân bằng
Hìnhă1.1: Mô hình con lắc ng ợc
Có nhiều lý thuyết và ph ơng pháp thiết kế cân bằng hệ thống con lắc ng ợc trong các công bố của các thập niên qua nh : PID, Điều khiển tr ợt, LQR, Fuzzy, Neural Network…Với đề tài này, ph ơng pháp điều khiển đ ợc lựa ch n là ph ơng pháp điều khiển LQR Đây là ph ơng pháp điều khiển t ơng đối đơn giản song l i mang l i tính đáp ứng nhanh và n đ nh cho hệ thống
Trang 171.2.ăMôăhìnhătoánăh căchoăh ăconăl căng c.ă
1.2.1.ăMôăhìnhătoánăh căcủaăconăl căng că[10]
Mô hình con lắc ng ợc sử dụng trong đề tài có d ng nh hình 1.2
Hìnhă1.2: Hình ảnh con lắc ng ợc thực tế
Mô hình toán h c của hệ thống đ ợc xây dựng dựa trên cơ s các đ nh luật vật lý cơ h c của Newton Mô hình toán h c cần thiết, để tính toán thông số bộ điều khiển và mô phỏng hệ thống
Giả sử con lắc ng ợc đ ng chất và có tr ng tâm t i tâm của thanh, giải phóng liên kết, phân tích lực tác động ta đ ợc các lực tác động vào hệ nh hình 1.3
Hìnhă1.3: Các lực tác động vào hệ con lắc
Trong đó, các thông số trong mô hình đ ợc cho trong bảng 1.1
P
g
P g
Trang 18B ngă1.1ă: Thông số và đơn v của mô hình con lắc ng ợc
l Khoảng cách từ tâm con lắc đến điểm gốc m
J Mômen quán tính của con lắc kg/m2
θ Góc lệch giữa con lắc và ph ơng th ng đứng rad
Trang 19Từ hai ph ơng trình (1.3) và (1.6) ta có hệ ph ơng trình mô tả đặc tính động
h c phi tuyến của hệ thống con lắc ng ợc:
.
2
2
c
c c
x ml l
g m ml
J
F Sin ml Cos ml x b x m M
(1.7)
Biến đ i hai ph ơng trình (1.3) và (1.6) ta có:
m M
Sin ml Cos ml x b F
ml J
mgl x
2
2 2
2 2
cos
sin sin
cos
cos
sin cos
sin
ml J m M ml
mgl m M ml
x b F ml
ml ml
J m M
mgl mgl
ml x b F ml J x
1.2.2.ăMôăhìnhătoánăh căcủaăđ ngăc ăDC.ă[9]
Xét động cơ điện một chiều có sơ đ nh sau:
Hìnhă1.4: Sơ đ m ch điện t ơng đ ơng động cơ điện một chiều
Áp dụng đ nh luật Kirchhoffs 2 cho sơ đ hình 1.3 ta đ ợc :
Trang 20 Rm: Điện tr phần ứng
Lm: độ tự cảm của cuộn dây phần ứng
Im: Dòng điện ch y trong dây quấn phần ứng
Km: Hệ số kết cấu máy
a
N p
Ф : Từ thông t ng trong máy điện một chiều
Đặt Km.Ф = K ta có moment của động cơ:
m m m
Giả sử ảnh h ng của thành phần cảm kháng trong cuộn dây là không đáng
kể, khi động cơ một chiều có công suất bé Ta có, ph ơng trình (1.11) đ ợc viết l i
m
m m
m
R
KVKT
KKVm
FrR
r
xKKV
2 2
xKVrR
KF
m c m
Trang 21r R K
r R K
2
2
c
c c
c
x ml mgl
ml J
x V Sin
ml Cos ml x b x m M
.
x ml l
g m ml
J
V Sin
ml Cos ml x b x m M
1 Cos θ
0 sin θ
x ml mgl
ml J
V ml
x b x m M
1.3ăMôăph ngăconăl căng cătrênăMatlab
Từ các ph ơng trình (1.10) ta xây dựng đ ợc mô hình con lắc ng ợc trong Matlab Simulink nh sau :
Trang 22Hìnhă1.5 : Mô hình mô phỏng của con lắc ng ợc
Trong đó khối mô hình mô phỏng con lắc ng ợc đ ợc xây dựng thỏa công thức (1.10) và đ ợc xây dựng trong Matlab nh hình 1.6
Hìnhă1.6ă: Cấu trúc bên trong của khối Mô hình mô phỏng con lắc ng ợc
Các khối tính F, tính góc lệch, tính v trí xe là các ph ơng trình toán đư đ ợc xây dựng trong các phần trên Cụ thể nh sau:
Khối tính góc lệch θ :
Trang 23Hình 1.7 : Sơ đ mô tả góc lệch của con lắc ng ợc
T ơng tự nh vậy, sơ đ thể hiện v trí xe goong đ ợc xây dựng từ công thức (1.9) và đ ợc thể hiện trong Matlab nh hình 1.8
Hìnhă1.8ă: Sơ đ mô tả v trí xe
Sau khi xây dựng hệ con lắc ng ợc, ta tiến hành mô phỏng trên Matlab Simulik, với các giá tr của hệ nh bảng 1.2 :
B ngă1.2: Giá tr các thông số của hệ con lắc ng ợc
l Khoảng cách từ tâm con lắc đến điểm gốc 0,33/2 m
J Mômen quán tính của con lắc 0,002 kg/m2
Trang 24Khi không có bộ điều khiển, với các thông số ban đầu:
u 2 , 0
0
Với hệ con lắc đ ợc thả tự do, ta thấy đáp ứng của hệ qua Matlab Simulink
đ ợc thể hiện nh hình 1.9
Hìnhă1.9 : Đáp ứng góc θ của hệ con lắc ng ợc khi không có bộ điều khiển
Nh vây, với tín hiệu điều khiển u=0, quan sát góc θ, ta thấy:
Con lắc rơi xuống v trí phía d ới, dao động tự do tắc dần
Kết quả mô phỏng cho thấy đặc tính mô hình đúng với thực tế quy luật vật lý của hệ thống thật
Hệ thống không n đ nh nếu không có bộ điều khiển
Trang 25CH NGă2:ăPH NGăPHÁPăĐI UăKHI N
2.1.ăPh ngăphápăđi uăkhi năPID
Bộ điều khiển PID ( Propotional Integral Derivative) là một bộ điều khiển
h i tiếp vòng kín đ ợc sử dụng rộng rưi trong các hệ thống điều khiển công nghiệp,
có u điểm là độ chính xác cao, đáp ứng nhanh và n đ nh
Bộ điều khiển PID là sự kết hợp của 3 khâu điều khiển riêng biệt :
o Điều chỉnh tỉ lệ (P _ Propotional): t o ra tín hiệu điều chỉnh tỷ lệ với sai lệch đầu vào Khâu này nhằm giúp tăng sự n đ nh cho quá trình điều khiển
o Điều chỉnh tích phân (I _ Integral): xác đ nh tác động của t ng các sai
số và t o ra tín hiệu điều chỉnh sao cho độ lệch giảm tới 0.Từ đó cho phép lo i bỏ nhiễu trong quá trình điều khiển
o Điều chỉnh vi phân (D _ Derivative): xác đ nh tác động của tốc độ biến đ i sai số, t o ra tín hiệu điều chỉnh sao cho tỉ lệ với tốc độ thay
đ i sai lệch đầu vào Từ đó thay đ i tốc độ đáp ứng của hệ thống điều khiển
Nếu g i Kp, KI, KDlần l ợt là độ lợi tỉ lệ, độ lợi tích phân, độ lợi vi phân Ta
có cấu trúc của một bộ điều khiển PID sẽ nh hình 2.1
Hìnhă2.1 Cấu trúc bộ điều khiển PID
Trang 26Bộ điều khiển PID chỉ có thể điều khiển đ ng th i một thông số của hệ thống, để điều khiển đ ợc góc con lắc và v trí của xe t i cùng một th i điểm thì chúng ta cần hai bộ điều khiển PID Trong đó một thông số đ ợc xem nh là thông
số chính và đ ợc dung để điều khiển trực tiếp momen của động cơ trong khi đó thông số còn l i đ ợc sử dụng nh điểm tham chiếu của thông số chính Từ đó, ta
có một là góc của con lắc, hai là v trí xe của con lắc đ ợc dùng làm thông số chính của con lắc Hai tín hiệu đầu vào đ ợc đ a vào bộ điều khiển PID và đầu ra là tín hiệu lực tác động vào xe
u điểm của bộ điều khiển PID là dễ dàng thiết kế không phụ thuộc nhiều vào mô hình toán của đối t ợng Bộ điều khiển sẽ thực hiện giảm tối đa sai số bằng cách điều chỉnh giá tr điều khiển đầu vào Trong tr ng hợp không có kiến thức cơ bản về quá trình thì bộ điều khiển PID là tốt nhất
H n chế các bộ điều khiển PID có thể dùng nhiều cho bài toán điều khiển và
th ng đ t đ ợc kết quả nh ý mà không dùng bất kỳ cải tiến hay điều chỉnh nào và
th ng không cho ta điều khiển tối u Khó khăn cơ bản của bộ điều khiển PID là phản h i với hệ số không đ i
2.2ăPh ngăphápăđi uăkhi năLQR
2.2.1ăĐi uăkhi năt iă u
Điều khiển tối u là ph ơng pháp điều khiển hệ thống sao cho đ t đ ợc một chỉ tiêu chất l ợng cho tr ớc là tốt nhất Đây là một ph ơng pháp điều khiển hiện dang đ ợc sử dụng rộng rưi trong nhiều lĩnh vực : không gian, điều khiển quá trình, Robot, kỹ thuật sinh h c… Ph ơng pháp này có thể phân lo i nh sau:
Điều khiển tối u tĩnh: Đây là ph ơng thức điều khiển mà chỉ tiêu
chất l ợng không phụ thuộc vào th i gian
Điều khiển tối u động : Đây là ph ơng thức điều khiển mà chỉ tiêu chất l ợng phụ thuộc vào th i gian, đ ợc đặc tr ng b i các bài toán :
o Điều khiển toàn ph ơng tuyển tính LQR
o Điều khiển tối u chỉ tiêu H2
o …
Trang 272.2.2 B ăđi uăkhi năLQR
Ph ơng pháp điều khiển LQR là một ph ơng pháp điều khiển m nh để điều khiển hệ thống tuyến tính đ ợc mô tả bằng ph ơng trình tr ng thái Kỹ thuật LQR
t o ra bộ điều khiển vòng kín n đ nh với năng l ợng cung cấp cho hệ thống là nhỏ nhất
Xét đối t ợng tuyến tính hóa đ ợc mô tả b i ph ơng trình tr ng thái:
t Ax t Bu t
x
Thông th ng nếu hệ n đ nh thì khi không b kích thích hệ luôn có xu
h ớng tiến về điểm tr ng thái cân bằng, tức là điểm mà khi không có tác động từ bên ngoài ( u = 0) hệ sẽ nằm luôn t i đó ( 0
luôn chỉ có một điểm cân bằng
Ph ơng pháp điều khiển LQR đ ợc dùng cho mô hình của hệ đư tuyến tính hóa t i v trí cân bằng Bộ điều khiển phản h i tr ng thái đ ợc xác đ nh thông qua việc giải ph ơng trình Ricatti để có đ ợc ma trận phản h i tr ng thái K, nhằm kéo
hệ từ điểm b nhiễu tác động x0 về l i v trí cân bằng sao cho quá trình này tiêu tốn năng l ợng là thấp nhất
2.2.2.1 Đi uăkhi năLQRăliênăt că[1]
Xét đối t ợng tuyến tính hóa đ ợc mô tả b i ph ơng trình tr ng thái:
x 1 , 2 , , : Vecto tr ng thái
m t u t u t u t
u 1 , 2 , , : Vecto tin hiệu điều khiển
Trang 28Hìnhă2.2: Ph ơng pháp điều khiển LQR
Ph ơng pháp điều khiển LQR là một trong các ph ơng pháp điều khiển tối
u thông dụng, ph ơng pháp nhằm đi tìm tín hiệu điều khiển u(t) để điều chỉnh hệ thống từ tr ng thái ban đầu x(0) = x0 bất kỳ về tr ng thái cuối x(tf) = 0 sao cho tối thiểu hàm chỉ tiêu chất l ợng d ng toàn ph ơng :
u x t Mxt x t Qxt u t Rut dtJ
f t
t
T T
f f T
2
1
Trang 29Giải ph ơng trình vi phân (2.9) ta tìm đ ợc x(t) và λ(t) Thay λ(t) vào (2.7)
ta tìm tín hiệu điều khiển tối u :
P A PA
P T 1 T
t M
P f
2.2.2.2 Thi tăk ăb ăđi uăkhi năLQRăliênăt c [9]
Dựa vào lý thuyết về kỹ thuật điều khiển LQR đ ợc trình bày phần trên, ta tiến hành thiết kế bộ điều khiển LQR điều khiển cân bằng cho hệ con lắc ng ợc Để đơn giản hóa cũng nh tăng độ chính xác cho việc thiết kế ta sử dụng phần mềm Matlab h trợ tính toán
Các b ớc thiết kế có thể đ ợc trình bày nh sau:
a Kiểm nghiệm khả năng thiết kế
b Ch n ma trận Q và ma trận R để tối u hóa hàm chỉ tiêu chất l ợng
u x t Mx t x t Qx t u t Ru t dt J
f t
t
T T
f f T
Ru t
Ch n R = 1, để J → Jminthì xT t Qx t phải tiến đến giá tr nhỏ nhất
Trang 30Do ma trận Q đối xứng và không xác đ nh âm, nên ta có thể tìm đ ợc một ma trận C, sao cho: Q CTC để xT t Qx t → 0
c Tính ma trận h i tiếp tr ng thái K
d Mô phỏng và kiêm tra kết quả, đ ng th i thay đ i thông số ma trận Q
và R để hệ thống đ t đ ợc tr ng thái điều khiển tối u nhất
o Muốn giảm năng l ợng ta tăng R
2.3ăThi tăk ăb ăđi uăkhi năs
Chúng ta đư thiết kế đ ợc bộ điều khiển theo ph ơng pháp t a độ cực và LQR cho đáp ứng điều khiển tốt Tuy nhiên để có thể lập trình trên vi điều khiển Arduino Uno thì chúng ta cần thiết kế bộ điều khiển số mô hình gián đo n
2.3.1ăXơyăd ngămôăhìnhăgiánăđo năchoăh ăconăl căng că[6]
Mô hình gián đo n của hệ con lắc ng ợc đ ợc trình bày nh hình 2.3, trong
đó khâu trích mẫu và khâu giữ chậm thành phần bậc 0 là khâu ZOH
Hìnhă2.3: Mô hình gián đo n hệ thống con lắc ng ợc với khâu ZOH
Ma trận A, B, C là các ma trận tr ng thái đ nh nghĩa hệ thống Các ma trận này đ ợc xây dựng dựa trên các thông số kết cấu của hệ thống T là chu kỳ lấy mẫu
Trong đó các b ớc gián đo n hóa đ ợc tính toán nh sau:
Tính toán ma trận quá độ :
Trang 31Ma trận quá độ trong miền Lapales:
)(1
kTuDkTxCkTy
kTuBkTxATkx
d d
d d
C C
Bd B
A
d d
T d
T d
0
Hìnhă2.4: Mô hình gián đo n hóa t ơng đ ơng của hệ con lắc ng ợc
Hàm truyền của khâu ZOH đ ợc xây dựng từ hệ ph ơng trình tuyến tính của
c
xmlmgl
mlI
Vml
xb
xmM
2
)(
2
2 2
.
) (
s mlX mgl
s ml I
U s
ml s X b s X m M
s s
s
s s
s s
Từ hệ ph ơng trình trên ta có:
Trang 32s s
X mgl s
ml I mls mls
mgl s
ml I X
2 2 2 2
2 2
ml I s b s m M
).
)
mls
mgls
mlIsbsmM
s q
mgl m M s q
ml I b s
s q ml
Us
s
) ( )
( )
s q
mgl m M s q
ml I b s
q
mgl s
q
ml I
( )
(
.
2 3
2 4
2 2
Và ma trận quá độ s sI A 1
2.3.2ăThi tăk ăb ăđi uăkhi năLQRăgiánăđo nă[1]
Mô hình gián đo n t ơng đ ơng của hệ thống:
Trang 33Hìnhă2.5: Mô hình gián đo n t ơng đ ơng của hệ thống
Xét đối t ợng tuyến tính r i r c đ ợc mô tả b i ph ơng trình tr ng thái:
x 1 , 2 , , : Vecto tr ng thái
m k u k u k u k
u 1 , 2 , , : Vecto tin hiệu điều khiển
Ta đi tìm tín hiệu điều khiển u(k) để điều chỉnh hệ thống từ tr ng thái ban đầu x(0) = x0 bất kỳ về tr ng thái cuối x(N) = 0 sao cho tối thiểu hàm chỉ tiêu chất
k
T T
T
k Ru k u k Qx k x N
Mx N x u
T
d P k B R B P k A B
k
P t là nghiệm bán xác đ nh d ơng của ph ơng trình vi phân Ricatti
Trang 342.4ăB ăl căKalmană[5]
Nh đư phân tích mục trên, ta thấy để có thể điều khiển đ ợc hệ thống cân bằng thì việc đầu tiên quan tr ng phải làm là xác đ nh đ ợc chính xác góc nghiêng của con lắc Trong đề tài, ta sử dụng Encoder để đo góc Tuy nhiên khi sử dụng Encoder, nh ợc điểm là mỗi lần có những rung động nào đó mà ta không quản lý
đ ợc, encoder sẽ b sai một xung Đối với ứng dụng điều khiển con lắc ng ợc cân bằng khi động cơ ho t động sẽ b rung rất nhiều nên giá tr góc nghiêng ớc l ợng
g m nhiều những giá tr không mong muốn Để khắc phục vấn đề đó, ta sử dụng bộ
l c Kalman
Lý thuyết l c Kalman đ ợc đề xuất từ năm 1960 b i R.E.Kalman mô tả một giải thuật truy h i để giải quyết bài toán l c thông tin r i r c tuyến tính (discrete data linear filtering) Một cách khái quát, bộ l c Kalman là tập hợp các ph ơng trình truy h i cho phép ta ớc l ợng tr ng thái của môt quá trình theo tiêu chuẩn bình ph ơng nhỏ nhất Bộ l c Kalman rất hiệu quả trong việc ớc l ợng các tr ng thái trong quá khứ, hiện t i và t ơng lai ngay cả khi mô hình của hệ thống không
đ ợc biết chính xác Sơ đ của bộ l c Kalman có thể đ ợc trình bày nh hình 2.6
Hìnhă2.6 : Sơ đ khối bộ l c Kalman
Trang 35Đối với bộ l c Kalman, thuật ngữ “l c” không đ ợc hiểu giống nh các bộ
l c thông th ng Bộ l c Kalman là một giải thuật tính toán dựa vào tất cả các thông tin nhận đ ợc đầu vào để đ a ra thông tin đầu ra đáng tin cậy nhất Bộ l c Kalman có khả năng lo i bỏ các nhiễu trắng mà nó nhận đ ợc đầu vào dựa vào các thống kê tr ớc đó và hiệu chỉnh l i bằng các giá tr đo hiện t i Nh có cơ chế cập nhật sai lệch bias t i mỗi th i điểm tính toán nên giá tr góc nghiêng ớc l ợng
kwkuBkxAk
v(k) là giá tr nhiễu đo l ng t i th i điểm k
Giả sử nhiễu hệ thống và nhiễu đo l ng là nhiễu Gauss, không t ơng quan, có trung bình bằng 0 và ph ơng sai là:
R vv E
Q ww E
kyk
yLkuBkxAk
x
d
d d
ˆˆ
1ˆ1ˆ
T d
d P k C C P k C R A
N T d d
N T d
dP k A Q AP kC R C P k AA
k
Sơ đ khối của bộ l c Kalman r i r c đ ợc mô tả nh hình 2.9
Trang 36Hìnhă2.7: Sơ đ khối bộ l c Kalman r i r c[5]
2.4.2ăB ăl căKalmanăliênăt c.[5]
y
twtBut
Axt
Trong đó :
w(t)là nhiễu hệ thống (th ng là nhiễu Gaussian)
v(t) là giá tr nhiễu đo l ng
Giả sử nhiễu hệ thống và nhiễu đo l ng là nhiễu Gauss, không t ơng quan, có trung bình bằng 0 và ph ơng sai là:
R vv E
Q ww E
tytyLtButxAtx
ˆˆ
ˆˆ
T T
QCPRPCPA
Sơ đ khối của bộ l c Kalman liên tục đ ợc mô tả nh hình 2.8
Trang 37Hìnhă2.8: Sơ đ khối bộ l c Kalman liên tục[5]
2.5ăĐi uăkhi năSwingăậ Up.[6]
Tr ng tâm của việc điều khiển con lắc ng ợc là giử con lắc n đ nh v trí
cân bằng Tuy nhiên ban đầu con lắc v trí bên d ới, ta cần một bộ điều khiển xoay con lắc lên v trí th ng đứng Quá trình trên đ ợc g i là quá trình swing-up Khi con lắc lên gần tới v trí th ng đứng, ch ơng trình điều khiển LQR đ ợc kích
ho t giử cân bằng cho con lắc v trí th ng đứng
Có nhiều ph ơng pháp điều khiển quá trình swing-up đ ợc đ a ra: Điều khiển theo kinh nghiệm( Heuristic control), Điều khiển dựa trên năng l ơng( Energy control), Điều khiển năng l ợng tối thiểu Với yêu cầu th i gian điều khiển ngắn nhất cũng nh sự chắc chắc trong quá trình swing-up nên chúng ta chon
ph ơng pháp điều khiển dựa trên năng l ơng ( Energy control)[6]
Ph ơng pháp điều khiển dựa trên năng l ợng đ ợc đ a ra từ rất sớm, năm
1996, bới hai nhà khoa h c K J Åström và K Furuta
Ph ơng trình năng l ợng của con lắc:
Π θ
0 θ
năng l ợng En 0 (2.41)
Trang 38Vậy năng l ợng cần cho quá trình Swing – Up là:
m.g.l 2
J2
1dt
θ
xml0
xvà Cos trái dấu
Nh vậy luật điều khiển thỏa ph ơng trình:
0θCosθ khi θ
Cosθsign
Trang 39CH NGă3:ăTHI TăK ăB ăĐI UăKHI NăCỂNăB NGăCONă
Cấu trúc động h c của mô hình con lắc ng ợc đ ợc sử dụng bao g m một con lắc là một thanh đ ng chất có chiều dài l có một đầu tự do có thể chuyển động theo trục ngang x , đầu còn l i của con lắc đ ợc gắn cố đ nh vào trục quay cố đ nh trên xe Xe đ ợc truyền động b i một động cơ điện có h i tiếp, thông qua hệ thống Puly và dây đai để có thể di chuyển d c trục trên đ ng ray ph ng trong ph m vi chuyển động giới h n Cảm biến góc nghiêng gắn đ ng trục Puly của cơ cấu chuyển động nhằm xác đ nh góc quay của con lắc Từ đó, tín hiệu sẽ đ ợc đ a về hệ thống điều khiển thông minh nhằm đảm bảo con lắc di chuyển và đ ợc giữ cân bằng
B ngă3.1 Thông số của hệ thống con lắc ng ợc đ ợc thiết kế
3.1.ăThi tăk ăb ăđi uăkhi năLQR
3 1.1ăH ăph ngătrìnhătr ngătháiăcủaăconăl căng c
Mô hình tr ng thái của hệ con lắc ng ợc có d ng :
) ( ) ( ) ( t Ax t Bu t
lmJ
lgmx
lmJ
lm
VmM
xmM
bm
M
lmx
c
c c
(3.2)
Trang 40blmq
mMlgm
Vq
lmJxq
lmJb
q
lmg
xxxx
Vu
4 3 2
l m
x x x x
q
l m J b q
l g m
q
l m b
q
l g m m M
0
0
0
0
.
1 0
0 0
0
0
0
2 4
3 2 1
2 2
JmM
3.1.2ăB ăđi uăkhi năLQR
Dựa vào lý thuyết về kỹ thuật điều khiển LQR đ ợc trình bày phần trên, ta tiến hành thiết kế bộ điều khiển LQR điều khiển cân bằng cho hệ con lắc ng ợc Sử dụng phần mềm Matlab để tính toán và mô phỏng đáp ứng của hệ thống Mô hình điều khiển con lắc ng ợc bằng thuật toán LQR đ ợc xây dựng nh hình 3.1