Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
ins_hff_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_hff_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 '
</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

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

<!DOCTYPE module SYSTEM "module.dtd">
<module name="ins_hff_extended" dir="ins" task="estimation">
<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"/>
</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="modules/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>
<dep>
<depends>@imu,@gps|@position|@velocity</depends>
<provides>ins</provides>
</dep>
<header>
<file name="ins_int.h"/>
</header>
<init fun="ins_int_init()"/>
<makefile target="ap|nps">
<define name="INS_TYPE_H" value="modules/ins/ins_int.h" type="string"/>
<file name="ins.c"/>
<file name="ins_int.c"/>
<file name="vf_extended_float.c"/>
<define name="USE_VFF_EXTENDED"/>
<file name="hf_float.c"/>
<define name="USE_HFF"/>
<test firmware="rotorcraft">
<define name="AHRS_PROPAGATE_FREQUENCY" value="500"/>
</test>
</makefile>
</module>