Difference between revisions of "Subsystem/ahrs"
Jump to navigation
Jump to search
m |
m |
||
| Line 5: | Line 5: | ||
* ''int_cmpl_quat'' | * ''int_cmpl_quat'' | ||
* ''int_cmpl_euler'' | * ''int_cmpl_euler'' | ||
* '' | * ''float_dcm'' | ||
e.g. for the complementary filter: | e.g. for the complementary filter: | ||
Revision as of 12:50, 5 December 2011
AHRS subsystem
The AHRS subsystem specifies which attitude estimation filter you are using.
Currently possible AHRS subsystems are
- int_cmpl_quat
- int_cmpl_euler
- float_dcm
e.g. for the complementary filter:
| File: conf/airframes/myplane.xml |
<firmware name="fixedwing or rotorcraft">
...
<subsystem name="ahrs" type="int_cmpl_euler"/>
</firmware>
|
There is a test program ( sw/airborne/test/ahrs/compare_ahrs.py ) to compare different AHRS implementations on simple test cases.
Other flags of interest are:
- AHRS_PROPAGATE_LOW_PASS_RATES : apply a low pass filter on rotational velocity
- AHRS_MAG_UPDATE_YAW_ONLY : use mag to update yaw only
Complementary Euler (fixed point)
Complementary Quaternion (fixed point)
For the latest integer complementary quaternion filter (int_cmpl_quat):
| File: conf/airframes/myplane.xml |
<firmware name="rotorcraft">
...
<subsystem name="ahrs" type="int_cmpl_quat"/>
</firmware>
<section name="AHRS" prefix="AHRS_">
<define name="H_X" value=" 0.51562740288882"/>
<define name="H_Y" value="-0.05707735220832"/>
<define name="H_Z" value=" 0.85490967783446"/>
</section>
|
To calculate the normalised local magnetic field insert the relevant location coordinates hereand calculate.
Copy the north(x),east(y),vertical(z) component values into scilab and execute "X/norm(X)".