Paparazzi UAS  v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
ins_extended module

extended INS with vertical filter using sonar.

No detailed description...

Example for airframe file

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

<module name="ins_extended">
b'<define name="USE_INS_NAV_INIT" value="TRUE|FALSE" />\n '
b'<define name="INS_INT_AGL_ID" value="ABI_BROADCAST" />\n '
b'<define name="INS_INT_BARO_ID" value="BARO_BOARD_SENDER_ID" />\n '
b'<define name="INS_INT_GPS_ID" value="GPS_MULTI_ID" />\n '
b'<define name="INS_INT_IMU_ID" value="ABI_BROADCAST" />\n '
b'<define name="INS_INT_VEL_ID" value="ABI_BROADCAST" />\n '
b'<define name="INS_SONAR_MIN_RANGE" value="0.001" />\n '
b'<define name="INS_SONAR_MAX_RANGE" value="4.0" />\n '
b'<define name="INS_SONAR_UPDATE_ON_AGL" value="FALSE" />\n \n '
b'<define name="DEBUG_VFF_EXTENDED" value="0|1|2" />\n '
b'<define name="VFF_EXTENDED_INIT_PXX" value="1." />\n '
b'<define name="VFF_EXTENDED_ACCEL_NOISE" value="0.5" />\n '
b'<define name="VFF_EXTENDED_R_BARO" value="2." />\n '
b'<define name="VFF_EXTENDED_NON_FLAT_GROUND" value="FALSE" />\n '
</module>

Module configuration options

Define Options

  • name: USE_INS_NAV_INIT value: TRUE|FALSE
    Description: Initialize the origin of the local coordinate system from flight plan. (Default: TRUE)
  • name: INS_INT_AGL_ID value: ABI_BROADCAST
    Description: The ABI sender id of the sonar to use
  • name: INS_INT_BARO_ID value: BARO_BOARD_SENDER_ID
    Description: The ABI sender id of the baro to use
  • name: INS_INT_GPS_ID value: GPS_MULTI_ID
    Description: The ABI sender id of the GPS to use
  • name: INS_INT_IMU_ID value: ABI_BROADCAST
    Description: The ABI sender id of the IMU to use
  • name: INS_INT_VEL_ID value: ABI_BROADCAST
    Description: The ABI sender id of the VELOCITY_ESTIMATE (e.g. from opticflow
  • name: INS_SONAR_MIN_RANGE value: 0.001
    Description: min sonar range in meters
  • name: INS_SONAR_MAX_RANGE value: 4.0
    Description: max sonar range in meters
  • name: INS_SONAR_UPDATE_ON_AGL value: FALSE
    Description: assume flat ground and use sonar for height
  • name: DEBUG_VFF_EXTENDED value: 0|1|2
    Description: If set > 0, this will send the vff message. If > 1 then it will also print the P matrix
  • name: VFF_EXTENDED_INIT_PXX value: 1.
    Description: Initial value of the diagonal of the P matrix
  • name: VFF_EXTENDED_ACCEL_NOISE value: 0.5
    Description: Accelerometer noise setting
  • name: VFF_EXTENDED_R_BARO value: 2.
    Description: Barometer noise setting
  • name: VFF_EXTENDED_NON_FLAT_GROUND value: FALSE
    Description: VFF_EXTENDED_NON_FLAT_GROUND removes the assumption of a flat ground and tries to estimate the height of the obstacles under the vehicle.

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

<!DOCTYPE module SYSTEM "module.dtd">
<module name="ins_extended" dir="ins">
<doc>
<description>
extended INS with vertical filter using sonar.
</description>
<define name="USE_INS_NAV_INIT" value="TRUE|FALSE" description="Initialize the origin of the local coordinate system from flight plan. (Default: TRUE)"/>
<define name="INS_INT_AGL_ID" value="ABI_BROADCAST" description="The ABI sender id of the sonar to use"/>
<define name="INS_INT_BARO_ID" value="BARO_BOARD_SENDER_ID" description="The ABI sender id of the baro to use"/>
<define name="INS_INT_GPS_ID" value="GPS_MULTI_ID" description="The ABI sender id of the GPS to use"/>
<define name="INS_INT_IMU_ID" value="ABI_BROADCAST" description="The ABI sender id of the IMU to use"/>
<define name="INS_INT_VEL_ID" value="ABI_BROADCAST" description="The ABI sender id of the VELOCITY_ESTIMATE (e.g. from opticflow"/>
<define name="INS_SONAR_MIN_RANGE" value="0.001" description="min sonar range in meters"/>
<define name="INS_SONAR_MAX_RANGE" value="4.0" description="max sonar range in meters"/>
<define name="INS_SONAR_UPDATE_ON_AGL" value="FALSE" description="assume flat ground and use sonar for height"/>
<define name="DEBUG_VFF_EXTENDED" value="0|1|2" description="If set > 0, this will send the vff message. If > 1 then it will also print the P matrix"/>
<define name="VFF_EXTENDED_INIT_PXX" value="1." description="Initial value of the diagonal of the P matrix"/>
<define name="VFF_EXTENDED_ACCEL_NOISE" value="0.5" description="Accelerometer noise setting"/>
<define name="VFF_EXTENDED_R_BARO" value="2." description="Barometer noise setting"/>
<define name="VFF_EXTENDED_NON_FLAT_GROUND" value="FALSE" description="VFF_EXTENDED_NON_FLAT_GROUND removes the assumption of a flat ground and tries to estimate the height of the obstacles under the vehicle."/>
</doc>
<settings>
<dl_settings NAME="Ins Extended">
<dl_settings NAME="INS">
<dl_setting MAX="10" MIN="0" STEP="0.1" VAR="vff.accel_noise" shortname="accel_noise" module="subsystems/ins/vf_extended_float"/>
<dl_setting MAX="10" MIN="0" STEP="0.1" VAR="vff.r_baro" shortname="r_baro"/>
<dl_setting MAX="10" MIN="0" STEP="0.1" VAR="vff.r_alt" shortname="r_alt"/>
<dl_setting MAX="10" MIN="0" STEP="0.1" VAR="vff.r_obs_height" shortname="r_obs_height"/>
</dl_settings>
</dl_settings>
</settings>
<header>
<file name="ins_int.h" dir="subsystems/ins"/>
</header>
<init fun="ins_int_init()"/>
<makefile target="ap|nps">
<define name="INS_TYPE_H" value="subsystems/ins/ins_int.h" type="string"/>
<file name="ins.c" dir="subsystems"/>
<file name="ins_int.c" dir="subsystems/ins"/>
<file name="vf_extended_float.c" dir="subsystems/ins"/>
<define name="USE_VFF_EXTENDED"/>
<test firmware="rotorcraft"/>
</makefile>
</module>