PHỤ LỤC Phu Luc I

Một phần của tài liệu 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 (Trang 110 - 116)

Chương trình Matlab thiết kế x4y dung B6 di & khién trang thai cho hé théng UAV.

%% ROLL ANGLE

G1_roll = tf({1 0.2149],[1 -0.9888 0.2274 37.03]);

%

Croll = tunablePID(Croll',pid);

Croll.Tf.Value = 0.215; Croll.Tf.Free = false; % fix Tf=0.01

LS = AnalysisPoint(‘u’);

TOroll = feedback(G1_roll*LS*Croll 1);

TOroll.u = 'r'; TOroll.y = 'y'’;

Rtrack = TuningGoal.Tracking(‘r','y',100,1e-2);

Rreject = TuningGoal.Gain(‘LS','y',0.5);

T lroll = systune(TOroll ,[Rtrack]) show Tunable(T1roll);

%% PITCH ANGLE

G1_pitch = tf([{1 0.2076] [1 -1.769 -0.01226 27.05]);

%

Cpit = tunablePID(‘Cpit','pid’);

Cpit. Tf. Value = 0.188; Cpit.Tf.Free =false; % fix Tf=0.01 LS = AnalysisPoint(‘u’);

TOpit = feedback(G1_pitch*LS*Cpit,1);

TOpit.u = 'r'; TOpit.y = 'y';

Rtrack = TuningGoal.Tracking(‘r','y',100,le-1);

Rreject = TuningGoal.Gain(‘LS','y',0.5);

T 1 pit = systune(TOpit,[Rtrack]) showTunable(T 1 pit);

%% YAW ANGLE

Gl_yaw = tf([1],[1 0.4833 0]);

%

Cyaw = tunablePID(‘Cyaw' pid’);

Cyaw.Tf. Value = 0.02; Cyaw.Tf.Free = false; % fix Tf=0.01 LS = AnalysisPoint(‘u’);

TOyaw = feedback(G1_yaw*LS*Cyaw,1);

TOyaw.u = 'r'; TOyaw.y = 'y';

Rtrack = TuningGoal.Tracking(‘r','y',100,le-1);

Rreject = TuningGoal.Gain(‘LS','y',0.5);

Tlyaw = systune(TOyaw,[Rtrack]) showTunable(T | yaw);

%% PID ROLL DANG CHUAN

Kp = 0.0216; Ki = 1.4; Kd = 8.64; Tf = 0.215;

Ti= Kp/Ki;

Td= Kd/Kp;

N = Td/Tf;

Croll = pidstd(Kp,Ti,Td,N,0.1,...

stepplot(Croll)

%% PID PITCH DANG CHUAN

Kp = 0.0365; Ki = 0.505; Kd = 12.6; Tf = 0.188;

Ti= Kp/Ki;

Td= Kd/Kp;

N = Td/Tf;

Cpitch = pidstd(Kp,Ti,Td,N,0.1,...

‘TFormula' ,'Trapezoidal','DFormula','BackwardEuler')

%% PID YAW DANG CHUAN

Kp = 0.00933; Ki = 3.14e-09; Kd = 0.0378; Tf = 0.02;

Ti= Kp/Ki;

Td= Kd/Kp;

N = Td/Tf;

Cyaw = pidstd(Kp,Ti,Td,N,0.1....

‘TFormula' ,'Trapezoidal','DFormula','BackwardEuler') Phụ Lục H:

Chương trình Matlab vẽ các kết quả dạng sóng của 4 động cơ UAV khi được thực nghiệm trên Matlab/Simulink của Bộ đi `âi khiển cho hệ thống UAV.

%% Tin hieu dang song cua cac dong co t=out.DC I.time;

DCI=out.DC I.signals.values;

DC2=out.DC2.signals.values;

DC3=out.DC3.signals.values;

DC4=out.DC4.signals.values;

r=out.r.si gnals.values;

r=double(r);

DC1=double(DC1);

DC2=double(DC2);

DC3=double(DC3);

DC4=double(DC4);

figure(1);

plot(tr,r--'t, DCI,r, t, DC2, t!, t, DC3,y', t, DC4, 's', LineWidth=0.75); grid on;

tifle(Dạng sóng Tốc độ quay của các động cơ với giá trị dat r = 1250(víp))

xlabel({'t(s)'})

vlabel({'Tốc độ quay của các động cơ (v/p)}) ylim([- 1500, 4000])

%% Sai so tin hieu víp cua cac dong co el=r-DC1;

e2=r-DC2;

e3=r-DC3;

Phụ lục

figure(5);

plot(t, el,r, t, e2, b, t, e3,y', t, e4, ‘s', LineWidth=0.75); grid on;

title(‘Dang sdng Sai số giữa giá trị đặt và giá trị thực tế của các động cơ, với r = I250(v/p))

xlabel({'t(s)'}) ylim([-1200, 1200])

%% Root-mean-square value 4 dong co RMS1 = sqrt(mean((e1).42))

RMS2 = sqrt(mean((e2).42)) RMS3 = sqrt(mean((e3).42)) RMS4 = sqrt(mean((e4).42)) Phu Luc Ill

Chương trình Matlab vẽ các kết quả dạng sóng của các trạng thái UAV khi được thực nghiệm trên Matlab/Simulink của Bộ đi`âi khiển cho hệ thống UAV.

%% THONG SO TU SIMULINK f=ouf.yaw.time;

yaw=out. yaw.signals.values;

pit=out.pit.signals.values;

roll=out.roll.signals.values;

yaws=out. yaws.signals. values;

pitchs=out.pitchs.signals.values;

rolls=out.rolls.signals.values;

r=out.r.si gnals.values;

%% YAW subplot(2,1,1)

plot(t, squeeze(yaw),'r', LineWidth=1); grid on;

ylim([-1.3, 1.3])

tile(Dang sóng góc quay Yaw của Quadcopter khi chưa qua đi`âi khiển)

subplot(2,1,2)

plot(t, squeeze(yaws),'r', LineWidth=1); grid on;

ylim([-1.3, 1.3])

tle(Dạng sóng góc quay Yaw của Quadcopter đã qua đi âi khiển)

%% PITCH subplot(2,1,1)

plot(t, squeeze(pit),'b', LineWidth=1); grid on;

ylim([-0.5, 0.5])

tile(Dang sóng góc quay Pitch của Quadcopter khi chưa qua đi`âi khiển)

subplot(2,1,2)

plot(t, squeeze(pitchs),'b', LineWidth=1); grid on;

ylim([-0.5, 0.5])

tile(Dang sóng góc quay Pitch của Quadcopter đã qua di‘

khiển)

%% ROLL subplot(2,1,1)

plot(t, squeeze(roll),'2', LineWidth=1); grid on;

ylim([-0.3, 0.3])

tile(Daạng sóng góc quay Roll của Quadcopter khi chưa qua đi`âi khiển)

subplot(2,1,2)

plot(t, squeeze(rolls),'e', LineWidth=1); grid on;

ylim([-0.3, 0.3])

tile(Dang sóng góc quay Roll của Quadcopter đã qua di‘

khiển) Phu Luc IV

Chương trình Matlab vẽ kết quả dạng sóng các trạng thái UAV của Bộ đi`âi khiển Vi trí và Độ cao khi được thực nghiệm trên Matlab/Simulink của Bộ đi âi khiển cho hệ théng UAV.

%% THONG SO TU SIMULINK t=out.roll.time;

roll_dat=out.roll_dat.si gnals.values;

pitch_dat=out.pitch_dat.signals.values;

yaw _dat=out.yaw_dat.signals.values;

roll=out.roll.signals.values;

pitch=out. pitch.signals.values;

yaw=out. yaw.signals.values;

%% ROLL, PITCH, YAW ANGLE

%

subplot(3,1,1)

plot(t, squeeze(roll_ dat), r't, squeeze(roll),b', LineWidth=1.5); grid on;

title(Dang sóng của góc quay Roll sau khi qua Bộ đi 'âi khiển vị trf, '(Kịch bản đi `âi khiển điểm đặt vị trí desY = -0.03 và desY = 0.07, desX, desYaw, desAIlt lân lượt bằng 0)) xlabel({'t(s)'})

ylim({-1, 21)

%

subplot(3,1 ;2)

plot(t, squeeze(pitch_dat),'r',t, squeeze(pitch),b', LineWidth=1.5); grid on;

tle(Dang sóng của góc quay Pitch sau khi qua Bộ đi âi khiển vị trf, (Kịch bản đi`âi khiển điểm đặt vị trí desY

= -0.03 và desY = 0.07, desX, desYaw, desAIt lần lượt bằng

0))

xlabel({'t(s)'})

ylim({-1, 21)

%

Phu luc

subplot(3,1 3)

plot(t, squeeze(yaw_dat),'r',t, squeeze(yaw),'b',

LineWidth=1.5); grid on;

title(Dang sóng của góc quay Yaw sau khi qua Bộ đi `âi khiển vị trf, '(Kịch bản đi `âi khiển điểm đặt vị trí desY = -0.03 và desY = 0.07, desX, desYaw, desAIlt lân lượt bằng 0)) xlabel({'t(s)'})

ylim([-2, 3]) Phu Luc V

Các bảng thông số kỹ thuật của các chân trên bo mạch (pinOuts) của Bộ đi âi khiển chuyến bay tự động Pixhawk 2.4.8 5],

Bảng Hệ thống các bảng thông số của các chân của từng cổng trên bo mạch đi ân khiển chuyến bay Pixhawk 2.4.8 [!5I,

Phụ Lục VI

Các thông số PID được thiết lập cho quá trình hoạt động của hệ thống UAV trên phì m ‘én hé thống Trạm kiểm soát mặt đất Mission Planner.

[COMT21-QUADROTOFEY oisconnect ằ

3eoF ence al tate) en: iG

ee > Bae COL]

Smt SOO Ri) dvanced Params AVE tp Eg eT)

ull Parameter List gd

Bảng. Các thông số PID được thiết lập cho quá trình hoạt động của hệ thống UAV.

Phụ lục

Một phần của tài liệu 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 (Trang 110 - 116)

Tải bản đầy đủ (PDF)

(116 trang)