⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 param_quadrotor.m

📁 四轴飞行器Matlab仿真分析,涉及四轴飞行器主要部件如Motor,camera,电池等
💻 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 + -