Paparazzi UAS v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
wls module

Weighted Least Square optimization algorithm.

Used for dynamic allocation of actuators, in particular with INDI-based control algorithms.

The size of the matrix (output vs. objectives) must be defined large enough for all the controllers

Example for airframe file

Add to your firmware section: This example contains all possible configuration options, not all of them are mandatory!

<module name="wls">
b'<define name="WLS_N_U_MAX" value="4" />\n '
b'<define name="WLS_N_V_MAX" value="4" />\n '
</module>

Module configuration options

Define Options

  • name: WLS_N_U_MAX value: 4
    Description: size of the control output vector (default: 6)
  • name: WLS_N_V_MAX value: 4
    Description: size of the control objectives vector (default: 4)

Files

Header Files

The following headers are automatically included in modules.h

Source Files

Raw wls.xml file:

<!DOCTYPE module SYSTEM "module.dtd">
<module name="wls" task="core">
<doc>
<description>
Weighted Least Square optimization algorithm.
Used for dynamic allocation of actuators, in particular
with INDI-based control algorithms.
The size of the matrix (output vs. objectives) must be defined large
enough for all the controllers
</description>
<define name="WLS_N_U_MAX" value="4" description="size of the control output vector (default: 6)"/>
<define name="WLS_N_V_MAX" value="4" description="size of the control objectives vector (default: 4)"/>
</doc>
<header>
<file name="wls_alloc.h" dir="math/wls"/>
</header>
<makefile>
<file name="wls_alloc.c" dir="math/wls"/>
<file name="qr_solve.c" dir="math/qr_solve"/>
<file name="r8lib_min.c" dir="math/qr_solve"/>
<test/>
</makefile>
</module>