Difference between revisions of "Subsystem/ins"
m |
|||
(19 intermediate revisions by 5 users not shown) | |||
Line 3: | Line 3: | ||
The INS (Inertial Navigation System) subsystem specifies which position and velocity estimation algorithm you are using. | The INS (Inertial Navigation System) subsystem specifies which position and velocity estimation algorithm you are using. | ||
Most of the INS filters are only providing position and speed, and they need to be used together with an AHRS filter for attitude. Currently, only the experimental invariant filter is a full INS. | Most of the INS filters are only providing position and speed, and they need to be used together with an [[Subsystem/ahrs|AHRS (Attitude and Heading Reference System) filter]] for attitude. Currently, only the experimental invariant filter is a full INS. | ||
Currently possible INS subsystem types are: | |||
{| class="wikitable" style="text-align:center" border="1" | |||
! Type !! Point Type !! Firmwares !! Notes | |||
|- | |||
|'''[[Subsystem/ins#alt_float|alt_float]]''' || floating || fixedwing || | |||
|- | |||
|'''[[Subsystem/ins#GPS passthrough (gps_passthrough)|gps_passthrough]]''' || || all || | |||
|- | |||
|'''[[Subsystem/ins#xsens|xsens]]''' || || all || external | |||
|- | |||
|'''[[Subsystem/ins#xsens700|xsens700]]''' || || all || external | |||
|- | |||
|'''[[Subsystem/ins#no_type|no_type]]''' || || all || | |||
|- | |||
|'''[[Subsystem/ins#Horizontal Filter Float (hff)|Horizontal Filter Float (hff)]]''' || floating || || | |||
|- | |||
|'''[[Subsystem/ins#extended|extended]]''' || floating? || all || | |||
|- | |||
|'''[[Subsystem/ins#vectornav|vectornav]]''' || || all || external | |||
|- | |||
|'''[[Subsystem/ins#float_invariant|float_invariant]]''' || floating || all || | |||
|} | |||
e.g. for the extended filter: | e.g. for the extended filter: | ||
Line 33: | Line 47: | ||
A 2-state Kalman filter that estimates vertical position and vertical velocity from GPS and barometric data. | A 2-state Kalman filter that estimates vertical position and vertical velocity from GPS and barometric data. | ||
When USE_BAROMETER is | When ''USE_BAROMETER'' is defined to ''TRUE'': | ||
* GPS horizontal position and horizontal velocity is directly passed through | * GPS horizontal position and horizontal velocity is directly passed through | ||
* GPS vertical position sets the altitude for the barometric reference pressure (QFE) | * GPS vertical position sets the altitude for the barometric reference pressure (QFE) | ||
* Vertical position and velocity is a filtered based on barometric pressure with respect to the reference pressure and GPS vertical velocity readings. | * Vertical position and velocity is a filtered based on barometric pressure with respect to the reference pressure and GPS vertical velocity readings. | ||
When USE_BAROMETER is | When ''USE_BAROMETER'' is not defined, ''FALSE'' or ''0'': | ||
* GPS velocity is directly passed through to the vehicle's state. | * GPS velocity is directly passed through to the vehicle's state. | ||
* GPS horizontal position is directly passed through. | * GPS horizontal position is directly passed through. | ||
Line 48: | Line 62: | ||
DEBUG_ALT_KALMAN - Enables debug messages from the subsystem (Default: not defined) | DEBUG_ALT_KALMAN - Enables debug messages from the subsystem (Default: not defined) | ||
e.g. to use with barometer: | |||
{{Box Code|conf/airframes/myplane.xml| | |||
<source lang="xml"> | |||
<firmware name="fixedwing"> | |||
... | |||
<subsystem name="ins" type="alt_float"> | |||
<define name="USE_BAROMETER" value="TRUE"/> | |||
<subsystem> | |||
</firmware> | |||
</source> | |||
}} | |||
=== GPS passthrough (gps_passthrough) === | === GPS passthrough (gps_passthrough) === | ||
"dummy" INS that does no filtering whatsoever. It directly passes GPS position and velocity through. | |||
{{Box Code|conf/airframes/myplane.xml| | |||
<source lang="xml"> | |||
<firmware name="fixedwing or rotorcraft"> | |||
... | |||
<subsystem name="ins" type="gps_passthrough"/> | |||
</firmware> | |||
</source> | |||
}} | |||
=== xsens === | === xsens === | ||
XSens Mti-G | XSens Mti-G | ||
{{Box Code|conf/airframes/myplane.xml| | |||
<source lang="xml"> | <source lang="xml"> | ||
<subsystem name="ins" type="xsens"> | <subsystem name="ins" type="xsens"> | ||
Line 60: | Line 96: | ||
</subsystem> | </subsystem> | ||
</source> | </source> | ||
}} | |||
=== | === xsens700 === | ||
XSens Mti-G | XSens Mti-G | ||
{{Box Code|conf/airframes/myplane.xml| | |||
<source lang="xml"> | <source lang="xml"> | ||
<load name="ins_xsens_MTiG_fixedwing.xml"> | <load name="ins_xsens_MTiG_fixedwing.xml"> | ||
Line 69: | Line 106: | ||
</load> | </load> | ||
</source> | </source> | ||
}} | |||
=== no_type === | === no_type === | ||
Vertical filter (in float) estimating altitude, vertical velocity and accelerometer bias. | |||
If USE_GPS, horizontal position and velocity is set directly by GPS. | |||
{{Box Code|conf/airframes/myplane.xml| | |||
<source lang="xml"> | <source lang="xml"> | ||
<subsystem name="ins"/> | <subsystem name="ins"/> | ||
</source> | </source> | ||
}} | |||
=== Horizontal Filter Float (hff) === | === Horizontal Filter Float (hff) === | ||
simple with float vertical and horizontal filters for INS | simple with float vertical and horizontal filters for INS | ||
{{Box Code|conf/airframes/myplane.xml| | |||
<source lang="xml"> | |||
<firmware name="fixedwing or rotorcraft"> | |||
... | |||
<subsystem name="ins" type="hff"/> | |||
</firmware> | |||
</source> | |||
}} | |||
=== extended === | === extended === | ||
Line 88: | Line 137: | ||
* accelerometer bias | * accelerometer bias | ||
* barometric offset | * barometric offset | ||
{{Box Code|conf/airframes/myplane.xml| | |||
<source lang="xml"> | |||
<firmware name="fixedwing or rotorcraft"> | |||
... | |||
<subsystem name="ins" type="extended"/> | |||
</firmware> | |||
</source> | |||
}} | |||
'''Parameters''' | '''Parameters''' | ||
Line 93: | Line 150: | ||
INS_PROPAGATE_FREQUENCY - Defines the frequency (Hz) of the propagation model (Default: PERIODIC_FREQUENCY) | INS_PROPAGATE_FREQUENCY - Defines the frequency (Hz) of the propagation model (Default: PERIODIC_FREQUENCY) | ||
=== | === vectornav === | ||
Driver for the Vectornav VN-200 INS, see also [[Sensors/imu#Vectornav_VN-200]]. | |||
=== float_invariant === | === float_invariant === | ||
attitude and | A full INS estimating attitude, velocity, position and biases via [[invariant filter]] | ||
[[Category:User_Documentation]] [[Category:Subsystems]] | [[Category:User_Documentation]] [[Category:Subsystems]] |
Revision as of 15:14, 5 March 2017
INS subsystem
The INS (Inertial Navigation System) subsystem specifies which position and velocity estimation algorithm you are using.
Most of the INS filters are only providing position and speed, and they need to be used together with an AHRS (Attitude and Heading Reference System) filter for attitude. Currently, only the experimental invariant filter is a full INS.
Currently possible INS subsystem types are:
Type | Point Type | Firmwares | Notes |
---|---|---|---|
alt_float | floating | fixedwing | |
gps_passthrough | all | ||
xsens | all | external | |
xsens700 | all | external | |
no_type | all | ||
Horizontal Filter Float (hff) | floating | ||
extended | floating? | all | |
vectornav | all | external | |
float_invariant | floating | all |
e.g. for the extended filter:
File: conf/airframes/myplane.xml |
<firmware name="fixedwing or rotorcraft">
...
<subsystem name="ins" type="extended"/>
</firmware>
|
Implementations
alt_float
Filters altitude and climb rate for fixedwings.
A 2-state Kalman filter that estimates vertical position and vertical velocity from GPS and barometric data.
When USE_BAROMETER is defined to TRUE:
- GPS horizontal position and horizontal velocity is directly passed through
- GPS vertical position sets the altitude for the barometric reference pressure (QFE)
- Vertical position and velocity is a filtered based on barometric pressure with respect to the reference pressure and GPS vertical velocity readings.
When USE_BAROMETER is not defined, FALSE or 0:
- GPS velocity is directly passed through to the vehicle's state.
- GPS horizontal position is directly passed through.
- Altitude is filtered based on GPS height and vertical velocity data.
Parameters
USE_BAROMETER - Enables the use of barometric data
DEBUG_ALT_KALMAN - Enables debug messages from the subsystem (Default: not defined)
e.g. to use with barometer:
File: conf/airframes/myplane.xml |
<firmware name="fixedwing">
...
<subsystem name="ins" type="alt_float">
<define name="USE_BAROMETER" value="TRUE"/>
<subsystem>
</firmware>
|
GPS passthrough (gps_passthrough)
"dummy" INS that does no filtering whatsoever. It directly passes GPS position and velocity through.
File: conf/airframes/myplane.xml |
<firmware name="fixedwing or rotorcraft">
...
<subsystem name="ins" type="gps_passthrough"/>
</firmware>
|
xsens
XSens Mti-G
File: conf/airframes/myplane.xml |
<subsystem name="ins" type="xsens">
<configure name="XSENS_UART_NR" value="0"/>
<configure name="XSENS_UART_BAUD" value="B115200"/>
</subsystem>
|
xsens700
XSens Mti-G
File: conf/airframes/myplane.xml |
<load name="ins_xsens_MTiG_fixedwing.xml">
<configure name="XSENS_UART_NR" value="0"/>
</load>
|
no_type
Vertical filter (in float) estimating altitude, vertical velocity and accelerometer bias.
If USE_GPS, horizontal position and velocity is set directly by GPS.
File: conf/airframes/myplane.xml |
<subsystem name="ins"/>
|
Horizontal Filter Float (hff)
simple with float vertical and horizontal filters for INS
File: conf/airframes/myplane.xml |
<firmware name="fixedwing or rotorcraft">
...
<subsystem name="ins" type="hff"/>
</firmware>
|
extended
Extended vertical filter (in float).
A 4-state Kalman filter that estimates:
- vertical position
- vertical speed
- accelerometer bias
- barometric offset
File: conf/airframes/myplane.xml |
<firmware name="fixedwing or rotorcraft">
...
<subsystem name="ins" type="extended"/>
</firmware>
|
Parameters
INS_PROPAGATE_FREQUENCY - Defines the frequency (Hz) of the propagation model (Default: PERIODIC_FREQUENCY)
Driver for the Vectornav VN-200 INS, see also Sensors/imu#Vectornav_VN-200.
float_invariant
A full INS estimating attitude, velocity, position and biases via invariant filter