Filter rates indi (#2718)

* Changed to use the filter interface

* Cleaning defines from airframe files

* update module doc

* [conf] Fix Nederdrone back wing numbering

* Filter frequency in Hz

* Fix nameing with prefix

Co-authored-by: Freek van Tienen <freek.v.tienen@gmail.com>
This commit is contained in:
Ewoud Smeur
2021-05-12 22:41:32 +02:00
committed by GitHub
parent 2490147fa0
commit e44277d1f9
52 changed files with 111 additions and 285 deletions
-1
View File
@@ -169,7 +169,6 @@
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="8.0"/>
<define name="FILT_CUTOFF_R" value="8.0"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.1"/>
-1
View File
@@ -172,7 +172,6 @@
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="8.0"/>
<define name="FILT_CUTOFF_R" value="8.0"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.1"/>
@@ -140,7 +140,6 @@
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="8.0"/>
<define name="FILT_CUTOFF_R" value="8.0"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.03"/>
@@ -233,7 +233,7 @@
<define name="REF_RATE_R" value="12.0"/>
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="8.0"/>
<define name="FILT_CUTOFF_R" value="3.2"/>
<define name="FILT_CUTOFF_RDOT" value="3.2"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.03"/>
<define name="ACT_DYN_Q" value="0.03"/>
+3 -9
View File
@@ -206,9 +206,9 @@
<define name="G1_R" value="0.0022"/>
<define name="G2_R" value="0.20"/>
<define name="FILTER_ROLL_RATE" value="TRUE"/>
<define name="FILTER_PITCH_RATE" value="TRUE"/>
<define name="FILTER_YAW_RATE" value="FALSE"/>
<!--unit: Hz-->
<define name="FILT_CUTOFF_P" value="20.0"/>
<define name="FILT_CUTOFF_Q" value="20.0"/>
<!-- reference acceleration for attitude control -->
<define name="REF_ERR_P" value="170.0"/>
@@ -218,12 +218,6 @@
<define name="REF_RATE_Q" value="28.0"/>
<define name="REF_RATE_R" value="28.0"/>
<!-- second order filter parameters -->
<define name="FILT_OMEGA" value="20.0"/>
<define name="FILT_ZETA" value="0.55"/>
<define name="FILT_OMEGA_R" value="20.0"/>
<define name="FILT_ZETA_R" value="0.55"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.06"/>
<define name="ACT_DYN_Q" value="0.06"/>
@@ -155,13 +155,6 @@
<define name="G1_R" value="0.0025"/>
<define name="G2_R" value="0.36"/-->
<!-- Here it is assumed that your removed the damping from your bebop2!
The dampers do not really damp, but cause oscillation. By removing/
fixing them, the bebop2 will fly much better-->
<define name="FILTER_ROLL_RATE" value="FALSE"/>
<define name="FILTER_PITCH_RATE" value="FALSE"/>
<define name="FILTER_YAW_RATE" value="FALSE"/>
<!-- reference acceleration for attitude control -->
<define name="REF_ERR_P" value="600.0"/>
<define name="REF_ERR_Q" value="600.0"/>
@@ -172,7 +165,7 @@
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="3.2"/>
<define name="FILT_CUTOFF_R" value="3.2"/>
<define name="FILT_CUTOFF_RDOT" value="3.2"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.06"/>
@@ -157,13 +157,6 @@
<define name="G1_R" value="0.0025"/>
<define name="G2_R" value="0.36"/-->
<!-- Here it is assumed that your removed the damping from your bebop2!
The dampers do not really damp, but cause oscillation. By removing/
fixing them, the bebop2 will fly much better-->
<define name="FILTER_ROLL_RATE" value="FALSE"/>
<define name="FILTER_PITCH_RATE" value="FALSE"/>
<define name="FILTER_YAW_RATE" value="FALSE"/>
<!-- reference acceleration for attitude control -->
<define name="REF_ERR_P" value="600.0"/>
<define name="REF_ERR_Q" value="600.0"/>
@@ -174,7 +167,7 @@
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="3.2"/>
<define name="FILT_CUTOFF_R" value="3.2"/>
<define name="FILT_CUTOFF_RDOT" value="3.2"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.06"/>
@@ -203,10 +203,6 @@
<define name="G1_R" value="-0.0015942f"/>
<define name="G2_R" value="-0.11281f"/>
<define name="FILTER_ROLL_RATE" value="FALSE"/>
<define name="FILTER_PITCH_RATE" value="FALSE"/>
<define name="FILTER_YAW_RATE" value="FALSE"/>
<!-- reference acceleration for attitude control -->
<define name="REF_ERR_P" value="3.57f"/>
<define name="REF_ERR_Q" value="3.57f"/>
@@ -217,7 +213,7 @@
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="8.0f"/>
<define name="FILT_CUTOFF_R" value="8.0f"/>
<define name="FILT_CUTOFF_RDOT" value="8.0f"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.03149f"/>
-8
View File
@@ -148,13 +148,6 @@
<define name="G1_R" value="0.0010"/>
<define name="G2_R" value="0.236"/>
<!-- Here it is assumed that your removed the damping from your bebop2!
The dampers do not really damp, but cause oscillation. By removing/
fixing them, the bebop2 will fly much better-->
<define name="FILTER_ROLL_RATE" value="FALSE"/>
<define name="FILTER_PITCH_RATE" value="FALSE"/>
<define name="FILTER_YAW_RATE" value="FALSE"/>
<!-- reference acceleration for attitude control -->
<define name="REF_ERR_P" value="600.0"/>
<define name="REF_ERR_Q" value="600.0"/>
@@ -165,7 +158,6 @@
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="3.2"/>
<define name="FILT_CUTOFF_R" value="3.2"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.06"/>
+1 -1
View File
@@ -180,7 +180,7 @@
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="8.0"/>
<define name="FILT_CUTOFF_R" value="3.2"/>
<define name="FILT_CUTOFF_RDOT" value="3.2"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.03"/>
-14
View File
@@ -176,13 +176,6 @@
<define name="G1_R" value="0.0022"/>
<define name="G2_R" value="0.20"/>
<!-- Here it is assumed that your removed the damping from your bebop2!
The dampers do not really damp, but cause oscillation. By removing/
fixing them, the bebop2 will fly much better-->
<define name="FILTER_ROLL_RATE" value="FALSE"/>
<define name="FILTER_PITCH_RATE" value="FALSE"/>
<define name="FILTER_YAW_RATE" value="FALSE"/>
<!-- reference acceleration for attitude control -->
<define name="REF_ERR_P" value="600.0"/>
<define name="REF_ERR_Q" value="600.0"/>
@@ -191,15 +184,8 @@
<define name="REF_RATE_Q" value="28.0"/>
<define name="REF_RATE_R" value="28.0"/>
<!-- second order filter parameters -->
<define name="FILT_OMEGA" value="20.0"/>
<define name="FILT_ZETA" value="0.7"/>
<define name="FILT_OMEGA_R" value="20.0"/>
<define name="FILT_ZETA_R" value="0.7"/>
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="3.2"/>
<define name="FILT_CUTOFF_R" value="3.2"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.06"/>
@@ -495,11 +495,6 @@ The most crucial part for the magnetometer calibration:
<define name="G1_R" value="0.001049" />
<define name="G2_R" value="0.076486" />
<!-- It could be well possible we need to filter the roll rate -->
<define name="FILTER_ROLL_RATE" value="FALSE"/>
<define name="FILTER_PITCH_RATE" value="FALSE"/>
<define name="FILTER_YAW_RATE" value="FALSE"/>
<!-- reference acceleration for attitude control -->
<define name="REF_ERR_P" value="100.0"/>
<define name="REF_ERR_Q" value="200.0"/>
@@ -509,7 +504,6 @@ The most crucial part for the magnetometer calibration:
<define name="REF_RATE_R" value="20.0"/>
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="3.2"/>
<define name="FILT_CUTOFF_R" value="3.2"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.04"/>
@@ -261,10 +261,6 @@
<define name="G1_R" value="-0.0015942f"/>
<define name="G2_R" value="-0.11281f"/>
<define name="FILTER_ROLL_RATE" value="FALSE"/>
<define name="FILTER_PITCH_RATE" value="FALSE"/>
<define name="FILTER_YAW_RATE" value="FALSE"/>
<!-- reference acceleration for attitude control -->
<define name="REF_ERR_P" value="3.57f"/>
<define name="REF_ERR_Q" value="3.57f"/>
@@ -275,7 +271,6 @@
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="8.0f"/>
<define name="FILT_CUTOFF_R" value="8.0f"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.03149f"/>
@@ -350,4 +345,4 @@
<define name="ALT_SHIFT_MINUS" value="-1"/>
<define name="AC_ICON" value="quadrotor_xi"/>
</section>
</airframe>
</airframe>
@@ -380,11 +380,6 @@
<define name="G1_R" value="0.0022"/>
<define name="G2_R" value="0.20"/>
<!-- For some airframes, e.g. Bebop2 we need to filter the roll rate due to the dampers -->
<define name="FILTER_ROLL_RATE" value="FALSE"/>
<define name="FILTER_PITCH_RATE" value="FALSE"/>
<define name="FILTER_YAW_RATE" value="FALSE"/>
<!-- reference acceleration for attitude control -->
<define name="REF_ERR_P" value="170.0"/>
<define name="REF_ERR_Q" value="600.0"/>
@@ -396,7 +391,6 @@
<!-- second order filter parameters -->
<define name="ESTIMATION_FILT_CUTOFF" value="4.0"/>
<define name="FILT_CUTOFF" value="5.0"/>
<define name="FILT_CUTOFF_P" value="5.0"/>
<!-- first order actuator dynamics (indi_simple) -->
<define name="ACT_DYN_P" value="0.06"/>
@@ -329,11 +329,6 @@
<define name="G1_R" value="0.0022"/>
<define name="G2_R" value="0.20"/>
<!-- For some airframes, e.g. Bebop2 we need to filter the roll rate due to the dampers -->
<define name="FILTER_ROLL_RATE" value="FALSE"/>
<define name="FILTER_PITCH_RATE" value="FALSE"/>
<define name="FILTER_YAW_RATE" value="FALSE"/>
<!-- reference acceleration for attitude control -->
<define name="REF_ERR_P" value="170.0"/>
<define name="REF_ERR_Q" value="600.0"/>
@@ -345,7 +340,6 @@
<!-- second order filter parameters -->
<define name="ESTIMATION_FILT_CUTOFF" value="4.0"/>
<define name="FILT_CUTOFF" value="5.0"/>
<define name="FILT_CUTOFF_P" value="5.0"/>
<!-- first order actuator dynamics (indi_simple) -->
<define name="ACT_DYN_P" value="0.06"/>
@@ -376,11 +376,6 @@
<define name="G1_R" value="0.0022"/>
<define name="G2_R" value="0.20"/>
<!-- For some airframes, e.g. Bebop2 we need to filter the roll rate due to the dampers -->
<define name="FILTER_ROLL_RATE" value="FALSE"/>
<define name="FILTER_PITCH_RATE" value="FALSE"/>
<define name="FILTER_YAW_RATE" value="FALSE"/>
<!-- reference acceleration for attitude control -->
<define name="REF_ERR_P" value="170.0"/>
<define name="REF_ERR_Q" value="600.0"/>
@@ -392,7 +387,6 @@
<!-- second order filter parameters -->
<define name="ESTIMATION_FILT_CUTOFF" value="4.0"/>
<define name="FILT_CUTOFF" value="5.0"/>
<define name="FILT_CUTOFF_P" value="5.0"/>
<!-- first order actuator dynamics (indi_simple) -->
<define name="ACT_DYN_P" value="0.06"/>
@@ -425,11 +425,6 @@ The most crucial part for the magnetometer calibration:
<define name="G1_R" value="0.0032"/>
<define name="G2_R" value="0.16"/>
<!-- For the ArDrone MAYBE we need to filter the roll rate due to the dampers -->
<define name="FILTER_ROLL_RATE" value="FALSE"/>
<define name="FILTER_PITCH_RATE" value="FALSE"/>
<define name="FILTER_YAW_RATE" value="FALSE"/>
<!-- reference acceleration for attitude control -->
<define name="REF_ERR_P" value="380.0"/>
<define name="REF_ERR_Q" value="380.0"/>
@@ -440,7 +435,6 @@ The most crucial part for the magnetometer calibration:
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="3.2"/>
<define name="FILT_CUTOFF_R" value="3.2"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.06"/>
@@ -464,16 +464,8 @@ The most crucial part for the magnetometer calibration:
<define name="G1_R" value="0.0022"/>
<define name="G2_R" value="0.20"/>-->
<!-- ? Maybe with a High capacity battery(heavier, and weight lies higher) for the bebop1 we also need to filter the roll rate due to the dampers -->
<define name="FILTER_ROLL_RATE" value="TRUE"/>
<define name="FILTER_PITCH_RATE" value="FALSE"/>
<define name="FILTER_YAW_RATE" value="FALSE"/>
<!-- Here it is assumed that your removed the damping from your bebop!
The dampers damp, but also cause oscillation. By making them fix, the bebop could fly better with INDI -->
<!--<define name="FILTER_ROLL_RATE" value="FALSE"/>
<define name="FILTER_PITCH_RATE" value="FALSE"/>
<define name="FILTER_YAW_RATE" value="FALSE"/>-->
<!--unit: Hz-->
<define name="FILT_CUTOFF_P" value="20.0"/>
<!-- reference acceleration for attitude control -->
<define name="REF_ERR_P" value="600.0"/>
@@ -490,7 +482,7 @@ The most crucial part for the magnetometer calibration:
second order filter parameters -->
<!-- NOT USED <define name="FILT_CUTOFF" value="4.0"/>
<define name="FILT_CUTOFF_R" value="4.0"/> -->
<define name="FILT_CUTOFF_RDOT" value="4.0"/> -->
<!-- first order actuator dynamics -->
<!-- <define name="ACT_DYN_P" value="0.06"/>
@@ -470,16 +470,8 @@ The most crucial part for the magnetometer calibration:
<define name="G2_R" value="0.20"/>
<!-- For the bebop2 we need to filter the roll rate due to the dampers, with fixed damper set to false -->
<define name="FILTER_ROLL_RATE" value="TRUE"/>
<define name="FILTER_PITCH_RATE" value="FALSE"/>
<define name="FILTER_YAW_RATE" value="FALSE"/>
<!-- Here it is assumed that your removed the damping from your bebop2!
The dampers damp, but also cause oscillation. By making them fix, the bebop2 will fly much better on INDI -->
<!--<define name="FILTER_ROLL_RATE" value="FALSE"/>
<define name="FILTER_PITCH_RATE" value="FALSE"/>
<define name="FILTER_YAW_RATE" value="FALSE"/>-->
<!--unit: Hz-->
<define name="FILT_CUTOFF_P" value="20.0"/>
<!-- reference acceleration for attitude control -->
<define name="REF_ERR_P" value="170.0"/>
@@ -499,7 +491,6 @@ The most crucial part for the magnetometer calibration:
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="3.2"/>
<define name="FILT_CUTOFF_R" value="3.2"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.06"/>
@@ -567,11 +567,6 @@ The most crucial part for the magnetometer calibration:
<define name="G1_R" value="0.0095"/>
<define name="G2_R" value="0.0"/>
<!-- It could be well possible we need to filter the roll rate -->
<define name="FILTER_ROLL_RATE" value="FALSE"/>
<define name="FILTER_PITCH_RATE" value="FALSE"/>
<define name="FILTER_YAW_RATE" value="FALSE"/>
<!-- setpoints -->
<define name="SP_MAX_PHI" value="60." unit="deg"/>
<define name="SP_MAX_THETA" value="60." unit="deg"/>
@@ -590,7 +585,7 @@ The most crucial part for the magnetometer calibration:
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="8.0"/>
<define name="FILT_CUTOFF_R" value="3.2"/>
<define name="FILT_CUTOFF_RDOT" value="3.2"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.03"/>
-6
View File
@@ -129,11 +129,6 @@
<define name="G1_Q" value="0.0473"/>
<define name="G1_R" value="0.00122"/>
<!-- For the bebop2 we need to filter the roll rate due to the dampers -->
<define name="FILTER_ROLL_RATE" value="FALSE"/><!-- Set to TRUE when flying without locked dampers -->
<define name="FILTER_PITCH_RATE" value="FALSE"/>
<define name="FILTER_YAW_RATE" value="FALSE"/>
<!-- reference acceleration for attitude control -->
<define name="REF_ERR_P" value="170.0"/>
<define name="REF_ERR_Q" value="600.0"/>
@@ -144,7 +139,6 @@
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="3.2"/>
<define name="FILT_CUTOFF_R" value="3.2"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.06"/>
+1 -17
View File
@@ -144,13 +144,6 @@
<define name="G1_R" value="0.0010"/>
<define name="G2_R" value="0.236"/>
<!-- Here it is assumed that your removed the damping from your bebop2!
The dampers do not really damp, but cause oscillation. By removing/
fixing them, the bebop2 will fly much better-->
<define name="FILTER_ROLL_RATE" value="FALSE"/>
<define name="FILTER_PITCH_RATE" value="FALSE"/>
<define name="FILTER_YAW_RATE" value="FALSE"/>
<!-- reference acceleration for attitude control -->
<define name="REF_ERR_P" value="600.0"/>
<define name="REF_ERR_Q" value="600.0"/>
@@ -159,16 +152,7 @@
<define name="REF_RATE_Q" value="28.0"/>
<define name="REF_RATE_R" value="28.0"/>
<!-- second order filter parameters -->
<!-- old?
<define name="FILT_OMEGA" value="20.0"/>
<define name="FILT_ZETA" value="0.7"/>
<define name="FILT_OMEGA_R" value="20.0"/>
<define name="FILT_ZETA_R" value="0.7"/>
-->
<define name="FILT_CUTOFF" value="3.2"/>
<define name="FILT_CUTOFF_R" value="3.2"/>
<define name="FILT_CUTOFF" value="3.2"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.06"/>
@@ -148,10 +148,8 @@
<define name="G1_Q" value="0.025"/>
<define name="G1_R" value="0.0022"/>
<!-- For the bebop2 we need to filter the roll rate due to the dampers -->
<define name="FILTER_ROLL_RATE" value="TRUE"/>
<define name="FILTER_PITCH_RATE" value="FALSE"/>
<define name="FILTER_YAW_RATE" value="FALSE"/>
<!--unit: Hz-->
<define name="FILT_CUTOFF_P" value="20.0"/>
<!-- reference acceleration for attitude control -->
<define name="REF_ERR_P" value="170.0"/>
@@ -163,7 +161,6 @@
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="3.2"/>
<define name="FILT_CUTOFF_R" value="3.2"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.06"/>
@@ -125,7 +125,6 @@
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="8.0"/>
<define name="FILT_CUTOFF_R" value="8.0"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.2"/>
@@ -233,7 +233,7 @@
<define name="REF_RATE_R" value="12.0"/>
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="8.0"/>
<define name="FILT_CUTOFF_R" value="3.2"/>
<define name="FILT_CUTOFF_RDOT" value="3.2"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.03"/>
<define name="ACT_DYN_Q" value="0.03"/>
@@ -231,7 +231,7 @@
<define name="REF_RATE_R" value="12.0"/>
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="8.0"/>
<define name="FILT_CUTOFF_R" value="3.2"/>
<define name="FILT_CUTOFF_RDOT" value="3.2"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.03"/>
<define name="ACT_DYN_Q" value="0.03"/>
-6
View File
@@ -376,11 +376,6 @@
<define name="G1_R" value="0.0022"/>
<define name="G2_R" value="0.20"/>
<!-- For some airframes, e.g. Bebop2 we need to filter the roll rate due to the dampers -->
<define name="FILTER_ROLL_RATE" value="FALSE"/>
<define name="FILTER_PITCH_RATE" value="FALSE"/>
<define name="FILTER_YAW_RATE" value="FALSE"/>
<!-- reference acceleration for attitude control -->
<define name="REF_ERR_P" value="170.0"/>
<define name="REF_ERR_Q" value="600.0"/>
@@ -392,7 +387,6 @@
<!-- second order filter parameters -->
<define name="ESTIMATION_FILT_CUTOFF" value="4.0"/>
<define name="FILT_CUTOFF" value="5.0"/>
<define name="FILT_CUTOFF_P" value="5.0"/>
<!-- first order actuator dynamics (indi_simple) -->
<define name="ACT_DYN_P" value="0.06"/>
@@ -195,7 +195,6 @@
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="3.2" />
<define name="FILT_CUTOFF_R" value="3.2" />
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.06" />
-1
View File
@@ -151,7 +151,6 @@
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="3.2"/>
<define name="FILT_CUTOFF_R" value="3.2"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.06"/>
@@ -124,7 +124,6 @@
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="3.2"/>
<define name="FILT_CUTOFF_R" value="3.2"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.06"/>
-5
View File
@@ -103,11 +103,6 @@
<!--Counter torque effect of spinning up a rotor-->
<define name="G2" value="{ 110.f, -110.f, 110.f, -110.f}"/>
<!-- For the bebop2 we need to filter the roll rate due to the dampers -->
<define name="FILTER_ROLL_RATE" value="FALSE"/>
<define name="FILTER_PITCH_RATE" value="FALSE"/>
<define name="FILTER_YAW_RATE" value="FALSE"/>
<!-- reference acceleration for attitude control -->
<define name="REF_ERR_P" value="380.f"/>
<define name="REF_ERR_Q" value="380.f"/>
+1 -8
View File
@@ -130,13 +130,6 @@
<define name="G1_R" value="0.0022"/>
<define name="G2_R" value="0.20"/>
<!-- Here it is assumed that your removed the damping from your bebop2!
The dampers do not really damp, but cause oscillation. By removing/
fixing them, the bebop2 will fly much better-->
<define name="FILTER_ROLL_RATE" value="FALSE"/>
<define name="FILTER_PITCH_RATE" value="FALSE"/>
<define name="FILTER_YAW_RATE" value="FALSE"/>
<!-- reference acceleration for attitude control -->
<define name="REF_ERR_P" value="600.0"/>
<define name="REF_ERR_Q" value="600.0"/>
@@ -147,7 +140,7 @@
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="3.2"/>
<define name="FILT_CUTOFF_R" value="3.2"/>
<define name="FILT_CUTOFF_RDOT" value="3.2"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.06"/>
+1 -17
View File
@@ -162,13 +162,6 @@
<define name="G1_R" value="0.0010"/>
<define name="G2_R" value="0.236"/>
<!-- Here it is assumed that your removed the damping from your bebop2!
The dampers do not really damp, but cause oscillation. By removing/
fixing them, the bebop2 will fly much better-->
<define name="FILTER_ROLL_RATE" value="FALSE"/>
<define name="FILTER_PITCH_RATE" value="FALSE"/>
<define name="FILTER_YAW_RATE" value="FALSE"/>
<!-- reference acceleration for attitude control -->
<define name="REF_ERR_P" value="600.0"/>
<define name="REF_ERR_Q" value="600.0"/>
@@ -177,16 +170,7 @@
<define name="REF_RATE_Q" value="28.0"/>
<define name="REF_RATE_R" value="28.0"/>
<!-- second order filter parameters -->
<!-- old?
<define name="FILT_OMEGA" value="20.0"/>
<define name="FILT_ZETA" value="0.7"/>
<define name="FILT_OMEGA_R" value="20.0"/>
<define name="FILT_ZETA_R" value="0.7"/>
-->
<define name="FILT_CUTOFF" value="3.2"/>
<define name="FILT_CUTOFF_R" value="3.2"/>
<define name="FILT_CUTOFF" value="3.2"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.06"/>
+1 -6
View File
@@ -138,11 +138,6 @@
<define name="G1_R" value="0.0022"/>
<define name="G2_R" value="0.20"/>
<!-- For the bebop2 we need to filter the roll rate due to the dampers -->
<define name="FILTER_ROLL_RATE" value="FALSE"/>
<define name="FILTER_PITCH_RATE" value="FALSE"/>
<define name="FILTER_YAW_RATE" value="FALSE"/>
<!-- reference acceleration for attitude control -->
<define name="REF_ERR_P" value="170.0"/>
<define name="REF_ERR_Q" value="600.0"/>
@@ -153,7 +148,7 @@
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="3.2"/>
<define name="FILT_CUTOFF_R" value="3.2"/>
<define name="FILT_CUTOFF_RDOT" value="3.2"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.06"/>
@@ -174,13 +174,6 @@
<define name="G1_R" value="0.0025"/>
<define name="G2_R" value="0.36"/>
<!-- Here it is assumed that your removed the damping from your bebop2!
The dampers do not really damp, but cause oscillation. By removing/
fixing them, the bebop2 will fly much better-->
<define name="FILTER_ROLL_RATE" value="FALSE"/>
<define name="FILTER_PITCH_RATE" value="FALSE"/>
<define name="FILTER_YAW_RATE" value="FALSE"/>
<!-- reference acceleration for attitude control -->
<define name="REF_ERR_P" value="600.0"/>
<define name="REF_ERR_Q" value="600.0"/>
@@ -191,7 +184,7 @@
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="3.2"/>
<define name="FILT_CUTOFF_R" value="3.2"/>
<define name="FILT_CUTOFF_RDOT" value="3.2"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.06"/>
@@ -163,13 +163,6 @@
<define name="G1_R" value="0.0025"/>
<define name="G2_R" value="0.36"/>
<!-- Here it is assumed that your removed the damping from your bebop2!
The dampers do not really damp, but cause oscillation. By removing/
fixing them, the bebop2 will fly much better-->
<define name="FILTER_ROLL_RATE" value="FALSE"/>
<define name="FILTER_PITCH_RATE" value="FALSE"/>
<define name="FILTER_YAW_RATE" value="FALSE"/>
<!-- reference acceleration for attitude control -->
<define name="REF_ERR_P" value="600.0"/>
<define name="REF_ERR_Q" value="600.0"/>
@@ -180,7 +173,6 @@
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="3.2"/>
<define name="FILT_CUTOFF_R" value="3.2"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.06"/>
@@ -173,7 +173,6 @@
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="8.0"/>
<define name="FILT_CUTOFF_R" value="8.0"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.1"/>
-1
View File
@@ -171,7 +171,6 @@
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="8.0"/>
<define name="FILT_CUTOFF_R" value="8.0"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.1"/>
-1
View File
@@ -180,7 +180,6 @@
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="8.0"/>
<define name="FILT_CUTOFF_R" value="8.0"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.1"/>
@@ -154,7 +154,6 @@
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="8.0"/>
<define name="FILT_CUTOFF_R" value="8.0"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.1"/>
@@ -130,7 +130,6 @@ ARDrone2 with optical_flow landing.
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="3.2"/>
<define name="FILT_CUTOFF_R" value="3.2"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.06"/>
+1 -5
View File
@@ -195,10 +195,6 @@
<define name="G1_Q" value="0.018315" />
<define name="G1_R" value="0.001049" />
<define name="G2_R" value="0.076486" />
<!-- For the bebop2 we need to filter the roll rate due to the dampers -->
<define name="FILTER_ROLL_RATE" value="FALSE" />
<define name="FILTER_PITCH_RATE" value="FALSE" />
<define name="FILTER_YAW_RATE" value="FALSE" />
<!-- reference acceleration for attitude control -->
<define name="REF_ERR_P" value="100.0" />
<define name="REF_ERR_Q" value="100.0" />
@@ -208,7 +204,7 @@
<define name="REF_RATE_R" value="14.0" />
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="3.2"/>
<define name="FILT_CUTOFF_R" value="3.2"/>
<define name="FILT_CUTOFF_RDOT" value="3.2"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.04" />
<define name="ACT_DYN_Q" value="0.04" />
+1 -1
View File
@@ -184,7 +184,7 @@
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="8.0"/>
<define name="FILT_CUTOFF_R" value="3.2"/>
<define name="FILT_CUTOFF_RDOT" value="3.2"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.03"/>
+1 -1
View File
@@ -174,7 +174,7 @@
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="8.0"/>
<define name="FILT_CUTOFF_R" value="3.2"/>
<define name="FILT_CUTOFF_RDOT" value="3.2"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.15"/>
+12 -17
View File
@@ -21,12 +21,9 @@
<configure name="SBUS_PORT" value="UART3"/>
</module>
<module name="airspeed" type="ets">
<module name="airspeed" type="ms45xx_i2c">
<define name="USE_I2C4"/>
<configure name="AIRSPEED_ETS_I2C_DEV" value="I2C4"/>
<define name="AIRSPEED_ETS_SYNC_SEND"/>
<define name="USE_AIRSPEED_ETS" value="TRUE"/>
<define name="AIRSPEED_ETS_SCALE" value="1.24"/>
<define name="MS45XX_I2C_DEV" value="i2c4"/>
</module>
<!-- TODO: add this module -->
@@ -148,10 +145,10 @@
<servo name="MOTOR_10" no="3" min="-8191" neutral="1500" max="8191"/>
<servo name="MOTOR_11" no="4" min="-8191" neutral="1500" max="8191"/>
<servo name="MOTOR_12" no="5" min="-8191" neutral="1500" max="8191"/>
<servo name="FLAP_3" no="6" min="-6000" neutral="0" max="6000"/>
<servo name="AIL_3" no="7" min="-6000" neutral="0" max="6000"/>
<servo name="AIL_4" no="8" min="6000" neutral="0" max="-6000"/>
<servo name="FLAP_4" no="9" min="6000" neutral="0" max="-6000"/>
<servo name="AIL_3" no="6" min="6000" neutral="0" max="-6000"/>
<servo name="FLAP_3" no="7" min="6000" neutral="0" max="-6000"/>
<servo name="FLAP_4" no="8" min="-6000" neutral="0" max="6000"/>
<servo name="AIL_4" no="9" min="-6000" neutral="0" max="6000"/>
</servos>
<commands>
@@ -169,8 +166,8 @@
</rc_commands>
<section name="MIXING" prefix="MOTOR_MIXING_">
<!-- frontleft left (CW), frontleft mid (CW), frontleft right (CCW), frontright left (CW), frontright mid (CCW), frontright right (CCW) -->
<!-- backleft left (CCW), backleft mid (CW), backleft right (CCW), backright left (CW), backright mid (CCW), backright right (CW) -->
<!-- frontleft left (CCW), frontleft mid (CW), frontleft right (CCW), frontright left (CW), frontright mid (CCW), frontright right (CW) -->
<!-- backleft left (CW), backleft mid (CCW), backleft right (CW), backright left (CCW), backright mid (CW), backright right (CCW) -->
<define name="NB_MOTOR" value="12"/>
<define name="SCALE" value="256"/>
<define name="ROLL_COEF" value="{256, 157, 56, -56, -157, -256, 256, 157, 56, -56, -157, -256}"/>
@@ -200,12 +197,12 @@
<!-- Removed ApplyDiff for differential control -->
<set servo="AIL_1" value="-2*@PITCH + ( 2*@YAW)"/>
<set servo="AIL_2" value="-2*@PITCH + (- 2*@YAW)"/>
<set servo="AIL_3" value=" 2*@PITCH + (- 2*@YAW)"/>
<set servo="AIL_4" value=" 2*@PITCH + ( 2*@YAW)"/>
<set servo="AIL_3" value=" 2*@PITCH + ( 2*@YAW)"/>
<set servo="AIL_4" value=" 2*@PITCH + (- 2*@YAW)"/>
<set servo="FLAP_1" value="-2*@PITCH + ( 2*@YAW)"/>
<set servo="FLAP_2" value="-2*@PITCH + (- 2*@YAW)"/>
<set servo="FLAP_3" value=" 2*@PITCH + (- 2*@YAW)"/>
<set servo="FLAP_4" value=" 2*@PITCH + ( 2*@YAW)"/>
<set servo="FLAP_3" value=" 2*@PITCH + ( 2*@YAW)"/>
<set servo="FLAP_4" value=" 2*@PITCH + (- 2*@YAW)"/>
</command_laws>
<section name="MISC">
@@ -373,8 +370,6 @@
<define name="ESTIMATION_FILT_CUTOFF" value="5.0"/>
<define name="FILT_CUTOFF_R" value="4.0"/>
<define name="FILTER_YAW_RATE" value="TRUE"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.0354"/>
<define name="ACT_DYN_Q" value="0.0354"/>
+10 -12
View File
@@ -146,10 +146,10 @@
<servo name="MOTOR_10" no="3" min="-8191" neutral="1500" max="8191"/>
<servo name="MOTOR_11" no="4" min="-8191" neutral="1500" max="8191"/>
<servo name="MOTOR_12" no="5" min="-8191" neutral="1500" max="8191"/>
<servo name="FLAP_3" no="6" min="-6000" neutral="0" max="6000"/>
<servo name="AIL_3" no="7" min="-6000" neutral="0" max="6000"/>
<servo name="AIL_4" no="8" min="6000" neutral="0" max="-6000"/>
<servo name="FLAP_4" no="9" min="6000" neutral="0" max="-6000"/>
<servo name="AIL_3" no="6" min="6000" neutral="0" max="6000"/>
<servo name="FLAP_3" no="7" min="6000" neutral="0" max="6000"/>
<servo name="FLAP_4" no="8" min="-6000" neutral="0" max="6000"/>
<servo name="AIL_4" no="9" min="-6000" neutral="0" max="6000"/>
</servos>
<commands>
@@ -167,8 +167,8 @@
</rc_commands>
<section name="MIXING" prefix="MOTOR_MIXING_">
<!-- frontleft left (CW), frontleft mid (CW), frontleft right (CCW), frontright left (CW), frontright mid (CCW), frontright right (CCW) -->
<!-- backleft left (CCW), backleft mid (CW), backleft right (CCW), backright left (CW), backright mid (CCW), backright right (CW) -->
<!-- frontleft left (CCW), frontleft mid (CW), frontleft right (CCW), frontright left (CW), frontright mid (CCW), frontright right (CW) -->
<!-- backleft left (CW), backleft mid (CCW), backleft right (CW), backright left (CCW), backright mid (CW), backright right (CCW) -->
<define name="NB_MOTOR" value="12"/>
<define name="SCALE" value="256"/>
<define name="ROLL_COEF" value="{256, 157, 56, -56, -157, -256, 256, 157, 56, -56, -157, -256}"/>
@@ -198,12 +198,12 @@
<!-- Removed ApplyDiff for differential control -->
<set servo="AIL_1" value="-2*@PITCH + ( 2*@YAW)"/>
<set servo="AIL_2" value="-2*@PITCH + (- 2*@YAW)"/>
<set servo="AIL_3" value=" 2*@PITCH + (- 2*@YAW)"/>
<set servo="AIL_4" value=" 2*@PITCH + ( 2*@YAW)"/>
<set servo="AIL_3" value=" 2*@PITCH + ( 2*@YAW)"/>
<set servo="AIL_4" value=" 2*@PITCH + (- 2*@YAW)"/>
<set servo="FLAP_1" value="-2*@PITCH + ( 2*@YAW)"/>
<set servo="FLAP_2" value="-2*@PITCH + (- 2*@YAW)"/>
<set servo="FLAP_3" value=" 2*@PITCH + (- 2*@YAW)"/>
<set servo="FLAP_4" value=" 2*@PITCH + ( 2*@YAW)"/>
<set servo="FLAP_3" value=" 2*@PITCH + ( 2*@YAW)"/>
<set servo="FLAP_4" value=" 2*@PITCH + (- 2*@YAW)"/>
</command_laws>
<section name="MISC">
@@ -375,8 +375,6 @@
<define name="ESTIMATION_FILT_CUTOFF" value="5.0"/>
<define name="FILT_CUTOFF_R" value="4.0"/>
<define name="FILTER_YAW_RATE" value="TRUE"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.0354"/>
<define name="ACT_DYN_Q" value="0.0354"/>
+1 -5
View File
@@ -181,10 +181,6 @@ Flapping wing frame equiped with
<define name="G1_Q" value="0.018315" />
<define name="G1_R" value="0.001049" />
<define name="G2_R" value="0.076486" />
<!-- For the bebop2 we need to filter the roll rate due to the dampers -->
<define name="FILTER_ROLL_RATE" value="FALSE" />
<define name="FILTER_PITCH_RATE" value="FALSE" />
<define name="FILTER_YAW_RATE" value="FALSE" />
<!-- reference acceleration for attitude control -->
<define name="REF_ERR_P" value="100.0" />
<define name="REF_ERR_Q" value="100.0" />
@@ -194,7 +190,7 @@ Flapping wing frame equiped with
<define name="REF_RATE_R" value="14.0" />
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="3.2"/>
<define name="FILT_CUTOFF_R" value="3.2"/>
<define name="FILT_CUTOFF_RDOT" value="3.2"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.04" />
<define name="ACT_DYN_Q" value="0.04" />
-5
View File
@@ -166,10 +166,6 @@
<define name="G1_Q" value="0.025867" />
<define name="G1_R" value="0.002055" />
<define name="G2_R" value="0.15865" />
<!-- For the bebop2 we need to filter the roll rate due to the dampers -->
<define name="FILTER_ROLL_RATE" value="FALSE" />
<define name="FILTER_PITCH_RATE" value="FALSE" />
<define name="FILTER_YAW_RATE" value="FALSE" />
<!-- reference acceleration for attitude control -->
<define name="REF_ERR_P" value="100.0" />
<define name="REF_ERR_Q" value="100.0" />
@@ -179,7 +175,6 @@
<define name="REF_RATE_R" value="14.0" />
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="3.2"/>
<define name="FILT_CUTOFF_R" value="3.2"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.04" />
<define name="ACT_DYN_Q" value="0.04" />
+6 -1
View File
@@ -37,7 +37,8 @@
<define name="REF_RATE_Q" value="28.0" description="linear gains for INDI reference"/>
<define name="REF_RATE_R" value="28.0" description="linear gains for INDI reference"/>
<define name="MAX_R" value="120.0" description="max yaw rate" unit="deg/s"/>
<define name="FILT_CUTOFF" value="8.0" description="second order cutoff parameter"/>
<define name="FILT_CUTOFF" value="8.0" description="second order filter cutoff frequency Hz"/>
<define name="FILT_CUTOFF_RDOT" value="8.0" description="second order filter cutoff frequency rdot Hz"/>
<define name="ESTIMATION_FILT_CUTOFF" value="8.0" description="second order cutoff parameter"/>
<define name="ACT_DYN_P" value="0.1" description="first order actuator dynamics on roll rate"/>
<define name="ACT_DYN_Q" value="0.1" description="first order actuator dynamics on pitch rate"/>
@@ -45,6 +46,9 @@
<define name="USE_ADAPTIVE" value="FALSE|TRUE" description="enable adaptive gains"/>
<define name="ADAPTIVE_MU" value="0.0001" description="adaptation parameter"/>
<define name="FULL_AUTHORITY" value="FALSE" description="Enable full control authority"/>
<define name="FILT_CUTOFF_P" value="30.0" description="First order filter P cutoff value"/>
<define name="FILT_CUTOFF_Q" value="30.0" description="First order filter Q cutoff value"/>
<define name="FILT_CUTOFF_R" value="30.0" description="First order filter R cutoff value"/>
</section>
</doc>
<settings>
@@ -63,6 +67,7 @@
<dl_setting var="indi.adaptive" min="0" step="1" max="1" shortname="use_adaptive" values="FALSE|TRUE" param="STABILIZATION_INDI_USE_ADAPTIVE" type="uint8" persistent="true"/>
<dl_setting var="indi.max_rate" min="0" step="0.01" max="400.0" shortname="max_rate" param="STABILIZATION_INDI_MAX_RATE" unit="rad/s" alt_unit="deg/s"/>
<dl_setting var="indi.attitude_max_yaw_rate" min="0" step="0.01" max="400.0" shortname="max_yaw_rate_attitude" param="STABILIZATION_INDI_MAX_R" unit="rad/s" alt_unit="deg/s"/>
<dl_setting var="indi.cutoff_r" min="0.2" step="0.1" max="30.0" shortname="r_cutoff_hz" handler="reset_r_filter_cutoff" type="float" module="stabilization/stabilization_indi_simple"/>
</dl_settings>
</dl_settings>
</settings>
+1 -1
View File
@@ -293,7 +293,7 @@
telemetry="telemetry/highspeed_rotorcraft.xml"
flight_plan="flight_plans/tudelft/nederdrone_valkenburg.xml"
settings="settings/rotorcraft_basic.xml"
settings_modules="modules/air_data.xml modules/gps.xml modules/gps_ubx_ucenter.xml modules/guidance_indi_hybrid.xml modules/guidance_rotorcraft.xml modules/imu_common.xml modules/ins_ekf2.xml modules/nav_basic_rotorcraft.xml modules/nav_survey_rectangle_rotorcraft.xml modules/stabilization_indi_simple.xml"
settings_modules="modules/air_data.xml modules/airspeed_ms45xx_i2c.xml modules/gps.xml modules/gps_ubx_ucenter.xml modules/guidance_indi_hybrid.xml modules/guidance_rotorcraft.xml modules/imu_common.xml modules/ins_ekf2.xml modules/nav_basic_rotorcraft.xml modules/nav_survey_rectangle_rotorcraft.xml modules/stabilization_indi_simple.xml"
gui_color="blue"
/>
<aircraft

Some files were not shown because too many files have changed in this diff Show More