July 14, 2026
Accurate and robust attitude estimation is a key challenge for autonomous vehicles, particularly in GNSS-denied conditions and during highly accelerated flight. In such conditions, Inertial Measurement Units (IMUs) alone are insufficient for reliable tilt estimation due to the ambiguity between gravitational and inertial accelerations. Although auxiliary velocity sensors such as GNSS, Pitot tubes, Doppler radar, or Visual Inertial Odometry are commonly used, they may be unavailable, intermittent, or costly.
This paper introduces a barometer-aided attitude estimation architecture that exploits barometric altitude measurements to provide complementary information on the vehicle’s vertical motion, thereby enhancing attitude estimation within nonlinear observers on \(\mathrm{SO}(3)\). The contributions are twofold. First, we design a deterministic Riccati observer cascaded with a complementary filter, ensuring almost-global asymptotic stability (AGAS) under a uniform observability (UO) condition while preserving the geometric structure of the attitude dynamics. Second, we propose a nonlinear observer evolving on \(\mathrm{SO}(3)\times\mathbb{R}^2\), which integrates IMU measurements as inputs and barometer and magnetometer measurements as outputs within a unified framework, guaranteeing local exponential stability (LES) under relaxed uniform observability conditions.
The proposed approaches are validated using both simulated and real flight data. The results demonstrate that barometer-aided estimation provides a lightweight, reliable, and effective complementary sensing modality for attitude estimation in minimal-sensing configurations, offering a practical alternative when conventional velocity measurements are unavailable or degraded.
Attitude estimation, nonlinear observers, stability analysis, unmanned aerial vehicles, sensor fusion.
Accurate attitude estimation for autonomous vehicles operating in GNSS-denied conditions or undergoing significant linear accelerations remains a central challenge in inertial navigation. The Inertial Measurement Unit (IMU), which provides angular velocity and specific acceleration measurements, constitutes the primary sensing backbone of most attitude estimation systems. In many estimation frameworks (e.g., [1]–[3]), particularly those targeting low-cost UAVs and robotic platforms, accelerometer measurements are used as proxies for gravity under the assumption of negligible linear accelerations. However, accelerometers do not measure gravity directly; rather, they measure specific acceleration, which includes all non-gravitational accelerations acting on the vehicle. This approximation is therefore valid only under quasi-static conditions, where gravity dominates the measured acceleration. During aggressive maneuvers, legged locomotion, or in the presence of strong wind disturbances, the accelerometer signal can significantly deviate from the gravity direction, leading to ambiguity in tilt estimation. To overcome this limitation, modern attitude estimation architectures increasingly incorporate complementary sensing modalities to improve estimation and robustness.
Several authors have addressed this issue by incorporating linear velocity information, either in the body-fixed frame or in the inertial frame. This class of approaches, commonly referred to as the velocity-aided attitude (VAA) problem, has attracted considerable attention in recent years [4]–[6]. Early solutions to the body-frame VAA problem relied on linearisation, e.g., [7]–[10], whereas later approaches adopted more constructive designs and, in some cases, provided guarantees of almost-global asymptotic stability [11]–[17]. Although robust and theoretically grounded, these architectures generally assume full measurement of either body or inertial velocity, which limits their practical deployment when only partial velocity information is available or when measurements are unreliable. This limitation has received little theoretical attention. A notable exception is the work of Oliveira et al. [18] that addresses tilt and air velocity estimation for fixed-wing UAVs in GNSS-denied conditions by exploiting only a component of the air velocity vector in the body fixed frame provided by a single-axis Pitot tube and IMU data within a Riccati observer framework on \(\mathrm{SO}(3) \times \mathbb{R}^3\) and guarantees local asymptotic convergence. Due to the limited sensing configuration, the system exhibits a structural yaw ambiguity and requires sufficiently rich persistent excitation to ensure observability. To alleviate these limitations, subsequent approaches incorporate additional information, such as zero side-slip angle pseudo-measurements and magnetometer measurement within cascade structures in which a deterministic observer is combined with a complementary filter on \(\mathrm{SO}(3)\), ensuring almost global asymptotic stability[19]. While relevant, these approaches remain sensitive to uncertainties in Pitot tube measurements.
Unlike Pitot tubes, barometers are inexpensive, lightweight, widely available, and largely insensitive to airflow disturbances. Yet, their potential as attitude-aiding sensors remains largely unexplored. The key observation underlying this work is that barometric altitude measurements provide information about the vehicle’s motion along the gravity direction and can therefore be exploited to enhance attitude estimation even in the absence of conventional velocity measurements.
Building on this observation, we develop two complementary barometer-aided attitude estimation architectures within geometric observer frameworks. The first architecture adopts a cascade design in which a deterministic Riccati observer estimates the vertical motion and tilt information from inertial and barometric measurements, while a nonlinear observer on \(\mathrm{SO}(3)\) exploits magnetometer measurements to recover the full attitude and guarantee almost-global asymptotic stability. The second architecture exploits the geometric Riccati observer framework of [20] by directly integrating IMU, barometric, and magnetometer measurements within a unified reduced-order observer evolving on \(\mathrm{SO}(3)\times\mathbb{R}^2\). The resulting design guarantees local exponential stability under weaker observability requirements.
Beyond the observer design itself, the paper provides a theoretical characterization of the observability properties of barometer-aided attitude estimation and establishes rigorous convergence guarantees for both architectures. The resulting framework reveals an interesting tradeoff between almost-global convergence and local exponential convergence, while offering a practical and lightweight alternative to conventional velocity-aided approaches. Extensive simulations and real-flight experiments corroborate the theoretical findings and demonstrate the effectiveness of barometric sensing as a complementary source of attitude information in GNSS-degraded environments.
This paper extends the preliminary results of [21] by introducing a complementary barometer-aided attitude observer with local exponential stability (LES) guarantees and providing a unified comparison with the previously proposed almost-global asymptotic stability (AGAS) observer.
The remainder of the paper is structured as follows. Section 2 reviews the required preliminary material and introduces uniform observability definitions. Section 3 describes the problem and the objective of this work. Section 4 presents the proposed one-stage and two-stage observer designs, establishes their observability and stability properties, and details their discrete-time implementation algorithms. Section 5 reports and discusses the simulation and experimental results. Finally, concluding remarks are provided in Section 6.
We denote by \(\mathbb{R}\) and \(\mathbb{R}_+\) the sets of real and nonnegative real numbers, respectively. The \(n\)-dimensional Euclidean space is denoted by \(\mathbb{R}^n\). The Euclidean inner product of two vectors \(a, b \in \mathbb{R}^n\) is defined as \(\langle a, b \rangle = a^\top b\). The associated Euclidean norm of a vector \(a \in \mathbb{R}^n\) is \(|a| = \sqrt{a^\top a}\). Furthermore, we denote by \(\mathbb{R}^{m \times n}\) the set of real \(m \times n\) matrices. The set of \(n \times n\) positive definite matrices is denoted by \(\mathcal{S}^+(n)\), and the identity matrix is denoted by \(I_n \in \mathbb{R}^{n \times n}\). Given two matrices \(X, Y \in \mathbb{R}^{m \times n}\), the Euclidean matrix inner product is defined as \(\langle X, Y \rangle = \mathrm{tr}(X^\top Y)\), and the Frobenius norm of \(X \in \mathbb{R}^{n \times n}\) is given by \(\|X\| = \sqrt{\langle X, X \rangle}\). The unit sphere \(\mathbb{S}^{n-1} := \{ \eta \in \mathbb{R}^n \mid |\eta| = 1 \} \subset \mathbb{R}^n\) denotes the set of unit vectors and forms a smooth submanifold of \(\mathbb{R}^n\).
For any vector \(\eta\in\mathbb{S}^{n-1}\), let \[\Pi_{\eta}:=I_n-\eta\eta^\top\] denote the orthogonal projection onto the plane normal to \(\eta\). For any vector \(\gamma\in\mathbb{R}^n\), define \[\bar{\Pi}_{\gamma}:=|\gamma|^2I_n-\gamma\gamma^\top.\] Notice that \(\bar{\Pi}_{\gamma}=|\gamma|^2\Pi_{\gamma/|\gamma|}\) whenever \(\gamma\neq0\), while \(\bar{\Pi}_{0}=0_{n\times n}\). By \(\mathrm{diag(\cdot)}\), we denote the block diagonal matrix. We denote by \(\mathcal{I}\) the inertial frame and by \(\mathcal{B}\) the body-fixed frame rigidly attached to the vehicle at the IMU location. The inertial frame is chosen as the North-East-Down (NED). Let \((\mathrm{e}_1,\mathrm{e}_2,\mathrm{e}_3)\) and \((\mathrm{e}_1^{\mathcal{B}},\mathrm{e}_2^{\mathcal{B}},\mathrm{e}_3^{\mathcal{B}})\) denote the canonical basis vectors of \(\mathcal{I}\) and \(\mathcal{B}\), respectively. The vectors \(\mathrm{e}_1 = \begin{bmatrix}1 & 0 & 0 \end{bmatrix}^\top \in \mathbb{S}^2\) and \(\mathrm{e}_2 = \begin{bmatrix}0 & 1 & 0 \end{bmatrix}^\top \in \mathbb{S}^2\) span the horizontal plane, while \(\mathrm{e}_3 = \begin{bmatrix}0 & 0 & 1 \end{bmatrix}^\top \in \mathbb{S}^2\) is aligned with the gravity direction. Similarly, \(e_1^{\mathcal{B}},e_2^{\mathcal{B}}\) span the horizontal plane of \(\mathcal{B}\), and \(e_3^{\mathcal{B}}\) denotes its vertical axis.
The special orthogonal group of 3D rotations is denoted by \(\mathrm{SO}(3) := \{ R \in \mathbb{R}^{3 \times 3} \mid RR^\top = R^\top R = I_3,\;\det(R) = 1 \}.\) The Lie algebra of \(\mathrm{SO}(3)\) is \(\mathfrak{so}(3) := \{\, \Omega \in \mathbb{R}^{3\times 3} \mid \Omega^\top = -\Omega \,\},\) isomorphic to \(\mathbb{R}^3\) via the skew-symmetric operator \((\cdot)^\times : \mathbb{R}^3 \to \mathfrak{so}(3)\), defined such that \(x \times y = x^\times y\) for all \(x,y \in \mathbb{R}^3.\) The exponential map \(\exp : \mathfrak{so}(3) \rightarrow \mathrm{SO}(3)\) defines a local diffeomorphism from a neighborhood of \(0 \in \mathfrak{so}(3)\) to a neighborhood of \(I_3 \in \mathrm{SO}(3)\). This induces the mapping of \(\exp \circ (\cdot)^\times : \mathbb{R}^3 \rightarrow \mathrm{SO}(3)\), defined via Rodrigues’ formula [22]: \[\exp([\theta]^{^\times}) = I_3 - \frac{\sin(|\theta|)}{|\theta|}[\theta]^{^\times} + \frac{1-\cos(|\theta|)}{|\theta|^2}([\theta]^{^\times})^2. \label{eq:rodriguesformula}\tag{1}\]
Consider the linear time-varying (LTV) system given by \[\begin{cases} \dot{x} = A(t)x + B(t)u, \\ y = C(t)x, \end{cases} \label{eq:LTV95system}\tag{2}\] with state \(x \in \mathbb{R}^n\), input \(u \in \mathbb{R}^\ell\), and output \(y \in \mathbb{R}^m\). The matrix-valued functions \(A(t)\), \(B(t)\), and \(C(t)\) are assumed to be continuous and bounded. Let the observability Gramian of the system be denoted by \[W(t, t+\tau) := \frac{1}{\tau} \int_t^{t+\tau} \Phi^\top(s, t) \, C^\top(s) \, C(s) \, \Phi(s, t) \, ds, \label{eq:W}\tag{3}\] where \(\tau > 0\) and \(\Phi(s, t)\) is the state transition matrix such that \[\frac{d}{dt} \Phi(s, t) = A(t)\Phi(s, t), \quad \Phi(t, t) = I_n, \quad \forall s \geq t. \label{eq:transition95matrix}\tag{4}\] By definition from [23], the system 2 or pair \((A(t), C(t))\) is uniformly observable if there exist constants \(\delta, \mu > 0\) such that, for all \(t \geq 0\), \[W(t, t+\delta) \geq \mu I_n. \label{eq:observability95gramian}\tag{5}\]
Let \(R \in \mathrm{SO}(3)\) denote the rotation matrix describing the orientation of the body-attached frame \(\mathcal{B}\) with respect to the inertial frame \(\mathcal{I}\). The position and linear velocity of the rigid body, expressed in the inertial frame \(\mathcal{I}\), are denoted by \(p \in \mathbb{R}^3\) and \(v \in \mathbb{R}^3\), respectively. The IMU components provide body-fixed measurements of the angular velocity \(\mathrm{\omega} \in \mathbb{R}^3\) and the linear specific acceleration \(\mathrm{a} \in \mathbb{R}^3\). The vehicle dynamics are described by the second-order translational model and the first-order attitude kinematics \[\begin{align} \dot{p} &= v, \tag{6} \\ \dot{v} &= R\mathrm{a} + \mathrm{g}, \tag{7} \\ \dot{R} &= R\mathrm{\omega}^\times, \tag{8} \end{align}\] where \(\mathrm{g} = g \mathrm{e}_3 \in \mathbb{R}^3\) is the gravitational acceleration expressed in the inertial frame and \(g \approx 9.81\, \text{m/s}^2\) is the gravity constant. To enhance observability of the vertical motion, we define the altitude as \(h := \mathrm{e}_3^\top p\). The barometric sensor output is modeled as \[y_b = h + n_b, \label{eq:baro95measurement}\tag{9}\] where \(n_b \sim \mathcal{N}(0,\sigma_b^2)\) is zero-mean noise. This scalar measurement provides partial information on the inertial position and, through its time derivatives, can also contribute to constraining the gravity direction for tilt estimation, particularly when GNSS velocity data are unavailable. In addition, we assume available a magnetometer that provides measurements of the Earth’s magnetic field, \[y_m := \mathrm{m}_{\mathcal{B}} = R^\top \mathrm{m}_{\mathcal{I}}+n_m, \label{eq:mag95measurement}\tag{10}\] where \(\mathrm{m}_{\mathcal{I}} \in \mathbb{S}^2\) is the known magnetic field vector expressed in the inertial frame and \(n_m \sim \mathcal{N}(0,\sigma_m^2) \in \mathbb{R}^3\) is zero-mean noise. In summary, the vehicle is modeled by 6 –8 and equipped with an IMU, a barometer, and a magnetometer. The objective is to design nonlinear observers that estimate the attitude \(R \in \mathrm{SO}(3)\) by exploiting the complementary information provided by barometric altitude measurements.
This section presents two barometer-aided attitude estimation architectures. The superscripts \((G)\) and \((L)\) denote quantities associated with the two-stage observer, which guarantees AGAS, and the unified observer, which guarantees LES, respectively. The observer designs, together with their observability conditions, stability analyses, and discrete-time implementations, are presented in the following subsections.
This section presents a two-stage observer architecture for attitude estimation. The design exploits a reduced-order Riccati observer for vertical dynamics and tilt estimation, followed by a nonlinear observer on \(\mathrm{SO}(3)\) to estimate full orientation.
We define the tilt (reduced attitude) as the gravity direction expressed in the body frame [15]: \[z := R^\top \mathrm{e}_3 \in \mathbb{S}^2,\] which evolves according to \[\dot{z} = -\mathrm{\omega}^\times z. \label{eq:z95dot}\tag{11}\] Defining the altitude by \[h := \mathrm{e}_3^\top p,\] its first time derivative corresponds to the vertical velocity \[v_h := \dot{h}.\] Differentiating once more and using 7 yields \[\dot{v}_h = g+\mathrm{a}^\top z. \label{eq:h95ddot}\tag{12}\]
Together, 11 –12 and the barometer measurement 9 can be written as the linear time-varying (LTV) system. \[\begin{cases} \dot{x}^{G} = A^{G}(t)x^G + B^{G}g, \\ y^G = C^{G}x^{G} + n_b, \end{cases} \label{eq:ltv95G}\tag{13}\] where \(x^{G} := \begin{bmatrix} h & v_h & z^\top \end{bmatrix}^\top \in \mathbb{R}^5,\) \[A^{G}(t) = \begin{bmatrix} 0 & 1 & 0_{1 \times 3} \\ 0 & 0 & \mathrm{a}^\top \\ 0_{3 \times 1} & 0_{3 \times 1} & -\mathrm{\omega}^\times \end{bmatrix}, \quad B^{G} = \begin{bmatrix} 0 \\ 1 \\ 0_{3 \times 1} \end{bmatrix}, \label{eq:state95command95matrix95G}\tag{14}\] and: \[C^{G} = \begin{bmatrix} 1 & 0 & 0_{1 \times 3} \end{bmatrix}. \label{eq:output95matrix95G}\tag{15}\]
To estimate the state vector \(x^{G}\) independently of the attitude \(R\), we decouple its dynamics from the attitude estimation by designing a deterministic Riccati observer. The observer is given by \[\dot{\hat{x}}^{G} = A^{G}(t) \hat{x}^{G} + B^{G} g + K^{G}(t)\left(y^G - C^{G} \hat{x}^{G} \right), \; \hat{x}^{G}(0)=\hat{x}^{G}_0\label{eq:riccati95observer95G}\tag{16}\] where \(\hat{x}^{G} := \begin{bmatrix} \hat{h}^G & \hat{v}_h^G & \hat{z}^\top \end{bmatrix}^\top \in \mathbb{R}^5\) is the estimate of \(x^G\), and \(K^{G}(t) = P^{G}(t) (C^{G})^\top (Q^G)^{-1},\) with \(P^G(t)\) solution to the Continuous-time Riccati Equation (CRE): \[\begin{align} \dot{P}^G &= A^G(t) P^G + P^G A^G(t)^\top\\ & - P^G (C^G)^\top (Q^G)^{-1} C^G P^G + S^G,\; P^G(0)>0 \end{align} \label{eq:creG}\tag{17}\] The CRE is parameterized by two symmetric positive definite weighting matrices, \(Q^G>0\) and \(S^G>0\), associated with the barometer measurement and process uncertainties, respectively. Its well-posedness, and hence the stability of the observer, is ensured under a uniform observability (UO) condition. Under this condition, the CRE admits a unique, bounded, and positive-definite solution \(P^G(t)\) for all \(t\ge0\), and the observer error \[\tilde{x}^G:=x^G-\hat{x}^G\] converges exponentially to zero, with a convergence rate that depends on the weighting matrices \(Q^G\) and \(S^G\) [24]. To establish the uniform observability (UO) condition, we derive a convenient expression for the observability Gramian. Partition the system matrix in 14 as \[A^G(t) =\begin{bmatrix}A^G_{11}(t) & A^G_{12}(t) \\ 0_{3 \times 2} & -\mathrm{\omega}^\times(t) \end{bmatrix}, \label{eq:state95matrix95G}\tag{18}\] where \[A^G_{11}(t) = \begin{bmatrix} 0 & 1 \\ 0 & 0 \end{bmatrix}, \quad A^G_{12}(t) = \begin{bmatrix} 0_{3 \times 1} & \mathrm{a}(t) \end{bmatrix}^{\top},\] and write the output matrix 15 as: \[C^G = \begin{bmatrix} C^G_1 & 0_{1 \times 3} \end{bmatrix}, \quad C^G_1 = [\,1\;0\,].\] Since \(A^G(t)\) in 18 is block upper triangular, the corresponding state transition matrix admits the decomposition \[\Phi^G(t,\tau) = \begin{bmatrix} \phi_{11}(t,\tau) & \phi_{12}(t,\tau) \\ 0_{3 \times 2} & \phi_{22}(t,\tau) \end{bmatrix}, \label{eq:state95trans95matrix95G}\tag{19}\] with \(\phi_{11}\in\mathbb{R}^{2\times2}, \phi_{12}\in\mathbb{R}^{2\times3}, \phi_{22}\in\mathbb{R}^{3\times3}.\) From 4 and 19 , the derivative of the transition matrix is given by \[\begin{align} \frac{d}{dt} \Phi^G(t, \tau) &=\begin{bmatrix} A^G_{11}\phi_{11} & A^G_{11}\phi_{12} + A^G_{12}\phi_{22} \\ 0 & -\mathrm{\omega}^\times\phi_{22} \end{bmatrix}, \Phi^{G}(\tau,\tau) = I_5, \label{eq:deriv95trans95matrix95G} \end{align}\tag{20}\] with \(\phi_{11}(\tau,\tau) = I_2\), \(\phi_{22}(\tau,\tau) = I_3\), and \(\phi_{12}(\tau,\tau) = 0_{2\times3}\). Since \(A^G_{11}\) is a constant matrix, we have from 20 that \[\phi_{11}(t,\tau) = \exp\left(A^G_{11}(t-\tau)\right) = \begin{bmatrix} 1 & (t-\tau) \\ 0 & 1 \end{bmatrix}\label{eq:phi9511}\tag{21}\] In view of 15 , 19 , and 3 , the Gramian of the LTV system 13 is given by \[\begin{align} &W^G(t,t+\tau) =\\ &\frac{1}{\tau}\int_{t}^{t + \tau} \begin{bmatrix} \phi_{11}(s, t)^\top \\ \phi_{12}(s, t)^\top\end{bmatrix} (C^G_1)^\top C^G_1 \begin{bmatrix} \phi_{11}(s,t)&\phi_{12}(s,t) \end{bmatrix}ds. \end{align} \label{eq:gramian95G}\tag{22}\]
Lemma 1. Assume that the body-frame specific acceleration \(\mathrm{a}(t)\) and the angular velocity \(\mathrm{\omega}(t)\) are continuous and uniformly bounded. Furthermore, assume that the inertial-frame acceleration \(a_{\mathcal{I}}(t):=R(t)\mathrm{a}(t)\) is persistently exciting (PE), that is, there exist constants \(\bar{\delta},\bar{\mu}>0\) such that, for all \(t\ge0\), \[\frac{1}{\bar{\delta}} \int_t^{t+\bar{\delta}} a_{\mathcal{I}}(s)a_{\mathcal{I}}(s)^\top\,ds \ge \bar{\mu}I_3. \label{eq:PE95Condition95G}\tag{23}\] Then the pair \((A^G(t),C^G)\) is uniformly observable. Consequently, the CRE 17 admits a unique bounded positive-definite solution, and the equilibrium \(\tilde{x}^G=0_{5\times1}\) is globally exponentially stable (GES).
See Appendix 7.
Lemma 1 requires the inertial acceleration to be persistently exciting. In practice, this condition is satisfied when the vehicle undergoes sufficiently rich translational and rotational motions.
Once the tilt estimate \(\hat{z}\) is available, an additional known reference direction is required to resolve the remaining heading ambiguity; see [25]. To this end, we exploit the magnetometer measurements \(\mathrm{m}_{\mathcal{B}}\) defined in 10 . Let \(\hat{R}^G\in\mathrm{SO}(3)\) denote the estimate of the attitude \(R\). The nonlinear attitude observer is given by \[\dot{\hat{R}}^G = \hat{R}^G\omega^\times - \sigma_R^\times\hat{R}^G, \qquad \hat{R}^G(0)=\hat{R}^G_0\in\mathrm{SO}(3), \label{eq:attitude95observer95G}\tag{24}\] where the innovation term \(\sigma_R\in\mathbb{R}^3\) is defined as \[\sigma_R = k_z (\mathrm{e}_3 \times \hat{R}^G \hat{z}) + k_m (\bar{\mathrm{m}}_{\mathcal{I}} \times \hat{R} \bar{\mathrm{m}}_{\mathcal{B}}), \label{eq:attitude95correction95G}\tag{25}\] with \(\bar{\mathrm{m}}_{\mathcal{I}} = \Pi_{\mathrm{e}_3} \mathrm{m}_{\mathcal{I}}\), \(\bar{\mathrm{m}}_{\mathcal{B}} = \bar{\Pi}_{\hat{z}} \mathrm{m}_{\mathcal{B}}\), \(k_z > 0\), and \(k_m \geq 0\). The use of \(\bar{\Pi}_{\hat{z}}\) prevents singularities if \(\hat{z}\) vanishes, and the projected magnetometer vectors ensure that yaw estimation is decoupled from roll and pitch; see [2]. The overall architecture is illustrated in figure 2.
Theorem 1. Consider the Riccati observer 16 and the attitude observer 24 with innovation term 25 . Assume that the pair \((A^G(t),C^G)\) is uniformly observable, as characterized in Lemma 1. Then the estimation errors \[\tilde{R}^G=R (\hat{R}^G)^\top, \qquad \tilde{x}^G=x^G-\hat{x}^G,\] converge asymptotically to the equilibrium set \[\mathcal{E}=\mathcal{E}_s\cup\mathcal{E}_u,\] where \[\mathcal{E}_s=\{(I_3,0_{5\times1})\},\] and \[\mathcal{E}_u= \left\{ \left(U\Lambda U^\top,0_{5\times1}\right) \,\middle|\, \Lambda=\operatorname{diag}(1,-1,-1),\; U\in\mathrm{SO}(3) \right\}.\] Moreover, the equilibrium set \(\mathcal{E}_u\) is unstable, whereas the equilibrium \(\mathcal{E}_s\) is almost globally asymptotically stable (AGAS).
See Appendix 8.
Theorem 1 establishes almost-global asymptotic stability (AGAS) of the proposed two-stage observer architecture. A key feature of the design is the separation between the Riccati observer and the nonlinear attitude observer. In particular, the estimation error \(\tilde{x}^G\) converges globally and exponentially to zero independently of the attitude error dynamics, provided that the pair \((A^G(t),C^G)\) is uniformly observable. This condition is well posed since the system matrix \(A^G(t)\) in 18 depends only on the IMU measurements \(\omega(t)\) and \(a(t)\), which are assumed to be continuous and uniformly bounded. Finally, the AGAS property is intrinsic to attitude estimation on \(\mathrm{SO}(3)\): the topology of the rotation group precludes the existence of a globally asymptotically stable continuous-time observer [26].
The proposed observer is implemented at the IMU sampling period \(T\). Over each interval \([t_k,t_{k+1})\), we assume the measured acceleration \(\mathrm{a}_k\) and angular velocity \(\mathrm{\omega}_k\) are constant (see [25]). Let \(\Omega_k \doteq \mathrm{\omega}_k^\times\) and \(\theta_k \doteq |\mathrm{\omega}_k|T\). Approximating the discrete process noise by \(S^G_{d,k}\approx S^G_k T\), the transition block associated with the tilt dynamics satisfies \(\dot{\phi}_{22}(t)=-\Omega_k \phi_{22}(t)\) with \(\phi_{22}(0)=I_3\), which integrates to the incremental rotation \[\phi_{22,k} = I_3 - \frac{\sin\theta_k}{|\mathrm{\omega}_k|}\,\Omega_k + \frac{1-\cos\theta_k}{|\mathrm{\omega}_k|^2}\,\Omega_k^2 . \label{eq:Phi22}\tag{26}\] Using this result, a first-order discretization of the continuous-time state and input matrices in 14 yields \[A^G_{d,k} \approx \begin{bmatrix} 1 & T & \tfrac{T^{2}}{2}\,\mathrm{a}_k^\top \\ 0 & 1 & T\,\mathrm{a}_k^\top \\ 0 & 0 & \phi_{22,k} \end{bmatrix},\qquad B^G_{d,k} = \begin{bmatrix} \tfrac{T^{2}}{2} \\ T \\ \mathbf{0}_{3\times 1} \end{bmatrix}. \label{eq:AdBd95G}\tag{27}\] The resulting discrete-time observer, summarized in Algorithm 3, follows the standard correction–prediction structure with the above state and input matrices. The attitude observer 24 is discretized at the IMU frequency using exponential-Euler integration on \(\mathrm{SO}(3)\) [1] (see line 25 of Algorithm 3).
This subsection presents the proposed unified observer architecture for barometer-aided attitude estimation. The observer evolves on \(\mathrm{SO}(3)\times\mathbb{R}^2\) and directly fuses IMU, barometric, and magnetometer measurements within a unified nonlinear framework. Its innovation terms are generated by a local Riccati equation 38 , derived from the linearized altitude–vertical velocity–attitude error dynamics, and injected into the observer dynamics 31 . The resulting observer provides estimates of both the full attitude and the vertical motion states. The overall architecture is depicted in Fig. 4.
Recall the altitude variable \(h:=\mathrm{e}_3^\top p\). From 6 –7 , the vertical dynamics satisfy \[\begin{align} \dot{h} &= v_h, \tag{28}\\ \dot{v}_h &= g+\mathrm{e}_3^\top R\mathrm{a}. \tag{29} \end{align}\] Combining these equations with the attitude kinematics gives \[\begin{cases} \dot{h} = v_h,\\ \dot{v}_h = g+\mathrm{e}_3^\top R\mathrm{a},\\ \dot{R} = R\omega^\times. \end{cases} \label{eq:syst95dyn}\tag{30}\] We propose the nonlinear observer on \(\mathrm{SO}(3)\times\mathbb{R}^2\) \[\begin{cases} \dot{\hat{h}}^L = \hat{v}_h^L+\delta_1,\\ \dot{\hat{v}}_h^L = g+\mathrm{e}_3^\top \hat{R}^L\mathrm{a}+\delta_2,\\ \dot{\hat{R}}^L = \hat{R}^L\omega^\times+\delta_3^\times\hat{R}^L, \qquad \hat{R}^L(0)\in\mathrm{SO}(3), \end{cases} \label{eq:observer95dyn}\tag{31}\] where \(\hat{h}^L\), \(\hat{v}_h^L\), and \(\hat{R}^L\) denote the estimates of \(h\), \(v_h\), and \(R\), respectively. The innovation terms \(\delta_1\in\mathbb{R}\), \(\delta_2\in\mathbb{R}\), and \(\delta_3\in\mathbb{R}^3\) are designed from the local linearized error model derived below.
Let define the errors as: \[\tilde{h}^L:=h-\hat{h}^L,\quad \tilde{v}_h^L:=v_h-\hat{v}_h^L,\quad \tilde{R}^L:=R(\hat{R}^L)^\top.\] Then, from 30 and 31 , \[\label{eq:error95dyn} \begin{align} \dot{\tilde{h}}^L &= \tilde{v}_h^L-\delta_1,\\ \dot{\tilde{v}}_h^L &= \mathrm{e}_3^\top(\tilde{R}^L-I_3)\hat{R}^L\mathrm{a}-\delta_2,\\ \dot{\tilde{R}}^L &= -\tilde{R}^L\delta_3^\times . \end{align}\tag{32}\] For local analysis, we parameterize the attitude error by \[\tilde{R}^L = I_3+\tilde{\lambda}^\times+\mathcal{O}(|\tilde{\lambda}|^2),\] where \(\tilde{\lambda}\in\mathbb{R}^3\) is the first-order attitude-error coordinate, obtained for instance from the quaternion representation of \(\tilde{R}^L\). Substitution into 32 yields \[\label{eq:error95dyn95first95order} \begin{align} \dot{\tilde{h}}^L &= \tilde{v}_h^L-\delta_1,\\ \dot{\tilde{v}}_h^L &= -\mathrm{e}_3^\top(\hat{R}^L\mathrm{a})^\times\tilde{\lambda} -\delta_2 +\mathcal{O}(|\tilde{\lambda}|^2),\\ \dot{\tilde{\lambda}} &= -\delta_3+\mathcal{O}(|\tilde{\lambda}||\delta_3|). \end{align}\tag{33}\] The estimated outputs are defined by \[\hat{y}_b^L:=\hat{h}^L, \qquad \hat{y}_m^L:=\hat{R}^L\mathrm{m}_{\mathcal{B}}.\] Hence, using 9 –10 , the local output errors satisfy \[\label{eq:output95error} \begin{align} \tilde{y}_b^L &:= y_b-\hat{y}_b^L = \tilde{h}^L,\\ \tilde{y}_m^L &:= \mathrm{m}_{\mathcal{I}}-\hat{y}_m^L = -(\mathrm{m}_{\mathcal{I}})^\times\tilde{\lambda} +\mathcal{O}(|\tilde{\lambda}|^2). \end{align}\tag{34}\]
Let \[x^L:= \begin{bmatrix} \tilde{h}^L & \tilde{v}_h^L & \tilde{\lambda}^\top \end{bmatrix}^\top, \qquad u:= \begin{bmatrix} -\delta_1 & -\delta_2 & -\delta_3^\top \end{bmatrix}^\top,\] and \[y^L:= \begin{bmatrix} \tilde{y}_b^L & (\tilde{y}_m^L)^\top \end{bmatrix}^\top .\] Then the local error dynamics can be written as \[\label{eq:ltv95L} \begin{align} \dot{x}^L &= A^L(t)x^L+u +\mathcal{O}(|\tilde{\lambda}||u|+|\tilde{\lambda}|^2),\\ y^L &= C^Lx^L+\mathcal{O}(|\tilde{\lambda}|^2), \end{align}\tag{35}\] where \[A^L(t)= \begin{bmatrix} 0 & 1 & 0_{1\times3}\\ 0 & 0 & -\mathrm{e}_3^\top(\hat{R}^L\mathrm{a})^\times\\ 0_{3\times1} & 0_{3\times1} & 0_{3\times3} \end{bmatrix}, \label{eq:state95matrix95L}\tag{36}\] and \[C^L= \begin{bmatrix} 1 & 0 & 0_{1\times3}\\ 0_{3\times1} & 0_{3\times1} & -(\mathrm{m}_{\mathcal{I}})^\times \end{bmatrix}. \label{eq:est95output95matrix}\tag{37}\] The innovation is chosen as \[u(t)=-K^L(t)y^L(t), \qquad K^L(t)=P^L(t)(C^L)^\top(Q^L)^{-1},\] where \(P^L(t)\) is the solution of the continuous-time Riccati equation \[\begin{align} \dot{P}^L &= A^L(t)P^L+P^L A^L(t)^\top \notag\\ &\quad -P^L(C^L)^\top(Q^L)^{-1}C^L P^L+S^L, \qquad P^L(0)>0. \label{eq:creL} \end{align}\tag{38}\] The matrices \(Q^L>0\) and \(S^L>0\) are symmetric positive definite weighting matrices associated with measurement and process uncertainties, respectively.
Partitioning the gain as \[K^L(t)= \begin{bmatrix} K_{\delta_1}(t)^\top & K_{\delta_2}(t)^\top & K_{\delta_3}(t)^\top \end{bmatrix}^\top,\] with \[K_{\delta_1}\in\mathbb{R}^{1\times4},\qquad K_{\delta_2}\in\mathbb{R}^{1\times4},\qquad K_{\delta_3}\in\mathbb{R}^{3\times4},\] the innovation terms are given by \[\label{eq:innovation95inputs} \begin{align} \delta_1(t) &= K_{\delta_1}(t)y^L(t),\\ \delta_2(t) &= K_{\delta_2}(t)y^L(t),\\ \delta_3(t) &= K_{\delta_3}(t)y^L(t). \end{align}\tag{39}\] The stability of the observer is governed by the well-posedness of the CRE 38 . Let \[A^{L\star}(t):=A^L(R(t))\] denote the state matrix evaluated along the true trajectory. If the pair \((A^{L\star}(t),C^L)\) is uniformly observable, then 38 admits a unique bounded positive-definite solution \(P^L(t)\) for all \(t\ge0\). Consequently, the origin of the linearized error system is exponentially stable, and the nonlinear observer 31 is locally exponentially convergent around the true trajectory [20].
We now establish sufficient conditions for the uniform observability (UO) of the pair \((A^{L\star}(t),C^L)\), where \(A^{L\star}(t):=A^L(R(t))\) denotes the system matrix evaluated along the true trajectory. Unlike the two-stage observer, the proposed unified architecture only requires persistent excitation of the horizontal component of the inertial acceleration. This weaker condition avoids explicit computation of the observability Gramian and can be verified directly from the vehicle motion.
Lemma 2. Assume that the body-frame linear acceleration \(\mathrm{a}(t)\) and the angular velocity \(\mathrm{\omega}(t)\) are continuous and uniformly bounded. Moreover, assume that vectors \(\mathrm{m}_\mathcal{I}\) and \(\mathrm{e}_3\) are non-collinear. Let \(J=[\mathrm{e}_1\;\mathrm{e}_2]\in\mathbb{R}^{3\times2}\) and define \(a_\perp(t)=\mathrm{e}_3^\top(R(t)\mathrm{a}(t))^\times J\). Assume there exist \(\bar\delta>0\) and \(\bar\mu>0\) such that, for all \(t\ge0\), \[\frac{1}{\bar\delta}\int_t^{t+\bar\delta}a_\perp(s)^\top a_\perp(s)\,ds \;\ge\;\bar\mu I_2. \label{eq:PE95condition}\qquad{(1)}\] Then the pair \((A^{L\star}(t),C)\) is uniformly observable.
See Appendix 9.
The excitation condition in ?? admits the geometric interpretation illustrated in Fig. 5. The inertial acceleration \[a_{\mathcal{I}} = \begin{bmatrix} a_{\mathcal{I},1}& a_{\mathcal{I},2}& a_{\mathcal{I},3} \end{bmatrix}^{\!\top}\] can be decomposed into its horizontal and vertical components as \[a_{\mathcal{I}} = \Pi_{\mathrm e_3}a_{\mathcal{I}} + (\mathrm e_3^\top a_{\mathcal{I}})\mathrm e_3 = a_{\mathcal{I},1,2} + a_{\mathcal{I},3},\] where \[a_{\mathcal{I},1,2} = \Pi_{\mathrm e_3}a_{\mathcal{I}} = \begin{bmatrix} a_{\mathcal{I},1}& a_{\mathcal{I},2}& 0 \end{bmatrix}^{\!\top}\] lies in the horizontal plane \(\Pi\) orthogonal to \(\mathrm e_3\), while \[a_{\mathcal{I},3} = (\mathrm e_3^\top a_{\mathcal{I}})\mathrm e_3\] is aligned with the gravity direction.
The vector \(a_\perp\) introduced in Lemma 2 is given by \[a_\perp = \mathrm e_3^\top a_{\mathcal{I}}^\times J = \begin{bmatrix} -a_{\mathcal{I},2}& a_{\mathcal{I},1} \end{bmatrix}^{\!\top},\] which corresponds to a \(90^\circ\) rotation of \(a_{\mathcal{I},1,2}\) within the horizontal plane. Consequently, \(a_\perp\) carries exactly the same excitation information as the horizontal component of the inertial acceleration. Therefore, the observability condition of Lemma 2 only requires persistent excitation of the horizontal component of the inertial acceleration and imposes no excitation requirement along the gravity direction. This condition is strictly weaker than the AGAS condition 23 , which requires persistent excitation of the full inertial acceleration vector. The proposed unified observer can therefore guarantee observability under significantly less restrictive vehicle motions.
The following theorem is a direct consequence of [20]; consequently, its proof is omitted.
Theorem 2. Consider the system 6 10 , together with the nonlinear observer 31 and the associated closed-loop error dynamics 33 , where the innovation terms are defined in 39 and \(P^L(t)\) denotes the symmetric positive-definite solution of the Riccati equation 38 . If the pair \((A^{L\star}(t), C^L)\) is uniformly observable, then the origin of the error system 33 is locally exponentially stable.
Theorem 2 establishes that the Riccati-based gain \(K^L(t)\), synthesized from the linearized time-varying error model, is sufficient to guarantee local exponential stability of the origin of the nonlinear error dynamics 33 , provided the uniform observability condition of Lemma 2 holds. Consequently, the observer gain can be synthesized entirely from the linearized error dynamics while retaining local exponential stability of the original nonlinear estimation error system.
Similarly to the AGAS observer implementation in Section 4.1.3, the LES observer is implemented in discrete time with sampling period \(T\) corresponding to the IMU rate. Over each interval \([t_k,t_{k+1}]\), the measured angular velocity \(\mathrm{\omega}_k\) and the specific force \(\mathrm{a}_k\) are assumed constant, consistent with a zero-order hold approximation. In addition, the discrete process noise covariance is approximated as \(S^L_{d,k}\approx S^L_k T\), and the estimated attitude is treated as piecewise constant, i.e., \(\hat{R}^L(t) \approx \hat{R}^L_k\) for \(t \in [t_k,t_{k+1}]\). Under these assumptions, a first-order discretization of the continuous-time state matrix \(A^L(t)\) yields \[A^L_{d,k} \approx \begin{bmatrix} 1 & T & 0_{1\times 3} \\ 0 & 1 & -T\mathrm{e}_{3}^{\top}(\hat{R}^L_k \mathrm{a}_k)^\times \\ 0_{3\times 1}& 0_{3\times 1} &I_3 \end{bmatrix}. \label{eq:Ad}\tag{40}\] The output matrix \(C^L\) is obtained at the measurement timestamp as follows \[C^L_{k} = \begin{bmatrix}C_{b,k}^\top , C_{m,k}^\top\end{bmatrix}^\top \label{eq:Ck}\tag{41}\] where \[C_{b,k} = \begin{bmatrix} 1 & 0 & 0_{1 \times 3} \end{bmatrix}, \label{eq:cbk}\tag{42}\] \[C_{m,k} = \begin{bmatrix} 0_{3 \times 1} & 0_{3 \times 1} & -(\mathrm{m}_{\mathcal{I}})^{\times} \end{bmatrix}. \label{eq:cmk}\tag{43}\] The resulting discrete-time implementation of the proposed LES observer, summarized in Algorithm 6, follows a prediction–correction structure based on the matrices in 40 41 . The nonlinear dynamics in 31 are discretized at the IMU frequency using exponential-Euler and forward Euler step integrations on \(\mathrm{SO}(3)\times\mathbb{R}^2\) [1].
This section evaluates the proposed observers using both simulated and experimental data. The discrete-time implementations introduced in Sections 4.1.3 and 4.2.3 are applied to two distinct datasets: one generated through numerical simulations and another obtained from measurements collected during real flight experiments. To assess the practical implications of the LES and AGAS properties, the two observers are compared in terms of convergence behavior, steady-state accuracy, and robustness to initialization. The corresponding uniform observability conditions are evaluated by computing the condition number of the associated persistent excitation matrices: \[M^G(t_k,t_{k+1}) := \frac{1}{\bar{\delta}}\int_t^{t+\bar{\delta}}a_{\mathcal{I}}(s)a_{\mathcal{I}}(s)^\top\,ds, \label{eq:cond95numb95AGAS}\tag{44}\]
\[M^L(t_k,t_{k+1}) := \frac{1}{\bar\delta}\int_t^{t+\bar\delta}a_\perp(s)^\top a_\perp(s)\,ds, \label{eq:cond95numb95LES}\tag{45}\] over the interval \([t_k,t_{k+1}]\) with \(t_k =k\delta\), \(k\) a positive integer, \(\delta = 2 (s)\).
The simulation considers a rigid-body vehicle equipped with an IMU and a barometer evolving in three-dimensional space. The ground-truth angular velocity \((\mathrm{rad/s})\) and inertial altitude \((\mathrm{m})\) are defined as \[\omega(t)= \begin{bmatrix} 0.4\sin(0.5t)\\ 0.5\sin(0.3t+\pi/4)\\ 0.3\sin(0.7t+\pi/3) \end{bmatrix}, \qquad h(t)=-\frac{5\sqrt{3}}{4}\sin(2t),\] while the body-frame specific force \((\mathrm{m/s^2})\) is generated according to \[a(t)=R^\top \left( \begin{bmatrix} -\cos(t)\\ -\sin(2t)\\ 5\sqrt{3}\sin(2t) \end{bmatrix} -g \right),\] with the initial condition \(R(0)=I_3\).
Two scenarios are considered to investigate the complementary convergence properties of the two observers. Scenario 1 corresponds to small initial estimation errors, whereas Scenario 2 considers large initialization errors. For each scenario, \(50\) Monte Carlo simulations are performed, with the initial estimates randomly drawn from Gaussian distributions whose parameters are summarized in Table 1. The initial attitude estimates \(\hat{R}^L(0)\) and \(\hat{R}^G(0)\) are parameterized by Euler angles (yaw, pitch, roll), each perturbed according to the corresponding standard deviation reported in the table. The initial Riccati matrices \(P^L(0)\) and \(P^G(0)\) are chosen as specified in Table 2.
The inertial magnetic field is set to \(m_{\mathcal{I}}= \begin{bmatrix} 1/\sqrt{2} & 0 & 1/\sqrt{2} \end{bmatrix}^{\top}.\) The IMU measurements are sampled at \(250 \;\mathrm{Hz}\) and corrupted by zero-mean Gaussian noise with standard deviations of \(0.1\;\mathrm{m/s^2}\) for the accelerometer and \(0.05\;\mathrm{rad/s}\) for the gyroscope on each axis. The body-frame magnetometer measurements, available at \(50\;\mathrm{Hz}\), are corrupted by zero-mean Gaussian noise with standard deviation \(\sigma_m= \begin{bmatrix} 0.02 & 0.02 & 0.02 \end{bmatrix}^{\top},\) yielding the covariance matrix \(Q_m=\operatorname{diag} (\sigma_{m,x}^2,\sigma_{m,y}^2,\sigma_{m,z}^2).\) The barometer is sampled at \(5\;\mathrm{Hz}\) and corrupted by zero-mean Gaussian noise with covariance \(Q_b=\sigma_b^2=2.5\times10^{-3}.\)
The observer parameters are summarized in Table 3. For the AGAS observer, the tilt and magnetic corrections are governed by the gains \(k_z\) and \(k_m\), respectively, while the process covariance is selected as \[S^G=\operatorname{diag}(10^{-1},10^{-1},10^{-2},10^{-2},10^{-2}).\]
The simulation results shown in Fig. 7–8 demonstrate that both observers successfully recover the vehicle attitude in both initialization scenarios.
For Scenario 1, corresponding to small initial estimation errors, the LES observer converges significantly faster than the AGAS observer. The attitude estimation error reaches negligible values after approximately \(9\mathrm{s}\), compared with about \(14\mathrm{s}\) for the AGAS observer, while exhibiting a smaller transient envelope. This behavior is consistent with the local exponential convergence predicted by Theorem 2. The Euler-angle estimates remain smooth throughout the transient and rapidly converge to the true attitude.
For Scenario 2, both observers recover from large initial attitude errors and converge to the true attitude. The LES observer again reaches the steady state more rapidly, whereas the AGAS observer exhibits a smoother transient with reduced overshoot. A temporary discontinuity in the AGAS yaw estimate over the interval \(t\in[6.6,\,8.3]\mathrm{s}\) results from the magnetic correction, while the LES observer displays larger transient oscillations in the yaw and roll estimates over \(t\in[5.3,\,8.3]\mathrm{s}\). These oscillations reflect the reduced accuracy of the local linearization under large initial misalignment and disappear once the estimation error enters the neighborhood in which local exponential convergence is guaranteed. In steady state, both observers achieve comparable estimation accuracy.
These observations are consistent with the persistent excitation analysis shown in Fig. 9. The excitation matrix associated with the AGAS observer remains poorly conditioned throughout the trajectory, with \(\log(\operatorname{cond}(M^G))\approx31\), whereas the excitation matrix associated with the LES observer remains consistently well conditioned, with \(\log(\operatorname{cond}(M^L))\approx0\). Consequently, the Riccati-based LES observer exploits more informative error dynamics, resulting in faster convergence whenever the initial estimation error lies within its region of attraction. In contrast, the AGAS observer retains its almost-global convergence properties despite the weaker excitation, at the expense of slower transient dynamics.
| Quantity | Scenario 1 | Scenario 2 |
|---|---|---|
| \(\hat{R}^L(0),\hat R^G (0)\) | \([15^{\circ},\,9^{\circ},-9^{\circ}]\) | \([60^{\circ},\,-30^{\circ},\,45^{\circ}]\) |
| Std. of \(\hat{R}^L(0),\hat R^G (0)\) | \(5^{\circ}\) per axis | \(100^{\circ}\) per axis |
| \(\begin{bmatrix}\hat h^L(0)\\ \hat v^L_h(0) \\- \end{bmatrix},\) \(\hat x^G\) | \(\begin{bmatrix}0.5\;\mathrm{m}\\0.5\;\mathrm{m/s} \\ \hat R^G(0)^{\top}\mathrm{e}_3)\\\end{bmatrix}\) | \(\begin{bmatrix}5\;\mathrm{m}\\5\;\mathrm{m/s}\\ \hat R^G(0)^{\top}\mathrm{e}_3 \end{bmatrix}\) |
| Std. of \(\begin{bmatrix}\hat h(0)\\ \hat v_h(0) \\ - \end{bmatrix},\hat x^G(0)\) | \(\begin{bmatrix}1\;\mathrm{m}\\1\;\mathrm{m/s}\\0.05\\0.05\\0.05\end{bmatrix}\) | \(\begin{bmatrix}8\;\mathrm{m}\\8\;\mathrm{m/s}\\0.5\\0.5\\0.5\end{bmatrix}\) |
| Scenario | \(P^G(0)\) | \(P^L(0)\) |
|---|---|---|
| Scenario 1 | \(\operatorname{diag}(1,1,10^{-2}\cdot(1,1,1))\) | \(\operatorname{diag}(1,1,10^{-2}\cdot(1,1,1))\) |
| Scenario 2 | \(\operatorname{diag}(25,25,1,1,1)\) | \(\operatorname{diag}(25,25,1,1,1)\) |
| Parameters | AGAS Observer | LES Observer |
|---|---|---|
| Tilt gain, \(k_z\) | \(8\) | – |
| Magnetic gain, \(k_m\) | \(2.5\) | – |
| Process covariance | \(S^G\) | \(S^L= S^G\) |
| Measurement covariance | \(Q^G=Q_b\) | \(Q^L =\operatorname{diag}(Q_b,Q_m)\) |
We have shown that, under controlled conditions, both the Barometer–IMU LES- and AGAS-based observers achieve stable and convergent attitude estimation, even under weak excitation conditions. We now evaluate their performance using flight data collected from a MakeFlyEasy Fighter VTOL UAV, shown in Fig. 1, with particular emphasis on robustness to large initial attitude estimation errors. Flight data were recorded using a Pixhawk flight controller running the PX4 autopilot [27]. The onboard sensor suite includes an IMU providing specific force and angular rate measurements \(\mathrm a(t)\) and \(\mathrm{\omega}(t)\), a three-axis magnetometer \(\mathrm{m}_{\mathcal{B}}(t)\in \mathbb{S}^2\) and an altimeter sensor \(h(t)\). The reference vertical velocity \(v_h(t) :=\dot{h}(t)\) is obtained by differentiating the measured signal \(h(t)\). The autopilot records flight logs for each onboard sensor and provides estimates of the vehicle attitude \(\bar{R}\) computed internally by an extended Kalman filter [28].
To isolate the contribution of inertial and barometric measurements while avoiding the influence of magnetic disturbances, the attitude estimate \(\bar R\) provided by the autopilot is used solely to reconstruct an equivalent inertial magnetic field according to \(\mathrm{m}_{\mathcal{I}} := \bar R\,\mathrm{m}_{\mathcal{B}}.\) The reconstructed inertial magnetic field is treated as a known reference for evaluating the full attitude estimation error and is not used by either observer.
The observers are initialized over a selected flight segment, and their performance is assessed using standard convergence and estimation metrics. Let \(e_\phi(k)\), \(e_\theta(k)\), \(e_\psi(k)\) denote the roll, pitch, and yaw estimation errors, respectively, defined as the pointwise differences between estimated and ground-truth Euler angles at time step \(k \in \mathbb{N}\). Let \(N\) denote the total number of samples in the selected flight segment and \(e_{\mathrm{att}}(k) = \operatorname{trace}\!(I_{3} - \bar R(k)\hat{R}(k)^\top)\) the full attitude estimation error, where \(\bar R (k)\) and \(\hat{R} (k)\) denote the ground-truth and estimated rotation matrices at time step \(k\), respectively, with \(\hat{R} (k):=\hat{R}^G(k)\) for AGAS observer and \(\hat{R} (k):=\hat{R}^L(k)\) for LES observer. The convergence time \(t_c\) is defined as the minimum time at which the attitude error \(e_{\mathrm{att}}(t)\) enters and permanently remains within a prescribed tolerance band \(\epsilon = 0.05\), i.e., \[t_c = \min \{t_k : |e_{\mathrm{att}}(t_j)| < \epsilon, \forall j \ge k\}.\] The corresponding sample index is denoted by \(k_c\). The maximum attitude estimation error over the full segment is defined as \[e_{\mathrm{att},\max} = \max_{0 \leq k \leq N} \left|e_{\mathrm{att}}(k) \right|,\] while the steady-state attitude error is computed as the mean absolute error over the post-convergence interval\([k_c,N]\): \[e_{\mathrm{att},\mathrm{ss}} = \frac{1}{N-k_c+1}\sum_{k=k_c}^N \left|e_{\mathrm{att}}(k) \right|.\] The per-axis estimation accuracy is quantified using the Root Mean Square Error (RMSE). The full-segment RMSE values for roll, pitch, and yaw, are defined as \[\mathrm{RMSE}_{\beta} = \sqrt{\frac{1}{N}\sum_{k=1}^Ne_{\beta}^2(k)},\] where \(\beta=\{\phi,\theta,\psi\}\). The steady-state RMSE is computed analogously over the interval \([k_c,N].\)
Together, these metrics provide a quantitative assessment of the convergence behavior, transient response, and asymptotic estimation accuracy of the proposed observers. To further quantify the relative performance of the filters, the percentage improvement of the LES observer with respect to the AGAS observer is computed for each performance metric according to \[\mathrm{Improvement}(\%) = 100 \cdot \frac{\mathcal{M}_{\mathrm{AGAS}}-\mathcal{M}_{\mathrm{LES}}}{\mathcal{M}_{\mathrm{AGAS}}},\] where \(\mathcal{M}_{\mathrm{AGAS}}\) and \(\mathcal{M}_{\mathrm{LES}}\) denote the values of the considered metric obtained with AGAS and LES observers, respectively. Since smaller values indicate better estimation performance for all considered metrics, a positive percentage corresponds to an improvement of the LES observer over the AGAS observer.
For both observers, the initial time is set to \(t_0 = 80\mathrm{s}\). At this time, the ground-truth altitude and vertical velocity are \(h(t_0)=140.64\;\mathrm{m}\) and \(v_h(t_0) = -1.43\;\mathrm{m/s}\), respectively. The ground-truth attitude \(\bar R (t_0)\) corresponds to the Euler angles \((\mathrm{yaw},\mathrm{pitch},\mathrm{roll}) = (138.44 \mathrm{^\circ},-3.72 \mathrm{^\circ}, 11.43 \mathrm{^\circ})\). The corresponding ground-truth tilt direction is \(\bar z(t_0) = \bar R(t_0)^{\top}\mathrm{e}_3 = [0.065\,\,0.2\,\,0.98]^{\top}\). A Monte Carlo simulation with \(50\) runs is performed. In each run, the initial estimates are randomly sampled from Gaussian distributions. For the LES observer, the initial altitude and vertical velocity estimates are centered at \(\hat{h}^L (t_0) =h(t_0) + 10\;\mathrm{m}\) and \(\hat{v}_h^L (t_0) =v_h(t_0)+ 3\;\mathrm{m/s}\) with standard deviations of \(8\;\mathrm{m}\) and \(8\;\mathrm{m/s}\), respectively. The initial attitude estimate \(\hat{R}^L(t_0)\) is generated from \((\mathrm{yaw},\mathrm{pitch},\mathrm{roll}) =(60^\circ,-30^\circ, 45^\circ)\) with a standard deviation of \(60^\circ\) applied independently to each axis. For the AGAS observer, the initial attitude estimate \(\hat{R}^G (t_0)\) is generated using the same nominal Euler angles \((60^\circ,-30^\circ, 45^\circ)\), with independent perturbations of a \(60^\circ\) standard deviation on each axis. The initial state estimates is centered at \(\hat{x}^G(t_0) =\begin{bmatrix} \hat{h}^L (t_0)&\hat{v}_h^L (t_0)&\hat{z}(t_0)\end{bmatrix}^\top\) with standard deviation \(\begin{bmatrix} 8&8&0.5&0.5&0.5\end{bmatrix}^\top\), where \(\hat{z}(t_0) = \hat{R}^G(t_0)^{\top}\mathrm{e}_3 = [0.41\,\,-0.91\,\,-0.024]^{\top}\). The Riccati matrices are initialized according to the initial estimation uncertainty. Specifically, \[P^L(t_0) = \operatorname{diag}\left(\tilde{h}^L(t_0)^2,\tilde{v}_h^L(t_0)^2,\sigma_{\lambda}(t_0)^2, \sigma_{\lambda}(t_0)^2,\sigma_{\lambda}(t_0)^2\right),\] and \[P^G(t_0) = \operatorname{diag}\left(\tilde{h}^L(t_0)^2,\tilde{v}_h^L(t_0)^2,\sigma_z(t_0)^2, \sigma_z(t_0)^2,\sigma_z(t_0)^2\right),\] where \[\sigma_{\lambda}(t_0) =\frac{|\tilde{\lambda} (t_0)|}{\sqrt{3}}, \qquad \sigma_z(t_0) = \frac{|\bar z(t_0) - \hat{z}(t_0)|}{\sqrt{3}}.\] The IMU measurements \(\mathrm{a}(t)\) and \(\mathrm{\omega}(t)\) are discretized at \(250\;\mathrm{Hz}\). The body-frame magnetometer measurement \(\mathrm{m}_{\mathcal{B}}(t)\) is available at \(50\;\mathrm{Hz}\) with estimated standard deviation \(\sigma_m = 10^{-3}[10.6\,\,7.5\,\,11.8]^\top\) yielding the measurement covariance matrix \(Q_m := \operatorname{diag}(\sigma_{m,x}^2,\sigma_{m,y}^2, \sigma_{m,z}^2)\). The barometric altitude measurement is sampled at \(5\;\mathrm{Hz}\) with estimated standard deviation \(\sigma_b = 0.13\;\mathrm{m}\), resulting the scalar covariance \(Q_b := \sigma_b^2\). The observer gains and covariance parameters are selected as \(S^L=\operatorname{diag}(1,1,0.1,0.1,0.1)\), \(Q^L = \operatorname{diag}(Q_b,Q_m)\)for the LES observer. For the AGAS observer \(S^G=S^L\), \(Q^G=Q_b\), together with \(k_z = 8\) and \(k_m = 1\).
The results presented in Fig. 10 and Table 4 demonstrate that the attitude estimates \(\hat{R}^G\) and \(\hat{R}^L\) remain bounded and converge towards the ground-truth attitude \(\bar R\) despite the large initialization errors introduced at \(t_0 = 80\mathrm{s}\). This behavior is reflected by the bounded yaw, pitch, and roll estimates and progressive reduction of the corresponding attitude estimation errors \(e_{att}\) throughout the experiment. Such an outcome is non-trivial given the magnitude of the initial perturbations, which place both estimators far from the true state and therefore constitute a demanding validation scenario. Nevertheless, clear and structured differences emerge between the two approaches across all the phases of the estimation process. During the transient phase, LES observer exhibits a shorter convergence time, lower peak attitude error, and smaller full-segment RMSE values across all Euler-angle channels. These results are consistent with the respective stability properties of the two proposed observers predicted by Theorems 1 and 2. The LES architecture is designed to achieve local exponential convergence and therefore promotes rapid contraction of the estimation errors. In contrast, the AGAS observer is designed to provide almost-global convergence convergence from arbitrary initial attitude estimates. Consequently, its correction mechanism prioritizes robustness over a large portion of the rotation manifold rather than maximizing local convergence speed. The slower transient response of AGAS can therefore be interpreted as the counterpart of its strong almost-global convergence guarantees. The observability analysis further explains the performance differences observed during initialization. As shown in Fig. 11, both observers experience poorest conditioning over \(t \in [82,\,90]\mathrm{s}\), where \(\log\left(\mathrm{cond}(M)\right)>4\), with \(M := M^L\) for LES and \(M:= M^G\) for AGAS, corresponding to condition numbers on the order of \(10^4\). Such values indicate a highly ill-conditioned estimation problem and a weakly satisfied persistent excitation conditions. Under these circumstances, the relaxed observability condition associated with the LES observer becomes particularly advantageous, enabling more effective exploitation of the available measurement information when excitation is limited. As the flight progresses over \(t \in [90,\,110]\mathrm{s}\), successive maneuvers enrich the excitation and substantially improve the conditioning of the estimation problem. The condition numbers of both estimators decrease accordingly, and the performance gap progressively narrows. Both observers converge to a small neighborhood of zero attitude error and maintain accurate attitude reconstruction throughout the remainder of the flight segment. The steady-state metrics indicate that the AGAS observer achieves a slightly lower aggregate attitude error and improved roll and yaw RMSE values, while LES retains a modest advantage in pitch. These results suggest that, once sufficient excitation is available and both observers have converged, the estimation performance becomes primarily governed by the respective correction structures of the two architecture rather than by observability limitations. Overall, the experimental results provide strong empirical support for the theoretical developments of this work. In particular, the relaxed observability condition of the LES observer translates into measurable improvements in convergence speed and transient accuracy even under limited excitation, while the AGAS demonstrates reliable recovery from large initialization errors together with competitive steady-state performance. These findings confirm that the distinct stability and observability properties of the two observers are directly reflected in their practical behaviors under real-flight conditions.
| Metric | LES | AGAS | Improvement (\(\%\)) |
|---|---|---|---|
| \(t_c\) \([\mathrm{s}]\) | \(83\) | \(88\) | \(+5.6\) |
| \(e_{\mathrm{att,\max}}[-]\) | \(1.98\) | \(2.23\) | \(+11.2\) |
| \(e_{\mathrm{att,ss}}[-]\) | \(0.0015\) | \(0.0014\) | \(-7.1\) |
| RMSE\(_{\phi}\)\([^\circ]\) | \(1.5\) | \(2.2\) | \(+32\) |
| RMSE\(_{\theta}\)\([\circ]\) | \(2\) | \(3\) | \(+33.3\) |
| RMS\(_{\psi}\)\([^\circ]\) | \(3\) | \(5\) | \(+40\) |
| RMSE\(_{\phi,\mathrm{ss}}\)\([^\circ]\) | \(0.4\) | \(0.25\) | \(-60\) |
| RMSE\(_{\theta,\mathrm{ss}}\) \([^\circ]\) | \(0.5\) | \(0.8\) | \(+37.5\) |
| RMSE\(_{\psi,\mathrm{ss}}\)\([^\circ]\) | \(0.9\) | \(0.56\) | \(-60\) |
This paper investigated barometer-aided attitude estimation as a lightweight sensing alternative for accelerating vehicles operating in environments where conventional velocity-aided attitude estimation is infeasible due to the lack of reliable velocity measurements. By exploiting the information contained in barometric altitude measurements and their coupling with the vehicle dynamics, we established a theoretical framework for attitude estimation using only inertial, magnetic, and barometric sensors. This work provides the first unified treatment of barometer-aided attitude estimation encompassing observability analysis, observer design with both LES and AGAS guarantees, and validation on real-flight data.
Within this framework, two observer architectures with complementary convergence and robustness properties were proposed. The AGAS architecture combines a deterministic Riccati-based estimation stage with a nonlinear observer on \(\mathrm{SO}(3)\), yielding almost-global asymptotic convergence under a uniform observability condition while preserving the geometric structure of the attitude dynamics. The LES architecture employs a reduced-order nonlinear observer on \(\mathrm{SO}(3)\times\mathbb{R}^2\) and achieves local exponential convergence under a relaxed observability condition requiring sufficient excitation only in the horizontal component of the inertial acceleration.
The proposed observers were validated through extensive Monte Carlo simulations and real-flight experiments. The results show that the LES observer provides faster convergence and improved estimation accuracy under limited excitation, whereas the AGAS observer exhibits stronger robustness to large initialization errors while maintaining competitive steady-state performance. These observations are consistent with the theoretical analysis and highlight the tradeoff between convergence rate, excitation requirements, and domain of attraction associated with the two observer designs. Future work will focus on extending the proposed architectures to account for IMU biases and on investigating the resulting observability and stability properties.
To show that the system 13 is uniformly observable, it suffices to show that there exist \(\bar{\delta}, \bar{\mu} > 0\) such that 5 holds, i.e. \(W^G(t, t + \bar \delta) \ge \bar \mu I_5,~ \forall t \geq 0,\) with \(W^G(t, t + \bar \delta)\) given by 22 . Assume, by contradiction, that system 13 is not uniformly observable. Then, for every \(\bar \mu > 0\) and \(\bar \delta > 0\), there exists \(t \ge 0\) such that \(W^G(t,t+\bar\delta) < \bar\mu I_5\), Let \(\{\mu_p\}_{p\in\mathbb{N}}\) be a sequence decreasing to zero with \(\mu_p > 0\), and let \(\bar{\delta} > 0\) satisfy the PE condition 23 . Then, there exist sequences \(\{t_p\} \subset \mathbb{R}_+\) and \(\{d_p\} \subset \mathbb{S}^4\), such that \(d_p^\top W^G(t_p,t_p+\bar{\delta}) d_p < \mu_p, \quad \forall p \in \mathbb{N}.\) By compactness of \(\mathbb{S}^4\), there exists a subsequence of \(\{d_p\}\) that converges to some \(d \in \mathbb{S}^4\). Letting \(p \to \infty\) and using \(\mu_p \to 0\) yields the convergence relation from 22 \[\lim_{p \to \infty} \int_0^{\bar{\delta}} \big\| C^G\, \Phi^G(s,t_p)\, d_p \big\|^2 ds = 0 \label{eq:conv95relation95G}\tag{46}\] or, by a change of variables with a scalar output function, \[\lim_{p \to \infty} \int_0^{\bar{\delta}} |f_p(s)|^2 ds = 0 \label{eq:conv95relation95f95G}\tag{47}\] where we define \[\begin{align} f_p(t) &:= C^G \Phi^G(t+t_p,t_p)d_p \\ &= C^G_1 \phi_{11}(t+t_p,t_p) d_1 + C_1^G \phi_{12}(t+t_p,t_p) d_2, \end{align}\] where \(d_p = d = [\,d_1^\top, d_2^\top\,]^\top\) with \(d_1 \in \mathbb{R}^2\), \(d_2 \in \mathbb{R}^3\), and \(|d_1|^2+|d_2|^2=1\). From 4 , 18 19 , 46 47 , and knowing that \((A^G_{11})^2 = 0_{2\times2}\), we obtain the successive time-derivatives of \(f_p(t)\), as follow : \[\begin{align} f_p^{(1)}(t) &= C^G_1 A^G_{11} \phi_{11} d_1 + C^G_1 \left( A^G_{11}\phi_{12} + A^G_{12}\phi_{22} \right) d_2, \\ f_p^{(2)}(t) &= C^G_1 \left( A^G_{11} A^G_{12} - A^G_{12}\mathrm{\omega}^\times \right) \phi_{22} d_2 \end{align}\] Now, using the results of Lemma A.1 of [29], we deduce: \[\lim_{p \to \infty} \int_0^{\bar{\delta}} |f_p^{(k)}(s)|^2 ds = 0, \quad k=0,1,\dots,2.\] The highest derivative yields \[f_p^{(2)}(t_p) \to \mathrm{a}^\top(t_p)\big(-\mathrm{\omega}^\times(t_p)\big) d_2 \to 0 ~\text{as } p \to \infty.\] By the PE assumption in 23 , this implies \(d_2 = 0\). Substituting \(d_2 = 0\) into \(f_p(s)\) and \(f_p^{(1)}(s)\) gives \[C^G_1\phi_{11}d_1 = 0, \quad C^G_1 A_{11}\phi_{11}d_1 = 0, \label{eq:fp95fp95195G}\tag{48}\] with \(d_1 = \begin{bmatrix}d_{1,1},d_{1,2}\end{bmatrix}^\top,\) where \(d_{1,1} \in \mathbb{R}\) and \(d_{1,2} \in \mathbb{R}.\) From 21 we compute \(C^G_1 \phi_{11}(t,\tau) = \begin{bmatrix}1 & (t-\tau)\end{bmatrix}\) and \(C^G_1 A^G_{11}\phi_{11}(t,\tau) = \begin{bmatrix}0 & 1\end{bmatrix}\). By substituting these into 48 , we get \(d_{1,1}+d_{1,2}(t-\tau) = d_{1,2} = 0\). This implies \(d_1 = 0\). Therefore \(d = 0\), contradicting \(|d| = 1\). Hence, the pair \((A^G(t),C^G)\) is uniformly observable. This in turn guarantees the global exponential stability of the equilibrium \(\tilde{x}^G = \boldsymbol{0}_{5\times 1}\)(See [24]).
Differentiating \(\tilde{R}^G\) and using the tilt error \(\tilde{z} := z -\hat{z}\), we obtain \[\begin{align} \dot{\tilde{R}}^G &= R\mathrm{\omega}^\times (\hat{R}^G)^\top + R\left(-\mathrm{\omega}^\times (\hat{R}^G)^\top + (\hat{R}^G)^\top \sigma_R^\times \right) \notag \\ &= \tilde{R}^G\left( k_z \mathrm{e}_3 \times \hat{R}^G \hat{z} + k_m \bar{\mathrm{m}}_{\mathcal{I}} \times \hat{R}^G \bar{\mathrm{m}}_{\mathcal{B}} \right)^\times \notag \\&= \tilde{R}^G\big(k_z\mathrm{e}_3 \times \hat{R}^Gz- k_z\mathrm{e}_3 \times \hat{R}^G \tilde{z} +k_m \bar{\mathrm{m}}_{\mathcal{I}} \times \hat{R}^G \bar{\mathrm{m}}_{\mathcal{B}}\big)^\times \notag \end{align}\]
From Lemma 1, it follows that \(\hat{z} \to z\) exponentially, which implies that \(\bar{\mathrm{m}}_{\mathcal{B}} \to \bar{\bar{\mathrm{m}}}_{\mathcal{B}}\), with \(\bar{\bar{\mathrm{m}}}_{\mathcal{B}} = \bar{\Pi}_{z} \mathrm{m}_{\mathcal{B}}\). Moreover, one can show that \(\bar{\mathrm{m}}_{\mathcal{B}} = \bar{\bar{\mathrm{m}}}_{\mathcal{B}} + \mathcal{O}(\tilde{z}).\) Expressing this in terms of \(\tilde{x}\), and in view of 16 , one obtains the closed-loop system: \[\tag{49} \begin{align} \dot{\tilde{R}}^G &= \tilde{R}^G \left( k_z \mathrm{e}_3 \times \hat{R}^Gz + k_m \bar{\mathrm{m}}_{\mathcal{I}} \times \hat{R}^G \bar{\bar{\mathrm{m}}}_{\mathcal{B}} + \mathcal{O}(\tilde{x}^G) \right)^\times, \tag{50} \\ \dot{\tilde{x}}^G &= (A^G - K^GC^G)\tilde{x}^G. \tag{51} \end{align}\] The above system can be seen as a cascade interconnection of a non-linear system on \(\mathrm{SO}(3)\) 50 and the LTV system on \(\mathbb{R}^5\) 51 . To prove the AGAS of the interconnection system, we begin by proving that subsystem 50 is AGAS for \(\tilde{x}^G = 0_{5\times1}\). From 50 , it follows, as shown in [1], that the equilibrium sets are \(\mathcal{E}_s = \{I_3\}\) and \(\mathcal{E}_u = \left\{(U\Lambda U^\top, 0)\,\middle|\, \Lambda = \operatorname{diag}(1, -1, -1),\, U \in \mathrm{SO}(3) \right\}.\) The singleton set \(\mathcal{E}_s\) is the stable equilibrium, and the set \(\mathcal{E}_u\) is the set of unstable equilibria (see [30]). It consists of all 180-degree rotations, each defined by an axis on \(S^2\), which corresponds to a 2D space embedded in the 3D manifold \(\mathrm{SO}(3)\), and thus has measure zero in \(\mathrm{SO}(3)\). It follows that the stable equilibrium \(\tilde{R}^G = I_3\) is almost globally asymptotically stable for subsystem 50 . To complete the proof, we now examine the full interconnection system. Since the estimation error \(\tilde{x}^G\) in 51 evolves independently of \(\tilde{R}^G\) and is GES from Lemma 1, there exist constants \(\delta, \beta > 0\) such that \(\tilde{x}^G\) satisfies \(|\tilde{x}^G(t)| \leq \delta \exp(-\beta t)\, |\tilde{x}^G(0)|, \forall t \geq 0.\) Thus, \(\tilde{x}^G\) remains uniformly bounded, meaning there exists a compact set \(S \subset \mathbb{R}^5\) such that \(\tilde{x}^G(t) \in S\) for all \(t \geq 0\). Therefore, according to [31], one can conclude that subsystem 50 is almost globally Input-to-State Stable (ISS) with respect to \(\tilde{R}^G = I_3\) and input \(\tilde{x}^G\). Hence, given that \(\tilde{x}^G = 0_{5\times 1}\) for system 51 is GES and that subsystem 50 with \(\tilde{x}^G = 0_{5\times 1}\) is AGAS at \(\tilde{R}^G = I_3\) and almost globally ISS with respect to \(\tilde{x}^G\), it follows from [32] that the cascaded interconnection system 49 is AGAS at \((\tilde{R}^G, \tilde{x}^G) = (I_3,0_{5\times 1})\).
To establish the uniform observability, we evaluate the observability Gramian in a convenient block form. To this end, the system matrix \(A^{L\star}(t)\) is partitioned as \[A^{L\star}(t) =\begin{bmatrix}A^L_{11} &A^{L\star}_{12}(t) \\ 0_{3\times 2} & 0_{3\times 3} \end{bmatrix}, \label{eq:block95true95state95matrix}\tag{52}\] with \[A^L_{11} = \begin{bmatrix} 0 & 1 \\ 0 & 0 \end{bmatrix}, \quad A^{L\star}_{12}(t) = \begin{bmatrix}0_{1\times 3}\\ -\mathrm{e}_{3}^{\top}(R \mathrm{a})^\times \end{bmatrix}.\] Similarly, the output matrix \(C\) is partitioned as \[C^L = \begin{bmatrix} C^L_{11} & 0_{1\times 3}\\ 0_{3\times 2} & C^L_{22} \end{bmatrix}, \label{eq:block95true95output95matrix}\tag{53}\] with \[C^L_{11} = \begin{bmatrix}1&0\end{bmatrix}, \quad C^L_{22}=-(\mathrm{m}_{\mathcal{I}})^{\times}.\] Due to the structure of \(A^{L\star}\) in 52 , the associated state transition matrix admits the form: \[\Phi^{L\star}(t,\tau) = \begin{bmatrix} \Phi_{11}(t,\tau) &\Phi^{\star}_{12}(t,\tau)\\ 0_{3\times 2} & I_3 \end{bmatrix},\label{eq:true95state95trans95matrix}\tag{54}\] with \(\Phi_{11}\in\mathbb{R}^{2 \times 2}\) and \(\Phi^{\star}_{12}\in\mathbb{R}^{2\times3}\). Substituting 52 and 54 into the state transition equation 4 yields \[\begin{align} \frac{d}{dt} \Phi^{L\star}(t, \tau) &=\begin{bmatrix} A_{11}\Phi_{11} & A_{11}\Phi^{\star}_{12}+A^{\star}_{12} \\ 0_{3\times 2} & 0_{3\times 3}\\ \end{bmatrix}, \Phi^{L\star}(\tau,\tau) = I_5, \label{eq:deriv95true95trans95matrix} \end{align}\tag{55}\] with initial conditions \(\Phi_{11}(\tau,\tau) = I_2\) and \(\Phi^{\star}_{12}(\tau,\tau) = 0_{2 \times 3}\). This directly leads to the subsystem equations \[\begin{align} \dot{\Phi}_{11} &= A^L_{11}\Phi_{11} \tag{56},\\ \dot{\Phi}^{\star}_{12} &= A^L_{11}\Phi^{\star}_{12}+A^{L\star}_{12} \tag{57}. \end{align}\] Since \(A^L_{11}\) is a constant matrix, the solution of 56 is given by \[\Phi_{11}(t,\tau) = \exp\left(A^L_{11}(t-\tau)\right) = \begin{bmatrix} 1 & (t-\tau) \\ 0 & 1 \end{bmatrix}\label{eq:Phi9511}.\tag{58}\] The dynamics in 57 define a linear time varying system with constant state matrix \(A^L_{11}\). Using the integral representation of the solution, one obtains \[\Phi^{\star}_{12}(t,\tau) = \Phi_{11}(t,\tau) \Phi^{\star}_{12} (\tau,\tau) +\int^{t}_{\tau}\Phi_{11}(t,s) A^{L\star}_{12}(s)\;ds. \label{eq:eq95ODE95Phi951295a}\tag{59}\] Using \(\Phi^{\star}_{12}(\tau,\tau) = 0_{3 \times 3}\), 59 reduces to \[\Phi^{\star}_{12}(t,\tau) = \int^{t}_{\tau}\Phi_{11}(t,s)A^{L\star}_{12}(s)\, ds. \label{eq:eq95ODE95Phi951295b}\tag{60}\] Substituting \(A^{L\star}_{12}\) and 58 in 60 yields: \[\Phi^{\star}_{12}(t,\tau) =\begin{bmatrix} -\int_{\tau}^{t}\left(t-s\right)\mathrm{e}_3^{\top}(R\mathrm{a})^{\times}\,ds \\ -\int_{\tau}^{t}-\mathrm{e}_3^{\top}(R\mathrm{a})^{\times}\,ds \end{bmatrix}. \label{eq:Phi9512}\tag{61}\] Next, from 53 and 54 , \(C\Phi^{L \star}\) can be written as \[C^L\Phi^{L\star}(s,t)= \begin{bmatrix} C^L_{11}\Phi_{11}(s,t) & C^L_{11}\Phi^{\star}_{12}(s,t)\\ 0_{3\times 2} & C^L_{22} \end{bmatrix}\label{eq:C95Phi}\tag{62}\] Substituting 62 into the observability Gramian definition 3 , one obtains \[W^{L\star}(t,t+\tau)= \begin{bmatrix} W^L_{11}(t,t+\tau) & W_{12}^{L\star}(t,t+\tau)\\ W_{12}^{L\star \top}(t,t+\tau) & W_{22}^{L\star}(t,t+\tau) \end{bmatrix} \label{eq:gramian}\tag{63}\] where \[W^L_{11}(t, t+\tau) = \frac{1}{\tau}\int_t^{t+\tau} \Phi_{11}^{\top}(s,t) (C^L_{11})^{\top} C^L_{11}\Phi_{11}(s,t)\,ds,\] \[W^{L\star}_{12}(t,t+\tau) = \frac{1}{\tau}\int_t^{t+\tau}\Phi_{11}^{\top}(s,t) (C^L_{11})^{\top} C^L_{11}\Phi^{\star}_{12}(s,t)\,ds,\] and \[\begin{align} W^{L\star}_{22}(t,t+\tau) &= \frac{1}{\tau}\int_t^{t+\tau}\Phi^{\star \top}_{12}(s,t) (C^L_{11})^{\top} C^L_{11}\Phi^{\star}_{12}(s,t)\,ds \\ &+\frac{1}{\tau}\int_t^{t+\tau}(C^L_{22})^{\top}C_{22}\,ds. \end{align}\]
To show that there exist \(\bar \delta,\bar \mu >0\) such that \(W^{L\star}(t, t + \bar \delta) \ge \bar \mu I_5,\, \forall t \geq 0,\) we proceed by contradiction following the same arguments as in the proof of Lemma 1 given in Appendix 7. Letting \(p \to \infty\) and using \(\mu_p \to 0\) yields the convergence relation from 63 \[\lim_{p \to \infty} \int_0^{\bar{\delta}} \big\| C^L\, \Phi^{L\star}(s,t_p)\, d_p \big\|^2 ds= 0 \label{eq:conv95relation95L}\tag{64}\] or, by a change of variables with an output function, \[\lim_{p \to \infty} \int_0^{\bar{\delta}} \big|f_p(s)\big|^2 ds = 0, \label{eq:conv95relation95f95L}\tag{65}\] where we define \[\begin{align} f_p(t) &:= C^L \Phi^{L \star}(t+t_p,t_p) d_p\\ &= \begin{bmatrix}C^L_{11} \Phi_{11}(t+t_p,t_p) d_1+C_{11}\Phi^{\star}_{12}(t+t_p,t_p)d_2\\C^L_{22}d_2 \end{bmatrix} \\ &= \begin{bmatrix} f_{p,1}(t)\\f_{p,2}(t)\end{bmatrix}. \end{align}\] This implies \[\begin{align} |f_p(t)|^2 &= \big| C^L_{11}\Phi_{11}d_1 +C^L_{11}\Phi^{\star}_{12}d_2\big|^2 + \big| C^L_{22}d_2 \big|^2\\ &=\big|f_{p,1}(t)\big|^2 + \big|f_{p,2}(t)\big|^2. \end{align}\] Hence the convergence relation in 65 becomes \[\begin{align} &\lim_{p \to \infty} \int_0^{\bar{\delta}} \big|f_{p,1}(s) \big|^2 ds = 0, \text{ and} \tag{66}\\ &\lim_{p \to \infty} \int_0^{\bar{\delta}} \big|f_{p,2}(s) \big|^2 ds = 0. \tag{67} \end{align}\] From 52 61 , we obtain the successive time derivatives of \(f_{p,1}(t)\), as follow : \[\begin{align} f_{p,1}^{(1)}(t) &= C^L_{11} A^L_{11} \Phi_{11} d_1 + C^L_{11}\left( A^L_{11}\Phi^{\star}_{12} + A^{L\star}_{12} \right) d_2,\\ f_{p,1}^{(2)}(t) &=C^L_{11}\left(A^L_{11}A^{L\star}_{12}+\dot{A}^{L\star}_{12}\right)d_2 = -\mathbf{e}^{\top}_3(R\mathrm{a})^{\times}d_2. \end{align}\] Using the results of Lemma A.1 of [29], we deduce: \[\lim_{p \to \infty} \int_0^{\bar{\delta}} |f_{p,1}^{(k)}(s)|^2 ds = 0, \quad k=0,1,2..\] Letting \(d_2 = \begin{bmatrix}d^{\top}_{2,1},d_{2,2}\end{bmatrix}^\top\), with \(d_{2,1} \in \mathbb{R}^2\) and \(d_{2,2} \in \mathbb{R}\), the highest derivative in the tangent-space yields \[f_{p,1}^{(2)}(t_p) \to -\mathbf{e}^{\top}_3\left( R(t_p) \mathrm{a}(t_p)\right)^{\times}Jd_{2,1} \to 0 \text{ as } p \to \infty.\] By the PE assumption in ?? , this leads to \(d_{2,1} = 0\), which implies \(d_2 = \begin{bmatrix}0_{1 \times 2} ,d_{2,2}\end{bmatrix}^\top.\) Substituting \(d_2 = d_{2,2}\mathrm{e}_3\) into \(f_{p,2}(t_p)\), we get \(d_{2,2}(\mathrm{m}_\mathcal{I}\times \mathrm{e}_3) \to 0 \text{ as } p \to \infty.\) By assumption, vectors \(\mathrm{m}_\mathcal{I}\) and \(\mathrm{e}_3\) are non-collinear, then \(d_{2,2}\to 0 \text{ as } p \to \infty.\) This implies \(d_2 = 0.\) Now, substituting \(d_2 =0\) into \(f_{p,1}(t_p)\) and \(f_{p,1}^{(1)}(t_p)\), we get \[C^L_{11}\Phi_{11}d_1 = 0, \quad C^L_{11} A^L_{11} \Phi_{11} d_1 = 0, \label{eq:fp95fp951}\tag{68}\] with \(d_1 = \begin{bmatrix}d_{1,1},d_{1,2}\end{bmatrix}^\top,\) where \(d_{1,1} \in \mathbb{R}\) and \(d_{1,2} \in \mathbb{R}.\) From 58 we have \(C^L_{11} \Phi_{11}(t,\tau) = \begin{bmatrix}1 & (t-\tau)\end{bmatrix}\) and \(C^L_{11}A^L_{11}\Phi_{11}(t,\tau) = \begin{bmatrix}0 & 1\end{bmatrix}.\) By substituting these into 68 , we get \(d_{1,2} \to 0\) and \(d_{1,1}+d_{1,2}(t_p-\tau) \to d_{1,1} \to 0 \text{ as } p \to \infty.\) This implies \(d_1 = 0\). Hence \(d = 0\), contradicting \(|d| = 1\). Therefore, the pair \((A^{L\star}(t),C)\) is uniformly observable.
This work was supported by the "Grands Fonds Marins" Project Deep-C, and the ASTRID ANR project ASCAR. This research work is also supported in part by NSERC-DG RGPIN-2020-04759 and Fonds de recherche du Québec (FRQ).
Méloné Nyoba Tchonkeu received his Engineer degree in Electrical Engineering from the University of Applied Sciences Western Switzerland, Switzerland, in 2008, his M.Eng. degree in Aerospace Engineering (Avionics and Control Systems) from Polytechnique Montreal, Canada, in 2016, and his M.A.Sc. degree in Electrical Engineering from the University of Quebec in Outaouais, Canada, in 2025. He is currently pursing his Ph.D. degree in Science and Information Technology at the University of Quebec in Outaouais. Concurrently with his academic training, he has held several project and systems engineering positions in the aerospace, automotive, and public sectors. His professional experience includes roles with the Canadian Space Agency and the Department of National Defence, where he currently serves as a Program Lead. He is a licensed Professional Engineer (P.Eng.) in the Province of Québec. His research interests are in the areas of nonlinear control theory with applications to unmanned robotic and intelligent autonomous systems.
Soulaimane Berkane received his Engineering and M.Sc. degrees in Automatic Control from Ecole Nationale Polytechnique, Algeria, in 2013, and his PhD in Electrical Engineering from the University of Western Ontario, Canada, in 2017. He held postdoctoral positions at the University of Western Ontario, Canada, and at KTH Royal Institute of Technology, Sweden, between 2018 and 2019. He is currently an Associate Professor at the Department of Computer Science and Engineering, University of Quebec in Outaouais, Canada. He is a Senior Member of IEEE and a Professional Engineer (P.Eng.) in Ontario. He serves as an Associate Editor for the IEEE CSS Conference Editorial Board. His research interests are in the area of nonlinear control theory with applications to robotics and autonomous systems.
Tarek Hamel has been a Professor at the University Côte d’Azur since 2003. He received his Ph.D. in Robotics from the University of Technology of Compiègne (UTC), France, in 1996. After two years as a research assistant at UTC, he joined the Centre d’Études de Mécanique d’Île-de-France in 1997 as an Associate Professor. His research interests encompass nonlinear control theory, estimation, and vision-based control, with a particular focus on applications to unmanned robotic systems. Prof. HAMEL is an IEEE Fellow and a senior member of the Institut Universitaire de France. He has served as an Associate Editor for IEEE Transactions on Robotics, IEEE Transactions on Control Systems Technology, and Control Engineering Practice.
\(^{1}\)M. Nyoba Tchonkeu is with the Department of Computer Science and Engineering, University of Quebec in Outaouais, Gatineau, QC J8X3X7, Canada (nyom01@uqo.ca)↩︎
\(^{2}\)S. Berkane is with the Department of Computer Science and Engineering, University of Quebec in Outaouais, Gatineau, QC J8X3X7, and also with the Department of Electrical Engineering, Lakehead
University, Thunder Bay, ON P7B 5E1, Canada (soulaimane.berkane@uqo.ca)↩︎
\(^{3}\)T. Hamel is with I3S-UniCA-CNRS, University Cote d’Azur and the Insitut Universitaire de France, 06903 Sophia Antipolis, France (thamel@i3s.unice.fr)↩︎