1 Reference scenario

The reference mission for the validation of integrated GNC (iGNC) on-board software (OBSW) is the Mars sample return as defined in the Mars sample return Orbiter (MSRO) study. This paper focuses on the rendezvous phase, from search of the orbiting sample (OS) after separation from the Mars ascent vehicle (MAV) up to the capture of the OS by mean of the capture mechanism installed on the Orbiter satellite. The chaser vehicle is the Mars sample return (MSR) Orbiter, while the target is the 23 cm diameter spherical container. Nominally, the Orbiter is on a 300 × 610 km orbit, while the OS is on a 535 × 535 km orbit. MAV injection errors of 70 km 3-sigma in semi-major axis are assumed, in line with MSRO inputs. Also, different types of MAV failures leading in general to elliptical OS orbits will be considered during the test campaign.

At sensor level, the MSR Orbiter uses two inertial measurement units in hot redundancy, two Star-Trackers in cold redundancy, two narrow angle cameras (NAC) in hot redundancy and an RF-Doppler to be used to aid navigation during search phase.

2 Obsw architecture overview

Figure 1 shows the iGNC high-level OBSW architecture. It is organized as a three-layer architecture in which:

Fig. 1
figure 1

iGNC OBSW architecture

  • the autonomous mission management (AMM) and the system health monitoring (SHM) are part of a supervisory level

  • manoeuvre decision logic (MDL) and safety monitoring belong to execution level

  • control, navigation, attitude guidance, translational guidance library and actuator management function belong to the regulatory (or functional) level.

A very high level of on-board autonomy is targeted, limiting ground intervention to:

  • Uploading updates of mission plans or on-board functions parameters.

  • Uploading updates of Orbiter orbit determination, based on Delta Differential One-way Range (DDOR) measurements.

  • Uploading GO/NO-GO commands to confirm/forbid mission continuation in critical phases (e.g. start forced motion and capture phase) based on analysis of telemetry.

    • Uploading forces or torques computed on-ground in case of major contingencies preventing the full spacecraft autonomy.

It is possible to command high-level goals highly simplifying the operations. The plans that the spacecraft uses (pre-stored or received from ground) contain high-level intermediate goals such as “search the target”, “estimate the target orbit”, “synchronize the orbits”, etc. These high-level intermediate goals are converted into event-based procedures on-board, by mean of state machines. In case of contingencies, the re-planning consists of invoking other plans containing different goals such as “enter into safe mode”, “change the search strategy” or “perform a collision avoidance manoeuvre (CAM)”. This re-planning capability enables to face contingency situations, in most cases without any ground intervention and ensures spacecraft safety, as potential collision risks can be solved autonomously by the spacecraft. Additionally, a re-planning at trajectory level generation, where the approach reference trajectory is not fixed but it is regenerated taking into account the current state, is implemented. The MDL carries out a decision making to select the most appropriate manoeuvre (among a predefined set) to response to the current situation (selected among a fixed set of possible situations). The selected manoeuvre type is sent to the translational guidance library (together with the relevant parameters), which computes the required manoeuvres and propagates the corresponding reference trajectory.

This paper focuses mainly on translational guidance and navigation, while [1] presents AMM and fault tolerant control (including robust FDI).

3 Orbit synchronization translational guidance

The most interesting part of the translational guidance is the orbit synchronization at long range, based on non-linear formulations. Short range translational guidance is based on Yamanaka–Ankersen linearized equations [2], already successfully used in previous works [3]. Here, long range refers to having the Orbiter and OS on two completely different orbits (in particular the ones mentioned in the reference scenario section). On the contrary, short range refers to the range of distances for which the linearized formulation can be used (typically 10 s of km of distance).

For the orbit synchronization mode two manoeuvres are foreseen, the in-plane non-linear cotangential transfer (two burns) and the out-of-plane manoeuvre (one burn). A co-elliptic drift orbit is used as the terminal orbit of the orbit synchronization phase. The non-linear definition of the co-elliptic drift orbit is used. Equation (1) shows the relationship between delta semi-major axis and delta eccentricity for a co-elliptic orbit:

$$\delta e = - e_{t} \frac{{a_{t}^{ - 1} \delta a}}{{1 + a_{t}^{ - 1} \delta a}}$$
(1)

where t labels quantities of the target orbit. The co-elliptic drift orbit is defined such that the difference in all elements other than the semi-major axis and the eccentricity is zero when the chaser is directly above the target. From this condition, the trajectory is propagated backwards, taking into account the J2 effect, to the point in time where it is needed for targeting.

A plan based on three ΔV’s (the two in-plane ΔV’s associated with the cotangential manoeuvre plus the out-of-plane ΔV’s) is generated at the start of the orbit synchronization phase, consisting of the times and the ΔV vectors.

The optimality of the in-plane and out-of-plane transfers is assessed. If the eccentricity is smaller than 0.2, then the best cotangential transfer is close to the numerically computed optimal transfer, with a total ΔV exceeding the optimum ΔV by less than 1 % (see [4]). The orbits under consideration in MSRO scenario (both the nominal and the contingency orbits) have an eccentricity that is smaller than 0.2, so the cotangential transfer will be close to optimal for coplanar transfers. Figure 2 shows as an example the high similarity between the cotangential transfer (left figure) and the numerically computed optimal transfer (right figure) for the MSRO nominal scenario. In the plots, X is the along-track coordinate of the LVLH frame, while Z is the radial coordinate. Red trajectory represents the chaser orbit with respect to target (in LVLH), the black is the computed transfer trajectory and the green is the goal drift orbit.

Fig. 2
figure 2

Cotangential (left) and optimal (right) in-plane transfer

The non-linear cotangential manoeuvre is an adaptation of the linear cotangential manoeuvre. The non-linear extension is based on [5]. The transfer angle during the cotangential manoeuvre is given by (2):

$$\varphi = 2\tan^{ - 1} \left( {\frac{{\Delta P_{1,n.l.} }}{{\Delta P_{2,n.l.} }}} \right)$$
(2)

where the subindex 1 and 2 refers to the true anomalies of the first and second burn respectively and the polynomial functions P 1 and P 2 are given by:

$$\begin{aligned} \Delta P_{1,n.l.} & = C_{1,n.l.} + C_{2,n.l.} \cos \vartheta_{1} + C_{3,n.l.} \sin \vartheta_{1} \\ \Delta P_{2,n.l.} & = C_{2,n.l.} \sin \vartheta_{1} - C_{3,n.l.} \cos \vartheta_{1} \\ \end{aligned}$$
(3)

and

$$\begin{aligned} C_{1,n.l.} & = \frac{\Delta p}{{p_{1} }} \\ C_{2,n.l.} & = e_{1} \left( {1 - \cos \Delta \omega } \right) + e_{1} \frac{\Delta p}{{p_{1} }} - \Delta e\cos \Delta \omega \\ C_{3,n.l.} & = - \left( {e_{1} \sin \Delta \omega + \Delta e\sin \Delta \omega } \right) \\ \end{aligned}$$
(4)

(a, e, i, Ω, ω, θ is the classical orbital element nomenclature, p is the semi-latus rectum).

Finding the optimal cotangential transfer point in orbit is particularly important for intersecting orbits. At the intersection point the cotangential transfer algorithm encounters a singularity, as shown in Fig. 3.

Fig. 3
figure 3

Behaviour near singularity, hyperbolic transfer (left), planet-crossing elliptic transfer (right). Magenta lines correspond to the true anomalies where the orbits intersect. Reference orbit refers to the target orbit

On the other hand, the two points furthest from the intersections (defined by the bisector of the intersection true anomalies) are close to optimal.

The points furthest away from the singularities in the algorithm are found as follows (Fig. 4). First, the parameter P 1 is rewritten as:

$$\begin{aligned} \Delta P_{1,n.l.} & = C_{1,n.l.} + C_{s} \cos \left( {\vartheta_{1} - \alpha } \right) \\ \Delta P_{2,n.l.} & = C_{s} \sin \left( {\vartheta_{1} - \alpha } \right) \\ \end{aligned}$$
(5)
Fig. 4
figure 4

Optimal cotangential transfer. Magenta lines correspond to the true anomalies where the orbits intersect. The bisector of the angle between these two lines individuates the optimal transfer true anomalies. Reference orbit refers to the target orbit

where

$$\begin{aligned} \,\alpha & = \tan^{ - 1} \left( {C_{2,n.l.} ,C_{3,n.l.} } \right) \\ \,C_{s} & = \sqrt {C_{2,n.l.}^{2} + C_{3,n.l.}^{2} } \\ \end{aligned}$$
(6)

Such that:

$$\cos \,\alpha = \frac{{\Delta C_{2} }}{{C_{s} }},\quad \sin \alpha = \frac{{\Delta C_{3} }}{{C_{s} }}$$
(7)

The points furthest from the singularity have a true anomaly of α and α + π. These points are used to define the initial point of the cotangential transfers.

To obtain the ΔV’s the semi-major axis of the transfer orbit is computed. First, the chord length is computed as follows:

$$c = \sqrt {r_{1}^{2} + r_{2}^{2} + 2r_{1} r_{2} \cos \varphi }$$
(8)

Next, the semi-latus rectum of the minimum-energy transfer orbit is computed as follows:

$$p_{m} = \frac{{r_{1} r_{2} }}{c}\left( {1 - \cos \varphi } \right)$$
(9)

The semi-latus rectum of the transfer orbit is then given by:

$$p_{t} = \frac{{p_{m} c\cos \gamma_{1} }}{{r_{1} \cos \gamma_{1} - r_{2} \cos \left( {\varphi + \gamma_{1} } \right)}}$$
(10)

The following two formulas apply to the departure point:

$$\frac{{p_{t} }}{{r_{1} }} - 1 = e\cos \vartheta_{1} ,\quad \frac{{p_{t} \tan \gamma_{1} }}{{r_{1} }} = e\sin \vartheta_{1}$$
(11)

From Eq. (11) the eccentricity of the transfer orbit can be obtained:

$$e_{t}^{2} = \left( {\frac{{p_{t} }}{{r_{1} }}} \right)^{2} \left( {\frac{1}{{\cos^{2} \gamma_{1} }}} \right) - 2\frac{{p_{t} }}{{r_{1} }} + 1$$
(12)

The semi-major axis of the transfer orbit can be found from:

$$a_{t} = \frac{{p_{t} }}{{1 - e_{t}^{2} }}$$
(13)

The velocity in the transfer orbit is given by:

$$V_{t,1} = \sqrt {\mu \left( {\frac{2}{{r_{1} }} - \frac{1}{{a_{t} }}} \right)} ,\quad V_{t,2} = \sqrt {\mu \left( {\frac{2}{{r_{2} }} - \frac{1}{{a_{t} }}} \right)}$$
(14)

The velocity just before and just after the transfer is given by:

$$V_{1} = \sqrt {\mu \left( {\frac{2}{{r_{1} }} - \frac{1}{{a_{1} }}} \right)} ,\quad V_{2} = \sqrt {\mu \left( {\frac{2}{{r_{2} }} - \frac{1}{{a_{2} }}} \right)}$$
(15)

The magnitude of the ΔV can be found by subtraction.

For plane change manoeuvres between congruent orbits (i.e., orbits with the same semi-major axis and eccentricity), the optimal out-of-plane transfer is either a one or a two-impulse transfer, and the two-impulse transfer is optimal if the two minor axis points lie above the line of intersection of the two orbital planes. For orbits with an eccentricity lower than 0.2, a single-impulse manoeuvre at the relative node with the largest orbital radius is closer than 2 % from the optimal transfer in terms of ΔV [6].

The non-linear two-point transfer is used for the recomputation of manoeuvres while the plan is being executed. The non-linear two-point transfer is used in this case to preserve the timing of the manoeuvres. The timing of the manoeuvres needs to be fixed such that the chaser can transfer to the J2 perturbed drift orbit correctly. The solution method employed is Battin’s method [7, 8]. The J2 perturbation is taken into account by means of the iterative shooting method, that is, the ΔV computed using the non-perturbed Lambert algorithm will be propagated using Brouwer’s theory [9] to yield a miss state at the end time. The miss state will be used to generate a new state to aim for using the non-perturbed Lambert algorithm. The aim state is updated until the ΔV converges.

4 Navigation and IP

iGNC navigation is an optical sensor-based navigation, aided by RF-Doppler during search phase. The navigation chain consists of:

  • Image processing (IP) algorithms

    • long range image processing (LRIP) and

    • short range image processing (SRIP)

  • navigation/filter algorithms (NAV).

An image generation chain delivers real images to the IP algorithms. In iGNC, this task is performed by the Planet and Asteroid Natural Scene Generation (PANGU) which delivers ideal still images, and a high-fidelity NAC model which generates real images including exposure time and detector/electronics properties (e.g. bias, gain frames, dark current, readout noise, quantization, saturation). A square FOV camera, 5° × 5° 1024 pxl, has been considered, in line with MSRO baseline. Hereafter a detail of the effects included in the camera model.

Field of view

5º × 5º

Image size

1024 × 1024

Readout noise (all sources)

77 e-typical

Dark current @ operating temperature

105 e-/s

Digitization

12 bit

Full well depth

100,000 e-

Bloom factor

×1000

Gain range (full output relative to full well)

1–7.7

Spectral range

400–800 nm

Entrance aperture

5 cm

Colour temperature

5777 K

Pixel current of zero-instrument-magnitude star

18.2 × 106 e-/s

MTI capability

YES

4.1 Image processing

The LRIP shall permit detecting the target as image pixel coordinates. The target has a worst case visual magnitude of 13 approximately corresponding to a range of the order of 1000 km. The images taken during at most 4.5 s target tracking [integration time needed to detect magnitude 13 target with a signal to noise ratio (SNR) 5] show the bright stars as parallel linear traits. This exposure time can be reduced to 1 s at shorter ranges. Under the assumptions that target is drifting very slowly in the image due to very slow attitude manoeuvres and low attitude jitter (~1/6 pixel/s), the disparity analysis (core of LRIP algorithm) checks which candidates satisfy the target kinematics conditions and do not satisfy those of stars over the different images.

The IP chain proceeds in the following sequence:

  • Raw image acquisition, which comprises capture of single images by the camera and transfer to the IP computer. The integration or exposure time is critical in the far range phase in order to guarantee a sufficient SNR to detect the target against the star background.

  • Radiometric correction of raw pixels values as \(p_{i}^{C} = (p_{i}^{\text{RAW}} - b_{i} )/g_{i}\), being \(p_{i}^{C}\) and \(p_{i}^{\text{RAW}}\) the corrected and raw values of pixel i, and \(b_{i}\) and \(g_{i}\) the pixel bias and gain. \(g_{i}\) can be estimated after testing in laboratory. \(b_{i}\) can be estimated in laboratory or in flight or even dynamically.

  • Image analysis to detect and identify the target.

The brightest pixels (the ones resulting from thresholding and conversion to 0–1 range) remain candidates to target if they pass the following logical checks:

  • Stars move at a much higher rate than the target

  • Target pixels must be grouped; they have to form a “blob” of bounded size in 32 successive images (each one resulting from a 4.5 s exposure time). The size of the “blob” is identified by worst case of target rate velocity across detector (sum of effects of attitude jitter, ACS angular velocity, and uncertainty of knowledge of target rate across detector)

A further kinematics validation stage consists in the fit of the candidate positions to a polynomial law of time. Candidates with too large a fit residual are rejected (Fig. 5). Apart from data validation, this stage performs data reduction and allows the algorithm to attain sub-pixel accuracy in the measurement of the target position at the centre of the observation interval (exposure time). Moreover solutions can be propagated to desired estimation time using the computed fitting polynomial itself. Disparity function periodic reset and a posteriori solutions checks (norm-2 uncertainty lower than a threshold, minimum number of used frame for estimation, internal status code check) make more robust the algorithm, improving integrity of resulted solution to be sent to navigation filter. Figure 6 shows typical LRIP performances wrt. real world ideal measurements (i.e. measurements reconstructed using attitude and position data from real world). The LRIP processing time (~1 s) is taken into account in the navigation loop, as the solution provided by the IP is propagated till the time required by navigation.

Fig. 5
figure 5

Example of sum of binarised images corresponding to target tracking (32 images)

Fig. 6
figure 6

Typical LRIP performances on LoS measurements wrt. real world ideal measurement. Pixel X (above), pixel Y (below)

As soon as the target is wider than few pixels (~250 m), the IP is triggered to the short range algorithm. The determination of the canister range and centre during the short range phase mission is realized by the SRIP algorithm, based on the application of the convex hull method, which belongs to the morphological algorithms commonly used in computer vision. The SRIP finds the convex hull of a 2D point set using the Sklansky’s algorithm [10].

The convex hull operator is used to put in evidence the external boundary of the object under examination as maximal possible extension of the enclosed area defined by its shape. The SRIP performs the following tasks:

  • Image filtering. This task is automatically realized on the basis of the measured averaged image background. Two automatic thresholding algorithms identify the optimal thresholding level to apply to the whole image.

  • Identification of presence of pixels blobs in the image

  • Evaluation of different convex boundaries. The biggest convex boundary identifies the canister in the image

  • Determination of which is the best approximation of the external canister boundary, correcting the estimation of the blurring effect

  • Determination of the canister centre and its range from the camera and the standard deviation of the measured values.

Figure 7 shows typical SRIP performances in case of a partially illuminated OS.

Fig. 7
figure 7

SRIP performances for a typical illumination case. Range measurement (left), LoS error (right)

4.2 Navigation

In order to choose the best suitable filter algorithm to be adopted in iGNC Mars sample return rendezvous scenario, a filter trade-off analysis has been conducted.

Conventional extended Kalman filter (EKF) is referred as the baseline solution for non-linear problems; furthermore other promising estimation algorithms are considered involving unscented Kalman filter (UKF), H-infinity filter (HKF), polynomial filtering (DD2), Gaussian mixture model-based filter (GMM).

The comparison of the filters with respect to traditional EKF yields the following observations:

  • UKF provides higher-order approximation to the non-linear dynamics and measurements (up to 4th order in Gaussian statistics). The price is an increase in the computational load mainly due to 2N + 1 propagations (number of sigma points) for an N-dimensional state.

  • HKF is similar to the EKF but more robust to model uncertainties. The main advantage is that the increased robustness is done in an optimal way and provides a limit to worst case estimation error. In addition, it can naturally limit the frequency response of the estimator. The main disadvantage is the higher sensitivity to design parameters.

  • Polynomial filters approximate the non-linear measurement functions with polynomial expansions that increase the accuracy of the filter without large computational penalty compared to EKF. The main disadvantage is the derivation of high order terms of the propagation and measurement functions.

  • GMM is a Bayesian filter which can virtually cope with any kind of power density function (PDF) but the computational cost with respect to EKF increases with the order of the PDF expansion.

Search phase can be considered as the most demanding phase in terms of navigation, in the entire rendezvous scenario. Different reasons for that can be highlighted: (1) optical measurements, from IP, are sparse and characterized by large gaps caused by eclipses, sun-exclusion angle, limb exclusion angle constrains, images batch reset; (2) MAV launch dispersion results in a high uncertainty in the OS state initial knowledge; (3) RF-Doppler measurements can be affected by large bias; (4) a strong coupling between Orbiter and OS state estimation exists because of the relative line-of-sight measurements provided by IP (both orbits shall be estimated with just relative measurements, differently from short range where only the relative orbit is estimated). For these reasons navigation filter trade-off is decided to be carried out for the most demanding search phase scenario.

A Monte Carlo campaign has been performed with each of the above-mentioned filter, scattering sensors noises, biases, initial conditions, initial absolute knowledge error (AKE), etc. Some of the obtained results are shown in following histograms while a summary of the results in terms of a set of meaningful metrics is reported in Table 1. In this table scores are computed comparing the results of the different filters for the same scenario and ranking them from 1 to 5 for each of the criteria (e.g. for example, the DD2 has been the best concerning the CPU cost, so it has a score of 5 over 5). The weights are empirically assigned taking into account the importance of the criteria for the selected scenario. The following criteria have been identified as the most meaningful:

  • Computational Cost mean CPU-time for a single call to the filter algorithm;

  • Global Estimation Performance  accuracy/uncertainty average performance along entire simulation time;

  • Global AKE Jitter Performance global absolute knowledge error stability for a time window moving along simulation time;

  • Final Estimation Performance accuracy/uncertainty performance at final time (corresponding to end of search phase and potentially to manoeuvring starting point);

  • Measurements residuals Performance (NAC and RF) filter measurement modeling and fitting along entire simulation time.

Table 1 Filter trade-off: summary table

UKF resulted the best suitable filter for search phase of MSR RDV, mainly because of its best performance in final knowledge error and uncertainty estimation and global error/uncertainty and jitter performances. EKF could represent a valid option for short range filter but, for commonality, UKF has been selected for implementing both long range filter and short range filter (Fig. 8). The UKF formulation can be found in [11].

Fig. 8
figure 8

Filter trade-off: mean of mean filter algorithm execution time (left); position and velocity components RSS of average RMSs of AKE and uncertainty (right)

4.2.1 Long range navigation

Filter state vector for long range navigation consists on kinematic state of both satellites augmented by adding NAC/IP and RF-Doppler biases, which if not estimated can lead to large mismodeling errors and induce filter to divergence.

Filter process dynamics considers absolute dynamics for both spacecraft and constant biases. Cowell propagators are thus used both for the Target (OS) and the Chaser (Orbiter); they independently numerically solve the perturbed Cauchy–Kepler restricted two-bodies problem with Mars planetary gravitation and J2 oblateness, as follows:

$$\frac{{{\text{d}}^{2} \vec{r}}}{{{\text{d}}t^{2} }} = - \frac{{{\text{GM}}_{\text{CB}} }}{{r^{2} }}\hat{r} + \vec{f}$$
(16)
$$\vec{f}_{{J_{2} }} = - \frac{3}{2}J_{2} {\text{GM}}_{\text{CB}} \left( {\frac{{R_{\text{CB}}^{2} }}{{r^{4} }}} \right)\left\{ {\left[ {1 - 5\left( {\hat{r} \cdot \hat{z}} \right)^{2} } \right]\hat{r} + 2\left( {\hat{r} \cdot \hat{z}} \right)\hat{z}} \right\}$$
(17)

The long range navigation is fed with Orbiter ground tracking measurements (when available), NAC line-of-sight measurements in pixels and Rf-Doppler measurements. The filter relative observables are computed as follows:

$$i_{\text{pxl}} = \frac{{{\text{atan}}\left( {\frac{{{\text{LOS}}_{\text{CCD}} \left( 3 \right)}}{{{\text{LOS}}_{\text{CCD}} \left( 1 \right)}}} \right)}}{{{\text{pxl}}\_{\text{size}}}} + {\text{NAC}}_{i} {\text{bias}}$$
(18)
$$j_{\text{pxl}} { = }\frac{{{\text{atan}}\left( {\frac{{{\text{LOS}}_{\text{CCD}} \left( 2\right)}}{{{\text{LOS}}_{\text{CCD}} \left( 1\right)}}} \right)}}{{{\text{pxl\_size}}}}{\text{ + NAC}}_{j} {\text{bias}}$$
(19)
$$\rho^{ \cdot } = \vec{v}_{\text{rel,inertial}} \cdot {\text{L}}\widehat{\text{O}}{\text{S}}_{\text{inertial}} + {\text{RF}}_{\text{Doppler}} {\text{bias}}$$
(20)

where i pxl and j pxl correspond to the X and Y coordinates in CCD frame, with LOSCCD and Vrel,inertial computable geometrically starting from the estimated state.

4.2.2 Short range navigation

Filter state vector for short range navigation consists on absolute state vector of OS and relative inertial state vector with respect to the OS for the Orbiter. Also in this case, the state vector is augmented by adding biases for IP LoS and Range measurements.

The absolute dynamic of the target is propagated as in long range navigation, while chaser process relative dynamics is linearized around OS absolute inertial position \(\overrightarrow {{r_{*} }}\) and it is expressed by making use of analytical formulation of J2 gravity gradient \(\nabla G_{J2} \left( {\overrightarrow {{r_{*} }} } \right)\) as follows:

$$\frac{{{\text{d}}^{2} \vec{\rho }}}{{{\text{d}}t^{2} }} = \nabla G_{J2} \left( {\overrightarrow {{r_{*} }} } \right) \cdot \vec{\rho }$$
(21)

where \(\vec{\rho }\) is the relative inertial position of Orbiter wrt OS absolute inertial position.

J2 gravity gradient is computed as sum of point-mass gravity gradient and Jacobian matrix of the (above written) J2 perturbation:

$$\nabla G_{J 2} \left( {\overrightarrow {{r_{ *} }} } \right) = \nabla G_{\text{point-mass}} \left( {\overrightarrow {{r_{ *} }} } \right) + J_{J 2} \left( {\overrightarrow {{r_{ *} }} } \right)$$
(22)

where \(\nabla G_{\text{point-mass}} \left( {\overrightarrow {{r_{ 0} }} } \right)\) is

$$\nabla G_{\text{point-mass}} \left( {\overrightarrow {{r_{ *} }} } \right) = \frac{{{\text{GM}}_{\text{CB}} }}{{r_{ 0}^{ 3} }}\left[ {3\widehat{{r_{ *} }}\widehat{{r_{ *} }} - U} \right]$$
(23)

and \(J_{J2} \left( {\overrightarrow {{r_{*} }} } \right)\) is the Jacobian of the J2 perturbation.

LoS observables can be computed with the same Eqs. (18) and (19), with the only difference that the bias to be estimated will be the one of the SRIP. No RF measurement is used at short range. The SRIP range observable can be obtained as:

$$\rho_{{{\text{SR}} - {\text{IP}}}} = \left\| {{\vec{\text{x}}}_{\text{Orbiter,rel-ine}} \left. {\left( {1:3} \right)} \right\|} \right. + {\text{Range}}_{\text{srip}} \,{\text{bias}}$$
(24)

5 DD&VV approach

The design, development, verification and validation (DDVV) approach for the iGNC system is based on the sequential chain FES- > SIL- > PIL- > HIL, where:

  • The functional engineering simulator (FES) or Model in the Loop (MIL) includes Dynamics, Kinematics, Environment (DKE) models and reference models of the selected algorithms and solutions for the OBSW. This is the main conductive design supporting tool and verification at algorithm level all along the activity.

  • Auto-coding techniques will be used to translate the FES-validated on-board SW models and IP models into C code and start the SW V&V process. A SW in the Loop (SIL) verification step by integrating the produced GNC SW and IP SW in the FES simulator is envisaged before going to the PIL test benches.

  • The Processor in the loop (PIL) test benches allows to test the GNC OBSW and IP SW in flight realistic conditions regarding the avionics (real-time, and representative processor for the OBSW) and with simulated environmental conditions. A Leon-2 processor will be used.

  • The HIL/Sensors test benches are the logical extension of the PIL test benches (the PIL test bench is an integral part of the HIL test benches, thus already including the GNC SW and IP). These test benches are the last step of the on-ground validation and verification chain:

    • HIL-OPT: the HW optical sensor (camera) is included in the loop and its images are used for feeding the IP SW in closed-loop environment. The sensor is stimulated by a scene projected on a screen inside the GMV optical laboratory.

    • HIL-DYN: it involves real dynamic conditions reproduction (through the use of robotic arms) that stimulates the HW optical sensor so as to achieve the maximum ground testing level (HIL level, TRL 5–6) regarding the achieved representativeness of the flight conditions.

This chain provides invaluable support during the design and development phases and possibility to test V&V requirements already at early and intermediate design phases, allowing fast design iterations and feedback and the possibility to correct design problems at those early phases, thus, minimizing the required effort. Figure 9 presents a diagram of the iGNC DDVV approach.

Fig. 9
figure 9

iGNC DDVV approach

At the time of writing this paper the MIL has been completely integrated and its testing is on-going. In parallel PIL/HIL environments are being setup and the corresponding test campaign is foreseen to be started soon.

6 Simulation results

The results presented hereafter refer to an end-to-end scenario, from search phase to capture, with the nominal initial orbits and MAV injection accuracies reported in Sect. 1.

Figure 10 shows the relative trajectory during the whole approach in LVLH (X along track, Z radial). In blue it is shown the real world trajectory, while in red the reference trajectory generated by translational guidance, which is initialized with the navigation output as soon as long range navigation has converged, at approximately 800 km distance. The first images are available at ~1000 km. At ~800 km the IP and navigation have converged. The navigation convergence time once received the first IP measurements is of the order of 100 s. OS V-bar is shown in black. The left figure shows the orbit synchronization phase, which takes the Orbiter from its original orbit onto the ~10 km drift orbit above OS V-bar. The right figure, instead, focuses on the intermediate/short range phase, where the transfer to V-bar and the hopping phase are performed. Forced motion phase will be detailed later on in this chapter.

Fig. 10
figure 10

Approach trajectory for the nominal end-to-end scenario. Overall view (left), zoom on V-bar (right)

Figure 11 left shows the pointing error with respect to target direction. It can be clearly noticed how, to apply the manoeuvres requiring a high ΔV (i.e. the three orbit synchronization manoeuvres and the two transfers to V-bar manoeuvres), the Orbiter is rotated to align its main thrust axis toward the manoeuvre inertial direction, in order to maximize thrust efficiency. During these re-orientations (lasting approximately 1000 s) NAC measurements are not available and navigation just propagates the dynamics. The good behaviour of navigation during these blind periods permits to point again correctly toward the target after each manoeuvre.

Fig. 11
figure 11

Pointing error (left) and pointing stability over exposure time (right) during LRIP phases

Figure 11 right shows the pointing stability over the image exposure time (~4.5 s at the considered distances). This is a critical parameter for the LRIP algorithm, which in case the pointing stability is not sufficiently good cannot provide valid solutions. The requirement of 1/6 of pixel is shown by the grey line. The peaks correspond to re-orientation manoeuvres, either to point the main thrust toward the ΔV direction or to optimize the secondary pointing toward Sun or Earth. During these re-orientation phases LRIP measurements are not available and navigation shall just propagate or processing, when available, the infrequent ground tracking measurements. As it can be seen in Fig. 12, navigation solution remains always correctly converged, i.e. AKE contained in 1−σ uncertainty, also during manoeuvres and blind phases, clearly distinguishable in correspondence of covariance increments.

Fig. 12
figure 12

Orbiter relative position estimation absolute knowledge error (AKE) in LVLH

The forced motion phase starts at ~100 m, and the control is applied till ~3 m, when navigation becomes blind due to unavailability of SRIP measurements when the OS fills almost completely the camera FOV. During the last 3 m a natural free drift leads the chaser to capture the OS. The forced motion is executed at 10 cm/s and so lasts about 1000 s.

Figure 13 left is a screenshot of NAC calibrated images at initial distance (~100 m) and final distance (~3 m). It can be noted how Sun phase angle varies during the forced motion, changing importantly the illumination conditions of the target. Figure 13 right shows SRIP range residuals and measurement errors in metres. As it can be observed, SRIP provides good range observables also in case of scarce illumination conditions. Figure 13 below shows the SRIP LoS residuals and measurement errors in pixels. The divergence that can be observed at shorter distances is due to the not exactly spherical shape of the OS: bulges due to RF antennas on the poles have more importance at short distance in the determination of the geometrical centre.

Fig. 13
figure 13

SRIP performances during forced motion phase. Row above on the left, the input image at ~100 m (above) and at ~3 m (below).On the right, SRIP range measurements error, residuals and uncertainties. Row below SRIP LoS measurements error, residuals and uncertainties

Figures below report short range navigation performance in terms of Orbiter relative state estimation, in LVLH. Performance is very good along the whole forced motion. At the end it can be noted how the blind phase starts and covariance increases due to pure propagation (Fig. 14).

Fig. 14
figure 14

AKE and uncertainty (1−σ) of Orbiter relative position and velocity in LVLH

Finally, Fig. 15 left shows performances at capture. The target centre is comfortably inside the strict 5 cm requirement defined in MSRO and a wide margin exists between OS edge and capture mechanism aperture. Capture velocity requirements (5 mm/s of error with respect to the nominal longitudinal approach velocity of 10 cm/s) are also fulfilled. Figure 15 right shows the overall ΔV budget for this end-to-end simulation, of about 140 m/s, in line with the DV budget considered during mission analysis of MSRO.

Fig. 15
figure 15

Lateral misalignment performance at capture (left). Overall ΔV budget for the nominal end-to-end approach (right)

7 Conclusions

This paper has presented iGNC, an ESA funded activity aimed at designing, developing and validating up to TRL-5 (i.e. component and breadboard validation in relevant environment) the on-board software in charge of autonomously performing the rendezvous and capture phase of the Mars Sample Return mission. Particular focus has been given to translational guidance, which implemented an optimal non-linear analytical approach for solving the orbit synchronization problem in the range of MAV injection accuracy and potential failures, and to optical navigation chain, which processes NAC/IP high-fidelity measurements by mean of an UKF filter to estimate the state of both satellites. The high-fidelity functional engineering simulator integration has been recently concluded and the test campaign started. First results of the MIL campaign show a very good behaviour of the on-board software during the end-to-end nominal MSRO scenario, indicating that the MSR rendezvous and capture mission can be most probably successfully completed with just optical measurements, i.e. without RF-range observables at short range, which was one of the important open points left by the MSRO system study. More scenarios are being run to confirm these promising results also in case of MAV failures, and PIL/HIL test benches are being prepared to validate the suitability of the proposed on-board software to flight realistic conditions.