Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
nav_spiral_3d module

Fixedwing navigation in a 3D spiral.

creating a helix:

  • start center (X, Y)
  • start and stop altitude
  • start and stop radius
  • 3D speed of the circle
    • in case alt diff is too small, vz is used as expension speed at constant altitude
    • in case of radius diff too small, doing a constant radius circle
      • if alt diff is too small, basic circle with horizontal speed (vz as no effect) setup will fail if:
  • alt diff and vz are not coherent
  • vz is too small and not doing circle

Example for airframe file

Add to your firmware section:

<module name="nav_spiral_3D"/>

Module configuration options

Airframe file section

  • section name: NAV_SPIRAL_3D prefix: NAV_SPIRAL_3D_
    • name DIST_DIFF value: 10.
      Description: horizontal distance to start and stop pattern
    • name ALT_DIFF value: 10.
      Description: vertical distance to start and stop pattern
    • name MIN_CIRCLE_RADIUS value: 60.
      Description: minium circle radius in meters

Module functions

Init Functions

These initialization functions are called once on startup.

Files

Header Files

The following headers are automatically included in modules.h

Source Files

Raw nav_spiral_3D.xml file:

<!DOCTYPE module SYSTEM "module.dtd">
<module name="nav_spiral_3D" dir="nav">
<doc>
<description>
Fixedwing navigation in a 3D spiral.
creating a helix:
- start center (X, Y)
- start and stop altitude
- start and stop radius
- 3D speed of the circle
- in case alt diff is too small, vz is used as expension speed at constant altitude
- in case of radius diff too small, doing a constant radius circle
- if alt diff is too small, basic circle with horizontal speed (vz as no effect)
setup will fail if:
- alt diff and vz are not coherent
- vz is too small and not doing circle
</description>
<section name="NAV_SPIRAL_3D" prefix="NAV_SPIRAL_3D_">
<define name="DIST_DIFF" value="10." description="horizontal distance to start and stop pattern"/>
<define name="ALT_DIFF" value="10." description="vertical distance to start and stop pattern"/>
<define name="MIN_CIRCLE_RADIUS" value="60." description="minium circle radius in meters"/>
</section>
</doc>
<dep>
<depends>@navigation</depends>
<recommends>@mission</recommends>
</dep>
<header>
<file name="nav_spiral_3D.h"/>
</header>
<init fun="nav_spiral_3D_init()"/>
<makefile target="ap|sim|nps">
<file name="nav_spiral_3D.c"/>
</makefile>
</module>