📄 param_quadrotor.m
字号:
%% param.m
%%
%% Parameter file for quadrotor in the contraption, constrainted
%% to roll only.
%%
%% Modified:
%% 10/8/07 - RWB
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all
C.Ts = 1/20;
Ts = C.Ts;
C.h = 1; % height of quadrotor rails above ground (m)
% initial state
C.x0 = [...
0.1;... % pn: north position (m)
0.1;... % pe: east position (m)
-C.h;... % pd: position down (negative of altitude) (m)
0;... % u: velocity along body x-axis (m/s)
0;... % v: velocity along body y-axis (m/s)
0;... % w: velocity along body z-axis (m/s)
0*pi/180;... % phi: roll angle
0*pi/180;... % theta: pitch angle
0*pi/180;... % psi: yaw angle
0;... % p: roll rate
0;... % q: pitch rate
0;... % r: yaw rate
];
% mass and inertia
% inertia in kg-m^2
C.Jx = 0.114700;
C.Jy = 0.057600;
C.Jz = 0.171200;
% gravity (m/s^2)
C.g = 9.806650;
% mass (kg)
C.m = 1.56;
% airframe physical parameters
C.l = 0.3; % wingspan (m)
C.rho = 1.268200; % air density
% propeller characteristics
C.kmotor_lift = 5.45; % F = 5.45*delta, where delta\in[0,1]
C.kmotor_drag = 0.0549; %
% noise parameters
C.sigma_gyro_x = 0.005; % rad/sec
C.sigma_gyro_y = 0.005; % rad/sec
C.sigma_gyro_z = 0.005; % rad/sec
C.sigma_accel_x = 0.005; % m/sec
C.sigma_accel_y = 0.005; % m/sec
C.sigma_accel_z = 0.005; % m/sec
C.sigma_static_pres = 0.4; % m
C.sigma_diff_pres = 0.4; % m/s
C.sigma_mag_x = 500; % nanotesla
C.sigma_mag_y = 500; % nanotesla
C.sigma_mag_z = 500; % nanotesla
C.sigma_gps_n = 0.5; % m
C.sigma_gps_e = 0.5; % m
C.sigma_gps_h = 0.5; % m
C.nu_gps_atmosphere_n = 5.5*randn; % m
C.nu_gps_clock_n = 1.5*randn; % m
C.nu_gps_atmosphere_e = 5.5*randn; % m
C.nu_gps_clock_e = 1.5*randn; % m
C.nu_gps_atmosphere_h = 55*randn; % m
C.nu_gps_clock_h = 15*randn; % m
C.gps_Ts = 1; % second
C.mag_m0 = [100000; 1000; 60000]; % magnetometer reading looking north (these are bogus numbers that need to be fixed.)
% estimator gains
C.lpf_gyro = 20; % low pass filter constant for the gyros (lpf/(s+lpf))
C.lpf_pres = 20; % low pass filter constant for pressure sensors (lpf/(s+lpf))
C.Ts_attitude = 0.05; % sample rate for attitude estimator
C.Q_attitude = diag([.000000001; .00000000001]); % process covariance for roll and pitch
C.R_attitude = diag([0.005^2; 0.005^2; 0.005^2]); % measurement noise for accelerometers
C.Q_gps = diag([.000001; .000001; 0.000001]); % process covariance for pn, pe, chi
C.R_gps = diag([0.3^2; 0.3^2; 0.3^2]); % measurement noise for gps
% % waypoints
% C.waypoints = [...
% 100, 100, C.x0(3);...
% -100, 100, C.x0(3);...
% -100, -100, C.x0(3);...
% 100, -100, C.x0(3);...
% ];
% dirty derivative parameter
C.tau = 1/5;
% autopilot gains
% roll attitude hold
C.roll_kp = 2;
C.roll_ki = 0;
C.roll_kd = 1;
% y-position hold
C.y_kp = .1;
C.y_ki = 0;
C.y_kd = .15;
% roll attitude hold
C.pitch_kp = 2;
C.pitch_ki = 0;
C.pitch_kd = 1;
% y-position hold
C.x_kp = .1;
C.x_ki = 0;
C.x_kd = .15;
% altitude hold
C.h_kp = .01;
C.h_ki = 0;
C.h_kd = 0.1;
% roll attitude hold
C.yaw_kp = .5;
C.yaw_ki = 0;
C.yaw_kd = .5;
% camera parameters
C.cam_pix = 480; % size of (square) pixel array
C.cam_fov = 60*(pi/180); % field of view of camera
C.f = (C.cam_pix/2)/tan(C.cam_fov/2); % focal range
% location of obstacle in inertial frame
C.target = [...
0, 0, .01;...
];
C.target_size = 0.1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -