Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
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>