This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Attitude Observation for Second Order Attitude Kinematics

[Uncaptioned image]  Yonhon Ng
Systems Theory and Robotics Group
Australian National University
ACT, 2601, Australia
[email protected]
&[Uncaptioned image]  Pieter van Goor
Systems Theory and Robotics Group
Australian National University
ACT, 2601, Australia
[email protected]
&[Uncaptioned image]  Robert Mahony
Systems Theory and Robotics Group
Australian National University
ACT, 2601, Australia
[email protected]
&[Uncaptioned image]  Tarek Hamel
I3S (University Côte d’Azur, CNRS, Sophia Antipolis)
and Insitut Universitaire de France
[email protected]
Abstract

This paper addresses the problem of estimating the attitude and angular velocity of a rigid object by exploiting its second order kinematic model. The approach is particularly useful in cases where angular velocity measurements are not available and the attitude and angular velocity of an object need to be estimated from accelerometers and magnetometers. We propose a novel sensor modality that uses multiple accelerometers to measure the angular acceleration of an object as well as using magnetometers to measure partial attitude. We extend the approach of equivariant observer design to second order attitude kinematics by demonstrating that the special Euclidean group acts as a symmetry group on the system considered. The observer design is based on the lifted kinematics and we prove almost global asymptotic stability and local uniform exponential stability of the estimation error. The performance of the observer is demonstrated in simulation.

1 INTRODUCTION

This paper explores the estimation of both the attitude and angular velocity of a rigid object using only accelerometer and magnetometer sensors attached rigidly at known locations on the body. In particular, the approach taken does not require gyroscope measurements of angular velocity. The solution to this problem has numerous applications where deployment of gyroscope MEMS devices is not possible due to size constraints, speed of rotation (saturating a MEMS gyroscope), impact characteristics (destroying/destabilising a MEMS gyroscope), vibration, etc. Example applications include complex acrobatic maneuvers of unmanned aerial vehicles [9][19], detumbling maneuvers for satellite deployment [1][21], and tracking of fast-moving sporting equipment [23]. [9] A gyroscope is also more prone to malfunction than accelerometer and magnetometer devices, a famous example being the Hubble space telescope that required expensive replacement of the faulty gyroscopes in two separate occasions [2].

The subject of attitude estimation has a rich history of research [17]. Different kinematic models and attitude representations have been considered including; Euler angles [6][20][7], quaternions [10, 18], and rotation matrices [14][15]. Euler angles provide a minimal state representation, however, they have a singularity problem when the pitch angle passes through ±π/2\pm\pi/2 [22]. Quaternion representations have an ambiguity in the sign, where the same rotation can be represented as qq or q-q. With the power of modern compute hardware, even for embedded applications, the computational advantages of using the Euler angle and quaternion representations are marginal and the direct matrix representation provides a powerful and simple formulation that we exploit in the present paper. Existing work can also be classified as either filtering-based [10, 20], or nonlinear observer-based [14, 18, 8] methods. Filtering methods are based on stochastic principles and provide estimates of uncertainty, however, they are complex (involving propagation of covariance matrix estimates) and typically do not provide the same convergence guarantees and simplicity that are provided by observer-based methods.

The majority of existing attitude estimation algorithms rely on the use of gyroscopes to measure the angular velocity of the rotating body. Lizarralde and Wen [11] proposed the use of a nonlinear filter of the quaternion to remove the need for angular velocity feedback. Berkanel et al.  [2] presented a hybrid attitude and angular velocity observer that does not rely on gyroscope measurement. These methods however rely on the knowledge of the inertia matrix and input torque, which are then used to compute the attitude and angular velocity. Recently, Magnis and Petit [13] proposed the use of multiple vector measurements to recover the angular velocity. They extended the state space to include the estimation of the vector measurement along with the angular velocity.

In this paper, we approach the problem from the perspective of nonlinear observer theory and seek a simple and robust innovation that guarantees almost global stability of the attitude estimate (note that global stability for a continuous estimation algorithm is prevented by topological constraints of the state space [3]). We propose the use of multiple strategically placed accelerometers and magnetometers to obtain a robust estimation of a rigid object’s (e.g. unmanned aerial vehicle (UAV)) attitude and angular velocity, without relying on the gyroscope. A key innovation in the paper is to model the second order kinematics of the attitude system (rather than its dynamics) and to show that these kinematics can be treated using the machinery of equivariant observer design. The paper makes the following contributions:

  • We propose a novel sensor modality that indirectly measures angular acceleration and attitude using multiple accelerometers and magnetometer. The sensitivity to the angular velocity and acceleration can be adapted for specific application by varying the separation between the accelerometers.

  • We derive a second order equivariant attitude observer. To our knowledge this is the first deliberate application of the theory of equivariant observer design to a second order kinematic system.

  • We propose a simple observer for robust attitude and angular velocity estimation that does not require angular velocity measurements.

  • We prove almost global asymptotic convergence and local uniform exponential convergence of the estimation error for the proposed observer.

The paper is organised as follows. Section I presents the introduction and literature review of related work, Section II discusses the problem formulation where we present the state and velocity space, system kinematics and sensor measurements used. Section III discusses the symmetry group of the attitude system, group actions and the associated system lift. Section IV presents our observer design and stability analysis. Section V presents the simulation results, followed by conclusions in Section VI.

2 PROBLEM FORMULATION

Let \mathcal{M} and i\mathbb{N}_{i} for i=1,,pi=1,\dots,p be finite-dimensional smooth real manifolds that are termed, respectively, the state and output spaces. Let 𝕍\mathbb{V} denotes the finite-dimensional real vector space that is termed the input (velocity) space. A kinematic system is defined by the state equations

x˙\displaystyle\dot{x} =f(x,v),\displaystyle=f(x,v), (1a)
yi\displaystyle y_{i} =hi(x),\displaystyle=h_{i}(x), (1b)

for smooth dynamic function f:×𝕍Tf:\mathcal{M}\times\mathbb{V}\to T\mathcal{M}, with f(x,):𝕍Txf(x,\cdot):\mathbb{V}\to T_{x}\mathcal{M} a linear map, and smooth output maps hi:ih_{i}:\mathcal{M}\to\mathbb{N}_{i}.

We are interested in the second order attitude kinematics that would normally be expressed on T𝐒𝐎(3)T\mathbf{SO}(3). By using the standard left trivialisation of the velocity space, a tangent vector RΩ×TR𝐒𝐎(3)R\Omega^{\times}\in T_{R}\mathbf{SO}(3) is identified with Ω×𝔰𝔬(3)\Omega^{\times}\in\mathfrak{so}(3). In this manner, we consider the state of our system as an element of the product manifold

=𝐒𝐎(3)×𝔰𝔬(3).\displaystyle\mathcal{M}=\mathbf{SO}(3)\times\mathfrak{so}(3).

The associated input (velocity) space is the tangent TR𝐒𝐎(3)T_{R}\mathbf{SO}(3) to 𝐒𝐎(3)\mathbf{SO}(3) at R𝐒𝐎(3)R\in\mathbf{SO}(3) and that tangent space T𝔰𝔬(3)T\mathfrak{so}(3) to 𝔰𝔬(3)\mathfrak{so}(3) at a point Ω×𝔰𝔬(3)\Omega^{\times}\in\mathfrak{so}(3). Since 𝔰𝔬(3)\mathfrak{so}(3) is a linear space, then T𝔰𝔬(3)𝔰𝔬(3)T\mathfrak{so}(3)\equiv\mathfrak{so}(3). The tangent space TR𝐒𝐎(3)T_{R}\mathbf{SO}(3) can be left trivialised to 𝔰𝔬(3)\mathfrak{so}(3) analogously to the approach taken above. Thus, the input space that we consider is based on this construction for a parametrization of the tangent space to \mathcal{M}. That is a space 𝕍=𝔰𝔬(3)×T𝔰𝔬(3)\mathbb{V}=\mathfrak{so}(3)\times T\mathfrak{so}(3) where we preserve the T𝔰𝔬(3)T\mathfrak{so}(3) notation to make clear the part of the velocity space that is modelling the second order part of the kinematics. An element v=(π×,θ×)𝕍𝔰𝔬(3)×T𝔰𝔬(3)v=(\pi^{\times},\theta^{\times})\in\mathbb{V}\equiv\mathfrak{so}(3)\times T\mathfrak{so}(3) in the input space can be thought of as two independent elements π×𝔰𝔬(3)\pi^{\times}\in\mathfrak{so}(3) and θ×T𝔰𝔬(3)𝔰𝔬(3)\theta^{\times}\in T\mathfrak{so}(3)\equiv\mathfrak{so}(3).

For an element x=(R,Ω×)x=(R,\Omega^{\times})\in\mathcal{M}, and input v=(π×,θ×)𝕍𝔰𝔬(3)×T𝔰𝔬(3)v=(\pi^{\times},\theta^{\times})\in\mathbb{V}\equiv\mathfrak{so}(3)\times T\mathfrak{so}(3), the kinematics are given by

R˙\displaystyle\dot{R} =R(Ω×+π×),\displaystyle=R(\Omega^{\times}+\pi^{\times}), (2a)
Ω˙×\displaystyle\dot{\Omega}^{\times} =θ×.\displaystyle=\theta^{\times}. (2b)

Note that the natural behaviour of the system is recovered by measuring the angular acceleration input θ×\theta^{\times} and by setting π×𝟎\pi^{\times}\equiv\mathbf{0}. That is, the input angular velocity π×\pi^{\times} that acts on the first order state kinematics is zero in the natural system kinematics. A key property of the kinematics (2) is the presence of the drift term

f((R,Ω),𝟎)=(RΩ×,𝟎)f((R,\Omega),\mathbf{0})=(R\Omega^{\times},\mathbf{0})

for v𝟎𝕍v\equiv\mathbf{0}\in\mathbb{V} . That is, the system function is affine in the input v𝔰𝔬(3)×T𝔰𝔬(3)v\in\mathfrak{so}(3)\times T\mathfrak{so}(3) not linear as has been considered in most prior works [4, 14, 16] in equivariant observer design.

Remark 2.1.

The majority of the work on equivariant observer design has been done for first order kinematics systems

X˙=XV1+V2X\dot{X}=XV_{1}+V_{2}X

where X𝐆X\in\mathbf{G} is in some Lie-group and V1,V2𝔤V_{1},V_{2}\in\mathfrak{g} are some measured velocities. In such cases there is no drift term, and the system function is linear with respect to the measured velocity. The more general case of second order kinematics is implicit in some of the early work on velocity-aided attitude [5] since the second order velocity kinematics are present in the model. However, in these works the attitude kinematics are not modelled, only the second order attitude (velocity) kinematics and the first order attitude (state) kinematics. As such the drift term in (2) is not present. The authors are not aware of any other works that use equivariant observer techniques for second order kinematic systems. \Box

The first component of the state x=(R,Ω×)𝐒𝐎(3)×𝔰𝔬(3)x=(R,\Omega^{\times})\in\mathbf{SO}(3)\times\mathfrak{so}(3) is the attitude of the object with respect to an inertial frame. The columns of RR can also be seen as the coordinate basis of the body-fixed frame in the inertial frame. The second component of the state x=(R,Ω×)𝐒𝐎(3)×𝔰𝔬(3)x=(R,\Omega^{\times})\in\mathbf{SO}(3)\times\mathfrak{so}(3) is the angular velocity Ω\Omega expressed in the body-fixed frame {B}\{B\}. The input velocity vv of the system kinematics

x˙=f(x,v)=(R(Ω×+π×),θ×)\dot{x}=f(x,v)=(R(\Omega^{\times}+\pi^{\times}),\theta^{\times}) (3)

is the input angular velocity and the angular acceleration of the rotating UAV with respect to the inertial frame, expressed in the body fixed frame {B}\{B\}.

2.1 Measurements of Angular Acceleration

The measurement system proposed in this paper involves at least four non-coplanar accelerometers and one magnetometer placed on a rigid body at known displacement from the centre of mass. We denote the body-fixed frame {B}\{B\} and assume that the accelerometers are aligned (in orientation) with {B}\{B\}. In practice, calibration may be required to find a transformational mapping from the orientation of each accelerometer to the body-fixed frame. Denote the measured acceleration at each accelerometer aia_{i} for i=1,,ni=1,...,n. Then we have

ai\displaystyle a_{i} =a0+Ω˙×ri+Ω×(Ω×ri)\displaystyle=a_{0}+\dot{\Omega}\times r_{i}+\Omega\times(\Omega\times r_{i}) (4)
=a0+Ω˙×ri+Ω×Ω×ri\displaystyle=a_{0}+\dot{\Omega}^{\times}r_{i}+\Omega^{\times}\Omega^{\times}r_{i}

where rir_{i} is the position of accelerometer ii with respect to {B}\{B\}, a0a_{0} is the linear acceleration of {B}\{B\}, Ω˙\dot{\Omega} is the angular acceleration of {B}\{B\}, and Ω\Omega is the angular velocity of {B}\{B\}.

We propose to place the accelerometers at r0=[0,0,0]r_{0}=[0,0,0]^{\top}, r1=[l,0,0]r_{1}=[l,0,0]^{\top}, r2=[0,l,0]r_{2}=[0,l,0]^{\top} and r3=[0,0,l]r_{3}=[0,0,l]^{\top} as shown in Fig. 1. Thus, the difference between accelerometer ii and accelerometer 0 is

aia0=ω˙×ri+Ω×Ω×ri\displaystyle a_{i}-a_{0}=\dot{\omega}\times r_{i}+\Omega^{\times}\Omega^{\times}r_{i}

and substituting values of rir_{i},

a1a0\displaystyle a_{1}-a_{0} =l([0θzθy]+[Ωy2Ωz2ΩxΩyΩxΩz]),\displaystyle=l\left(\begin{bmatrix}0\\ \theta_{z}\\ -\theta_{y}\end{bmatrix}+\begin{bmatrix}-{\Omega_{y}}^{2}-{\Omega_{z}}^{2}\\ \Omega_{x}\Omega_{y}\\ \Omega_{x}\Omega_{z}\end{bmatrix}\right),
a2a0\displaystyle a_{2}-a_{0} =l([θz0θx]+[ΩxΩyΩx2Ωz2ΩyΩz]),\displaystyle=l\left(\begin{bmatrix}-\theta_{z}\\ 0\\ \theta_{x}\end{bmatrix}+\begin{bmatrix}\Omega_{x}\Omega_{y}\\ -{\Omega_{x}}^{2}-{\Omega_{z}}^{2}\\ \Omega_{y}\Omega_{z}\end{bmatrix}\right),
a3a0\displaystyle a_{3}-a_{0} =l([θyθx0]+[ΩxΩzΩyΩzΩx2Ωy2]).\displaystyle=l\left(\begin{bmatrix}\theta_{y}\\ -\theta_{x}\\ 0\end{bmatrix}+\begin{bmatrix}\Omega_{x}\Omega_{z}\\ \Omega_{y}\Omega_{z}\\ -{\Omega_{x}}^{2}-{\Omega_{y}}^{2}\end{bmatrix}\right).

Thus,

θ=[θxθyθz]=12l[(a2,za0,z)(a3,ya0,y)(a3,xa0,x)(a1,za0,z)(a1,ya0,y)(a2,xa0,x)].\displaystyle\theta=\begin{bmatrix}\theta_{x}\\ \theta_{y}\\ \theta_{z}\end{bmatrix}=\frac{1}{2l}\begin{bmatrix}(a_{2,z}-a_{0,z})-(a_{3,y}-a_{0,y})\\ (a_{3,x}-a_{0,x})-(a_{1,z}-a_{0,z})\\ (a_{1,y}-a_{0,y})-(a_{2,x}-a_{0,x})\end{bmatrix}. (5)
Refer to caption
Figure 1: Proposed sensing system. Red boxes are accelerometers taking acceleration measurements aia_{i} at known locations. The inertial sensor in the middle also has a magnetometer taking magnetic field measurement mm.

2.2 Measurement of Orientation

Assuming that the magnetic field direction is known and remains constant, the orientation of an object with respect to an inertial frame can be measured by a magnetometer rigidly mounted on the object. For simplicity, the magnetometer is assumed to be aligned (in orientation) with the body-fixed frame {B}\{B\}.

The physical direction of the magnetic field of the earth can be modelled as a direction on the two sphere S2S^{2} embedded in 3\mathbb{R}^{3}. We denote the magnetic field direction relative to the inertial frame by m̊\mathring{m}, and measured magnetic field direction in body-fixed frame by mm, such that m̊,mS23\mathring{m},m\in S^{2}\subset\mathbb{R}^{3}. Then

m=Rm̊,m=R^{\top}\mathring{m}, (6)

where RR is the attitude (orientation) of the object with respect to the inertial frame. In the presence of multiple magnetometers, assuming that the orientation of the sensors are aligned and are connected rigidly, the measurements can be combined by taking the average.

If we consider an application in Earth’s gravity field for an object that is not too dynamic (i.e. most of the time, the object is not accelerating with respect to the Earth fixed frame), then the acceleration of {B}\{B\} measured at accelerometer 0 is approximately the gravitational acceleration direction measured in the body-fixed frame. Thus, the outputs are

y1\displaystyle y_{1} =m=Rm̊,\displaystyle=m=R^{\top}\mathring{m}, (7a)
y2\displaystyle y_{2} =a0gRe3,\displaystyle=a_{0}\cong gR^{\top}e_{3}, (7b)

where y1,y23y_{1},y_{2}\in\mathbb{R}^{3}.

Note that other application specific sensor that provides vector measurement may also be used instead of the measurement from accelerometer 0. For example, in satellite application, sun sensor [12] can be used.

3 SYMMETRY OF ATTITUDE SYSTEM

Most physical systems have physical models with symmetries that encode the equivariance of the laws of motion. This expresses the fact that the behaviour of the system at one point is the same as the behaviour at another point in the state space, when viewed through a symmetric transformation of space [16]. Then, a global observer design can be achieved by analysing the behaviour at one point in space for a system with symmetry.

3.1 The Symmetry group

We introduce a new notation for the inverse mapping from a skew-symmetric matrix to the corresponding vector such that

(Ω×)=Ω(\Omega^{\times})^{\vee}=\Omega (8)

and that 𝔰𝔬(3)3\mathfrak{so}^{\vee}(3)\equiv\mathbb{R}^{3}.

Consider the Lie-group 𝐒𝐄(3)\mathbf{SE}(3). This group is usually considered as a model for rigid-body transformations of the Euclidean space. In the following development we show that this group can also be used to model a symmetry of the the second order velocity kinematics for attitude. Write the elements of 𝐒𝐄(3)=𝐒𝐎(3)𝔰𝔬(3)\mathbf{SE}(3)=\mathbf{SO}(3)\ltimes\mathfrak{so}^{\vee}(3) in the form

𝐒𝐄(3)={(Q,q)Q𝐒𝐎(3),q3}.\displaystyle\mathbf{SE}(3)=\{(Q,q)\;\vline\;Q\in\mathbf{SO}(3),q\in\mathbb{R}^{3}\}.

The semi-direct group product is given by

(A,a)(B,b)=(AB,a+Ab),\displaystyle(A,a)\cdot(B,b)=(AB,a+Ab),

with group identity (I3,0)(I_{3},0) and group inverse

(A,a)1=(A,Aa).\displaystyle(A,a)^{-1}=(A^{\top},-A^{\top}a).
Lemma 3.1.

The action ϕ:𝐒𝐄(3)×\phi:\mathbf{SE}(3)\times\mathcal{M}\to\mathcal{M} defined by

ϕ((Q,q),(R,Ω×))=(RQ,(Q(Ω+q))×)\displaystyle\phi((Q,q),(R,\Omega^{\times}))=(RQ,(Q^{\top}(\Omega+q))^{\times}) (9)

is a transitive right group action of 𝐒𝐄(3)\mathbf{SE}(3) on \mathcal{M}.

Proof.

Let (A,a),(B,b)𝐒𝐄(3)(A,a),(B,b)\in\mathbf{SE}(3). Then

ϕ((A,a),\displaystyle\phi((A,a), ϕ((B,b),(R,Ω×)))\displaystyle\phi((B,b),(R,\Omega^{\times})))
=ϕ((A,a),(RB,(B(Ω+b))×)\displaystyle=\phi((A,a),(RB,(B^{\top}(\Omega+b))^{\times})
=(RBA,(A(B(Ω+b)+a))×)\displaystyle=(RBA,(A^{\top}(B^{\top}(\Omega+b)+a))^{\times})
=(R(BA),(AB(Ω+b+Ba))×)\displaystyle=(R(BA),(A^{\top}B^{\top}(\Omega+b+Ba))^{\times})
=(R(BA),((BA)(Ω+(b+Ba)))×)\displaystyle=(R(BA),((BA)^{\top}(\Omega+(b+Ba)))^{\times})
=ϕ((BA,b+Ba),(R,Ω×))\displaystyle=\phi((BA,b+Ba),(R,\Omega^{\times}))
=ϕ((B,b)(A,a),(R,Ω×)).\displaystyle=\phi((B,b)\cdot(A,a),(R,\Omega^{\times})).

This demonstrates that the (right handed) group action property holds. It is straightforward to verify that ϕ((I3,0),(R,Ω))=(R,Ω)\phi((I_{3},0),(R,\Omega))=(R,\Omega).

To see that ϕ\phi is transitive, let (R,Ω×)(R,\Omega^{\times}) and (R,Ω×)(R^{\prime},{\Omega^{\prime}}^{\times}) be any elements of \mathcal{M}. Then we can find the group element (RR,RR(Ω)Ω)(R^{\top}R^{\prime},R^{\top}R^{\prime}(\Omega^{\prime})-\Omega) such that

ϕ((RR,\displaystyle\phi((R^{\top}R^{\prime}, RR(Ω)Ω),(R,Ω×))\displaystyle R^{\top}R^{\prime}(\Omega^{\prime})-\Omega),(R,\Omega^{\times}))
=(RRR,((RR)(RR(Ω)Ω+Ω))×)\displaystyle=(RR^{\top}R^{\prime},((R^{\top}R^{\prime})^{\top}(R^{\top}R^{\prime}(\Omega^{\prime})-\Omega+\Omega))^{\times})
=(R,((RR)(RR)Ω)×)\displaystyle=(R^{\prime},((R^{\top}R^{\prime})^{\top}(R^{\top}R^{\prime})\Omega^{\prime})^{\times})
=(R,Ω×).\displaystyle=(R^{\prime},\Omega^{\prime\times}).

The key observation from this derivation is that the same Lie-group 𝐒𝐄(3)\mathbf{SE}(3) can be used as a symmetry group either for rigid-body kinematics, or as a symmetry group for second order attitude kinematics. Note however that the state-space of the observer problem for attitude kinematics T𝐒𝐎(3)T\mathbf{SO}(3) is not 𝐒𝐄(3)\mathbf{SE}(3).

3.2 Equivariance of the kinematics

Lemma 3.2.

The action ψ:𝐒𝐄(3)×𝕍𝕍\psi:\mathbf{SE}(3)\times\mathbb{V}\to\mathbb{V} defined by

ψ((Q,q),(π×,θ×))=((Q(πq))×,(Qθ)×)\displaystyle\psi((Q,q),(\pi^{\times},\theta^{\times}))=((Q^{\top}(\pi-q))^{\times},(Q^{\top}\theta)^{\times}) (10)

is a right action of 𝐒𝐄(3)\mathbf{SE}(3) on 𝕍\mathbb{V}.

Proof.

Let (A,a),(B,b)𝐒𝐄(3)(A,a),(B,b)\in\mathbf{SE}(3) and let (π×,θ×)𝕍(\pi^{\times},\theta^{\times})\in\mathbb{V}. Then we have

ψ((A,a),\displaystyle\psi((A,a), ψ((B,b),(π×,θ×)))\displaystyle\psi((B,b),(\pi^{\times},\theta^{\times})))
=ψ((A,a),((B(πb))×,(Bθ)×))\displaystyle=\psi((A,a),((B^{\top}(\pi-b))^{\times},(B^{\top}\theta)^{\times}))
=((A(B(πb)a))×,(ABθ)×)\displaystyle=((A^{\top}(B^{\top}(\pi-b)-a))^{\times},(A^{\top}B^{\top}\theta)^{\times})
=((A(B(πbBa)))×,((BA)θ)×)\displaystyle=((A^{\top}(B^{\top}(\pi-b-Ba)))^{\times},((BA)^{\top}\theta)^{\times})
=((AB(πbBa))×,((BA)θ)×)\displaystyle=((A^{\top}B^{\top}(\pi-b-Ba))^{\times},((BA)^{\top}\theta)^{\times})
=ψ((BA,b+Ba),(π×,θ×))\displaystyle=\psi((BA,b+Ba),(\pi^{\times},\theta^{\times}))
=ψ((B,b)(A,a),(π×,θ×)).\displaystyle=\psi((B,b)\cdot(A,a),(\pi^{\times},\theta^{\times})).

This shows that the (right handed) group action property holds. It is straightforward to verify that ψ((I3,0),(π×,θ×))=(π×,θ×)\psi((I_{3},0),(\pi^{\times},\theta^{\times}))=(\pi^{\times},\theta^{\times}). Thus, ψ\psi is indeed a right action. ∎

Next, we wish to show the system dynamics are equivariant.

Lemma 3.3.

The system defined in (3) is equivariant with respect to the group 𝐒𝐄(3)\mathbf{SE}(3) and group actions ϕ\phi and ψ\psi as given in Lemmas 3.1 and 3.2 respectively; i.e., one has

dϕX[f(x,v)]=f(ϕX(x),ψX(v)),\displaystyle\mathrm{d}\phi_{X}[f(x,v)]=f(\phi_{X}(x),\psi_{X}(v)),

for any X𝐒𝐄(3)X\in\mathbf{SE}(3), xx\in\mathcal{M}, and v𝕍v\in\mathbb{V}

Proof.

Let (Q,q)𝐒𝐄(3)(Q,q)\in\mathbf{SE}(3), (R,Ω×)(R,\Omega^{\times})\in\mathcal{M}, and (π×,θ×)𝕍(\pi^{\times},\theta^{\times})\in\mathbb{V} be arbitrary. Then we have

dϕ(Q,q)f\displaystyle\mathrm{d}\phi_{(Q,q)}f ((R,Ω×),(π×,θ×))\displaystyle((R,\Omega^{\times}),(\pi^{\times},\theta^{\times}))
=D(R,Ω)ϕ(Q,q)(R,Ω×)[(R(π+Ω)×,θ×)]\displaystyle=\mathrm{D}_{(R,\Omega)}\phi_{(Q,q)}(R,\Omega^{\times})[(R(\pi+\Omega)^{\times},\theta^{\times})]
=(R(π+Ω)×Q,(Qθ)×)\displaystyle=(R(\pi+\Omega)^{\times}Q,(Q^{\top}\theta)^{\times})
=(RQQ(π+Ω)×Q,(Qθ)×)\displaystyle=(RQQ^{\top}(\pi+\Omega)^{\times}Q,(Q^{\top}\theta)^{\times})
=(RQ(Q(π+Ω))×,(Qθ)×)\displaystyle=(RQ(Q^{\top}(\pi+\Omega))^{\times},(Q^{\top}\theta)^{\times})
=(RQ((Q(Ω+q))×+(Q(πq))×),(Qθ)×)\displaystyle=(RQ((Q^{\top}(\Omega+q))^{\times}+(Q^{\top}(\pi-q))^{\times}),(Q^{\top}\theta)^{\times})
=f((RQ,(Q(Ω+q))×),((Q(πq))×,(Qθ)×))\displaystyle=f((RQ,(Q^{\top}(\Omega+q))^{\times}),((Q^{\top}(\pi-q))^{\times},(Q^{\top}\theta)^{\times}))
=f(ϕ(Q,q)(R,Ω×),ψ(Q,q)(π×,θ×)),\displaystyle=f(\phi_{(Q,q)}(R,\Omega^{\times}),\psi_{(Q,q)}(\pi^{\times},\theta^{\times})),

which proves the equivariance condition. ∎

Finally, we demonstrate that the group action on the output is also equivariant.

Lemma 3.4.

The action ρi:𝐒𝐄(3)×ii\rho^{i}:\mathbf{SE}(3)\times\mathbb{N}_{i}\to\mathbb{N}_{i} defined by

ρi((Q,q),yi)=Qyi\rho^{i}((Q,q),y_{i})=Q^{\top}y_{i}

is a transitive right group action of 𝐒𝐄(3)\mathbf{SE}(3) on i\mathbb{N}_{i}, where i3\mathbb{N}_{i}\equiv\mathbb{R}^{3}.

Proof.

Let (A,a),(B,b)𝐒𝐄(3)(A,a),(B,b)\in\mathbf{SE}(3) and let yiy_{i}\in\mathbb{N}. Then we have

ρi((A,a),ρi((B,b),yi))\displaystyle\rho^{i}((A,a),\rho^{i}((B,b),y_{i})) =ρi((A,a),Byi)),\displaystyle=\rho^{i}((A,a),B^{\top}y_{i})),
=AByi,\displaystyle=A^{\top}B^{\top}y_{i},
=(BA)yi,\displaystyle=(BA)^{\top}y_{i},
=ρi((B,b)(A,a),yi).\displaystyle=\rho^{i}((B,b)\cdot(A,a),y_{i}).

This shows that the (right handed) group action property holds. It is straightforward to verify that ρi((I3,0),yi)=yi\rho^{i}((I_{3},0),y_{i})=y_{i}. Thus, ρ\rho is indeed a right action. ∎

3.3 System lift onto the group

In order to work with our observer on 𝐒𝐄(3)\mathbf{SE}(3), we need to lift the kinematics of the system. A lifted equivariant system is defined as the system on the 𝐒𝐄(3)\mathbf{SE}(3)-torsor

X˙\displaystyle\dot{X} :=Fx0(X,v),\displaystyle:=F_{x_{0}}(X,v), (11a)
yi\displaystyle y_{i} :=ρi(X,ẙi)=:Hi(x),\displaystyle:=\rho^{i}(X,\mathring{y}_{i})=:H_{i}(x), (11b)

for v𝕍v\in\mathbb{V} and initial condition X(0)𝐒𝐄(3)X(0)\in\mathbf{SE}(3) such that ϕx0(X(0))=x(0)\phi_{x_{0}}(X(0))=x(0) projects to the initial condition of (1).

Specifically, we require a system lift, which is a family of functions Fx0:𝐒𝐄(3)×𝕍T𝐒𝐄(3)F_{x_{0}}:\mathbf{SE}(3)\times\mathbb{V}\to T\mathbf{SE}(3) such that dϕx0[Fx0(X,v)]=f(ϕx0(X),v)\mathrm{d}\phi_{x_{0}}[F_{x_{0}}(X,v)]=f(\phi_{x_{0}}(X),v) for all x0x_{0}\in\mathcal{M}, v𝕍v\in\mathbb{V}, and X𝐒𝐄(3)X\in\mathbf{SE}(3). Lemma 3.5 provides such a family.

Lemma 3.5.

The family of functions Fx0:𝐒𝐄(3)×𝕍T𝐒𝐄(3)F_{x_{0}}:\mathbf{SE}(3)\times\mathbb{V}\to T\mathbf{SE}(3) defined by

F\displaystyle F ((Q,q),(π×,θ×))(R0,(Ω0)×){}_{(R_{0},(\Omega_{0})^{\times})}((Q,q),(\pi^{\times},\theta^{\times}))
=(Q(Q(Ω0+q)+π)×,Q(π×Q(Ω0+q)+θ))\displaystyle=(Q(Q^{\top}(\Omega_{0}+q)+\pi)^{\times},\ Q(\pi^{\times}Q^{\top}(\Omega_{0}+q)+\theta))
=((Ω0+q)×Q+(Qπ)×Q,(Qπ)×(Ω0+q)+Qθ)\displaystyle=((\Omega_{0}+q)^{\times}Q+(Q\pi)^{\times}Q,(Q\pi)^{\times}(\Omega_{0}+q)+Q\theta) (12)

defines a system lift for (3) onto the group 𝐒𝐄(3)\mathbf{SE}(3).

Proof.

In order to show that {Fx0}x0\{F_{x_{0}}\}_{x_{0}\in\mathcal{M}} is indeed a system lift, we need to show that dϕxFx0(X,v)=f(ϕx0(X),v)\mathrm{d}\phi_{x}F_{x_{0}}(X,v)=f(\phi_{x_{0}}(X),v) for all x0x_{0}\in\mathcal{M}, v𝕍v\in\mathbb{V}, and X𝐒𝐄(3)X\in\mathbf{SE}(3). Let (R0,(Ω0)×)(R_{0},(\Omega_{0})^{\times})\in\mathcal{M}, (π×,θ×)𝕍(\pi^{\times},\theta^{\times})\in\mathbb{V}, and (Q,q)𝐒𝐄(3)(Q,q)\in\mathbf{SE}(3) be arbitrary.

Then we have

dϕ\displaystyle\mathrm{d}\phi F(R0,(Ω0)×)(R0,(Ω0)×)((Q,q),(π×,θ×)){}_{(R_{0},(\Omega_{0})^{\times})}F_{(R_{0},(\Omega_{0})^{\times})}((Q,q),(\pi^{\times},\theta^{\times}))
=dϕ(R0,(Ω0)×)[Q(Q(Ω0+q)+π)×,\displaystyle=\mathrm{d}\phi_{(R_{0},(\Omega_{0})^{\times})}[Q(Q^{\top}(\Omega_{0}+q)+\pi)^{\times},
Q(π×Q(Ω0+q)+θ)]\displaystyle\hskip 14.22636ptQ(\pi^{\times}Q^{\top}(\Omega_{0}+q)+\theta)]
=ddtϕ(R0,(Ω0)×)(Qexp(t(Q(Ω0+q)+π)×),\displaystyle=\frac{\mathrm{d}}{\mathrm{d}t}\phi_{(R_{0},(\Omega_{0})^{\times})}(Q\exp(t(Q^{\top}(\Omega_{0}+q)+\pi)^{\times}),
Q(t(π×Q(Ω0+q)+θ))+q)|t=0\displaystyle\hskip 14.22636ptQ(t(\pi^{\times}Q^{\top}(\Omega_{0}+q)+\theta))+q)|_{t=0}
=ddt(R0Qexp(t(Q(Ω0+q)+π)×),\displaystyle=\frac{\mathrm{d}}{\mathrm{d}t}(R_{0}Q\exp(t(Q^{\top}(\Omega_{0}+q)+\pi)^{\times}),
[(Qexp(t(Q(Ω0+q)+π)×))(Ω0+\displaystyle\hskip 14.22636pt[(Q\exp(t(Q^{\top}(\Omega_{0}+q)+\pi)^{\times}))^{\top}(\Omega_{0}+
(Ω0+Q(t(π×Q(Ω0+q)+θ))+q)]×)|t=0\displaystyle\hskip 14.22636pt(\Omega_{0}+Q(t(\pi^{\times}Q^{\top}(\Omega_{0}+q)+\theta))+q)]^{\times})|_{t=0}
=(R0Q(Q(Ω0+q)+π)×,\displaystyle=(R_{0}Q(Q^{\top}(\Omega_{0}+q)+\pi)^{\times},
[(Q(Ω0+q)+π)×Q(Ω0+q)+\displaystyle\hskip 14.22636pt[-(Q^{\top}(\Omega_{0}+q)+\pi)^{\times}Q^{\top}(\Omega_{0}+q)+
QQ(π×Q(Ω0+q)+θ))]×)\displaystyle\hskip 14.22636ptQ^{\top}Q(\pi^{\times}Q^{\top}(\Omega_{0}+q)+\theta))]^{\times})
=(R0Q(Q(Ω0+q)+π)×,\displaystyle=(R_{0}Q(Q^{\top}(\Omega_{0}+q)+\pi)^{\times},
[(Q(Ω0+q))×Q(Ω0+q)π×Q(Ω0+q)+\displaystyle\hskip 14.22636pt[-(Q^{\top}(\Omega_{0}+q))^{\times}Q^{\top}(\Omega_{0}+q)-\pi^{\times}Q^{\top}(\Omega_{0}+q)+
π×Q(Ω0+q)+θ]×)\displaystyle\hskip 14.22636pt\pi^{\times}Q^{\top}(\Omega_{0}+q)+\theta]^{\times})
=(R0Q(Q(Ω0+q)+π)×,θ×)\displaystyle=(R_{0}Q(Q^{\top}(\Omega_{0}+q)+\pi)^{\times},\ \theta^{\times})
=f((R0Q,(Q(Ω0+q))×),(π×,θ×))\displaystyle=f((R_{0}Q,(Q^{\top}(\Omega_{0}+q))^{\times}),(\pi^{\times},\theta^{\times}))
=f(ϕ(R0,(Ω0)×)((Q,q)),(π×,θ×)),\displaystyle=f(\phi_{(R_{0},(\Omega_{0})^{\times})}((Q,q)),(\pi^{\times},\theta^{\times})),

which shows that our condition holds, and therefore {Fx0}x0\{F_{x_{0}}\}_{x_{0}\in\mathcal{M}} is a system lift as required. ∎

Let an element of the lifted state space be represented as X=(Q,q)𝐒𝐄(3)X=(Q,q)\in\mathbf{SE}(3), with unknown initial condition X(0)=(Q0,q0)X(0)=(Q_{0},q_{0}). Lemma 3.5 shows that the lifted kinematics on 𝐒𝐄(3)\mathbf{SE}(3) can be written as

Q˙\displaystyle\dot{Q} =(Ω0+q)×Q+(Qπ)×Q,\displaystyle=(\Omega_{0}+q)^{\times}Q+(Q\pi)^{\times}Q, (13a)
q˙\displaystyle\dot{q} =(Qπ)×(Ω0+q)+Qθ,\displaystyle=(Q\pi)^{\times}(\Omega_{0}+q)+Q\theta, (13b)

where π𝟎\pi\equiv\mathbf{0} in the real system, since there is no input angular velocity (unlike first order state kinematics).

4 OBSERVER DESIGN

From equation (2), assuming no external angular velocity input (π𝟎\pi\equiv\mathbf{0}), the behaviour of the second order attitude kinematics satisfies

R˙\displaystyle\dot{R} =RΩ×,\displaystyle=R\Omega^{\times}, (14a)
Ω˙\displaystyle\dot{\Omega} =θ.\displaystyle=\theta. (14b)

The (output) measurements available are

a\displaystyle a =a0|a0|=RåRe3,\displaystyle=\frac{a_{0}}{|a_{0}|}=R^{\top}\mathring{a}\cong R^{\top}e_{3},
a^\displaystyle\hat{a} =R^åR^e3,\displaystyle=\hat{R}^{\top}\mathring{a}\cong\hat{R}^{\top}e_{3},
m\displaystyle m =Rm̊,\displaystyle=R^{\top}\mathring{m},
m^\displaystyle\hat{m} =R^m̊,\displaystyle=\hat{R}^{\top}\mathring{m},

where a, a^,m,m^S2\hat{a},m,\hat{m}\in S^{2}, and |a|=|a^|=|m|=|m^|=1|a|=|\hat{a}|=|m|=|\hat{m}|=1.

4.1 Proposed Observer

Our proposed observer works on the symmetry group of the attitude state space i.e. 𝐒𝐄(3)\mathbf{SE}(3), and not the manifold \mathcal{M}. We use X^(t;X^(0))𝐒𝐄(3)\hat{X}(t;\hat{X}(0))\in\mathbf{SE}(3) to denote the estimate for the lifted system state X(t;X(0))X(t;X(0)) for unknown X(0)X(0). The fundamental structure for the observer that we consider is that of a pre-observer (a copy of (13)) with innovation. The innovation takes outputs {yi}\{y_{i}\} and the observer state X^\hat{X}, and generates a correction term for the observer dynamics with the goal that x^=ϕ(X^,x0)\hat{x}=\phi(\hat{X},x_{0}) converges to x(t,x0)x(t,x_{0}).

Theorem 4.1.

Let (R0,Ω0)(R_{0},\Omega_{0}) be a constant reference state in \mathcal{M}. Let X^=(Q^,q^)𝐒𝐄(3)\hat{X}=(\hat{Q},\hat{q})\in\mathbf{SE}(3), with arbitrary initial condition X^(0)=(Q^0,q^0)\hat{X}(0)=(\hat{Q}_{0},\hat{q}_{0}). Consider the observer kinematics

Q^˙\displaystyle\dot{\hat{Q}} =(Ω0+q^)×Q^+(Q^π^)×Q^,\displaystyle=(\Omega_{0}+\hat{q})^{\times}\hat{Q}+(\hat{Q}\hat{\pi})^{\times}\hat{Q}, (15a)
q^˙\displaystyle\dot{\hat{q}} =(Q^π^)×(Ω0+q^)+Q^θ^,\displaystyle=(\hat{Q}\hat{\pi})^{\times}(\Omega_{0}+\hat{q})+\hat{Q}\hat{\theta}, (15b)

where

π^\displaystyle\hat{\pi} =k1(m×Q^R0m̊+a×Q^R0å),\displaystyle=k_{1}(m\times\hat{Q}^{\top}{R_{0}}^{\top}\mathring{m}+a\times\hat{Q}^{\top}{R_{0}}^{\top}\mathring{a}),
θ^\displaystyle\hat{\theta} =θ+k2(m×Q^R0m̊+a×Q^R0å).\displaystyle=\theta+k_{2}(m\times\hat{Q}^{\top}{R_{0}}^{\top}\mathring{m}+a\times\hat{Q}^{\top}{R_{0}}^{\top}\mathring{a}).

Denote (R^,Ω^)=ϕ((Q^,q^),(R0,Ω0))(\hat{R},\hat{\Omega})=\phi((\hat{Q},\hat{q}),(R_{0},\Omega_{0})), then (R^,Ω^)(\hat{R},\hat{\Omega}) converges uniformly locally exponentially, and almost globally asymptotically to (R,Ω)(R,\Omega).

Proof.

From Lemma 2 of [16], the solution X(t;X0)X(t;X_{0}) projects back to the state x(t;x0)x(t;x_{0}) via the group action

ϕx0(X(t;X(0))=x(t;x0)\displaystyle\phi_{x_{0}}(X(t;X(0))=x(t;x_{0})

such that

(R,Ω×)\displaystyle(R,\Omega^{\times}) =ϕ((Q,q),(R0,(Ω0)×))\displaystyle=\phi((Q,q),(R_{0},(\Omega_{0})^{\times}))
=(R0Q,(Q(Ω0+q))×),\displaystyle=(R_{0}Q,(Q^{\top}(\Omega_{0}+q))^{\times}), (16)

and,

(R^,Ω^×)\displaystyle(\hat{R},\hat{\Omega}^{\times}) =ϕ((Q^,q^),(R0,(Ω0)×))\displaystyle=\phi((\hat{Q},\hat{q}),(R_{0},(\Omega_{0})^{\times}))
=(R0Q^,(Q^(Ω0+q^))×).\displaystyle=(R_{0}\hat{Q},(\hat{Q}^{\top}(\Omega_{0}+\hat{q}))^{\times}). (17)

This can be intuitively understood as shown in Fig. 2.

Refer to caption
Figure 2: Relationship between original state (0R,BΩ)(^{0}R,^{B}\Omega), reference state (0R0,AΩ0)(^{0}R_{0},^{A}\Omega_{0}) and lifted state (AQ,Aq)(^{A}Q,^{A}q). Note that the superscript before the variables denotes the frame of reference, and is left out when the frame of reference is clear. For the estimated variables, the ground truth variables are simply replaced by the estimate (e.g. RR is replaced by R^\hat{R} and so on).

The stability of observer (15) is analysed as follows. The Lyapunov function is defined as

=(1a^a)+(1m^m)+12k2|ΩΩ^|2.\mathcal{L}=(1-\hat{a}^{\top}a)+(1-\hat{m}^{\top}m)+\frac{1}{2k_{2}}|\Omega-\hat{\Omega}|^{2}. (18)

Let α=((m×m^)+(a×a^))\alpha=((m\times\hat{m})+(a\times\hat{a})), Ω~=ΩΩ^\tilde{\Omega}=\Omega-\hat{\Omega}. Computing the derivative of the (output) measurements, we get

a˙\displaystyle\dot{a} =Ω×a\displaystyle=-\Omega^{\times}a
a^˙\displaystyle\dot{\hat{a}} =(Ω^+k1α)×a^\displaystyle=-(\hat{\Omega}+k_{1}\alpha)^{\times}\hat{a}
m˙\displaystyle\dot{m} =Ω×m\displaystyle=-\Omega^{\times}m
m^˙\displaystyle\dot{\hat{m}} =(Ω^+k1α)×m^\displaystyle=-(\hat{\Omega}+k_{1}\alpha)^{\times}\hat{m}

From (17), computing the time derivatives, the proposed observer in 𝐒𝐄(3)\mathbf{SE}(3) when projected back into the original state space in \mathcal{M} has kinematics

R^˙\displaystyle\dot{\hat{R}} =R0Q^˙\displaystyle=R_{0}\dot{\hat{Q}}
=R0((Ω0+q^)×Q^+(Q^π^)×Q^)\displaystyle=R_{0}\left((\Omega_{0}+\hat{q})^{\times}\hat{Q}+(\hat{Q}\hat{\pi})^{\times}\hat{Q}\right)
=R0(Q^(Q^(Ω0+q^))×+Q^(π^)×)\displaystyle=R_{0}\left(\hat{Q}(\hat{Q}^{\top}(\Omega_{0}+\hat{q}))^{\times}+\hat{Q}(\hat{\pi})^{\times}\right)
=R^(Ω^+π^)×\displaystyle=\hat{R}(\hat{\Omega}+\hat{\pi})^{\times}

and,

Ω^˙\displaystyle\dot{\hat{\Omega}} =Q^˙(Ω0+q^)+Q^q^˙\displaystyle=\dot{\hat{Q}}^{\top}(\Omega_{0}+\hat{q})+\hat{Q}^{\top}\dot{\hat{q}}
=(Q^(Q^π^)×+Q^(Ω0+q^)×)(Ω0+q^)\displaystyle=-(\hat{Q}^{\top}(\hat{Q}\hat{\pi})^{\times}+\hat{Q}^{\top}(\Omega_{0}+\hat{q})^{\times})(\Omega_{0}+\hat{q})
+Q^((Q^π^)×(Ω0+q^)+Q^θ^)\displaystyle\hskip 14.22636pt+\hat{Q}^{\top}((\hat{Q}\hat{\pi})^{\times}(\Omega_{0}+\hat{q})+\hat{Q}\hat{\theta})
=Q^(Q^π^)×(Ω0+q^)+Q^(Q^π^)×(Ω0+q^)+θ^\displaystyle=-\hat{Q}^{\top}(\hat{Q}\hat{\pi})^{\times}(\Omega_{0}+\hat{q})+\hat{Q}^{\top}(\hat{Q}\hat{\pi})^{\times}(\Omega_{0}+\hat{q})+\hat{\theta}
=θ^\displaystyle=\hat{\theta}

The derivative of the Lyapunov function is

˙\displaystyle\dot{\mathcal{L}} =(a^˙a+a^a˙+m^˙m+m^m˙)+1k2(ΩΩ^)(Ω˙Ω^˙)\displaystyle=-(\dot{\hat{a}}^{\top}a+\hat{a}^{\top}\dot{a}+\dot{\hat{m}}^{\top}m+\hat{m}^{\top}\dot{m})+\frac{1}{k_{2}}(\Omega-\hat{\Omega})^{\top}(\dot{\Omega}-\dot{\hat{\Omega}})
=(a^(Ω^+k1α)×aa^Ω×a+m^(Ω^+k1α)×mm^Ω×m)\displaystyle=-(\hat{a}^{\top}(\hat{\Omega}+k_{1}\alpha)^{\times}a-\hat{a}^{\top}\Omega^{\times}a+\hat{m}^{\top}(\hat{\Omega}+k_{1}\alpha)^{\times}m-\hat{m}^{\top}\Omega^{\times}m)
+1k2(ΩΩ^)(k2α)\displaystyle\hskip 14.22636pt+\frac{1}{k_{2}}(\Omega-\hat{\Omega})^{\top}(-k_{2}\alpha)
=(a^(k1α+Ω~)×a+m^(k1α+Ω~)×m)+Ω~α\displaystyle=-(\hat{a}^{\top}(k_{1}\alpha+\tilde{\Omega})^{\times}a+\hat{m}^{\top}(k_{1}\alpha+\tilde{\Omega})^{\times}m)+\tilde{\Omega}^{\top}\alpha
=(a^a×(k1α+Ω~)m^m×(k1α+Ω~))+Ω~α\displaystyle=-(-\hat{a}^{\top}a^{\times}(k_{1}\alpha+\tilde{\Omega})-\hat{m}^{\top}m^{\times}(k_{1}\alpha+\tilde{\Omega}))+\tilde{\Omega}^{\top}\alpha
=((a×a^)(k1α+Ω~)+(m×m^)(k1α+Ω~))+Ω~α\displaystyle=-((a\times\hat{a})^{\top}(k_{1}\alpha+\tilde{\Omega})+(m\times\hat{m})^{\top}(k_{1}\alpha+\tilde{\Omega}))+\tilde{\Omega}^{\top}\alpha
=((a×a^+m×m^)(k1α+Ω~))+Ω~α\displaystyle=-((a\times\hat{a}+m\times\hat{m})^{\top}(k_{1}\alpha+\tilde{\Omega}))+\tilde{\Omega}^{\top}\alpha
=k1(αα)αΩ~+Ω~α\displaystyle=-k_{1}(\alpha^{\top}\alpha)-\alpha^{\top}\tilde{\Omega}+\tilde{\Omega}^{\top}\alpha
=k1α2\displaystyle=-k_{1}||\alpha||^{2}
=k1(m×m^)+(a×a^)2\displaystyle=-k_{1}||(m\times\hat{m})+(a\times\hat{a})||^{2}

We define R~R^R\tilde{R}\triangleq\hat{R}R^{\top}, and use identities

ab=12tr(a×b×),\displaystyle a^{\top}b=\frac{1}{2}tr({a^{\times}}^{\top}b^{\times}),
(a×b)×=baab.\displaystyle(a\times b)^{\times}=ba^{\top}-ab^{\top}.

Then,

˙\displaystyle\dot{\mathcal{L}} =k1R(m̊×(R~m̊)+å×(R~å))2\displaystyle=-k_{1}||R^{\top}(\mathring{m}\times(\tilde{R}^{\top}\mathring{m})+\mathring{a}\times(\tilde{R}^{\top}\mathring{a}))||^{2}
=k1m̊×(R~m̊)+å×(R~å)2\displaystyle=-k_{1}||\mathring{m}\times(\tilde{R}^{\top}\mathring{m})+\mathring{a}\times(\tilde{R}^{\top}\mathring{a})||^{2}
=12k1tr((R~m̊m̊m̊m̊R~+R~ååååR~)×\displaystyle=-\frac{1}{2}k_{1}tr((\tilde{R}^{\top}\mathring{m}\mathring{m}^{\top}-\mathring{m}\mathring{m}^{\top}\tilde{R}+\tilde{R}^{\top}\mathring{a}\mathring{a}^{\top}-\mathring{a}\mathring{a}^{\top}\tilde{R})^{\times\top}
(R~m̊m̊m̊m̊R~+R~ååååR~)×)\displaystyle\hskip 14.22636pt(\tilde{R}^{\top}\mathring{m}\mathring{m}^{\top}-\mathring{m}\mathring{m}^{\top}\tilde{R}+\tilde{R}^{\top}\mathring{a}\mathring{a}^{\top}-\mathring{a}\mathring{a}^{\top}\tilde{R})^{\times})
=12k1tr((R~MMR~)×(R~MMR~)×)\displaystyle=-\frac{1}{2}k_{1}tr((\tilde{R}^{\top}M-M\tilde{R})^{\times\top}(\tilde{R}^{\top}M-M\tilde{R})^{\times})
=k1((R~MMR~)(R~MMR~))\displaystyle=-k_{1}((\tilde{R}^{\top}M-M\tilde{R})^{\top}(\tilde{R}^{\top}M-M\tilde{R}))
=k1R~MMR~2\displaystyle=-k_{1}||\tilde{R}^{\top}M-M\tilde{R}||^{2} (19)

with M=m̊m̊+ååM=\mathring{m}\mathring{m}^{\top}+\mathring{a}\mathring{a}^{\top} (a positive definite matrix), is negative semi-definite. This proves that the estimation error terms are bounded. Analogously to Theorem 4.2 in [14], the computation of the second time derivative of the Lyapunov function

¨=k1(R~MMR~)(R~˙MMR~˙),\displaystyle\ddot{\mathcal{L}}=-k_{1}(\tilde{R}^{\top}M-M\tilde{R})^{\top}(\dot{\tilde{R}}^{\top}M-M\dot{\tilde{R}}),

where we assume Ω\Omega is bounded (matter cannot exceed the speed of light), such that Ω~\tilde{\Omega} is also bounded. It is clear that (R~m̊×m̊+R~å×å)(\tilde{R}\mathring{m}\times\mathring{m}+\tilde{R}\mathring{a}\times\mathring{a}) is bounded. With direct application of Barbalat’s lemma, proves that ˙\dot{\mathcal{L}} asymptotically converges to zero, and hence

R~M\displaystyle\tilde{R}^{\top}M =MR~.\displaystyle=M\tilde{R}. (20)

This in turn implies that the equilibrium (R~,Ω~)=(I,0)(\tilde{R},\tilde{\Omega})=(I,0) is asymptotically stable. The unstable equilibrium set is ({(R~,Ω~)=({R~|U0DiU0},0)(\{(\tilde{R},\tilde{\Omega})=(\{\tilde{R}|U_{0}D_{i}{U_{0}}^{\top}\},0) with DiD_{i} and U0U_{0} defined in Theorem 5.1 of [14].

The proof of the local exponential stability for the stable equilibrium (R~,Ω~)=(I,0)(\tilde{R},\tilde{\Omega})=(I,0), is the same as the proof of item 2 of Theorem 5.1 [14] when using (R~,RΩ~)(\tilde{R},R\tilde{\Omega}) as state variables.

Note that, the observer error on \mathcal{M} has local uniform exponential convergence, and almost global asymptotic convergence property. Similarly, regardless of the chosen reference (R0,Ω0)(R_{0},\Omega_{0}), our proposed observer error on 𝐒𝐄(3)\mathbf{SE}(3) has local uniform exponential convergence, and almost global asymptotic convergence property.

5 SIMULATION RESULTS

We evaluate the performance of our proposed observers using simulation. We consider an object with four accelerometers and one magnetometer placed at known locations as shown in Fig. 1, with the distance from the centre l=1l=1. The sensors have simulated additive Gaussian noise with standard deviation of 0.3m/s20.3m/s^{2} and 0.30.3 on all axes for accelerometer measurement and the magnetic field direction respectively. The chosen simulation time step dt=0.001sdt=0.001s, which corresponds to sensors’ sampling frequency of 1kHz1kHz.

The object is rotating at non-constant angular velocity, following an arbitrarily chosen function of Ω=(sin(0.1t),cos(0.1t),1)\Omega=(\sin(0.1t),\cos(0.1t),1)^{\top}. The ground truth attitude is then generated by integration where R(k+1)=R(k)exp(Ω×dt)R(k+1)=R(k)\exp(\Omega^{\times}dt).

The observer gains used are k1=3k_{1}=3, k2=1k_{2}=1. The observer on 𝐒𝐄(3)\mathbf{SE}(3) have (R0,Ω0)(R_{0},\Omega_{0}) set to random rotational matrix and random 3×13\times 1 vector respectively, while X^(0)=(Q^0,q^0)\hat{X}(0)=(\hat{Q}_{0},\hat{q}_{0}) are also set to random rotational matrix and random 3×13\times 1 vector respectively.

Refer to caption
Refer to caption
Figure 3: Time evolution of error showing convergence of estimates (R^,Ω^×)=ϕ((Q^,q^),(R0,(Ω0)×))(\hat{R},\hat{\Omega}^{\times})=\phi((\hat{Q},\hat{q}),(R_{0},(\Omega_{0})^{\times})) to ground truth (R,Ω×)(R,\Omega^{\times}). From left to right: (a) angular velocity error; (b) attitude error
Refer to caption
Figure 4: Time evolution of Lyapunov function \mathcal{L} showing local exponential convergence to zero.

6 CONCLUSIONS

An equivariant observer for the second order attitude kinematics was presented. The observer does not rely on angular velocity input commonly used by existing methods. Instead, a novel sensor modality is proposed, which uses four or more accelerometer to obtain the measurement of angular acceleration. The observer works on the symmetry group of the second order attitude state space, which has a similar structure as the well known special Euclidean group 𝐒𝐄(3)\mathbf{SE}(3). The observer is shown to exhibit local uniform exponential convergence, and almost global asymptotic convergence to zero estimation error in the presence of sensor noise, regardless of the chosen reference state (R0,Ω0)(R_{0},\Omega_{0}).

Possible extensions of this work include the study of the effect of sensor bias, similar to the work presented in [14]. A nonlinear second order pose observer can also be explored, where the position and linear velocity are also simultaneously estimated. This may be achieved by incorporating GPS measurements or bearing measurements from camera sensors.

References

  • [1] Shakil Ahmed and Eric C Kerrigan. Suboptimal predictive control for satellite detumbling. Journal of Guidance, Control, and Dynamics, 37(3):850–859, 2014.
  • [2] Soulaimane Berkane, Abdelkader Abdessameud, and Abdelhamid Tayebi. Hybrid output feedback for attitude tracking on so(3). IEEE Transactions on Automatic Control, 63(11):3956–3963, 2018.
  • [3] Sanjay P. Bhat and Dennis S. Bernstein. A topological obstruction to continuous global stabilization of rotational motion and the unwinding phenomenon. Systems & Control Letters, 39(1):63–70, 2000.
  • [4] Silvere Bonnabel, Philippe Martin, and Pierre Rouchon. Symmetry-preserving observers. IEEE Transactions on Automatic Control, 53(11):2514–2526, 2008.
  • [5] Silvère Bonnable, Philippe Martin, and Erwan Salaün. Invariant extended kalman filter: theory and application to a velocity-aided attitude estimation problem. In Proceedings of the 48h IEEE Conference on Decision and Control (CDC) held jointly with 2009 28th Chinese Control Conference, pages 1297–1304. IEEE, 2009.
  • [6] Eric Foxlin. Inertial head-tracker sensor fusion by a complimentary separate-bias kalman filter. In vrais, page 185. IEEE, 1996.
  • [7] Songlai Han and Jinling Wang. A novel method to integrate imu and magnetometers in attitude and heading reference systems. The Journal of Navigation, 64(4):727–738, 2011.
  • [8] Minh-Duc Hua, Guillaume Ducard, Tarek Hamel, Robert Mahony, and Konrad Rudin. Implementation of a nonlinear attitude estimator for aerial robotic vehicles. IEEE Transactions on Control Systems Technology, 22(1):201–213, 2014.
  • [9] Taeyoung Lee, Melvin Leok, and N Harris McClamroch. Geometric tracking control of a quadrotor uav on se (3). In 49th IEEE conference on decision and control (CDC), pages 5420–5425. IEEE, 2010.
  • [10] Ern J Lefferts, F Landis Markley, and Malcolm D Shuster. Kalman filtering for spacecraft attitude estimation. Journal of Guidance, Control, and Dynamics, 5(5):417–429, 1982.
  • [11] Fernando Lizarralde and John T Wen. Attitude control without angular velocity measurement: A passivity approach. IEEE transactions on Automatic Control, 41(3):468–472, 1996.
  • [12] Lionel Magnis and Nicolas Petit. Estimation of 3d rotation for a satellite from sun sensors. IFAC Proceedings Volumes, 47(3):10004–10011, 2014.
  • [13] Lionel Magnis and Nicolas Petit. Angular velocity nonlinear observer from vector measurements. Automatica, 75:46–53, 2017.
  • [14] Robert Mahony, Tarek Hamel, and Jean-Michel Pflimlin. Nonlinear complementary filters on the special orthogonal group. IEEE Transactions on automatic control, 53(5):1203–1217, 2008.
  • [15] Robert Mahony, Tarek Hamel, Jochen Trumpf, and Christian Lageman. Nonlinear attitude observers on so (3) for complementary and compatible measurements: A theoretical study. In Proceedings of the 48h IEEE Conference on Decision and Control (CDC) held jointly with 2009 28th Chinese Control Conference, pages 6407–6412. IEEE, 2009.
  • [16] Robert Mahony, Jochen Trumpf, and Tarek Hamel. Observers for kinematic systems with symmetry. IFAC Proceedings Volumes, 46(23):617–633, 2013.
  • [17] F Landis Markley, John Crassidis, and Yang Cheng. Nonlinear attitude filtering methods. In AIAA Guidance, Navigation, and Control Conference and Exhibit, page 5927, 2005.
  • [18] Philippe Martin and Erwan Salaün. Design and implementation of a low-cost observer-based attitude and heading reference system. Control Engineering Practice, 18(7):712–722, 2010.
  • [19] Charles Richter, Adam Bry, and Nicholas Roy. Polynomial trajectory planning for aggressive quadrotor flight in dense indoor environments. In Robotics Research, pages 649–666. Springer, 2016.
  • [20] Peyman Setoodeh, Alireza Khayatian, and Ebrahim Frajah. Attitude estimation by separate-bias kalman filter-based data fusion. The Journal of Navigation, 57(2):261–273, 2004.
  • [21] Ho-Nien Shou, Jia-Shing Sheu, and Jyh-Haw Wang. Micro-satellite detumbling mode attitude determination and control: Ukf approach. In IEEE ICCA 2010, pages 673–678. IEEE, 2010.
  • [22] John Stuelpnagel. On the parametrization of the three-dimensional rotation group. SIAM review, 6(4):422–430, 1964.
  • [23] YiFeng ZHANG and Rong XIONG. Real-time vision system for a ping-pong robot. Scientia Sinica Informationis, 42(9):1115–1129, 2012.