Files
sunny360vfe_proj/models/sunny360vfe_prop_init.m
T
2025-06-04 14:13:22 +08:00

60 lines
2.2 KiB
Matlab

function prop_mdl = sunny360vfe_prop_init()
% prop_mdl
L = 2.2424;
B1 = 2.059461;
B2 =1.318266;
H = 0;
rot_D = 1.143;
prop_mdl.rot_D = rot_D; %旋翼桨16寸
prop_mdl.rot_pos_fl1 = [L/2 -(B1/2+B2) H ];
prop_mdl.rot_pos_fl2 = [L/2 -B1/2 H ];
prop_mdl.rot_pos_fr1 = [L/2 B1/2 H ];
prop_mdl.rot_pos_fr2 = [L/2 (B1/2+B2) H ];
prop_mdl.rot_pos_br1 = [-L/2 (B1/2+B2) H ];
prop_mdl.rot_pos_br2 = [-L/2 B1/2 H ];
prop_mdl.rot_pos_bl1 = [-L/2 -B1/2 H ];
prop_mdl.rot_pos_bl2 = [-L/2 -(B1/2+B2) H ];
prop_mdl.rot_att_fl1 = [ -5/57.3 0 0]; %内旋
prop_mdl.rot_att_fl2 = [ -5/57.3 0 0];
prop_mdl.rot_att_fr1 = [ 5/57.3 0 0];
prop_mdl.rot_att_fr2 = [ 5/57.3 0 0];
prop_mdl.rot_att_br1 = [ 5/57.3 0 0];
prop_mdl.rot_att_br2 = [ 5/57.3 0 0];
prop_mdl.rot_att_bl1 = [ -5/57.3 0 0];
prop_mdl.rot_att_bl2 = [ -5/57.3 0 0];
prop_mdl.rot_DCM_fl1 = [0 0 0;0 0 0;-1 -1 -1];
prop_mdl.rot_DCM_fl2 = [0 0 0;0 0 0;-1 -1 -1];
prop_mdl.rot_DCM_fr1 = [0 0 0;0 0 0;-1 1 1];
prop_mdl.rot_DCM_fr2 = [0 0 0;0 0 0;-1 1 1];
prop_mdl.rot_DCM_br1 = [0 0 0;0 0 0;-1 -1 -1];
prop_mdl.rot_DCM_br2 = [0 0 0;0 0 0;-1 -1 -1];
prop_mdl.rot_DCM_bl1 = [0 0 0;0 0 0;-1 1 1];
prop_mdl.rot_DCM_bl2 = [0 0 0;0 0 0;-1 1 1];
prop_mdl.rot_Ixx = 0.002;
prop_mdl.rot_delay = 0.01;
prop_mdl.rot_ecs_w = 25;
prop_mdl.rot_rpm_lst = [0 749 1232 1538 1796 2019 2214 2404 2576 2730 2877 3023 3162 3289 3418 3540 3662 3768 3878 3908];
prop_mdl.rot_n_lst = [0 749 1232 1538 1796 2019 2214 2404 2576 2730 2877 3023 3162 3289 3418 3540 3662 3768 3878 3908];
T = [-0.006 3.285 7.727 12.15 16.585 20.691 25.004 30.13 34.204 38.786 43.239 48.039 54.438 58.537 64.868 69.338 72.728 79.532 81.785 83.3]*9.81; % 单位:N
rot_ct_lst = T./( 1.225*(prop_mdl.rot_rpm_lst/60).^2*rot_D.^4 );
rot_ct_lst(1) = rot_ct_lst(2);
prop_mdl.rot_ct_lst = rot_ct_lst;
M = [0.05 1.73 4.03 6.14 8.6 10.76 12.98 15.56 18.02 20.46 23.39 26.31 28.44 30.93 34.97 37.34 39.37 42.18 44.59 45.49]; % 单位:Nm
rot_cq_lst = M./(1.225 * (prop_mdl.rot_rpm_lst./60).^2*rot_D.^5);
rot_cq_lst(1) = rot_cq_lst(2);
prop_mdl.rot_cq_lst = rot_cq_lst;
omega = 2*pi*prop_mdl.rot_rpm_lst./60;
prop_mdl.motor_lst(:,1) = prop_mdl.rot_rpm_lst(2:end);
prop_mdl.motor_lst(:,2) = 43.6*103.8./(omega(2:end));
end