forked from Archive/PX4-Autopilot
matlab: Add references for coning and skulling correction method
This commit is contained in:
parent
8ccc45b26b
commit
70ece4df17
|
@ -27,10 +27,14 @@ end
|
||||||
delAng = delAng - states(11:13);
|
delAng = delAng - states(11:13);
|
||||||
delVel = delVel - states(14:16);
|
delVel = delVel - states(14:16);
|
||||||
|
|
||||||
% Apply rotational and skulling corrections
|
% Correct delta velocity for rotation and skulling
|
||||||
|
% Derived from Eqn 25 of:
|
||||||
|
% "Computational Elements For Strapdown Systems"
|
||||||
|
% Savage, P.G.
|
||||||
|
% Strapdown Associates
|
||||||
|
% 2015, WBN-14010
|
||||||
correctedDelVel= delVel + ...
|
correctedDelVel= delVel + ...
|
||||||
0.5*cross(prevDelAng + delAng , prevDelVel + delVel) + 1/6*cross(prevDelAng + delAng , cross(prevDelAng + delAng , prevDelVel + delVel)) + ... % rotational correction
|
0.5*cross(prevDelAng + delAng , prevDelVel + delVel) + 1/6*cross(prevDelAng + delAng , cross(prevDelAng + delAng , prevDelVel + delVel)) + 1/12*(cross(prevDelAng , delVel) + cross(prevDelVel , delAng));
|
||||||
1/12*(cross(prevDelAng , delVel) + cross(prevDelVel , delAng)); % sculling correction
|
|
||||||
|
|
||||||
% Calculate earth delta angle spin vector
|
% Calculate earth delta angle spin vector
|
||||||
delAngEarth_NED(1,1) = 0.000072921 * cos(latitude) * dt;
|
delAngEarth_NED(1,1) = 0.000072921 * cos(latitude) * dt;
|
||||||
|
@ -38,6 +42,11 @@ delAngEarth_NED(2,1) = 0.0;
|
||||||
delAngEarth_NED(3,1) = -0.000072921 * sin(latitude) * dt;
|
delAngEarth_NED(3,1) = -0.000072921 * sin(latitude) * dt;
|
||||||
|
|
||||||
% Apply corrections for coning errors and earth spin rate
|
% Apply corrections for coning errors and earth spin rate
|
||||||
|
% Coning correction from :
|
||||||
|
% "A new strapdown attitude algorithm",
|
||||||
|
% R. B. MILLER,
|
||||||
|
% Journal of Guidance, Control, and Dynamics
|
||||||
|
% July, Vol. 6, No. 4, pp. 287-291, Eqn 11
|
||||||
correctedDelAng = delAng - 1/12*cross(prevDelAng , delAng) - transpose(Tbn_prev)*delAngEarth_NED;
|
correctedDelAng = delAng - 1/12*cross(prevDelAng , delAng) - transpose(Tbn_prev)*delAngEarth_NED;
|
||||||
|
|
||||||
% Save current measurements
|
% Save current measurements
|
||||||
|
|
Loading…
Reference in New Issue