Professional Documents
Culture Documents
MỤC TIÊU:
Xây dựng hệ xe con lắc ngược, sử PHƯƠNG PHÁP NGHIÊN
dụng bộ điều khiển phi tuyến hồi CỨU:
tiếp tuyến tính hóa và hệ điều khiển + Sử dụng các kiến thức đã học.
tối ưu LQG. + Dùng phần mềm Matlab để mô
phỏng, viết chương trình.
+ Tham khảo các tài liệu liên quan
đến đề tài.
II. NỘI DUNG:
• Giới thiệu
• Hình vẽ cấu trúc các bộ điều khiển
• Phân tích và trình bày các phương trình vi phân
• Bộ điều khiển phi tuyến ( ĐK hồi tiếp tuyến tính)
• Điều khiển tối ưu (ĐK LQG)
1.GIỚI THIỆU:
1.1 Hệ con lắc ngược:
Mô hình điều khiển con lắc ngược là một mô hình thí
nghiệm hệ thống Cơ – điện tử, lý tưởng cho việc ứng
dụng thuật toán điều khiển hiện đại và kỹ thuật điều
khiển máy tính.
1.2. Hệ phi tuyến:
Là hệ thống trong đó quan hệ vào ra không thể mô tả
bằng phương trình vi phân/ sai phân tuyến tính
2. CÁC PHƯƠNG TRÌNH VI PHÂN ĐƯỢC SỬ DỤNG ĐỂ
XÂY DỰNG HỆ THỐNG
2 2 2 2
1 1 2 2
=> Tp = m x + ml x cos + ml
2
(2.2)
2 2
1 (2.3)
+ Động năng của xe: TC = M x
2
Hình 2.1. Mô hình hệ con lắc ngược
2
M: Khối lượng (kg)
+ Động năng của hệ thống: T = TC + TP (2.4)
m: Khối lượng con lắc (kg)
+ Thế năng của hệ thống chính là thế năng của vật nặng l: Chiều dài con lắc (m)
đầu con lắc: (2.5)
u: Lực tác động vào xe (N)
g: gia tốc trọng trường (m/s^2)
x: vị trí xe con lắc (m)
θ: góc lệch giữa con lắc và
phương thẳng đứng (rad)
2. CÁC PHƯƠNG TRÌNH VI PHÂN ĐƯỢC SỬ DỤNG ĐỂ
XÂY DỰNG HỆ THỐNG
+ Toán tử Lagrangian: L = 1 ( M + m) x 2 + ml x cos + 1 ml 2 2 − mgl cos (3.6)
2 2
+ Áp dụng công thức Euler-lagrange ta có:
d L L
− =U => ( M + m ) x + ml (cos ) − ml (sin ) 2
=U (2.7)
dt x x
d L L
−
dt
=0 => m x cos + ml − mg sin = 0 (2.8)
Đạo hàm bậc 1 của sai số bám: e1 = y1d − y1 = y1d − x2 (4.3) và e 2 = y2 d − y2 = y2 d − x4 (4.4)
Đạo hàm bậc 2 của sai số bám: e1 = y1d − y1 = y1d − x 2 = y1d − f1 ( x ) − g1 ( x ) u (4.5)
e 2 = y2 d − y2 = y2 d − x 4 = y 2 d − f 2 ( x ) − g 2 ( x ) u (4.6)
cos x1
Với: ( M + m) g sin x1 + ml (cos x1 sin x1 ) x2 (4.7) g1 ( x ) = (4.8)
f1 ( x ) = ml (cos x1 ) 2 − ( M + m)l
ml (cos x1 ) 2 − ( M + m)l
1
ml (sin x1 ) x2 2 − mg cos x1 sin x1 (4.9) g2 ( x ) =
f2 ( x ) = M + m − m(cos x1 ) 2
(4.10)
M + m − m(cos x1 ) 2
4.BỘ ĐIỀU KHIỂN PHI TUYẾN HỒI TIẾP TUYẾN TÍNH HÓA:
• Bước 2: Bộ điều khiển hồi tiếp tuyến tính hóa
u1 =
1
(− f ( x) + v ) g2 ( x )
(4.11) u2 =
1
(− f ( x) + v ) (4.12)
g1 ( x )
1 1 2 2
Thay (4.11) (4.12) vào phương trình (4.5) (4.6) ta được: e1 = y1d − v1 (4.13) và e2 = y2 d − v2 (4.14)
❖ Xây dựng bộ điều khiển hồi tiếp tính hóa bằng Matlab
Hình 4.1 Bộ điều khiển hồi tiếp tuyến tính hóa trong Matlab
4.BỘ ĐIỀU KHIỂN PHI TUYẾN HỒI TIẾP TUYẾN TÍNH HÓA:
- Bộ điều khiển hồi tiếp tuyến tính hóa bao gồm các thành phần cụ thể sau:
▪ Hệ xe con lắc ngược (Inverted Pendulum on a Cart)
▪ Khối tín hiệu đặt ▪ Khối điều khiển bám( Tracking control)
Hình 4.5: Tín hiệu ngõ ra góc lệch của con lắc Hình 4.6: Ngõ ra vị trí và vận tốc của xe
4.BỘ ĐIỀU KHIỂN PHI TUYẾN HỒI TIẾP TUYẾN TÍNH HÓA:
Hình 4.7: Sai số bộ điều khiển Hình 4.8: Tín hiệu điều khiển của hệ thống
5. XÂY DỰNG BỘ ĐIỀU KHIỂN TỐI ƯU LQG
Bài toán tối ưu LQG có thể giải bằng cách giải riêng bài toán điều khiển tối ưu tiền định và bài toán ước lượng
trạng thái tối ưu :
𝐿𝑄𝐺 = 𝐿𝑄𝑅 + Kalman Filter
x(t ) = A x(t ) + Bu (t ) + L[ y (t ) − y (t )] (4.4)
Bộ lọc Kalman:
y (t ) = C x(t )
Với R = 1
Q=[1 0 0 0;
0 1 0 0;
0 0 100 0;
0 0 0 1 ];
Nhận xét: Nếu bộ LQR có nhiễu đo lường thì chất lượng điều khiển sẽ bị ảnh hưởng đáng kể.
Vì vậy cần phải lọc nhiễu thông qua bộ lọc Kalman.
4. XÂY DỰNG BỘ ĐIỀU KHIỂN TỐI ƯU LQG *Chương trình trong Matlab:
%Programmed by Nhom 15
*Thiết kế bộ lọc Kalman
%date 11/6/2023
clc;
clear all;
M=1;
m=0.1;
l=1;
g=9.81;
theta_init = 0.1;
theta_d_init = 0;
x_init = 0;
6.5650 -0.0572 x_d_init = 0;
21.5657 -0.1878 A = [0 1 0 0; ((M+m)*g/M*l) 0 0 0; 0 0 0 1; -(m*g/M) 0 0 0];
L=
-0.5716 0.1470 B = [0; -(1/(M*l)); 0; 1/M];
-1.9588 0.0271 C = [1 0 0 0; 0 0 1 0];%ma trận c phải cùng số hàng với ma trận Rn
Q=[1 0 0 0; 0 1 0 0; 0 0 100 0; 0 0 0 1];
Hình 5.3. Mô hình bộ lọc Kalman R= [1];
Qn=0.000001*[1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1];%cùng số cột với ma trận A, ma trận vuông
Rn=[0.001 0;0 0.01]; %phương sai nhiễu vị trí và góc lệch
G=[1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1];
K= lqr(A,B,Q,R)
[L,P,E] = lqe(A,G,C,Qn,Rn)
4. XÂY DỰNG BỘ ĐIỀU KHIỂN TỐI ƯU LQG
1 0 0 0
Với 0 1 0 0
QN = 0.000001
0 1 0 0 0 0 1 0
10.78
0 0 0 0 0 0 1
A=
0 0 0 1
0.001 0
−0.98 0 0 0
RN =
0 0.01
0
−1
B= 1000
C=
0
0010
1