Simultaneous Capture and Detumble of a Resident Space Object by a Free-Flying Spacecraft-Manipulator System

A maneuver to capture and detumble an orbiting space object using a chaser spacecraft equipped with a robotic manipulator is presented. In the proposed maneuver, the capture and detumble objectives are integrated into a unified set of terminal constraints. Terminal constraints on the end-effector's position and velocity ensure a successful capture, and a terminal constraint on the chaser's momenta ensures a post-capture chaser-target system with zero angular momentum. The manipulator motion required to achieve a smooth, impact-free grasp is gradually stopped after capture, equalizing the momenta across all bodies, rigidly connecting the two vehicles, and completing the detumble of the newly formed chaser-target system without further actuation. To guide this maneuver, an optimization-based approach that enforces the capture and detumble terminal constraints, avoids collisions, and satisfies actuation limits is used. The solution to the guidance problem is obtained by solving a collection of convex programming problems, making the proposed guidance approach suitable for onboard implementation and real-time use. This simultaneous capture and detumble maneuver is evaluated through numerical simulations and hardware-in-the-loop experiments. Videos of the numerically simulated and experimentally demonstrated maneuvers are included as Supplementary Material.


INTRODUCTION
On-orbit servicing holds the promise to refuel, maintain, upgrade, and repair existing spacecraft as well as to actively remove orbital debris (Long et al., 2007;Ellery et al., 2008;Flores-Abad et al., 2014a). Before the servicing operations can take place, the servicing spacecraft must capture its target. Several methods to capture a space object have been proposed, but a chaser spacecraft equipped with a robotic manipulator is widely seen as a promising and versatile approach (Bonnal et al., 2013;Flores-Abad et al., 2014a;Shan et al., 2016).
The robotic capture of cooperative and attitude-stabilized spacecraft has already been demonstrated. The Space Shuttle's Remote Manipulator System (Sallaberger et al., 1997;Goodman, 2006) and the International Space Station's robotic manipulator (Stieber et al., 1997) have been used, under human control, to capture cooperative and attitude-stabilized targets. The unmanned ETS-VII (Oda, 2000;Penin et al., 2000) and Orbital Express (Ogilvie et al., 2008) missions have also demonstrated teleoperated and automated capture of cooperative and attitude-stabilized targets.
For tumbling targets, the capture maneuver is significantly more challenging, and a detumbling phase is generally required before servicing operations can start. The capture and detumble of INTELSAT VI by the STS-49 crew in 1992 (Bennett, 1993) exemplifies some of these challenges. Spinning only at a 1.44 deg/s, INTELSAT VI required multiple capture attempts before it was manually captured and detumbled by three space walking astronauts. The unexpected difficulties were later attributed to some unforeseen effects related to fuel-sloshing and contact dynamics (Bennett, 1993). Similar difficulties have been experienced in the other instances where astronauts have manually captured slow tumbling objects (Grady, 1985;Hauck and Gardner, 1985;Goodman, 2006). Despite these accomplishments, the automated capture and detumble of resident space objects remains an open challenge.
Some of the difficulties facing a capture and detumble maneuver can be attributed to its guidance complexity. The trajectory generated by the guidance algorithm must be computed in a timely manner, the obstacle avoidance and control constraints satisfied, the nonlinear multibody kinematics and dynamics dealt with, and the propellant usage minimized. Given the relevance and challenging nature of the guidance problem, the literature on it is extensive (Flores-Abad et al., 2014a;Nanjangud et al., 2018). With respect to the capture maneuver, two distinct approaches have been considered. Some authors assume that the chaser can initiate the capture maneuver at a close-enough distance, where the target's grapple fixture is within the chaser's free-floating grasping range. Only actuating the manipulator, while leaving the base-spacecraft uncontrolled, is enough to capture the target in this scenario. Minimizing the disturbance to the floating base-spacecraft is usually considered on optimization-based approaches. Examples of this approach can be found in Yoshida et al. (2006), Shah et al. (2013), Flores-Abad et al. (2014b), Flores-Abad et al. (2016), and Stolfi et al. (2017). However, a tumbling target with large appendages imposes large time-varying keep-out zone constraints, preventing the existence of a safe holding position close-enough to the target where to wait and later execute a freefloating capture maneuver. A chaser starting at a sufficiently faraway hold position and executing a free-flying roto-translation maneuver is then required. This type of maneuver has been extensively studied with a wide variety of guidance and control approaches, such as: optimal control (Aghili, 2008(Aghili, , 2009aSeweryn and Banaszkiewicz, 2008;Boyarko et al., 2011), optimization-based (Jacobsen et al., 2002;Lampariello, 2010;Lampariello and Hirzinger, 2013;Gasbarri and Pisculli, 2015;MacPherson et al., 2018), model predictive control (Rybus et al., 2017), and rapidly-exploring random trees (Persson and Sharf, 2015;Rybus and Seweryn, 2015).
The detumbling maneuver has also been the focus of significant attention, with minimum time formulations (Aghili, 2008(Aghili, , 2009b, sliding mode and impedance control approaches (Uyama and Narumi, 2016;Zhang et al., 2017), as well as strategies that exploit the variable inertia of the resulting multibody system to reduce its kinetic energy (Rybus et al., 2014) being proposed.
Although the capture and detumble maneuvers are usually studied independently from each other, both are generally required by on-orbit servicing missions. In the proposed simultaneous capture and detumble maneuver these two maneuvers are combined. The capture and detumble objectives are encoded with a unified set of terminal constraints, forcing the chaser's control actions to simultaneously consider both objectives from the very beginning of the maneuver. Once the target is captured, the underlying conditions to detumble the newly formed chaser-target system are met, and a completely detumbled system is achieved once the manipulator's motion is gradually stopped shortly after. Combining the capture and detumble into a single maneuver can result in a quicker and, as the chaser's monenta at capture is used to detumble the RSO, a potentially more propellant-efficient proposition.
The capture objective is casted as a terminal constraint on the chaser's end-effector position and velocity, whereas the detumble objective is formulated from a momenta standpoint and casted as terminal constraint on the chaser's momenta. These two sets of terminal constraints are then fused into a unified and coherent set. The terminal constraint derived from the detumble objective is based on the premise that a detumbled system has zero angular momentum. The capture of a space object can be seen as an inelastic collision between the two vehicles, with the post-capture momenta of the combined system resulting from the combination of the individual momenta contributed by each vehicle. To obtain a post-capture system with zero angular momentum the momenta contributed by the chaser must cancel-out the target's preexisting angular momentum.
The terminal constraint on the chaser's momenta necessarily imposes a relative velocity between both vehicles. To achieve a smooth, impact-free capture, the chaser's manipulator is actuated to obtain a zero relative velocity between the chaser's end-effector and the target's grapple fixture. This manipulator motion is maintained during, and immediately after, capture. Therefore, the newly formed chaser-target system is not instantaneously detumbled upon capture. After capture, the manipulator joint velocities are gradually slowed down to zero, equalizing the linear and angular momenta across all bodies via internal reactions (i.e., gripper contact forces and joint reactions). After the manipulator motion is stopped, the angular momentum on all bodies of the chaser-target system vanishes to zero-as dictated by the maneuver's terminal constraint. The system is then fully detumbled and no further actuation is required.
In addition to formulating the simultaneous capture and detumble maneuver, a practical guidance algorithm for it is also proposed. The proposed guidance is able to generate a full rototranslation trajectory that minimizes the control effort, meets the simultaneous capture and detumble terminal constraint, avoids collisions, and respects the chaser's control limitations. The proposed guidance algorithm is a variation from a guidance approach suitable for onboard implementation and real-time use previously developed for capture-only maneuvers ,c, 2019. Here, the detumbling of the RSO is added as additional terminal conditions to this previously developed guidance approach.
The combination of the newly proposed simultaneous capture and detumble maneuver with this guidance approach has been evaluated with numerical simulations and hardware-in-the-loop experiments. The simulation results show that the guidance FIGURE 1 | Illustration of the problem.
FIGURE 2 | Illustration of the capture constraints and pre-set period motion.
Frontiers in Robotics and AI | www.frontiersin.org ability to find admissible solutions decreases as the target's precapture momenta increases, eventually limiting the applicability of the simultaneous capture and detumble maneuver for targets with high tumbling rates or large inertias. The experimental results on a planar air bearing table provide empirical evidence on the efficacy of the maneuver and real-time capabilities of the proposed guidance. Videos of the experiments, as well as of the simulations, are included as Supplementary Material.
The simulation and experimental results obtained with the simultaneous capture and detumble maneuvers are compared to the results obtained with our previous capture-only maneuvers ,c, 2019. The simulation scenario as well as the experimental set-up are the same on both cases, allowing for a direct comparison between the two. In a capture-only maneuver the chaser's velocity at capture is constrained, getting the chaser in sync with the rotation of the target and eliminating any relative velocity between the two. If maintained, the matching velocity terminal constraint prolongs the capture conditions beyond a single instant, greatly facilitating the grasping operation. As no consideration to the post-capture momenta is given, a separate detumble maneuver is required after capture. The new contributions of this work, which are appearing for the first time in literature to the best knowledge of the authors, are: (1) the formulation and design of a simultaneous capture and detumble maneuver, and (2) the demonstration of the proposed maneuver's feasibility via extensive numerical simulations and hardware-in-the-loop experiments.
The rest of this paper is organized as follows. In section 2, the capture and detumble problem is presented, introducing the nomenclature and equations of motion. The terminal constrains enabling the simultaneous capture and detumble are derived in section 3. The convex programming based guidance is outlined in section 4 and the results of the numerical simulations are presented in section 5. The experimental setup and results are presented in section 6.
Finally, concluding remarks are drawn.

PROBLEM AND NOTATION
The capture and detumble maneuver involves a chaser spacecraft, equipped with a robotic manipulator, capturing and detumbling a Resident Space Object (RSO). A notional overview of the maneuver is shown in Figure 1.
When formulating the guidance problem, the following underlying assumptions are made Virgili-Llop et al. (2019): A.1 Both the chaser and target RSO are composed of rigid bodies moving in three-dimensional space.
A.2 Environmental disturbances (solar radiation pressure, atmospheric drag etc.) as well as the effects of the relative orbital dynamics are neglected. This assumption is verified in section 5.2.

A.3
The state and inertia properties of the chaser and target RSO are known.

A.4
The target object to be captured has a designated grapple fixture.

A.5
The manipulator configuration and base-spacecraft attitude at capture, as well as the manipulator motion during the final seconds of the maneuver, t ≥ t ps , is preset and not subjected to optimization (as discussed further later). t f is the capture time, t ps marks the transition to the pre-set motion, and t ps = t f − t ps denotes the period of time when the motion is pre-set. Frontiers in Robotics and AI | www.frontiersin.org A.6 The chaser's mass remains constant during the maneuver, i.e., the amount of propellant used for the maneuver is negligibly small when compared to the chaser's mass.

Equations of Motion
The equations of motion of a multibody system can be written, in canonical form, as (Dubowsky and Papadopoulos, 1993): where u denotes the generalized velocities, τ the generalized forces, H the generalized inertia matrix, and C the generalized convective inertia matrix. The generalized coordinates can be divided between those referring to the base-spacecraft (·) 0 and those referring to the manipulator (·) m .
The number of degrees-of-freedom of the manipulator is denoted by n DoF , implying that u m , τ m ∈ R n DoF and H, C ∈ R (6+n DoF )×(6+n DoF ) . The angular or linear displacements of the manipulator joints are denoted by θ m ∈ R n DoF withθ m = u m .
Invoking assumption A.2 , a Cartesian Coordinate System (CCS) can be considered as inertial if its origin is chosen as a reference orbiting point and if the orientation of its axes is kept inertially fixed (the relative orbital dynamics are neglected). Without lacking generality, all vectors-unless explicitly specified-are projected into this inertial CCS I, so in general, for a vector a, the 3 × 1 column matrix containing the components of the projection of a into I is denoted by a {I} ∈ R 3 , or simply a. In addition, all kinematic quantities are-unless otherwise specified-referring to the origin of the inertial frame.
The contributions from the base-spacecraft, manipulator, and the base-manipulator coupling can be exposed within the inertia matrices and equations of motion: Finally, let r 0 ∈ R 3 denote the base-spacecraft position and q 0 ∈ S 3 denote a unit quaternion (q 0 ∈ H | q 0 = 1 ), representing the orientation of the base-spacecraft CCS B with respect to the inertial CCS I. The differential kinematics of the attitude quaternion can be written as: with ⊗ denoting the quaternion product and assuming that ω 0 is promoted to a pure quaternion (i.e., with zero scalar part) (Wie, 2008).

SIMULTANEOUS CAPTURE AND DETUMBLE MANEUVER
The post-capture rotational state of the combined chaser-target system is governed by the resulting angular momentum of the combined system. When the chaser captures the target RSO the linear and angular momenta of both vehicles are combined.
Regulating the momenta of the chaser at capture allows to control the post-capture angular momentum of the combined chaser-target system. In the proposed simultaneous capture and detumble maneuver the chaser's momenta at capture are constrained in order to achieve a zero post-capture angular momentum on the combined chaser-target system. The linear p c ∈ R 3 and angular h c ∈ R 3 momenta of the chaser are obtained, using the generalized velocities and inertia, as follows (Yoshida and Umetani, 1993): The chaser's linear momentum can also be expressed as: where m c denotes the chaser's total mass and r c the position of the chaser's center-of-mass (see Figure 1). Furthermore, the linear and angular momenta of the target RSO can be written as: with m r , I r , and ω r denoting the mass, inertia matrix, and angular velocity with respect to the inertial frame of the target RSO. After the chaser captures the target RSO, as shown in Figure 1, the momenta of the newly formed chaser-target system becomes a combination of the momenta of the chaser and target RSO. The combined linear momentum, p comb , is simply the sum of the individual linear momenta: The center-of-mass position of the newly formed chaser-target system is: The angular momentum of the combined system, h comb , using as pole the combined center-of-mass, is obtained as follows: Frontiers in Robotics and AI | www.frontiersin.org with the (·) × operator representing the matricial equivalent of the vector cross product, Combining Equation (12) with Equation (11) yields: The target RSO to be captured is assumed to be uncontrolled and subjected to negligible perturbations, thus with constant linear and angular momenta. Additionally, the tumbling RSO centerof-mass is assumed to be initially at rest with respect to the inertial frame I. Thus, before the capture occurs, the RSO's linear velocity and momentum are zero.
These assumptions allow to simplify the expressions for the combined momenta as:

Constraint on the Chaser's Momenta
In the proposed simultaneous capture and detumble maneuver the goal is to achieve a zero post-capture angular momentum: which imposes the following terminal constraint on the chaser's angular momentum, h c , and linear velocity,ṙ c : This underlying terminal constraint can be casted in terms of generalized velocities u and incorporated in an optimizationbased guidance approach. To do so, let's assume that the chaser's position and configuration at capture, r c , q 0 , θ m , are fixed (how to set the terminal attitude is discussed in section 4.3): Therefore, the chaser velocities at capture, u t f , are the only remaining variables left to impose the zero angular momentum constraint defined in Equation (19). The linear velocity at capture,ṙ c t f , can be constrained as follows in order to neutralize the RSO's angular momentum: with the (·) + operator denoting the Moore-Penrose pseudoinverse.
As r f r − r f c is, in general, not perpendicular to h r , there is some leftover RSO's angular momentum that needs to be neutralized by the contributing chaser's angular momentum at capture h c t f .
In conclusion, in order to achieve a simultaneous capture and detumble, the chaser's linear velocity and angular momentum at capture need to obey both Equations (23) and (24).

Constraint on the Chaser's Attitude and Manipulator's Motion
In addition to detumble the target, a smooth, impact-free capture is desired. In order to achieve it, a zero relative velocity between the chaser's end-effector and target's grappling fixture is enforced, ensuring that the gripper can gently capture the grappling fixture without incurring in velocity discontinuities that could generate high contact forces. This condition implies that the position and velocity of the chaser's manipulator end-effector E must match the position and velocity of the target's grapple fixture G. where:ṙ In practice, this zero relative velocity condition is achieved by actuating the chaser's manipulator, such that the end-effector velocity matches the grapple fixture velocity. This manipulator motion is also exploited to absorb the relative velocity between the chaser and target (see Equation 23). Let's now map the operational-space velocities of the endeffector,ṙ e , to joint-space velocities, u m , while imposing the required base-spacecraft rotation, ω 0 , to maintain the prescribed chaser's angular momentum, h f c , defined in Equation (24). The linear velocity of the end-effector, relative to the center-of-mass, r e,c , is:ṙ The twist of the end-effector, t e,c , encapsulating the angular and relative linear velocities, can be written as follows: The end-effector Jacobians J 0 and J m map the joint-space velocities into operational-space velocities: The inverse differential kinematics mapping can then be obtained: The relative linear momentum of the chaser, with respect to its center-of-mass is, by definition, zero: The chaser's momenta, using the relative linear momentum, can then be written as follows: By combining the velocity mapping and momenta equation the following expression is obtained:

Combined Terminal Constraints
The terminal constraints for the simultaneous capture and detumble maneuver are now fully determined:

Pre-set Manipulator Motion
During the last phase of the capture maneuver, t ∈ t ps , t f , the manipulator motion is pre-set (see assumption A.5 ). The need to pre-set the manipulator motion is required by the guidance algorithm in order to handle the obstacle avoidance considerations. More details are offered in section 4 and in Virgili-Llop et al. (2019).
The manipulator configuration at capture, θ f m , is assumed to be also pre-set, and the manipulator velocity at capture, u f m , is constrained by the terminal constraint presented in section 3.1.3. In order to define the manipulator's motion during the pre-set period a manipulator velocity profile is defined: Any arbitrary velocity profile is allowed, but to illustrate the method and simplify the guidance, let's assume that the manipulator ramps-up, from a zero velocity u m (t) = 0 at t ps to its prescribed velocity at capture, u Integrating back in time allows to obtain θ m t ps during the pre-set time period t ps .
If the manipulator velocity at capture is high, t ps can be shortened to ensure that the joint displacements, θ m , remain within limits.
To reduce the control effort of the chaser, the base-spacecraft is operated, during the pre-set manipulator motion period, in a translation-flying/rotation-floating mode, where the basespacecraft attitude is, for trajectory planning purposes, left uncontrolled. Figure 2 illustrates and summarizes the motion during the pre-set period.

Decelerating and Momenta Transfer
Immediately after the smooth, impact-free capture, the manipulator velocity is decreased by applying, for example, a constant decelerationu m . During this post-capture deceleration phase, the momenta between the chaser and target RSO are equalized. The momenta transfer is performed via contact forces applied by the chaser's gripper (or by joint forces and torques to transfer momenta within the chaser's multibody system). At capture, the relative linear and angular momenta are stored as internal motion within the newly formed chaser-target multibody system. During the deceleration period, the forces applied to decelerate the manipulator equalize the momenta between the different bodies. As the momenta are gradually equalized, no impact is perceived by either vehicle. Despite the nominally smooth, impact-free capture, the momenta equalization between the chaser and the target relies on contact forces between the chaser's gripper and the target's grapple fixture. Depending on the mass and inertia of the two vehicles, as well as the tumbling state and momenta transfer rates, these forces could be large, limiting the applicability of this technique or requiring a gripper able to sustain these large forces (Nanjangud et al., 2018). A thorough analysis of the requirements imposed to the chaser's manipulator falls outside the scope of this research.
It is also important to note that in the simultaneous capture and detumbling maneuver the resulting linear momentum is not constrained. As a result, the combined chaser-target system exhibits a residual linear velocity after the maneuver is completed.

GUIDANCE OF THE SIMULTANEOUS CAPTURE AND DETUMBLE MANEUVER AS A COLLECTION OF CONVEX PROGRAMMING PROBLEMS
For guidance purposes, the chaser's free-flying maneuver is divided into the two concurrent sub-maneuvers shown in Figure 3: a system wide translation and an internal reconfiguration. The system-wide translation concerns only the motion of the chaser's center-of-mass, while the internal reconfiguration focuses on the manipulator motion and basespacecraft re-orientation around the chaser's center-of-mass. The complete maneuver is recovered as the combination of the two sub-maneuvers. The guidance of these two sub-maneuvers is formulated as two consecutive optimization steps, solved via two sequential convex programming procedures. In a sequential convex programming procedure (Virgili-Llop and Romano, 2018), a convex approximation of a non-convex programming problem, formed around the previous iteration solution( ·), is repeatedly solved until the cost, J, between two consecutive iterations, [k−1] J ⋆ and [k] J ⋆ , decreases below a certain threshold ǫ: This guidance approach, first proposed by Virgili-Llop et al. (2017b,c, 2019 for a capture-only maneuver, is here adapted for the simultaneous capture and detumble maneuver.

Step 1: Optimization of the System-Wide Translation
To cast the guidance of the system-wide translation into a convex programming problem, the maneuver time, t f , is fixed and the sub-maneuver transcribed with a direct transcription method (Hull, 1997;Conway, 2012;Sagliano, 2017). A total of N 1 nodes are used, with each individual node denoted by n.
The dynamics of the system-wide translation are expressed in a state-space form as, with the state transition matrix [n] r and control matrix [n] r defined as follows: with I 3 and 0 3×3 denoting a 3 × 3 identity and zero matrix, respectively. The cost to be minimized is formulated as the following quadratic expression, with W 1 ∈ R 3×3 denoting the positive semi-definite weight matrix: In order to satisfy the chaser's control limits, a maximum force constraint is enforced: Additionally, in order to avoid colliding with the target, a keepout zone constraint is used. This constraint ensures that the chaser, enclosed by the set S chaser , and the target RSO, enclosed by the set S RSO , don't collide. As the chaser's internal configuration is undefined during this first optimization step, S chaser is modeled as a sphere, centered around the chaser's center-of-mass C and enclosing all admissible internal configurations, θ m , q 0 . As illustrated in Figure 3B, there is a configuration θ KO m that defines the maximum radius R KO . As illustrated in Figure 3A, during the pre-set period of the maneuver, t ∈ t ps , t f , the manipulator motion is known and a smaller radius, R ps KO (t), is used.
Between S chaser and S RSO a signed distance d is defined. If the two sets are not in contact d is positive and it is computed as the smallest distance required to bring the two sets in contact. If the two sets intersect d is negative and it is computed as the smallest distance required to get the two sets out of contact (Schulman et al., 2014). Then, the d vector is defined as the vector between the two closest supporting points P chaser ∈ ∂S chaser and P RSO ∈ ∂S RSO , as illustrated in Figure 4. A convex approximation of the keep-out zone constraint, d > 0, is found by linearizing the constraint around the previous iteration solutionr c (Schulman et al., 2014): with the quantities with( ·) being computed using the previous iteration's solutionr c .
In order to complete the system-wide translation submaneuver's convex programming problem, the simultaneous capture detumble maneuver center-of-mass position and velocity terminal constraints, Equations (21) and (23), are enforced. Problem 1. System-wide convex programming problem to be sequentially solved. min : Notably, the reference trajectory,r c , required to linearize the keep-out zone constraint is not available when the problem is solved for the first time (k = 1). A seed to the sequential convex programming procedure is obtained during the first iteration, k = 1, by removing the keep-out zone constraint in Equation (52) from the convex programming problem. The sequential convex programming procedure of the systemwide translation enjoys guaranteed convergence to a locally optimal point-meeting the Karush-Kuhn-Tucker conditions (Boyd and Vandenberghe, 2004)-even if the RSO's shape, S RSO , is non-convex (Virgili-Llop et al., 2019). To obtain these convergence properties replace, during the second iteration k = Mass of the links m 1 = 5, m 2 = 10, and m 3 = 10 kg Length of the links l 1 = 0.2, l 2 = 0.75, and l 3 = 0.75 m Initial configuration θ m t 0 θ 1 = π, θ 2 = π 2 , and θ 3 = π 2 ( Figure 6A) Grasping configuration θ m t f θ 1 = −π, θ 2 = π 4 , and θ 3 = − π 4 ( Figure 6B) 2, the RSO shape, S RSO , by its convex hull. The solution to this problem is an admissible point to the original non-convex problem and, if feasible, subsequent programming problems are bound to remain feasible with a non-strictly decreasing cost (descending algorithm). From the third iteration onwards, k ≥ 3, S RSO is decomposed into a collection of overlapping convex sets and the linearized keep-out zone constraint is enforced against all these convex sets.

Step 2: Optimization of the Internal Re-Configuration
In order to facilitate the optimization of the internal reconfiguration sub-maneuver it is convenient to formulate the multibody dynamics within a non-inertial CCS C, which is assumed to have its origin on the chaser's center-of-mass and its axes parallel to the ones of the inertial CCS I. The equations of motion in the C CCS take the following form: Note that the inertia matrices and geometric Jacobians in the relative CCS C are equivalent to the ones with respect to the inertial CCS I: As C is non-inertial, a set of generalized inertial forces τ I , derived from the frame's acceleration, appear: These inertial forces, τ I , are the reaction to the centerof-mass forces, f c = f 0 , mapped into their equivalent generalized forces. The kineto-static duality is used to obtain this mapping (Siciliano et al., 2009): with m i and J i denoting the mass and geometric Jacobian of the ith link, respectively. By definition, the portion of the Jacobian mapping the forces applied to the center-of-mass, f c , to forces applied to the basespacecraft, f 0 is an identity. Therefore, it follows that f 0,I = −f 0 . Taking into account this relationship and the identities in Equation (55) the equations of motion in the C CCS can be re-written as: with τ ∈ R 3+n DoF denoting the control variables and J T c the sub-Jacobian, corresponding to the internal re-configuration submaneuver control variable τ .
During the pre-set period of the maneuver, the chaser is operated in a translation-flying/rotation-floating control mode, with the base-spacecraft attitude left uncontrolled (see Equation 42). The manipulator motion during the pre-set period is known and the center-of-mass trajectory for the entire maneuver has been obtained during the optimization of the system wide translation sub-maneuver. Therefore, the attitude motion, ω 0 , during the pre-set period can be obtained with Equation (59) and integrated backwards to obtain q 0 before initiating the internal re-configuration optimization. As the basespacecraft attitude, ω 0 , q 0 , and manipulator motion, u m , θ m , are known during the pre-set period, the internal re-configuration optimization step only needs to extend until the start of the pre-set period t ≤ t ps . The pre-set period is excluded from the internal re-configuration optimization. Note that during the first optimization step the keep-out zone constraint is applied to a sphere enclosing all possible chaser attitudes. Therefore, even if the attitude is not controlled during the pre-set period, the obstacle avoidance properties, as shown in Figure 2, are preserved.
In this optimization step, a sequential convex programming procedure is used to overcome the nonlinear kinematics and dynamics of the multibody system. A convex approximation of the problem is obtained by linearizing the kinematics and dynamics around the previous iteration solution, denoted bỹ u,θ m ,q 0 . To ensure that the solution remains within the region where the linearization is valid, trust regions around θ m and ω 0 are enforced: with ρ θ m and ρ ω 0 denoting the user-tunable radius of the trust region. A direct transcription method with N 2 nodes is used to transcribe the sub-maneuver, with the generalized accelerationṡ u [n] serving as the optimization variables. A trapezoidal integration scheme is used to obtain the quadratic cost for this sub-maneuver with W 2 ∈ R (n DoF +3)×(n DoF +3) denoting the positive semi-definite weight matrix.
The velocities, u, and manipulator joint displacements, θ m , can be propagated using state transition matrices.
The linear approximation of the quaternion differential kinematics is obtained as follows: The following partial linearization of the multibody dynamics is used: Limits on the joint displacements, joint forces, and basespacecraft torques are enforced: and the entry conditions to the pre-set period are used as the terminal constraints. Problem 2. Internal re-configuration convex programming problem to be sequentially solved.
min : The convex approximation of the problem relies on a linearization around a set trajectoryũ,θ m ,q 0 . The first time the problem is solved there is no previous solution to rely on and an initial guess is required. An initial guess for the base-spacecraft's attitude and manipulator's motion can be obtained assuming that the base-spacecraft performs an eigenaxis maneuver and the manipulator follows a linear trajectory in joint space (i.e., minimum deflection from initial to final configuration).

Selecting the Final Base-Spacecraft
Attitude q f 0 The final position of the chaser's center-of-mass is set by the preset final manipulator configuration θ f m . This condition, partially specifies the attitude of the chaser, yet leaving undetermined an angular displacement, φ, about ther e,c axis, as shown in Figure 5.
During preliminary simulations it became apparent that small manipulator velocities increase the probability of obtaining feasible maneuvers, indicating that u f m is a proxy for the maneuver's complexity. The manipulator velocities corresponding to several φ displacements can be computed, and the angular displacement, φ, that produces the minimum u f m can be used to fully define the base-spacecraft capture attitude, and by extension, the manipulator and base-spacecraft attitude motion during the pre-set period.

Selecting the Initial and Final Time
In order to cast both sub-maneuver optimization problems as convex programming problems, they are converted to fixedfinal-time problems. As discussed by Virgili-Llop et al. (2019), and later shown in section 5, longer final times, t f , reduce, in broad terms, the cost of the maneuver. The user is then prompted to select the longest possible maneuver duration, only limited by the available computing power, or by other factors as communication, or illumination windows. Once the maneuver time is fixed, the following question arises: When does the maneuver start? The window when the maneuver can occur, limited by illumination, communication, or other factors, may be longer than the actual maneuver duration. Instead of starting the maneuver right at the beginning of the window, it may be advantageous to wait for more favorable capture conditions. As the manipulator velocity is a proxy for the capture complexity, a capture condition inducing low manipulator velocities is, in general, desired. The chaser can analyze the capture conditions at different times during the capture window, and start the maneuver when the smallest manipulator velocity at capture is anticipated. The numerical simulations shown in section 5 indicate that this strategy helps to increase the ability of the guidance algorithm to find feasible solutions.

NUMERICAL SIMULATIONS
In order to illustrate the proposed simultaneous capture and detumble maneuver, a numerical simulation case study is provided. The chaser and target RSO used are shown in Figure 6. The parameters used in the simulations are provided in Table 1. For added insight, a Monte Carlo analysis was conducted for 11 maneuver times (t f ) and 11 initial RSO angular velocity magnitudes ( ω r (t=0) ). For each pair of t f and ω r (t=0) , 100 simulations with randomized RSO initial orientations (as proposed by Shoemake, 1995) and angular velocity directions have been conducted. For each case two capture maneuvers are simulated, one starting the maneuver right away with the initial random orientation and velocity, while the other allowing the chaser to wait for more favorable capture conditions. A total of 11 × 11 × 100 × 2 = 24, 200 maneuvers have been simulated, allowing to assess the robustness of the proposed guidance. The post-capture manipulator deceleration has not been simulated and it is assumed to be feasible for all cases. Figure 7 shows the percentage of feasible simultaneous maneuvers found by the proposed guidance algorithm. Figure 7A shows the feasibility with respect to the target RSO initial tumbling rate, while Figure 7B shows the feasibility with respect to the target's angular momentum, normalized by the chaser's largest moment of inertia. The results suggest that the simultaneous capture and detumble maneuver gets increasingly difficult as the RSO's tumbling rate increases.

Numerical Simulation Results
The strategy of initiating the maneuver right away, or waiting for more favorable conditions within the capture window is compared in Figure 7. The capture window has been assumed to last for one tumbling period (P = 2π/ ω r ), upper bounded at 5 min. From the results shown in Figure 7, it can be concluded that waiting for more favorable capture conditions significantly increases the guidance ability to find feasible maneuvers.
With the particular combination of chaser and target simulated here, the proposed guidance approach is able to find feasible simultaneous capture and detumble maneuvers for moderate tumbling rates (<7 deg/s) and a wide range of initial RSO states. These feasibility statistics contrast with the remarkable 99.95% success rate obtained by capture-only maneuvers using the matching velocity terminal constraint, which were shown to be insensitive to the RSO's tumbling rate-at least up to 10 deg/s (Virgili-Llop et al., 2019). The simultaneous capture and detumble terminal constraints significantly differ from the matching velocity ones. The terminal constraint enforced on a simultaneous capture and detumble maneuver, produces a capture under relative velocity, only offering an instantaneous capture window. The relative velocity and manipulator velocity at capture (see Equations 23 and 32) increase as the target's angular momentum to be neutralized increases, suggesting that the maneuver becomes more challenging for large target inertias or high tumbling rates. This seems to indicate that the feasibility of the maneuver decreases with increasing RSO's rates and inertia. The broader question of maneuver feasibility, or reachability, is in general very difficult to answer and constitutes its own research field (Zagaris and Romano, 2018).
For the converged cases, Figures 8, 9 show the mean submaneuver cost and mean number of iterations required by each sequential convex programming procedure to converge. As expected, the system-wide sub-maneuver cost tends to increase as the tumbling rate increases or the maneuver time decreases. The internal re-configuration sub-maneuver cost exhibits a maximum cost at intermediate tumbling rates while also appearing to decrease for increasing maneuver durations. Figures 10 shows the convergence rate for both optimization steps. From the convergence rate figures it appears that limiting number of iterations of each optimization step to, for example nine, upper-bounds the guidance computation time, without

Gripper
OpenHand Model T42 (flexure-flexure) (Ma et al., 2013) Control and telemetry rate 50 Hz incurring in an excessive loss of optimality (cost decreases after nine iterations are small on both optimization steps). Figures 8,9 can be compared to their counterparts in Virgili-Llop et al. (2019), where a capture-only maneuver was studied, showing that adding the detumble terminal constraints makes the maneuver more expensive and computationally complex.
A video showing the two sequential convex programming procedures used on both optimization steps is attached as Supplementary Material.

Verification of Assumption A.2
A brief analysis to confirm the validity of the assumption that the environmental and relative orbital dynamics disturbances are small and can be safely neglected is now presented. The order of magnitude of the relative orbital dynamics can be estimated, using the Clohessy-Wiltshire equations of relative motion (Fehse, 2003), byr CW ≈ 3n 2 o r + 2n oṙ (with n o denoting the orbit's mean motion). The results obtained with the numerical simulations,   with r ≤ 10 m andṙ ≤ 0.39 m s −1 (on a 10 deg/s tumbling rate case), imply that, at low orbital altitudes (500 km circular orbit), r CW is 1.9% of the chaser's maximum acceleration, F 0 max /m c . At geostationary orbital altitudes,r CW drops to 0.12% of F 0 max /m c .
To bound the effects of differential aerodynamic drag let's assume that the target is operating at low altitudes (500 km circular orbit), orbiting through a residual atmosphere with a density of 10 −11 FIGURE 13 | Experimental results: telemetry snapshots of the first experiment. kg m −3 . Additionally, let's assume that the target's cross section area is A = 12 m 2 and with a drag coefficient C d = 2.2. With these conditions, the target would be subjected to 0.008 N of drag.
If the chaser did not experience any drag-worst-case scenariothe differential aerodynamic drag would represent 0.12% of F 0 max . For the solar radiation pressure a similar analysis can be conducted, showing that a worst-case solar radiation pressure differential would amount to 0.002% of F 0 max .

EXPERIMENTS ON A PLANAR AIR BEARING TABLE
In order to experimentally demonstrate that the proposed maneuver actually detumbles the target upon capture and to provide empirical evidence that the proposed guidance approach is suitable for onboard implementation and real-time execution, the proposed simultaneous capture and detumble maneuver has been tested on the POSEIDYN hardware-in-the-loop dynamic planar air bearing test bed (Romano et al., 2007;Zappulla et al., 2017b). In this test bed, experimental demonstrations of docking maneuvers with tumbling objects have been previously conducted (Wilde et al., 2016;Park et al., 2017), and the set-up used in this experimental campaign, which is shown in Figure 11, is similar to the one used in previous capture-only experiments (Virgili-Llop et al., 2019).

Experimental Set-up
The POSEIDYN air bearing test bed consists of a smooth and horizontally leveled 4-by-4 meter granite table and multiple Floating Spacecraft Simulators (FSS) (see Zappulla et al., 2017b).
A Floating Spacecraft Simulator (FSS), equipped with a threelink robotic manipulator, is used as the chaser spacecraft while a second FSS, with mock solar panels, is used as the rotating RSO to be captured. Three planar air bearings mounted on the FSS greatly reduce its friction with the granite table. This quasi-frictionless dynamics combined with the horizontally leveled table produce a low residual acceleration environment in two translation and one rotation degree-of-freedom (planar motion). Eight cold-gas thrusters (Lugini and Romano, 2009), modulated using a Delta-Sigma modulator (Ciarcià et al., 2017;Zappulla et al., 2017a), provide the required control forces, while a reaction wheel, controlled via a speed-mode controller, actuates the requested torques . A three-link manipulator is mounted on the chaser FSS (Virgili-Llop et al., 2016. The manipulator joints are all revolute. The first two links are identical and host an additional air bearing to support their weight. The third link of the manipulator is a minimalistic joint that functions like a wrist, allowing the gripper to adjust its orientation. The gripper is based on the open-source OpenHand Model T42 (Ma et al., 2013). Selected parameters of the FSS are provided in Table 2.
During the experiments, the navigation is solved by an overhead motion capture system (VICON), providing position and orientation measurements of the different FSS on the granite table. The VICON data is augmented by an onboard Fiber Optic Gyroscope (FOG) and fused with a discrete Kalman filter .

Experimental Maneuver
The nominal initial conditions of the maneuver are shown in Figure 12. These initial conditions present a non-trivial guidance problem, requiring multiple iterations on both sequential convex programming procedures. The initial conditions were selected to obtain a trajectory that remains within the 4-by-4 meter granite table. The RSO rotation rate was set at 5 deg/s (above this rate the numerical simulations show the chaser trajectory extending outside of the granite table).
During the experiments the chaser first moves to its prescribed initial position while acquiring the initial manipulator configuration. The capture maneuver starts when the RSO achieves a pre-determined initial attitude (seen in Figure 12). Then, the two-step optimization problem is solved onboard the chaser FSS every ten seconds. The solutions τ 0 andu are applied in a feed-forward arrangement with a linear-quadratic regulator in a feedback loop, correcting any deviations from the nominal trajectory . The open-source nonlinear programming solver IPOPT (Wächter and Biegler, 2005) is used to solve the convex programming problems onboard the chaser FSS and the open-source SPART toolkit (Virgili-Llop, 2017) is used to obtain all the manipulator-related kinematic and dynamic quantities. Selected guidance parameters are provided in Table 3.
When the chaser reaches t ≥ t ps no new guidance updates are produced and the chaser follows the latest available solution. Finally, when the manipulator's end-effector is within a set distance with respect to the grapple fixture the gripper closes, capturing the rotating RSO. The FSS emulating the RSO to be captured is also controlled up to the capture instant. Its position and orientation are controlled in order to follow the prescribed rotation rate. When the RSO is captured the control stops, allowing the combined chaser-target system to freely drift as a single rigid body.

Experimental Results
Ten experiments were performed sequentially in a single session with all of them successfully completing the capture and detumble maneuver. This shows that the proposed guidance is able to produce repeatable results. A video showing an example maneuver, the telemetry replays for all ten experiments, and the comparison with a capture-only maneuver is attached as Supplementary Material.
Eight snapshots of the first experiment are shown in Figure 13. The bold line denotes the trajectory of the chaser's center-of-mass, the bold circles, •, denote the locations where the guidance updates are delivered, the triangle, △, denotes when the gripper closes and capture achieved, and the star, ⋆, denotes when the free-drifting starts. Figure 14 shows the evolution of the angular velocity. Additionally, Figure 15 shows how the linear velocity ( Figure 15A) and manipulator's configuration (Figure 15B) evolve. Due to the accelerations imparted immediately after capture, the navigation filter on the target FSS diverges during the manipulator's deceleration period. When the forces between the chaser and target subside, the filter re-converges, revealing a chaser-target system rigidly connected with matching roto-translational states. Going back to the results of the proposed maneuver, Figure 15A shows the linear velocity magnitude of both vehicles, and how their linear velocities converge after the momenta equalization is complete to a non-zero value, as anticipated in section 3.3. The post-capture manipulator deceleration, equalizing the momenta between both vehicles, is shown in Figure 15B. The condition u m = 0 imposed at t = t ps (see section 3.2) can be also seen in this figure.  Figures 17, 18 show the number of iterations required to converge and the total amount of computational time used on both optimization steps. It is worth pointing out that the number of iterations required to converge is small and the required computation time is well within the limits. These results confirm that the proposed guidance is suitable for onboard implementation and real-time use.
The experiments success also indicate that the proposed guidance is able to cope with the inherent uncertainties and variability present in hardware-in-the-loop experiments. During the experiments, the target uses its thrusters to keep itself at the nominal position and rotating at the specified rate. The target's control is effective but position and angular rate fluctuations are still present (as clearly seen in Figure 14). Additionally, the discrete actuation of the chaser's thrusters along with inertia uncertainties and unmodeled hardware effects deviate the chaser from its intended trajectory. Periodically recomputing the guidance trajectory allows to adjust for both chaser and target offnominal positions, while the tracking controller helps the chaser stick to the reference trajectory.

CONCLUSIONS
A maneuver to simultaneous capture and detumble a space object has been proposed here for the first time. In order to detumble the target upon capture, a terminal constraint on the chaser's momenta is introduced. A solution to the guidance problem is obtained by solving a collection of convex programming problems. Given the deterministic convergence properties of convex programming, the proposed guidance algorithm is suitable for onboard implementation and realtime use. Numerical simulations revealed that the feasibility of a simultaneous capture and detumble maneuver decreases as the target's angular momentum increases. The simulations also indicate that it is more difficult to obtain feasible solutions for a simultaneous capture and detumble maneuver than for a captureonly maneuver with a matching velocity terminal constraint. A set of hardware-in-the-loop experiments have provided empirical evidence of the simultaneous capture and detumble maneuver efficacy and real-time capabilities of the proposed guidance algorithm. These hardware experiments also show that the potential added difficulties of the proposed approach are not insurmountable, at least for moderate rotation rates and when the target RSO is of similar size than the chaser spacecraft. Larger RSO or higher rates may impose more stringent requirements on the chaser-spacecraft and manipulator design, potentially limiting its applicability.

AUTHOR CONTRIBUTIONS
JV-L and MR developed the simultaneous capture and detumble maneuver and its associated guidance. Additionally JV-L performed the numerical simulations and experiments.