Dual arm coordination of redundant space manipulators mounted on a spacecraft

The paper addresses a signiﬁcant challenge in on-orbit robotics servicing and assembly, which is to overcome the saturation setback of force/torque on robot joint and spacecraft actuators during the post-capture stage while controlling a target spacecraft with uncontrolled large angular and linear momentums. The authors propose a novel solution based on two robust and eﬃcient control algorithms: Optimal Control Allocation (OCA) and Non-linear Model Predictive Control (NMPC). Both algorithms aim to minimize joint torques, spacecraft actuator moments, contact forces, and moments of a compound redundant system that includes a common payload (target spacecraft) grasped by dual n -degree space robotics manipulators mounted on a chaser spacecraft. The OCA algorithm minimizes a quadratic cost function using only the current states and the system dynamics, but the NMPC also considers the future state estimates and the control inputs over a speciﬁed prediction horizon. It is computationally more involved but provides superior results in reducing joint torques. The literature to date in application of MPC to robotics mainly focuses on linear models but the dual arm coordination is highly non-linear and there is no MPC application on dual arm coordination. The proposed discretized technique oﬀers exact realizations (of a non-linear model) with elegance and simplicity and yet considers the full non-linear model of the dual arm coordinating sys-tem. It is computationally very eﬃcient. The computer simulation results show that the proposed algorithms work eﬃciently, and the minimum torques, contact forces, and moments are realized. The developed algorithm also is very eﬃcient in tracking problems.


Introduction
In the last two decades, there has been a significant interest in autonomous robotics spacecrafts equipped with the tools, technologies, and techniques (i) to extend satellite(s)' lifespan -even if they were not designed to be serviced on orbit and (ii) to assemble large space structures and manufacture on orbit.These on-orbit robotics capabilities will eliminate volume limits imposed by launch vehicles and replace some astronaut extravehicular activity tasks with precision robotics.Thus, on-orbit robotics servicing and assembly are deemed to be a key solution and technology due to existing launch & deployment constraints.These robotics technologies will also enable new architectures and capabilities for a wide range of government and commercial missions including in-space construction of large space structures, communications antennae, and telescopes.
Recently, OSAM-1 (formerly known as Restore-1), a robotics spacecraft, is being jointly developed by NASA and MAXAR Technologies Inc. and soon it will be ready to carry out various on-orbit assembly and servicing tasks such as fabrication, assembly of antennas, and refueling of satellites.ARCHINAUT (OSAM-2) developed by NASA and Made in Space Inc. features multiple robotics arms for on-orbit precision manufacturing and assembly [1][2][3].Some other examples include the Gateway Moon Space Station by NASA and international partners, Moon Village and Mars Exploration by the European Space Agency, the OrbitalHub by the German Space Agency, and many other large space structures and telescopes [4].
On-orbit robotics servicing and assembly missions [5] generally include several modes of operations such as (a) orbital approach and rendezvous, (b) robotics arms deployment and pre-contact approach, (c) contact and capture, and (d) post-capture operations.
In the pre-contact stage, space manipulators mounted on the chaser spacecraft approach and gradually follow the motion of the target payload.In the contact stage, the space robots are free floating.Finally, during the post-capture phase, space robots suppress the target's uncontrolled motion and establish a new trajectory [6,7].Matsumoto et al. [8] proposed the use of the natural dynamics to complete a passive fly-by approach and an optimal trajectory for close-range rendezvous with a rotating satellite.The study also considered issues such as collision avoidance between the manipulator and the target satellite.Ma et al. [9] designed an optimal trajectory for a spacecraft to approach a tumbling satellite by minimizing time and fuel.A cubic spline-based collision avoidance algorithm for a robotics spacecraft was developed by Fejzic [10].Xin and Pan [11] developed an optimal control of spacecraft approaching a tumbling target.They minimized the flexible motion induced by large angular maneuvers using a nonlinear optimal control technique.Vafa and Dubowsky [12] proposed a special cyclic motion trajectory of a manipulator's joints to change the base spacecraft's orientation.The path planning problem of a free-floating target with a manipulator having angular momentum was addressed by Yamada et al. in ref. [13,14].
Gasbarri [15] reported that the dynamics modeling and pre-contact motion planning of a space robot are significantly more complicated than those of fixed-base manipulators due to the "dynamic coupling" between the manipulator arms and the base platform.The study investigated pre-contact and post-capture phases and proposed a scheme to control either joint torques or moments applied to the chaser spacecraft.
The issue of stability and control during the initial stage of contact and capture has been extensively studied and published.Cyril [16] developed a dynamics model of the compound system for a post-capture phase and proposed a model-based feedback linearization control scheme.Dimitrov [17] presented two new control laws regarding management of the total angular momentum of a compound system during a post-capture phase.Wang [18] also emphasized on the post-capture phase and presented a novel sliding mode control scheme for a tether-connected robotics system.
Suresh [19] presented a robust control theory based on a dissipative function for a stable compound system during an autonomous capture.Aghili [20] developed a control model which dissipated unwanted linear and angular momentum to bring a tumbling target spacecraft to rest.Xu [21] proposed a control strategy to maneuver the captured spacecraft along with the mounted space robot during deployment of a target spacecraft.Cheah [22] proposed a feedback control law which can deal with uncertain system parameters and still unload the angular momentum of the compound system.Dixon [23] presented an adaptive regulation in the case of uncertain dynamics parameters of space robots.Cheah [24] developed an approximate Jacobian adaptive control scheme for robots.Wang [25] presented a Jacobian adaptive controller for free-floating space robots.Zhang [26] developed a modified adaptive sliding mode control algorithm to reduce the unknown angular momentum of a target spacecraft.
Schneider [27] studied a modified impedance control technique called Object Impedance Control for fixed-base multiple robots manipulating a common object.In this study, the common object followed a reference mechanical impedance.More recently, Moosavian [28] developed the Multiple Impedance Control algorithm for several cooperating robots which manipulate a common payload.
The Model Predictive Control (MPC) framework simultaneously allows optimization of the given performance index in conjunction with the accounting of the system dynamics and constraints as demonstrated in [29][30][31][32][33][34].In a study conducted by Gangapersaud et al. [35], a novel detumbling strategy is presented to detumble targets without prior knowledge of their inertial parameters.Detumbling of the target is achieved by controlling the space robot to follow a reference force/torque that is designed to detumble the target while respecting force/torque limits at the end-effector, without the use of the target's inertial parameters.To ensure a stable detumbling strategy, a robust compensator is developed predicated on bounds of the target's unknown inertial parameters.
One of the most practical and theoretical challenges in implementing a robust model of MPC is the ability to tackle the various uncertainties that can affect the performance of the system.Due to the receding horizon nature of the model, standard MPC can provide a level of robustness that is not available in other methods [36].Unfortunately, the literature showed that the standard MPC cannot provide adequate performance in complicated robotics systems [37].To address this issue, many research efforts have been carried out on developing robust MPC that can provide robust stability and constraint satisfaction in the presence of uncertainties [38][39][40][41][42].Over the last few years, the scope and the realtime capabilities of Non-linear Model Predictive Control (NMPC) have been greatly improved.There has been remarkable increase in the number of tools that enable fast solutions of the various non-linear programs, such as gradient use (Englert et al. [43]), input parameterization.(Rathai [44]), and realtime iterations (Quirynen et al. [45]).The application of NMPS for free-floating space manipulator is provided in refs.[46][47][48].
However, regardless of the applied control theory, it is observed that one of the most crucial problems and technical challenges for spacecraft robotics in the literature [49] is the saturation of force and torque of robot joint and spacecraft actuators during the post-capture stage while controlling a target spacecraft due to its uncontrolled large angular and linear momentums.In the literature [50], the manipulator damps out the target's angular and linear momentums as quickly as possible subject to the constraint that the magnitude of the exerted force and torque remain below their prespecified values in the post-capture phase.
This paper directly focuses on the very issue and presents a novel solution with two robust and efficient control algorithms which minimize the joint torques and contact forces while maintaining the desired trajectory of the payload (i.e., target spacecraft) during the post-capture phase.
The literature to date in the area of application of MPC to robotics mainly focuses on linear models but the dual arm coordination is highly non-linear, and there is no robust MPC application on dual arm coordination.The proposed discretized technique offers exact realizations (of a non-linear model) with elegance and simplicity and yet takes into account the full non-linear model of the dual arm coordinating system.Furthermore, the cost function selected in NMPC is unique focusing on a practical problem, that is minimization of joint and spacecraft actuators moments during a post-capture phase while unloading momentum and bringing a target spacecraft to rest.In addition, the method is further extended to accommodate the pre-contact phase as well by simply changing the cost function to incorporate the minimum joint rates.
As far as the spacecraft hardware and software implementations are concerned, the space community is divided on the matter of centralized versus distributed processor architecture [51].After evaluating the proposed control algorithms, we have determined that a distributed architecture is the optimal choice for our application.This architecture offers several benefits, including parallel control of the spacecraft and robots, reduced computer speed demands, and enhanced reliability through inherent redundancy.Our proposed architecture consists of three main processors: (i) Spacecraft Attitude Determination and Control System (ADACS) and Robot Control System (RCS), (ii) Command and Data Handling (C&DH), and (iii) Communications Processor.
The control algorithm resides in the ADACS & RCS computer, responsible for controlling the spacecraft's 3-axis momentum attitude, orbital maneuvers, and end-effector position and orientation control of the robots.The algorithm will also collect sensory data from sources such as the star trackers, joint encoders, and the vision system, among others.A star tracker allows for precise control of the spacecraft's attitude, with accuracy of 0.01 • or better.The spacecraft is equipped with three orthogonal reaction wheels and a combination of torque rods and magnetometer.The vision system determines the pose of the target spacecraft.The Computer Software Configuration Items (CSCIs) include a range of modules, such as OCA, NMPC, Forward and Inverse Kinematics Functions, the Robot Dynamics Function, Jacobian, Jacobian Rate, Impedance Control Trajectory Generation Function, and more.These CSCIs are located in the ADACS and RCS computer.
Section 2 presents the theoretical formulations, including the kinematics, dynamics model of the compound system which consists of a chaser spacecraft and two n-degree redundant manipulators and a target spacecraft.Two generic optimal control algorithms (utilizing (i) only the current states OCA or (ii) the current and the future predicted states -NMPC) are formulated to obtain optimal control actions for joint torques and the contact force/moments, respectively, to minimize a specified performance index.
Simulation results and discussion are presented in Section 3, and some concluding remarks are provided in Section 4.

Theoretical formulations 2.1. Description of the system
The system under consideration consists of a rigid spacecraft (chaser), two n-DOF redundant manipulators, and a rigid payload (target).An example of the system of a rigid spacecraft with two n-degree robots and a rigid payload is illustrated in Fig. 1(a).The geometry of the robotics arm is presented in Fig. 1(b-c).The parameters of the spacecraft robotics system used in the simulations are provided in Table I in Appendix.
Let the Rc , the position vector and true anomaly β, define the location of the instantaneous center of mass C of the spacecraft with respect to the inertial coordinate system, X, Y , Z having its origin at the center of Earth.It is assumed that the inertial coordinate system is set up with x-axis pointing to perigee and z-axis to orbit normal, and the y-axis completes the right-hand triad.
The motion is described by using a set of coordinate axes x, y, z fixed to the central body such that they are roll, pitch, and yaw axes, respectively.These in turn are obtained from a set of orbital coordinates axes x o , y o , z o through three rotations as described in Section 2.2.Here z o -axis is directed towards the center of Earth, y o -axis is along the orbit normal, and x o -axis completes the right-hand triad.For convenience, a set of local coordinates is also assigned to each joint of the robot manipulators where z i is parallel to the axis of rotation and x i is along the link and y i completes the right-hand triad.

Kinematics of the system
The rotational transformation from orbital to body axes is represented by a 1-3-2 Euler sequence, with angles φ, ψ, and θ , respectively.The components of the body-attached angular velocity along x, y, z axes can be written in terms of φ, ψ, θ as follows [52,53] where ω o is the orbital angular velocity The transformation matrix R which describes the relative rotational motion between the orbital coordinate frame (x o , y o , z o ) and the spacecraft attached coordinate frame (x, y, z) can be written as:   These transformation matrices are obtained for both the target and chaser spacecrafts.Similarly, each homogeneous transformation matrix T j i that transforms the coordinates of a point from frame j to frame i on a robot manipulator is calculated using Denavit-Hartenberg (D-H) convention [52,54].
where the quantities d i , a i , θ i , α i , are parameters of link i and joint-i and a i , is the length of the link, d i is the offset, θ i is the joint angle while α i is the twist.
The Jacobian matrices and their first-time derivatives between the center of the chaser spacecraft and a point k on the left robotics manipulator are as follows: where e c is the unit vector along ωc spacecraft angular velocity vector, ẽi is the unit vector along the rotation axis of the ith joint and rck , rik are the displacement vectors from the center mass of the chaser spacecraft and ith joint to the point k, respectively.For example, if the Jacobian matrix between the center of the chaser spacecraft and the end-effector is selected, k will be assigned to (n + 1).Similarly, the Jacobian matrices and time derivatives can be calculated for the right manipulator.The linear, angular velocities, and accelerations of any point on the left manipulator can be calculated by using the Jacobian matrix [54]: where θT L = [ θ1L , θ2L , θ3L . . .θn ] is the left-arm joint rates, Ṽk and ˜ k are the (3×1) linear and angular velocity vectors of the k point on the left manipulator, respectively.Similarly, the linear and angular velocity of any point on the right manipulator can also be determined by simply changing the index from L to R.

Dynamics model of the system
The dynamics equations are obtained by Newton-Euler formulation.Figure 1(d) shows all the forces and moments acting on link i.
The translational equation of motion is developed by adding the inertial force to the static balance of forces on each link so that where f (i−1, i) and − f (i, i + 1) are the coupling forces applied to link i by links i−1 and i + 1, respectively.
The inertial torque acting on link i is given by the time rate of change of the angular momentum of the link at that instant.Let ωi be the angular velocity vector and I i be the centroidal inertia tensor of link i, then the angular momentum is given by I i ωi and the gyroscopic torque is calculated as ωi × I i ωi .Adding these terms to the static balance of moments yields where Ñ(i−1,i) and Ñ(i,i+1) are the coupling moments and r(i−1,i) , r(i,Ci) are the displacement vectors as shown in Fig. 1(d).
The complete set of equations for the two robots and the chaser spacecraft is obtained by evaluating both equations for all the links and the spacecraft, i = 1,• • • , m.To obtain closed-form dynamic equations, one can first eliminate the constraint forces and separate them from the joint torques, so as to explicitly involve the joint torques in the dynamic equations as follows [47]: where G the mass/inertia matrix is a positive definite matrix and, Ṙc , ωc are the linear and angular acceleration of the chaser spacecraft, θ L , θ R are the joint angular accelerations for the left and right arm, respectively.cv , cw , cθ L , and cθ R are the non-linear terms while Fc , τ c are the external control force and moments for the chaser spacecraft and τ θ L , τ θ R are the joint control torques for the left and right arm, respectively.

Proposed optimal control techniques for dynamics control of coupled spacecraft attitude and robotics manipulators
The system consisting of two redundant manipulators and the two spacecrafts, namely the chaser and the target, is mathematically an underdetermined system due to the redundant number of actuators and sensors available to control the attitude and translational motions of the links and the spacecrafts.
This section presents a novel control solution to this problem by two control algorithms based on (i) Optimal Control Allocation OCA and (ii) Non-linear Model Predictive Control (NMPC).Both algorithms are aimed to minimize joint torques, spacecraft actuator moments, and contact forces moments of a compound redundant system which consists of a common payload (target spacecraft) grasped by dual n-degree space robotics manipulators mounted on a chaser spacecraft while tracking a desired trajectory.The OCA is based on optimal control allocation minimizing a quadratic cost function using the current state values and the system dynamics.On the other hand, the second NMPC algorithm minimizes a quadratic cost function which not only includes the current states but also the future state estimates, and the control inputs over a specified prediction horizon.The NMPC is deemed to be a natural extension of the OCA algorithm presented here and either technique can be employed based on availability of on-board computational resources.

The OCA formulation
The OCA algorithm involves two stages as demonstrated below in a control system block diagram in Fig. 2(a).The first stage of the control block diagram includes impedance control technique which is responsible for generating the desired trajectories for the end-effectors of the left and right robots prior to making a contact with the payload [54].
The second stage of the block diagram based on OCA algorithm is robust and computationally very efficient and provides minimum norm of joint torques and contact forces for an underdetermined https://doi.org/10.1017/S0263574723000504Published online by Cambridge University Press compound robotics system.This technique was originally developed for cooperating rovers [51].The formulation is hereby extended to free-floating spacecraft-based cooperating space arms.In addition, it is further applied to two different modes of operations (i.e., pre-contact and post-capture) of space arms as presented below.

OCA pre-contact stage
This is the mode of operation where the two end-effectors approach toward the target spacecraft (i.e., payload).In a real space application, the relative motion of the target is determined via a vision or a laser system located on the robot end-effectors or on the capture spacecraft and thus the end-effectors approach to the vicinity of the payload's grapple fixtures to grab the payload.
One can assume that the relative payload-grapple fixture trajectory, Xi-rel , is determined via the chaser spacecraft vision system.After transforming this information into the inertial reference frame, the following relationships can be written between the time derivatives of the pose of the left grapple fixture and the joint rates and angular rates of the chaser spacecraft using the Jacobian matrix and its time derivative.
where k refers to the location of the left grapple fixture, XL and XLrel are the absolute and the relative displacement vectors, respectively.Similar relations exist for the right grapple fixture.
During the pre-contact stage, the end-effectors are in a free motion (i.e., holding no common payload) and the system consists of a tree structure.The following cost function, C o is employed to obtain the minimum norm joint and Euler angular rates: W is a square (3 + 2n, 3 + 2n) positive definite weighting matrix, n is being the total number of joints for each arm, and λT i is the (6×1) Lagrangian multiplier and i is replaced by the L and R for the left and right robots, respectively.
The q and So vectors which consist of the spacecraft angular as well as the left and right arm joint angular rates are provided below: Minimizing the cost function C o with respect to qi and λi can be carried out by differentiating C o with respect to qi and λi (where i is replaced by L and R for the left and right robots, respectively), and one can calculate the minimum norm of joint and Euler rates as follows: https://doi.org/10.1017/S0263574723000504Published online by Cambridge University Press Solving for qi from Eq. ( 16), one can obtain the following relationship: Substituting this relationship into Eq.( 17), and defining a new variable matrix, U i In addition, substituting λopt i into Eq.( 18), one can solve for the minimum norm qi and qi,min as follows: qi,min Furthermore, referring to the first part of the control block diagram, the impedance control scheme can be employed to generate trajectories for the both end-effectors to track the target payload as described below: where M i B, K are (6×6) positive definite matrices and are selected to satisfy the tracking performance requirements while Xdi and Xi are the desired payload and the end-effector trajectory respectively [54].
The matrix selection process will not be discussed here for the sake of brevity.Through the application of the inverse dynamics of the system as shown in the control block diagram, the joint torques, and the chaser spacecraft moments then can be calculated accordingly as shown below:

OCA post-capture stage
Saturation of torques of space robot joint actuators and momentum wheels mounted on a spacecraft is a major concern in real applications.In this mode of operation, a cost function C p is defined to minimize the joint torques τ θ L , τ θ R and the chaser spacecraft thrust force and moments Fc , τ c and the contact forces and moments Fi and Ñi applied by the robot manipulators on the target spacecraft (i.e., payload) Therefore, a cost function, C p can be designed as: W is a square (2n + 18, 2n + 18) positive definite weighting matrix provided in Eq. (25b) while λ is the ((2n + 12), 1) Lagrangian multiplier and Ẽ is a vector which consists of the constraints equations as defined by Eq. (28).
The S vector consists of the end-effector contact forces and moments as well as the chaser spacecraft control force and moments, the joint torques for the left and right arm, respectively, as given below: where Fi and Ñi are the contact forces and moments applied by the left and right robot manipulators on the target spacecraft, respectively, while Fc and τ c are the chaser spacecraft control thrust forces and moments.
The Ẽ vector can be calculated as follows: where dL , dR are the displacement vectors from the left and right end-effectors to the center of mass of the target spacecraft, respectively.Also, dL × FL can be re-written as a matrix multiplication as D L FL , where dL = (x L , y L , z L )T and then and L can be replaced by R for the right robot.
The cost function C p can be minimized by differentiating C p with respect to λi and S to calculate the minimum norm of joint torques and end-effectors force and moments exerted on the target spacecraft. and Carrying out some algebraic manipulations, one can eliminate λ from the equations and obtain the minimum norm of S vector as provided in Eq. ( 31).where is a ((2n + 18) × (2n + 18)) square matrix.and P are given below: where ẋt and ˜ t are the linear and rotational velocity of the center of mass of the payload, where W Ni and W τ i are the sub-weighting matrices, and they are the components of the W square (2n + 18, 2n + 18) weighting matrix while (J k c ) T L1 and (J k c ) T R1 are (n × 3) partial Jacobian matrices defined as below:

The NMPC formulation
The NMPC block diagram is provided in Fig. 2(b).The NMPC block diagram simply replaces the second stage of Fig. 2(a).The reference trajectory (shown in Fig. 2(b)) is the output of the first stage, that is, the impedance control trajectory generation in Fig. 2(a).However, the future state estimates are also incorporated in the calculations to estimate the future reference trajectory values over the prediction horizon.In this case, a performance index (i.e., a cost function) of the system is optimized by implementing a robust NMPC that takes into account the predictions of the output signal and the constraints on the states, inputs, and outputs as shown in Fig. 2(b).
The main difference between the NMPC and the OCA is that the former uses a system model to predict and control the future behavior while the latter only considers the current and the past behaviors.
The NMPC algorithm is used to predict and control the system's future behavior by implementing a set of optimization problems at each control interval.These problems are usually related to the constraints and cost functions.The cost function is a scalar that must be minimized at each interval to measure the performance of the system.In addition to the cost functions, the system can also be subjected to physical constraints on the states and plant output to check its performance.The modified states are adjusted according to the constraints applied to the system.
The conventional MPC formulation for the dual arm non-linear system can be written as: where T p is the prediction horizon; K and W are (2(6 + 2n) × 2(6 + 2n)) and ((18 + 2n) × (18 + 2n)) positive definite square weighting matrices, respectively; g(ỹ), gz (ỹ), L, H are part of the nonlinear system equations and is a square positive definite scaling matrix for saturation limits.ỹ(t )) state vector including the chaser spacecraft position, Euler angles, and the joint angles for the left and the right arms and their rates; ỹr (t) is the reference/desired states, the S vector consists of the contact forces and moments as well as the chaser spacecraft control force and moments, the joint torques for the left and right arm, respectively, as previously defined in Eq. ( 26), and is constrained between S min and S max .The non-linear system can now be described with an exact quasi-linear parameter varying realization [43].
where ḱ is the sampling instant and z( ḱ) is a vector of the measured outputs at instant ḱ.
The NMPC is applied at each sampling instant, and the discrete states ỹ( ḱ) and control inputs S( ḱ) are obtained minimizing the following performance index, that is, the Cost Function: The cost function C n can be further simplified with the substitution of ỹ( ḱ + j) as follows: The cost function C n can be minimized by differentiating C n with respect to S( ḱ + j) to calculate the minimum norm of vector S( ḱ + j) which consists of joint torques and end-effectors force and moments exerted on the target spacecraft.

Results and discussion
The computer simulation results are provided and discussed in this section.There are two sets of simulation results associated with the two modes of operation, namely pre-contact and post-capture.As noted in the literature, the challenges associated with the joint torque saturation are related to the post-capture mode; therefore, comparative simulation results for the OCA and NMPC algorithms are presented, compared, and discussed during the post-capture stage.

Pre-contact mode of operation
In this simulation, first a trajectory for the center of mass of a fictitious target spacecraft is prescribed starting from an initial condition xT t (t o ) = [1.5, 0, 0, 0, 0, 0] to the final condition xT t (t f ) = [2, 0.5, 0, 0, 0, π/12] where t o = 0 and t f = 2.5 s, the initial and the final time values, respectively.x T t consists of three position and three orientation angles measured in meters and radians, respectively.It is assumed that the target spacecraft is equipped with two grapple fixtures located opposite sides of the target spacecraft, and the end-effectors will track these fixtures during the pre-contact phase and eventually lock into them during the capture phase.
The trajectories Xdi for these grapple fixtures are then calculated using the rigid body motion of the target spacecraft center of mass xT t and the known geometry of these locations from the center of mass.Then, Eq. ( 23) is employed using the first stage of the control block diagram, basically the impedance control as previously presented in Fig. 2(a).
The main objective of this simulation is to obtain the minimum norm of the joint angular rates for the robot manipulators while their end-effectors track the desired grapple fixture trajectories on the target spacecraft.The conventional inverse kinematics functions cannot directly be applied, and thus, the desired joint values and rates cannot uniquely be calculated since the system consists of redundant manipulators, that is, n > 6.The desired trajectories for the end-effectors were generated in the orbital plane as shown in Fig. 3(a-f).
The variation of minimum norm joint rates for the left and the right arms with time is plotted in Fig. 4(a-b) The joint angles are obtained by integrating the joint rates using Eq. ( 21) and plotted in Fig. 5(a-b).
The joint accelerations for each robot are also calculated using Eq. ( 22) and are plotted with time in Fig. 6(a-b).

Figure 3. (a-f) Target linear and rotational displacement, velocity, and acceleration with time.
The chaser spacecraft control force Fc and moments τ c are also calculated using the inverse dynamics equations as previously developed in Eq. ( 11) and are plotted in Fig. 7(a-b) below.These are the forces and moments transferred from the two robots to the chaser spacecraft due to the inertial angular and linear accelerations of the links.

Post-capture mode of operation using OCA and NMPC
In this simulation, the desired trajectory for the center of mass of the target spacecraft was generated and in turn the trajectories for the left and right end-effectors were obtained while they were holding a common payload (i.e., the target spacecraft).Again, the impedance control technique as illustrated in the first stage of the control block diagram was employed for the trajectory generation.The main objective in this simulation is to obtain the minimum norm of the joint torques and chaser spacecraft control moments and forces, as well as the contact forces and moments exerted on the payload by the two robot manipulators while tracking a desired end-effector pose using both OCA and NMPC algorithms and perform a comparative analysis and discuss the relative merits of these two approaches.The desired trajectories for the end-effectors are shown in the orbital plane as shown in Fig. 8(a-f).
The minimum norm of the joint torques and the contact forces and moments exerted on the payload by the two robot manipulators while tracking a desired end-effector pose were plotted in Fig. 9(a-i) below using both OCA and NMPC techniques.The minimum norm in-orbit plane joint torques obtained by OCA (red lines) and NMPC (yellow lines) are plotted against the in-orbit joint torques (blue lines) obtained by only minimizing the joint rates for comparison purposes.
The comparison of the joint torques clearly demonstrates that the minimization scheme by the NMPC algorithm provides the best results (i.e., the lowest joint torques, followed by the OCA and then the conventional least-square technique which is commonly used in the literature).
The NMPC approach does better in minimizing the joint torques although following a slightly different trajectory, yet arriving at the same desired destination pose.One of the reasons for this is that the performance index (i.e., the cost function) defined in Eq. ( 38) involves the future state estimates as well as the control inputs, and the minimization process involves not only the current state errors and current joint torques but also the future state values, and joint torques over a specified prediction horizon/future timeline.The OCA solution can be deemed as a subset solution if the prediction horizon is only assigned to the current time.Furthermore, the NMPC is a natural progression from the OCA and can be employed depending on the availability of the on-board space computing resources.
The computational complexity of the NMPC is higher than that of OCA.Especially, if one wants to use a continuous model for the NMPC estimates.This was one of the main reasons as to why the literature to date mostly focused on linear models.However, the dual arm coordination is highly non-linear, and thus, there is no MPC application on dual arm coordination.The proposed discretized technique offers exact realizations (of a non-linear model) with elegance and simplicity and yet takes into account the full non-linear model of the dual arm coordinating system as demonstrated in the simulations.
The chaser-base spacecraft control force Fc and moments τ c are also calculated using the inverse dynamics equations as previously developed in Eq. ( 11) and are plotted in Fig. 10  these are the forces and moments transferred from the two robots to the chaser spacecraft due to the inertial angular and linear accelerations of the links.
The joint accelerations for each robot are also calculated using Eq. ( 14) using both OCA and NMPC and are plotted with time in Fig. 11(a-b).The joint angular rates and angles were obtained by integrating the joint accelerations using Eq. ( 13) and were plotted in Fig. 12(a-d).

Simulation demonstration of performance of the NMPC in tracking control
In this section, two sets of trajectories provided in [55] are simulated to demonstrate the performance of the developed NMPC in tracking control.
Trajectory 1: The first trajectory is a circle with a radius of 0.2 m centered at (0.8 m 1 m).The simulation results demonstrating tracking performance are presented in Fig. 13(a-e).The simulation results showed that the NMPC algorithm worked very efficiently to follow the circular trajectory.The Cartesian position of the end-effector is plotted in Fig. 13a while the Cartesian end-effector velocities are presented in Fig. 13b.The time variation of joint angles, angular rates, and the minimum norm joint torques values are presented in Fig. 13(c-e).

Trajectory 2:
The second trajectory is highly intricate and first appeared in [56].This highly complex and intricate trajectory showcases the capability of the proposed NMPC algorithm in tasks requiring accurate tracking of fast and complex trajectories while the robot actuators are subject to torque saturation limits, that is, constraints.
The end-effector is required to track the following trajectory: x d = 0.5 + 0.02 sin(2t) + 0.02 sin(12t) Part 1: The complex trajectory tracking simulation in Part 1 established torque saturation limits S max/min of ±5 N-m and ±4 N-m for joints 3 and 4, respectively.Figure 14(a-g) displays the simulation results, which show that the NMPC algorithm is highly effective in tracking the complex trajectory.Figure 14(a) displays the Cartesian position of the end-effector, while Fig. 14(b-c) shows the tracking error in Cartesian displacement of the end-effector.Figure 14(d) illustrates time variation of the Cartesian velocity of the end-effector.Figure 14(e-g) displays the changes in joint angles over time, angular rates, and minimum norm joint torque values, respectively.In Part 1, the complex trajectory tracking simulation established torque saturation limits of ±5 N-m and ±4 N-m for joints 3 and 4, as shown in Fig. 14(g), and these limits were not exceeded.Part 2: To evaluate the impact of these constraints on tracking performance, the joint torque limits for joints 3 and 4 were deliberately reduced to ±3 N-m and ±2 N-m, respectively.Figure 15(a-d) shows the performance of the NMPC controller in tracking the complex trajectory with these tighter joint torque constraints.
As seen in Fig. 15(a-d), the tracking performance was negatively affected by the constraint on joint torque saturation limits.
Figure 16(a-b) displays the tracking errors linked to two distinct sets of joint torque constraints.The simulation outcomes demonstrate that implementing the lower torque limits (±2 N-m) rather than the higher limits (±3 N-m) resulted in relatively greater tracking errors.Nevertheless, the overall performance of the NMPC algorithm during a complex trajectory with these strict joint saturation limits remains impressive.

Conclusion and future work
The problem of saturation of spacecraft and robot actuator torques is a formidable challenge during the post-capture stage while controlling a target spacecraft with its uncontrolled large angular and linear momentums.This paper presented a novel solution to this problem by virtue of two control algorithms based on (i) Optimal Control Allocation (OCA) and (ii) Non-linear Model Predictive Control (NMPC).The main objective of this paper was to develop a robust and computationally efficient real-time control algorithm which minimized a performance index involving the norm of the joint torques, the chaser spacecraft control moments and forces, as well as the contact forces and moments exerted on the payload by two robot manipulators while tracking a desired end-effector pose.The computer simulation results showed that both the OCA and the NMPC algorithms worked efficiently, and the minimum joint torques, spacecraft control moments, and forces and the contact forces and moments were obtained in real-time successfully while the end-effectors were carrying a common payload and successfully tracking a desired payload trajectory.The comparison of the joint torques clearly demonstrated that the minimization scheme by the NMPC algorithm provided the best results (i.e., the lowest joint torques, followed by the OCA and then the conventional least-square technique which is commonly used in the literature).
The NMPC approach did better in minimizing the joint torques although following a slightly different trajectory, yet arriving the same desired destination pose.One can conclude that one of the reasons for this was that the performance index (i.e., the cost function) defined in Eq. ( 38) involved the future state estimates as well as the control inputs, and the minimization process involved not only the current state errors and current joint torques but also the future state values and joint torques over a specified prediction horizon / future timeline.Thus, the proposed OCA solution can be deemed as a subset solution if the prediction horizon is only assigned to the current time.Furthermore, the NMPC can be regarded as a natural progression from the OCA and be employed depending on the availability of the on-board space computing resources.
It is also observed that the computational complexity of the NMPC was higher than that of the OCA, especially if one wants to employ a continuous non-linear model for the NMPC estimates.One can state that this was perhaps one of the main reasons as to why the literature to date mostly focused on the linear models.However, the dual arm coordination is highly non-linear.The proposed NMPC discretized technique offered exact realizations (of a non-linear model) with elegance and simplicity and yet took into account the full non-linear model of the dual arm coordinating system as demonstrated in the simulations.
The NMPC algorithm was also tested in tracking a highly complex and intricate trajectory while the robot actuators were under strict torque saturation limits.The computer simulation revealed that while the joint torque saturation limits negatively impacted the tracking performance, the overall performance of the NMPC algorithm during the complex trajectory remained impressive despite these strict constraints.
The developed NMPC is facing certain limitations, which we plan to address in our upcoming research work.The performance of NMPC can be negatively impacted if there are inaccuracies in the modeling process.Furthermore, NMPC necessitates offline tuning of its parameters and may not handle disturbances effectively if they are not precisely modeled.Additionally, the current saturation policy lacks a systematic approach for handling output constraints and does not take into account future predictions of inputs.

Figure 1 .
Figure 1.(a) The geometry and description of the system.(b) The robot arm geometry.(c) The 3-D robot arm model.(d) Free body diagram of link i.

Figure 4 .
Figure 4. (a-b) Minimum norm of left and right arm joint rates.

Figure 5 .
Figure 5. (a-b) Variation of optimal joint angles for left and right arms.

Figure 6 .
Figure 6.(a-b) Variation of optimal in-orbit joint angular accelerations for left and right arms.

Figure 7 .
Figure 7. (a-b) Variation of chaser spacecraft control force and moments.

Figure 8 .
Figure 8. (a-f) Target linear and rotational displacement, velocity, and acceleration with time.

Figure 9 .
Figure 9. (a-i) Minimum joint torques (left and right arms) and the contact forces/moments.

Figure 10 .
Figure 10.(a-b) Variation of chaser spacecraft control force and moments.

Figure 11 .
Figure 11.(a-b) Variation of in-orbit joint angular accelerations for left and right arms.

Figure 12 .
Figure 12. (a-d) Variation of in-orbit joint angular rates and angles for the left and right arms.

Figure 13 .
Figure 13.(a-b) Tracking performance.(c-d) Tracking performance -variation of joint angles and rates.(e) Tracking performance -variation of minimum joint torques.

Figure 14 .
Figure 14.(a-d) Tracking performance.(e-f) Tracking performance -variation of joint angles and rates.(g) Tracking performance -variation of minimum joint torques.

Figure 16 .
Figure 16.(a-b) Comparisons of tracking performance with different torque constraints.