1 Introduction

In-Orbit Servicing (IOS) refers to the in-orbit maintenance of space systems after their deployment, including repair, assembly, refueling and/or upgrade. An IOS mission typically involves two space vehicles, namely a chaser and a target. To perform servicing operations, a mechanical connection is established between the two, usually through a robotic arm. IOS missions usually consist of multiple phases, for example: (i) orbit transfer and phasing, (ii) far- and mid-range rendezvous, (iii) inspection, (iv) close range rendezvous, (v) reach and capture, (vi) manipulator stiffening and target stabilization, and (vii) servicing/deorbiting [1].

The interest in IOS missions has grown in the past years since they offer the possibility of extending the operational life of spacecraft or of disposing of debris. As a consequence of a servicing mission, the revenue from existing space assets is increased and the risk of generating space debris after a satellite failure is reduced. The key technologies developed in the framework of IOS can be applied to different scenarios. For instance, they can be tailored to the mission extension and servicing of large geostationary communication platforms. In Ref. [2], the cost of replacing failed geosynchronous equatorial orbit (GEO) satellites is traded with the returns that can be achieved through an IOS mission. These returns can take the form of revenue, scientific data, or continued in-orbit capability. The study demonstrates the cost effectiveness of servicing missions. In this framework, MEV-1 and MEV-2 missions proved the feasibility of IOS by relocating and keeping the orbit of GEO satellites [3]. Several studies across the global space community have been dedicated to IOS mission architectures, e.g., DLR DEOS mission [4] and IOS missions have been proposed such as e.Deorbit [5].

Considering a different orbital application, technologies developed for IOS missions can be tailored to operate on a large constellation of small platforms. In the last years, the population of active objects in LEO has increased due to the deployment of large constellations of small satellites. To ensure the sustainability of the future crowded orbital regions, the interest among constellation operators is towards a service able to maintain the health of the constellation and guarantee the compliance with debris mitigation guidelines [6]. The objective is the development of a servicer platform used to maintain an operative constellation, providing services such as repair, refueling, and deorbiting in case of failure of a satellite [7].

Coupling a satellite with a manipulator creates challenging conditions on the GNC system. The traditional approach is to provide the satellite with a dedicated GNC system which works separately from the robotic arm control. The robotic arm is kept in a dormant state until the chaser is close to the target, at which point the chaser GNC is deactivated, and the robotic arm is activated. The motion of the robotic arm generates forces/torques at its base that act as perturbations on the satellite base. Thus, the satellite changes its attitude and the robotic arm must compensate the base movements to perform correctly the desired motion. Although the chaser may have access to additional actuation systems such as thrusters, the robotic arm GNC does not or cannot make use of them. This is referred to as decoupled control. An alternative is the combined control strategy, where the chaser satellite actuators and the robotic arm joint motors are seen as multiple degrees of freedom of the same control plant. The combined controller can then make use of the chaser thrusters at the same time as the robotic arm is extending to grab the target.

1.1 Objectives of the study

This study focuses on the development of enabling GNC technologies suitable for IOS missions conducted by a chaser spacecraft equipped with a seven Degrees of Freedom (DoF) robotic arm. Specifically, it deals with electro-optical (EO)-based relative navigation and combined control aspects. The key aspects of the developed GNC system are: (1) the adoption of a multi-variable combined control approach that represents a step forward with respect to the state of the art and proves advantageous in terms of performances, resources management and safety and (2) a fully autonomous navigation architecture based on active or passive EO sensors, which pushes forward the state of the art of technologies for final approach and docking operations, especially when dealing with non-cooperative targets.

The developed algorithms are designed to carry out the operations in the chronological proximity of the capture event, considering highly relevant mission scenarios spanning from partial- to non-cooperative and partial- to non-collaborative target objects (Table 1). Operations are organized in a pre-capture phase and a post-capture phase: the first includes reach and capture operations, the second deals with robotic arm stiffening and target detumbling. The presented simulations focus mainly on the capture and stiffening sub-phases, which involve the actuation of both the robotic arm and the chaser GNC system. Both the relative navigation and combined control approaches are accurately tested by means of a complete custom simulation tool. The study is conducted under the European Space Agency (ESA) contract by a consortium of Italian universities composed by teams from the Università degli Studi di Padova, the Politecnico di Milano and the Università degli Studi di Napoli “Federico II”.

In Ref. [8], the preliminary results of unit-level tests regarding a preliminary version of the GNC algorithm presented in this article are shown. Specifically, in Ref. [8], the tests were carried out in open-loop to validate a first version of the GNC algorithm. On the other hand, the development of a simplified simulator for validating GNC algorithm is presented in Ref. [9]. This paper reports the detailed description of the matured guidance, navigation, and control approaches. In particular, the navigation algorithm and the guidance and control algorithm architectures are the same as the ones used in this article. However, in Ref. [8], they are not integrated in a single GNC algorithm. In this paper, the two algorithms are: (1) integrated in a single GNC algorithm, (2) optimized to make the navigation and the guidance and control work together and (3) tuned as a closed-loop control system. In addition, the GNC algorithm presented in this work is tested within a complete functional engineering simulator developed starting from the one introduced in Ref. [9]. The test campaign aims at verifying the functionality of the GNC algorithm. The test campaign includes: (1) closed-loop simulations of the integrated GNC pipeline under nominal conditions in terms of uncertainties, (2) an error budget analysis to evaluate the relative importance of the different contributions to the overall control error, and (3) a preliminary Monte Carlo analysis to assess the architecture’s robustness against increased level of uncertainties.

Table 1 Definition of collaborativeness and cooperativeness of a target for close-proximity operations

This paper presents a combined control approach to the space capture problem and is organized as follows: Sect. 2 presents the two scenarios considered in this study; Sects. 3 and 4 describe the developed control and navigation functions, respectively; Sect. 5 provides details on the simulation environment implementation and testing; Sect. 6 introduces the numerical simulations executed and presents their results; in Sect. 7, conclusions are drawn.

2 Scenarios definition

Two different scenarios are considered: the IOS of a large platform in GEO (SC1) and the IOS of the member of a constellation in LEO (SC2). For both the considered scenarios, the study focuses on the capture of the target spacecraft and the manipulator stiffening after the capture. In the former, the chaser is maintained at a very short distance from the target by the GNC system, while the robotic arm reaches and grasps the target on the selected capture point. In the latter, the chaser actuates the robotic arm to damp the residual angular rates between chaser and target. In both phases and scenarios, the design of the navigation and control subsystems is strongly affected by the degree of cooperation and collaboration of the target. The two representative IOS scenarios have been defined focusing on the challenges posed by the lack of cooperativeness and collaborativeness in space robotics operations. Table 2 summarizes the two scenarios which are presented in detail in Sects. 2.3 and 2.4, respectively.

Table 2 Scenarios definition. SC1 considers the servicing of a large GEO platform; SC2 takes into account servicing a small platform of a large constellation in LEO

2.1 Definition of the main reference frames

A set of reference frames are used to describe the GNC architecture and to present the results. The following list reports the complete set of reference frames considered (see Fig. 1) and gives their definitions, while Table 3 reports the notation used for describing the multibody mechanics. The origin of each reference frame is attached to a body of the system. The frame rotates rigidly with the body geometry, except for the Orbital and Hill frames (O, H) that are orbital frames.

Fig. 1
figure 1

Reference frames used by the GNC algorithm. All the frames are right-handed

  • Chaser rotating orbital frame (C): it is centered in the geometric center of the chaser bus.

  • Chaser Sensor fixed frame (CS): it defines the position and orientation of the camera that is attached to the bus.

  • End-effector frame (E): it is centered on the manipulator end-effector and it is useful to represent the pose of the end-effector with respect to frame C.

  • Arm Sensor fixed frame (AS): it defines the position and orientation of the camera attached to the robotic arm. It is a fixed frame with respect to the E frame.

  • Target Geometric fixed frame (TG): it is a fixed frame centered on one of the faces of the target spacecraft.

  • Target rotating orbital frame (T): it is centered in the geometric center of the target bus.

  • Grasping point frame (G): it is centered on the designed point for the robotic grasping operation.

  • Orbital frame (O): it is a frame coincident with the standard LVLH orbital frame in which \(\hat{{\textbf{z}}}_{O}\) is towards the direction of the Nadir, \(\hat{{\textbf{y}}}_{O}\) is opposite to the direction of the orbital angular momentum and \(\hat{{\textbf{x}}}_{O}=\hat{{\textbf{y}}}_{O}\times \hat{{\textbf{z}}}_{O}\).

  • Hill frame (H): it is a frame in which \(\hat{{\textbf{x}}}_{H}\) points outward in the direction that connects the center of the planet with the spacecraft, \(\hat{{\textbf{z}}}_{H}\) points in the direction of the angular momentum and \(\hat{{\textbf{y}}}_{H}\) completes the right-handed frame.

  • Earth Centered Inertial (ECI) frame: it has the origin at the center of mass of the Earth. The X-axis points at the vernal equinox, the Z-axis points in the direction of the geographical North Pole and the Y-axis completes the right-handed frame.

Table 3 Notation used for the multibody mechanics

2.2 Chaser architecture common to the two scenarios

The general structure of the chaser spacecraft is common to the two scenarios. The chaser mass is proportional to that of the target. In the GEO scenario, the chaser also comprises two large solar arrays (SA). To perform the attitude control maneuvers, four reaction wheels (RWs) are adopted. A reaction control system thruster assembly is used to execute orbital maneuvers and to desaturate the RWs when necessary. The minimum number of thrusters to achieve a comprehensive decoupled control of both translational and rotational motion of the chaser is twelve, two for each direction. Nonetheless, a high level of redundancy is needed during the proximity operations, where the whole control authority capability shall be maintained even in the case of a thruster failure along the mission, thus a total of 24 thrusters are considered. Three thrusters are located at each solid angle of the chaser in an XYZ configuration.

The robotic arm is mounted on one side of the spacecraft and it is composed of seven revolute joints, thus having seven DoF, as shown in Fig. 2. The brushless Direct Current (DC) motors on the joints can reach a maximum torque of \({10}\,\textrm{N}\,\textrm{m}\). The length of the links varies according to the scenario.

Fig. 2
figure 2

Robotic arm configuration. It is composed by 7 links connected by 7 revolute joints. The length of the links depends on the scenario considered

Table 4 Chaser (C), target (T) and arm (A) characteristics of the two considered scenarios. The table reports the wet mass of C and T at the beginning of the capture phase

2.3 Scenario 1: servicing of a large GEO platform

The first scenario considers the refueling mission of a SSL/1300 GEO platform. The serviced GEO satellite is considered operational, so its attitude is nadir-pointing with an accuracy below \({1}\,\textrm{deg}\). During the maneuver, the inter-satellite distance, i.e., the distance between the C and the T frames, is maintained at \({5.1}\,\textrm{m}\). The satellite is semi-cooperative as ten retroreflectors that can be illuminated by an infrared laser source on the chaser and three passive markers form two sets of fiducial markers that aid the capture maneuver. Table 4 reports the physical and geometrical characteristics of the spacecraft.

Fig. 3
figure 3

Representation of the SC1 at the beginning of the capture phase. The chaser is represented in green, while the target is represented in red. The solar panels are cropped due to their dimensions

The chaser platform design for the GEO scenario is derived from literature [10]. The spacecraft total launch mass is \({2500}\,\textrm{kg}\). Since the servicer is assumed to be performing refueling of the GEO platforms, its mass is estimated considering \({400}\,\textrm{kg}\) of bipropellant for refueling purposes. This value accounts for two refueling operations in GEO, which would extend the life of two GEO platforms by at least 5 years [11]. The bipropellant is stored in two spherical tanks sized for \({200}\,\textrm{kg}\). In addition, \({400}\,\textrm{kg}\) of propellant is considered necessary to transfer the servicer from the geostationary transfer orbit to the GEO orbit. Therefore, the chaser mass is considered at the beginning of the scenario, i.e., when it starts the reach and capture phase of the second service, with a total mass at service equal to \({1900}\,\textrm{kg}\). The choice to study the second service is motivated by the fact that, from a combined control point of view, it is more critical than the first one. In fact, the refueling tanks at the beginning of the second service are at half capacity (\({100}\,\textrm{kg}\) of the total \({200}\,\textrm{kg}\) for each tank), which is a worst-case scenario for the sloshing attitude disturbance [12]. At the beginning of the simulation, the end-effector is distant \({0.54}\,\textrm{m}\) from the grasping point. The maneuver to grasp the target last \({75}\,\textrm{s}\). The robotic arm length, when fully extended, is \({3}\,\textrm{m}\); the breakdown of the length of each link is provided in Table 4. Figure 3 provides a representation of system at the beginning of the capture phase using simplified geometries.

2.4 Scenario 2: servicing a small platform of a large constellation in LEO

The second scenario represents a servicing mission in LEO, particularly tailored to a small platform of a large constellation (i.e., the Airbus Arrow platform, OneWeb constellation) which is on a nominally circular orbit at \({1210}\,\textrm{kg}\) of altitude and with an inclination of \({88}\,\textrm{deg}\). The selection is considered representative of the constellation satellites configurations (IRIDIUM, GLOBALSAR, Starlink). The target is represented as a 1x1x1 m box with two deployed solar panels (Table 4) attached to it. These are connected to the target by two beams of length \({0.5}\,\textrm{m}\). Hence, the total length of the appendages is \({1.5}\,\textrm{m}\). In this scenario the target is prepared for servicing, featuring a grapple interface and fiducial markers across the spacecraft body as navigation aid. During the mission phase, the target is considered non-collaborative. As nominal conditions for the scenario, the target satellite rotates with angular rates up to \({2.5}\,\mathrm{deg/s}\) along the Y-axis of the target rotating orbital frame (T). The target is not controlled. Therefore, the GNC design and architecture can be generalized for both an IOS and Active Debris Removal (ADR) mission. The simulations performed do not consider the synchronization maneuvers as the capture phase starts after them. At its beginning, the C frame is \({2.5}\,\textrm{m}\) far from the T frame; the distance is maintained during the maneuver.

Fig. 4
figure 4

Representation of the SC2 at the beginning of the capture phase. The chaser is represented in green, while the target is represented in red

The chaser platform is designed based on a literature review process (Table 4). In the considered mission, the chaser services multiple satellites of the constellation. From Ref. [13], the baseline value of \({500}\,\textrm{kg}\) wet mass is considered, which allows the servicing of two targets (assuming a dry mass of \({245}\,\textrm{kg}\)). The nominal baseline value for the chaser mass is \({372}\,\textrm{kg}\), which corresponds to the mass left after the propellant expenditure for reaching the first satellite, servicing it and reaching the second one. Similar to the GEO scenario, this selection implies that the propellant mass at the beginning of the scenario will be half of the capacity of the tanks, which poses a more challenging sloshing disturbance to the GNC system. Body-fixed solar panels are employed for power generation. They offer advantages in terms of safety during the approach and capture operations, as well as in reducing the influence of flexibility on the control system. The distance between the end-effector and the grasping point is \({0.3}\,\textrm{m}\), which is traveled in \({20}\,\textrm{s}\). The robotic arm length, when fully extended, is \({2}\,\textrm{m}\); the breakdown of the length of each link is provided in Table 4. Figure 4 provides a representation of system at the beginning of the capture phase using simplified geometries.

3 Guidance and control

This section is devoted to presenting the design and synthesis of the control laws. First, the derivation of suitable control-oriented models is discussed, then the control strategies that have been developed to address the two different phases of the mission are presented. The proposed design is based on a combined approach wherein base and manipulator states are controlled together, following ideas recently proposed in the literature, and exploiting a robust synthesis procedure to compute the control law gains. Using a combined architecture has several advantages over decoupled control strategies, from fuel efficiency to performance improvement, as shown by previous works [14], where a task-space formulation is considered with emphasis on control coordination of the different actuators. In Ref. [15], structured \(H_\infty\) synthesis has been proposed to design independent controllers for base spacecraft and its six DoFs manipulator, while \(\mu\)-analysis has been used to evaluate stability and performance properties according to different configurations of the manipulator (see Sect. 3.4 and [16] for details on \(H_\infty\) and \(\mu\)-analysis). Reference [17] is one of the most important study on combined control using robust control theory. The main goal of Ref. [17] was to design and test combined controllers for active debris removal; both linear \(H_\infty\) and nonlinear Lyapunov-based control strategies have been considered. In Ref. [18], a complete methodology for modeling for on-orbit servicing missions is developed, accommodating uncertainties and changes in system dynamics in an efficient full analytical Linear Fractional Representation (LFR) model. In Ref. [19], the capturing problem is solved with a coordinate-free task-space controller that directly tracks the outputs provided by an EKF that estimates the target and grasping point pose.

3.1 Combined control system design

The specific approach developed in this work consists in using nonlinear control laws, based on extensions of the well-known computed torque controller to space robot [20,21,22,23], together with a systematic tuning procedure based on the \(H_\infty\) framework. Indeed, while computed torque controllers deliver good tracking performance in a large domain of operating conditions, they suffer from modeling uncertainty (they are based feedback linearization) and no rule is given to tune the gains of the feedback component of the control law, which is typically based on a (nonlinear) Proportional Derivative (PD) law. Hence, trial and error procedures are often employed in practice to select the gains and achieve satisfactory performance. Such an approach is made more challenging by the large number of states of space robots. Lyapunov-based controllers provide energy-saving solutions by avoiding compensation of non-harmful nonlinearities, yet they require knowledge of system inertial parameters for trajectory tracking tasks and careful tuning in practice, when unmodeled dynamics are considered.

Therefore, the following systematic tuning approach has been considered: first, both the plant and the control law are linearized about a nominal operating point and a linear uncertain description of the closed-loop system is derived; then, the gains of the control law are tuned by leveraging the structured \(H_\infty\) framework. In this manner, the control law handles by design the rigid body nonlinearities, while performance requirements can be imposed in the neighborhood of the desired configurations when tuning the gains. The proposed approach allows accounting for dynamics effects at synthesis time, such as sloshing, actuator dynamics, flexibility, orbital dynamics, which are neglected when deriving the nonlinear control law.

3.2 Control-oriented modeling

Given the complexity of the multibody system under investigation, a simplified mathematical model has been developed to obtain sufficiently accurate representations of the system dynamics and a tractable control problem. The floating version of the well-known Recursive Newton–Euler Algorithm (RNEA) has been chosen, following the approach in Ref. [24] that exploits the Composite Rigid-Body Algorithm (CRBA) [25], since it allows dealing with arbitrarily complex configurations while ensuring computational efficiency (see Fig. 5). Leveraging the flexibility of the recursive formulation, an orbital disturbance term has been considered to evaluate possible undesired effects due to the coupling between multibody and orbital dynamics that are typically neglected in previous studies on space robots.

Fig. 5
figure 5

Recursive model formulation according to [24]

The nonlinear equations of motion of the system can be cast in the following general form:

$$\begin{aligned}{\varvec{H}}(\vec {q})\begin{bmatrix} \dot{\vec {\omega }}_{O/C}^{\,C}\\ \dot{\vec {v}}_{O/C}^{\,C}\\ \ddot{\vec {q}}\end{bmatrix} + {\varvec{C}}(\vec {q},\;\vec {\omega }_{O/C}^{\,C},\;\vec {v}_{O/C}^{\,C},\;\dot{\vec {q}},\;{\bar{\eta }}_{O/C},\;\vec {r}_{T/C}^{\,C}) = \begin{bmatrix} \vec {M}_C\\ \vec {F}_C\\ \vec {\tau }\end{bmatrix} \end{aligned}$$

where \(\vec {M}_C\), \(\vec {F}_C\in {\mathbb {R}}^3\) and \(\vec {\tau }\in {\mathbb {R}}^7\) are base torque, force and joint motor torque, respectively. The matrix \({\varvec{H}}\in {\mathbb {R}}^{13\times 13}\) is the joint-space inertia matrix, while \({\varvec{C}}\in {\mathbb {R}}^{13}\) is the Coriolis/centrifugal term which accounts for terms related to the relative orbital dynamics.

Notably, the considered model allows describing the space robot dynamics both for the capture and the post-capture phase, in which the target spacecraft is rigidly attached to the last link of the manipulator.

Fig. 6
figure 6

Computed torque controller

3.3 Nonlinear control law design and control architectures

The design of the control law depends on the phase of the mission but also on the available control inputs, measurements, and state estimates. Figure 6 shows the basic architecture of computed torque controllers. A joint-space architecture has been chosen for both the pre- and post-capture phase. Specifically, given a desired pose trajectory \(p_{O/C_d}(t)= (\vec {r}_{O/C_d}^{\,O}(t),{{\bar{\eta }}}_{O/C_d}(t))\), the desired trajectory for the joint angles \(\vec {q}_d(t)\), and the corresponding velocity, the following computed torque control law is employed for the pre-capture phase:

$$\begin{aligned} \begin{bmatrix} \vec {M}_C\\ \vec {F}_C\\ \vec {\tau }\end{bmatrix} = \hat{{\varvec{C}}}(\vec {q},\;\vec {\omega }_{O/C}^{\,C},\;\vec {v}_{O/C}^{\,C},\;\dot{\vec {q}}) + \hat{{\varvec{H}}}(\vec {q})\begin{bmatrix} \vec {a}_{\omega }\\ \vec {a}_v\\ \vec {a}_q\end{bmatrix} \end{aligned}$$
(1)

where \(\hat{{\varvec{C}}}\) is an estimate of the Coriolis term of the robot without including orbital effects, \(\hat{{\varvec{H}}}(\vec {q})\) is the estimate of the robot mass matrix and \(\vec {a}_{\omega }\), \(\vec {a}_v\), \(\vec {a}_q\) are virtual inputs to be designed. As mentioned above, orbital effects will be accounted for at synthesis time, when tuning the control gains. The virtual attitude input is designed as

$$\begin{aligned} \vec {a}_{\omega }= & {} {{\varvec{K}}}_{d,att}\vec {\omega }^{\, C}_{C/C_d} + 2 {\varvec{K}}_{p,att}{\eta }_{C/C_d}\vec {\eta }_{C/C_d}\\{} & {} + {\varvec{R}}_{C_d}^C\dot{\vec {\omega }}^{C_d}_{O/C_d}+ \vec {\omega }^{\, C}_{C/C_d} \times {\varvec{R}}_{C_d}^C \vec {\omega }^{\,C_d}_{O/C_d} \end{aligned}$$

where

$$\begin{aligned} \vec {\omega }^{\, C}_{C/C_d}&= \vec {\omega }^{\, C}_{O/C}- {\varvec{R}}_{C_d}^C \vec {\omega }^{\, C_d}_{O/C_d} \\ {\bar{\eta }}_{C/C_d}&= \begin{bmatrix}\eta _{C/C_d}\\ \vec {\eta }_{C/C_d } \end{bmatrix} = {\bar{\eta }}_{O/C}^* \otimes {\bar{\eta }}_{O/C_d} \end{aligned}$$

are the velocity and attitude errors, respectively, and \({{\varvec{K}}}_{d,att}\), \({{\varvec{K}}}_{p,att}\in {\mathbb {R}}^{3\times 3}\) are the proportional and derivative gains for the attitude, respectively, \(\otimes\) is the quaternion product and \({\bar{\eta }}^*\) is the quaternion inverse, i.e., \({\bar{\eta }}_{O/C}^*={\bar{\eta }}_{C/O}\).

The position virtual command can be computed as

$$\begin{aligned} \vec {a}_v= & {} {\varvec{R}}_{O}^C\left[ {\varvec{K}}_{d,pos}\bigl ( \vec {v}_{O/C_d}^O-{\varvec{R}}_C^O\vec {v}^{\,C}_{O/C}\bigr )\right. \\{} & {} \left. +{\varvec{K}}_{p,pos}\bigl (\vec {r}^O_{O/C_d}-\vec {r}^{\,C}_{O/C}\bigr ) +\dot{\vec {v}}_{O/C_d}^{\, O}\right] \\{} & {} -\vec {\omega }_{O/C}^{\,C}\times \vec {v}_{O/C}^{\,C}, \end{aligned}$$

with \({\varvec{K}}_{d,pos}\), \({\varvec{K}}_{p,pos}\in {\mathbb {R}}^{3\times 3}\) and the joints virtual command as

$$\begin{aligned} \vec {a}_q=\ddot{\vec {q}}_{d}+{\varvec{K}}_{d,joint}(\dot{\vec {q}}_d-\dot{\vec {q}})+{\varvec{K}}_{p,joint}({\vec {q}}_d-{\vec {q}}) \end{aligned}$$

where \({\varvec{K}}_{d,joint}\), \({\varvec{K}}_{p,joint}\in {\mathbb {R}}^{7\times 7}\). The free parameters of this controller can be collected as

$$\begin{aligned} {\varvec{K}}_p&=diag\left( \vec {K}_{p,att},\, \vec {K}_{p,pos},\, \vec {K}_{p,joint}\right) \\ {\varvec{K}}_d&=diag\left( \vec {K}_{d,att},\, \vec {K}_{d,pos},\, \vec {K}_{d,joint}\right) \end{aligned}$$

The desired acceleration of the joint angles, i.e., \(\ddot{\vec {q}}_d\), is also needed to compute feed-forward control actions (without performing numerical differentiation) to achieve good tracking performance. The states of the base and of the manipulator are needed for feedback control.

The considered law ensures asymptotic tracking of the error for time-varying reference signals under the assumption of perfect knowledge of the system parameters. It is worth noting that for small control errors and low speeds typical of close-proximity operations (Coriolis/centrifugal terms are negligible), the controller approximately behaves like a PD controller with no constraints on the gains. This fact will be leveraged for the systematic tuning of the control gains using the structured \(H_{\infty }\) synthesis technique, as described in the following section.

The post-capture phase of the mission requires a different solution since the control of the position and linear velocity of the stack is not needed in such a case: the most critical part consists in stopping the relative motion between the chaser base and the target such that a rigid stack is obtained. Addressing post-capture in a combined fashion means simultaneous regulation of both base and manipulator (connected to the target) as in, e.g., [26]. Notably, the control law for post-capture is the same as in Eq. 1, without the rows corresponding to the control force \(\vec {F}_C\).

3.4 Control law tuning

This section presents the approach developed in this work to systematically tune the controller gains. The starting point of the procedure is a nonlinear system interconnected via feedback with a nonlinear controller which contains some tunable gains that can be freely assigned. Then, both the plant and the controller are linearized about a desired operating point: as shown in the right part of Fig. 7, the closed loop will result in a linearized plant, possibly accounting for uncertainties in Linear fractional transformation (LFT) form, and a linearized control law containing the tunable gains. At this point, robust control methods and structured routines are applied to find optimal values for the gains. This approach allows tuning the controller while accounting for parametric uncertainties and unmodeled dynamics, not considered when deriving the nonlinear control law. It is also worth noting that orbital dynamics effects (neglected in previous works on space robots) can be considered at synthesis time.

In the following, the linearization of the equations of motion and the controller described in Sect. 3.3 are briefly reported, with emphasis on the dependency of the model on uncertain parameters using the LFT form. Since the expected maneuvers coming from the guidance are slow, a constant reference for the linearization will be considered; this assumption is consistent with existing approaches in space robotics (see, e.g., [15, 27] and references therein). While the resulting robustness and performance properties will be valid in a neighborhood of the considered linearization point, it is worth noting that the inclusion of uncertainties in mass, moments of inertia and center of mass position compensates indirectly for the variations in the system configuration as well. Moreover, selecting as linearization point the capturing condition provides the desired level of robustness and performance in the most critical point of the capture.

Fig. 7
figure 7

Robust tuning procedure

3.4.1 Plant linearization

To derive the linearized plant dynamics, consider first the following definitions:

$$\begin{aligned} \vec {x}&=[\delta \vec {\eta }_{C/C_d},\, \delta \vec {r}_{C/C_d}^C, \delta \vec {q},\, \delta \vec {\omega }_{C/C_d}^{C},\, \delta \vec {v}_{C/C_d}^{\, C},\,\dot{\delta \vec {q}}\,]^\top \\ {\varvec{A}}_{kin}&=blkdiag\left( \frac{1}{2}{\varvec{I}}_3,\,{\varvec{R}}_{C_d}^O,\,{\varvec{I}}_7\right) \\ \vec {u}&=\left[ \delta \vec {M}_C,\,\delta \vec {F}_C,\, \delta \vec {\tau }\right] ^\intercal \end{aligned}$$

where \(\delta \vec {\eta }_{C/C_d}\) denotes the vector part of the quaternion perturbation, i.e., \({{\bar{\eta }}}_{O/C}={\bar{\eta }}_{O/C_d}\otimes \delta {\bar{\eta }}_{C/C_d}\), and \({\varvec{I}}_i\) is the identity matrix of dimension i. The function blkdiag returns a block diagonal matrix where the input matrices are positioned along the main diagonal, with all off-diagonal blocks being zero. When the relative orbital dynamics is considered, the linearized equations of motion about a desired configuration are given by

$$\begin{aligned} \dot{\vec {x}}=\begin{bmatrix}0&{}{\varvec{A}}_{kin}\\ {-{\varvec{H}}}^{-1}{\varvec{C}}_{\vec {x}_{kin}}&{}-{{\varvec{H}}}^{-1}{\varvec{C}}_{\vec {x}_{dyn}}\end{bmatrix}\vec {x}+ \begin{bmatrix}0\\ {\varvec{H}}^{-1} \end{bmatrix}\vec {u} \end{aligned}$$
(2)

where the terms \({\varvec{C}}_{\vec {x}_{kin}}\),\({\varvec{C}}_{\vec {x}_{dyn}}\) denote the partial derivatives of the Coriolis-centrifugal term \({\varvec{C}}\) with respect to the sets of variables \(\left[ \delta \vec {\eta }_{C/C_d},\, \delta \vec {r}_{C/C_d}, \delta \vec {q}\,\right]\) and \(\left[ \delta \vec {\omega }_{C/C_d}^{C},\, \delta \vec {v}_{C/C_d}^{\, C},\,\dot{\delta \vec {q}}\,\right]\), respectively. In complete analogy with point mass systems, whose relative orbital motion can be described by the Yamanaka–Ankersen equations [28], the presence of the orbital effects moves the eigenvalues from the origin. To the best of our knowledge, there exist no analytical methods to compute the terms \({\varvec{C}}_{\vec {x}_{kin}}\), \({\varvec{C}}_{\vec {x}_{dyn}}\) when the orbital perturbations are considered; as a consequence of that, the part of the dynamic matrix \({\varvec{A}}\) in Eq. 2 containing \({\varvec{C}}_{\vec {x}_{kin}}\), \({\varvec{C}}_{\vec {x}_{dyn}}\) will be computed numerically. Once linear models have been obtained, uncertainties are included in the model in LFT form.

Concerning the pre-capture phase of the mission, the uncertainties listed in Table 12 have been included in the model. Uncertainties related to the robotic arm are not considered, as it can be assumed that accurate calibrations can be performed before operations; this assumption is standard in the robotics literature. The uncertain parameters can be included in Eq. 2 using routines implemented in the MATLAB robust control toolbox. In this case, the uncertain dynamics (note that matrices are now function of the uncertain parameters \(\delta\)) can be written as

$$\begin{aligned} \dot{\vec {x}}={\varvec{A}}(\delta )\vec {x}+{\varvec{B}}(\delta )\vec {u} \end{aligned}$$

A procedure based on the evaluation of the Vinnicombe metric has been considered to show that one can use the nominal matrix \({\varvec{A}}\) at synthesis time, thereby simplifying the complexity of the uncertain model.

In the post-capture phase, a different approach must be followed since the position of the base of the stack is not controlled. As a consequence, no external forces act on the system (we neglect the motion along the orbit [29]), and the CoM position of the stack will not vary. From a mathematical point of view, the complete system has uncontrollable modes at the origin, and it is not stabilizable; this means that one cannot find solutions to the control synthesis problem. To overcome this issue, the linear state variables of the base has been removed assuming \(\vec {F}_C=0\), solving for \(\dot{\vec {v}}_{O/C}^{\,C}\) in the translational dynamics and then substituting it in the equations for the manipulator and attitude dynamics. In turn, the constraint of conservation of linear momentum increases the complexity of the LFT. In this case, the number of uncertain parameters (including repetitions) raises to 123.

So far, the linear systems have been modeled considering only rigid bodies: this modeling paradigm is widely adopted for control design of space robot as it accurately reflects the main behavior of the system. However, the actual behavior of the system is affected by additional second order effects like sloshing and flexibility, which can have a significant impact on the stability and performance of the system, especially can result in a wrong selection of the control gains. These effects can be included in the linear models so that one can perform at least a robust stability analysis of the system about the reference motion, since performing robust synthesis is extremely challenging given the complexity of the resulting uncertain models.

Specifically, the spring–mass–damper equivalent model presented in Ref. [28] has been included in the linearized equations of motion to account for sloshing. This sloshing model requires few parameters to be implemented, such as the sloshing frequency, the damping coefficient, the mass and positions of the tanks. In this case, the state space formulation for the reach and capture phase depends on the scenario, as in SC1 there are two tanks, while in SC2, there is only one tank. The presence of sloshing increases the complexity of the LFTs; indeed, for SC1, the LFT model contains 125 parameters, while in SC2, the model contains 103 parameters: there is a great gap in complexity with respect to the rigid model (27 parameters). For post-capture models, the sloshing masses of both the chaser and the target should be considered. However, since the sloshing masses of the latter are negligible, they have not been included.

Similarly, flexibility is another effect which may influence the dynamics of a spacecraft. The major source of flexibility in the chaser and target is given by flexible appendages, like solar panels. Specifically, the chaser in SC1 and the target in SC1 and SC2 have flexible body-mounted panels. Typically, flexible effects are accounted for in a linearized fashion considering detailed data coming from detailed modal analysis. Given the lack of modal data in this study, a simple lumped modeling approach has been pursued and the linearized plant has been augmented with suitable terms accounting for the corresponding dynamics.

3.4.2 Nonlinear controller linearization

This section shows the linearized version of the control law presented in Sect. 3.3. In the pre-capture phase, the controller linearization yields

$$\begin{aligned} \begin{bmatrix}\delta \vec {M}_C\\ \delta \vec {F}_C\\ \delta \vec {\tau }\\ \end{bmatrix}= \hat{{\varvec{H}}}\begin{bmatrix}{\varvec{I}}_3&{}0&{}0\\ 0&{}{\varvec{R}}_{C_d}^{O}&{}0\\ 0&{}0&{}{\varvec{I}}_7\\ \end{bmatrix} \begin{bmatrix}{\varvec{K}}_p&{\varvec{K}}_d\end{bmatrix} \begin{bmatrix} 2\delta \vec {\eta }_{C/C_d}\\ \delta \vec {r}_{C/C_d}^C \\ \delta \vec {q} \\ \delta \vec {\omega }_{C/C_d}^{C} \\ \delta \vec {v}_{C/C_d}^{\, C} \\ \dot{\delta \vec {q}} \end{bmatrix} \end{aligned}$$
(3)

in which the rotation matrix maps virtual commands expressed in the Orbital frame (O) into the corresponding control actions generated in base frame. By inspecting Eq. 3, one immediately sees that locally the controller behaves as a PD control law, with tunable gains contained in the matrices \({\varvec{K}}_p\), \({\varvec{K}}_d\). The post-capture architecture can be linearized in a similar fashion.

3.5 Control synthesis results

In the following, the control synthesis will be performed considering the rigid system for all the scenarios and the corresponding sub-cases. When necessary, a re-tuning considering the additional effects described above (sloshing and flexibility) has been executed. Before performing the synthesis, suitable control requirements have been defined following the mixed-sensitivity \(H_\infty\) approach (see [16]). Specifically, given the fixed structure of the controller, structured controller synthesis has been performed leveraging the MATLAB routine systune, which allows imposing multiple objectives at the same time.

3.5.1 Pre-capture phase

The following objectives have been considered for the synthesis:

  • Obj. 1: Tracking performance requirement from base pose setpoint to base pose error.

  • Obj. 2: Tracking performance requirement from joint angles setpoint to joint angles.

  • Obj. 3: Control effort moderation from base and joint setpoints to base control wrench.

  • Obj. 4: Control effort moderation from base and joint setpoints to arm torque commands.

Table 5 Achieved worst-case tuning goals for both SC1 and SC2

In the optimization, all the goals were imposed as soft requirements. Concerning SC1, in the pre-capture phase the target is stabilized by its own Attitude and Orbit Control System (AOCS) and the control task consists in grasping a target which is still. Data provided by the experiments made by the NAtional Space Development Agency (NASDA) in the ETS VII [30] are used to specify the bandwidth of the manipulator controller, while the ones provided by the e.Deorbit project are employed for the position and attitude control bandwidths [31], given the similarities with SC1. Concerning control moderation requirements, the main limitation is here given by the control authority of the base (Obj. 3). As a matter of fact, the base mass is large, it has large moments of inertia and it is equipped with RWs whose maximum torque is \({0.5}\,\textrm{N}\,\textrm{m}\), while the manipulator motors have a greater control authority (\({10}\,\textrm{N}\,\textrm{m}\)). Using the systune routine in MATLAB it is also possible to tune control systems for uncertain plants: considering the uncertainties modeled in Table 12, satisfactory results are obtained, as shown in Table 5 (a value smaller than one implies that the objective is satisfied, values close to one are still acceptable).

Fig. 8
figure 8

Joint error during tracking in SC1. Structured controller

Fig. 9
figure 9

End-effector position error during tracking in SC1. Structured controller

The controller has been tested on a nonlinear simulator with the uncertain parameters randomly sampled in the uncertainty set, and the effects of thrusters discretization have been included as well. The commanded trajectory is a point-to-point motion for which at the final time instant the end-effector coincides with the grasping point of the target; the base performs station keeping at a fixed distance from the target, while the end-effector moves along a polynomial trajectory from the initial point to the target grasping point. The results, in terms of joints and end-effector position errors, are shown in Figs. 8 and 9, respectively.

As the controller gains have been tuned accounting only for inertial uncertainties, the robustness of the linearized controller has been evaluated considering the model including the sloshing dynamics (because of the lack of reliable data concerning flexible components properties and mass budget, flexible analysis has not been performed). Computing the stability margins with the robstab routine in MATLAB, a lower bound of approximately 0.3 and an upper bound of 2.5 have been obtained. Indeed, given these values, nothing about robust stability can be concluded.

To overcome such a numerical, the sloshing frequency and damping parameters have been discretized within the uncertainty set and then, for any point on the grid, a robust analysis has been performed considering the remaining parameters as uncertain. For the specific case under investigation, an \(8\times 8\) grid in which the points are equally spaced has been selected. The robust analysis problem translates into computing 64 stability margins (i.e., 64 computations of the structured singular value). The analysis is really demanding in terms of computations, and it is feasible only for a reduced number of parameters to grid, as the number of evaluations increases exponentially. The results are shown in Fig. 10, in which the lower bound of the stability margin of any point of the grid are reported: robust stability is confirmed for any point on the grid.

Fig. 10
figure 10

Lower bound of the stability margin for the selected grid points, SC1 (\(\zeta _s=\text {damping}\), \(\omega _s=\text {frequency})\)

For the reach and capture phase in SC2, the synthesis follows the approach outlined for the same phase in SC1 with differences only related to the selection of the control requirements since in this case the object to track has a higher maximum tumbling rate (up to \({2.5}\,\mathrm{deg/s}\)). The high tumbling rate of the target translates into imposing higher control bandwidths with respect to the previous scenario. The same requirements as in Ref. [31] have been imposed for the base attitude and position closed loops, namely \({0.3}\,\mathrm{rad/s}\) and \({0.2}\,\mathrm{rad/s}\), respectively. The bandwidth for the joint angles closed loops is set to \({3}\,\mathrm{rad/s}\), almost one decade faster than the one used for tracking cooperative targets as in SC1. Satisfactory synthesis results in line with SC1 have been obtained (see Table 5). As for the robustness analysis in presence of sloshing effects, even in this scenario issues have been encountered in the computation of robustness margins when sloshing uncertainties are considered. This issue has been overcome using the gridding approach described above, thanks to which robust stability could be assessed. Table 6 reports the controller gains of the two scenarios during Phase A.

Table 6 Controller gains of the two scenarios (Phase A)

3.5.2 Post-capture phase

Leveraging the considerations made in Sect. 3.3, the controller synthesis has been formulated considering the controller architecture for the post-capture phase with the following control objectives:

  • Obj 5: Tracking requirement from base attitude setpoint to base attitude error.

  • Obj 6: Tracking requirement from joint angles setpoint to joint angles error.

  • Obj 7: Control moderation requirement from base and manipulator setpoint to base torque command.

  • Obj 8: Control moderation requirement from base and manipulator setpoint to arm torque command.

In the post-capture phase, since the target has larger uncertainties with respect to the chaser, robust synthesis accounting for inertial uncertainties is mandatory.

The post-capture phase of SC1 consists in stabilizing the attitude of the target, which is in turn maintained by controlling the attitude of the chaser and the relative chaser/target attitude (i.e., the joints of the manipulator) via the inverse kinematics. Typical control requirements for attitude control systems have been imposed, considering the orders of magnitude detailed in Ref. [28]. In particular, the bandwidth of both base attitude and manipulator to the value \({0.08}\,\mathrm{rad/s}\). The cost function value for the different control objectives is shown in Table 7, confirming that all the objectives are met.

The robust analysis in the presence of sloshing effects is characterized by numerical limitations due to the large LFT size for the scenario (401 uncertain parameters): once again the robust stability analysis was inconclusive. Hence, the gridding approach has been implemented again: differently from the reach and capture case, for this scenario a grid of 25 (\(5\times 5\)) points is analyzed as the arising LFTs have higher complexity. Once again, gridding helps in the verification of robust stability, and the lower bound of the stability margin is shown in Fig. 11.

Fig. 11
figure 11

Lower bound of the stability margin for the selected grid points, SC1 post-capture (\(\zeta _s=\text {damping}\), \(\omega _s=\text {frequency})\)

For SC2, the post-capture phase consists in the detumbling the target and stopping the relative chaser–target motion (i.e., stiffening of the robotic arm). Therefore, the problem has been formulated to control the base angular velocity and the manipulator configuration, as there is no interest in controlling the attitude of the bodies of the stack. Concerning the controller structure, Eq. 1 has been modified by eliminating the terms corresponding to the attitude errors. As such, control requirements on the performance of the closed-loop sensitivity of base angular rate and joint angles configuration have been imposed. To set the bandwidth of the base angular rate closed loop, considerations regarding the settling time of the response have followed (the stabilization should not last more than 5 min). Considering a safety factor of 2.5 for robustness reasons, the corresponding cross-over frequency has been set to \({0.04}\,\mathrm{rad/s}\), which is compatible with the one imposed for a similar case study (see Ref. [32]). As for the manipulator, a higher bandwidth requirement (\({0.08}\,\mathrm{rad/s}\)) has been imposed as it is desirable to stop the manipulator motion before the base. The control objectives considered for the synthesis are the same as in SC1 except for the first one, in which the tracking requirement from base angular rate setpoint to base angular rate is considered instead of the attitude setpoint. The results of the robust synthesis are summarized (in terms of achieved optimization costs) in Table 7.

Table 7 Cost function (worst-case) for the two scenarios, post-capture phase

The design based on the rigid model has then been verified considering sloshing and flexibility effects. Concerning sloshing, only the sloshing mass of the chaser has been considered (as the target tanks are almost empty). In the absence of a detailed structural analysis providing vibration modes and modal participation factors, a lumped parameter model has been used to evaluate flexibility effects. Only the panels of the target have been considered as flexible elements, as the chaser is equipped with body-mounted panels. The length of these appendages is \({1.5}\,\textrm{m}\), while the panels have a mass of \({7.56}\,\textrm{kg}\). Stiffness and damping coefficients of the flexible mode have been computed referring to guess data with a wide uncertainty (frequency \({0.5}\,\textrm{Hz} \pm 20\%\), damping 0.01 \(\pm 40\%\)). In this case, the LFT considering chaser and target inertial uncertainties, chaser sloshing and target flexible uncertainties has 385 uncertain parameters. Luckily, robust stability margins are computed with a good level of accuracy, allowing the assessment of robust stability as shown in Table 8. Table 9 reports the controller gains of the two scenarios during Phase B.

Table 8 Robust stability margins for the post-capture model with sloshing and flexibility effects, SC2
Table 9 Controller gains of the two scenarios (Phase B)

3.6 Guidance strategy

A guidance strategy has been developed with the aim of generating suitable trajectories for the validation of the combined controller. Existing works either use direct estimates from the navigation function to specify the desired combined trajectory [19] or employ optimization algorithms to compute optimal and safe trajectories [29, 33, 34]. Regarding the latter approaches, this work proposes a simpler yet effective guidance design based on classic approaches for ground-fixed robots. Specifically, polynomial trajectories are generated based on the propagated motion of the target and are continuously updated to take advantage of the improved accuracy of the measurements coming from the navigation filter as the chaser gets closer to the target.

As mentioned at the end of Sect. 3.3, the control objective for the post-capture phase is just to stop the relative motion between the manipulator and the chaser body. In this case, the guidance function provides a desired constant attitude \({{\bar{\eta }}}_{O/C_d}\) for the chaser body given by the attitude at the end of the pre-capture and a desired constant configuration of the joints \(\vec {q}_d\), which ensures a safe final configuration for the overall stack (chaser+target). The position is left free as this degree of freedom is not controlled in this phase.

Instead, as shown in Fig. 12, the pre-capture maneuver is built considering four main instants:

  1. 1.

    \(t_{start}\): the manipulator starts moving;

  2. 2.

    from \(t_{point}\) to \(t_{grasp}\): the end-effector camera is directed towards the grasping point thanks to the guidance design;

  3. 3.

    \(t_{grasp}\): the end-effector is brought onto the grasping point;

  4. 4.

    \(t_{end}\): the capture maneuver is completed.

Fig. 12
figure 12

Relevant time instants for trajectory design

The desired final pose of the end-effector, denoted as \(p_{O/E_d}(t)= (\vec {r}_{O/E_d}^{\,O}(t),{{\bar{\eta }}}_{O/E_d}(t))\), is specified in terms of the pose of the grasping point on the target at a specific time instant in the future, which is predicted by propagating forward the target motion until the desired time. Then, the initial and final pose of the end-effector are interpolated using a 5\(^\textrm{th}\)-order polynomial. As the motion prediction of the target is accurate only in very short time horizon, the coefficients of the 5\(^\textrm{th}\)-order polynomial interpolation are updated at each step using the current measurements of both the chaser and target states coming from the navigation and doing a new propagation of the target motion to performing a new prediction of the future grasping point location. In this way, the guidance algorithm is compensating for modeling errors.

Due to the choice of implementing the controller according to the joint-space formulation, the guidance strategy needs to generate appropriate reference trajectories in the joint space, while guaranteeing the fulfillment of end-effector trajectory requirements. Therefore, the reference trajectory for the joint angles \(\vec {q}_d(t)\) is computed starting from the desired pose trajectory of the end-effector, computed as described above, by solving the so-called inverse kinematic problem [35]. The chosen approach consists in solving the inverse kinematics at the joints velocity level using a closed-loop inverse kinematic approach. Using a closed-loop kinematic solution prevents the unavoidable drifting of the desired joint profiles due to the accumulation of numerical integration errors. Specifically, the angular rate setpoint for the joint angles is computed as

$$\begin{aligned} \dot{\vec {q}}_{d} ={\varvec{J}}_{E}^{\#}(q)\left( \vec {\nu }_{C/E_d}^{E}+{\varvec{K}}\left( \vec {p}_{E/E_d }^{\,E}\right) \right) +\left( {\varvec{I}}_{N_B}-{\varvec{J}}_{E}^{\#}(q) {\varvec{J}}_{E}(q)\right) \dot{\vec {q}}_0, \end{aligned}$$

where \({\varvec{J}}_{E}^{\#}\) is the right (Moore–Penrose) pseudo-inverse of the end-effector Jacobian,

$$\vec {\nu }_{C/E_d}^{\,E}=({\varvec{R}}_O^E (\vec {v}_{O/E_d}^{\,O}-\vec {v}_{O/C}^{\, O}),\vec {\omega }_{O/E_d}^{\,E}-{\varvec{R}}_O^E\vec {\omega }_{O/C}^{\, O})$$

is the desired end-effector velocity relative to the base, while \({\varvec{K}}\left( \vec {p}_{E/E_d}^{\,E}\right)\) is a feedback term to account for the end-effector pose error \(\vec {p}_{E/E_d}^{\, E}=({\varvec{R}}_O^E(\vec {r}_{O/E_d}^{\,O}-\vec {r}_{O/E}^{\,O}), {\bar{\eta }}_{E/O} \otimes {\bar{\eta }}_{O/E_d} )\). Note that \(\left( {\varvec{I}}_{N_B}-{\varvec{J}}_{E}^{\#}(q) {\varvec{J}}_{E}(q)\right)\) is a projection matrix onto the null space of the Jacobian, which allows exploiting the manipulator redundancy to improve maneuverability and/or to respect joint angle constraints, by selecting \(\dot{\vec {q}}_0=-\frac{\partial w(q)}{\partial q}\), where w(q) is a suitably defined objective function to be minimized. It must be noted that the this procedure does not allow imposing directly hard constraints on the input or state variables, such as joint and workspace limits. Yet, the approach provides satisfactory results in practice.

Fig. 13
figure 13

Guidance of the end-effector during phase A of SC1

Fig. 14
figure 14

Guidance of the end-effector during phase A of SC2

The proposed combined controller requires specifying the desired pose trajectory for the chaser base as well, denoted as \(p_{O/C_d}(t)= (\vec {r}_{O/C_d}^{\,O}(t),{{\bar{\eta }}}_{O/C_d}(t))\), which is specified as a suitable relative position and attitude of the chaser base with respect to the grasping point (different in each scenario). Following this approach, the guidance strategy for the chaser base is obtained either by selecting a proper fixed pose in the target frame or by a proper fixed pose in the orbital frame, depending on whether the target is tumbling or not. For the specific scenarios considered in this work, the spacecraft attitude and position are kept fixed in the orbital frame, given that the manipulator capabilities are compatible with the target tumbling state so that the capturing maneuver can be completed without synchronizing the chaser base with the one of the target spacecraft motion. Figures 13 and 14 show the planned trajectory of the end-effector for SC1 and SC2 respectively.

4 EO-based relative navigation system

Active and passive EO sensors represent the best technological solution to conduct relative navigation with respect to semi- or non-cooperative targets in close-proximity [36]. Given the focus on the pre-capture phase, the relative navigation function must be able to estimate the chaser relative state with respect to the target (T/C), as well as the robotic arm end-effector relative state with respect to the selected grasping point (G/E). To this aim, several architectural strategies have been investigated in the literature mainly differing in terms of the role played by sensors potentially installed on the robotic arm to support the grasping operations.

In the framework of the COMRADE project [17], two different options have been proposed. In the former case, relative navigation is entrusted to a single sensor mounted on the chaser body, whose measurements are used to estimate the T/C relative state; the G/E relative state is then retrieved using the robotic arm joints measurements in its forward kinematic model and exploiting the knowledge of the T/C pose as well as of the target geometry. In the latter case, relative navigation is entrusted to two different EO sensors, rigidly attached to the chaser body and to the end-effector, whose measurements are processed by two separate navigation filters for T/C and G/E relative state estimation, respectively. The use of two EO sensors, one body-fixed and the other mounted on the end-effector, has also been proposed in [37], where two cameras share the feature recognition task in a collaborative behavior to estimate the T/C pose. Finally, the measurements of a single sensor mounted on the robotic arm end-effector are used to estimate both the T/C and G/E relative state within a unique filtering architecture in [38].

A relative navigation solution based on two sensors and two separate filtering schemes, inspired by the second option investigated in the frame of the COMRADE project, has been proposed in this study. The main advantage with respect to the first COMRADE option [17] and to the solution based on collaborative cameras [37] is that direct pose measurements from an end-effector sensor allow compensating the robotic arm ego motion uncertainty, introduced when applying the forward kinematic model, which would affect the G/E relative state estimation. This phenomenon, which can have a significant impact when dealing with tumbling targets, is mainly caused by the error sources affecting the joints sensors measurements, as well as by the uncertainty in the knowledge of the robotic arm geometry [39]. Moreover, the proposed approach has advantages in terms of flexibility and modularity with respect to designing a single filter for both the states (as in Ref. [38]) since it allows continuously updating the G/E relative state independently of the availability of measurements from the robotic arm sensor, and, more importantly, the absence of such measurements (e.g., when the robotic arm is being deployed from its stowed configuration at the beginning of the reach and capture maneuver) does not affect the T/C relative state estimation.

A high-level block diagram of the proposed architecture is provided in Fig. 15. The configuration is loosely coupled meaning that the raw data produced by the EO sensors are processed within a separate block (i.e., outside of the filter) to get relative position and attitude measurements to be used in the correction step of the filtering schemes [40, 41]. For T/C relative state estimation, the filter only receives T/C pose observations in input. For G/E relative state estimation, instead, the observation vector includes not only the direct G/E pose measurements (when available), but also end-effector pose measurements with respect to base of the robotic arm (C/E) obtained applying its forward kinematics model. Clearly, these latter measurements are available at a much higher frequency than the former ones. Additional input data for the two filters are target, chaser and robotic arm geometric information (including the positions in target coordinates of fiducial markers), the chaser absolute state estimates (as provided by its absolute navigation system), and the robotic arm joint sensors measurements. Finally, it is worth highlighting that while the T/C relative state estimation process is decoupled from the G/E one, the inverse relation does not hold, since the G/E filter operation is also supported by the output of the T/C filter. The T/C and G/E relative state estimates are used to feed the combined control function which provides feedback chaser commands (e.g., thrusts) that can be used by the T/C relative navigation filter to compute the resulting accelerations acting on the chaser.

Fig. 15
figure 15

High-level block diagram of the proposed loosely coupled relative navigation architecture. The processing blocks developed in this study are highlighted in red

For the scenarios under study, a monocular camera has been selected as both body-mounted and robotic arm sensor. This choice is justified by the lower size, weight, and power constraints characterizing passive sensors (compared to active LIDARs), thus ensuring lower complexity to the relative navigation subsystem design. Also, the possibility to get precise line-of-sight measurements corresponding to the fiducial markers installed on the target ensures to attain highly accurate pose and relative state estimates, especially at very close range [42, 43].

Concerning the selection of fiducial markers, passive/semi-passive solutions have been adopted. In SC1, ten retroreflectors (nine coplanar and one mounted with an offset in the surface outer normal direction), illuminated by an infrared laser source on the chaser, form the set of fiducial markers for the body-mounted camera. Indeed, this is a robust and safe solution for the servicing of a high-value GEO asset. The number of retroreflectors ensures an adequate redundancy (in case the target is not approached with nominal attitude) and avoids sudden performance degradation when single retroreflectors fall outside from the Field of View (FoV). Instead, the robotic arm camera is designed to detect a set of three white circular markers on a black background (similarly to the concept of concentric contrasting circles [42]). In this latter case, the possibility to minimize the number of correspondences is motivated by the fact that an accurate initial guess of the G/E pose is obtained by combining the T/C and C/E relative state estimates in the prediction step of the G/E filter. In SC2, code-based visual markers are selected to support pose estimation of both the cameras since they represent a promising solution for standard-designed targets like the elements of a large LEO constellation. Specifically, one \({20}\,\textrm{cm}\)-by-\({20}\,\textrm{cm}\) AruCo marker [44] is placed at the center of each target face (excluding those hosting the solar panels along which the approach is not feasible), while one \({5}\,\textrm{cm}\)-by-\({5}\,\textrm{cm}\) AruCo marker is placed close to the grappling interface.

Details about the pose determination processing pipeline, including image processing and image-to-model matching algorithms (for markers detection and identification) followed by a solution to the Perspective-n-Points problem, are provided in [45] and [46] for SC1 and SC2, respectively. The following subsections describe instead the adopted filtering schemes.

4.1 T/C relative state estimation filter

State-of-the-art relative navigation architectures for close-proximity scenarios adopt different filtering schemes to estimate the full target chaser-navigation state, including Kalman filters, minimum energy filters and \(H_\infty\) filters [47, 48]. In this work, an Extended Kalman Filter (EKF) has been selected for the real-time filtering of the camera-based pose measurements and to fully characterize the target–chaser relative motion in terms of relative position, velocity, attitude and angular velocity according to the scheme provided in Fig. 15. The EKF selection is the result of a trade-off between achievable accuracy and computational cost. Indeed, the EKF can handle nonlinear systems by applying the simple equations of the classical Kalman filter to the first order Taylor approximation of both prediction and observation models. The state vector is defined as follows:

$$\begin{aligned} \vec {x}=\left[ \vec {r}_{T/C}^{\,H},\;\vec {v}_{T/C}^{\,H},\;{\bar{\eta }}_{\,T/C},\;\vec {\omega }_{ECI/T}^{\,T}\right] ^\intercal \end{aligned}$$

If quaternions are used to represent both attitude state and covariance, singularity problem may arise in the covariance matrix: indeed, the unit norm constraint introduces a linear dependence among the rows of the covariance matrix. To overcome this issue, the multiplicative EKF (MEKF) is introduced [49]: it adopts a three-parameter representation of the covariance of the relative attitude (under the assumption of small angular errors), while a globally and non-singular attitude state is represented by a unit quaternion [50]. The main difference between the classical EKF and the MEKF is that the state update is computed by exploiting the linearized error model instead of the linearized state model.

The dynamic and observation models adopted in this work are reported in the following. The translational dynamic has been modeled by the CW equations, reported in Eq. 4, i.e., a set of linear differential equations derived from the two-body mechanics by applying two further assumptions [51]:

  • the target moves on a circular orbit

  • the spacecraft fly in close-proximity

$$\begin{aligned} \ddot{\vec {x}} - 2n\dot{\vec {y}} - 3n^2\vec {x}= & {} \vec {a}_{T,x}\nonumber \\ \ddot{\vec {y}} + 2n\dot{\vec {x}}= & {} \vec {a}_{T,y}\nonumber \\ \ddot{\vec {z}} + n^2\vec {z}= & {} \vec {a}_{T,z} \end{aligned}$$
(4)

where \(\vec {x}\), \(\vec {y}\) and \(\vec {z}\) are the Cartesian components of \(\vec {r}_{T/C}^{\,H}\), n is the mean motion of the target spacecraft and \(\vec {a}_{T}\) is the chaser specific force.

As regards the rotational motion model, the temporal evolution of the relative attitude quaternion is described by Eq. 5, while the absolute rotational dynamic is propagated through Eq. 6 if the target is three-axis stabilized during the pre-capture phase (as in SC1) or through Eq. 7 if the target is freely tumbling (as in SC2):

$$\begin{aligned} \dot{{\bar{\eta }}}_{\,T/C}= & {} \frac{1}{2}\left[ 0,\;\vec {\omega }_{C/T}^{T}\right] ^\intercal \otimes {\bar{\eta }}_{\,T/C} \end{aligned}$$
(5)
$$\begin{aligned} \dot{\vec {\omega }}_{ECI/T}^{\,T}= & {} 0 \end{aligned}$$
(6)
$$\begin{aligned} \dot{\vec {\omega }}_{ECI/T}^{T}= & {} -{\varvec{I}}_{T}^{-1}\left( \vec {\omega }_{ECI/T}^{T}\times {\varvec{I}}_{T}\vec {\omega }_{ECI/T}^{T}\right) \end{aligned}$$
(7)

where \({\varvec{I}}_T\) is the target inertia matrix.

Within the filtering scheme, the prediction of the state vector obtained from the integration of the dynamic model are corrected by exploiting visual-based pose measurements. Thus, an observation model, i.e., a system of equation relating the measurement vector, \(\vec {z}\) (see Eq. 8) to the state vector \(\vec {x}\) must be defined as shown in Eq. 9:

$$\begin{aligned} \vec {z}= & {} \left[ \vec {r}_{CS/TG}^{\,CS}, \; {\bar{\eta }}_{CS/TG} \right] ^\intercal \end{aligned}$$
(8)
$$\begin{aligned} \vec {z}= & {} {\left\{ \begin{array}{ll} {\varvec{R}}_{C}^{CS}\left( {\varvec{R}}_{T}^{\,C}\,\vec {r}_{T/TG}^{\,T}-\vec {r}_{C/CS}^{\,C}-{\varvec{R}}_{H}^{\,C} \vec {r}_{T/C}^{\,H}\right) \\ {\bar{\eta }}_{CS/C}\otimes {\bar{\eta }}_{C/T} \end{array}\right. } \end{aligned}$$
(9)

4.2 G/E relative state estimation filter

The MEKF scheme is also employed to estimate the gripper-grasping point relative motion. As shown in Fig. 15, it exploits as measurements (i) the base-gripper relative motion parameters provided by the forward kinematics model and (ii) the grasping point-end-effector pose obtained by processing the images coming from the hand-in-eye camera (when available). Summarizing, the state vector is defined as follows:

$$\begin{aligned} \vec {x}=\left[ \vec {r}_{E/G}^{\,E},\;\vec {v}_{E/G}^{\,E},\;{\bar{\eta }}_{E/G},\; \vec {\omega }_{G/E}^{\,E}\right] ^\intercal \end{aligned}$$
(10)

Due to the slow motion of the robotic arm and the frequent update provided by the measurements of the encoders, constant (both linear and angular) velocity models are adopted in the prediction step of the G/E filter, as shown in the following:

$$\begin{aligned} {\left\{ \begin{array}{ll} \dot{\vec {v}}_{E/G}^{\,E} = 0\\ \dot{{\bar{\eta }}}_{E/G} = \frac{1}{2}\left[ 0,\; \vec {\omega }_{G/E}^{\,E}\right] ^\intercal \otimes {\bar{\eta }}_{E/G}\\ \dot{\vec {\omega }}_{G/E}^{\,E} = 0 \end{array}\right. } \end{aligned}$$

Regarding the correction step of the filter, the measurements listed in Eq. 11 are linked to the state vector of Eq. 10 through the following observation model:

$$\begin{aligned} \vec {z}=\left[ \vec {r}_{C/E}^{\,C},\; \vec {v}_{C/E}^{\,C},\; {\bar{\eta }}_{E/C},\; \vec {\omega }_{C/E}^{\,E},\; \vec {r}_{AS/G}^{\,AS},\;{\bar{\eta }}_{AS/G} \right] ^\intercal \end{aligned}$$
(11)

where

$$\begin{aligned} \begin{aligned} \vec {r}_{C/E}^{\,C} =&-{\varvec{R}}_{H}^{\,C}\vec {r}_{T/C}^{\,H} + {\varvec{R}}_{T}^{C}\left( \vec {r}_{T/G}^{\,T} - {\varvec{R}}_{G}^{E}\vec {r}_{E/G}^{\,E}\right) \\ \vec {v}_{C/E}^{\,C} =&\frac{1}{2}\biggl (-{\varvec{R}}_{T}^{\,C}\Bigl ({\varvec{R}}_{E}^{\,G}\bigl (\vec {v}_{E/G}^{\,E}+\vec {\omega }_{G/E}^{\,E}\times \vec {r}_{E/G}^{\,E}\bigr )+\Bigr .\biggr .\\&\Bigl . + \vec {\omega }_{C/T}^{\,T}\times {\varvec{R}}_{E}^{G}\vec {r}_{E/G}^{\,E} - \vec {\omega }_{C/T}^{\,T}\times \vec {r}_{T/G}^{\,T}\Bigr )+\\&\biggr . - 2{\varvec{R}}_{\,H}^{\,C}\bigl (\vec {v}_{T/C}^{\,H} + \vec {\omega }_{\,C/H}^{\,H}\times \vec {r}_{T/C}^{\,H}\bigr )\biggr )\\ {\bar{\eta }}_{E/C} =&{\bar{\eta }}_{E/G}\otimes {\bar{\eta }}_{T/C}\\ \vec {\omega }_{C/E}^{\,E}=&\vec {\omega }_{G/E}^{\,E}+{\varvec{R}}_{G}^{E}\vec {\omega }_{C/T}^{\,T}\\ \vec {r}_{AS/G}^{\,AS}=&-{\varvec{R}}_{E}^{AS}\vec {r}_{E/AS}^{\,E} + {\varvec{R}}_{E}^{AS}\vec {r}_{E/G}^{\,E}\\ {\bar{\eta }}_{AS/G} =&{\bar{\eta }}_{AS/E}\otimes {\bar{\eta }}_{E/G} \end{aligned} \end{aligned}$$

It is worth noting that, depending on weather or not the markers close to the grasping point are imaged by the camera on the robotic arm, the observation model can include the equations relating image-based pose parameters, namely \(\vec {r}_{AS/G}^{\,AS}\) and \({\bar{\eta }}_{AS/G}\), to the state vector.

5 Simulation environment

A numerical simulation tool called Functional Engineering Simulator (FES) has been developed in the MATLAB/Simulink environment to test and validate the control and navigation functions. Models of the chaser and target satellites are included in the FES. In addition, the effects of the environmental disturbances are considered as well as internal disturbances, e.g., the sloshing of propellant in the tanks. Moreover, the simulator is complete of models of actuators and sensors. The control and navigation operations are simulated by implementing the algorithms presented in Sects. 3 and 4 respectively.

The realistic representation of the scenarios (see Sect. 2) is a challenging task due to: (1) the 13 DoFs of the chaser-manipulator system (six related with the rotation and translation of the chaser body and seven degrees of freedom of the robotic arm) and (2) the kinematics and the dynamics of the bodies that compose the chaser–target system are governed by complex system of differential equations. The chaser and the target spacecrafts are modeled using the Simscape Multibody package [52]. This allows to model complex systems as a chain of bodies connected by a variety of different joints without the need to implement complex mathematical equations. The manipulator is modeled using a chain of cylindrical elements connected to each other by revolute joints, which allow only the rotation around one axis.

In the FES, a full set of models of the relevant environmental aspects is implemented, namely: gravity field [53], geomagnetic field [54], gravity gradient [11], third body attraction [55], atmospheric drag [56] and solar pressure [57]. The forces/torques generated by the external perturbations are applied to every component of the system. Thus, the differential effects of the perturbation on the satellite attitude are considered in the simulations. For what concerns the internal disturbance, the sloshing of the propellant in the satellites tanks is considered and is modeled with an equivalent three-dimensional rigid pendulum [58].

The FES features different actuators and sensors models that reproduce the real behavior of the hardware. In particular, the actuators include thrusters, RWs, and DC motors for the robotic arm joints. The sensors include inertial measurements units (IMU), GNSS receivers, star trackers and optical encoders for the manipulator joints. The navigation function relies mainly on active and passive EO sensors to provide estimates of the relative state of the chaser with respect to the target. For that purpose, the FES interfaces with the ESA Planet and Asteroid Natural Scene Generation Utility (PANGU) tool that allows to generate synthetic images in real time during the simulation. In this fashion, the data obtained by simulated monocular cameras are provided to the navigation in real time.

The FES can simulate two different phases of an IOS mission: the pre-capture phase and the post-capture phase. In the transition between these two phases, a contact happens between the end-effector of the manipulator and the target. The contact generates forces and torques that are complex to simulate. They can cause large deviations in the position and velocity of the joints and of the spacecraft between the two mission phases [59]. The contact dynamics is not modeled in the FES since the scope of the study focuses is the development and test of a GNC algorithms. Nonetheless, it is fundamental that the model of the transition between the two phases respects the physical boundaries of a contact event. Hence, starting from Refs. [60] and [61], a synthetic method based on the conservation of the total angular and linear momenta of the system is employed to compute the state of all the bodies of the system after the contact event as a function of their state prior to the contact.

Before using the FES to validate the developed GNC solutions, several tests have been conducted to verify the simulator functionalities. During the FES implementation the subsystems that compose the FES have been validated at subsystem level. For instance, the environmental perturbations (gravity, drag, geomagnetic field, etc.) have been validated against the Simulink Aerospace Toolbox and the orbit propagation has been validated against the NASA General Mission Analysis Tool (GMAT) software. Moreover, it has been checked that nor energy neither linear/angular momentum is generated during the simulation if no external forces or torques act on the system.

Other tests have been conducted for accuracy assessment. First, the effects of the step size on the integration accuracy have been studied allowing to determine the maximum threshold step size below which the round-off error dominates. Second, a trade-off study on the solver type has been performed. The study considered that the accuracy of the solver increases with the integrator order that, conversely, increases the computational cost. The trade-off suggested to employ the Bogacki–Shampine algorithm (ode3 in MATLAB).

In addition, specifically tailored tests have been conducted to verify the FES features that help the user in the system performance analysis. These features include: (1) a contact detection tool that provides a warning if the spacecraft bodies come into contact, (2) an on-line requirements check tool that rises warnings when requirements are not satisfied during the simulation and (3) a simulation report generator.

6 Numerical simulations and results

The validation of the developed GNC system is of key importance to prove its capability to reach the IOS mission goals. The GNC system presented in Sects. 3 and 4 is tested within the FES environment to achieve a deep understanding of the system behavior and a clear assessment of its performance. With this aim, three different types of tests have been conducted, namely: (1) nominal simulation (NS), (2) error budget (EB) analysis and (3) preliminary Monte Carlo (MC) analysis. These three tests are executed for both the considered scenarios.

6.1 Nominal simulation

The NSs aim at estimating the nominal performance of the system. During a NS the environmental disturbances and the sloshing of the propellant in the tanks are considered together with the realistic behavior of the sensors and actuators. On the other hand, the uncertainties that may affect the system, e.g., mass, inertia and CoM position uncertainties, and flexibility of elongated bodies are not considered. The sensors and the actuators have a realistic behavior since they are modeled in the FES to accurately represent a real hardware which introduces errors in the simulation, e.g., delays, overshoots, nonlinearities. For each scenario, two mission phases are simulated: the capture of the target (Phase A) and the stiffening of the robotic arm (Phase B).

Fig. 16
figure 16

Results of the nominal simulation of SC1—Phase A

The performance of the GNC system during Phase A is evaluated by means of performance metrics computed by comparing the trajectory defined by the guidance with the real state of the system. The equation for the evaluation of the control metrics is

$$\begin{aligned} \varepsilon = X_{real} - X_{guid} \end{aligned}$$

where \(X_{real}\) is the state of the system simulated by the FES, and \(X_{guid}\) is the trajectory defined by the guidance. In this study, the considered performance metrics are: (1) chaser body position error, (2) chaser body attitude error, (3) end-effector position error and (4) end-effector attitude error.

6.1.1 Scenario 1: servicing a large GEO platform

For what concerns SC1, Fig. 16a and Fig. 16b show the evolution of the performance metrics of the chaser body position and attitude, respectively. The GNC system proves good performance keeping the chaser body position error well below \({0.01}\,\textrm{m}\) during the maneuver. The chaser body attitude error is very stable and close to zero. This is possible thanks to the highly accurate relative attitude estimate provided by the navigation subsystem (in the order of \(10^{-2}~\textrm{deg}\)) and to the accuracy of the RWs.

Fig. 17
figure 17

Forces and torques acting on the system during phase A of SC1

Fig. 18
figure 18

Joint position error in SC1—Phase B

Fig. 19
figure 19

Forces and torques acting on the system during phase B of SC1

Figure 16c shows the position error of the end-effector during the maneuver. After a transient due to the low-level PID controllers of the robotic arm joints, the end-effector has a stable trend and the target is grasped with an error lower than \({1}\,\textrm{cm}\) in norm. Figure 16d reports the attitude error of the end-effector. Its behavior is due to the not-ideal BrushLess DC (BLDC) motor models implemented in the simulator and to their low-level control (i.e., PID controllers), which introduces delays and overshoots in the response of the actuators. It is also worth pointing out that the angular control error below \({1}\,\textrm{deg}\) corresponds to a very small translational error considering the short distance between the end-effector and the grasping point on the target during the capture phase. Figure 17 shows the forces and torques commanded by the GNC algorithm to the satellite body and to the robotic arm joints during Phase A. The peak at the start of the simulation is the starting torque of the motor. This is due to the fact that the robotic arm starts the maneuver from a static initial condition, hence high torques are generated at the beginning of the maneuver. As a consequence, high torques are commanded to the motors when they start to move in order to balance the starting torques. The reaction torque generated by the robotic arm motion is transmitted to the satellite body, so the controller activates the thrusters to compensate. However, the torques commanded to the DC motors do not reach the saturation of the motors that are equal to \({10}\,\textrm{N}\,\textrm{m}\) [4].

Phase B lasts for \({60}\,\textrm{s}\). The simulation runs for five additional seconds to check if the robotic arm is stable. Figure 18 shows the error of the robotic arm joints position during Phase B. The error have an order of magnitude of \(10^{-4}\) \(\textrm{rad}\) and it stabilizes to a constant value after \({60}\,\textrm{s}\). The maximum torque that the joints provide during the maneuver is \({10}\,\textrm{N}\,\textrm{m}\). Figure 19 shows the torques commanded by the GNC algorithm to the satellite body and to the robotic arm joints during Phase B. During Phase B, only the RWs are used to stabilize the stack. Hence, the force command coming from the GNC algorithm, i.e., the force that the thrusters must apply, is zero for the whole maneuver and is not represented in Fig. 19. The torques commanded to the satellite RWs and to the robotic arm joints are compatible with the response time of the actuators that are able of performing successfully the stabilization maneuver as shown in Fig. 18.

6.1.2 Scenario 2: servicing a small satellite in LEO

Taking SC2 into consideration, Fig. 20a and 20b shows the position error and the attitude error of the chaser body, respectively. During the maneuver, the GNC system shall keep the chaser body position constant. However, as shown in Fig. 20a, an error of about \({0.01}\,\textrm{m}\) is reached at the end of the maneuver. This is caused by the thrusters actuation and by the disturbances due to propellant sloshing, which degrade the performance of the GNC system. The thrusters are not able to keep the desired position of the chaser body; the sloshing causes the oscillatory behavior of the errors. The EB analysis confirms that these are the main sources of error. On the other hand, the chaser body attitude error is virtually zero only disturbed by some noise (Fig. 20b).

Fig. 20
figure 20

Results of the nominal simulation of SC2—Phase A

Fig. 21
figure 21

Forces and torques acting on the system during phase A of SC2

The end-effector position error is reported in Fig. 20c: its oscillatory behavior is due to the sloshing combined to the error brought by the thrusters. The thrusters introduce an error due to the delay caused by the opening and closing of the nozzle valve and the modulation of the thrust commanded according to the PWPFM (Pulse Width Pulse Frequency Modulation) scheme. Both these phenomena are implemented in the FES. Despite all these sources of error, the norm of the final position error is less than \({0.015}\,\textrm{m}\). Figure 20d shows the effect of different disturbances on the end-effector attitude control. In addition to the delays and overshoots introduced by the low-level control of the joints motors, the sloshing amplifies the oscillations by disturbing the chaser body, i.e., the base of the robotic arm. Nevertheless, the GNC system is able to compensate for the disturbances and the attitude error norm of the end-effector at the end of the maneuver is lower than \({0.5}\,\textrm{deg}\). Figure 21 shows the forces and torques commanded by the GNC algorithm to the satellite body and to the robotic arm joints during Phase A. The same considerations made for the starting torque of the joints and actuators in SC1 can be done for this scenario.

Fig. 22
figure 22

Joint position error in SC2—Phase B

Phase B lasts for \({60}\,\textrm{s}\) with the addition of five seconds similarly to what was done for SC1. Figure 22 shows that the robotic arm joint position error stabilizes to a constant value in the order of \(10^{-4}\) \(\textrm{rad}\) in the desired time. The noise of the error is due to the optical encoders, which behave as real sensors thus introducing non-ideal measurements in the system. During the maneuver, the joints provide torques lower than \({1}\,\textrm{N}\,\textrm{m}\) and, after the manipulator stiffening, the torques generated are stable and close to zero. Figure 23 shows the torques commanded by the GNC algorithm to the satellite body and to the robotic arm joints during Phase B. As for SC1, during Phase B, only the RWs are used to stabilize the stack. Hence, the force command coming from the GNC algorithm, i.e., the force that the thrusters must apply, is zero for the whole maneuver and is not represented in Fig. 23. The torques commanded to the satellite RWs and to the robotic arm joints are compatible with the response time of the actuators that are able of performing successfully the stabilization maneuver as shown in Fig. 22.

Fig. 23
figure 23

Forces and torques acting on the system during phase B of SC2

6.1.3 Scenarios results comparison

As presented in Sects. 2.3 and 2.4, the developed GNC algorithm shows good performance in both the considered scenarios. The developed GNC system has proven versatile since in both the scenarios the performance metrics are well within the requirements. However, the errors obtained in SC1 are lower than those of SC2. This is due to the fact that in SC1 the target is three axes stabilized and maintains its attitude during the Close Proximity Operation maneuver, while the target is rotating with an angular velocity of \({2.5}\,\mathrm{deg/s}\) in SC2. The latter is a more challenging scenario for the GNC system. The rotation of the target poses serious challenges to the navigation function that has to deal with the relative motion of the marker used for the pose determination and prediction of the target.

6.2 Error budget analysis

In real systems, a large number of sources contributes to the overall control error, e.g., external disturbances, model uncertainties, and nonlinearities. The EB analysis responds to the need to quantify the portion of the total error due to each source. The analysis is based on a number of simulations, singularly used to determine the influence of each identified error source. These simulations refer to ideal cases where all the parameters are set at their nominal value, except from the one to be examined, which is set considering the maximum expected deviation from nominal. The considered sources of errors are the following:

  • real actuators behavior (thrusters, RW, DC motor);

  • real sensors behavior (GNSS, Star Tracker, IMU, Optical Encoder);

  • propellant sloshing dynamics;

  • environmental disturbances (gravitational harmonics, geomagnetic field, solar radiation pressure, single body gravity gradient, third body attraction);

  • navigation function;

  • mass, inertia, CoM position, sloshing mode uncertainties of chaser and target.

The obtained results are compared with a benchmark simulation executed considering ideal parameters only. The resulting control error (i.e., the difference between performance metrics in the benchmark case and those of the executed simulation) is therefore a function of the considered error source. In the conservative hypothesis that the error sources are not correlated and that they can be considered small perturbations around the current working point (so that linearization can be performed), they can be linearly summed, leading to the complete error estimation.

The EB analysis shows that, for both the scenarios, the main sources of control error affecting the performance of the chaser body are different from those affecting the robotic arm. The BLDC joint motors and the optical encoders contribute to the end-effector pose error but their effects are negligible for what concerns the metrics related to the chaser body.

The common factor for the two scenarios is that the state estimates from navigation contribute in a major way to the overall control error. This is an expected result considering how the benchmark simulation is executed. Specifically, this simulation is run providing the real state of the system to the guidance and control functions, which then operate as if all the sensors and estimation algorithms performed ideally. Differently, the error generated by the navigation function is obtained by executing a nominal closed-loop simulation relying on the navigation function to provide the state estimates to the system. The state estimates error comes from the combined operation of the relative and the absolute navigation algorithms.

Table 10 Major sources of error that influence the performance metrics in SC1

6.2.1 Scenario 1

The major contributions to the control error of the chaser base are due to the state estimates from the navigation function and the thrusters model (see Table 10). The error generated by the simulation of thrusters is explained considering that they have a pulsed actuation affected by delays and uncertainties: the continuous control input is converted in a PWM logic introducing an inaccuracy in the simulation.

Taking the end-effector metrics into account, different actors contribute to the control error: the BLDC joint motors, the optical encoders and the uncertainties of the center of mass of the chaser and target are the most relevant (see Table 10). The BLDC joint motors introduce an error mainly due to their low-level control (PID). The optical encoders generate a quantization error and a constant bias. The error generated by the uncertainty on the CoM position is explained considering that the guidance is designed starting from the expected center of mass of the satellites. If the actual CoM does not correspond to the one expected by the guidance, the trajectory is generated with an error that affects the performance.

Table 11 Major sources of error that influence the performance metrics in SC2

6.2.2 Scenario 2

As for SC1, the predominant error sources for the chaser body performance metrics are the thrusters and the error generated by the navigation input. In this scenario the sloshing loads come into play in the EB. The error generated by them has the same magnitude of the error generated by the navigation input for almost every performance metrics of the chaser body (see Table 11).

Taking the end-effector performance into consideration, the major sources of error that influence its performance are the ones identified for the chaser body (thrusters, error generated by the navigation input and propellant sloshing). In addition, the analysis shows that, although they play a role in the error budget, real models of BLDC motors and optical encoders do not bring a relevant contribution to the overall error. The CoM position uncertainties of the chaser and the target are not negligible. The error that they generate is on average one order of magnitude greater than the same error estimated for SC1.

6.3 Preliminary Monte Carlo analysis

In a real IOS mission, some parameters are known with uncertainty, e.g., the mass of the target spacecraft. The variability in the scenario parameters affects the control performance. The simulation in nominal conditions is not sufficient to accurately determine the system capabilities. In order to assess the GNC system robustness, a preliminary MC analysis has been executed. During the analysis 100 simulation are executed for each scenario varying with Gaussian probability distribution the spacecraft mass, inertia, CoM position and propellant sloshing mode within the ranges reported in Table 12. The number of executed simulations is not considered a statistically relevant sample, for which a much larger number of simulations would be required. Nevertheless, preliminary results can be obtained also with this limited number of simulations, while proving the capabilities of the MC tool implemented in the FES.

Table 12 Variability ranges of the parameters in the MC analysis

For each simulation, the performance metrics are considered and their deviation from the zero-error condition is calculated. Then, the mean value of each performance metric is computed; this value is averaged over the 100 simulations, allowing to compute a mean and a standard deviation (1\(\sigma\)). In this fashion, it is possible to compare the results with the values obtained with the nominal simulation and determine the error growths due to a variation of the previously defined parameters.

Considering SC1, the GNC system proves good performance keeping the chaser body and the end-effector attitude errors comparable with those obtained from the NSs (Table 13). The position errors of the chaser body and of the end-effector have an order of magnitude of \(10^{-2}\) m. Considering the wide uncertainty levels of the chaser and target parameters selected in this study, these results show the robustness of the GNC algorithm.

Table 13 SC1 Monte Carlo analysis results. The mean of the NS and the mean and standard deviation (1σ) of the Monte Carlo simulations for the considered performance metrics are presented

For what concerns SC2, the results of the preliminary MC analysis (Table 14) show that the errors of the considered performance metrics have the same order of magnitude of those of the NSs. The algorithm handles the levels of uncertainty considered in the MC analysis well. Given the differences between the two scenarios, the preliminary MC analysis indicates that the developed algorithm is robust and versatile.

Table 14 SC2 Monte Carlo analysis results. The mean of the NS and the mean and standard deviation (1σ) of the Monte Carlo simulations for the considered performance metrics are presented

7 Conclusions

This paper presents the development and numerical validation of GNC algorithms for the combined control of an autonomous spacecraft equipped with a robotic arm to perform the capture of a target object.

Three different analyses have been performed to assess the GNC system performance. First, nominal simulations of the scenarios were conducted to estimate the performance of the system in the expected orbital condition. Second, an Error Budget analysis has allowed to determine the contribution of each error source to the overall control error; finally, a preliminary Monte Carlo analysis assessed the robustness to uncertain parameters of the developed GNC system.

The results proved the good performance of the developed algorithms despite the important differences between the considered scenarios. The system is capable of performing the capture maneuvers and the after-capture robotic arm stiffening of the multibody system in scenarios with challenging dynamic conditions. The adoption of a multi-variable combined control approach and of a fully autonomous navigation architecture based on active or passive EO sensors allows to successfully cope with the intrinsic uncertainties of the close proximity operations problem. Future development steps include Software-In-the-Loop tests, Hardware-In-the-Loop tests and downscaled dynamic tests in a relevant environment on ground.