Paparazzi UAS  v5.15_devel-230-gc96ce27
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
nav_survey_rectangle_rotorcraft module

Survey a rectangle with a rotorcraft.

From Uni Stuttgart. Adapted to rotorcraft by Eduardo Reginato Lavratti In the flight plan, the survey blocks call init and run functions:

  1. Initialize the variables needed for the survey to start, with nav_survey_polygon_setup(WP1, WP2, sweep_width, orientation)
    • WP1 the first corner of the rectangle (WP_waypoint_name)
    • WP2 the second corner of the rectangle (WP_waypoint_name)
    • sweep_width distance between the sweeps
    • angle NS or WE orientation
  2. Run the survey with nav_survey_rectangle_rotorcraft_run(WP1,WP2)

Example for airframe file

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

1 <module name="nav_survey_rectangle_rotorcraft">
2  <define name="RECTANGLE_SURVEY_DEFAULT_SWEEP" value="25" />
3  <define name="NAV_SURVEY_RECTANGLE_DYNAMIC" value="FALSE|TRUE" />
4 </module>

Module configuration options

Define Options

  • name: RECTANGLE_SURVEY_DEFAULT_SWEEP value: 25
    Description: default sweep distance when using dinamic setup
  • name: NAV_SURVEY_RECTANGLE_DYNAMIC value: FALSE|TRUE
    Description: Set to true to allow changing sweep distance mid survey

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_survey_rectangle_rotorcraft.xml file:

<!DOCTYPE module SYSTEM "module.dtd">
<module name="nav_survey_rectangle_for_rotorcraft" dir="nav">
<doc>
<description>
Survey a rectangle with a rotorcraft.
From Uni Stuttgart.
Adapted to rotorcraft by Eduardo Reginato Lavratti
In the flight plan, the survey blocks call init and run functions:
1. Initialize the variables needed for the survey to start, with nav_survey_polygon_setup(WP1, WP2, sweep_width, orientation)
- WP1 the first corner of the rectangle (WP_waypoint_name)
- WP2 the second corner of the rectangle (WP_waypoint_name)
- sweep_width distance between the sweeps
- angle NS or WE orientation
2. Run the survey with nav_survey_rectangle_rotorcraft_run(WP1,WP2)
<!--
Block example:
@verbatim
<block name="Poly Survey" strip_button="Poly Survey">
<call fun="nav_survey_polygon_setup(WP1, WP2, sweep_width, orientation)"/>
<call fun="nav_survey_rectangle_rotorcraft_run(WP1,WP2)"/>
</block>
or using flightplan primitive
<block group="extra_pattern" name="Survey S1-S2 25m NS SET" strip_button="Svy25-NS">
<survey_rectangle grid="30" orientation="NS" wp1="S1" wp2="S2"/>
</block>
@endverbatim
-->
</description>
<define name="RECTANGLE_SURVEY_DEFAULT_SWEEP" value="25" description="default sweep distance when using dinamic setup"/>
<define name="NAV_SURVEY_RECTANGLE_DYNAMIC" value="FALSE|TRUE" description="Set to true to allow changing sweep distance mid survey"/>
</doc>
<settings>
<dl_settings>
<dl_settings NAME="Ret_Survey">
<dl_setting min="10" max="500" step="1" var="sweep" type="float" shortname="Distance" module="modules/nav/nav_survey_rectangle_rotorcraft"/>
<dl_setting min="0" max="1" step="1" values="FALSE|TRUE" var="interleave" type="bool" shortname="use_interleave" module="modules/nav/nav_survey_rectangle_rotorcraft"/>
</dl_settings>
</dl_settings>
</settings>
<header>
<file name="nav_survey_rectangle_rotorcraft.h"/>
</header>
<init fun="nav_survey_rectangle_rotorcraft_init()"/>
<makefile target="ap|sim|nps">
<file name="nav_survey_rectangle_rotorcraft.c"/>
</makefile>
</module>