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

Polygon survey from OSAM.

You can use: nav_survey_poly_osam_setup function for static definitions or nav_survey_poly_osam_setup_towards for a more flexible setup

Example for airframe file

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

<module name="nav_survey_poly_osam">
b'<define name="POLY_OSAM_POLYGONSIZE" value="10" />\n '
b'<define name="POLY_OSAM_ENTRY_RADIUS" value="0" />\n '
b'<define name="POLY_OSAM_DEFAULT_SIZE" value="5" />\n '
b'<define name="POLY_OSAM_DEFAULT_SWEEP" value="120" />\n '
b'<define name="POLY_OSAM_MIN_RADIUS" value="30" />\n '
b'<define name="POLY_OSAM_FIRST_SWEEP_DISTANCE" value="4" />\n '
b'<define name="NAV_SURVEY_POLY_OSAM_DYNAMIC" value="FALSE|TRUE" />\n '
</module>

Module configuration options

Define Options

  • name: POLY_OSAM_POLYGONSIZE value: 10
    Description: max waypoints usable in polygon survey
  • name: POLY_OSAM_ENTRY_RADIUS value: 0
    Description: entry circle radius in meters. If 0 radius equal to half sweep
  • name: POLY_OSAM_DEFAULT_SIZE value: 5
    Description: default number of waypoints/corners used in polygon survey. Can be changed by telemetry
  • name: POLY_OSAM_DEFAULT_SWEEP value: 120
    Description: default distance in m between lines. Can be changed by telemetry
  • name: POLY_OSAM_MIN_RADIUS value: 30
    Description: min radius used in U-turns
  • name: POLY_OSAM_FIRST_SWEEP_DISTANCE value: 4
    Description: distante between the polygon border and first line.If 0 the distance well be equal to half sweep
  • name: NAV_SURVEY_POLY_OSAM_DYNAMIC value: FALSE|TRUE
    Description: Set to true to allow changing sweep distance mid polygon survey

Files

Header Files

The following headers are automatically included in modules.h

Source Files

Raw nav_survey_poly_osam.xml file:

<!DOCTYPE module SYSTEM "module.dtd">
<module name="nav_survey_poly_osam" dir="nav" task="control">
<doc>
<description>
Polygon survey from OSAM.
You can use:
* nav_survey_poly_osam_setup function for static definitions or
* nav_survey_poly_osam_setup_towards for a more flexible setup
</description>
<define name="POLY_OSAM_POLYGONSIZE" value="10" description="max waypoints usable in polygon survey"/>
<define name="POLY_OSAM_ENTRY_RADIUS" value="0" description="entry circle radius in meters. If 0 radius equal to half sweep"/>
<define name="POLY_OSAM_DEFAULT_SIZE" value="5" description="default number of waypoints/corners used in polygon survey. Can be changed by telemetry"/>
<define name="POLY_OSAM_DEFAULT_SWEEP" value="120" description="default distance in m between lines. Can be changed by telemetry"/>
<define name="POLY_OSAM_MIN_RADIUS" value="30" description="min radius used in U-turns"/>
<define name="POLY_OSAM_FIRST_SWEEP_DISTANCE" value="4" description="distante between the polygon border and first line.If 0 the distance well be equal to half sweep"/>
<define name="NAV_SURVEY_POLY_OSAM_DYNAMIC" value="FALSE|TRUE" description="Set to true to allow changing sweep distance mid polygon survey"/>
</doc>
<settings>
<dl_settings>
<dl_settings NAME="P_Survey">
<dl_setting min="0" max="20" step="1" var="Poly_Size" type="uint8_t" shortname="Size" module="modules/nav/nav_survey_poly_osam"/>
<dl_setting min="0" max="500" step="1" var="Poly_Sweep" type="float" shortname="Sweep" module="modules/nav/nav_survey_poly_osam"/>
<dl_setting min="0" max="1" step="1" values="FALSE|TRUE" var="Half_Sweep_Enabled" type="bool" shortname="Half Sweep" module="modules/nav/nav_survey_poly_osam"/>
<dl_setting min="0" max="1" step="1" values="FALSE|TRUE" var="Reset_Sweep" type="bool" shortname="Reset Sweep" module="modules/nav/nav_survey_poly_osam" handler="ResetSweepNumber"/>
</dl_settings>
</dl_settings>
</settings>
<dep>
<depends>@navigation</depends>
</dep>
<header>
<file name="nav_survey_poly_osam.h"/>
</header>
<makefile target="ap|sim|nps">
<file name="nav_survey_poly_osam.c"/>
<test firmware="fixedwing">
<define name="CTRL_TYPE_H" value="firmwares/fixedwing/guidance/guidance_v.h" type="string"/>
</test>
</makefile>
</module>