* simulation for bebop without act feedback

* Remove use of variable length arrays in WLS CA

Instead use defines to fix the length of arrays at compile time

* Use module conf to set control allocation size

By defining the control allocation problem size in the makefile section
of the module xml, there is no need to introduce a dependency on the
generated airframe file in the wls_alloc code

* Fix bebop simulation problem

Somehow the small inertia caused the drone to start upside down, maybe
some kind of overflow somewhere? In any case, this small change was
enough to do a simulation without issues...
This commit is contained in:
Ewoud Smeur
2020-04-17 22:12:20 +02:00
committed by GitHub
parent e8037af520
commit 66a0f367a7
9 changed files with 56 additions and 33 deletions
+10
View File
@@ -5,6 +5,10 @@
<description>
Full INDI stabilization controller for rotorcraft
</description>
<configure name="INDI_OUTPUTS" default="4"/>
<configure name="INDI_NUM_ACT" default="4"/>
<section name="RC_SETPOINT" prefix="STABILIZATION_ATTITUDE_">
<define name="SP_MAX_PHI" value="45." description="max setpoint for roll angle" unit="deg"/>
<define name="SP_MAX_THETA" value="45." description="max setpoint for pitch angle" unit="deg"/>
@@ -60,6 +64,12 @@
<file name="wls_alloc.c" dir="$(SRC_FIRMWARE)/stabilization/wls"/>
<file name="qr_solve.c" dir="math/qr_solve"/>
<file name="r8lib_min.c" dir="math/qr_solve"/>
<configure name="INDI_OUTPUTS" default="4"/>
<configure name="INDI_NUM_ACT" default="4"/>
<define name="INDI_OUTPUTS" value="$(INDI_OUTPUTS)"/>
<define name="INDI_NUM_ACT" value="$(INDI_NUM_ACT)"/>
<define name="CA_N_V" value="$(INDI_OUTPUTS)"/>
<define name="CA_N_U" value="$(INDI_NUM_ACT)"/>
<define name="STABILIZATION_ATTITUDE_TYPE_INT"/>
<define name="STABILIZATION_ATTITUDE_TYPE_H" value="stabilization/stabilization_attitude_quat_indi.h" type="string"/>
<define name="STABILIZATION_ATTITUDE_INDI_FULL" value="true"/>