Next Article in Journal
Specific Emitter Identification Method for Limited Samples via Time–Wavelet Spectrum Consistency
Previous Article in Journal
Application of Smart Insoles in Assessing Dynamic Stability in Patients with Chronic Ankle Instability: A Comparative Study
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Motion and Inertia Estimation for Non-Cooperative Space Objects During Long-Term Occlusion Based on UKF-GP

Department of Mechanical and Aerospace Engineering, Rutgers University, Piscataway, NJ 08854, USA
*
Author to whom correspondence should be addressed.
Sensors 2025, 25(3), 647; https://doi.org/10.3390/s25030647
Submission received: 23 November 2024 / Revised: 2 January 2025 / Accepted: 21 January 2025 / Published: 22 January 2025
(This article belongs to the Section Physical Sensors)

Abstract

:
This study addresses the motion and inertia parameter estimation problem of a torque-free, tumbling, non-cooperative space object (target) under long-term occlusions. To solve this problem, we employ a data-driven Gaussian process (GP) to simulate sensor measurements. In particular, we implement the multi-output GP to predict the projection measurements of a stereo-camera system onboard a chaser spacecraft. A product kernel, consisting of two periodic kernels, is used in the GP models to capture the periodic trends from non-periodic projection data. The initial guesses for the periodicity hyper-parameters of the GP models are intelligently derived from fast Fourier transform (FFT) analysis of the projection data. Additionally, we propose an unscented Kalman filter–Gaussian process (UKF-GP) fusion algorithm for target motion and inertia parameter estimation. The predicted projections from the GP models and their derivatives are used as the pseudo-measurements for UKF-GP during long-term occlusion. Results from Monte Carlo (MC) simulations demonstrate that, for varying tumbling frequencies, the UKF-GP can accurately estimate the target’s motion variables over hundreds of seconds, a capability the conventional UKF algorithm lacks.

1. Introduction

In recent years, developing autonomous strategies for proximity operations between two spacecraft, such as docking, refueling, repairing, or robotic capture of space debris, has gained tremendous interest due to economic incentives, societal needs, and technological advancement. Such operations typically require physical interactions between two spacecraft. Consequently, it is important to have good knowledge of the motion parameters of the spacecraft to create a safe policy for the approach and interaction segments of the operation. Proximity operations between two cooperative spacecraft can be executed relatively easily due to both spacecraft being able to relay information regarding their motions. However, in proximity operations like space debris removal, the non-cooperative target space object cannot relay any information. It is essential to understand the target’s motion parameters to design safe policies for approach and interaction. Additionally, the target’s physical properties may be unknown and require determination.
Sensors such as the laser camera system (LCS) and mono and stereo-vision camera systems can be utilized to collect data regarding the target. The LCS sensor is less prone to sensor occlusion and has a higher measurement sampling frequency [1]. However, vision-based camera systems are more energy-efficient. This study is conducted with the assumption that the chaser carries a stereo-vision camera system. The stereo images captured by the cameras can be processed through computer vision algorithms, which return information regarding the features of the target. In general, features can either be regions [2], curves or lines [3], or points [4], which have higher visibility than their surrounding areas and, thus, are easily distinguishable in the captured images. In the context of the considered satellite proximity operations, the features indicate salient points located on the surface of the target, such as corners of solar panels and endpoints of the poles on antennas.
To obtain reliable estimates of the motion and physical parameters of a target space object from the sensor measurements, researchers have primarily relied on physics-based methods, which utilize the underlying dynamics equations associated with the target’s motion. Two of the widely utilized algorithms are the extended Kalman filter (EKF) and the unscented Kalman filter (UKF), where the latter does not require the linearization of the non-linear dynamics and observation models. Segal et al. conducted one of the earliest investigations on the estimation of the relative rotational and translational motion of a target object using the iterated EKF (IEKF) using the measurements of a fixed number of point features from a stereo-camera system [5,6]. Multiple IEKF models are run in parallel with a different choice for the inertia parameters, and the best inertia tensor was chosen from a maximum a posteriori (MAP) estimation. Later, Pesce et al. proposed an IEKF-based algorithm where the inertia parameter ratios are estimated without the MAP estimation [7]. They also utilized the optical flow or the rate of projection as measurements, which reduces the number of point features to five for the IEKF model to converge. A similar approach is investigated by Chang et al. in [8], except they considered a varying number of point features. Ge et al. showed in [9] that it is possible to achieve convergence of an EFK model to estimate the target motion from the stereo-camera measurements of only three-point features. Feng et al. developed an EFK model to estimate target motion where two dependent variables parameterize the inertia ratios that fully encode the physical constraints between the inertia parameters [10]. Li et al. proposed an interacting multiple model unscented Kalman filter (IMM-UKF) to estimate the relative motion of a target to deal with uncertainties caused by unknown noise [11]. Mazzucato et al. validated an EKF model for estimating the motion of a target both numerically and experimentally in [12], whereas De Jongh et al. experimentally validated the estimation capability of a SLAM-based EKF algorithm tasked with estimating the relative motion, shape, and size of a target object [13]. Jiang et al. developed a constrained EFK algorithm for estimating the relative motion of a target that uses physical constraints among point features of the target to ensure that the system is observable [14]. A similar geometric constraint among point features was considered by Jixiu et al. for an EKF algorithm to estimate a target object’s relative motion [15]. In [16], Maestrini et al. proposed an algorithm called the coarse model-based relative navigation (CoMBiNa) to create a 3D model and estimate the motion as well as inertia parameters of an unknown and non-cooperative target object. A coarse point-cloud model of the object using ORB-SLAM from stereo-camera measurements was later used as a reference for the UKF model to estimate the rotational and translational motion and the inertia parameters of the target. A similar problem was also addressed in [17] with the consideration of the unscented Kalman filter-based technique and the stereo-camera sensor. Apart from Kalman filter-related techniques, several other physics model-based approaches have been studied for estimating the target motion and inertia parameters, which include the non-linear least square technique [18], the smoothing and mapping factor-graph-based method [19], the constrained convex optimization method [20], etc.
Physics model-based approaches provide a way to estimate motion and physical parameters that are consistent with the underlying physics models. However, these approaches come with some major drawbacks. One of the key issues is the inability of these algorithms to provide reliable estimates of the target states if the sensor measurements are not available for a long time (i.e., hundreds or thousands of seconds). In space, long-term occlusions can happen for numerous reasons, especially for visual sensors. Examples include when the target is between the sun and the chaser or when the target is in the Earth’s shadow while orbiting the Earth. In both of these scenarios, the chaser is unable to observe the target using a visual camera sensor.
With the advancements in machine learning (ML) techniques and computational capabilities, researchers have started investigating the capability of model-free ML techniques. In recent work, Yu et al. implemented the sparse pseudo-input Gaussian process (SPGP) technique to predict the inertial position of a point of interest and a body frame attitude quaternion of a tumbling space object for ten seconds [21]. This method uses a simple RBF kernel, which is not capable of capturing the important trends of the training datasets and, consequently, is not appropriate for long-term occlusion. Researchers have also investigated combining ML and physics model-based approaches to improve parameter estimation performance. An example is the development of a dual-vector quaternion-based mixed artificial neural network (DVQ-MANN) estimation algorithm to assist a dual-vector quaternion-based extended Kalman filter (DVQ-EKF) during sensor failure [22]. The authors demonstrated that this approach helped prevent the associated error of the state variables of the DVQ-EKF from diverging. However, the presented results do not demonstrate if the algorithm is capable of further reducing the estimation errors during occlusions. Additionally, Barbier combined three Gaussian process (GP) models with a two-stage cascading EKF system to estimate the relative motion and create a map of a target object in [23]. After executing the first EKF model, which estimated the relative motion of the chaser, GP models were generated to predict the angular velocity of the target to propagate the second EKF model. However, this study did not consider any occlusion and, hence, did not demonstrate how the estimation algorithm may perform in the absence of sensor measurement.
One of the goals of this study is to predict the projection measurements of a stereo-camera system during occlusion with the help of an ML algorithm, and we select the Gaussian process (GP) for this task. The GP is a non-parametric algorithm defined by a mean function and a covariance or kernel function. For this study, we are interested in an advanced GP regression algorithm called the multi-output GP. The traditional single-output GP model can only learn the correlations among the inputs, but the multi-output GP can capture the correlations among the inputs and the correlations among the outputs. Due to this capability, the multi-output GP model can provide more accurate predictions of a vector-valued function with correlated components from smaller training data sets than single-output GP models. However, the multi-output GP models require longer training time due to the additional task of finding the covariances among the outputs. The projections of the point features on the stereo-camera image planes are functions of the correlated components of the feature positions relative to the cameras, which makes the projection components correlated as well. Therefore, the multi-output GP model is chosen as the data-driven method to predict the projections in this study. On the other hand, GP has been shown to be more accurate at providing predictions compared to neural networks (NNs) if trained from a training dataset of the same size [24], which is another reason for favoring GP in our work.
The primary contribution of this study is the development of a UKF-GP fusion algorithm to estimate the rotational motion variables and the inertia parameters of a non-cooperative, tumbling target space object under long-term occlusion. The following contributions are made in the development of the UKF-GP algorithm:
  • We utilize multi-output GP models to predict projection measurements from a stereo-camera system so that the UKF-GP model can be updated during occlusion. GP models are trained using the projection measurements provided by stereo-camera systems. A product kernel, consisting of two periodic kernels, is designed to capture periodic trends in the non-periodic and noisy training data.
  • The initial guesses for the periodicity hyper-parameters are intelligently obtained from the FFT analysis of the training data, enhancing the hyper-parameter training procedure.
  • The projection predictions from the GP models and their derivatives obtained from the finite difference method (FDM) are used as pseudo-measurements in the UKF-GP fusion algorithm during long-term occlusion.
  • Monte Carlo simulations across multiple tumbling frequencies demonstrate that GP models accurately predict projections for thousands of seconds under occlusion. Furthermore, the UKF-GP algorithm outperforms the conventional UFK in estimating motion and inertia parameters.
Note that an algorithm called the GP-UKF is proposed in [25] that also combines UKF and GP to improve the estimation accuracy. In that work, the GP models are used to replace the propagation and observation models of the UKF model. Differently, we use GPs to predict the stereo-camera measurements in this work. Additionally, we remark that the predictions from the GP models can be used as pseudo-measurements for any suitable physics-based estimation algorithm.
The paper is structured as follows: in Section 2, we provide descriptions of the problem scenario, dynamics and observation models, a summary of the UKF algorithm, multi-output GP models, overall UKF-GP frameworks, and the simulation workflow. In Section 3, we present the results from MC simulations to demonstrate the effectiveness of GP models and the UKF-GP algorithm. Finally, in Section 4, we provide our concluding remarks.

2. Methodology

In this section, we provide the proposed UKF-GP framework in detail. First, we present the problem scenario, followed by descriptions of the dynamics and observation models for the UKF algorithm. Then, we present a procedure to create GP models that are used for predicting projection measurements. Finally, we discuss the overall UKF-GP framework and the considered simulation workflow for this study.

2.1. Problem Scenario

In this paper, we aim to estimate the relative rotational motion of a target space object with respect to a chaser spacecraft. Hence, we assume that both the chaser and the target center of mass (CM) are inertially fixed, and the relative position of the target CM with respect to the chaser CM is exactly known. Also, the chaser is presumed to be rotationally fixed. The overall scenario is illustrated in Figure 1. An inertial frame I is defined with the origin being located at the chaser CM. Additionally, the  B frame is the principal axe’s body frame of the target, which has the origin at the target CM. The attitude quaternion of B with respect to I is q = [ q s , q x , q y , q z ] T . The corresponding rotation matrix of q is defined as C ( q ) = C I B , such that ν B = C I B · ν I , where ν I and ν B indicate an arbitrary vector expressed in I and B . The angular velocity associated with q ˙ is denoted by ω I and ω B in I and B , respectively. The relative position of the target CM with respect to the chaser CM in I is ρ 0 I = [ x 0 , y 0 , z 0 ] T , which is known, as mentioned earlier. The position of the i-th point feature with respect to the target CM in B and the chaser CM in I are defined as p i B and ρ i I . The relationship between p i B and ρ i I is given as follows:
ρ i I = ρ 0 I + [ C I B ] T · B p i .

2.2. Unscented Kalman Filter (UKF)

Since we do not aim to modify the conventional UKF algorithm in this paper, we present the dynamics and observation models of the UKF model in this section while skipping the overall UKF algorithm. There exist numerous books and papers that discuss the theoretical derivation and the practical implementation of the UKF algorithm, such as [26,27], which the reader can consult to get an in-depth understanding of the UKF algorithm.

2.2.1. Dynamics Model

This study focuses on estimating the relative rotational motion and inertia parameters of the target space object; hence, the state variable X is defined as follows:
X = [ ω B T , q T , k 1 , k 2 , { p i T B } i = 1 n f ] T ,
where n f is a constant that indicates the number of features. Also, k 1 and k 2 are the inertia parameter ratios, as defined in [19]. Tweddle [19] showed that it is not possible to observe all three principal axes of inertia parameters of a tumbling object without applying external torque, and only two out of three degrees of freedom are observable. Hence, they introduced two inertia parameter ratios, which are defined as follows: given that I 1 , I 2 , and  I 3 are the principal axes inertia parameters and the inertia matrix I in B is
I = I 1 0 0 0 I 2 0 0 0 I 3 ,
then
k 1 = log I 1 I 2 , k 2 = log I 2 I 3 .
Accordingly, I can be rewritten in terms of k 1 and k 2 as follows:
I = I 1 / I 2 0 0 0 1 0 0 0 I 3 / I 2 = exp ( k 1 ) 0 0 0 1 0 0 0 exp ( k 2 ) .
The torque-free rotational dynamics equations describing the rate of change of ω B are given as follows:
ω ˙ B = I 1 ( [ ω B ] I · ω B ) = exp ( k 1 ) ( 1 exp ( k 2 ) ) ω y B ω z B ( exp ( k 2 ) exp ( k 1 ) ) ω x B ω z B exp ( k 2 ) ( exp ( k 1 ) 1 ) ω x B ω y B ,
where
[ ω B ] = 0 ω z B ω y B ω z B 0 ω x B ω y B ω x B 0 ,
with ω x B , ω y B , and  ω z B being the components of ω B . Note that this work does not consider perturbations such as the gravity of the Earth or atmospheric drag.
The rotational kinematics equation describes the rate of change in q , which is mathematically written as follows:
q ˙ = 1 2 Ω q ,
where
Ω = 0 ω x B ω y B ω z B ω x B 0 ω z B ω y B ω y B ω z B 0 ω x B ω z B ω y B ω x B 0 .
We assume that the target object is a rigid body; therefore, we can ignore the movements of the internal components. Under this assumption, the rates of change in the inertia parameter ratios and the feature positions in B are given as follows:
k ˙ 1 = 0 ,
k ˙ 2 = 0 ,
p ˙ i B = 0 3 × 1 .
For the UKF model, we consider a discrete-time dynamics model for propagating state variables. Mathematically, the state variable X ( k + 1 ) at time-step k + 1 is written as follows:
X ( k + 1 ) = X ( k ) + t = t ( k ) t = t ( k ) + Δ t f ( X ( k ) ) d t + w ( k ) ,
where Δ t is the discrete time-interval, and t ( k ) and w ( k ) are the time instance and the zero mean Gaussian white noise denoting the process noise at time step k, respectively. Additionally, f ( X ) is obtained from Equations (6)–(12) and written as follows:
f ( X ) = I 1 ( [ ω B ] I · ω B ) 1 2 Ω q 0 ( 3 n f + 2 ) × 1 .
The process noise covariance matrix Q is defined as a constant diagonal matrix and written as follows:
Q = E [ w w T ] = d i a g ( [ Σ ω Q , Σ q Q , Σ k 1 Q , Σ k 2 Q , Σ p 1 Q , , Σ p n f Q ] ) ,
where Σ ω Q R 3 , Σ q Q R 4 , Σ k 1 Q R , Σ k 2 Q R , and  { Σ p i Q R 3 } i = 1 n f contain the process noise variances of ω B , q , k 1 , k 2 , and  { p i B } i = 1 n f . Note that the initial state error covariance matrix P 0 has the same size as Q , and the vectors containing the corresponding error variances of P 0 are denoted by the same symbols as those used for Q , except the superscript ‘Q’ is replaced by the superscript ‘P’.

2.2.2. Observation Model

In this study, we assume that the chaser is equipped with a stereo-vision camera system to collect information regarding the chaser. The stereo images captured by the stereo-camera system can be processed by computer vision algorithms to detect point features and perform feature matching. There exist a number of methods for feature detection, such as SIFT [28], SURF, AKAZE, ORB [29], etc. In this work, we do not implement feature detection methods and assume that the noisy projection data of the features are available from image processing algorithms.
The detected feature positions are obtained as projections on camera planes. The schematic showing the onboard stereo-camera system is illustrated in Figure 2. The working mechanism of the cameras is based on the pinhole camera model. The center of projection (COP) of the right camera is assumed to be located at the chaser CM or the origin of I . Additionally, we assume that the camera frame C is aligned with I at any time since the chaser does not perform any rotation. The COP of the left camera is located at [ b , 0 , 0 ] T , expressed in I . The image planes are located perpendicular to the Y axis with a focal length f distance from the corresponding COPs. Let the i-th feature located at p i B in B have the position vector ρ i I = [ x i , y i , z i ] T at time-step k. Then, the projection of the feature on the right (left) camera plane is defined as the intersecting point of ρ i I ( ρ i I + [ b , 0 , 0 ] T ) and the right (left) camera plane. The 2D projection vectors of the feature on the image planes are denoted by w R , i = [ u R , i , v R , i ] T and w L , i = [ u L , i , v L , i ] T for the right and the left cameras, respectively, where u ( · ) and v ( · ) indicate the projection components in the horizontal and vertical directions on the image planes. The expressions of u R , i , v R , i , u L , i , and  v L , i are given as follows:
u R , i = f x i y i , v R , i = f z i y i ,
u L , i = f x i + b y i , v L , i = f z i y i .
In practice, one can numerically calculate the optical flows or the rates of change in the projections, w ˙ R , i and w ˙ L , i from w R , i and w L , i (e.g., using the finite difference method). Therefore, the optical flows w ˙ R , i and w ˙ L , i are included in the observation model in this study similar to [7,30]. The expressions of w ˙ R , i and w ˙ L , i are derived in a similar way to that shown in [31], which are given below:
w ˙ R , i = u ˙ R , i v ˙ R , i = A R , i · ω I ,
w ˙ L , i = u ˙ L , i v ˙ L , i = A L , i · ω I ,
where
A R , i = x i ( z i z 0 ) y i 2 ( z i z 0 ) y i y i y 0 y i + x i ( x i x 0 ) y i 2 y i y 0 y i + z i ( z i z 0 ) y i 2 ( x i x 0 ) y i z i ( x i x 0 ) y i 2 ,
A L , i = ( x i + b ) ( z i z 0 ) y i 2 ( z i z 0 ) y i y i y 0 y i + ( x i + b ) ( x i x 0 ) y i 2 y i y 0 y i + z i ( z i z 0 ) y i 2 ( x i x 0 ) y i z i ( x i x 0 ) y i 2 .
The complete derivation process of Equations (18)–(21) is provided in Appendix A.
Together, Equations (16)–(19) for n f number of features define the observation model h ( X ) :
h ( X ( k ) ) = [ h 1 T , h 2 T , , h n f T ] T ,
where, for any i = 1 , 2 , , n f ,
h i = [ w R , i T , w L , i T , ( u L , i u R , i ) , w ˙ R , i T , w ˙ L , i T ] T .
The measurement model is defined as follows:
z ( k ) = h ( X ( k ) ) + v ( k ) ,
where v ( k ) R 9 n f is the measurement noise with components being sampled from Gaussian distributions with zero mean and standard deviations σ p , σ d , and  σ o for projections, disparity, and optical flows. The measurement noise covariance matrix is written as follows:
R = E [ v v T ] ,
where R is a diagonal matrix, which is expressed in terms of σ p , σ d , and  σ o .

2.3. The Gaussian Process (GP)

The GP is a Bayesian regression technique that is traditionally implemented to generate a predictive distribution of a scalar function over the single or multi-dimensional input domain. In other words, a GP model returns a scalar output’s mean and uncertainty at a given input. In achieving this, a covariance function or kernel is required to determine the correlations among the inputs in the training data. In a broader sense, a kernel helps capture useful features such as smoothness, periodicity, etc., regarding the underlying output function from the discrete training data. Hence, selecting an appropriate kernel to create a GP model with good prediction ability is crucial.
Multiple single-output GP models can be generated to predict a vector-valued function where each GP model is tasked with estimating one function component. This approach is ineffective if the components of the function are correlated due to the single-output GP models’ inability to capture the correlation among the output domains, thus requiring relatively bigger training data sets. To create prediction models of a vector-valued function with correlated components, it is more data-efficient to implement an advanced version of GP called the multi-output GP, which depends on an additional kernel that detects the correlations among the outputs. However, training a multi-output GP model takes longer due to the additional covariance determination task for the output dimensions.
In this work, we aim to predict the right and left camera projections of the features, { w R , i } i = 1 n f and { w L , i } i = 1 n f . Intuitively, the components of w R , i and w L , i are correlated since they are functions of p i I whose components are correlated as well. Therefore, it is advantageous to generate a multi-output GP model G i for the right and left projections of each feature, which can find the correlations among the components of the projection measurements. For simplification, let us define a vector w i = [ u R , i , v R , i , u L , i ] T for the i-th feature so that all projection components are included in one vector. We do not include v L , i in w i because v L , i = v R , i by definition.
To train the GP model G i for the i-th feature, a dataset D i is required, which contains the projection measurements w ˜ i . The dataset D i is four-dimensional with time as the input and three projection components of w ˜ i as the output. The format of the dataset D i is shown as an example in Table 1.
We use the intrinsic coregionalization model (ICM) kernel [32] to determine the covariance among output domains. Also, we utilize a product kernel as the covariance function for the input domain for each of the GP models. The kernel is formulated as the product of two periodic kernels. The product kernel K ( t i , t j ) for G i is given as follows:
K ( t i , t j ) = σ 1 2 exp 2 l 1 2 sin 2 π δ t P 1 · σ 2 2 exp 2 l 2 2 sin 2 π δ t P 2 ,
where δ t = | t i t j | . Also, l 1 and l 2 are the length-scale hyper-parameters, σ 1 and σ 2 are the smoothness hyper-parameters, and  P 1 and P 2 are the periodicity hyper-parameters. The hyper-parameters are obtained from the maximum likelihood optimization operation performed on the training dataset [33].
Note that, for a torque-free tumbling object, the components of the position of an arbitrary point located on the object expressed in an inertial frame are not periodic functions [34]. Hence, the components of ρ i I are non-periodic. However, the underlying reason behind the variations of ρ i I components is the angular velocity of the target, which is periodic if expressed in B , with the periodicity being the polhode period T p . Hence, we speculate that even though the components of ρ i I are non-periodic, they should have some intrinsic periodic properties, which we want to capture using the periodic kernels. The logic behind using two periodic kernels in the product kernel is that one periodic kernel should capture the effect of the tumbling rate or the magnitude of the angular velocity while the other periodic kernel should learn the effect of the polhode period on the variations of w i .
Although the periodicity hyper-parameters P 1 and P 2 in Equation (26) can be determined by hyper-parameters training from the given training datasets, it significantly improves the performance of the trained GP models if we provide good initial guesses of the periodicity hyper-parameters. This reduces the chance of the hyper-parameter training optimization algorithm getting stuck at local solutions. Hence, we utilize a fast Fourier transform-based strategy to determine the initial guesses of P 1 and P 2 . The formal approach to obtain the initial guesses of P 1 and P 2 for the product kernel K is provided in Algorithm 1.
Algorithm 1 Periodicity hyper-parameters initial guess determination algorithm for ρ i I .
  1:
for  j = 1 to 3   do
  2:
      Perform the fast Fourier transform (FFT) operation on the j-th component of w ˜ i = [ u ˜ R , i , v ˜ R , i , u ˜ L , i ] T
  3:
      Determine the frequencies f j 1 and f j 2 with the highest and second highest magnitudes from the FFT operation
  4:
      Calculate the corresponding periods P j , 1 and P j , 2 of f j , 1 and f j , 2 as P j , ( · ) = 1 / f j , ( · )
  5:
end for
  6:
Obtain the unique periods from [ { P j 1 } j = 1 3 , { P j 2 } j = 1 3 ]
  7:
Create all possible combinations of a pair of periods from the list of unique periods.
  8:
Calculate the absolute difference between the periods and the sum of magnitudes provided by FFT for each pair of unique periods.
  9:
Multiply the absolute time difference and the sum of the magnitudes
10:
Select the pair of unique periods with the highest product as the initial guesses of the periodicity hyper-parameters.

2.4. UKF-GP Algorithm

The flowchart of the proposed UKF-GP algorithm is presented in Figure 3. In the first step, the noisy projection data { w ˜ i ( k ) } i = 1 n f are collected from time step k = 1 (equivalently, t = 0 ) to k = T t r a i n / Δ t or t = T t r a i n with the measurement frequency f s = 1 / Δ t . Then, the collected noisy projection measurements are stored in the dataset { D i } i = 1 n f . Next, the hyper-parameters of the GP models { G i } i = 1 n f are trained from the datasets { D i } i = 1 n f and the kernel functions. In the next step, the predictions of the projections { w ^ i ( k ) } i = 1 n f are obtained from { G i } i = 1 n f . The predictions of the optical flows { w ˙ ^ i ( k ) } i = 1 n f are then calculated from { w ^ i ( k ) } i = 1 n f using the finite difference method (FDM). We implement the first-order forward and backward differences as well as the second and fourth-order central differences [35] to compute the optical flows, and the corresponding FDM equations are given as follows:
w ˙ ^ i ( k ) = w ^ i ( k + 1 ) w ^ i ( k ) Δ t , if k = 1 w ^ i ( k + 1 ) w ^ i ( k 1 ) 2 Δ t , if k = 2 or k = T f i n a l / Δ t 1 w ^ i ( k ) w ^ i ( k 1 ) Δ t , if k = T f i n a l / Δ t w ^ i ( k + 2 ) + 8 w ^ i ( k + 1 ) 8 w ^ i ( k 1 ) + w ^ i ( k 2 ) 12 Δ t , otherwise .
In the final step, the projection and optical flow predictions, { w ^ i ( k ) } i = 1 n f and { w ˙ ^ i ( k ) } i = 1 n f , are utilized as the pseudo-measurements for UKF-GP during the long-term occlusion.

2.5. Simulation Workflow

The formal simulation workflow according to which we have verified the UKF-GP algorithm is provided in Algorithm 2. In the beginning, n t r a i n = T t r a i n / Δ t sensor measurements are collected from t = 0 s till t = T t r a i n with the measurement frequency f s , and we assume that occlusion happens from t = T t r a i n until the end of the simulation ( t = T t o t a l ). The projection measurements obtained from t = 0 until t = T t r a i n are stored in the datasets { D i } i = 1 n f . Next, the multi-output GP models { G i } i = 1 n f are trained using the datasets, the product kernel, and the hyper-parameter initial guesses. Afterward, { w ^ i } i = 1 n f are generated for the whole duration of the simulation, from  t = 0 s to t = T t o t a l ( T t o t a l > T t r a i n ) sec with the prediction sampling frequency f G P . Next, { w ˙ ^ i ( k ) } i = 1 n f are calculated from { w ^ i } i = 1 n f using FDM provided in Equation (27). Then, the UKF model is initiated with the discrete-time interval Δ t G P = 1 / f G P , total simulation time T t o t a l , the dynamics model f ( X ) , the observation model h ( X ) , the initial guesses of the state variable X ^ 0 , the initial error covariance matrix P 0 , the process noise covariance matrix Q , and the measurement noise covariance matrix R . Once the model is initiated, the state variables are updated using { w ^ i ( k ) } i = 1 n f and { w ˙ ^ i ( k ) } i = 1 n f as the pseudo-measurements at every time-step until the end of the simulation.
Algorithm 2 Simulation workflow.
  1:
From t = 0 to t = T t r a i n , collect n t r a i n number of sensor-provided feature projection measurements { w ^ i ( k ) } i = 1 n f with the measurement frequency f s .
  2:
Store the projection measurement data in the { D i } i = 1 n f and the kernel functions.
  3:
Train n f number of multi-output GP models { G i } i = 1 n f from data sets { D i } i = 1 n f .
  4:
From { G i } i = 1 n f , sample projection predictions { w ^ R = [ u ^ R , i , v ^ R , i , u ^ L , i ] T } i = 1 n f from t = 0 to t = T t o t a l with the sampling frequency f G P .
  5:
Calculate the optical flows { w ˙ ^ i ( k ) } i = 1 n f from { w ^ i ( k ) } i = 1 n f according to Equation (27).
  6:
Initiate the UKF-GP model with Δ t G P , X ^ 0 , P 0 , Q , R , f ( X ) , h ( X ) , T t o t a l .
  7:
for   k = 1 to T t o t a l / Δ t G P  do
  8:
      Predict the state variables and the state error covariance matrix using the discrete dynamics model and the sigma points.
  9:
      Update the estimated state variables using the observation model with the GP-provided predicted projections { w ^ i ( k ) } i = 1 n f and the optical flows { w ˙ ^ i ( k ) } i = 1 n f .
10:
     k k + 1
11:
end for

3. Results and Discussion

In order to demonstrate the effectiveness of the proposed UKF-GP algorithm over the conventional UKF model to estimate the rotational motion and inertia parameters of a non-cooperative and tumbling target space object, we conducted Monte Carlo (MC) simulations for different tumbling frequencies, and the results are presented in this section. First, we present the MC simulation results regarding the GP models to portray the prediction accuracy of the GP models, which are followed by the MC simulation results regarding the UKF-GP and conventional UKF algorithms.
The common simulation parameters for the MC simulations of GP and UKF-GP are provided below:
  • Discrete-time intervals: Δ t = Δ t g p = 1 s;
  • Sensor measurement sampling rate: f s = 1 Hz;
  • Principal axes inertia parameters of the target: I x = 90 kgm 2 , I x = 100 kgm 2 , I z = 112 kgm 2 ;
  • Tumbling frequencies: f T = 0.025 , 0.075 , 0.125 , and 0.175 Hz (the corresponding polhode periods T p = 441.045 s, 147.015 s, 88.209 s, and 63.006 s, respectively);
  • Initial angular velocities in B : ω 0 B = 2 π f T [ 0.67 , 0.33 , 0.67 ] T rad/s;
  • Initial attitude quaternion: q 0 = [ 1 , 0 , 0 , 0 ] T ;
  • Standard deviation of the projection measurement: σ p = 10 5 rad.
The sensor measurement frequency f s is assumed to be 1 Hz because visual camera sensors have a slower sampling frequency [1], and this value was considered by similar works that were previously conducted [6,7]. Both the tumbling frequency f T and the sensor measurement frequency f s influence the prediction performance of the GP models. We considered f s to be at least five times f T , which we determined by trial and error using the following reasons. This criterion is set to ensure that the fluctuations of the projection measurements are properly captured in the training dataset and that the GP models can provide good predictions. Since f s = 1 Hz is assumed to be fixed in our work, f T should be below 0.20 Hz, and we considered the f T values in this study accordingly. Note that this is a drawback that is caused by the selected sensor with low measurement frequency, not by the GP algorithm itself. Additionally, the considered standard deviation of the projection measurements σ p is also assumed by previous similar studies [6,7]. Moreover, the necessary mathematical equations to calculate the polhode period T p given the principal inertia parameters and the initial angular velocity are provided in Appendix B and adapted from [34].
All results presented in this section were obtained by conducting simulations on a desktop computer with 12th Gen Intel ® Core TM i7-12700 (3.60 GHz) and 32 GB of RAM. Additionally, we used a Python-based open-source Gaussian process framework, ‘GPy’ [36], for generating GP models. The hyper-parameter optimization was performed by implementing the ‘L-BFGS’ optimizer.

3.1. Prediction Performance of the GP

Before demonstrating the estimation performance of the proposed UKF-GP algorithm, we present the prediction accuracy of the GP models in varying scenarios. For this task, we conducted MC simulations for four tumbling frequencies and nine different training data time spans. The specific simulation parameters for these MC simulations are given below:
  • Number of features: n f = 1 ;
  • Position of the feature in B : p B = [ 1 , 1 , 1 ] T m;
  • Training data time-span: T t r a i n = 75 , 100, 200, 500, 1000, 1500, 2000, 2500, and 3000 s;
  • Duration of prediction: T p r e d i c t = T t o t a l T t r a i n = 2000 s;
  • Number of runs: n r u n = 20 .
To compare the prediction performances among the GP models in different scenarios, we calculated the root mean square error (RMSE) of the predicted projection vector { w ^ i } i = 1 n f from k = T t r a i n / Δ t to k = ( T t r a i n + T p r e d i c t ) / Δ t , in other words, for 2000 time steps starting from k = T t r a i n / Δ t . The box plots of the RMSE distributions and the GP model train time for all MC runs are provided in Figure 4.
In Figure 4a, the RMSE vs. the training data time span T t r a i n box plots are provided, where we can observe the gradual decrease in the RMSEs for all f T as T t r a i n increases. For f T = 0.025 Hz and the first three values of T t r a i n , significantly high RMSEs were observed, indicating that GP models are incapable of generating highly accurate projection predictions in these scenarios due to the lack of sufficient training data. However, for T t r a i n 1000 s 2 T p , GP models can predict projections with RMSEs on the scale of 10 6 rad, which shows the GP models’ prediction accuracy with longer T t r a i n .
For f T = 0.075 Hz, a similar trend of the RMSE over T t r a i n was observed, but the drop of the RMSEs occured at a smaller value of T t r a i n . For T t r a i n = 75 and 100 s, the RMSEs were very high but suddenly dropped below 10 5 rad at T t r a i n = 200 s 3.4 T p . For higher T t r a i n , the RMSEs remained below 10 5 rad, which illustrated the highly accurate prediction ability of the GP models in these scenarios.
For f T = 0.125 and T t r a i n = 75 and 100 s, the RMSEs were quite high due to insufficient training data. However, starting from T t r a i n = 200 s 2.26 T p , the RMSE distribution was mostly on the scale of 10 5 rad and below 10 5 rad for higher T t r a i n .
The box plots for f T = 0.175 Hz at smaller values of T t r a i n show a more interesting trend. While for all other f T at T t r a i n = 75 and 100 s, the spans of the RMSE box plots were very narrow, the spans for f T = 0.175 Hz at these T t r a i n were quite long. These long spans of the box plots indicate that even at these smaller T t r a i n and smaller-sized datasets, the GP models in some of the MC runs managed to be trained properly; therefore, in those runs, the prediction accuracy was acceptable. In particular, at T t r a i n = 100 s, in more than 50% of the runs, the GP models generated good projection predictions as the median line was observed to be in the scale 10 5 rad. For T t r a i n = 200 s 3.17 T p , the RMSE distribution was mostly on the scale of 10 5 rad, which was below 10 5 for T t r a i n 500 s.
From the above analysis, it is evident that the minimum duration of the training data time span T t r a i n to create GP models capable of generating quality predicted projections is about 3 T p . However, this empirical relationship between T t r a i n and T p is only applicable to the considered f T . A general expression for the minimum T t r a i n to create capable GP models requires a more exhaustive investigation.
In Figure 4a, several anomalies can be observed for all tumbling frequencies except f T = 0.125 Hz. These anomalous GP models were not properly trained because, occasionally, the optimization algorithm got stuck at some local minima during the hyper-parameter training process; thus, non-optimal values were selected as the model hyper-parameters. The occurrence of these anomalies may have been avoided if a global optimizer was used, which is a more computationally expensive choice.
The training time box plots provided in Figure 4b exhibit that the training time spanning from a few seconds to a few hours has a rather logarithmic relationship with the training data time span regardless of the choice of f T . In combination, Figure 4a,b helps to conclude that T t r a i n = 1000 s is the optimal choice of T t r a i n to train good GP models, which are capable of providing highly accurate predictions for thousands of seconds while the model training time requires only a few minutes.

3.2. Prediction Performance of UKF-GP

The MC simulations to demonstrate the effectiveness of the UKF-GP algorithm were conducted for four f T values and one T t r a i n value. The details of the MC simulations of the UKF-GP models are provided below:
  • Total simulation duration: T t o t a l = 3000 s.
  • Duration of the sensor data availability: T t r a i n = 1500 s.
  • Duration of the occlusion: T p r e d i c t = 1500 s.
  • Number of features: n f = 5 .
  • User-defined constant parameters: α = 0.1 , β = 2 , κ = 0 (from [26]).
  • Position of the features in B :
    Feature 1: p 1 B = [ 0.1302 , 0.6648 , 0.2264 ] T m;
    Feature 2: p 2 B = [ 1.0343 , 1.4858 , 1.1352 ] T m;
    Feature 3: p 3 B = [ 0.5122 , 0.9775 , 1.0898 ] T m;
    Feature 4: p 4 B = [ 0.2252 , 1.1739 , 0.8723 ] T m;
    Feature 5: p 5 B = [ 0.9440 , 1.1748 , 0.8409 ] T m.
  • Initial guesses of the state variables:
    ω ^ 0 B = 1.75 ω B ( 0 ) rad/s;
    q ^ 0 = [ 0.9707 , 0.1386 , 0.13860 , 0.1386 ] T ;
    k ^ 1 = k ^ 2 = 0 ;
    p ^ i B = p i B + [ 0.7 , 0.7 , 0.7 ] T m.
  • Standard deviation of the measurement noise of the optical flow:
    For f T = 0.025 Hz, σ w = 10 5 rad/s;
    For f T = 0.075 Hz, σ w = 5 × 10 4 rad/s;
    For f T = 0.125 Hz, σ w = 5 × 10 4 rad/s;
    For f T = 0.175 Hz, σ w = 10 3 rad/s.
  • Standard deviation of the measurement noise of the disparity: σ d = σ p = 10 5 rad.
  • Variances for the initial state error covariance matrix:
    Variance of ω B : Σ ω P = 0.1225 [ 1 , 1 , 1 ] rad 2 /s 2 ;
    Variance of q : Σ q P = 0.04 [ 1 , 1 , 1 , 1 ] ;
    Variance of k 1 and k 2 : Σ k 1 P = Σ k 2 P = 0.01 ;
    Variance of p i B : Σ p i P = 2.25 [ 1 , 1 , 1 ] m 2 .
  • Variances in the process noise covariance matrix:
    Variance in ω B :
    For f T = 0.025 Hz, Σ ω Q = 2.5 × 10 9 [ 1 , 1 , 1 ] rad 2 /s 2 ;
    For f T = 0.075 Hz, Σ ω Q = 2.5 × 10 7 [ 1 , 1 , 1 ] rad 2 /s 2 ;
    For f T = 0.125 Hz, Σ ω Q = 2.5 × 10 5 [ 1 , 1 , 1 ] rad 2 /s 2 ;
    For f T = 0.175 Hz, Σ ω Q = 2.5 × 10 5 [ 1 , 1 , 1 ] rad 2 /s 2 .
    Variance in q :
    For f T = 0.025 Hz, Σ q Q = 4 × 10 10 [ 1 , 1 , 1 , 1 ] ;
    For f T = 0.075 Hz, Σ q Q = 4 × 10 8 [ 1 , 1 , 1 , 1 ] ;
    For f T = 0.125 Hz, Σ q Q = 4 × 10 6 [ 1 , 1 , 1 , 1 ] ;
    For f T = 0.175 Hz, Σ q Q = 4 × 10 6 [ 1 , 1 , 1 , 1 ] .
    Variance in k 1 and k 2 : Σ k 1 Q = Σ k 2 Q = 3.6 × 10 5 .
    Variance in p i B : Σ p i Q = 10 6 [ 1 , 1 , 1 ] m 2 .
In this study, the selection of the number of features n f was adopted from a previous study [7]. Also, the standard deviations of the optical flow measurement noise were obtained from FDM. Additionally, the diagonal variance components of P 0 and Q matrices were chosen manually by trial and error.
To illustrate the superiority of the UKF-GP model over the conventional UKF model, we conducted MC simulations of UKF under long-term occlusion with the same setup as that of UKF-GP. Moreover, MC simulations of the UKF model without long-term occlusion were also performed, and the results are presented along with UKF and UKF-GP as a benchmark so that the reader can easily compare the superior performance of UKF-GP to that of UKF. In the subsequent figures, the results of UKF with and without long-term occlusion are denoted by the ’UKF’ and ’Benchmark’, respectively.
Before presenting the MC simulation results, we provide the estimation error performances of UKF, Benchmark, and UKF-GP for a single run so that the reader can easily observe the performance differences among the considered approaches. The log-scale plots of the absolute estimation errors of ω ^ B , q ^ , k ^ 1 , k ^ 2 , and p ^ 1 B obtained from UKF, Benchmark, and UKF-GP are provided in Figure 5, Figure 6, Figure 7 and Figure 8 for f T = 0.025 , 0.075 , 0.125 , and 0.175 Hz, respectively.
Figure 5 shows that for f T = 0.025 Hz and UKF, the absolute estimation errors of the ω ^ B components rapidly decrease at the beginning and mostly stay below 10 3 rad/s from t = 300 s until the beginning of occlusion at t = 1500 s, which is the same for Benchmark. However, once the occlusion starts at t = 1500 s, the estimation errors rapidly diverge, and the upper limit of the errors reaches the scale of 10 1 rad/s. The divergence of error occurs because the UKF model cannot be updated during occlusion due to the lack of stereo-camera observations; hence, only the propagation of the ω ^ B according to the dynamics model cannot provide reliable estimates. Similar behavior was observed for the estimation error of q ^ , where the errors quickly converge at the beginning and the errors remain below 10 2 , but during occlusion, the diverging errors exceed the value of 1. The state variables k 1 , k 2 , and p 1 B are constant parameters which do not change with time. Hence, their estimates k ^ 1 , k ^ 2 , and p ^ 1 B keep converging before occlusion because of the availability of the camera measurements, but during occlusion, they retain their values after the last update. Since the estimation errors of these parameters already reach smaller values ( 10 3 ) by the time occlusion is initiated, they remain the same throughout the entire span of occlusion.
From Figure 5, we observe that the performance of UKF-GP is very similar to that of UKF and Benchmark before occlusion, as the estimation errors of the state variables rapidly converge at the beginning and remain small before occlusion. However, the main contrast between UKF-GP and UKF is clearly visible during occlusion. Unlike UKF, UKF-GP manages to stop the divergence of the rotational motion variable estimates ω ^ B and q ^ during occlusion and the errors are comparable with that of Benchmark. Also, the errors are confined by the 3 σ uncertainty boundaries for UKF-GP during occlusion, which is not observed for UKF. These improvements result from the highly accurate projection estimates { w ^ i } i = 1 n f from the GP models and the optical flow estimates { w ˙ ^ i } i = 1 n f , which are used as the pseudo-measurements for UKF-GP during occlusion. For k ^ 1 , k ^ 2 , and p ^ 1 B , the estimation errors of UKF-GP also mimic that of Benchmark.
For f T = 0.075 Hz, the state estimation errors from UKF and UKF-GP behave similarly to the previous scenario, as seen in Figure 6. The estimation errors of ω ^ B and q ^ from UKF converge at the beginning and remain small before t = 1500 s for UKF but quickly diverge to considerably high values during occlusion. Contrary to that, the state estimation errors of UKF-GP remain significantly small throughout the entire duration except for the initial convergence, which is similar to Benchmark.
The most notable observation from the estimation errors plots for f T = 0.125 Hz in Figure 7 is that ω ^ B errors diverge exponentially from t = 2000 s to t = 2438 s for UKF during occlusion. At the end, the order of magnitude of ω ^ B errors reaches 6. The simulation is forced to stop here because the covariances of ω ^ B reaches virtually infinity at this point. During occlusion, the errors of q ^ for UKF also become significantly high, whereas the other state variable errors remain constant and small. On the other hand, UKF-GP continues to provide reliable estimates of all state variables as before throughout the entire simulation. Similar observations about the state estimations errors from UKF and UKF-GP are made for f T = 0.175 Hz, except the UKF simulation stops at t = 1993 s due to the extremely high covariances associated with ω ^ B .
The MC simulation results of UKF, Benchmark, and UKF-GP for four f T values are provided in Figure 9, where we present the box plots of the RMSEs of the estimations of the state variables during occlusion from t = 1500 s until t = 3000 s. First, we will point our focus towards the box plots corresponding to the RMSEs of ω ^ B shown in Figure 9a. The RMSE distributions of UKF are located at the higher orders of magnitudes ( 1 for 0.025 Hz and 0.075 Hz and 4 to 5 for 0.125 Hz and 0.175 Hz) compared to the RMSE distributions of Benchmark. This discrepancy indicates that the UKF-estimated ω ^ B diverges during occlusion for all runs and all tumbling frequencies. The significantly high magnitudes of the RMSE of UKF at the higher tumbling frequencies also indicate that at the end of the simulations, ω ^ B diverges exponentially, which we have observed in Figure 7 and Figure 8. However, for UKF-GP, the RMSE distributions are either below (0.075 Hz) or at the same level as the distributions of Benchmark (0.125 Hz and 0.175 Hz) at all f T values except 0.025 Hz.
The RSME distribution of UKF-GP at 0.025 Hz spans from the scale of 10 4 rad/s to 10 1 rad/s, and the median is on the scale of 10 3 rad/s. This long span is due to the fact that among 20 runs, UKF-GP provides reliable ω ^ B in 10 runs, and in the other 10 runs, UKF-GP is not so accurate at the estimation task. It turns out that among a total of 100 GP models (five GP models for five features per run), 15 GP models in 10 runs could not be trained properly, which affects the estimation performance of UKF-GP in those runs. UKF-GP is largely affected by this issue, particularly at f T = 0.025 Hz because the corresponding T p = 441.045 s, which means that T t r a i n = 1500 s is only 3.4 times T p , whereas for the other frequencies with shorter T p , T t r a i n is 10.2, 17.005, 23.807 times T p . With a relatively small number of training data, the GP models get less chance to learn about the underlying periodic trends from the training data for f T = 0.025 Hz compared to the other f T values.
Similar trends are observed for the RMSE box plots of q ^ in Figure 9b. The RMSEs of UKF in all runs have significantly higher values (on a scale of 1) compared to that of Benchmark (on a scale of 10 3 ). Except for 0.025 Hz, UKF-GP’s RMSE boxes are either significantly below (0.075 Hz) or close to the boxes of Benchmark (0.125 Hz and 0.175 Hz). The box of UKF-GP at 0.025 Hz has a very long span due to some improperly trained GP models, as we have explained above.
The box plots for k ^ 1 and k ^ 2 in Figure 9c,d show that the RMSEs of UKF are in smaller scales ( 10 3 or less), unlike the rotational motion variables. This happens for two reasons: first, the k 1 and k 2 are inertia parameters that do not change with time and during occlusion, their estimations cannot be updated anymore, resulting in constant errors. Second, by the time when the occlusion starts ( t = 1500 s), the k ^ 1 and k ^ 2 have already reached close to the truth, and the errors have become quite small. Therefore, the errors remain constant and small during the occlusion, and as a result, the order of magnitude of the corresponding RMSEs is small. The RMSEs of UKF-GP also remain small and are comparable to Benchmark for all tumbling frequencies except for 0.025 Hz.
Finally, the box plots for { p ^ i B } i = 1 5 are provided in Figure 9e–i. For UKF, the errors do not change during the occlusion because of the reason explained above, and as a result, the corresponding RMSEs are quite small ( 10 2 m or smaller). Similarly, the RMSEs of UKF-GP also remain small ( 10 2 m or smaller) except 0.025 Hz.
For UKF-GP and all f T except 0.025 Hz, we can observe a small number of anomalies, which are indicated by the ‘+’ symbol in Figure 9. These anomalies are attributed to a few GP models that are not trained properly. These GP models could not provide highly accurate estimates of the projections of the corresponding features, which affected the estimation accuracy of UKF-GP.

4. Conclusions

This study proposes an unscented Kalman filter–Gaussian process (UKF-GP) fusion algorithm, which provides reliable estimates of the rotational motion variables and the inertia parameters of a non-cooperative tumbling target space object under long-term occlusions (unavailability of sensor measurements for hundreds or thousands of seconds). We assumed that a stereo-camera system onboard a chaser spacecraft provides projection information of multiple point features of the target. The collected projection data were used as training data for multi-output GP models, and we utilized periodic kernels to capture the periodic trends from non-periodic and noisy projection measurements. The initial guesses of the periodicity hyper-parameters were obtained from the fast Fourier transform (FFT) analysis of the projection data as a way to improve the hyper-parameter training procedure. Once trained, the GP models provided the predicted projection information regarding the features. Then, optical flows were obtained from the finite difference method (FDM) and predicted projections. Finally, predicted projections and optical flows were used as the pseudo-measurements for the UKF-GP algorithm during long-term occlusion.
To validate the capabilities of the GP models and the proposed UKF-GP algorithm, Monte Carlo (MC) simulations were performed for four tumbling frequencies: 0.025, 0.075, 0.125, and 0.175 Hz. The MC simulations of the GP models demonstrated that the GP models can provide highly accurate projection prediction (RMSEs in the scale of 10 6 rad) for 2000 s and for all considered tumbling frequencies if the time span of the training data is approximately three times the polhode period or longer. The MC simulations conducted for UKF-GP show that throughout the entire duration of the simulations and for all tumbling frequencies except 0.025 Hz, UKF-GP can provide reliable estimates of the rotational motion variables for 1500 s long occlusion, which are as good as the estimates from Benchmark (conventional UKF without the long term occlusion). On the contrary, the estimates from the conventional UKF algorithm diverged once occlusion begins. It was also observed that both the UKF and UKF-GP algorithms can provide good estimates of the inertia parameters and the feature positions in the body frame during occlusion, except for UKF-GP at 0.025 Hz. UKF-GP cannot perform well in 50% of the runs for the tumbling frequency of 0.025 Hz because of the lack of sufficient training data. Overall, it is evident from the results that the UKF-GP algorithm outperforms the conventional UKF algorithm by a large margin in estimating the rotational motion variables and the inertia parameters of a non-cooperative tumbling target object under long-term occlusions.
In the future, we plan to enhance the UKF-GP algorithm so that both the relative rotational and translational motion variables of a target space object can be estimated during long-term occlusions. Also, we aim to make the UKF-GP algorithm compatible with a varying number of features instead of a fixed number of features, as assumed in this study. Finally, we will validate the effectiveness of the UKF-GP algorithm in an experimental setup.

Author Contributions

Conceptualization, X.B. and R.H.K.; methodology, X.B. and R.H.K.; software, R.H.K.; validation, X.B. and R.H.K.; formal analysis, X.B. and R.H.K.; investigation, R.H.K.; resources, X.B. and R.H.K.; data curation, R.H.K.; writing—original draft preparation, R.H.K.; writing—review and editing, X.B. and R.H.K.; visualization, R.H.K.; supervision, X.B.; project administration, X.B.; funding acquisition, X.B. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Air Force Office of Scientific Research (AFOSR), grant number FA9550-22-1-0364.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The datasets presented in this article are not readily available because the data are part of an ongoing study. Requests to access the datasets should be directed to xiaoli.bai@rutgers.edu.

Conflicts of Interest

The authors declare no conflicts of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript; or in the decision to publish the results.

Abbreviations

The following abbreviations are used in this manuscript:
UKFUnscented Kalman filter
GPGaussian process
FFTFast Fourier transform
LCSLaser camera system
EKFExtended Kalman filter
IEKFIterated extended Kalman filter
MCMonte Carlo
CoMBiNaCoarse model-based relative navigation
SLAMSimultaneous localization and mapping
MLMachine learning
SPGPSparse pseudo-input Gaussian process
RBFRadial basis function
DVQ-MANNDual-vector quaternion-based mixed artificial neural network
DVQ-EKFDual-vector quaternion-based extended Kalman filter
CMCenter of mass
COPCenter of projection
SURFSped-up robust features
SIFTScale invariant feature transform
L-BFGS            Limited-memory Broyden–Fletcher–Goldfarb–Shanno
RMSERoot mean square error

Appendix A. Determination of Expressions of w ˙ R and w ˙ L

For the projections on the right camera plane, we first take the time derivatives of u R , i and v R , i :
u ˙ R , i = f x i ˙ y i x i y i 2 y i ˙ ,
v ˙ R , i = f z i ˙ y i z i y i 2 y i ˙ .
Now, x i ˙ , y i ˙ , and z i ˙ are the components of the rate of change in ρ i I , which is the position of the feature w. r. t., the chaser CM expressed in I . The expression for ρ i I is repeated below:
ρ i I = ρ 0 I + [ C I B ] T · p i B = ρ 0 I + p i I .
Since ρ 0 I is constant, ρ ˙ i I is zero. Therefore, we can write the velocity expression as follows:
v I = ρ ˙ i I = ω I × p i I = ω I × ( ρ i I ρ i I ) ,
x ˙ i y ˙ i z ˙ i = ω y I ( z i z 0 ) ω z I ( y i y 0 ) ω z I ( x i x 0 ) ω x I ( z i z 0 ) ω x I ( y i y 0 ) ω y I ( x i x 0 ) .
Replacing x ˙ i and y ˙ i in Equation (A1), we get
u ˙ R , i = f x i ˙ y i x i y i 2 y i ˙ = f ω y I ( z i z 0 ) I ω z ( y i y 0 ) y i x i y i 2 ( I ω z ( x i x 0 ) I ω x ( z i z 0 ) ) u ˙ R , i = f x i ( z i z 0 ) y i 2 ω x I + ( z i z 0 ) y i ω y I y i y 0 y i + x i ( x i x 0 ) y i 2 ω z I .
Similarly, for v ˙ R , we can write the following:
v ˙ R , i = f ω x I ( y i y 0 ) I ω y ( x i x 0 ) y i z i y i 2 ( I ω z ( x i x 0 ) I ω x ( z i z 0 ) ) ) = f y i y 0 y i + z i ( z i z 0 ) y i 2 ω x I ( x i x 0 ) y i ω y I z i ( x i x 0 ) y i 2 ω z I .
Together, u ˙ R , i and v ˙ R , i can be written in the matrix format as follows:
w ˙ R , i = u ˙ R , i v ˙ R , i = A R , i · ω I = x i ( z i z 0 ) y i 2 ( z i z 0 ) y i y i y 0 y i + x i ( x i x 0 ) y i 2 y i y 0 y i + z i ( z i z 0 ) y i 2 ( x i x 0 ) y i z i ( x i x 0 ) y i 2 ω x I ω y I ω z I .
The expression for w ˙ L , i is very similar to that of w ˙ R , i with a slight change to account for the distance between the cameras. The expression can be obtained simply by replacing x 0 and x i with x 0 + b and x i + b in Equation (A7). Note that v ˙ L , i = v ˙ R , i since v L , i = v R , i .
w ˙ L , i = u ˙ L v ˙ L = A L , i · ω I = ( x i + b ) ( z i z 0 ) y i 2 ( z i z 0 ) y i y i y 0 y i + ( x i + b ) ( x i x 0 ) y i 2 y i y 0 y i + z i ( z i z 0 ) y i 2 ( x i x 0 ) y i z i ( x i x 0 ) y i 2 ω x I ω y I ω z I .

Appendix B. Determination of the Polhode Period T p

Given that an object with the principal inertia parameters I 1 , I 2 , and I 3 is experiencing a torque-free tumbling motion, the magnitude of the angular momentum M and the total rotational energy E can be calculated from the following equations:
M = | | M | | 2 = | | I · ω 0 B | | 2 = I 1 2 ω x , 0 B + I 2 2 ω y , 0 B + I 3 2 ω z , 0 B ,
E = 1 2 ω 0 B · I · ω 0 B = 1 2 ( I 1 2 ω x , 0 2 B + I 2 2 ω y , 0 2 B + I 3 2 ω z , 0 2 B ) .
Then, considering that I 1 < I 2 < I 3 and M 2 > 2 E I 2 , the polhode period of ω B is given as follows:
T ( E , M , I 1 , I 2 , I 3 ) = 4 K ( m ( E , M , I 1 , I 2 , I 3 ) 2 ) ( I 3 I 2 ) ( M 2 2 E I 1 ) I 1 I 2 I 3 ,
where
m ( E , M , I 1 , I 2 , I 3 ) = ( I 2 I 1 ) ( 2 E I 3 M 2 ) ( I 3 I 2 ) ( M 2 2 E I 1 ) ,
and K ( m 2 ) is the Complete Elliptic Integral of the First Kind which is mathematically written as
K ( m 2 ) = 0 π / 2 d θ 1 m 2 sin 2 θ .

References

  1. Aghili, F.; Parsa, K. Motion and parameter estimation of space objects using laser-vision data. J. Guid. Control Dyn. 2009, 32, 538–550. [Google Scholar] [CrossRef]
  2. Dani, A.; Panahandeh, G.; Chung, S.J.; Hutchinson, S. Image moments for higher-level feature based navigation. In Proceedings of the 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems, Tokyo, Japan, 3–7 November 2013; pp. 602–609. [Google Scholar] [CrossRef]
  3. Meier, K.; Chung, S.J.; Hutchinson, S. Visual-inertial curve simultaneous localization and mapping: Creating a sparse structured world without feature points. J. Field Robot. 2018, 35, 516–544. [Google Scholar] [CrossRef]
  4. Corke, P.I.; Jachimczyk, W.; Pillat, R. Robotics, Vision and Control: Fundamental Algorithms in MATLAB, 1st ed.; Springer: Berlin/Heidelberg, Germany, 2011; Volume 73, ISBN 978-3-642-20143-1. [Google Scholar] [CrossRef]
  5. Segal, S.; Carmi, A.; Gurfil, P. Vision-based relative state estimation of non-cooperative spacecraft under modeling uncertainty. In Proceedings of the 2011 Aerospace Conference, Big Sky, MT, USA, 5–12 March 2011; pp. 1–8. [Google Scholar] [CrossRef]
  6. Segal, S.; Carmi, A.; Gurfil, P. Stereovision-based estimation of relative dynamics between noncooperative satellites: Theory and experiments. IEEE Trans. Control Syst. Technol. 2013, 22, 568–584. [Google Scholar] [CrossRef]
  7. Pesce, V.; Lavagna, M.; Bevilacqua, R. Stereovision-based pose and inertia estimation of unknown and uncooperative space objects. Adv. Space Res. 2017, 59, 236–251. [Google Scholar] [CrossRef]
  8. Chang, L.; Liu, J.; Chen, Z.; Bai, J.; Shu, L. Stereo Vision-Based Relative Position and Attitude Estimation of Non-Cooperative Spacecraft. Aerospace 2021, 8, 230. [Google Scholar] [CrossRef]
  9. Ge, D.; Wang, D.; Zou, Y.; Shi, J. Motion and inertial parameter estimation of non-cooperative target on orbit using stereo vision. Adv. Space Res. 2020, 66, 1475–1484. [Google Scholar] [CrossRef]
  10. Feng, Q.; Pan, Q.; Hou, X.; Liu, Y.; Zhang, C. A novel parameterization method to estimate the relative state and inertia parameters for non-cooperative targets. In Proceedings of the 2019 IEEE 28th International Symposium on Industrial Electronics (ISIE), Vancouver, BC, Canada, 12–14 June 2019; pp. 1675–1681. [Google Scholar]
  11. Li, Y.; Jia, Y. Stereovision-based relative motion estimation between non-cooperative spacecraft. In Proceedings of the 2019 Chinese Control Conference (CCC), Guangzhou, China, 27–30 July 2019; pp. 4196–4201. [Google Scholar]
  12. Mazzucato, M.; Valmorbida, A.; Guzzo, A.; Lorenzini, E.C. Stereoscopic vision-based relative navigation for spacecraft proximity operations. In Proceedings of the 2018 5th IEEE International Workshop on Metrology for AeroSpace (MetroAeroSpace), Rome, Italy, 20–22 June 2018; pp. 369–374. [Google Scholar]
  13. De Jongh, W.; Jordaan, H.; Van Daalen, C. Experiment for pose estimation of uncooperative space debris using stereo vision. Acta Astronaut. 2020, 168, 164–173. [Google Scholar] [CrossRef]
  14. Jiang, C.; Hu, Q. Constrained Kalman filter for uncooperative spacecraft estimation by stereovision. Aerosp. Sci. Technol. 2020, 106, 106133. [Google Scholar] [CrossRef]
  15. Jixiu, L.; Quan, Y.; Leizheng, S.; Yang, G. Relative Position and Attitude Estimation of Non-cooperative Spacecraft Based on Stereo Camera and Dynamics. J. Phys. Conf. Ser. 2021, 1924, 012025. [Google Scholar] [CrossRef]
  16. Maestrini, M.; De Luca, M.A.; Di Lizia, P. Relative navigation strategy about unknown and uncooperative targets. J. Guid. Control Dyn. 2023, 46, 1708–1725. [Google Scholar] [CrossRef]
  17. Wang, X.; Wang, Z.; Zhang, Y. Stereovision-based relative states and inertia parameter estimation of noncooperative spacecraft. Proc. Inst. Mech. Eng. Part G J. Aerosp. Eng. 2019, 233, 2489–2502. [Google Scholar] [CrossRef]
  18. Hillenbrand, U.; Lampariello, R. Motion and parameter estimation of a free-floating space object from range data for motion prediction. In Proceedings of the i-SAIRAS, Munich, Germany, 5–8 September 2005; Available online: https://elib.dlr.de/55779/1/Lampariello-isairas_05.pdf (accessed on 20 January 2025).
  19. Tweddle, B.E. Computer Vision-Based Localization and Mapping of an Unknown, Uncooperative and Spinning Target for Spacecraft Proximity Operations. Ph.D. Thesis, Massachusetts Institute of Technology, Cambridge, MA, USA, 2013. Available online: http://hdl.handle.net/1721.1/85693 (accessed on 20 January 2025).
  20. Benninghoff, H.; Boge, T. Rendezvous involving a non-cooperative, tumbling target-estimation of moments of inertia and center of mass of an unknown target. In Proceedings of the 25th International Symposium on Space Flight Dynamics, München, Germany, 19–23 October 2015; Available online: https://elib.dlr.de/100186/ (accessed on 20 January 2025).
  21. Yu, M.; Luo, J.; Wang, M.; Liu, C.; Sun, J. Sparse Gaussian processes for multi-step motion prediction of space tumbling objects. Adv. Space Res. 2023, 71, 3775–3786. [Google Scholar] [CrossRef]
  22. Hou, X.; Yuan, J.; Ma, C.; Sun, C. Parameter estimations of uncooperative space targets using novel mixed artificial neural network. Neurocomputing 2019, 339, 232–244. [Google Scholar] [CrossRef]
  23. Barbier, T. Space Debris State Estimation Onboard a Chaser Spacecraft. Ph.D. Thesis, University of Surrey, Guildford, UK, 2023. [Google Scholar] [CrossRef]
  24. Kamath, A.; Vargas-Hernández, R.A.; Krems, R.V.; Carrington, T.; Manzhos, S. Neural networks vs Gaussian process regression for representing potential energy surfaces: A comparative study of fit quality and vibrational spectrum accuracy. J. Chem. Phys. 2018, 148, 241702. [Google Scholar] [CrossRef] [PubMed]
  25. Ko, J.; Klein, D.J.; Fox, D.; Haehnel, D. GP-UKF: Unscented Kalman filters with Gaussian process prediction and observation models. In Proceedings of the 2007 IEEE/RSJ International Conference on Intelligent Robots and Systems, San Diego, CA, USA, 29 October–2 November 2007; pp. 1901–1907. [Google Scholar] [CrossRef]
  26. Labbe, R. Kalman and Bayesian Filters in Python. Available online: https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python (accessed on 22 November 2024).
  27. Crassidis, J.L.; Junkins, J.L. Optimal Estimation of Dynamic Systems, 1st ed.; Chapman and Hall/CRC: New York, NY, USA, 2004; ISBN 9780429211706. [Google Scholar] [CrossRef]
  28. Lowe, D.G. Distinctive image features from scale-invariant keypoints. Int. J. Comput. Vis. 2004, 60, 91–110. [Google Scholar] [CrossRef]
  29. Sharma, S.; DAmico, S. Comparative assessment of techniques for initial pose estimation using monocular vision. Acta Astronautica 2016, 123, 435–445. [Google Scholar] [CrossRef]
  30. Capuano, V.; Kim, K.; Harvard, A.; Chung, S.J. Monocular-based pose determination of uncooperative space objects. Acta Astronaut. 2020, 166, 493–506. [Google Scholar] [CrossRef]
  31. Heeger, D.J.; Jepson, A.D. Subspace methods for recovering rigid motion I: Algorithm and implementation. Int. J. Comput. Vis. 1992, 7, 95–117. [Google Scholar] [CrossRef]
  32. Alvarez, M.A.; Rosasco, L.; Lawrence, N.D. Kernels for vector-valued functions: A review. Found. Trends® Mach. Learn. 2012, 4, 195–266. [Google Scholar] [CrossRef]
  33. Rasmussen, C.E.; Williams, C.K. Gaussian Processes for Machine Learning; MIT Press: Cambridge, MA, USA, 2006; ISBN 026218253X. [Google Scholar] [CrossRef]
  34. Mecholsky, N.A. Analytic formula for the geometric phase of an asymmetric top. Am. J. Phys. 2019, 87, 245–254. [Google Scholar] [CrossRef]
  35. Ferziger, J.H.; Perić, M.; Street, R.L. Computational Methods for Fluid Dynamics, 4th ed.; Springer: Berlin, Germany, 2019; ISBN 978-3-319-99693-6. [Google Scholar] [CrossRef]
  36. GPy: A Gaussian Process Framework in Python. Available online: http://github.com/SheffieldML/GPy (accessed on 22 November 2024).
Figure 1. Schematic of the simulation scenario. The left spacecraft (chaser) is a cooperative spacecraft carrying a stereo-camera system, and the right one (target) is a torque-free, tumbling, non-cooperative space object. I is the inertial frame, and B is the body frame of the target that is parallel to the principal axes of the target. The target’s point features are indicated by the asterisk symbols.
Figure 1. Schematic of the simulation scenario. The left spacecraft (chaser) is a cooperative spacecraft carrying a stereo-camera system, and the right one (target) is a torque-free, tumbling, non-cooperative space object. I is the inertial frame, and B is the body frame of the target that is parallel to the principal axes of the target. The target’s point features are indicated by the asterisk symbols.
Sensors 25 00647 g001
Figure 2. Schematic of the stereo-vision camera system.
Figure 2. Schematic of the stereo-vision camera system.
Sensors 25 00647 g002
Figure 3. Flowchart of the UKF-GP algorithm.
Figure 3. Flowchart of the UKF-GP algorithm.
Sensors 25 00647 g003
Figure 4. Results from the MC simulations for the GP models. (a) RMSE box plots of the predicted projections for 2000 s, and (b) the training time of the GP model.
Figure 4. Results from the MC simulations for the GP models. (a) RMSE box plots of the predicted projections for 2000 s, and (b) the training time of the GP model.
Sensors 25 00647 g004
Figure 5. State variable estimation errors of UKF, Benchmark, and UKF-GP for f T = 0.025 Hz.
Figure 5. State variable estimation errors of UKF, Benchmark, and UKF-GP for f T = 0.025 Hz.
Sensors 25 00647 g005aSensors 25 00647 g005b
Figure 6. State variable estimation errors of UKF, Benchmark, and UKF-GP for f T = 0.075 Hz.
Figure 6. State variable estimation errors of UKF, Benchmark, and UKF-GP for f T = 0.075 Hz.
Sensors 25 00647 g006aSensors 25 00647 g006b
Figure 7. State variable estimation errors of UKF, Benchmark, and UKF-GP for f T = 0.125 Hz.
Figure 7. State variable estimation errors of UKF, Benchmark, and UKF-GP for f T = 0.125 Hz.
Sensors 25 00647 g007aSensors 25 00647 g007b
Figure 8. State variable estimation errors of UKF, Benchmark, and UKF-GP for f T = 0.175 Hz.
Figure 8. State variable estimation errors of UKF, Benchmark, and UKF-GP for f T = 0.175 Hz.
Sensors 25 00647 g008
Figure 9. RMSEs of the state estimation errors of UKF, Benchmark, and UKF-GP for 1500 s of occlusion from MC simulations. All figures have the same legend; therefore, the legend is only provided in (a).
Figure 9. RMSEs of the state estimation errors of UKF, Benchmark, and UKF-GP for 1500 s of occlusion from MC simulations. All figures have the same legend; therefore, the legend is only provided in (a).
Sensors 25 00647 g009
Table 1. Format of the training dataset D i .
Table 1. Format of the training dataset D i .
InputOutput
Time, t Projection Components, w ˜ i [rad]
[sec] u R Component v R Component u L Component
t ( 1 ) u ˜ R , i ( 1 ) v ˜ R , i ( 1 ) u ˜ L , i ( 1 )
t ( 2 ) u ˜ R , i ( 2 ) v ˜ R , i ( 2 ) u ˜ L , i ( 2 )
t ( k ) u ˜ R , i ( k ) v ˜ R , i ( k ) u ˜ L , i ( k )
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.

Share and Cite

MDPI and ACS Style

Kabir, R.H.; Bai, X. Motion and Inertia Estimation for Non-Cooperative Space Objects During Long-Term Occlusion Based on UKF-GP. Sensors 2025, 25, 647. https://doi.org/10.3390/s25030647

AMA Style

Kabir RH, Bai X. Motion and Inertia Estimation for Non-Cooperative Space Objects During Long-Term Occlusion Based on UKF-GP. Sensors. 2025; 25(3):647. https://doi.org/10.3390/s25030647

Chicago/Turabian Style

Kabir, Rabiul Hasan, and Xiaoli Bai. 2025. "Motion and Inertia Estimation for Non-Cooperative Space Objects During Long-Term Occlusion Based on UKF-GP" Sensors 25, no. 3: 647. https://doi.org/10.3390/s25030647

APA Style

Kabir, R. H., & Bai, X. (2025). Motion and Inertia Estimation for Non-Cooperative Space Objects During Long-Term Occlusion Based on UKF-GP. Sensors, 25(3), 647. https://doi.org/10.3390/s25030647

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop