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

Navigation patterns and flight plan handling for hybrid airframes

No detailed description...

Example for airframe file

Add to your firmware section:

<module name="nav_hybrid"/>

Module configuration options

Airframe file section

  • section name: NAV_HYBRID prefix: NAV_HYBRID_
    • name MAX_DECELERATION value: 1.0
      Description: Maximum deceleration in [m/s2] when arriving to hover at a WP
    • name MAX_EXPECTED_WIND value: 5
      Description: Maximum expected constant wind. Used to calculate minimum circle radius to not exceed acceleration bound.
    • name LIMIT_CIRCLE_RADIUS value: FALSE
      Description: Limit the circle radius on max target groundspeed and max acceleration.
    • name EXT_VISION_SETPOINT_MODE value: FALSE
      Description: Use position setpoints when using external vision systems.
  • section name: GUIDANCE_INDI_HYBRID prefix: GUIDANCE_INDI_
    • name MAX_AIRSPEED value: 15.
      Description: maximum airspeed (required)
    • name NAV_SPEED_MARGIN value: 10.
      Description: maximum commanded ground speed is MAX_AIRSPEED + NAV_SPEED_MARGIN
    • name GOTO_SPEED value: nav_max_speed
      Description: maximum speed when flying goto/stay routines (default is max speed)
    • name NAV_LINE_DIST value: 50
      Description: distance coefficient for line routine
    • name NAV_CIRCLE_DIST value: 40
      Description: distance coefficient for circle routine

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

<!DOCTYPE module SYSTEM "module.dtd">
<module name="nav_hybrid" dir="nav" task="control">
<doc>
<description>
Navigation patterns and flight plan handling for hybrid airframes
</description>
<section name="NAV_HYBRID" prefix="NAV_HYBRID_">
<define name="MAX_DECELERATION" value="1.0" description="Maximum deceleration in [m/s2] when arriving to hover at a WP"/>
<define name="MAX_EXPECTED_WIND" value="5" description="Maximum expected constant wind. Used to calculate minimum circle radius to not exceed acceleration bound."/>
<define name="LIMIT_CIRCLE_RADIUS" value="FALSE" description="Limit the circle radius on max target groundspeed and max acceleration."/>
<define name="EXT_VISION_SETPOINT_MODE" value="FALSE" description="Use position setpoints when using external vision systems."/>
</section>
<section name="GUIDANCE_INDI_HYBRID" prefix="GUIDANCE_INDI_">
<define name="MAX_AIRSPEED" value="15." description="maximum airspeed (required)"/>
<define name="NAV_SPEED_MARGIN" value="10." description="maximum commanded ground speed is MAX_AIRSPEED + NAV_SPEED_MARGIN"/>
<define name="GOTO_SPEED" value="nav_max_speed" description="maximum speed when flying goto/stay routines (default is max speed)"/>
<define name="NAV_LINE_DIST" value="50" description="distance coefficient for line routine"/>
<define name="NAV_CIRCLE_DIST" value="40" description="distance coefficient for circle routine"/>
</section>
</doc>
<settings>
<dl_settings>
<dl_settings NAME="nav_hybrid">
<dl_setting var="nav_hybrid_max_acceleration" min="1.0" step="0.1" max="9.0"/>
<dl_setting var="nav_max_speed" min="1.0" step="1.0" max="50.0"/>
<dl_setting var="nav_hybrid_max_expected_wind" min="0.0" step="0.1" max="20.0" shortname="max_expected_wind"/>
<dl_setting var="nav_max_deceleration_sp" min="0.5" step="0.1" max="10.0" shortname="max_deceleration" param="NAV_HYBRID_MAX_DECELERATION"/>
<dl_setting var="nav_hybrid_line_gain" min="0.1" step="0.1" max="3" shortname="nav_hybrid_line_gain" param="NAV_HYBRID_LINE_GAIN"/>
<dl_setting var="nav_hybrid_pos_gain" min="0.1" step="0.1" max="10" shortname="nav_hybrid_pos_gain" param="NAV_HYBRID_POS_GAIN"/>
</dl_settings>
</dl_settings>
</settings>
<dep>
<depends>nav_basic_rotorcraft</depends>
</dep>
<header>
<file name="nav_rotorcraft_hybrid.h"/>
</header>
<init fun="nav_rotorcraft_hybrid_init()"/>
<makefile target="ap|nps" firmware="rotorcraft">
<file name="nav_rotorcraft_hybrid.c"/>
<test firmware="rotorcraft">
<configure name="SRC_FIRMWARE" value="firmwares/rotorcraft"/>
<define name="DOWNLINK_TRANSPORT" value="pprz_tp"/>
<define name="DOWNLINK_DEVICE" value="uart0"/>
<define name="USE_UART0"/>
<define name="GUIDANCE_INDI_HYBRID_U" value="3"/>
<define name="GUIDANCE_INDI_HYBRID_V" value="3"/>
</test>
</makefile>
</module>