Professional Documents
Culture Documents
Chúng em chân thành cảm ơn, quý thầy cô trường Đại Học Sư Phạm kỹ Thuật
TP.HCM nói chung và quý thầy cô bộ môn Điều khiển tự động nói riêng, đã
trang bị kiến thức và giúp đỡ chúng em, giải quyết những khó khăn trong quá
trình làm báo cáo môn học.
Đặc biệt chúng em xin chân thành cảm ơn thầy Trần Đức Thiện, giảng viên
trường Đại học Sư phạm Kỹ Thuật Thành Phố Hồ Chí Minh đã hướng dẫn, cung
cấp tài liệu để nhóm có thể hoàn thành bài báo cáo này.
Sau cùng nhóm xin cảm ơn các bạn bè đã giúp đỡ để báo cáo môn học được
hoàn thành tốt đẹp. Tuy nhiên do chưa tự nghiên cứu kĩ lưỡng cũng như chuyên
môn còn hạn chế, nên không tránh khỏi những sai sót.
Chúng em rất mong nhận được sự thông cảm, góp ý và hướng dẫn của quý
thầy cô cùng các bạn.
Xin chúc quý thầy cô nhiều sức khoẻ và thành công trong quá trình công tác
và học tập.
MỤC LỤC.............................................................................................................ii
PHẦN MỞ ĐẦU....................................................................................................1
2. Mục tiêu........................................................................................................2
3. Giới hạn.........................................................................................................2
2.2 Các bước xây dựng mô hình thu thập dữ liệu từ hệ thống:.......................11
3.3. Mô hình bộ điều khiển LQR cho hệ xe con lắc ngược trong trường hợp
có nhiễu đo lường..............................................................................................26
4.2 Thiết kế khảo sát bộ lọc Kalman cho hệ xe con lắc ngược.......................30
5.2 Thiết kế mô phỏng bộ điều khiển LQG cho hệ xe con lắc ngược............34
Hình 2.3: Đặt các thông số đầu vào tác động đến hệ thống................................13
Hình 2.4: Tín hiệu ngõ vào lực tác động và hệ thống..........................................14
Hình 2.7: Thu thập dữ liệu từ phương trình vi phân và từ ngõ ra của hệ thống. 15
Hình 3.3: Mô hình mô phỏng điều khiển LQR cho hệ con lắc ngược.................21
Hình 3.4: Đáp ứng quá độ và năng lượng tiêu tốn của hệ trong trường hợp 1. .23
Hình 3.5: Đáp ứng quá độ và năng lượng tiêu tốn của hệ trong trường hợp 2. .24
Hình 3.6: Đáp ứng quá độ và năng lượng tiêu tốn của hệ trong trường hợp 3. .25
Hình 3.7: Mô hình mô phỏng điều khiển LQR cho hệ xe con lắc khi có nhiễu. . .26
Hình 3.10: Đáp ứng quá độ và năng lượng tiêu tốn của hệ thống khi có nhiễu đo
lường.....................................................................................................................28
Hình 4.3: So sánh tín hiệu trước và sau khi qua bộ lọc Kalman cho góc lệch....34
Hình 4.4: So sánh tín hiệu trước và sau khi qua bộ lọc Kalman cho vị trí xe.....34
Hình 5.1: Mô hình mô phỏng điều khiển LQG cho hệ con lắc ngược.................35
Hình 5.2: Đáp ứng quá độ và năng lượng tiêu tổn khi dùng bộ điều khiẻn LQG
..............................................................................................................................36
Hình 6.2: Tín hiệu đầu vào thay đổi vị trí con xe................................................41
Hình 6.3: Tín hiệu đầu vào tác động đến vị trí xe...............................................42
PHẦN MỞ ĐẦU
1 Đặt vấn đề
Với thời đại 4.0 thì mọi thứ đều được vận hành một các tự động thì để có thể
vận hành được hệ thống đó thì ta phải có các thông số của mô hình cần điều
khiển, các bộ điều khiển để có thể điều khiển hệ thống hoạt động một cách ổn
định và bám theo tín hiệu đặt mà ta đã đặt ra ban đầu. Nhờ vào nội dung của môn
học “Nhận Dạng Và Điều Khiển Hệ Thống” giúp cho tụi em có cái nhìn tổng
quan về các hệ thống để có thể tự thiết kế các bộ điều khiển thích hợp cho các hệ
thống từ đơn giản đến phức tạp, đáp ứng các yêu cầu về như cầu của thực tế trong
hiện tại và tương lai gần trong lĩnh vực điều khiển.
Trong lĩnh vực kỹ thuật điều khiển, “hệ xe con lắc ngược” là một trong
những lĩnh vực được nghiên cứu phổ biến nhất và đồng thời nó còn là hình mẫu
cho việc kiểm soát ổn định hệ thống. Ngày nay, mặc dù đã có nhiều công trình
nghiên cứu về hệ thống này nhưng các nhà khoa học vẫn không ngừng thí
nghiệm trên hệ con lắc ngược như một bước đệm để điều khiển ổn định cân bằng
các hệ thống phức tạp hơn như robot thăng bằng, tàu vũ trụ, máy bay không
người lái,…
Và trong điều khiển thông minh có khá nhiều bộ điều khiển để ổn định hệ
thống như bộ điều khiển kinh điển PID, LQR, LQG, Sliding Mode, Fuzzy,…
Trong đó bộ điều khiển LQG có khả năng thích ứng với các hệ phi tuyến khá tốt,
cũng như tính trực quan của nó. Với hệ xe con lắc ngược có bản chất là phi
tuyến, cùng với đó có khá nhiều chuyên gia trong lĩnh vực điều khiển thông minh
đã thành công trong việc xây dựng bộ điều khiển LQG và Sliding Mode Control
cho hệ xe con lắc ngược. Và đó là lí do nhóm em chọn đề tài “ Thiết kế mô
phỏng bộ điều khiển LQG và Sliding Mode Control cho hệ xe con lắc ngược”
2. Mục tiêu
Hệ xe con lắc ngược sẽ dễ bị mất ổn định ngay cả khi nhiễu tác động là nhỏ
nhất. Vì thế mục tiêu của đề tài là thiết kế bộ điều khiển LQG và bộ điều khiển
trượt điều khiển cho xe đứng yên tại vị trí đặt và khi đó con lắc sẽ bị lệch đi
nhưng sau cùng nó vẫn giữ được thăng bằng tức là lệch so với phương thẳng
đứng.
3. Giới hạn
Đề tài chỉ dừng lại ở việc mô phỏng, chưa thực hiện thực tế nên chưa điều
chỉnh được thông số để phù hợp với yêu cầu. Ngoài ra hệ thống chỉ đáp ứng tốt
khi con lắc không lệch quá so với phương thẳng đứng. Nếu lệch
quá hệ thống sẽ mất cân bằng.
Sử dụng Matlab/Simulink hoặc các phần mềm khác có thể mô phỏng được
để chạy mô phỏng hệ thống.
Nhóm sử dụng phương pháp thiết kế bộ điều khiển LQG và điều khiển trượt
để mô phỏng. Cùng đó với kinh nghiệm đã được học ở học phần lý thuyết “Nhận
dạng và điều khiển hệ thống” để thiết kế có chọn lọc.
Chương này trình bày lý thuyết về mô hình toán hệ xe con lắc ngược.
Chương 2: Nhận dạng thông số mô hình sử dụng phương pháp bình phương
cực tiểu
Chương này sẽ nhận dạng các thông số của hệ thống để so sánh giữa thông
số mô hình với thông số được nhận dạng dùng phương pháp bình phương cực
tiểu
Chương này trình bày về thiết kế mô hình bộ điều khiển LQR trên Simulink
và sau đó tiến hành mô phỏng hệ thống.
Chương 4: Thiết kế khảo sát bộ lọc Kalman cho hệ xe con lắc ngược
Chương này trình bày về thiết kế bộ lọc Kalman sau đó tiến hành mô phỏng
khảo sát bộ lọc trên Matlab Simulink.
Chương 5: Thiết kế mô phòng bộ điều khiển LQG cho hệ xe con lắc ngược
Chương này trình bày về kết quả khảo sát bộ điều khiển LQG sau khi áp
dụng bộ lọc Kalman vào bộ điều khiển LQR trên Matlab Simulink.
Chương 6: Thiết kế bộ điều khiển Sliding Mode Control cho hệ xe con lắc
ngược
Chương này trình bày về thiết kế mô hình bộ điều khiển Sliding Mode
Control trên Simulink và sau đó tiến hành mô phỏng hệ thống.
Hệ xe con lắc ngược được mô tả như trong (Hình 1.1) Con lắc ngược được
gắn vào xe kéo bởi động cơ điện, nghĩa là con lắc chỉ di chuyển trong mặt phẳng,
đồng thời nó không thể ổn định vì nó luôn ngã xuống trừ khi có lực tác động
thích hợp. Giả sử khối lượng của con lắc tập trung ở đầu thanh như hình vẽ (khối
lượng thanh không đáng kể). Lực điều khiển u tác động vào xe. Do đó yêu cầu
của bài toán là điều khiển vị trí xe và giữ cho con lắc ngược luôn thẳng đứng tức
hệ xe con lắc ngược luôn cân bằng.
x: vị trí xe (m)
Từ mô hình trên, ta phân tích các lực như hình vẽ. Từ đó, ta được các giá trị
như sau:111Equation Chapter 1 Section 1
616\*
MERGEFORMAT (.)
Công thức (1.6) được biểu diễn theo từng biến trạng thái tác động đến hệ
thống và ở bên trái là ngoại lực tác động xét theo từng hướng chuyển động.
Ta có:
Tiếp theo cũng từ phương trình (1.6) và (1.7) ta tìm được như sau:
11111\*
MERGEFORMAT (.)
Đưa mô hình toán học của con lắc ngược về dạng chuẩn:
12112\*
MERGEFORMAT (.)
; ; ;
Ta có:
Tuyến tính hóa mô hình xung quanh điểm làm việc thẳng đứng
13113\*
MERGEFORMAT (.)
Đặt ; ; và .
Ta có:
14114\*
MERGEFORMAT (.)
; và
Giả thuyết:
+ Đặc tính động của hệ xe con lắc ngược có thể được mô tả bởi hệ phương
trình biến trạng thái tuyến tính. Điều này chỉ đúng khi góc lệch θ̇ nhỏ.
+ Hệ thống phản hồi trạng thái đầy đủ, nghĩa là có thể đo được 4 biến trạng
thái (góc lệch, vận tốc góc, vị trí xe, vận tốc xe).
Trong đó: = 1(kg) là khối lượng của xe, = 0.1(kg) là khối lượng của
con lắc, = 1 (m), = 9.81( ), là lực điều khiển tác động đến xe con lắc
(N), là góc tạo bởi con lắc và phương thẳng đứng và là vị trí của con lắc so
với gốc tọa độ ban đầu.
18218\*
MERGEFORMAT (.)
Từ công thức (2.2) có thể biểu diễn lại dưới dạng hồi quy tuyến tính theo
dạng bộ dự báo hồi quy tuyến tính như sau:
19219\*
MERGEFORMAT (.)
Trong đó: là vector tham số ước lượng, là vector hồi quy ước lượng,
, ,
và .
20220\* MERGEFORMAT
(.)
Sai số dự báo :
21221\* MERGEFORMAT
(.)
22222\
* MERGEFORMAT (.)
23223\* MERGEFORMAT
(.)
24224\*
MERGEFORMAT (.)
2.2 Các bước xây dựng mô hình thu thập dữ liệu từ hệ thống:
Xây dựng hệ thống và thu thập các thông số hệ thống dùng phương pháp
bình phương cực tiểu để tìm ra thông số của hệ thống:
Bước 1: Xây dựng mô hình toán học cho hệ xe con lắc ngược:
Hình 2.3: Đặt các thông số đầu vào tác động đến hệ thống
Sau đây là dạng sóng tín hiệu ngõ vào tác động đến hệ thống, ngõ ra của
khối Random number:
Hình 2.4: Tín hiệu ngõ vào lực tác động và hệ thống
Hình 2.7: Thu thập dữ liệu từ phương trình vi phân và từ ngõ ra của hệ thống
Trong đó: , , và .
clc
%% khai bao thong so mo hinh
M = 1; m = 0.1; l = 1; g = 9.81;
heso1=inv(phi1*phi1')*phi1*x_x2
%% khai bao thong so tinh cho theta 2dot
x2 = x_2d.signals.values;
the = theta.signals.values;
the2 = theta_2d.signals.values;
% trong do a = x_2d*cos(theta), b = sin(theta)
a1 = a.signals.values;
b1 = b.signals.values;
phi2=[a1(1:5001)';b1(1:5001)'];
heso2=inv(phi2*phi2')*phi2*the2
Kết quả sau khi thu thập được:
0.0909 0.0909
-0.0909 -0.0909
0.9090 0.9091
-1 -1
9.81 9.81
Đối tượng tuyến tính mô tả bởi phương trình trạng thái: 2513Equation Chapter (Next)
Section 1
26326\* MERGEFORMAT
(.)
Trong đó:
Bài toán đặt ra là tìm tín hiệu điều khiển u(t) để điều chỉnh hệ thống từ trạng
thái bắt đầu bất kỳ về trạng thái cuối sao cho tối thiểu chỉ tiêu
chất lượng dạng toàn phương.
27327\*
MERGEFORMAT (.)
Bài toán trên được gọi là bài toán điều chỉnh toàn phương tuyến tính.
Hàm Hamilton:
28328\*
MERGEFORMAT (.)
Ta có:
29329\*
MERGEFORMAT (.)
Kết hợp phương trình số (3.4) với phương trình đồng trạng thái ta có:
30330\*
MERGEFORMAT (.)
32332\*
MERGEFORMAT (.)
+ Nghiệm phương trình đại số Riccati liên tục (Continuous Algebric Riccati
Equation- care): P = care(A, B, Q, R).
+ Lời giải bài toán LQR (Linear Quadratic Regulator – LQR) liên tục:
K = lqr(A, B, Q, R).
Note: Trong trường hợp này K và P là sẽ không còn phụ thuộc vào thời gian
3.2 Thiết kế mô phỏng bộ điều khiển LQR cho hệ xe con lắc ngược
Hình 3.3: Mô hình mô phỏng điều khiển LQR cho hệ xe con lắc ngược
clc;
%% khai bao thong so mo hinh
M=1; m=0.1; l=1; g=9.8;
q11=1; q33=1; r1=1;
thetadot_init=0; %gia tri dat theta_dot
theta_init=0.1; %gia tri dat theta
xdot_init=0; %gia tri dat x_dot
x_init=0; %gia tri dat x
A=[0 1 0 0;
10.78 0 0 0;
0 0 0 1;
-0.98 0 0 0];
B=[0;-1;0;1];
C=[1 0 0 0;
0 0 1 0];
Q=[q11 0 0 0;
0 1 0 0;
0 0 q33 0;
0 0 0 1];
R=r1;
P=care(A,B,Q,R);
K=lqr(A,B,Q,R);
Ta lần lượt khảo sát các giá trị khác nhau của ma trận Q và R:
Hình 3.4: Đáp ứng quá độ và năng lượng tiêu tốn của hệ thống trong trường hợp 1
Hình 3.5: Đáp ứng quá độ và năng lượng tiêu tốn của hệ thống trong trường hợp 2
Hình 3.6: Đáp ứng quá độ và năng lượng tiêu tốn của hệ thống trong trường hợp 3
Nhận xét:
- Tùy theo độ lớn tương đối giữa trọng số và R mà hệ thống có đáp ứng quá
độ và năng lượng tiêu tốn khác nhau. Muốn trạng thái đáp ứng nhanh, ta tăng 2
thành phần tương ứng (tăng q11 thì đáp ứng góc lệch giữ cân bằng tốt, tuy nhiên
vị trí xe dao động khá lớn; tăng q33 thì vị trí xe ít dao động hơn, tuy nhiên năng
lượng tiêu tốn tăng lên), khi ta tăng R, năng lượng tiêu tốn ít hơn tuy nhiên thời
gian đáp ứng quá độ của toàn hệ thống chậm hơn.
- Do đó, với bài báo cáo này nhóm chúng em chọn hệ số q11 = 1; q33 = 100,
R=1. Bộ điều khiển LQR có đáp ứng hệ thống tốt chỉ khi trong trường hợp không
có nhiễu, nếu có nhiễu hệ thống hoặc nhiễu đo lường thì chất lượng điều khiển bị
ảnh hưởng đáng kể.
3.3. Mô hình bộ điều khiển LQR cho hệ xe con lắc ngược trong trường hợp
có nhiễu đo lường
Giả thiết:
Có nhiễu tác động vào hệ thống. Nhiễu đo vị trí xe có phương sai là 0.001;
nhiễu đo góc lệch con lắc có phương sai 0.0001
Hình 3.7: Mô hình mô phỏng điều khiển LQR cho hệ xe con lắc ngược khi có nhiễu
Đáp ứng quá độ và năng lượng tiêu tốn của hệ thống khi có nhiễu đo lường:
Hình 3.10: Đáp ứng quá độ và năng lượng tiêu tốn của hệ thống khi có nhiễu đo lường
Mặc dù tín hiệu ngõ ra có dao động nhưng vẫn nằm trong phạm vi cân bằng
khi tín hiệu góc theta hồi tiếp về có thêm nhiễu tác động.
Ngõ ra vị trí của hệ thống cũng chịu ảnh hưởng của nhiễu tác động nên ngõ
ra vị trí của xe có dao động nhưng vẫn mượt và dao động quanh điểm cân bằng
một khoảng sai số nhỏ.
Tín hiệu điều khiển khi có nhiễu tác động mà không sử dụng bộ lọc Kalman
thì tín hiệu điều khiển sẽ dao động liên tục sẽ ảnh hưởng đến hệ thống làm hệ
thống dao dộng với tần số cao quanh điểm cân bằng.
Khi hệ thống có nhiễu hoặc có nhiễu từ đo lường sẽ làm bộ điều khiển LQR
không bám tốt theo tín hiệu của hệ thống từ đó để giải quyết vấn đề này người ta
thiết kế thêm bộ lọc Kalman để làm giảm nhiễu do hệ thống gây ra cũng như là
nhiễu trong quá trình đo lường.
34434\*
MERGEFORMAT (.)
35435\*
MERGEFORMAT (.)
4.2 Thiết kế khảo sát bộ lọc Kalman cho hệ xe con lắc ngược
Chương trình Matlab tìm thông số của bộ điều khiển LQR và bộ lọc Kalman
clc;
%% khai bao thong so mo hinh
M=1; m=0.1; l=1; g=9.8;
thetadot_init=0;
theta_init=0.1;
xdot_init=0;
x_init=0;
A = [0 1 0 0];
10.78 0 0 0;
0 0 0 1;
-0.98 0 0 0];
B = [0;-1;0;1];
C = [1 0 0 0;
0 0 1 0];
Q = [1 0 0 0;
0 1 0 0;
0 0 100 0;
0 0 0 1];
Qn = [0.000001 0 0 0
0 0.000001 0 0
0 0 0.000001 0
0 0 0 0.000001];
G = [1 0 0 0;
0 1 0 0;
0 0 1 0;
0 0 0 1];
Rn= [0.001 0;0 0.001];
R=1;
P=care(A,B,Q,R);
K=lqr(A,B,Q,R);
L= lqe(A,G,C,Qn,Rn)
Bộ điều khiển LQR
Bộ lọc Kalman
thành phần của chính là phương sai của nhiễu đo góc lệch con lắc (0.001) và
phương sai của nhiễu đo vị trí xe (0.01) :
Note: Với Phương sai của nhiễu được tính bằng cách xác định giá trị chênh
lệch giữa mỗi số trong tập dữ liệu với giá trị trung bình, sau đó bình phương các
chênh lệch nhằm cho chúng mang giá trị dương và không triệt tiêu lẫn nhau. Cuối
cùng chia tổng số lượng quan sát trong tập dữ liệu.
Trong đó: là phương sai, là giá trị mẫu thứ i, là giá trị trung bình
của các mẫu và n là số lượng mẫu.
Hình 4.3: So sánh tín hiệu trước và sau khi qua bộ lọc Kalman cho góc lệch
Hình 4.4: So sánh tín hiệu trước và sau khi qua bộ lọc Kalman cho vị trí xe
Nhận xét: tín hiệu sau khi qua bộ lọc Kalman ổn định và bớt nhiễu đi rất
nhiều.
Bản chất của bộ điều khiển tối ưu LQG là sự kết hợp giữa 2 bộ điều khiển
LQR và bộ lọc Kalman đó là bài toán điều khiển tối ưu toàn phương tuyến tính
và bài toán ước lượng trạng thái tối ưu.3615Equation Chapter (Next) Section 1
5.2 Thiết kế mô phỏng bộ điều khiển LQG cho hệ xe con lắc ngược
Ta có mô hình Simulink điều khiển tối ưu cho hệ xe con lắc ngược sau khi
bộ lọc Kalman như sau:
Hình 5.1: Mô hình mô phỏng điều khiển LQG cho hệ xe con lắc ngược
Kết quả mô phỏng điều khiển LQG cho hệ xe con lắc ngược
Hình 5.2: Đáp ứng quá độ và năng lượng tiêu tổn khi dùng bộ điều khiển LQG
Nhận xét: Bộ lọc Kalman ước lượng trạng thái và lọc nhiễu, nhờ vậy mà đáp
ứng của hệ thống điều khiển LQG tốt hơn LQR trong trường hợp hệ thống có
nhiễu.
Bước 1: Biểu diễn mối quan hệ vào ra của hệ xe con lắc ngược:
38638\*
MERGEFORMAT (.)
Từ phương trình (1.27) ta đặt các biến trạng thái lần lượt là:
; ; và
Ta có:
với 39639\
* MERGEFORMAT (.)
Trong đó ta có:
Với và 40640\*
MERGEFORMAT (.)
Trong đó:
Bước 4: Chọn bộ lọc thông thấp cho tín hiệu đầu vào:
lamda1 = 1.6;
lamda2 = 0.3;
lamda3 = 1;
lamda4 = 1;
Hình 6.2: Tín hiệu đầu vào thay đổi vị trí con xe
Vị trí xe đặt
1
0.8
0.6
0.4
0.2
0 10 20 30 40 50 60 70 80 90 100
Hình 6.3: Tín hiệu đầu vào tác động đến vị trí xe
Sau khi nhờ bộ điều khiển Sliding Mode Control thì sẽ được chia làm 2 giai
đoạn bàn đầu sẽ Reaching Mode bắt đầu đưa biến từ vị trí khởi đầu đi về phía
mặt trượt giai đoạn tiếp theo là Sliding Mode để tiến hành trượt trên mặt trượt.
Tín hiệu ngõ ra vị trí cũng bám theo vị trí đặt nhưng khoảng thời gian để hệ
thống xác lập sẽ hơi lâu.
Tín hiệu điều khiển có xảy ra hiện tượng Chattering có thể ảnh hưởng đến
hệ thống về lâu về dài trong quá trình hoạt động nên tả cần phải giẩm bớt hiện
tượng Chattering trong hệ thống.
[1]. Huỳnh Thái Hoàng, Hệ thống điều khiển thông minh, Nhà xuất bản đại học
quốc gia Tp. Hồ Chí Minh, Tp. Hồ Chí Minh (2006).
[2]. Trần Đức Thiện, Bài giảng Nhận dạng và điều khiển hệ thống(Chương 6),
Tp. Hồ Chí Minh (2022).
[3]. Huỳnh Thái Hoàng, Bài giảng Điều khiển tối ưu, Tp. Hồ Chí Minh, 2011.
[4]. Nguyen Van Dong Hai, Nguyen Minh Tam, Mircea Ivanescu. A method of
sliding mode control of cart and pole system. Tạp Chí Phát Triển KH&CN (tập
18, Số 06-2015).
[5]. Dianwei Qian, Jianqiang Yi, and Dongbin Zhao, Hierarchical Sliding mode
control for a class of SIMO under-actuated systems, Journal of Control and
Cybernetics, Vol. 37, No. 1, (2008).