Invariant INS (in float).
Estimates attitude, velocity, position and (gyro, accel, baro) biases.
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="ins_float_invariant">
2 <configure name="USE_MAGNETOMETER" value="TRUE|FALSE" />
3 <configure name="AHRS_ALIGNER_LED" value="2" />
Module configuration options
Configure Options
- name:
USE_MAGNETOMETER
value: TRUE|FALSE
Description: use magnetometer
- name:
AHRS_ALIGNER_LED
value: 2
Description: LED number to indicate if AHRS/INS is aligned
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_float_invariant.xml file:
<!DOCTYPE module SYSTEM "module.dtd">
<module name="ins_float_invariant" dir="ins">
<doc>
<description>
Invariant INS (in float).
Estimates attitude, velocity, position and (gyro, accel, baro) biases.
</description>
<configure name="USE_MAGNETOMETER" value="TRUE|FALSE" description="use magnetometer"/>
<configure name="AHRS_ALIGNER_LED" value="2" description="LED number to indicate if AHRS/INS is aligned"/>
</doc>
<header>
<file name="ins_float_invariant_wrapper.h" dir="subsystems/ins"/>
</header>
<init fun="ins_float_invariant_wrapper_init()"/>
<makefile target="ap|nps">
<configure name="AHRS_ALIGNER_LED" default="none"/>
<define name="AHRS_ALIGNER_LED" value="$(AHRS_ALIGNER_LED)" cond="ifneq ($(AHRS_ALIGNER_LED),none)"/>
<configure name="USE_MAGNETOMETER" default="TRUE"/>
<define name="USE_MAGNETOMETER" cond="ifeq (,$(findstring $(USE_MAGNETOMETER),0 FALSE))"/>
<file name="ahrs_aligner.c" dir="subsystems/ahrs"/>
<file name="ins.c" dir="subsystems"/>
<file name="ins_float_invariant.c" dir="subsystems/ins"/>
<file name="ins_float_invariant_wrapper.c" dir="subsystems/ins"/>
<define name="USE_AHRS_ALIGNER"/>
<define name="INS_TYPE_H" value="subsystems/ins/ins_float_invariant_wrapper.h" type="string"/>
</makefile>
<makefile target="ap|nps" firmware="fixedwing">
<define name="INS_FINV_USE_UTM"/>
</makefile>
<makefile target="sim">
<define name="AHRS_TYPE_H" value="subsystems/ahrs/ahrs_sim.h" type="string"/>
<define name="USE_AHRS"/>
<file name="ahrs.c" dir="subsystems"/>
<file name="ahrs_sim.c" dir="subsystems/ahrs"/>
</makefile>
</module>