Preprint
Article

This version is not peer-reviewed.

An Unscented Kalman Filter Based on the Adams-Bashforth Method with Applications to the State Estimation of Osprey-Type Drones Composed of Tiltable Rotor Mechanisms

Submitted:

27 February 2026

Posted:

02 March 2026

You are already at the latest version

Abstract
In the state estimation problem for nonlinear systems, the Unscented Kalman Filter (UKF) has gained attention as an algorithm capable of accurate state estimation based on high-fidelity discretization for strongly nonlinear systems. Furthermore, for applying the UKF to continuous-time state-space models, a method employing the Runge-Kutta method in the time-update equation for sigma points has already been proposed to achieve high-precision state estimation. While this method uses high-order numerical approximations, the associated decrease in computational efficiency due to processing time becomes problematic. It is thus unsuitable for state estimation of relatively fast-moving objects, such as autonomous vehicles and drones, which require high sampling frequencies. In this study, to reduce computational load while achieving relatively high estimation accuracy, we newly apply the Adams-Bashforth method to the UKF algorithm. The effectiveness of the proposed method is demonstrated by first explaining a low-dimensional model’s state estimation problem, followed by a comparison of estimation accuracy and computation time in a state estimation simulation for a UAV model of a tandem-rotor drone.
Keywords: 
;  ;  ;  ;  

1. Introduction

In recent years, research on autonomous mobile robots, such as self-driving cars and autonomous drones, has been actively pursued. Simultaneous Localization and Mapping (SLAM) is a fundamental technology for the autonomous movement of these robots. SLAM performs self-localization using sequential observation data obtained from multiple different sensors. However, since sensor data contain noise, stable and accurate estimation values cannot be obtained without appropriately integrating them. Therefore, in SLAM, the Kalman filter, a filtering algorithm for sequentially estimating time-varying quantities from discrete, error-contained observation data, is used.
Generally, the motion models of many real-world systems, including autonomous mobile robots, are continuous-time. However, since observation information from sensors is obtained discretely through sampling, the observation model becomes discrete-time. Such a system is called a continuous-discrete (CD) system. Directly applying the Kalman filter to this CD system is called CD-KF. However, sooner or later, during the implementation stage, the continuous-time motion model (i.e., the prediction model) will need to be discretized or numerically integrated, and a discrete-time Kalman filter will be constructed for that discrete-time motion model. This type of Kalman filter is called the discrete-discrete Kalman filter (DD-KF), as both the motion and observation models are discrete-time. Moreover, for nonlinear dynamics or nonlinear observation systems, it is well-known that the CD-EKF or DD-EKF formally applies the Kalman filter to their linearly approximated systems [1,2,3,4]. Furthermore, as a stable algorithm that does not require linear approximation via Jacobians, the Unscented Kalman Filter (UKF) has been proposed for DD nonlinear systems [5,6,7]. This will be referred to as DD-UKF hereafter.
The UKF employs a nonlinear transformation called the Unscented Transform (UT). For a system of order n, it prepares ( 2 n + 1 ) sample points called sigma points, applies a nonlinear transformation to each, and then calculates the conditional expectation of the state vector and the covariance matrix by taking the sample average of the transformed points. By using this UT, the UKF enables state estimation based on high-fidelity discretization. Sarkka [8] derived continuous-time and continuous-discrete versions of DD-UKF and applied them to nonlinear continuous-time filtering and reentry vehicle tracking problems. Furthermore, in previous research, the Runge-Kutta (RK) method has been applied to the time-update equation for sigma points, demonstrating the possibility of high-precision state estimation for several models [9,10,11]. Additionally, Takeno & Katayama [12] applied Heun’s Method, an improved version of the Euler method, during the prediction step.
However, discussions on the proposed UKFs have been limited to estimation accuracy, with no consideration given to computational efficiency. Due to its characteristic of performing nonlinear transformations on each of the ( 2 n + 1 ) sigma points in the UT algorithm, the UKF has the drawback of increasing computation time as the system order n grows. In practice, considering state estimation for larger-scale models in the real world, both accuracy and real-time performance are required, making the improvement of the UKF algorithm’s computational efficiency very important [13].
Recent studies have begun to address this computational challenge from various perspectives. For instance, Wang et al. [14] proposed an adaptive step-size UKF for continuous-discrete systems based on the degree of nonlinearity, achieving a balance between accuracy and computational cost by dynamically adjusting the step size in highly nonlinear regions. Another approach by researchers in the aerospace domain [15] introduced a high-efficiency UKF utilizing parallel computation for sigma point propagation, demonstrating significant speedup for multi-target trajectory estimation. Furthermore, the integration of machine learning techniques with UKF has been explored; a GAN-enhanced UKF framework [16] dynamically predicts and updates filter parameters in real-time, improving estimation accuracy without sacrificing computational performance. In the realm of numerical implementation, Kulikova and Kulikov [17] developed square-root information-type methods for continuous-discrete extended Kalman filtering, enhancing numerical stability which is crucial for efficient computation. Additionally, theoretical advances in sensor scheduling for continuous-discrete systems [18] provide insights into optimizing the trade-off between resource allocation and estimation accuracy. A comparative evaluation of nonlinear filters [19] further contextualizes the performance of UKF against other methods in practical tracking applications. These recent developments underscore the growing recognition of computational efficiency as a critical factor in the practical deployment of nonlinear Kalman filters.
Therefore, in this study, to improve the computational efficiency of the UKF, we propose a UKF that applies the Adams-Bashforth (AB) method, instead of the RK method, to the time-update equation for sigma points. The RK method is a single-step numerical integration method; it calculates the next numerical point ( x ( t k + 1 ) , t k + 1 ) based solely on the current point x ( t k ) , without using past information. Moreover, when the order of accuracy is s ( s < 5 ) , s computations are required to generate the next numerical point. On the other hand, the AB method is a multi-step numerical integration method. For an accuracy order s of 4, the next numerical point x ( t k + 1 ) is calculated based on the last four points x ( t k 3 ) , x ( t k 2 ) , x ( t k 1 ) , x ( t k ) , and only one computation is needed to generate the next numerical point. Thus, regardless of the accuracy order s of the AB method, the number of computations is always one. Therefore, compared to the fixed-step RK method, computation with the AB method is more efficient.
It should be noted, as a related study focusing on the computational efficiency degradation of the RK method in applying numerical integration to nonlinear Kalman filters, that Renke He et al. [20] have already conducted research applying a multi-step method based on the Adams-Bashforth-Moulton (ABM) method to the Extended Kalman Filter (EKF).
The objective of this study is to clarify that the UKF applying the AB method to the time-update equation for sigma points in the UT can achieve estimation with computational efficiency superior to that of the RK method, while maintaining comparable estimation accuracy. In addition to comparison with the RK method, we also compare the differences in estimation accuracy and computation time due to varying orders (2nd to 6th) of the AB method itself.
The effectiveness of the proposed method is demonstrated through state estimation in a MATLAB simulation environment using two nonlinear models. Specifically, we first verify applicability to a low-dimensional falling object model used in previous research as a preliminary experiment and compare estimation performance under the same conditions. Subsequently, as an application to a more complex model, we conduct a similar comparison of estimation performance using a UAV (Unmanned Aerial Vehicle) model of a tandem-rotor drone.
Section 2 reviews the UKF algorithm for discrete-time state-space models. Section 3 demonstrates the compatibility of UT with two discretization methods, the RK method and the AB method, and presents the time update formulas for the σ point based on each. Section 4 describes the modeling of the Osprey-type drone. After defining the coordinate systems, the rotational and translational motions are explained in detail. Section 5 explains the controller design and control allocation. Specifically, a controller based on the computed torque method is described, and the control input allocation problem is detailed. Section 6 performs state estimation by applying the sigma-point time-update equations presented in Section 2 to the falling object model [21] used in previous research as a preliminary experiment, comparing estimation accuracy and computation time. Section 7 first derives the state equations and sigma-point time-update equations for the resulting tandem-rotor UAV model, then performs comparisons of estimation accuracy and computation time similar to Section 6. Furthermore, we provide discussions based on a wider range of estimation results, including not only comparison with the RK method but also differences in estimation performance due to the order of the AB method and comparisons of estimation performance under different sampling periods. Section 8 summarizes the paper and presents concluding remarks.

2. Review of the Unscented Kalman Filter

Consider the following discrete-time state-space model.
x ( t k + 1 ) = f ( x ( t k ) , u ( t k ) ) + w ( t k )
y ( t k ) = h m ( x ( t k ) ) + v ( t k )
where t k = k Δ t , k = 0 , 1 , ( Δ t : sampling interval). x ( t k ) R n , u ( t k ) R m , y ( t k ) R p are the state vector, input vector, and output vector, respectively, and f R n , h m R p are nonlinear functions. Also, w ( t k ) R n , v ( t k ) R p are Gaussian white noises with mean 0 and covariance matrices Q and R, respectively.
Hereafter, the filtering value of the state vector and its covariance matrix are denoted as x ^ ( t k | t k ) , P ( t k | t k ) , and the one-step predicted value and its covariance matrix as x ^ ( t k + 1 | t k ) , P ( t k + 1 | t k ) . It is assumed that the initial filtering values x ^ ( 0 | 0 ) , P ( 0 | 0 ) are given. The DD-UKF algorithm is then composed of a prediction step and an update step as follows [5,6,7].

Prediction Step

Step 1: Sigma-point vectors X i ( i = 1 , , 2 n + 1 ) and scalar weights W i
X 0 ( t k | t k ) = x ^ ( t k | t k )
X i ( t k | t k ) = x ^ ( t k | t k ) + ( n + λ ) P ( t k | t k ) i
X i + n ( t k | t k ) = x ^ ( t k | t k ) ( n + λ ) P ( t k | t k ) i
W 0 = λ n + λ
W i = W n + i = 1 2 ( n + λ ) ( i = 1 , , n )
Here, ( n + λ ) P ( t k | t k ) i denotes the i-th column vector of the matrix square root of P ( t k | t k ) , scaled by ( n + λ ) . λ is a parameter used for computing higher-order moments, such as the covariance.
Step 2: One-step predicted state estimate and its covariance matrix via time update of sigma points
X i ( t k + 1 | t k ) = f ( X i ( t k | t k ) , u ( t k ) ) ( i = 1 , , 2 n + 1 )
x ^ ( t k + 1 | t k ) = i = 0 2 n W i X i ( t k + 1 | t k )
P ( t k + 1 | t k ) = i = 0 2 n W i { X i ( t k + 1 | t k ) x ^ ( t k + 1 | t k ) } { X i ( t k + 1 | t k ) x ^ ( t k + 1 | t k ) } T + Q

Update Step

Step 3: Predicted output estimate and its covariance matrix using updated sigma points
η i ( t k + 1 | t k ) = h m ( X i ( t k + 1 | t k ) ) ( i = 1 , , 2 n + 1 )
y ^ ( t k + 1 | t k ) = i = 0 2 n W i η i ( t k + 1 | t k )
P y y ( t k + 1 | t k ) = i = 0 2 n W i { η i ( t k + 1 | t k ) y ^ ( t k + 1 | t k ) } { η i ( t k + 1 | t k ) y ^ ( t k + 1 | t k ) } T
Step 4: Output prediction error (innovation)
ν ( t k + 1 | t k ) = y ( t k + 1 ) y ^ ( t k + 1 | t k )
Step 5: Auto-covariance matrix of ν ( t k + 1 ) and cross-covariance matrix between x ( t k + 1 ) and ν ( t k + 1 )
P ν ν ( t k + 1 | t k ) = R + P y y ( t k + 1 | t k )
P x ν ( t k + 1 | t k ) = i = 0 2 n W i { X i ( t k + 1 | t k ) x ^ ( t k + 1 | t k ) } { ν i ( t k + 1 | t k ) y ^ ( t k + 1 | t k ) } T
Step 6: Observation update using ν ( t k + 1 ) and the Kalman gain K ( t k + 1 )
K ( t k + 1 ) = P x ν ( t k + 1 | t k ) P ν ν 1 ( t k + 1 | t k )
x ^ ( t k + 1 | t k + 1 ) = x ^ ( t k + 1 | t k ) + K ( t k + 1 ) ν ( t k + 1 )
P ( t k + 1 | t k + 1 ) = P ( t k + 1 | t k ) K ( t k + 1 ) P ν ν ( t k + 1 | t k ) K T ( t k + 1 )

3. Unscented Transform and Discretization Methods

3.1. Discrete-Time State-Space Model

Consider the following continuous-time nonlinear system.
d x d t = f ( x ) , x ( 0 ) = x 0
Here, x R n is the state vector and x 0 is the initial value. Let f d be the approximate function obtained by discretizing Eq. (20). Then, we obtain the time-update equation
x ( t k + 1 ) = f d ( x ( t k ) ) , k = 0 , 1 ,
The observation equation is the same as Eq. (2),
y ( t k ) = h m ( x ( t k ) ) + v ( t k ) , k = 0 , 1 ,
where v is Gaussian white noise with mean 0 and covariance matrix R. Eqs. (21) and (22) constitute the discrete-time state-space model.
The problem is to propose a nonlinear filtering algorithm that sequentially estimates the system’s state vector x ( t k ) based on the observation data y ( t k ) . Takeno et al. [9] demonstrated that combining the UKF with the RK method enables high-precision state estimation simulation.
Based on this, this paper shows that by newly combining the AB method with the UT instead of the RK method, relatively high-precision state estimation can be achieved while reducing computational load.

3.2. UT and the Runge-Kutta Method

Here, since the nonlinear function f in Eq. (20) is a continuous-time model before applying discretization, it is redefined as f c : = f . First, we derive the time-update equation for the sigma points when applying the UT and the Runge-Kutta method to Eq. (20). For this, let the dimension of x in Eq. (20) be n, the i-th component of f c be f i ( i = 1 , , n ), and redefine the sigma point matrix X k at time k with its elements X i , j , k , ( i = 1 , , n , j = 1 , , 2 n + 1 ) as
X k = X 1 , 1 , k X 1 , 2 n + 1 , k X n , 1 , k X n , 2 n + 1 , k
where i is the subscript indicating the element of the n-dimensional state vector, and j is the subscript indicating the element of the sigma point. Let the difference width be Δ t = h and t k = k h , k = 0 , 1 , . Also, for simplicity, the sigma points in Eqs. (8) and (10) are denoted as X i , j , k + 1 = X i , j ( t k + 1 | t k ) .
Applying the 4th-order RK method to each sigma point, we define the following [9].
a 1 , i j = f i X 1 , j , k , , X n , j , k , t k a 2 , i j = f i X 1 , j , k + h 2 a 1 , 1 j , , X n , j , k + h 2 a 1 , n j , t k + h 2 a 3 , i j = f i X 1 , j , k + h 2 a 2 , 1 j , , X n , j , k + h 2 a 2 , n j , t k + h 2 a 4 , i j = f i X 1 , j , k + h a 3 , 1 j , , X n , j , k + h a 3 , n j , t k + h
Then, the time-update equation for the sigma points is
X i , j , k + 1 = X i , j , k + h 6 a 1 , i j + a 2 , i j + a 3 , i j + a 4 , i j ( i = 1 , , n , j = 1 , , 2 n + 1 )
Taking the weighted average of these updated sigma points yields the time-updated value (i.e., the predicted value) of the state vector estimate via Eq. (9). The corresponding time-updated covariance matrix is obtained via Eq. (10).

3.3. UT and the Adams-Bashforth Method

Let the j-th column ( j = 1 , , 2 n + 1 ) of the sigma point matrix X k at time k be sequentially substituted into f c . The resulting sigma point matrix F c ( X k ) can be represented by the following n × ( 2 n + 1 ) matrix.
F c ( X k ) = f 1 ( X 1 , 1 , k ) f 1 ( X 1 , 2 n + 1 , k ) f n ( X n , 1 , k ) f n ( X n , 2 n + 1 , k )
In this paper, focusing on the key feature of the AB method—its ability to utilize “previously computed information”—we propose a discretization method that uses the sigma point matrix represented by Eq. (26), computed at times k 1 and earlier, as “previously computed information.” Below, we present the time-update equations for the sigma points when applying 2nd to 6th order AB methods [22,23].
  • Sigma point update equation using the 2nd-order Adams-Bashforth method
    X k + 1 = X k + h 2 3 F c ( X k ) F c ( X k 1 )
  • Sigma point update equation using the 3rd-order Adams-Bashforth method
    X k + 1 = X k + h 12 23 F c ( X k ) 16 F c ( X k 1 ) + 5 F c ( X k 2 )
  • Sigma point update equation using the 4th-order Adams-Bashforth method
    X k + 1 = X k + h 24 55 F c ( X k ) 59 F c ( X k 1 ) + 37 F c ( X k 2 ) 9 F c ( X k 3 )
  • Sigma point update equation using the 5th-order Adams-Bashforth method
    X k + 1 = X k + h 720 ( 1901 F c ( X k ) 2774 F c ( X k 1 ) + 2616 F c ( X k 2 ) 1274 F c ( X k 3 ) + 251 F c ( X k 4 ) )
  • Sigma point update equation using the 6th-order Adams-Bashforth method
    X k + 1 = X k + h 1440 ( 4277 F c ( X k ) 7923 F c ( X k 1 ) + 9982 F c ( X k 2 ) 7298 F c ( X k 3 ) + 2877 F c ( X k 4 ) 475 F c ( X k 5 ) )
where X k is considered an n × ( 2 n + 1 ) dimensional matrix.

3.4. Comparison of Computational Complexity: Runge-Kutta Method vs. Adams-Bashforth Method

We compare the computational complexity of the RK and AB methods in the UT from the following two perspectives.

3.4.1. Computational Complexity Comparison Based on “Number of Stages”

The difference width Δ t = h in discretization is generally called the step size in numerical computation. The RK method is a discretization method that computes the derivative f i ( X ) four times (this is called having 4 stages) while advancing one step size, and its global truncation error is proportional to O ( h 4 ) , indicating 4th-order accuracy.
On the other hand, in the AB method, since it uses previously computed sigma point matrices F c ( X k 1 ) , F c ( X k 2 ) , F c ( X k 3 ) to derive the time-update equation for the current sigma points, computing F c ( X k ) only once is sufficient to advance one step size. In other words, regardless of the order of the global truncation error, the number of stages is always 1 / 4 that of the RK method.

3.4.2. Computational Complexity Comparison Based on “Number of Elements in the Sigma Point Set”

Generally, when simulating large-scale models in two- or three-dimensional real space, the number of state variables becomes very large, with examples where the vector element count n reaches millions or tens of millions. The UKF is an example where this effect is pronounced because the sigma point set size is ( 2 n + 1 ) , leading to a vast number of elements. The RK method corresponds to each element of the n-dimensional state vector and each element of the sigma point set, performing derivative computations of 4 stages for each sigma point.
In contrast, the AB method requires only one stage of function computation per element of the sigma point set. Moreover, for past sigma point sets, it only involves multiplying the entire matrix by coefficients according to the order of accuracy. Therefore, it can be seen that the impact of increasing the number of state variables is significantly smaller compared to the RK method.

4. Modeling of the Osprey-Type Drone

4.1. Definition of Coordinate Systems

Figure 1 shows the coordinate systems used in this study for the Osprey-type drone. The world coordinate system F W is a right-handed coordinate system with origin O W and axes X W , Y W , Z W , where Z W is positive vertically downward. The body coordinate system F B has its origin O B at the center of gravity of the vehicle. It is also a right-handed coordinate system with axes X B , Y B , Z B and Z B positive vertically downward. The positive direction of the X B axis is designated as the forward direction of the vehicle.
The coordinate system for the first coaxial rotor, F P 1 , has origin O P 1 and axes X P 1 , Y P 1 , Z P 1 . Similarly, the coordinate system for the second coaxial rotor, F P 2 , has origin O P 2 and axes X P 2 , Y P 2 , Z P 2 . The coordinate system for the i-th ( i = 1 , 2 ) coaxial rotor is integrated into F P i . In the body coordinate system F B , the angular velocities about the X B , Y B , Z B axes are ( p , q , r ) , respectively. Furthermore, in the rotor coordinate system F P i , the tilt angles about the X P i , Y P i axes are ( α i , β i ) . The initial tilt angles α i and β i are 0. Due to servo motor characteristics, the range of α i is 2 / π α i 2 / π , while β i is unlimited.
Let the Euler angles in the world coordinate system be η = [ ϕ θ ψ ] T . The rotation matrices about the x, y, z axes, R x , R y , R z , can be expressed as follows (S denotes sin, C denotes cos).
R x = 1 0 0 0 C ϕ S ϕ 0 S ϕ C ϕ
R y = C θ 0 S θ 0 1 0 S θ 0 C θ
R z = C ψ S ψ 0 S ψ C ψ 0 0 0 1
From these R x , R y , R z , the transformation matrix from the body coordinate system to the world coordinate system, R B W , can be expressed as
R B W = R z ( ψ ) R y ( θ ) R x ( ϕ ) = C θ C ψ S ϕ S θ C ψ C ϕ S ψ C ϕ S θ C ψ + S ϕ S ψ C θ S ψ S ϕ S θ S ψ + C ϕ C ψ C ϕ S θ S ψ S ϕ C ψ S θ S ϕ C θ C ϕ C θ
Also, let the transformation matrix for angular velocity from the world coordinate system to the body coordinate system be W η . Then, ω B [ p q r ] T is
ω B = W η η ˙
and its inverse is given by
η ˙ = W η 1 ω B
Here, it is found in [24,25] that
W η = 1 0 S θ 0 C ϕ C θ S ϕ 0 S ϕ C θ C ϕ
W η 1 = 1 S ϕ T θ C ϕ T θ 0 C ϕ S ϕ 0 S ϕ / C θ C ϕ / C θ
where T x = tan ( x ) . Note that W η is invertible unless θ = ( 2 k 1 ) ϕ / 2 , ( k Z ) . That is, it is invertible as long as it does not take the specific ϕ = ± π / ( 2 k 1 ) where gimbal lock occurs.
From the tilt angles α i , β i , ( i = 1 , 2 ) in each rotor coordinate system, the transformation matrix from each rotor coordinate system to the body coordinate system, R P i B , can be expressed as
R P 1 B = R z ( 0 ) R y ( β 1 ) R x ( α 1 )
= C β 1 S α 1 S β 1 C α 1 S β 1 0 C α 1 S α 1 S β 1 S α 1 C β 1 C α 1 C β 1 R P 2 B = R z ( 0 ) R y ( β 2 ) R x ( α 2 )
= C β 2 S α 2 S β 2 C α 2 S β 2 0 C α 2 S α 2 S β 2 S α 2 C β 2 C α 2 C β 2

4.2. Rotational Motion

First, the angular velocity ω P i and angular acceleration ω ˙ P i of the i-th ( i = 1 , 2 ) coaxial rotor can be expressed as
ω P 1 = α ˙ 1 β ˙ 1 ω ¯ 2 ω ¯ 1 T ω P 2 = α ˙ 2 β ˙ 2 ω ¯ 3 ω ¯ 4 T
ω ˙ P 1 = α ¨ 1 β ¨ 1 ω ¯ ˙ 2 ω ¯ ˙ 1 T ω ˙ P 2 = α ¨ 2 β ¨ 2 ω ¯ ˙ 3 ω ¯ ˙ 4 T
where ω ¯ 1 , ω ¯ 2 are the angular velocities of each brushless motor in the first coaxial rotor, and ω ¯ 3 , ω ¯ 4 are those of the second coaxial rotor.
Next, the reaction torque τ c , i of the i-th ( i = 1 , 2 ) coaxial rotor can be expressed as
τ c , 1 = 0 0 k t ( ω 2 ¯ 2 ω ¯ 1 2 ) T τ c , 2 = 0 0 k t ( ω 3 ¯ 2 ω ¯ 4 2 ) T
where k t > 0 represents the torque coefficient.
Also, the thrust T i of the i-th ( i = 1 , 2 ) coaxial rotor can be expressed as
T 1 = 0 0 T 1 T = 0 0 k f ( ω ¯ 1 2 + ω ¯ 2 2 ) T T 2 = 0 0 T 2 T = 0 0 k f ( ω ¯ 3 2 + ω ¯ 4 2 ) T
where k f > 0 represents the thrust coefficient of the coaxial rotor.
Using the Newton-Euler method, the torque τ P i generated by the coaxial rotor can be expressed as
τ P i = I P ω ˙ P i + ω P i × I P ω P i + τ c , i
Here, since the angular velocity and angular acceleration caused by the servo motor tilt are instantaneous and minute, they can be expressed as
α ˙ i = 0 , α ¨ i = 0 , β ˙ i = 0 , β ¨ i = 0 ω ˙ P j = 0 ( i = 1 , 2 ) ( j = 1 , 2 , 3 , 4 )
Therefore, ω P i and τ P i become as follows:
ω P 1 = 0 0 ω 2 ¯ ω ¯ 1 T ω P 2 = 0 0 ω 3 ¯ ω ¯ 4 T
τ P 1 = 0 0 k t ( ω ¯ 2 2 ω ¯ 1 2 ) T τ P 2 = 0 0 k t ( ω ¯ 3 2 ω ¯ 4 2 ) T

4.2.1. Rotational Torque τ B Generated by Rotor Thrust

The rotational torque τ B generated on the vehicle by rotor thrust can be expressed using the position vector O r i B of each rotor in the body coordinate system as follows:
τ B = i = 1 2 ( O P i B × R P i B T i )
O P i B = 0 ( 1 ) i l h o T
The calculation details for i = 1 , 2 are shown below:
R P 1 B T 1 = C β 1 S α 1 S β 1 C α 1 S β 1 0 C α 1 S α 1 S β 1 S α 1 C β 1 C α 1 C β 1 0 0 T 1 = C α 1 S β 1 T 1 S α 1 T 1 C α 1 C β 1 T 1 R r 2 B T 2 = C β 2 S α 2 S β 2 C α 2 S β 2 0 C α 2 S α 2 S β 2 S α 2 C β 2 C α 2 C β 2 0 0 T 2 = C α 2 S β 2 T 2 S α 2 T 2 C α 2 C β 2 T 2
O P 1 B × R P 1 B T 1 = 0 l h o × C α 1 S β 1 T 1 S α 1 T 1 C α 1 C β 1 T 1 = l C α 1 C β 1 T 1 + h o S α 1 T 1 h o C α 1 S β 1 T 1 l C α 1 S β 1 T 1 O P 2 B × R P 2 B T 2 = 0 l h o × C α 2 S β 2 T 2 S α 2 T 2 C α 2 C β 2 T 2 = l C α 2 C β 2 T 2 + h o S α 2 T 2 h o C α 2 S β 2 T 2 l C α 2 S β 2 T 2
Therefore, τ B = [ τ x B τ y B τ z B ] T can be expressed as
τ B = τ x B τ y B τ z B = ( l C α 1 C β 1 + h o S α 1 ) T 1 ( l C α 2 C β 2 h o S α 2 ) T 2 h o C α 1 S β 1 T 1 + h o C α 2 S β 2 T 2 l C α 1 S β 1 T 1 + l C α 2 S β 2 T 2 = k f ( l C α 1 C β 1 + h o S α 1 ) ( ω ¯ 1 2 + ω ¯ 2 2 ) ( l C α 2 C β 2 h o S α 2 ) ( ω ¯ 3 2 + ω ¯ 4 2 ) h o C α 1 S β 1 ( ω ¯ 1 2 + ω ¯ 2 2 ) + h o C α 2 S β 2 ( ω ¯ 3 2 + ω ¯ 4 2 ) l C α 1 S β 1 ( ω ¯ 1 2 + ω ¯ 2 2 ) + l C α 2 S β 2 ( ω ¯ 3 2 + ω ¯ 4 2 )

4.2.2. Reaction Torque τ c Generated by Rotor Rotation

The reaction torque τ c generated by rotor rotation can be expressed using the reaction torque τ P i of each rotor as follows:
τ c = i = 1 2 ( R P i B τ P i )
The calculation details for i = 1 , 2 are shown below.
R P 1 B τ P 1 = C β 1 S α 1 S β 1 C α 1 S β 1 0 C α 1 S α 1 S β 1 S α 1 C β 1 C α 1 C β 1 0 0 k t ( ω ¯ 2 2 ω ¯ 1 2 ) = k t C α 1 S β 1 ( ω ¯ 2 2 ω ¯ 1 2 ) S α 1 ( ω ¯ 2 2 ω ¯ 1 2 ) C α 1 C β 1 ( ω ¯ 2 2 ω ¯ 1 2 )
R P 2 B τ P 2 = C β 2 S α 2 S β 2 C α 2 S β 2 0 C α 2 S α 2 S β 2 S α 2 C β 2 C α 2 C β 2 0 0 k t ( ω ¯ 3 2 ω ¯ 4 2 ) = k t C α 2 S β 2 ( ω ¯ 3 2 ω ¯ 4 2 ) S α 2 ( ω ¯ 3 2 ω ¯ 4 2 ) C α 2 C β 2 ( ω ¯ 3 2 ω ¯ 4 2 )
Therefore, τ c = [ τ x c τ y c τ z c ] T can be expressed as
τ c = τ x c τ y c τ z c = k t C α 1 S β 1 ( ω ¯ 2 2 ω ¯ 1 2 ) + C α 2 S β 2 ( ω ¯ 3 2 ω ¯ 4 2 ) S α 1 ( ω ¯ 2 2 ω ¯ 1 2 ) S α 2 ( ω ¯ 3 2 ω ¯ 4 2 ) C α 1 C β 1 ( ω ¯ 2 2 ω ¯ 1 2 ) + C α 2 C β 2 ( ω ¯ 3 2 ω ¯ 4 2 )

4.2.3. Vehicle Coriolis Force τ c o r i

The vehicle Coriolis force τ c o r i can be expressed using the vehicle’s angular velocity ω B and its inertia matrix I B as follows:
τ c o r i = ω B × I B ω B
Here, since
I B = I B x x 0 0 0 I B y y 0 0 0 I B z z , ω B = p q r
we have
I B ω B = I B x x 0 0 0 I B y y 0 0 0 I B z z p q r = p I B x x q I B y y r I B z z .
Therefore, letting τ c o r i = [ τ x c o r i τ y c o r i τ z c o r i ] T , we obtain
τ c o r i = τ x c o r i τ y c o r i τ z c o r i = p q r × p I B x x q I B y y r I B z z = q r ( I B z z I B y y ) p r ( I B x x I B z z ) p q ( I B y y I B x x ) .

4.2.4. Vehicle Angular Acceleration ω ˙ B

Using the equations above, the vehicle’s angular acceleration ω ˙ B = [ p ˙ q ˙ r ˙ ] T can be expressed as
ω ˙ B = I B 1 ( τ B + τ c τ c o r i + τ e x t )
Furthermore, neglecting external disturbance torques τ e x t acting on the vehicle and gyroscopic effects (i.e., τ e x t = 0 ), we have
p ˙ q ˙ r ˙ = 1 I B x x ( τ x B + τ x c ) + q r I B y y I B z z I B x x 1 I B y y ( τ y B + τ y c ) + p r I B z z I B x x I B y y 1 I B z z ( τ z B + τ z c ) + p q I B x x I B y y I B z z .

4.3. Translational Motion

The thrust T B in the body coordinate system can be expressed using the thrust T i of each rotor as
T B = i = 1 2 ( R P i B T i ) .
Therefore, letting T B = [ T x T y T z ] T , we obtain
T B = T x T y T z = C α 1 S β 1 T 1 C α 2 S β 2 T 2 S α 1 T 1 + S α 2 T 2 C α 1 C β 1 T 1 C α 2 C β 2 T 2 = k f C α 1 S β 1 ( ω ¯ 1 2 + ω ¯ 2 2 ) C α 2 S β 2 ( ω ¯ 3 2 + ω ¯ 4 2 ) S α 1 ( ω ¯ 1 2 + ω ¯ 2 2 ) + S α 2 ( ω ¯ 3 2 + ω ¯ 4 2 ) C α 1 C β 1 ( ω ¯ 1 2 + ω ¯ 2 2 ) C α 2 C β 2 ( ω ¯ 3 2 + ω ¯ 4 2 ) .
Using the vehicle mass m and gravitational acceleration g = [ 0 0 g ] T , the vehicle’s translational acceleration ξ ¨ = [ x ¨ y ¨ z ¨ ] T can be expressed as
ξ ¨ = g + 1 m ( R B W T B + F e x t )
x ¨ y ¨ z ¨ = 1 m C θ C ψ T x + ( S ϕ S θ C ψ C ϕ S ψ ) T y + ( C ϕ S θ C ψ + S ϕ S ψ ) T z C θ S ψ T x + ( S ϕ S θ S ψ + C ϕ C ψ ) T y + ( C ϕ S θ S ψ S ϕ C ψ ) T z S θ T x + S ϕ C θ T y + C ϕ C θ T z + m g .
where F e x t is the external disturbance force acting on the vehicle. Neglecting effects such as friction, we set F e x t = 0 .

5. Controller Design and Control Allocation

5.1. Computed Torque Method

The computed torque method is a technique to determine the generalized force (comprising thrust and torque in the body coordinate system) from the desired translational and angular accelerations in the world coordinate system, given that the vehicle’s physical information is known. Utilizing the relation η ˙ = W η 1 ω B in the translational acceleration of Eq. (61) and the rotational angular acceleration of Eq. (57), and defining the generalized coordinates as X [ ξ T η T ] T , the system can be represented as
X ¨ = F ( X ˙ ) + G ( X ) u + D ( X ) d
This is because, from Eq. (37),
η ¨ = d d t ( W η 1 ) ω B + W η 1 ω ˙ B = d d t ( W η 1 ) W η η ˙ + W η 1 I B 1 ( τ B + τ c ) τ c o r i + τ e x t = d d t ( W η 1 ) W η η ˙ ( I B W η ) 1 [ ( W η η ˙ ) × I B ( W η η ˙ ) ] + ( I B W η ) 1 ( τ B + τ c ) + ( I B W η ) 1 τ e x t
and thus
F ( X ˙ ) = g d d t ( W η 1 ) W η η ˙ ( I B W η ) 1 [ ( W η η ˙ ) × I B ( W η η ˙ ) ]
G ( X ) = 1 m W R B 0 0 ( I B W η ) 1 , D ( X ) = 1 m I 3 × 3 0 0 ( I B W η ) 1
u = [ T B T ( τ B + τ c ) T ] T , d = [ F e x t T τ e x t T ] T
Here, since the rotation matrix R B W is orthogonal, R B 1 W = W R B T . Also, as each principal moment of inertia I B i i 0 ( i = x , y , z ) , G 1 ( X ) = diag ( m W R B T , W η I B ) . Then, the inverse system of Eq. (63) is
u = G 1 ( X ) [ X ¨ F ( X ˙ ) D ( X ) d ]
Let the target value for the generalized coordinate vector X be X d . Constructing its augmented acceleration vector X ¨ * using a PD servo system yields
X ¨ * = X ¨ d + K d e ˙ + K p e
where e = X d X , K d > 0 is the derivative gain, and K p > 0 is the proportional gain. Substituting X ¨ * from Eq. (66) for X ¨ in Eq. (65) gives
u * = G 1 ( X ) [ X ¨ d + K d e ˙ + K p e F ( X ˙ ) D ( X ) d ]
Substituting this u * into the original plant equation (63) yields
e ¨ + K d e ˙ + K p e = 0
Here, we set K p = diag ( K p 1 , . . . , K p 6 ) and K d = diag ( K d 1 , . . . , K d 6 ) . For application to actual vehicles, considering modeling errors, the condition K d i = 2 K p i , which ideally achieves a damping ratio of 1 (i.e., critical damping), is used as a base, but the damping condition for this error may need slight modification. In the simulations, the proportional gains for translational position and attitude angles are defined as K p = diag ( [ K p x , K p y , K p z , K p ϕ , K p θ , K p ψ ) , and the derivative gains as K d = diag ( [ K d x , K d y , K d z , K d ϕ , K d θ , K d ψ ) , with the following settings:
K p x = K p y = 3.0 ; K p z = 5 ; K p ϕ = K p θ = K p ψ = 2.0 K d x = K d y = 3.46 ; K d z = 5 ; K d ϕ = K d θ = K d ψ = 2.83

5.2. Control Input Allocation Problem

Appropriate rotor speeds and tilt angles are allocated to each coaxial rotor to achieve the generalized force in the body coordinate system, determined earlier by the computed torque method. A single coaxial rotor constructed in this study utilizes two brushless motors. The thrust of coaxial rotor 1 is T 1 = k f ( ω ¯ 1 2 + ω ¯ 2 2 ) , and that of coaxial rotor 2 is T 2 = k f ( ω ¯ 3 2 + ω ¯ 4 2 ) . The reaction torque for the first rotor is τ c , 1 = k t ( ω ¯ 2 2 ω ¯ 1 2 ) , and for the second rotor is τ c , 2 = k t ( ω ¯ 3 2 ω ¯ 4 2 ) . However, directly solving for the rotation speeds ω ¯ 1 2 ω ¯ 4 2 and tilt angles α i , β i , ( i = 1 , 2 ) results in an underdetermined problem: 6 generalized forces versus 8 unknown decision variables. This would yield an effectiveness matrix of size 6 × 8 , requiring solution via pseudo-inverse or numerical optimization such as constrained QP. Below, we present a simpler method based on experimental results for coaxial rotor thrust.
Referring to the experimental results on coaxial rotors by Itakura et al. [26], for a total thrust of T t o t a l = 10.6 N of the coaxial rotor, the thrust of the upstream propeller alone was T u p s t r e a m = 7.3 N, and that of the downstream propeller alone was T d o w n s t r e a m = 8.0 N. Therefore, the thrust efficiency is
η t h r u s t = T t o t a l T u p s t r e a m + T d o w n s t r e a m = 10.6 7.3 + 8.0 = 0.693 .
This serves as an indicator of deviation from theoretical ideal conditions. On the other hand, the interference efficiency, which is the increase rate of total thrust relative to the upstream propeller’s thrust, is
η i f = T t o t a l T u p s t r e a m 1 = 10.6 7.3 1 = 0.452 .
Introducing this interference efficiency allows substitution of ω ¯ 2 2 with η i f ω ¯ 1 2 and ω ¯ 4 2 with η i f ω ¯ 3 2 , thereby eliminating ω ¯ 2 2 and ω ¯ 4 2 from the unknown variables.
With this interference efficiency, the reaction torque τ c from Eq. (54) becomes
τ c = ( η i f 1 ) k t C α 1 S β 1 ω ¯ 1 2 C α 2 S β 2 ω ¯ 3 2 S α 1 ω ¯ 1 2 + S α 2 ω ¯ 3 2 C α 1 C β 1 ω ¯ 1 2 C α 2 C β 2 ω ¯ 3 2 .
Meanwhile, the rotational torque due to thrust τ B from Eq. (52) becomes
τ B = ( η i f + 1 ) k f ( l C α 1 C β 1 + h o S α 1 ) ω ¯ 1 2 ( l C α 2 C β 2 h o S α 2 ) ω ¯ 3 2 h o C α 1 S β 1 ω ¯ 1 2 + h o C α 2 S β 2 ω ¯ 3 2 l C α 1 S β 1 ω ¯ 1 2 + l C α 2 S β 2 ω ¯ 3 2 .
Similarly, the thrust T B from Eq. (60) is rewritten as
T B = ( η i f + 1 ) k f C α 1 S β 1 ω ¯ 1 2 C α 2 S β 2 ω ¯ 3 2 S α 1 ω ¯ 1 2 + S α 2 ω ¯ 3 2 C α 1 C β 1 ω ¯ 1 2 C α 2 C β 2 ω ¯ 3 2 .
Therefore, by introducing an intermediate 6-dimensional vector n = [ n 1 a n 1 b n 1 c n 2 a n 2 b n 2 c ] T , defining Ω 1 ω ¯ 1 2 , Ω 2 ω ¯ 3 2 , and for i = 1 , 2 ,
n i a = Ω i C α i S β i n i b = Ω i S α i n i c = Ω i C α i C β i ,
the relation [ T B T ( τ B + τ c ) T ] T finally reduces to a linear equation:
T B τ B + τ c = A n ( Ω i , α i , β i ) .
Here, the effectiveness matrix A is
A = ( 1 + η i f ) k f 0 0 ( 1 + η i f ) k f 0 0 0 ( 1 + η i f ) k f 0 0 ( 1 + η i f ) k f 0 0 0 ( η i f + 1 ) k f 0 0 ( 1 + η i f ) k f ( η i f 1 ) k t ( 1 + η i f ) h o k f ( 1 + η i f ) l k f ( 1 η i f ) k t ( 1 + η i f ) h o k t ( 1 + η i f ) l k f ( 1 + η i f ) h o k f ( 1 η i f ) k t 0 ( 1 + η i f ) h o k f ( η i f 1 ) k t 0 ( 1 + η i f ) l k f 0 ( η i f 1 ) k t ( 1 + η i f ) k f 0 ( 1 η i f ) k t .
To generate control inputs for the actual vehicle, the intermediate variable vector n is obtained using A 1 , and then the squared rotation speeds Ω 1 = ω ¯ 1 2 , Ω 2 = ω ¯ 3 2 and tilt angles ( α 1 , β 1 ) , ( α 2 , β 2 ) for each rotor are generated via the following relations:
Ω i = n i a 2 + n i b 2 + n i c 2 α i = arcsin ( n i b / Ω i ) β i = arctan ( n i a / n i c )
Figure 2 illustrates the sequential calculation flow for this control allocation problem.

6. Preliminary Simulation: Application to the Falling Body Model

This section describes state estimation for the falling body model [21] as a preliminary experiment. The falling body model, often used as a nonlinear model, was also employed as a simulation model by Takeno and Katayama [9]. The aim here is to compare with previous research by performing state estimation under similar conditions. Since the RK method by Takeno and Katayama is a 4th-order discretization method, this section discusses the 4th-order AB method for comparison.

6.1. Model Overview

The differential equations for the falling body model are as follows [21].
x ˙ 1 = x 2
x ˙ 2 = ρ 0 e x 1 / k ρ x 2 2 2 β g
Here, x 1 : altitude of the falling object, g: gravitational acceleration, ρ 0 : atmospheric density at sea level 0 m, k ρ : decay coefficient, β : ballistic coefficient.
Defining the extended state vector as
x = x 1 x 2 β = x 1 x 2 x 3 ( 3 - dimensional state vector )
and letting f = [ f 1 f 2 f 3 ] T , the state-space model becomes
d x 1 d t f 1 = x 2
d x 2 d t f 2 = ρ 0 2 x 3 e x 1 / k ρ x 2 2 g
d x 3 d t f 3 = 0
The observation equation is assumed to be nonlinear as shown below:
y = M 1 2 + ( x 1 M 2 ) 2 + v
Here, M 1 is the horizontal distance between the falling object and the radar, M 2 is the radar height. Also, v is observation noise, which is Gaussian white noise with mean 0 and variance R.

6.2. Estimation Algorithms

We present the time-update equations for the sigma point matrix X when applying UKF with the Euler, RK, and AB methods. Hereafter, the UKF using the Euler method is called "Euler-UKF", that using the RK method "RK-UKF", and that using the AB method "AB-UKF".

6.2.1. Euler-UKF

Applying the Euler method to Eqs. (80)–(82) yields the following sigma point time-update equations:
X 1 , j , k + 1 = X 1 , j , k + h X 2 , j , k
X 2 , j , k + 1 = X 2 , j , k + h ρ 0 2 X 3 , j , k e X 1 , j , k / k ρ X 2 , j , k 2 g
X 3 , j , k + 1 = X 3 , j , k
Then, for the time-updated sigma points from Eqs. (84)–(86), the predicted state estimate is obtained by taking the weighted average via Eq. (9), and its covariance matrix via Eq. (10). The observation update proceeds similarly.

6.2.2. RK-UKF

Applying the RK method to Eqs. (80)–(82) and defining
c 1 = X 2 , j , k
q 1 = ρ 0 2 X 3 , j , k e X 1 , j , k / k ρ X 2 , j , k 2 g
c 2 = X 2 , j , k + h 2 q 1
q 2 = ρ 0 2 X 3 , j , k e ( X 1 , j , k + h c 1 / 2 ) / k ρ ( X 2 , j , k + h 2 q 1 ) 2 g
c 3 = X 2 , j , k + h 2 q 2
q 3 = ρ 0 2 X 3 , j , k e ( X 1 , j , k + h c 2 / 2 ) / k ρ ( X 2 , j , k + h 2 q 2 ) 2 g
c 4 = X 2 , j , k + h q 3
q 4 = ρ 0 2 X 3 , j , k e ( X 1 , j , k + h c 3 / 2 ) / k ρ ( X 2 , j , k + h 2 q 3 ) 2 g
yields the sigma point time-update equations as follows [9]:
X 1 , j , k + 1 = X 1 , j , k + h 6 ( c 1 + 2 c 2 + 2 c 3 + c 4 )
X 2 , j , k + 1 = X 2 , j , k + h 6 ( q 1 + 2 q 2 + 2 q 3 + q 4 )
X 3 , j , k + 1 = X 3 , j , k ( j = 1 , , 7 )
Similar to the Euler method, the predicted state estimate and its covariance matrix are obtained from the time-updated sigma points in Eqs. (95)–(97) via Eqs. (9) and (10). The observation update proceeds similarly.

6.2.3. AB-UKF

Combining Eqs. (80)–(82), we redefine the nonlinear dynamics f c ( x ) of the continuous-time state equation as
d d t x 1 x 2 x 3 = f 1 f 2 f 3 = x 2 ρ 0 2 x 3 e x 1 / k ρ x 2 2 g 0 f c ( x ) .
Then, the sigma point matrix X k at time k and the matrix F c ( X k ) obtained by substituting X k into f c ( x ) are represented by the following 3 × 7 matrices:
X k = X 1 , 1 , k X 1 , 7 , k X 2 , 1 , k X 2 , 7 , k X 3 , 1 , k X 3 , 7 , k
F c ( X k ) = f 1 ( X 1 , 1 , k ) f 1 ( X 1 , 7 , k ) f 2 ( X 2 , 1 , k ) f 2 ( X 2 , 7 , k ) f 3 ( X 3 , 1 , k ) f 3 ( X 3 , 7 , k ) = X 2 , 1 , k X 2 , 7 , k ρ 0 2 X 3 , 1 , k e X 1 , 1 , k / k ρ X 2 , 1 , k 2 g ρ 0 2 X 3 , 7 , k e X 1 , 7 , k / k ρ X 2 , 7 , k 2 g 0 0 .
To distinguish this F c ( X k ) specific to the falling body model from the general one in Eq. (26), we redefine the above as F c f b ( X k ) : = F c ( X k ) . Then, the 4th-order AB method yields the sigma point update equation:
X k + 1 = X k + h 24 ( 55 F c f b ( X k ) 59 F c f b ( X k 1 )
where the superscript f b denotes the falling body model.

6.3. Estimation Conditions

State estimation simulations are performed using the three methods described above. Physical parameters are: g = 9.8 [ m/s 2 ], ρ 0 = 2.202 [ kg·s 2 /m 4 ], k ρ =1000/0.1558 [m]. The true ballistic coefficient is β = 2000 [ kg/m 2 ]. The horizontal distance between the falling object and radar is M 1 = 10000 [m], and the radar height is M 2 = 0 [m]. The step size is h = 0.1 [s], total number of sampling points N = 300 , UT parameter λ = 2.0 . The initial state vector, system noise covariance, and observation noise covariance are set as
x 1 ( 0 ) x 2 ( 0 ) x 3 ( 0 ) = 40000 m 3000 m / s 2000 kg / m 2
Q = diag ( 0 , 0 , 10 kg 2 / m 4 )
R = 3600 m 2
The initial state estimate and its covariance matrix are
x ^ ( 0 | 0 ) = 42000 m 3100 m / s 3000 kg / m 2
P ( 0 | 0 ) = diag ( 10000 m 2 , 10000 m 2 / s 2 , 10000 kg 2 / m 4 )
as used in [9].

6.4. Simulation Results

6.4.1. State Estimation Accuracy

Figure 3 (a) shows the estimation results for the ballistic coefficient β , and (b) shows the time evolution of the state estimation error calculated using the root mean squared error (RMSE) formula,
E ( t k ) = i = 1 2 ( x i ( t k ) x ^ i ( t k | t k ) ) 2 ,
for the three methods: Euler-UKF, RK-UKF, and AB-UKF. The results are averages from 100 simulation runs for each method.
Figure 3(a) shows that the parameter β converges well for all three methods: Euler-UKF, RK-UKF, and AB-UKF. On the other hand, Figure 3(b) indicates that after the parameter β converges as shown in Figure 3(a), the state estimation error is suppressed more effectively in the order of Euler-UKF, RK-UKF, and AB-UKF. Table 1 presents the average RMSE values of the state estimation error from 100 simulation runs for each of the three methods. These computations were performed on a laptop with 16 GB RAM, an AMD Ryzen7 4800H with Radeon Graphics CPU, under Windows 10, using MATLAB 2022a.
As seen in Table 1, the Euler method has the largest RMSE, while the RK and AB methods are smaller than Euler’s. This result is attributed to the difference in discretization order: Euler method is 1st-order accurate, while RK and AB methods are 4th-order accurate.

6.4.2. Computation Time

To more clearly demonstrate the differences between methods, the estimation conditions from Section 6.3 were modified: h = 0.01 and total sampling points N = 5000 . Table 2 shows the comparison results for the total UKF algorithm computation time (from Eq. (3) to Eq. (19)) and the prediction-only computation time (Eq. (8)).
Table 2 shows that computation time is shortest for the Euler method, followed by the AB method, then the RK method. The prediction time for Euler’s method is particularly short, a result stemming from the difference in discretization order.

6.5. Discussion

The results shown in Section 6.4 can be attributed to the following two potential issues.
1. The falling body model has a small number of state variables.
This is considered the most significant issue. Although the AB method was applied to the falling body model for comparison with prior work, this model has only three state variables, and x 3 represents a parameter estimation problem. Consequently, as evident from the sigma point time-update equations, the discretization formulas were actually applied only to state variables x 1 and x 2 , making it a model where differences between the RK and AB methods are less likely to manifest.
2. The UT occupies a small portion of the overall UKF algorithm.
This issue varies with each model, but for this falling body model, the following can be stated. As mentioned, the falling body model had relatively few state variables and simple discretization equations, making it a problem where computational load differences are less pronounced. Therefore, within the overall UKF estimation algorithm, the time spent on UT for this model constituted a small proportion, resulting in less noticeable differences in computation time due to the discretization method.
Considering the above two points, Section 7 addresses a state estimation problem for a UAV model, which is higher-dimensional than the falling body model.

7. Application to the Osprey-Type Drone

7.1. Model Overview

The UAV vehicle conditions are based on the Osprey-type drone with 2-DOF tiltable coaxial rotors by Itakura et al. [26]. The vehicle’s general appearance and the derivation of its dynamic model have already been detailed in Section 4.
The vehicle’s position in the world coordinate system, ξ = [ x y z ] T , follows the translational motion equation expressed by Eq. (61) or Eq. (62).
On the other hand, the vehicle’s angular acceleration ω ˙ B = [ p ˙ q ˙ r ˙ ] T is given by Eq. (57) or Eq. (58). Assuming the Euler angle variations are relatively small, i.e., W η I , then p ϕ ˙ , q θ ˙ , r ψ ˙ . Therefore, Eq. (58) can be rewritten as:
ϕ ¨ θ ¨ ψ ¨ = 1 I B x x ( τ x B + τ x c ) + θ ˙ ψ ˙ I B y y I B z z I B x x 1 I B y y ( τ y B + τ y c ) + ϕ ˙ ψ ˙ I B z z I B x x I B y y 1 I B z z ( τ z B + τ z c ) + ϕ ˙ θ ˙ I B x x I B y y I B z z
Now, defining a 12-dimensional state vector as x = [ x x ˙ y y ˙ z z ˙ ϕ ϕ ˙ θ θ ˙ ψ ψ ˙ ] T = [ x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 ] T , the continuous-time state equation for the UAV model can be derived from Eqs. (62) and (108) as follows:
d d t x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 = x 2 A 1 ( x ) T x + A 2 ( x ) T y + A 3 ( x ) T z x 4 A 4 ( x ) T x + A 5 ( x ) T y + A 6 ( x ) T z x 6 A 7 ( x ) T x + A 8 ( x ) T y + A 9 ( x ) T z + g x 8 1 I B x x ( τ x B + τ x c ) + x 10 x 12 I B y y I B z z I B x x x 10 1 I B y y ( τ y B + τ y c ) + x 8 x 12 I B z z I B x x I B y y x 12 1 I B z z ( τ z B + τ z c ) + x 8 x 10 I B x x I B y y I B z z
Here, A 1 ( x ) , A 2 ( x ) , , A 9 ( x ) in Eq. (109) are defined as follows:
A 1 ( x ) = C x 9 C x 11 / m A 2 ( x ) = ( S x 7 S x 9 C x 11 C x 7 S x 11 ) / m A 3 ( x ) = ( C x 7 S x 9 C x 11 + S x 7 S x 11 ) / m A 4 ( x ) = C x 9 S x 11 / m A 5 ( x ) = ( S x 7 S x 9 S x 11 + C x 7 C x 11 ) / m A 6 ( x ) = ( C x 7 S x 9 C x 11 S x 7 C x 11 ) / m A 7 ( x ) = S x 9 / m A 8 ( x ) = S x 7 C x 9 / m A 9 ( x ) = C x 7 C x 9 / m

7.2. Estimation Algorithms

Section 7.2.1 to Section 7.2.3 present the time-update equations for sigma points when applying the Euler method, RK method, and AB method, respectively, to the UT within the UAV model, similar to the falling body model.

7.2.1. Euler-Type UKF

Applying the Euler method to Eq. (109) yields the following discrete-time state equation:
x 1 , k + 1 x 2 , k + 1 x 11 , k + 1 x 12 , k + 1 T = x 1 + h x 2 x 2 + h A 1 ( x ) T x + A 2 ( x ) T y + A 3 ( x ) T z x 3 + h x 4 x 4 + h A 4 ( x ) T x + A 5 ( x ) T y + A 6 ( x ) T z x 5 + h x 6 x 6 + h A 7 ( x ) T x + A 8 ( x ) T y + A 9 ( x ) T z + g x 7 + h x 8 x 8 + h 1 I B x x ( τ x B + τ x c ) + x 10 x 12 I B y y I B z z I B x x x 9 + h x 10 x 10 + h 1 I B y y ( τ y B + τ y c ) + x 8 x 12 I B z z I B x x I B y y x 11 + h x 12 x 12 + h 1 I B z z ( τ z B + τ z c ) + x 8 x 10 I B x x I B y y I B z z
Therefore, by substituting X k into Eq. (111), the time-update equation for the sigma points is derived as:
X 1 , j , k + 1 = X 1 , j , k + h X 2 , j , k
X 2 , j , k + 1 = X 2 , j , k + h A 1 ( X ( 9 , 11 ) , j , k ) T x + A 2 ( X ( 7 , 9 , 11 ) , j , k ) T y + A 3 ( X ( 7 , 9 , 11 ) , j , k ) T z
X 3 , j , k + 1 = X 3 , j , k + h X 4 , j , k
X 4 , j , k + 1 = X 4 , j , k + h A 4 ( X ( 9 , 11 ) , j , k ) T x + A 5 ( X ( 7 , 9 , 11 ) , j , k ) T y + A 6 ( X ( 7 , 9 , 11 ) , j , k ) T z
X 5 , j , k + 1 = X 5 , j , k + h X 6 , j , k
X 6 , j , k + 1 = X 6 , j , k + h A 7 ( X 9 , j , k ) T x + A 8 ( X ( 7 , 9 ) , j , k ) T y + A 9 ( X ( 7 , 9 ) , j , k ) T z + g
X 7 , j , k + 1 = X 7 , j , k + h X 8 , j , k
X 8 , j , k + 1 = X 8 , j , k + h 1 I B x x ( τ x B + τ x c ) + X 10 , j , k X 12 , j , k I B y y I B z z I B x x
X 9 , j , k + 1 = X 9 , j , k + h X 10 , j , k
X 10 , j , k + 1 = X 10 , j , k + h 1 I B y y ( τ y B + τ y c ) + X 8 , j , k X 12 , j , k I B z z I B x x I B y y
X 11 , j , k + 1 = X 11 , j , k + h X 12 , j , k
X 12 , j , k + 1 = X 12 , j , k + h 1 I B z z ( τ z B + τ z c ) + X 8 , j , k X 10 , j , k I B x x I B y y I B z z

7.2.2. RK-Type UKF

First, regarding Eq. (109), define f c = [ f 1 ( x ) f 2 ( x ) f 12 ( x ) ] T . Then, define the derivatives a 1 ( x ) a 4 ( x ) ,…, l 1 ( x ) l 4 ( x ) for each state variable as follows. Note that some equations are omitted due to their considerable number.
a 1 ( x ) = f 1 ( x 2 )
a 2 ( x ) = f 1 ( x 2 + b 1 2 )
a 3 ( x ) = f 1 ( x 2 + b 2 2 )
a 4 ( x ) = f 1 ( x 2 + b 3 )
l 1 ( x ) = f 12 ( x 8 , x 10 )
l 2 ( x ) = f 12 ( x 8 + h 1 2 , x 10 + j 1 2 )
l 3 ( x ) = f 12 ( x 8 + h 2 2 , x 10 + j 2 2 )
l 4 ( x ) = f 12 ( x 8 + h 3 , x 10 + j 3 )
Thus, applying the RK method to Eq. (109) yields the discrete-time state equation using a 1 ( x ) a 4 ( x ) , …, l 1 ( x ) l 4 ( x ) :
x 1 , k + 1 x 2 , k + 1 x 11 , k + 1 x 12 , k + 1 T = x 1 , k + h 6 a 1 ( x ) + 2 a 2 ( x ) + 2 a 3 ( x ) + a 4 ( x ) x 2 , k + h 6 b 1 ( x ) + 2 b 2 ( x ) + 2 b 3 ( x ) + b 4 ( x ) x 3 , k + h 6 c 1 ( x ) + 2 c 2 ( x ) + 2 c 3 ( x ) + c 4 ( x ) x 4 , k + h 6 d 1 ( x ) + 2 d 2 ( x ) + 2 d 3 ( x ) + d 4 ( x ) x 5 , k + h 6 e 1 ( x ) + 2 e 2 ( x ) + 2 e 3 ( x ) + e 4 ( x ) x 6 , k + h 6 f 1 ( x ) + 2 f 2 ( x ) + 2 f 3 ( x ) + f 4 ( x ) x 7 , k + h 6 g 1 ( x ) + 2 g 2 ( x ) + 2 g 3 ( x ) + g 4 ( x ) x 8 , k + h 6 h 1 ( x ) + 2 h 2 ( x ) + 2 h 3 ( x ) + h 4 ( x ) x 9 , k + h 6 i 1 ( x ) + 2 i 2 ( x ) + 2 i 3 ( x ) + i 4 ( x ) x 10 , k + h 6 j 1 ( x ) + 2 j 2 ( x ) + 2 j 3 ( x ) + j 4 ( x ) x 11 , k + h 6 k 1 ( x ) + 2 k 2 ( x ) + 2 k 3 ( x ) + k 4 ( x ) x 12 , k + h 6 l 1 ( x ) + 2 l 2 ( x ) + 2 l 3 ( x ) + l 4 ( x )
Therefore, by substituting X k into Eq. (111), the time-update equation for the sigma points is derived as:
X 1 , j , k + 1 = X 1 , j , k + h 6 a 1 ( X 2 , j , k ) + 2 a 2 ( X 2 , j , k ) + 2 a 3 ( X 2 , j , k ) + a 4 ( X 2 , j , k )
X 2 , j , k + 1 = X 2 , j , k + h 6 b 1 ( X ( 7 , 9 , 11 ) , j , k ) + 2 b 2 ( X ( 7 , 9 , 11 ) , j , k ) + 2 b 3 ( X ( 7 , 9 , 11 ) , j , k ) + b 4 ( X ( 7 , 9 , 11 ) , j , k )
X 3 , j , k + 1 = X 3 , j , k + h 6 c 1 ( X 4 , j , k ) + 2 c 2 ( X 4 , j , k ) + 2 c 3 ( X 4 , j , k ) + c 4 ( X 2 , j , k )
X 4 , j , k + 1 = X 4 , j , k + h 6 d 1 ( X ( 7 , 9 , 11 ) , j , k ) + 2 d 2 ( X ( 7 , 9 , 11 ) , j , k ) + 2 d 3 ( X ( 7 , 9 , 11 ) , j , k ) + d 4 ( X ( 7 , 9 , 11 ) , j , k )
X 5 , j , k + 1 = X 5 , j , k + h 6 e 1 ( X 6 , j , k ) + 2 e 2 ( X 6 , j , k ) + 2 e 3 ( X 6 , j , k ) + e 4 ( X 6 , j , k )
X 6 , j , k + 1 = X 6 , j , k + h 6 f 1 ( X ( 7 , 9 , 11 ) , j , k ) + 2 f 2 ( X ( 7 , 9 , 11 ) , j , k ) + 2 f 3 ( X ( 7 , 9 , 11 ) , j , k ) + f 4 ( X ( 7 , 9 , 11 ) , j , k )
X 7 , j , k + 1 = X 7 , j , k + h 6 g 1 ( X 8 , j , k ) + 2 g 2 ( X 8 , j , k ) + 2 g 3 ( X 8 , j , k ) + g 4 ( X 8 , j , k )
X 8 , j , k + 1 = X 8 , j , k + h 6 l 1 ( X ( 10 , 12 ) , j , k ) + 2 l 2 ( X ( 10 , 12 ) , j , k ) + 2 l 3 ( X ( 10 , 12 ) , j , k ) + l 4 ( X ( 10 , 12 ) , j , k )
X 9 , j , k + 1 = X 9 , j , k + h 6 i 1 ( X 10 , j , k ) + 2 i 2 ( X 10 , j , k ) + 2 i 3 ( X 10 , j , k ) + i 4 ( X 10 , j , k )
X 10 , j , k + 1 = X 10 , j , k + h 6 j 1 ( X ( 8 , 12 ) , j , k ) + 2 j 2 ( X ( 8 , 12 ) , j , k ) + 2 j 3 ( X ( 8 , 12 ) , j , k ) + j 4 ( X ( 8 , 12 ) , j , k )
X 11 , j , k + 1 = X 11 , j , k + h 6 k 1 ( X 12 , j , k ) + 2 k 2 ( X 12 , j , k ) + 2 k 3 ( X 12 , j , k ) + k 4 ( X 12 , j , k )
X 12 , j , k + 1 = X 12 , j , k + h 6 l 1 ( X ( 8 , 10 ) , j , k ) + 2 l 2 ( X ( 8 , 10 ) , j , k ) + 2 l 3 ( X ( 8 , 10 ) , j , k ) + l 4 ( X ( 8 , 10 ) , j , k )
The derivatives are as follows (similarly, some are omitted):
a 1 ( X 2 , j , k ) = f 1 ( X 2 , j , k )
a 2 ( X 2 , j , k ) = f 1 ( X 2 , j , k + b 1 2 )
a 3 ( X 2 , j , k ) = f 1 ( X 2 , j , k + b 2 2 )
a 4 ( X 2 , j , k ) = f 1 ( X 2 , j , k + b 3 )
l 1 ( X ( 8 , 10 ) , j , k ) = f 12 ( X 8 , j , k , X 10 , j , k , )
l 2 ( X ( 8 , 10 ) , j , k ) = f 12 ( X 8 , j , k , + h 1 2 , X 10 , j , k + j 1 2 ) ,
l 3 ( X ( 8 , 10 ) , j , k ) = f 12 ( X 8 , j , k , + h 2 2 , X 10 , j , k + j 2 2 ) ,
l 4 ( X ( 8 , 10 ) , j , k ) = f 12 ( X 8 , j , k , + h 3 , X 10 , j , k + j 3 )

7.2.3. AB-Type UKF

First, the sigma point matrix X k at time k and the matrix F c ( X k ) obtained by substituting X k into Eq. (109) are represented by the following 12 × 25 matrix.
X k = X 1 , 1 , k X 1 , 25 , k X 12 , 1 , k X 12 , 25 , k
F c ( X k ) = f 1 ( X 1 , 1 , k ) f 1 ( X 1 , 25 , k ) f 12 ( X 12 , 1 , k ) f 12 ( X 12 , 25 , k )
Here, similar to Eq. (100), to distinguish this from the general F c ( X k ) in Eq. (26), we redefine the above as F c U ( X k ) : = F c ( X k ) . Then, the sigma point update equations using the 2nd to 6th-order AB methods for the UAV model are expressed as follows.
  • Sigma point update equation using the 2nd-order Adams-Bashforth method:
    X k + 1 = X k + h 2 3 F c U ( X k ) F c U ( X k 1 )
  • Sigma point update equation using the 3rd-order Adams-Bashforth method:
    X k + 1 = X k + h 12 23 F c U ( X k ) 16 F c U ( X k 1 ) + 5 F c U ( X k 2 )
  • Sigma point update equation using the 4th-order Adams-Bashforth method:
    X k + 1 = X k + h 24 55 F c U ( X k ) 59 F c U ( X k 1 ) + 37 F c U ( X k 2 ) 9 F c U ( X k 3 )
  • Sigma point update equation using the 5th-order Adams-Bashforth method:
    X k + 1 = X k + h 720 1901 F c U ( X k ) 2774 F c U ( X k 1 ) + 2616 F c U ( X k 2 ) 1274 F c U ( X k 3 ) + 251 F c U ( X k 4 )
  • Sigma point update equation using the 6th-order Adams-Bashforth method:
    X k + 1 = X k + h 1440 ( 4277 F c U ( X k ) 7923 F c U ( X k 1 ) + 9982 F c U ( X k 2 ) 7298 F c U ( X k 3 ) + 2877 F c U ( X k 4 ) 475 F c U ( X k 5 ) )
Here, the superscript U denotes the UAV model.

7.3. Description of Estimation Conditions

This section describes the UAV’s physical parameters and the covariance of system and observation noise used in the estimation simulation, based on the UAV model and each estimation algorithm presented in Section 7.1 and Section 7.2.

7.3.1. Parameter Settings for the UAV Model

Similar to the falling body model, state estimation simulations are performed using the three methods described above. First, Table 3 summarizes the definitions and values of each parameter.
All initial states are set to x ( 0 ) = [ 0 . . . 0 ] T , and the initial estimation information is set to x ^ ( 0 | 0 ) = [ 0 . . . 0 ] T and P ( 0 | 0 ) = diag ( 1 , . . . , 1 ) .

7.3.2. Determination of System Noise

In this simulation experiment, the system noise is set based on the global truncation error arising from discretization by the Euler, RK, and AB methods. When the step size is denoted by h, the global truncation error for the Euler method is proportional to h 1 , and for the RK and 4th-order AB methods, it is proportional to h 4 . Therefore, letting the variance values of the respective system noises be Q E u l e r and Q R K , A B 4 , they can be expressed as:
Q E u l e r = h × I 12 × 12
Q R K , A B 4 = h 4 × I 12 × 12
Thus, for comparison purposes in this simulation experiment, the value Q is set as follows:
Q = h 5 / 2 × I 12 × 12
Here, 5 / 2 in the above equation signifies taking an intermediate order of magnitude between Q E u l e r and Q R K , A B 4 .

7.3.3. Determination of Observation Noise

Typically, UAVs are equipped with GPS sensors for position observation and gyro sensors for attitude observation. Determining a precise noise value for GPS sensor error is difficult due to various influencing factors; thus, for simplicity, the noise value is set to 2 m here. For the gyro sensor, we assume the use of the MPU-9250, a 9-axis sensor module from InvenSense.
The MPU-9250 datasheet states a gyro sensor noise value of 0.01 [deg/ Hz ]. Using this noise value and the step size h [s], the observation noise variance R 1 [ rad 2 ] for attitude angles ϕ , θ , ψ and R 2 [ rad 2 /s 2 ] for attitude angular velocities ϕ ˙ , θ ˙ , ψ ˙ are determined.
First, convert the dimension 0.01 [deg/ Hz ] to [rad/ Hz ].
1.0 × 10 2 π 180 [ rad / Hz ]
Squaring the value obtained in Eq. (163) yields:
1.0 × 10 4 π 180 2 [ rad 2 / Hz ]
Here, the dimension [Hz] can also be expressed as [1/s]; thus, the dimension [ rad 2 /Hz] can also be expressed as [rad · 2 s]. Therefore, the observation noise variance R 1 [ rad 2 ] for attitude angles ϕ , θ , ψ is obtained by dividing Eq. (164) by h [s]:
R 1 = 1.0 × 10 4 π 180 2 / h [ rad 2 ]
Then, the observation noise variance R 2 [ rad 2 /s 2 ] for attitude angular velocities ϕ ˙ , θ ˙ , ψ ˙ is obtained by dividing Eq. (165) by h 2 [s]:
R 2 = 1.0 × 10 4 π 180 2 / h 3 [ rad 2 / s 2 ]
Consequently, the observation equation is
y ( t k ) = H x ( t k ) + v ( t k )
H = H p o s 0 0 I 6 × 6
where H p o s is the observation matrix for position ( x , y , z ) :
H p o s = 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0
and the covariance R of the observation noise v ( t k ) is represented by the following diagonal matrix:
R = diag ( 2 2 2 R 1 R 2 R 1 R 2 R 1 R 2 ) .

7.4. Target Trajectory

The simulation starts from the initial position [ x y z ] = [ 0 0 0 ] T and initial attitude angles [ ϕ θ ψ ] = [ 0 0 0 ] T . First, over 10 s from the start time, the vehicle moves to the target position [ x d y d z d ] = [ 0 0 1 ] T , while all target attitude angles remain zero. Subsequently, from 10 s to 70 s, the vehicle is commanded to follow the target position, velocity, and acceleration given below [27].
Target position X d :
X d = x d ( t ) y d ( t ) z d ( t ) ϕ d ( t ) θ d ( t ) ψ d ( t ) T = sin ( π 10 · ( t 10 ) ) cos ( π 4 ) 1 + cos ( π 10 · ( t 10 ) ) 1 + sin ( π 4 ) 1 + cos ( π 10 · ( t 10 ) ) π 4 · sin ( π 40 · ( t 10 ) ) π 4 · sin ( π 40 · ( t 10 ) ) 0
Target velocity X ˙ d :
X ˙ d = x ˙ d ( t ) y ˙ d ( t ) z ˙ d ( t ) ϕ ˙ d ( t ) θ ˙ d ( t ) ψ ˙ d ( t ) = π 10 cos ( π 10 · ( t 10 ) ) π 10 cos ( π 4 ) sin ( π 10 · ( t 10 ) ) π 10 sin ( π 4 ) sin ( π 10 · ( t 10 ) ) π 2 160 · cos ( π 40 · ( t 10 ) ) π 2 160 · cos ( π 40 · ( t 10 ) ) 0
Target acceleration X ¨ d :
X ¨ d = x ¨ d ( t ) y ¨ d ( t ) z ¨ d ( t ) ϕ ¨ d ( t ) θ ¨ d ( t ) ψ ¨ d ( t ) = π 2 100 sin ( π 10 · ( t 10 ) ) π 2 100 cos ( π 4 ) cos ( π 10 · ( t 10 ) ) π 2 100 sin ( π 4 ) cos ( π 10 · ( t 10 ) ) π 3 6400 · sin ( π 40 · ( t 10 ) ) π 3 6400 · sin ( π 40 · ( t 10 ) ) 0
This target trajectory is a circular path with a radius of 1 m and center ( x , y ) = ( 0 , 1 ) in the x y -plane, rotated 45 deg about the x-axis, and translated 1 m along the z-axis. Since this vehicle is left-right symmetric, independent control in three degrees of freedom (x, y, z directions) can be verified by following this circular path. The vehicle follows this trajectory with a period of 20 s per revolution, while the target roll angle changes every revolution: from 0 deg to 45 deg, 45 deg to 0 deg, and 0 deg to 45 deg. The target pitch angle changes every revolution: from 0 deg to 45 deg, 45 deg to 0 deg, and 0 deg to 45 deg. The target yaw angle is always 0 deg. Following this trajectory verifies the possibility of independent control in all six degrees of freedom.

7.5. Description of Comparative Experiments

This comparative experiment focuses on two aspects of the UKF based on each discretization method: “estimation accuracy” and “computational efficiency.” Details of the comparison methods are described below. Comparisons are performed in two patterns: “comparison of three methods: Euler, RK, and 4th-order AB” and “comparison of 2nd to 6th-order AB methods.” The results of this comparative experiment are averages from 50 Monte Carlo simulations.

7.5.1. Estimation Accuracy Comparison Experiment

The estimation accuracy comparison is performed by calculating the RMSE values between the estimates from each discretization-based UKF and the true values.
The RMSE value at estimation time k ( k = 1 , , N ) is calculated using the following equations. Here, N is the total number of sampling points, determined from the simulation time of 70 s and the discretization (i.e., sampling) period h [s] as N = 70 / h . For example, if h = 0.01 [s], then N = 7000 .
M S E x ( k ) = 1 k i = 1 k x ( t i ) x ^ ( t i | t i ) 2
R M S E x ( k ) = M S E x ( k )
Here, x ( t i ) and x ^ ( t i | t i ) represent the true value and the estimate of position x at time i, respectively. Equations (174) and (175) are similarly applied to other variables: positions y , z , velocities x ˙ , y ˙ , z ˙ , attitude angles ϕ , θ , ψ , and attitude angular velocities ϕ ˙ , θ ˙ , ψ ˙ .
Furthermore, when comparing estimation accuracy under different discretization periods ( h = 0.01 , 0.02 , , 0.1 ), the sum of the individual RMSE values R M S E x ( N ) , R M S E y ( N ) , , R M S E ψ ˙ ( N ) for the 12 state variables at the final discrete time k = N is denoted as R M S E ( N ) , and this value is used for comparison.
Here, we discuss the theoretical meaning of R M S E ( N ) . In the UAV model, when the a priori error covariance matrix P ( t k | t k ) at time t k is expressed as
P ( t k | t k ) = p 1 , 1 p 1 , 2 p 1 , 12 p 2 , 1 p 2 , 2 p 2 , 12 p 12 , 1 p 12 , 2 p 12 , 12 ,
the trace of this error covariance matrix is denoted as tr ( P ( t k | t k ) ) . The aforementioned R M S E ( N ) is the sum of RMSE values based on actual sampled estimates, averaged over time up to k = N and averaged over the ensemble of 50 simulation results. Therefore, while transient values differ from the actual tr ( P ( t k | t k ) ) , they can be treated as equivalent values in the steady state.

7.5.2. Computational Efficiency Comparison Experiment

The computational efficiency comparison experiment measures and compares computation times at the following three points:
  • Measurement Time I: Computation time for sigma point time update (computation of Eq. (8))
  • Measurement Time II: Computation time for the UKF algorithm (computation from Eq. (3) to Eq. (19))
  • Measurement Time III: Total computation time of the state estimation program for the UAV model
Figure 4 shows the overall diagram of the state estimation program for the UAV model and the locations of “Measurement Time I,” “Measurement Time II,” and “Measurement Time III.”
The controller design for generating generalized forces follows the computed torque method described in Section 5. The target trajectory involves a circular path from 10 s to 70 s, with yaw angle always at 0 deg, and roll and pitch angles changing to specified angles each revolution. However, the control inputs are first transformed from the generalized forces (thrust and torque for the motion system) provided by the computed torque method into actuator commands (rotor speeds and tilt angles) via the control allocation law. These are then multiplied by the propeller thrust coefficient k f and torque coefficient k t to reproduce the thrust and torque (including reaction torque) from the actuators, which are applied as inputs to the plant.
Below, we detail the data collection methods for Measurement Times I, II, and III.
  • Measurement Time I
    Since one simulation yields N measurement data points due to the total number of sampling points N, the average of all these is taken to calculate the average computation time per loop. However, due to the nature of the AB method, the average is taken over N 1 data points for 2nd order, N 2 for 3rd order, N 3 for 4th order, N 4 for 5th order, and N 5 for 6th order.
  • Measurement Time II
    Similar to Measurement Time I, the average computation time per loop is calculated, and the total computation time for N loops is also calculated.
  • Measurement Time III
    This is the total program computation time, so one simulation yields a single measurement data point.
Using these measurement methods, 50 simulations are repeatedly executed, and their average computation times are calculated for each case.

7.6. Results and Discussion of Estimation Accuracy

7.6.1. Comparison of Three Methods: Euler, RK, and AB (4th Order)

First, to show the estimates for the UAV model and to verify whether the UKF based on the multi-step AB method can perform estimation as stably as the single-step Euler and RK methods, Figure 5 shows the time evolution of state estimates by UKF based on the three methods for h = 0.01 .
As seen from Figure 5, the UKF estimates based on the AB method converge stably and achieve high-precision estimation. Also, no significant deviation from the RK method estimates is observed.
Next, Figure 6 shows the time evolution of the RMSE values for the state estimates by UKF based on the three methods for h = 0.01 , over the 70 s simulation period. From Figure 6, under the condition h = 0.01 , although the RMSE differences among the methods are very small for all state variables, relatively larger differences are observed in the RMSE values for positions x , y , attitude angles ϕ , θ , ψ , and attitude angular velocities ϕ ˙ , θ ˙ , ψ ˙ . Also, for all 12 state variables, the time variation of RMSE values becomes smaller after around 50 s of simulation time.
Next, estimation accuracy is compared under different discretization periods: h = 0.01 , 0.02 , , 0.1 . Figure 7 shows the change in R M S E ( N ) with varying discretization period h. Figure 7 shows that as the discretization period h increases, the differences among the methods become larger, and ultimately the R M S E ( N ) value for the RK method is the smallest. Furthermore, for the 4th-order AB method, estimation values could not be obtained (diverged) for h values greater than 0.08. Details regarding this are discussed later.
The specific values for each point in Figure 7 are shown in Table 4. The “N/A” in Table 4 indicates that estimation values could not be obtained due to divergence.

7.6.2. Comparison of AB Methods with Different Orders of Accuracy

The estimation values are omitted as their differences from Figure 6 were very small. Figure 8 shows the time evolution of the RMSE values for UKF estimates based on the 2nd to 6th-order AB methods for h = 0.01 . From Figure 8, under the condition h = 0.01 , all AB methods from 2nd to 6th order converge to values comparable to the RMSE values for UKF estimates based on the Euler and RK methods shown in Figure 6, without significant deviation.
Next, estimation accuracy is compared under different discretization periods: h = 0.01 , 0.02 , , 0.1 . Figure 9 shows the change in R M S E ( N ) with varying discretization period h.
Similar to Figure 7, Figure 9 shows that as the discretization period h increases, the differences among the methods become larger. Also, the 6th-order AB method diverged for h greater than 0.03, the 5th-order for h greater than 0.05, and the 4th-order for h greater than 0.08, preventing estimation value acquisition.
The specific values for each point in Figure 9 are shown in Table 5.
Additionally, for the 2nd and 3rd-order AB methods, further verification confirmed that they similarly diverge for values greater than h = 0.25 and h = 0.15 , respectively.

7.7. Results and Discussion of Computational Efficiency

7.7.1. Comparison of Three Methods: Euler, RK, and AB (4th Order)

Table 6 shows the computation times for Time I, Time II, and Time III for the three methods (Euler, RK, and 4th-order AB) with step size h = 0.01 .
From Table 6, the reduction rate in computation time for the 4th-order AB method is 12.276% compared to Euler and 41.119% compared to RK for Time I; 7.063% compared to Euler and 29.876% compared to RK for Time II; and 5.072% compared to Euler and 20.870% compared to RK for Time III.
Next, Figure 10 shows the change in computation time with varying discretization period h. Figure 10 shows that as h becomes smaller, the difference between the two methods increases. This is considered to be due to the influence of the increasing number of program loops as the total number of sampling points N becomes larger for smaller h.

7.7.2. Comparison of AB Methods with Different Orders of Accuracy

Next, computation times for Time I, Time II, and Time III are compared under the same conditions for AB methods from 2nd to 6th order for h = 0.01 , not just the 4th-order AB method. The result is given in Table 7. The computational difference among AB methods from 2nd to 6th order lies only in the number of past sigma point matrices used as "previous information." Therefore, the differences among methods are smaller than the results shown in Table 6.
Next, Figure 11 shows the change in computation time with varying discretization period h. From Figure 11, unlike the comparison between RK and AB methods, almost no difference is seen among the methods. The reason for this result is considered to be that the difference in computational load due to the order of the AB method stems only from the difference in the number of sigma point matrices handled, and the number of derivative calculations per step is the same for any order. Also, from this result, it can be understood that while estimation with the AB method diverges if the step size is too large, it does not diverge under conditions with h values smaller than 0.01, allowing estimation with higher order accuracy and shorter computation time compared to the RK method under those conditions.

8. Conclusion

This paper proposed a UKF that newly incorporates the AB method instead of the RK method into the sigma point time-update equation, maintaining estimation accuracy comparable to the RK method while enabling estimation with more efficient computation time. This is an alternative to the state estimation method using UKF with the RK method adapted to the sigma point time-update equation, as proposed by Takeno et al. [9]. First, we reviewed the UKF, a type of nonlinear filter, and presented its algorithm. Next, we explained that both the RK and AB methods can be applied to the UT and presented the sigma point time-update equations based on these two methods plus the Euler method. For the actual verification of estimation performance, we focused on the falling body model used by Takeno et al. as a preliminary experiment and the UAV model as the main subject. We detailed the derivation of sigma point time-update equations when applying UKF with three discretization methods (Euler, RK, AB) to each model. Numerical simulation results demonstrated that for both models, the proposed method maintains estimation accuracy comparable to the RK method while enabling more efficient computation. Notably, the improvement in computational efficiency was more pronounced for the UAV model with more complex state equations.
Future work includes implementing the proposed algorithm on a microcontroller in a real vehicle environment, starting with the UAV model used in this state estimation simulation, to verify the actual degree of improvement in estimation accuracy and computational efficiency. Also, as mentioned earlier, while the standard UKF prepares ( 2 n + 1 ) sigma points to compute estimates, methods using fewer sigma points have already been proposed. For example, by using the Spherical Simplex Unscented Transformation [28,29,31,32] or the Simplex Unscented Transformation [30], the number of sigma points can be reduced to n + 2 or n + 1 , constituting a CD-UKF that can reduce computational load. Furthermore, applying the proposed method to the CD Derivative-Free EKF [4,33,35], which uses n sample points, is also an interesting challenge. Combining these methods with the AB method is expected to lead to the development of UKF or EKF methods in continuous-discrete environments that offer improved computational efficiency with reasonable processing speed while maintaining a certain level of computational accuracy.

References

  1. Frogerais, Paul; Bellanger, Jean-Jacques; Senhadji, Lotfi. Various Ways to Compute the Continuous-Discrete Extended Kalman Filter. IEEE Transactions on Automatic Control 2012, 57(4), 1000–1004. [Google Scholar] [CrossRef]
  2. Kulikova, M.V. Accurate Numerical Implementation of the Continuous-Discrete Extended Kalman Filter. IEEE Transactions on Automatic Control 2014, 59(1), 273–279. [Google Scholar] [CrossRef]
  3. Kulikov, G.Y.; Kulikova, M.V. The Accurate Continuous-Discrete Extended Kalman Filter for Radar Tracking. IEEE Transactions on Signal Processing 2016, 64(4), 948–958. [Google Scholar] [CrossRef]
  4. Kulikova, M.V.; Kulikov, G.Y. On Derivative-Free Extended Kalman Filtering and Its MATLAB-Oriented Square-Root Implementations for State Estimation in Continuous-Discrete Nonlinear Stochastic Systems. European Journal of Control 2023, 73, 100885. [Google Scholar] [CrossRef]
  5. Julier, S.J.; Uhlmann, J.K. A New Extension of the Kalman Filter to Nonlinear Systems. Proc. SPIE 3068, Signal Processing, Sensor Fusion, and Target Recognition VI, 1997; pp. 182–193. [Google Scholar]
  6. Julier, S.J.; Uhlmann, J.K. Unscented Filtering and Nonlinear Estimation. Proceedings of the IEEE 2004, 92(3), 401–421. [Google Scholar] [CrossRef]
  7. Julier, S.J.; Uhlmann, J.K.; Durrant-Whyte, H.F. A New Method for the Nonlinear Transformation of Means and Covariances in Filters and Estimators. IEEE Transactions on Automatic Control 2000, 45(3), 477–482. [Google Scholar] [CrossRef]
  8. Särkkä, S. On Unscented Kalman Filtering for State Estimation of Continuous-Time Nonlinear Systems. IEEE Transactions on Automatic Control 2007, 52(9), 1631–1641. [Google Scholar] [CrossRef]
  9. Takeno, M.; Katayama, T. State and Parameter Estimation for Dynamical Systems by Using Unscented Kalman Filter. Transactions of the Institute of Systems, Control and Information Engineers 2011, 24(9), 231–239. (In Japanese) [Google Scholar] [CrossRef]
  10. Kulikov, G.Y.; Kulikova, M.V. Accurate Continuous–Discrete Unscented Kalman Filtering for Estimation of Nonlinear Continuous-Time Stochastic Models in Radar Tracking. Signal Processing 2017, 139, 25–35. [Google Scholar] [CrossRef]
  11. Kulikova, M.V.; Kulikov, G.Y. Continuous–Discrete Unscented Kalman Filtering Framework by MATLAB ODE Solvers and Square-Root Methods. Automatica 2022, 142, 110396. [Google Scholar] [CrossRef]
  12. Takeno, M.; Katayama, T. A Numerical Method for Continuous Discrete Unscented Kalman Filter. International Journal of Innovative Computing, Information and Control 2012, 8(3), 2261–2274. [Google Scholar]
  13. Knudsen, T.; Leth, J. A New Continuous Discrete Unscented Kalman Filter. IEEE Transactions on Automatic Control 2019, 64(5), 2198–2205. [Google Scholar] [CrossRef]
  14. Wang, A.; Zhang, H.; Huang, X.; Yang, Z. Adaptive unscented Kalman filter for nonlinear continuous-discrete systems based on the degree of nonlinearity. Physica Scripta 2025, 100(8), 087001. [Google Scholar] [CrossRef]
  15. Wang, C.; Dai, H.; Yang, W.; Yue, X. High-efficiency unscented Kalman filter for multi-target trajectory estimation. Aerospace Science and Technology 2025, 159, 109962. [Google Scholar] [CrossRef]
  16. Tobaly, L; Yaniv, E; Zalevsky, Z. Integrating GAN-based machine learning with nonlinear Kalman filtering for enhanced state estimation. Scientific Reports 2025, 15, 42361. [Google Scholar] [CrossRef]
  17. Kulikova, M.V.; Kulikov, G.Y. Square-root information-type methods for continuous–discrete extended Kalman filtering. European Journal of Control 2025, 85, 101358. [Google Scholar] [CrossRef]
  18. Al Ahdab, M.; et al. Optimal Sensor Scheduling and Selection for Continuous-Discrete Kalman Filtering with Auxiliary Dynamics. arXiv 2025, arXiv:2507.11240. Available online: https://arxiv.org/abs/2507.11240. [CrossRef]
  19. Thieu, T.; Melnik, R. Estimation of 3D facial dynamics with nonlinear filters for position tracking. Applied Mathematics in Science and Engineering 2025, 32(1), 2546793. [Google Scholar] [CrossRef]
  20. He, R.; Chen, S.; Wu, H.; Zhang, F.; Chen, K. Efficient Extended Cubature Kalman Filtering for Nonlinear Target Tracking. International Journal of Systems Science 2021, 52(2), 392–406. [Google Scholar] [CrossRef]
  21. Gelb, A. Applied Optimal Estimation; MIT Press: Cambridge, MA, USA, 1974. [Google Scholar]
  22. Cellier, F.E.; Kofman, E. Continuous System Simulation; Springer: New York, NY, USA, 2006; ISBN 0-387-26102-8. [Google Scholar]
  23. Butcher, J.C. Numerical Methods for Ordinary Differential Equations; John Wiley & Sons, Ltd.: Hoboken, NJ, USA, 2016; ISBN 9781119121503. [Google Scholar]
  24. Alderete, T.S. Simulator Aero Model Implementation; NASA Ames Research Center: Moffett Field, CA, USA, 1997; Available online: https://api.semanticscholar.org/CorpusID:6652331.
  25. Luukkonen, T. Modelling and Control of Quadrotor; Independent Research Project in Applied Mathematics, Mat-2.4108, School of Science; Aalto University: Espoo, Finland, 2011. [Google Scholar]
  26. Itakura, T.; Watanabe, K.; Nagai, I.; Shibanoki, T. Design and Production of an Osprey-Type Drone with 2-DOF Tiltable Mechanisms. In Proceedings of the 2022 JSME Conference on Robotics and Mechatronics, Sapporo, Japan, 1–4 June 2022; pp. 1A1-J03(1)–1A1-J03(4). (In Japanese) [Google Scholar]
  27. Yoshiwaki, N.; Watanabe, K.; Shibanoki, T.; Nagai, I. Research on a Fully Actuated UAV with Two 2-DOF Tiltable Rotors. In Proceedings of the 2022 JSME Conference on Robotics and Mechatronics, Sapporo, Japan, 1–4 June 2022; pp. 1A1-J02(1)–1A1-J02(4). (In Japanese) [Google Scholar]
  28. Julier, S.J.; Uhlmann, J.K. Reduced Sigma Point Filters for the Propagation of Means and Covariances Through Nonlinear Transformations. In Proceedings of the 2002 American Control Conference, Anchorage, AK, USA, 8–10 May 2002; pp. 887–892. [Google Scholar]
  29. Julier, S.J. The Spherical Simplex Unscented Transformation. In Proceedings of the 2003 American Control Conference, Denver, CO, USA, 4–6 June 2003; pp. 2430–2434. [Google Scholar]
  30. Li, W.-C.; Wei, P.; Xiao, X.-C. A Novel Simplex Unscented Transform and Filter. In Proceedings of the 2007 International Symposium on Communications and Information Technologies (ISCIT 2007), Sydney, Australia, 17–19 October 2007; pp. 926–931. [Google Scholar]
  31. Lozano, J.G.C.; Carrillo, L.R.G.; Dzul, A.; Lozano, R. Spherical Simplex Sigma-Point Kalman Filters: A Comparison in the Inertial Navigation of a Terrestrial Vehicle. In Proceedings of the 2008 American Control Conference, Seattle, WA, USA, 11–13 June 2008; pp. 4857–4862. [Google Scholar]
  32. Fu, K.; Zhao, G.; Li, X.; Tang, Z.-L.; He, W. Iterative Spherical Simplex Unscented Particle Filter for CNS/Redshift Integrated Navigation System. Science China Information Sciences 2017, 60(4), 042201. [Google Scholar] [CrossRef]
  33. Quine, B.M. A Derivative-Free Implementation of the Extended Kalman Filter. Automatica 2006, 42(11), 1927–1934. [Google Scholar] [CrossRef]
  34. Kulikova, M.V.; Kulikov, G.Y. On Derivative-Free Extended Kalman Filtering and Its Matlab-Oriented Square-Root Implementations for State Estimation in Continuous-Discrete Nonlinear Stochastic Systems. European Journal of Control 2023, 73, 100886. [Google Scholar] [CrossRef]
  35. Kulikova, M.V.; Kulikov, G.Y. Continuous-Discrete Derivative-Free Extended Kalman Filter Based on Euler-Maruyama and Itô-Taylor Discretizations: Conventional and Square-Root Implementations. European Journal of Control 2024, 76, 100960. [Google Scholar] [CrossRef]
Figure 1. Definition of the coodinate systems of the Osprey-type drone.
Figure 1. Definition of the coodinate systems of the Osprey-type drone.
Preprints 200633 g001
Figure 2. Control allocation process.
Figure 2. Control allocation process.
Preprints 200633 g002
Figure 3. Comparison of estimation results.
Figure 3. Comparison of estimation results.
Preprints 200633 g003

Figure 4. Overall diagram of the state estimation program for the UAV model and the location of measurement times I to III.
Figure 4. Overall diagram of the state estimation program for the UAV model and the location of measurement times I to III.
Preprints 200633 g004
Figure 5. UKF estimates based on three discretization methods ( h = 0.01 ).
Figure 5. UKF estimates based on three discretization methods ( h = 0.01 ).
Preprints 200633 g005




Figure 6. RMSE of UKF estimates based on three discretization methods ( h = 0.01 ).
Figure 6. RMSE of UKF estimates based on three discretization methods ( h = 0.01 ).
Preprints 200633 g006




Figure 7. RMSE value change with step size change for three methods.
Figure 7. RMSE value change with step size change for three methods.
Preprints 200633 g007
Figure 8. RMSE of UKF estimates for 2nd-order to 6th-order AB-based UKFs ( h = 0.01 ).
Figure 8. RMSE of UKF estimates for 2nd-order to 6th-order AB-based UKFs ( h = 0.01 ).
Preprints 200633 g008




Figure 9. RMSE value change with step size change for different order AB-based UKFs.
Figure 9. RMSE value change with step size change for different order AB-based UKFs.
Preprints 200633 g009
Figure 10. Calculation time change with step size change for RK-based UKF and AB4-based UKF.
Figure 10. Calculation time change with step size change for RK-based UKF and AB4-based UKF.
Preprints 200633 g010
Figure 11. Calculation time change with step size change for different order AB-based UKFs.
Figure 11. Calculation time change with step size change for different order AB-based UKFs.
Preprints 200633 g011
Table 1. Comparison of RMSE among three methods.
Table 1. Comparison of RMSE among three methods.
Method
Euler-based RK-based AB4-based
RMSE 125.585 116.826 115.537
Table 2. Comparison of computational time among three methods.
Table 2. Comparison of computational time among three methods.
Method
Euler-based RK-based AB4-based
Alg. total time ( × 10 2 ) [s] 8.4612 9.2542 8.7108
Pred. time only ( × 10 6 ) [s] 58.3842 77.8698 70.6750
Table 3. Simulation parameters of the UAV.
Table 3. Simulation parameters of the UAV.
Variable Definition Value
m [kg] Mass of UAV 1.5
g [ m/s 2 ] Acceleration of gravity 9.81
I B x x [ kg·m 2 ] Moment of inertia around X B axis 0.01
I B y y [ kg·m 2 ] Moment of inertia around Y B axis 0.01
I B z z [ kg·m 2 ] Moment of inertia around Z B axis 0.006
l [m] Y B axis distance between O B and O P i 0.24
h o [m] Z B axis distance between O B and O P i 0.045
k f [ Ns 2 /rad 2 ] Thrust coefficient of the propeller 1.784 × 10 5
k t [ Nms 2 /rad 2 ] Drag coefficient of the propeller 4.379 × 10 7
Table 4. Comparison of R M S E ( N ) with different step size for three methods.
Table 4. Comparison of R M S E ( N ) with different step size for three methods.
Method
Euler RK4 AB4
h = 0.01 0.47961 0.47646 0.47304
h = 0.02 0.67167 0.66121 0.66235
h = 0.03 0.83102 0.82695 0.81186
h = 0.04 0.96179 0.94971 0.94171
h = 0.05 1.07992 1.07212 1.07913
h = 0.06 1.19891 1.18197 1.19785
h = 0.07 1.31153 1.28889 1.37018
h = 0.08 1.41016 1.39465 N/A
h = 0.09 1.52378 1.49280 N/A
h = 0.10 1.62067 1.58091 N/A
Table 5. Comparison of R M S E ( N ) with different step size for 2nd-order to 6th-order AB-based UKFs.
Table 5. Comparison of R M S E ( N ) with different step size for 2nd-order to 6th-order AB-based UKFs.
AB method with different order
AB2 AB3 AB4 AB5 AB6
h = 0.01 0.47140 0.47891 0.47304 0.47878 0.47409
h = 0.02 0.66619 0.66920 0.66235 0.66816 0.68082
h = 0.03 0.81327 0.80840 0.81186 0.82628 N/A
h = 0.04 0.94432 0.93755 0.94171 1.00880 N/A
h = 0.05 1.06020 1.05421 1.07913 N/A N/A
h = 0.06 1.17243 1.17460 1.19785 N/A N/A
h = 0.07 1.27515 1.26857 1.37018 N/A N/A
h = 0.08 1.37661 1.37650 N/A N/A N/A
h = 0.09 1.47709 1.49280 N/A N/A N/A
h = 0.10 1.59363 1.60998 N/A N/A N/A
Table 6. Comparison of computational time among Euler-based UKF, RK-based UKF and AB4-based UKF ( h = 0.01 ).
Table 6. Comparison of computational time among Euler-based UKF, RK-based UKF and AB4-based UKF ( h = 0.01 ).
Method
Euler RK4 AB4
Time I ( × 10 4 ) [s] 3.7593 5.6078 3.2978
Time II ( × 10 4 ) [s] 6.0411 8.0064 5.6144
Time III [s] 6.3785 7.6520 6.0550
Table 7. Comparison of computational time for 2nd-order to 6th-order AB-based UKFs.
Table 7. Comparison of computational time for 2nd-order to 6th-order AB-based UKFs.
AB method with different order
AB2 AB3 AB4 AB5 AB6
Time I ( × 10 4 ) [s] 3.2125 3.2839 3.3212 3.3478 3.4263
Time II ( × 10 4 ) [s] 5.5107 5.6166 5.6353 5.6081 5.7562
Time III [s] 6.1799 6.2990 6.1856 6.1427 6.3341
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.
Copyright: This open access article is published under a Creative Commons CC BY 4.0 license, which permit the free download, distribution, and reuse, provided that the author and preprint are cited in any reuse.
Prerpints.org logo

Preprints.org is a free preprint server supported by MDPI in Basel, Switzerland.

Subscribe

Disclaimer

Terms of Use

Privacy Policy

Privacy Settings

© 2026 MDPI (Basel, Switzerland) unless otherwise stated