Difference between revisions of "Subsystem/ahrs"
m |
|||
Line 7: | Line 7: | ||
* ''float_dcm'' | * ''float_dcm'' | ||
e.g. for the complementary filter: | e.g. for the latest complementary filter: | ||
{{Box Code|conf/airframes/myplane.xml| | {{Box Code|conf/airframes/myplane.xml| | ||
<pre> | <pre> | ||
<firmware name="fixedwing or rotorcraft"> | <firmware name="fixedwing or rotorcraft"> | ||
... | ... | ||
<subsystem name="ahrs" type=" | <subsystem name="ahrs" type="int_cmpl_quat"/> | ||
</firmware> | </firmware> | ||
</pre> | </pre> | ||
Line 21: | Line 21: | ||
=== Complementary Euler (fixed point) === | === Complementary Euler (fixed point) === | ||
Not recommended for fixedwings, as this filter doesn't compensate for centrifugal force when flying turns. | Not recommended for fixedwings, as this filter doesn't compensate for centrifugal force when flying turns. | ||
{{Box Code|conf/airframes/myplane.xml| | |||
<pre> | |||
<firmware name="fixedwing or rotorcraft"> | |||
... | |||
<subsystem name="ahrs" type="int_cmpl_euler"/> | |||
</firmware> | |||
<section name="MISC"> | |||
<define name="FACE_REINJ_1" value="1024"/> | |||
</section> | |||
</pre> | |||
}} | |||
=== Complementary Quaternion (fixed point) === | === Complementary Quaternion (fixed point) === |
Revision as of 12:41, 7 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 latest complementary filter:
File: conf/airframes/myplane.xml |
<firmware name="fixedwing or rotorcraft"> ... <subsystem name="ahrs" type="int_cmpl_quat"/> </firmware> |
There is a test program ( sw/airborne/test/ahrs/compare_ahrs.py ) to compare different AHRS implementations on simple test cases.
Complementary Euler (fixed point)
Not recommended for fixedwings, as this filter doesn't compensate for centrifugal force when flying turns.
File: conf/airframes/myplane.xml |
<firmware name="fixedwing or rotorcraft"> ... <subsystem name="ahrs" type="int_cmpl_euler"/> </firmware> <section name="MISC"> <define name="FACE_REINJ_1" value="1024"/> </section> |
Complementary Quaternion (fixed point)
Currently not recommended for fixedwings, as this filter doesn't compensate for centrifugal force when flying turns. The capability for this is already there (with AHRS_GRAVITY_UPDATE_COORDINATED_TURN), but it isn't fed with the necessary data yet.
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
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)".