UAV 3.1. Giới thiệu chung
CHUONG 4. CHUONG 4. XÂY DỰNG THUẬT TOÁN ĐIỀU KHIỂN BÈN VỮNG CAN BANG CHO HE THONG MAY BAY KHONG NGUOI LAI UAV
4.1.1. Cau trúc của bộ điều khiến PID
PID được tạo thành từ cụm từ tiếng Anh đầy du la Proportional Integral Derivative.
Đây là một cơ chế phản hồi vòng điều khiển trong các hệ thống điều khiển công nghiệp mà hiện nay được sử dụng rất rộng rãi. Bộ điều khiển này được đưa vào sử dụng nhiều nhất trong các hệ thống điều khiển vòng kín hay các hệ thống có tín hiệu phản hồi.
Bộ điều khiển PID có cấu trúc đơn giản, dễ sử dụng nên được sử dụng rộng rãi trong điều khiến các đối tượng SISO theo nguyên lý hồi tiếp (Hình 4.1). Bộ PID có nhiệm vụ đưa sai lệch e(t) của hệ thống về 0 sao cho quá trình quá độ thỏa mãn các yêu cầu cơ bản về chất lượng:
- Nếu sai lệch tĩnh e(t) càng lớn thì thông qua thành phần up(t), tín hiệu điềuchỉnh u(£) càng lớn.
- Nếu sai lệch e(t) chưa bằng 0 thi thông qua thành phần ul(t), PID van con tao tin
hiệu điều chỉnh.
- Nếu sự thay đổi của sai lệch e(t) cảng lớn thì thong qua thanh phan uD(t), phan ứng thích hợp của u(£) sẽ càng nhanh.
Để có thể hiểu rõ hơn về các thành phần tỉ lệ có trong thuật toán PID, trước tiên chúng ta cần phải nắm rõ luật điều khiến và giá trị sai số e(t) trong hé thong.
UO &) a(t) PID uo) Đối tượng điều khiến y(t)
Hinh 4. 1. Hé thong diéu khién vòng kín sử dụng thuật toán P1D t3.
Bộ điều khiển PID có thế được mô tả bằng phương trình dưới đây:
de|t}
ut)=K,elt)+K, J elt\dt+K ~~ t (4.1)
0
VỚI:
e(t) — tin hiệu đầu vào;
u(t) — tin hiéu dau ra;
K,- hệ số khuếch đại;
Sinh viên thực hiện: Ngô Đăng Hùng Người hướng dẫn: TS. Phạm Thanh Phong 66 Trân Lê Đức An
Trần Thế Phong
Phát triển bộ điều khiển bên vững cân bằng cho hệ thông máy bay không người lái 4 cảnh quạt
K,- hệ số tích phân;
Kp - hệ sô vi phân.
Biến đôi Laplace cho phương trình (4.1), ta được:
U(s) =K,.e\s|#K,.2.e\5|+Kp.s.e
(| (4.2)
<=> U(s) = es) (4.3)
K,+— +Kps K,
Từ phương trình (4.3), ta được hàm truyền:
els) :
<=> G(s) = 0) = (4.4)
Kgt=+K,s K,
4.2. Thiết kế Bộ điều khiển bền vững PID cho các trạng thái hệ thống UAV
4.2.1. Tong quan
Từ các thông số hàm truyền được xây dựng từ tin higu PWM sau khi đã qua tuyến tính hóa phương trình động lực học của UAV ở chương Xây dựng mô hình toán học
của hệ thống UAV thì lúc này ta tiễn hành thiết kế Bộ điều khiên PID cho từng đối
tượng hàm truyền tương ứng với từng trạng thái của UAV.
Việc thiết kế các bộ điều khiển PID cho từng trạng thái là rất quan trong và điều này cũng đảm bảo cho sự hoạt động ôn định và tối ưu của UAV. Các hàm truyền trạng thái cua UAV co ban la duoc xây dựng từ các thông số cấu trúc cố định về mặt phần cứng và được chuyền đổi từ mụ hỡnh khụng ứ1an trạng thỏi đề hỗ trợ cho việc thực hiện thiết kế điều khiển. Ở đây, các hàm truyền trạng thái của UAV chính là các đối tượng điều khiến, đề thiết kế các bộ điều khiến PID cho từng đối tượng điều khiển này hoạt động một cách ôn định, thì ta sẽ cần sử dụng một phương pháp điều khiên bền vững để điều chỉnh cho hệ thống điều khiến có cấu trúc cô định.
Các bước thực hiện của phương pháp này sẽ được nêu rõ ở các phân tiếp theo.
4.2.2. Phương pháp thiết kế bộ điều khiển PID
Có nhiều phương pháp đề tìm các hệ số Kp, Kí, Kd đang được nhiều người sử dụng hiện nay, chúng ta có thể đễ dàng kế đến như phương pháp đóng ngắt Relay, phương pháp ziepler-nichols 1, phương pháp sử dụng công cụ PID Tune, phương pháp điều khiến bền vững.... Và phương pháp được sử dụng trong việc nghiên cứu và thiết kế bộ điều khiển PID cho từng trạng thái dưới dạng các thông số hàm truyền cho hệ thống UAV là phương pháp sử dụng bộ điều khiển bền vững. Phương pháp này điều chỉnh các hệ thông điều khiến có cấu trúc cô định để tìm ra được các thông số phù hợp, đáp
Sinh viên thực hiện: Ngô Đăng Hùng Người hướng dẫn: TS. Phạm Thanh Phong 67 Trân Lê Đức An
Trần Thế Phong
Phát triển bộ điều khiển bên vững cân bằng cho hệ thông máy bay không người lái 4 cảnh quạt
ứng và đảm bảo được độ bên vững, đảm bảo cho quá trình hoạt động cân bằng trước sự biến đổi các trang thai cua UAV.
4.2.2.1. Các bước thực hiện việc thiết kế bộ điều khiển PID
Phương pháp điều khiển này được thể hiện dưới dạng tập lệnh Systune F“l được tích hợp trong phần mềm Matlab. Dưới đây sẽ mô tả chỉ tiết các bước thiết kế Bộ điều khiến bền vững PID cho mô hình hệ thống UAV (Xét cho ba trạng thái góc quay chính
cua UAV la: Roll, Pitch, Yaw):
Bước 1: Sau khi đã có các thông số hàm truyền của các trạng thái được xây dựng từ
tín hiệu PWM (3.18), (3.19), (3.20), ta tiến hành nhập các thông số hàm truyền của các
trang thai Roll, Pitch, Yaw cua UAV.
6% ROLL ANGLE
Gl roll = tf£([1 0.2149],[1 -0.9888 0.2274 37.03));
6% PITCH ANGLE
G1 pitch = tf£([1 0.2076], [1 -1.769 -0.01226 27.05));
%% YAW ANGLE
Gl _ yaw = tf([1],[1 0.4833 0]);
Bước 2: Sau khi đã nhập hoản tất các thông số hàm truyền của các trạng thái, ta tiếp tục sử dụng bộ điều chỉnh PID cho phép ta tham số hóa bộ điều khiển SISO PID có thể điều chỉnh để nghiên cứu tham SỐ, đồng thời sử dụng lệnh AnalystsPoint để đánh dấu
vị trí trong mô hình hệ thống điều khiến làm điểm quan tâm đề phân tích tuyến tính va điều chỉnh bộ điều khiển.
%$% ROLL ANGLE
Croll = tunablePID('Croll','pid');
Croll.Tf.Value = 0.215; Croll.Tf.Free = false;
LS = AnalysisPoint('u');
%% PITCH ANGLE
Cpit = tunablePID('Cpit', 'oid');
Cpit.TF.Value = 0.188; Cpit.Tf.Free = false;
LS = AnalysisPoint('u');
%% YAW ANGLE
Cyaw = tunablePID('Cyaw','oid');
Cyaw.Tf.Value = 0.02; Cyaw.Tf.Free = false;
LS = AnalysisPoint('u');
Bước 3: Sau đó xây dựng các lệnh đề kết nối các thành phần để xây dựng mô hình của toàn bộ hệ thống điều khiến vòng kín với u là các tín hiệu đầu vào và y là các tín hiệu ngõ ra, trong đó T0 là các trạng thái của UAV co thể thay đổi.
%% ROLL ANGLE
TOroll = feedback(Gl_ roll1*LS*Croll,1);
TOroll.u = 'r'; TOroll.y = 'y';
Sinh viên thực hiện: Ngô Đăng Hùng Người hướng dẫn: TS. Phạm Thanh Phong 68 Trân Lê Đức An
Trần Thế Phong
Phát triển bộ điều khiển bên vững cân bằng cho hệ thông máy bay không người lái 4 cảnh quạt
%% PITCH ANGLE
TOpit = feedback(Gl_ pitch*LS*Cpit,1);
TOpit.u = 'r'; TOpit.y = 'y';
%% YAW ANGLE
TOyaw = feedback(Gl_yaw*LS*Cyaw,1);
Ị =
TOyaw.u = 'r'; TOyaw.y = 'y ,