diff options
Diffstat (limited to '')
-rw-r--r-- | uav_params.m | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/uav_params.m b/uav_params.m index fdd519a..2ac187e 100644 --- a/uav_params.m +++ b/uav_params.m @@ -35,7 +35,7 @@ J = [ ] * 1e-9; % Approximate propeller with a disk -m_prop = 200e-3; % mass of propeller +m_prop = 500e-3; % mass of propeller r_prop = 85e-3; % radius of propeller J_prop = .5 * m_prop * r_prop^2; @@ -46,26 +46,23 @@ params.mechanical = struct(... 'FlapZDistance', 98e-3, ... % flap distance along z from center of mass 'InertiaTensor', J, ... 'GyroscopicInertiaZ', J_prop, ... % assume small angle - 'GyroscopicInertiaZUncertainty', .01 ... % in % + 'GyroscopicInertiaZUncertainty', .05 ... % in % ); % ------------------------------------------------------------------------ % Actuator limits and measurements % Servos usually give a "speed" in seconds / 60 degrees without load -servo_speed = 0.13; % seconds / 60 deg -servo_angular_velocity = (60 / servo_speed) * (pi / 180); % rad / s - params.actuators = struct(... 'PropellerMaxAngularVelocity', 620.7, ... % in rad / s 'ServoAbsMaxAngle', 20 * pi / 180, ... % in radians 'ServoMaxTorque', 4.3 * 1e-2, ... % in kg / m - 'ServoNominalAngularVelocity', servo_angular_velocity ... + 'ServoSecondsTo60Deg', 0.13 ... % in s / 60 deg ); % IMU runs in NDOF mode params.measurements = struct(... - 'SensorFusionDelay', 30e-3, ... % in s + 'SensorFusionDelay', 10e-3, ... % in s, from 100 Hz sampling rate 'LIDARAccuracy', 10e-3, ... % in m 'LIDARMaxDistance', 40, ... % inm 'LIDARBandwidth', 100, ... % in Hz for z position @@ -91,13 +88,13 @@ k_T = F_max / omega_max^2; % https://scienceworld.wolfram.com/physics/LiftCoefficient.html params.aerodynamics = struct(... 'ThrustOmegaProp', k_T, ... % in s^2 / (rad * N) - 'ThrustOmegaPropUncertainty', .01, ... % in % + 'ThrustOmegaPropUncertainty', .05, ... % in % 'FlapArea', 23e-3 * 10e-3, ... % in m^2 - 'FlapAreaUncertainty', .02, ... % in % + 'FlapAreaUncertainty', .1, ... % in % 'DragCoefficients', [0, 0], ... % TODO 'DragCoefficientsUncertainties', [.1, .1], ... % in % 'LiftCoefficient', 2 * pi, ... % TODO - 'LiftCoefficientUncertainty', .05 ...% in % + 'LiftCoefficientUncertainty', .1 ...% in % ); @@ -126,14 +123,16 @@ params.linearization = struct(... % Normalization (maximum values) params.normalization = struct(... - 'HPosition', 1, ... % m - 'VPosition', 1, ...% m - 'HSpeed', 2, ... % m / s - 'VSpeed', 2, ... % m / s + 'FlapAngle', params.actuators.ServoAbsMaxAngle, ... + 'ThrustAngularVelocity', params.actuators.PropellerMaxAngularVelocity, ... + 'HPosition', .5, ... % m + 'VPosition', .5, ...% m + 'HSpeed', .5, ... % m / s + 'VSpeed', .5, ... % m / s 'PitchRollAngle', 10 * pi / 180, ... % rad 'YawAngle', 5 * pi / 180, ... % rad - 'AngularRate', 2 * pi / 180, ... % rad / s - 'WindSpeed', 2 ... % m / s + 'AngularRate', 1 * pi / 180, ... % rad / s + 'WindSpeed', .01 ... % m / s ); end % vim: ts=2 sw=2 et: |