This application claims the benefit of Taiwan patent application Serial No. 99141559, filed Nov. 30, 2010, the subject matter of which is incorporated herein by reference.
The disclosure relates in general to a method for attitude estimation, and more particularly to a method and an apparatus for three-dimensional (3D) attitude estimation.
Embodiments are disclosed for a method and an apparatus for estimating three-dimensional attitude, in which an improved resistance to magnetic disturbance can be achieved.
According to an aspect of the present disclosure, a method is provided for estimating three-dimensional attitude. The method includes: detecting a set of current angular velocity, a set of current magnetic flux, and a set of current acceleration of a carrier; estimating a set of attitude angle according to the set of current angular velocity, a set of history attitude angle, and a motion model; calculating a disturbance parameter according the set of current magnetic flux and a set of history magnetic flux; determining whether the disturbance parameter exceeds a disturbance threshold; updating, when the disturbance parameter is determined exceeding the disturbance threshold, the set of estimated attitude angle according to the set of current acceleration not the set of current magnetic flux; and updating, when the disturbance parameter is determined not exceeding the disturbance threshold, the set of estimated attitude angle according to both the set of current acceleration and the set of current magnetic flux.
According to another aspect of the present disclosure, an apparatus is provided for estimating three-dimensional attitude. The apparatus includes a first inertial sensing element, a second inertial sensing element, a magnetic sensing element, and a processor. The first inertial sensing element detects a set of current angular velocity of a carrier. The second inertial sensing element detects a set of current acceleration of the carrier. The magnetic sensing element detects a set of current magnetic flux of the carrier. The processor estimates a set of attitude angle according to the set of current angular velocity, a set of history attitude angle, and a motion model. The processor calculates a disturbance parameter according the set of current magnetic flux and a set of history magnetic flux. The processor determines whether the disturbance parameter exceeds a disturbance threshold. When the disturbance parameter is determined exceeding the disturbance threshold, the processor updates the set of estimated attitude angle according to the set of current acceleration not the set of current magnetic flux. When the disturbance parameter is determined not exceeding the disturbance threshold, the processor updates the set of estimated attitude angle according to both the set of current acceleration and the set of current magnetic flux.
The above and other aspects of the disclosure will become better understood with regard to the following detailed description of the preferred but non-limiting embodiment(s). The following description is made with reference to the accompanying drawings.
The method for estimating three-dimensional attitude can be applied in the estimation apparatus 50, which at least includes a number steps as follows. In step 41, the inertial sensing element 51 detects a set of current angular velocity of a carrier. The set of current angular velocity includes a current angular velocity ωx,t, a current angular velocity ωx,t, and a current angular velocity ωz,t. The current angular velocity ωx,t, the current angular velocity ωy,t, and the current angular velocity ωz,t, are indicative of a three-axial angular velocity of the carrier at time t. The inertial sensing element 52 detects a set of current acceleration of the carrier. The set of current acceleration includes a current acceleration ax,t, a current acceleration ay,t, and a current acceleration az,t. The current acceleration ax,t, the current acceleration ay,t, and the current acceleration az,t, are indicative of a three-axial acceleration of the carrier at time t. The magnetic sensing element 53 detects a set of current magnetic flux of the carrier. The set of current magnetic flux includes a current magnetic flux max,t, a current magnetic flux may,t, and a current magnetic flux maz,t. The current magnetic flux max,t, the current magnetic flux may,t, and the current magnetic flux maz,t are indicative of a three-axial magnetic flux of the carrier at time t.
In step 42, the processor 54 estimates a set of attitude angle according to the set of current angular velocity, a set of history attitude angle, and a motion model. The set of history attitude angle includes a history attitude angle φt-1, a history attitude angle θt-1, and a history attitude angle ψt-1. The set of estimated attitude angle includes an estimated attitude angle φt, an estimated attitude angle θt, and an estimated attitude angle ψt. The history attitude angle φt-1, the history attitude angle θt-1, and the history attitude angle ψt-1 are indicative of estimated attitude angles of the carrier at time t−1. The estimated attitude angle φt, the estimated attitude angle θt, and the estimated attitude angle ψt are indicative of estimated attitude angles of the carrier at time t.
In step 43, the processor calculates a disturbance parameter according the set of current magnetic flux and a set of history magnetic flux. The set of history magnetic flux includes a history magnetic flux max,t-1, a history magnetic flux may,t-1, and a history magnetic flux maz,t-1. The history magnetic flux max,t-1, the history magnetic flux may,t-1, and the history magnetic flux maz,t-1 are indicative of a three-axial magnetic flux of the carrier at time t−1. The disturbance parameter is for example the absolute value of a change in magnetic flux, the absolute value of a change in magnetic inclination angle, or a combination change. The absolute value of the change in magnetic flux can be described in terms of |Δm|=|∥mt∥−∥mt-1∥|, where the norm of the set of current magnetic flux can be described in terms of ∥mt∥=√{square root over (max,t2+may,t2+maz,t2)}, and the norm of the set of history magnetic flux can be described in terms of ∥mt-1∥=√{square root over (max,t-12+may,t-12+maz,t-12)}. As regards mt, an initial value m0 can be configured as a magnetic inclination angle λ in view of Earth's magnetic field.
The absolute value of a change in magnetic inclination angle can be described in terms of |Δφ|=|φmag,t−φmag,t-1|, where a current magnetic inclination angle can be described in terms of
and a history magnetic inclination angle can be described in terms of
In this case, a current magnetic flux mGx,t, a current magnetic flux mGy,t, and a current magnetic flux mGz,t, which are indicative of a three-axial magnetic flux in the world coordinate, can be converted from the local coordinate of the carrier described in terms of the current magnetic flux max,t, the current magnetic flux may,t, and the current magnetic flux maz,t. Plus, a history magnetic flux MGx,t-1, a history magnetic flux mGy,t-1, and history magnetic flux mGz,t-1, which are indicative of a three-axial magnetic flux in the world coordinate, can be converted from the local coordinate of the carrier described in terms of the history magnetic flux max,t-1, the history magnetic flux may,t-1, and the history magnetic flux maz,t-1. The combination change can be described in terms of D=Dm|∥mt∥−∥mt-1∥|+Dφ|φmag,t−φmag,t-1|, where there are a weighting value Dm for the change in magnetic flux and a weighting value Dφ for the change in magnetic inclination angle that can be used to adjust or modify the significance of the combination change.
In step 44, the processor 54 determines whether the disturbance parameter exceeds a disturbance threshold. When the disturbance parameter is determined exceeding the disturbance threshold, step 45 is executed. On the other hand, when the disturbance parameter is determined not exceeding the disturbance threshold, step 46 is executed. As an example where the disturbance threshold is the aforementioned combination change D, the processor 54 determines whether the combination change D exceeds a disturbance threshold Dthr or not. If the combination change D is determined exceeding the disturbance threshold Dthr, step 45 is executed. On the other hand, if the combination change D is determined not exceeding the disturbance threshold Dthr, step 46 is executed.
In step 45, where the disturbance parameter is determined exceeding the disturbance threshold, the processor 54 updates the set of estimated attitude angle according to the set of current acceleration not the set of current magnetic flux. More specifically, where the disturbance parameter is determined exceeding the disturbance threshold, the processor 54 does not depend on the current magnetic flux max,t, the current magnetic flux may,t, and the current magnetic flux maz,t, to update the estimated attitude angle φt, the estimated attitude angle θt, and the estimated attitude angle ψt. Instead, the processor 54 depends on the current acceleration ax,t, the current acceleration ay,t, and the current acceleration az,t, to update the estimated attitude angle φt, the estimated attitude angle θt, and the estimated attitude angle ψt. From a larger disturbance parameter than the disturbance threshold, it can be determined that the three-dimensional attitude estimation apparatus 50 is affected by magnetic disturbance. In this case, a false or erroneous estimated result of the three-dimensional attitude will be generated if the estimated attitude angle φt, the estimated attitude angle θt, and the estimated attitude angle ψt are updated according to the current magnetic flux max,t, the current magnetic flux may,t, and the current magnetic flux maz,t. In view of this, where there is a larger disturbance parameter than the disturbance threshold, the current magnetic flux max,t, the current magnetic flux may,t, and the current magnetic flux maz,t are neglected or ignored in updating the estimated attitude angle φt, the estimated attitude angle θt, and the estimated attitude angle ψ. Therefore, the resistance to magnetic disturbance can be an improved, and the accuracy of three-dimensional attitude estimation can be increased.
In step 46, where the disturbance parameter is determined not exceeding the disturbance threshold, the processor 54 updates the set of estimated attitude angle according to both the set of current acceleration and the set of current magnetic flux. More specifically, where the disturbance parameter is determined not exceeding the disturbance threshold, the processor 54 depends on the current magnetic flux max,t, the current magnetic flux may,t, and the current magnetic flux maz,t as well as the current acceleration ax,t, the current acceleration ay,t, and the current acceleration az,t, to update the estimated attitude angle φt, the estimated attitude angle θt, and the estimated attitude angle ψt.
As regards the estimated attitude angle φt, the estimated attitude angle θt, and the estimated attitude angle ψt, they can be updated by using a filter which is for example an algorithm filter that the processor 54 executes. The filter is for example a Bayesian filter, or an extended Kalman filter (EKF).
The aforementioned step 42 further includes step 421 and step 422. In step 421, the processor 54 estimates a set of quaternion
according to the set of current angular velocity, the set of history quaternion
and the motion model. The motion model can be described in terms of
where εt denotes a noise induced by the inertial sensing element 51.
In step 422, the processor 54 converts the set of estimated quaternion
into a set of Euler attitude angle according to a direction cosine matrix. The set of Euler attitude angle is indicative of the estimated attitude angles, i.e., the estimated attitude angle φt, the estimated attitude angle θt, and the estimated attitude angle ψt.
and a set of target magnetic flux
according to a measurement matrix. The measurement matrix can be described in terms of zt=h(xt)+δt, where Xt denotes the carrier's attitude at time t, i.e., the estimated attitude angles
Zt denotes a measurement information received by the carrier at time t and converted from a transfer function h, and δt denotes a noise in the estimated and the measured result of carrier's attitude.
The target acceleration can be described in terms of
where δat denotes a noise induced by the inertial sensing element 52. The target magnetic flux can be described in terms of
where δmt denotes a noise induced by the magnetic sensing element 53.
In step 452, a set of acceleration difference is generated by comparing the target acceleration
with the current acceleration
In step 453, a set of magnetic flux difference is generated by comparing the set of target magnetic flux
and the set of current magnetic flux
In step 454, when the disturbance parameter is determined exceeding the disturbance threshold, the estimated attitude angle φt, the estimated attitude angle θt, and the estimated attitude angle ψt are updated according to the set of acceleration difference.
and a set of target magnetic flux
according to a measurement matrix. The measurement matrix can be described in terms of zt=h(xt)+δt, where Xt denotes the carrier's attitude at time t, i.e., the estimated attitude angles
Zt denotes a measurement information received by the carrier at time t and converted from a transfer function h, and δt denotes a noise in the estimated and the measured result of carrier's attitude.
The target acceleration can be described in terms of
where δat denotes a noise induced by the inertial sensing element 52. The target magnetic flux can be described in terms of
where δmt denotes a noise induced by the magnetic sensing element 53.
In step 462, a set of acceleration difference is generated by comparing the target acceleration
with the current acceleration
In step 463, a set of magnetic flux difference is generated by comparing the set of target magnetic flux
and the set of current magnetic flux
In step 464, when the disturbance parameter is not determined exceeding the disturbance threshold, the estimated attitude angle φt, the estimated attitude angle θt, and the estimated attitude angle ψt are updated according to the set of acceleration difference and the set of magnetic flux difference.
in the local coordinate system can be converted into a world coordinate
in the world coordinate system in view of a direction cosine matrix. Their relationship can be described in terms of
where R11 to R33 are parameters or elements of the direction cosine matrix.
While the disclosure has been described by way of example and in terms of the above embodiments, it is to be understood that the disclosure is not limited thereto. On the contrary, it is intended to cover various modifications and similar arrangements and procedures, and the scope of the appended claims therefore should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements and procedures.
Number | Date | Country | Kind |
---|---|---|---|
99141559 | Nov 2010 | TW | national |