mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-05-31 12:23:23 +08:00
[modules] EKF Airspeed and Wind (#3078)
* [modules] EKF Airspeed and Wind * Test EKF_AW * Also compile for non-rot-wing * fix RPM in EKF_AW * rpm fix * Remove double debug messages * follow master spacing * Fix code style * rotwing_controller renamed
This commit is contained in:
committed by
GitHub
parent
2db514a43e
commit
1229e0489a
@@ -68,7 +68,7 @@
|
||||
<module name="fdm" type="jsbsim"/>
|
||||
|
||||
<module name="logger_file">
|
||||
<define name="FILE_LOGGER_PATH" value="/home/ewoud/Documents"/>
|
||||
<define name="FILE_LOGGER_PATH" value="~/"/>
|
||||
</module>
|
||||
|
||||
<!--Not dealing with these in the simulation-->
|
||||
@@ -163,6 +163,64 @@
|
||||
</module>
|
||||
|
||||
<module name="motor_mixing"/>
|
||||
|
||||
|
||||
<!--Airspeed estimation using EKF-->
|
||||
<module name="ekf_aw">
|
||||
<define name="EKF_AW_P0_V_BODY" value="1.E-2f" description="Initial covariance body velocity"/>
|
||||
<define name="EKF_AW_P0_MU" value="1.E-5f" description="Initial covariance wind"/>
|
||||
<define name="EKF_AW_P0_OFFSET" value="1.E-10f" description="Initial covariance offset"/>
|
||||
|
||||
<define name="EKF_AW_Q_ACCEL" value="1.0E-4f" description="Accel process noise"/>
|
||||
<define name="EKF_AW_Q_GYRO" value="1.0E-9f" description="Gyro process noise"/>
|
||||
<define name="EKF_AW_Q_MU" value="1.0E-6f" description="Wind process noise"/>
|
||||
<define name="EKF_AW_Q_OFFSET" value="1.0E-8f" description="Offset process noise"/>
|
||||
|
||||
<define name="EKF_AW_R_V_GND" value="1.E-5f" description="GPS Velocity measurement noise"/>
|
||||
<define name="EKF_AW_R_ACCEL_FILT_X" value="1.E-5f" description="Filtered x accel measurement noise"/>
|
||||
<define name="EKF_AW_R_ACCEL_FILT_Y" value="1.E-5f" description="Filtered y accel measurement noise"/>
|
||||
<define name="EKF_AW_R_ACCEL_FILT_Z" value="1.E-5f" description="Filtered z accel measurement noise"/>
|
||||
<define name="EKF_AW_R_V_PITOT" value="1.E-7f" description="Pitot Tube Velocity measurement noise"/>
|
||||
|
||||
<define name="EKF_AW_AZ_SCHED_GAIN" value="2" />
|
||||
<define name="EKF_AW_AZ_SCHED_START_DEG" value="60" />
|
||||
<define name="EKF_AW_AZ_SCHED_END_DEG" value="70" />
|
||||
|
||||
<define name="EKF_AW_AX_SCHED_GAIN" value="0" />
|
||||
<define name="EKF_AW_AX_SCHED_START_DEG" value="45" />
|
||||
<define name="EKF_AW_AX_SCHED_END_DEG" value="60" />
|
||||
|
||||
<define name="EKF_AW_QUICK_CONVERGENCE" value="true" />
|
||||
<define name="EKF_AW_QUICK_CONVERGENCE_TIME" value="15" />
|
||||
|
||||
<define name="EKF_AW_WING_INSTALLED" value="true" description="Use wing contribution"/>
|
||||
<define name="EKF_AW_USE_MODEL_BASED_X" value="true" description="Use model based to augment filter"/>
|
||||
<define name="EKF_AW_USE_MODEL_BASED_Y" value="true" description="Use model based to augment filter"/>
|
||||
<define name="EKF_AW_USE_MODEL_BASED_Z" value="true" description="Use model based to augment filter"/>
|
||||
|
||||
<define name="EKF_AW_VEHICLE_MASS" value="6.5" description="Mass of the vehicle"/>
|
||||
|
||||
<define name="EKF_AW_K2_FX_FUSELAGE" value="-4E-2f" description="K*u*u"/>
|
||||
<define name="EKF_AW_K3_FX_HOVER" value="-3E-1f" description="K*u"/>
|
||||
|
||||
<define name="EKF_AW_K1_FX_WING" value="-3.21432e-02f" description="Fx2 = (k1*(1+k5*skew)+(k2*alpha+k3*alpha^2))*(sin(skew)^2+k4)*V^2"/>
|
||||
<define name="EKF_AW_K2_FX_WING" value="1.67195e-01f" description="Fx2 = (k1*(1+k5*skew)+(k2*alpha+k3*alpha^2))*(sin(skew)^2+k4)*V^2"/>
|
||||
<define name="EKF_AW_K3_FX_WING" value="5.9441e-01f" description="Fx2 = (k1*(1+k5*skew)+(k2*alpha+k3*alpha^2))*(sin(skew)^2+k4)*V^2"/>
|
||||
<define name="EKF_AW_K4_FX_WING" value="3.9839e-03f" description="Fx2 = (k1*(1+k5*skew)+(k2*alpha+k3*alpha^2))*(sin(skew)^2+k4)*V^2"/>
|
||||
<define name="EKF_AW_K5_FX_WING" value="3.5321e-03f" description="Fx2 = (k1*(1+k5*skew)+(k2*alpha+k3*alpha^2))*(sin(skew)^2+k4)*V^2"/>
|
||||
|
||||
<define name="EKF_AW_K_FY_V" value="-3.2E-1f" description="Fy beta coefficient"/>
|
||||
<define name="EKF_AW_K1_FY_WING" value="0.0f" description="Fy = K1*cos(skew)*sin(skew)*u^2"/>
|
||||
|
||||
<define name="EKF_AW_K1_FZ_WING" value="-1.0008e-01f" description="Fz1 = ((k1+k2*alpha+k3*alpha^2)*(sin(skew)^2+k4)*V^2"/>
|
||||
<define name="EKF_AW_K2_FZ_WING" value="-8.6965e-01f" description="Fz1 = ((k1+k2*alpha+k3*alpha^2)*(sin(skew)^2+k4)*V^2"/>
|
||||
<define name="EKF_AW_K3_FZ_WING" value="1.45783e-01f" description="Fz1 = ((k1+k2*alpha+k3*alpha^2)*(sin(skew)^2+k4)*V^2"/>
|
||||
<define name="EKF_AW_K4_FZ_WING" value="2.185395e-01f" description="Fz1 = ((k1+k2*alpha+k3*alpha^2)*(sin(skew)^2+k4)*V^2"/>
|
||||
|
||||
<define name="EKF_AW_TELEMETRY_DEBUG" value="false" description="debug mode to send timing info through telemetry"/>
|
||||
</module>
|
||||
|
||||
|
||||
</firmware>
|
||||
|
||||
<!-- CAN BUS 1 (Front Wing) -->
|
||||
|
||||
Reference in New Issue
Block a user