Introduction

The in-orbit inspection and servicing of satellites, as well as de-orbiting them at the end of their lifetime, are quickly becoming as vital missions for reducing space debris and reusing working entities. Such missions may involve a space manipulator, which encompasses a base spacecraft with one or more multiple degree-of-freedom (DOF) robot manipulators aboard. The inspection and servicing tasks often require a space manipulator (chaser) to rendezvous and synchronize attitude with the satellite (target), in order to minimize the relative motion between the target and the chaser. Such control problems are now addressed in [10, 11, 16, 17, 23, 27, 28]. With minimal relative motion, the robot manipulator can be utilized more conveniently for docking, inspection or servicing. The nature of such applications implies that the target cooperate or at least communicate with the chaser, hence target state estimates be known. The de-orbiting task, on the other hand, could be approached differently; the chaser rendezvouses with the target, but no attitude synchronization is performed. After rendezvous, the chaser is in free-floating mode, i.e., no position or attitude control for the base spacecraft, and the end-effector of robot manipulator is used to grasp the de-commissioned target and de-tumble it. The authors [2, 6, 7, 14, 19, 21, 22, 24, 30] have developed such controllers. The target in this case is assumed to neither communicate nor cooperate with the chaser. Hence, the target states are obtained from the ground stations and/or estimated using onboard sensors [4, 25] when in close proximity.

The models presented in [6, 7, 10, 11, 16, 17, 19,20,21,22,23, 28, 30] use Euler angle parameterization of the attitude of the base spacecraft, which introduces singularity in the dynamics model and restricts the domain of rotation space (SO(3)) for both control and analysis. In general, this is overcome by patching together the model in different regions of SO(3) using different Euler angle representations. However, such patching approach does not preserve the smoothness (infinite differentiability or \(\mathcal {C}^{\infty }\)) nature of the dynamics model. Alternatively to avoid singularities, the rotation matrix representation of the base attitude can be used. The dynamics model of a base spacecraft with a six-DOF serial robot manipulator is obtained in this paper using the rotation matrix representation for kinematics and Newton-Euler equations for dynamics. The obtained model is valid globally on the configuration manifold of the 12-DOF space manipulator, hence can be analyzed and simulated globally. The global nature of the model is useful in achieving attitude synchronization with a target having attitude variation throughout SO(3). The rotation matrix representation has long been presented in the literature (e.g., [1]) for analyzing the rigid body spatial motion, including spacecraft (e.g., [5].) Such a representation has been extended to space manipulators in this paper.

Focusing on short and long range rendezvous, the main contribution of this paper is a sliding-mode controller for position control of the base spacecraft along a desired rendezvous trajectory, combined with an attitude synchronization control law (during final approach to the target). The globally parameterized dynamics model derived in this paper is used in the control design. In addition to the inherent robustness characteristics, the sliding-mode technique allows for user-definable bounds on control magnitude to consider the limits in the thruster force. The use of propellant-based thrust devices in the base spacecraft is the most practical choice for low-earth-orbit (LEO) missions (see [8, 13]), and the bounded nature of the controller presented here results in reduction of propellant consumption. Reducing the initial propellant mass is a critical necessity of space manipulators, as heavier spacecraft need bigger rockets to launch, resulting in higher costs as elaborated in [8]. Finally, for the robot manipulator, a standard PD controller is adopted to perform end-effector tracking for grasping/docking concurrently to the attitude synchronization and rendezvous position control.

The paper is organized as follows: in “Modelling of Space Manipulator” a globally-parameterized dynamics model of the space manipulator is presented.The concurrent control strategy is developed in “Control of Space Manipulator”. The simulation results are discussed in “Simulations”. Some concluding remarks are made in “Conclusions”.

Modelling of Space Manipulator

The modelling aspects of multi-body dynamic systems have been extensively covered in the literature. For a space manipulator, the kinematics of the arm (see for e.g., [18]) can be appended to a globally-parameterized kinematic model of the base spacecraft to make the system’s kinematic equations valid globally on SO(3). The dynamics of the 12-DOF system can be obtained using the Newton-Euler formulation as presented in [26].

Kinematics

The schematic of a space manipulator, shown in Fig. 1, illustrates base and link coordinate frames, joints and Centre of Mass (CoM) position vectors. The origin of coordinate frames is located at the CoM of the respective rigid bodies. The CoM of Earth is assumed to be the origin of the inertial frame. The position and velocity of base CoM, with respect to and expressed in the inertial frame, are \(\left ({{~}_{I}^{I}}p_{0},{{~}_{I}^{I}}v_{0}\right )\), and those for link i are \(\left ({{~}_{I}^{I}}p_{i},{{~}_{I}^{I}}v_{i}\right ),\ i\in \{1,2,3\}\). It is assumed that the manipulator has a spherical wrist. Hence, the last three joint axes have a common intersection, which is assumed to coincide with the CoM of the last three links:

$$ \begin{array}{@{}rcl@{}} {{~}_I^I}p_4&=&{{~}_I^I}p_5={{~}_I^I}p_6\\ {{~}_I^I}v_4&=&{{~}_I^I}v_5={{~}_I^I}v_6 \end{array} $$
(1)
Fig. 1
figure 1

Schematic of space manipulator

The base attitude is represented by IR0SO(3), and its angular velocity is \({{~}_{I}^{0}}\omega _{0}\). The axes of joints 1 and 5 are parallel to their respective Z-axis, and those of joints 2, 3 and 4 are parallel to their respective X-axis. The axis of joint 6 is parallel to its respective Y -axis. The attitude of each link coordinate frame with respect to its previous frame is:

$$ \begin{array}{@{}rcl@{}} {{~}^0}R_1 &=& {{~}^0}R_1(0) R_z(\theta_1)\\ {{~}^1}R_2 &=& {{~}^1}R_2(0) R_x(\theta_2)\\ {{~}^2}R_3 &=& {{~}^2}R_3(0) R_x(\theta_3)\\ {{~}^3}R_4 &=& {{~}^3}R_4(0) R_x(\theta_4)\\ {{~}^4}R_5 &=& R_z(\theta_5)\\ {{~}^5}R_6 &=& R_y(\theta_6) \end{array} $$
(2)

where, i− 1Ri(0) is the rotation matrix relating the adjacent frames at the default configuration (𝜃i = 0). The link attitudes with respect to the inertial frame are calculated as:

$$ \begin{array}{@{}rcl@{}} {{~}^I}R_i = {{~}^I}R_{(i-1)} {{~}^{(i-1)}}R_i, \qquad i\in \{ 1,2,3,4,5,6 \} \end{array} $$
(3)

The joint positions calculated with respect to the inertial frame are:

$$ \begin{array}{@{}rcl@{}} {{~}_I^I}h_1 = {{~}_I^I}p_0 + {{~}^I}R_0 {{~}_0^0}r_0 \qquad\qquad&;& \mathrm{Joint\ 1}\\ {{~}_I^I}h_{i+1} = {{~}_I^I}h_i + {{~}^I}R_i ({{~}_i^i}r_{ib}-{{~}_i^i}r_{ia}) &;& \mathrm{Joint\ (i+1)},\ i\in \{ 1,2,3\} \end{array} $$
(4)

where vectors r0, ria and rib are shown in Fig. 1, and they are with respect to and expressed in their own coordinate frame. The joint linear velocities measured with respect to and expressed in the inertial frame are:

$$ \begin{array}{@{}rcl@{}} {{~}_I^I}\dot{h}_1 = {{~}_I^I}v_0 + {{~}^I}R_0 {{~}_I^0}\widehat{\omega}_0 {{~}_0^0}r_0 \qquad\qquad&; & \mathrm{Joint\ 1}\\ {{~}_I^I}\dot{h}_{i+1} = {{~}_I^I}\dot{h}_i + {{~}^I}R_i {{~}_I^i}\widehat{\omega}_i ({{~}_i^i}r_{ib}-{{~}_i^i}r_{ia}) &; & \mathrm{Joint\ (i+1)},\ i\in \{ 1,2,3 \} \end{array} $$
(5)

where \({{~}_{I}^{I}}v_{0}\) is the base COM velocity with respect to and expressed in the inertial frame, and \({{~}_{I}^{i}}\widehat {\omega }_{i}\) is the skew-symmetric representation of link i (base for i = 1) angular velocity with respect to the inertial frame and expressed in the link (base) coordinate frame. The links CoM positions with respect to and expressed in the inertial frame are:

$$ \begin{array}{@{}rcl@{}} {{~}_I^I}p_i = {{~}_I^I}h_i - {{~}^I}R_i {{~}_i^i}r_{ia} &;& \mathrm{Link\ i},\ i\in \{ 1,2,3 \}\\ {{~}_I^I}p_i = {{~}_I^I}h_4\qquad\qquad &;& \mathrm{Link\ i},\ i\in \{ 4,5,6 \} \end{array} $$
(6)

The links CoM linear velocities with respect to and expressed in the inertial frame are:

$$ \begin{array}{@{}rcl@{}} {{~}_I^I}v_i = {{~}_I^I}\dot{h}_i - {{~}^I}R_i {{~}_I^i}\widehat{\omega}_i {{~}_i^i}r_{ia} & ;& \mathrm{Link\ i},\ i\in \{ 1,2,3 \}\\ {{~}_I^I}v_i = {{~}_I^I}\dot{h}_4 \qquad\quad\qquad&; & \mathrm{Link\ i},\ i\in \{ 4,5,6 \} \end{array} $$
(7)

The links angular velocities with respect to the inertial frame and expressed in their own coordinate frame can be calculated from the base angular velocity with respect to the inertial frame and expressed in the base frame \({{~}_{I}^{0}}\omega _{0}\), as follows:

$$ \begin{array}{@{}rcl@{}} &&{{~}_I^1}\omega_1 = \dot{\theta}_1 e_3 + {{~}^1}R_0 {{~}_I^0}\omega_0\\ &&{{~}_I^2}\omega_2 = \dot{\theta}_2 e_1 + {{~}^2}R_1 {{~}_I^1}\omega_1\\ &&{{~}_I^3}\omega_3 = \dot{\theta}_3 e_1 + {{~}^3}R_2 {{~}_I^2}\omega_2\\ &&{{~}_I^4}\omega_4 = \dot{\theta}_4 e_1 + {{~}^4}R_3 {{~}_I^3}\omega_3\\ &&{{~}_I^5}\omega_5 = \dot{\theta}_5 e_3 + {{~}^5}R_4 {{~}_I^4}\omega_4\\ &&{{~}_I^6}\omega_6 = \dot{\theta}_6 e_2 + {{~}^6}R_5 {{~}_I^5}\omega_5 \end{array} $$
(8)

For obtaining the dynamics, the joint linear velocities (5) are rewritten using Eq. 7, as follows:

$$ \begin{array}{@{}rcl@{}} {{~}_I^I}v_0 + {{~}^I}R_0{{~}_I^0}\widehat{\omega}_0 {{~}_0^0}r_0={{~}_I^I}v_1 + {{~}^I}R_1{{~}_I^1}\widehat{\omega}_1 {{~}_1^1}r_{1a}\qquad \qquad\quad~~~&; & \mathrm{Joint\ 1}\\ {{~}_I^I}v_i + {{~}^I}R_i{{~}_I^i}\widehat{\omega}_i {{~}_i^i}r_{ib}={{~}_I^I}v_{i+1} + {{~}^I}R_{i+1}{{~}_I^{i+1}}\widehat{\omega}_{i+1} {{~}_{i+1}^{i+1}}r_{(i+1)a}&;\\ && \mathrm{Joint\ (i)},\ i\in \{2,3\}\\ {{~}_I^I}v_3 + {{~}^I}R_3{{~}_I^3}\widehat{\omega}_3 {{~}_3^3}r_{3b}={{~}_I^I}v_{4}={{~}_I^I}v_{5} = {{~}_I^I}v_{6}\qquad\qquad\qquad&;& \mathrm{Joint\ 4,5,6} \end{array} $$
(9)

Dynamics

The accelerations of the space manipulator can be obtained from Newton-Euler equations detailed in [26]. The mass and moment-of-inertia matrix of the base spacecraft are \(m_{0},{{~}_{0}^{0}}J_{0}\), and those of link i are \(m_{i},{{~}_{i}^{i}}J_{i},\ i\in \{1,2,\ldots ,6\}\). The force and moment acting at the origin of the base coordinate frame are denoted by \({{~}_{0}^{0}}F_{b}, {{~}_{0}^{0}}M_{b} \in \mathbb {R}^{3}\), and the joint torque by ui,i ∈{1,2,…,6}. For the ease of modelling using Newton-Euler equations, the joint torque for the given coordinate frames can be represented as:

$$ \begin{array}{@{}rcl@{}} \tau_1 &=& u_1 e_3\\ \tau_2 &=& u_2 e_1\\ \tau_3 &=& u_3 e_1\\ \tau_4 &=& u_4 e_1\\ \tau_5 &=& u_5 e_3\\ \tau_6 &=& u_6 e_2 \end{array} $$
(10)

The forces acting on the links at their joints are denoted as \({{~}_{h_{i}}^{I}}F_{i}\in \mathbb {R}^{3},\ i\in \{1,2,3,4\}\). The Newton-Euler equations for the space manipulator are: (The product of universal gravitational constant and mass of Earth is c = GM1 = 398600.4418Km3s− 2.)

$$ \begin{array}{@{}rcl@{}} {{~}_0^0}J_0 {{~}_I^0}\dot{\omega}_0 &=& {{~}_0^0}M_b - {{~}^0}R_1\tau_1 - {{~}_I^0}\widehat{\omega}_0 {{~}_0^0}J_0 {{~}_I^0}\omega_0 + {{~}_0^0}\widehat{r}_0 {{~}^0}R_I {{~}_{h_1}^I}F_1\\ {{~}_1^1}J_1 {{~}_I^1}\dot{\omega}_1 &=& \tau_1 - {{~}^1}R_2\tau_2 - {{~}_I^1}\widehat{\omega}_1 {{~}_1^1}J_1 {{~}_I^1}\omega_1 + {{~}_1^1}\widehat{r}_{1b} {{~}^1}R_I {{~}_{h_2}^I}F_2 - {{~}_1^1}\widehat{r}_{1a} {{~}^1}R_I {{~}_{h_1}^I}F_1\\ {{~}_2^2}J_2 {{~}_I^2}\dot{\omega}_2 &=& \tau_2 - {{~}^2}R_3\tau_3 - {{~}_I^2}\widehat{\omega}_2 {{~}_2^2}J_2 {{~}_I^2}\omega_2 + {{~}_2^2}\widehat{r}_{2b} {{~}^2}R_I {{~}_{h_3}^I}F_3 - {{~}_2^2}\widehat{r}_{2a} {{~}^2}R_I {{~}_{h_2}^I}F_2\\ {{~}_3^3}J_3 {{~}_I^3}\dot{\omega}_3 &=& \tau_3 - {{~}^3}R_4\tau_4 - {{~}_I^3}\widehat{\omega}_3 {{~}_3^3}J_3 {{~}_I^3}\omega_3 + {{~}_3^3}\widehat{r}_{3b} {{~}^3}R_I {{~}_{h_4}^I}F_4 - {{~}_3^3}\widehat{r}_{3a} {{~}^3}R_I {{~}_{h_3}^I}F_3\\ {{~}_4^4}J_4 {{~}_I^4}\dot{\omega}_4 &=& \tau_4 - {{~}^4}R_5\tau_5 - {{~}_I^4}\widehat{\omega}_4 {{~}_4^4}J_4 {{~}_I^4}\omega_4\\ {{~}_5^5}J_5 {{~}_I^5}\dot{\omega}_5 &=& \tau_5 - {{~}^5}R_6\tau_6 - {{~}_I^5}\widehat{\omega}_5 {{~}_5^5}J_5 {{~}_I^5}\omega_5\\ {{~}_6^6}J_6 {{~}_I^6}\dot{\omega}_6 &=& \tau_6 - {{~}_I^6}\widehat{\omega}_6 {{~}_6^6}J_6 {{~}_I^6}\omega_6 \end{array} $$
(11)

and

$$ \begin{array}{@{}rcl@{}} m_0 {{~}_I^I}\dot{v}_0 &=& {{~}^I}R_0{{~}_0^0}F_b + {{~}_{h_1}^I}F_1 - \frac{1}{\parallel {{~}_I^{~}}p_0 \parallel^3} c m_0 {{~}_I^I}p_0\\ m_1 {{~}_I^I}\dot{v}_1 &=& {{~}_{h_2}^I}F_2 - {{~}_{h_1}^I}F_1 - \frac{1}{\parallel {{~}_I^{~}}p_1 \parallel^3} c m_1 {{~}_I^I}p_1 \\ m_2 {{~}_I^I}\dot{v}_2 &=& {{~}_{h_3}^I}F_3 - {{~}_{h_2}^I}F_2 - \frac{1}{\parallel {{~}_I^{~}}p_2 \parallel^3} c m_2 {{~}_I^I}p_2 \\ m_3 {{~}_I^I}\dot{v}_3 &=& {{~}_{h_4}^I}F_4 - {{~}_{h_3}^I}F_3 - \frac{1}{\parallel {{~}_I^{~}}p_3 \parallel^3} c m_3 {{~}_I^I}p_3 \\ (m_4+m_5+m_6) {{~}_I^I}\dot{v}_4 &=& - {{~}_{h_4}^I}F_4 -\frac{1}{\parallel {{~}_I^{~}}p_4 \parallel^3} c (m_4+m_5+m_6) {{~}_I^I}p_4 \end{array} $$
(12)

where \({{~}_{I}^{i}}\dot {\omega }_{i}\) and \({{~}_{I}^{I}}\dot {v}_{i}\) are the link (base for i = 0) angular acceleration and its COM linear acceleration, respectively, with respect to the inertial frame. Angular accelerations are expressed in the link (base) coordinate frames, whereas linear accelerations are expressed in the inertial frame.

The time derivative of Eq. 9 gives constraints on the accelerations:

$$ \begin{array}{@{}rcl@{}} -{{~}_I^I}\dot{v}_0 + {{~}_I^I}\dot{v}_1 + {{~}^I}R_0 {{~}_0^0}\widehat{r}_0 {{~}_I^0}\dot{\omega}_0 - {{~}^I}R_1 {{~}_1^1}\widehat{r}_{1a} {{~}_I^1}\dot{\omega}_1 &=& -{{~}^I}R_1 ({{~}_I^1}\widehat{\omega}_1)^2 {{~}_1^1}r_{1a} + {{~}^I}R_0 ({{~}_I^0}\widehat{\omega}_0)^2 {{~}_0^0}r_0\\ -{{~}_I^I}\dot{v}_1 + {{~}_I^I}\dot{v}_2 + {{~}^I}R_1 {{~}_1^1}\widehat{r}_{1b} {{~}_I^1}\dot{\omega}_1 - {{~}^I}R_2 {{~}_2^2}\widehat{r}_{2a} {{~}_I^2}\dot{\omega}_2 &=& -{{~}^I}R_2 ({{~}_I^2}\widehat{\omega}_2)^2 {{~}_2^2}r_{2a} + {{~}^I}R_1 ({{~}_I^1}\widehat{\omega}_1)^2 {{~}_1^1}r_{1b}\\ -{{~}_I^I}\dot{v}_2 + {{~}_I^I}\dot{v}_3 + {{~}^I}R_2 {{~}_2^2}\widehat{r}_{2b} {{~}_I^2}\dot{\omega}_2 - {{~}^I}R_3 {{~}_3^3}\widehat{r}_{3a} {{~}_I^3}\dot{\omega}_3 &=& -{{~}^I}R_3 ({{~}_I^3}\widehat{\omega}_3)^2 {{~}_3^3}r_{3a} + {{~}^I}R_2 ({{~}_I^2}\widehat{\omega}_2)^2 {{~}_2^2}r_{2b}\\ -{{~}_I^I}\dot{v}_3 + {{~}_I^I}\dot{v}_4 + {{~}^I}R_3 {{~}_3^3}\widehat{r}_{3b} {{~}_I^3}\dot{\omega}_3 &=& {{~}^I}R_3 ({{~}_I^3}\widehat{\omega}_3)^2 {{~}_3^3}r_{3b} \end{array} $$
(13)

The Eqs. 1112 and 13 are combined as:

$$ \begin{array}{@{}rcl@{}} \left[ \begin{array}{ccc} \mathcal{J} & 0 & \mathcal{P} \\ 0 & \mathcal{M} & \mathcal{I} \\ \mathcal{P}^\top & \mathcal{I}^\top & 0 \end{array} \right] \left( \begin{array}{c} \dot{\omega} \\ \dot{v} \\ F \end{array} \right) &=& \left( \begin{array}{c} {\Gamma} \\ \mathcal{F} \\ \mathcal{G} \end{array} \right) \end{array} $$
(14)

where,

$$ \begin{array}{@{}rcl@{}} \omega &=& ({{~}_I^0}\omega_0,{{~}_I^1}\omega_1,{{~}_I^2}\omega_2,{{~}_I^3}\omega_3,{{~}_I^4}\omega_4,{{~}_I^5}\omega_5,{{~}_I^6}\omega_6)\\ v &=& ({{~}_I^I}v_0,{{~}_I^I}v_1,{{~}_I^I}v_2,{{~}_I^I}v_3,{{~}_I^I}v_4)\\ F &=& ({{~}_{h_1}^I}F_1,{{~}_{h_2}^I}F_2,{{~}_{h_3}^I}F_3,{{~}_{h_4}^I}F_4)\\ \mathcal{J} &=& \text{diag}({{~}_0^0}J_0,{{~}_1^1}J_1,{{~}_2^2}J_2,{{~}_3^3}J_3,{{~}_4^4}J_4,{{~}_5^5}J_5,{{~}_6^6}J_6)\\ \mathcal{M} &=& \text{diag}(m_0I_3, m_1I_3, m_2I_3, m_3I_3, (m_4+m_5+m_6)I_3)\\ {\Gamma} &=& \left( \begin{array}{l} {{~}_0^0}M_b - {{~}^0}R_1\tau_1 - {{~}_I^0}\widehat{\omega}_0 {{~}_0^0}J_0 {{~}_I^0}\omega_0 \\ \tau_1 - {{~}^1}R_2\tau_2 - {{~}_I^1}\widehat{\omega}_1 {{~}_1^1}J_1 {{~}_I^1}\omega_1 \\ \tau_2 - {{~}^2}R_3\tau_3 - {{~}_I^2}\widehat{\omega}_2 {{~}_2^2}J_2 {{~}_I^2}\omega_2 \\ \tau_3 - {{~}^3}R_4\tau_4 - {{~}_I^3}\widehat{\omega}_3 {{~}_3^3}J_3 {{~}_I^3}\omega_3 \\ \tau_4 - {{~}^4}R_5\tau_5 - {{~}_I^4}\widehat{\omega}_4 {{~}_4^4}J_4 {{~}_I^4}\omega_4 \\ \tau_5 - {{~}^5}R_6\tau_6 - {{~}_I^5}\widehat{\omega}_5 {{~}_5^5}J_5 {{~}_I^5}\omega_5 \\ \tau_6 - {{~}_I^6}\widehat{\omega}_6 {{~}_6^6}J_6 {{~}_I^6}\omega_6 \end{array} \right)\\ \mathcal{G} &=& \left( \begin{array}{c} {{~}^I}R_0 ({{~}_I^0}\widehat{\omega}_0^2) {{~}_0^0}r_0 -{{~}^I}R_1 ({{~}_I^1}\widehat{\omega}_1^2) {{~}_1^1}r_{1a} \\ {{~}^I}R_1 ({{~}_I^1}\widehat{\omega}_1^2) {{~}_1^1}r_{1b} -{{~}^I}R_2 ({{~}_I^2}\widehat{\omega}_2^2) {{~}_2^2}r_{2a} \\ {{~}^I}R_2 ({{~}_I^2}\widehat{\omega}_2^2) {{~}_2^2}r_{2b} -{{~}^I}R_3 ({{~}_I^3}\widehat{\omega}_3^2) {{~}_3^3}r_{3a} \\ {{~}^I}R_3 ({{~}_I^3}\widehat{\omega}_3^2) {{~}_3^3}r_{3b} \end{array} \right)\\ \mathcal{I} &=& \left[ \begin{array}{cccc} -I_3 & 0 & 0 & 0 \\ I_3 & -I_3 & 0 & 0 \\ 0 & I_3 & -I_3 & 0 \\ 0 & 0 & I_3 & -I_3 \\ 0 & 0 & 0 & I_3 \end{array} \right]\\ \mathcal{F} &=& \left( \begin{array}{l} - \frac{1}{\parallel {{~}_I^{~}}p_0 \parallel^3} c m_0 {{~}_I^I}p_0 + {{~}^I}R_0 {{~}_0^0}F_b \\ - \frac{1}{\parallel {{~}_I^{~}}p_1 \parallel^3} c m_1 {{~}_I^I}p_1 \\ - \frac{1}{\parallel {{~}_I^{~}}p_2 \parallel^3} c m_2 {{~}_I^I}p_2 \\ - \frac{1}{\parallel {{~}_I^{~}}p_3 \parallel^3} c m_3 {{~}_I^I}p_3 \\ -\frac{1}{\parallel {{~}_I^{~}}p_4 \parallel^3} c (m_4+m_5+m_6) {{~}_I^I}p_4 \end{array} \right)\\ \mathcal{P} &=& \left[ \begin{array}{cccc} -{{~}_0^0}\widehat{r}_0 {{~}^I}R_0^\top & 0 & 0 & 0 \\ {{~}_1^1}\widehat{r}_{1a} {{~}^I}R_1^\top & -{{~}_1^1}\widehat{r}_{1b} {{~}^I}R_1^\top & 0 & 0 \\ 0 & {{~}_2^2}\widehat{r}_{2a} {{~}^I}R_2^\top & -{{~}_2^2}\widehat{r}_{2b} {{~}^I}R_2^\top & 0 \\ 0 & 0 & {{~}_3^3}\widehat{r}_{3a} {{~}^I}R_3^\top & -{{~}_3^3}\widehat{r}_{3b} {{~}^I}R_3^\top \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \end{array} \right] \end{array} $$
(15)

Reduced Dynamical Equations

The configuration of the space manipulator can be described by the states \(x \overset {\triangle }{=} ({{~}^{I}}R_{0},\theta ,{{~}_{I}^{I}}p_{0}, {{~}_{I}^{0}}\omega _{0}, {\Omega },{{~}_{I}^{I}}v_{0}) \in \mathcal {Q}\), where 𝜃 = (𝜃1,𝜃2,𝜃3,𝜃4,𝜃5,𝜃6), \({\Omega } = (\dot {\theta }_{1},\dot {\theta }_{2},\dot {\theta }_{3},\dot {\theta }_{4},\dot {\theta }_{5},\dot {\theta }_{6})\), and \(\mathcal {Q} \overset {\triangle }{=} SO(3) \times \mathbb {T}^{6} \times \mathbb {R}^{3} \times \mathbb {R}^{3} \times \mathbb {R}^{6} \times \mathbb {R}^{3}\). The space manipulator is a 12-DOF system, and will have a state-space dimension of 24. But, the particular parameterization of the base attitude adds 6 more equations (which are dependent on other equations.) The parameterization of the base attitude by IR0 is advantageous for both control design and simulations, because the equations are valid globally on \(\mathcal {Q}\). The attitude control design using this particular parameterization can be performed using the procedure in [5]. We now extract the accelerations \(({{~}_{I}^{0}}\dot {\omega }_{0}, \dot {\Omega },{{~}_{I}^{I}}\dot {v}_{0})\) from the Eq. 14. The equations for \(({{~}_{I}^{0}}\dot {\omega }_{0}, {{~}_{I}^{I}}\dot {v}_{0})\) are obtained from \((\dot {\omega },\dot {v})\). The joint angular accelerations are related to body angular accelerations from Eq. 8 as:

$$ \begin{array}{@{}rcl@{}} \ddot{\theta}_1 &=& e_3^\top ({{~}_I^1}\dot{\omega}_1 - {{~}^1}R_0(0) {{~}_I^0}\dot{\omega}_0)\\ \ddot{\theta}_2 &=& e_1^\top ({{~}_I^2}\dot{\omega}_2 - {{~}^2}R_1(0) {{~}_I^1}\dot{\omega}_1)\\ [2pt] \ddot{\theta}_3 &=& e_1^\top ({{~}_I^3}\dot{\omega}_3 - {{~}^3}R_2(0) {{~}_I^2}\dot{\omega}_2)\\ \ddot{\theta}_4 &=& e_1^\top ({{~}_I^4}\dot{\omega}_4 - {{~}^4}R_3(0) {{~}_I^3}\dot{\omega}_3)\\ \ddot{\theta}_5 &=& e_3^\top ({{~}_I^5}\dot{\omega}_5 - {{~}_I^4}\dot{\omega}_4)\\ \ddot{\theta}_6 &=& e_2^\top ({{~}_I^6}\dot{\omega}_6 - {{~}_I^5}\dot{\omega}_5) \end{array} $$
(16)

The state-space equations of space manipulator dynamics are:

$$ \begin{array}{@{}rcl@{}} {{~}^I}\dot{R}_0 &=& {{~}^I}R_0 {{~}_I^0}\widehat{\omega}_0\\ \dot{\theta} &=& {\Omega}\\ {{~}_I^I}\dot{p}_0 &=& {{~}_I^I}v_0\\ \left( \begin{array}{c} {{~}_I^0}\dot{\omega}_0 \\ \dot{\Omega} \\ {{~}_I^I}\dot{v}_0 \end{array} \right) &=& g_1(x) + g_2(x) u \end{array} $$
(17)

where \(g_{1}: \mathcal {Q} \rightarrow \mathbb {R}^{12}\) is the drift vector field, \(g_{2}: \mathcal {Q} \rightarrow \mathbb {R}^{12 \times 12}\) is the control vector field, and \(u=({{~}_{0}^{0}}M_{b},u_{1},u_{2},\ldots ,u_{6},{{~}_{0}^{0}}F_{b})\) is the control vector.

Control of Space Manipulator

A model-based concurrent control law is presented in this section. For the purposes of control design, the paper focuses on fully-actuated space manipulators, with a complete control vector u, and does not consider manipulator singular configurations. Hence, the system is controllable (with known states,) which means that for the sates \(x\in \mathcal {Q}\) the matrix g2(x) is full rank, thus invertible, in order to be able to compute for the control vector.

Partial Feedback Linearization

The state-space model (17) is further simplified by eliminating some of the nonlinearities through control. Consider the following control law:

$$ \begin{array}{@{}rcl@{}} u = g_2(x)^{-1} (-g_1(x)+\bar{u}) \end{array} $$
(18)

where, \(\bar {u} \in \mathbb {R}^{12}\) is the new control input vector. Let \(\bar {u} = (\bar {u}_{1},\bar {u}_{2},\bar {u}_{3}), \bar {u}_{1} \in \mathbb {R}^{3}, \bar {u}_{2} \in \mathbb {R}^{6}, \bar {u}_{3} \in \mathbb {R}^{3}\). The state-space Eq. 17 with control (18) will then become:

$$ \begin{array}{@{}rcl@{}} {{~}^I}\dot{R}_0 &=& {{~}^I}R_0 {{~}_I^0}\widehat{\omega}_0\\ \dot{\theta} &=& {\Omega}\\ {{~}_I^I}\dot{p}_0 &=& {{~}_I^I}v_0\\ {{~}_I^0}\dot{\omega}_0 &=& \bar{u}_1\\ \dot{\Omega} &=& \bar{u}_2\\ {{~}_I^I}\dot{v}_0 &=& \bar{u}_3 \end{array} $$
(19)

Full State Trajectory Tracking

The rendezvous, attitude synchronization and end-effector contact are achieved through trajectory tracking. The sliding-mode rendezvous controller is designed based on the procedure described in [15], the attitude synchronization based on [5], and the end-effector contact based on [18]. The reference trajectories are assumed to be at least twice differentiable, and are denoted by \((R_{d},\omega _{d},\dot {\omega }_{d})\) for the attitude, \((\theta _{d},{\Omega }_{d},\dot {\Omega }_{d})\) for the joint angles, and \((p_{d},v_{d},\dot {v}_{d})\) for the base spacecraft CoM position. The reference trajectories can be constructed in real-time, provided that they satisfy the differentiability condition. The concurrent control law is as follows:

$$ \begin{array}{@{}rcl@{}} \bar{u}_1 &=& \underbrace{K_r (R_e^\top-R_e)^\vee - K_w \omega_e }_{feedback} + \underbrace{ R_e^\top \dot{\omega}_d }_{feedforward}\\ \bar{u}_2 &=& -K_{p1}(\theta-\theta_d)-K_{d1}({\Omega}-{\Omega}_d) + \dot{\Omega}_d\\ \bar{u}_3 &=& -K_{p2}{\tanh}({{~}_I^I}p_0-p_d)-K_{d2}{\tanh}({{~}_I^I}v_0-v_d) + \dot{v}_d \end{array} $$
(20)

where \(K_{r},K_{w},K_{p2},K_{d2} \in \mathbb {R}^{3 \times 3}\) are positive definite and diagonal, \(K_{p1},K_{d1} \in \mathbb {R}^{6 \times 6}\) are positive definite and diagonal, \(R_{e}= R_{d}^{\top } {{~}^{I}}R_{0}\), and \(\omega _{e} = {{~}_{I}^{0}}\omega _{0} - R_{e}^{\top } \omega _{d}\). The tanh(⋅) function is used to eliminate the chattering problem associated with sign(⋅). In implementation, the tanh(⋅) function can be modified as |tanh(⋅)|αsign(⋅),α ∈ (0,1), to achieve a very close approximation of sign(⋅), hence achieving sliding mode. The asymptotic stability of the states to the respective reference trajectories is proved through the following proposition.

Proposition 4.1

The control (20), applied to the system (19), asymptoticallystabilizes the states x to the reference trajectory(Rd,𝜃d,pd,ωdd,vd).The domain-of-attraction is global for the position and almost-global for theattitude of the space manipulator.

Proof

The asymptotic stability is proved by using the concepts of Lyapunov stability and LaSalle’s invariance principle. Consider the Lyapunov functions:

$$ \begin{array}{@{}rcl@{}} V_1 &=& (3-\text{tr}(R_e)) + \frac{1}{2} \omega_e^\top K_r^{-1} \omega_e > 0 \\ V_2 &=& \frac{1}{2} \parallel \theta-\theta_d \parallel^2 + \frac{1}{2}({\Omega}-{\Omega}_d)^\top K_{p1}^{-1} ({\Omega}-{\Omega}_d) > 0 \\ V_3 &=& \sum\limits_{i=1}^3 \log \left( \cosh (({{~}_I^I}p_0-p_d)^\top e_i) \right) + \frac{1}{2} ({{~}_I^I}v_0-v_d)^\top K_{p2}^{-1} ({{~}_I^I}v_0-v_d) > 0 \end{array} $$

The time-derivative of Lyapunov functions along the state trajectories of the closed-loop system (19) with the control (20) is:

$$ \begin{array}{@{}rcl@{}} \dot{V}_1 &=& -\omega_e^\top K_r^{-1} K_w \omega_e \leq 0 \\ \dot{V}_2 &=& -({\Omega}-{\Omega}_d)^\top K_{p1}^{-1} K_{d1} ({\Omega}-{\Omega}_d) \leq 0 \\ \dot{V}_3 &=& -({{~}_I^I}v_0-v_d)^\top K_{p2}^{-1} K_{d1} \tanh({{~}_I^I}v_0-v_d) \leq 0 \end{array} $$

where, the fact \(\frac {d}{dt}(\text {tr}(R_{e})) = \omega _{e}^{\top } (R_{e}^{\top } - R_{e})^{\vee }\) is used in differentiation. The residual set is given by:

$$ \begin{array}{@{}rcl@{}} S & \overset{\triangle}{=} & \{x \in {\mathcal Q}: \dot{V}_1 = \dot{V}_2 = \dot{V}_3 =0 \} \\ &=& \{x \in {\mathcal Q}: \omega_e =0, {\Omega}={\Omega}_d, {{~}_I^I}v_0=v_d \} \end{array} $$

Since the derivatives are negative semi-definite, the set S is positively invariant and Lyapunov stable. Since S is invariant, \(\dot {\Omega }=\dot {\Omega }_{d}, {{~}_{I}^{I}}\dot {v}_{0}=\dot {v}_{d}, \dot {\omega }_{e}=0\), which combined with the closed-loop equations reveal that S is composed of two disconnected invariant sets:

$$ \begin{array}{@{}rcl@{}} S_1 &=& \{ x\in S: R_e = I_3, \theta= \theta_d, {{~}_I^I}p_0=p_d \} \\ S_2 &=& \{ x\in S: R_e = R_e^\top, \theta= \theta_d, {{~}_I^I}p_0=p_d \} \end{array} $$

The set S1 implies that the state x is following the desired trajectory, the set S2 implies that only the attitude of the base frame is exactly a distance π (Riemannian metric) apart from the desired attitude. From LaSalle’s invariance principle, the set S1S2 (the largest invariant set) is asymptotically stable.

The minima of V1 + V2 + V3 is S1, combined with the fact that the set S2 is of measure zero in \({\mathcal Q}\), implies that S1 is asymptotically stable. The domain-of-attraction for attitude is almost-global, and for position it is global. □

Without loss of generality, the reference trajectory can be the state of another system in space. The applications of servicing or de-orbiting can indeed be approached considering the states of the target in space as a reference trajectory.

Pursuing an Entity in Orbit

The target in an orbit around Earth is modelled as a free rigid-body whose state-space dynamical equations are:

$$ \begin{array}{@{}rcl@{}} {{~}^I}\dot{R}_p &=& {{~}^I}R_p {{~}_I^p}\widehat{\omega}_p\\ {{~}_I^I}\dot{p}_p &=& {{~}_I^I}v_p\\ {{~}_I^p}\dot{\omega}_p &=& - {{~}_p^p}J_p^{-1} {{~}_I^p}\widehat{\omega}_p {{~}_p^p}J_p {{~}_I^p}{\omega}_p\\ {{~}_I^I}\dot{v}_p &=& - \frac{1}{\parallel {{~}_I^{~}}p_p \parallel^3} c {{~}_I^I}p_p \end{array} $$
(21)

where, \({{~}_{p}^{p}}J_{p}\) is the moment-of-inertia, \(({{~}_{I}^{I}}p_{p},{{~}_{I}^{I}}v_{p})\) are the position and linear velocity of the pursuit object CoM, \(({{~}^{I}}R_{p},{{~}_{I}^{p}}\omega _{p})\) are the attitude and body angular velocity of the pursued object. Let \({{~}_{p}^{p}}r_{p}\) be a constant unit vector, and d1 > 0 be the desired distance of chaser CoM from the CoM of target. The reference trajectories are constructed as:

$$ \begin{array}{@{}rcl@{}} p_d &=& {{~}_I^I}p_p + d_1 {{~}^I}R_p {{~}_p^p}r_p\\ v_d &=& {{~}_I^I}v_p + d_1 {{~}^I}R_p {{~}_I^p}\widehat{\omega}_p {{~}_p^p}r_p\\ \dot{v}_d &=& {{~}_I^I}\dot{v}_p + d_1 {{~}^I}R_p ({{~}_I^p}\widehat{\omega}_p)^2 {{~}_p^p}r_p + d_1 {{~}^I}R_p {{~}_p^p}\widehat{r}_p {{~}_p^p}J_p^{-1} {{~}_I^p}\widehat{\omega}_p {{~}_p^p}J_p {{~}_I^p}{\omega}_p\\ R_d &=& {{~}^I}R_p R_f\\ \omega_d &=& R_f^\top {{~}_I^p}\omega_p\\ \dot{\omega}_d &=& -R_f^\top {{~}_p^p}J_p^{-1} {{~}_I^p}\widehat{\omega}_p {{~}_p^p}J_p {{~}_I^p}{\omega}_p \end{array} $$
(22)

where, RfSO(3) is an attitude offset with respect to IRp, such that the robot arm is facing the pursued object. The reference trajectories for the base object attitude and position have been obtained. For performing inspection, servicing or de-orbiting tasks on the pursued object, a trajectory has to be assigned to the robot arm end-effector. The robot manipulator is actuated to grasp or dock with the target after the rendezvous and attitude synchronization are accomplished. Let \((e_{p},\dot {e}_{p},\ddot {e}_{p})\) and \((R_{t}, \omega _{t}, \dot {\omega }_{t})\) be the position and attitude errors between the end-effector and a pre-defined point (and a frame with origin at the point) on the target (grasping handle or fuel port,) where \(e_{p},\dot {e}_{p},\ddot {e}_{p}, \omega _{t}, \dot {\omega }_{t} \in \mathbb {R}^{3}\) and RtSO(3). The joint angle trajectories \((\theta _{d},{\Omega }_{d},\dot {\Omega }_{d})\) can be obtained from inverse kinematics on the end-effector trajectory (e.g., [29]):

(23)

The trajectories (22), (23), combined with the controller (20), are used to achieve the desired performance.

Design of Sliding-mode Controller

The magnitude of the last three components of control vector u, i.e., \({{~}_{0}^{0}}F_{b}\), is influenced by three terms, \(g_{1}, g_{2}^{-1}\) and \(\bar {u}\). By using an orbital insertion manoeuvre, such as the one proposed in [9], or even using Hohmann transfer, along with optimal self de-tumbling (e.g., [3],) will render a stable system dynamics, ultimately reducing the term g1 to near zero (only gravity influence remains.) Hence the maximum thrust magnitude during rendezvous is dependent on Kp2,Kd2 and \(\tilde {g} \in \mathbb {R}^{3 \times 3}\), where \(g_{2}^{-1} = \left [ \begin {array}{cc} \ast & \ast \\ \ast & \tilde {g} \end {array} \right ]\). Based on the parameters of space manipulator (\(\tilde {g}\)), the gains Kp2,Kd2 can be numerically selected, and is indeed solvable for an arbitrary bound on \({{~}_{0}^{0}}F_{b}\). The gains Kp2,Kd2 also influence the amount of uncertainties that can be handled. The uncertainties in \((e_{10}^{\top } g_{1},e_{11}^{\top } g_{1},e_{12}^{\top } g_{1})\), which are less than min(Kp2,Kd2), will not affect the asymptotic stability of the controller (20) (see [15]).

During attitude synchronization, the term \(\dot {v}_{d}\) can be high, depending on the micro-orbiting around the target. Since the force of gravitational attraction between chaser and target is negligible, the chaser has to apply thrust forces to stay in a micro-orbit around the target until docking or servicing is complete. This thrust value is dependent on \(d_{1}, {{~}_{I}^{p}}\omega _{p}, {{~}_{p}^{p}}J_{p}\), hence will be higher for targets with large angular velocities. This will be demonstrated in the simulation.

Simulations

We present simulations for four scenarios, and discuss the features of the control strategy. The parameters that are kept the same through all simulations are:

$$ \begin{array}{@{}rcl@{}} \begin{array}{l} m_p = 2000 \text{Kg} \\ [2pt] d_1 = 8 \mathrm{m} \\ [2pt] {{~}_p^p}J_p = \text{diag}(3000, 2000, 6000) \mathrm{Kg m^2} \\ [2pt] {{~}_0^0}r_0 = (0, 1, 0) \mathrm{m} \\ [2pt] {{~}_1^1}r_{1a} = (0, -0.4, 0) \mathrm{m} \\ [2pt] {{~}_1^1}r_{1b} = (0, 0.4, 0) \mathrm{m} \\ [2pt] {{~}_2^2}r_{2a} = (0, -1, 0) \mathrm{m} \\ [2pt] {{~}_2^2}r_{2b} = (0, 1, 0) \mathrm{m} \\ [2pt] {{~}_3^3}r_{3a} = (0, -1, 0) \mathrm{m} \\ [2pt] {{~}_3^3}r_{3b} = (0, 1, 0)\mathrm{m} \\ [2pt] {{~}_p^p}r_p = (1, 0, 0) \mathrm{m} \\ [2pt] {{~}^0}R_1(0) = {{~}^1}R_2(0) = {{~}^2}R_3(0) = {{~}^3}R_4(0) = I_3 \\ [2pt] R_f = \left[ \begin{array}{ccc} 0 & -1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 1 \end{array} \right] \end{array} \end{array} $$

The chaser is selected in two different configurations: first one is a re-fuelling/servicing six-degree-of-freedom space manipulator with a base mass of 2550Kg as considered in [30], and the second one is a de-orbiting space manipulator with a base mass of 450Kg. The first one is assumed to contain 2000Kg of propellant, and the second one 350Kg. Assuming about 60% propellant consumption for orbital insertion as reported in [9], the chaser 1 is left with 800Kg of propellant, and chaser 2 with 140Kg. The chaser and robot manipulator parameters are listed in Table 1.

Table 1 Chaser parameters

The initial conditions common to all simulations are:

$$ \begin{array}{@{}rcl@{}} \begin{array}{l} {\Omega} = 0 \\ [2pt] {{~}^I}R_0 = I_3 \\ [2pt] \theta = (0, -\pi/3, 2\pi/3, -\pi/3, 0, \pi/2) \\ [2pt] {{~}^I}R_p = \exp\left( \frac{\pi}{4} \frac{\widehat{e}_2-\widehat{e}_3}{\sqrt{2}} \right) \\ [2pt] {{~}_I^I}v_0 = {{~}_I^I}v_p = (0, 7612.628, 0) \mathrm{ms^{-1}} \\ [2pt] {{~}_I^I}p_p = (6878100, 0, 0) \mathrm{m} \end{array} \end{array} $$

The initial conditions which differ in the simulations are listed in Table 2.

Table 2 Initial conditions of simulations

The control gains used in all simulations are:

$$ \begin{array}{@{}rcl@{}} \begin{array}{l} K_r = 0.0082 \times \text{diag}(1,1,1) \\ [2pt] K_w = 0.128 \times \text{diag}(1,1,1) \\ [2pt] K_{p1} = \text{diag}(1,1,1,1,1,1) \\ [2pt] K_{d1} = \text{diag}(2,2,2,2,2,2) \\ [2pt] K_{p2} = 0.3162 \times \text{diag}(1,1,1) \\ [2pt] K_{d2} = 0.8558 \times \text{diag}(1,1,1) \end{array} \end{array} $$

The sliding-mode gains Kp2,Kd2 are chosen based on the procedure in “Design of Sliding-mode Controller”, to achieve a bound (on \({{~}_{0}^{0}}F_{b}\)) of 1000N for chaser 1 and 150N for chaser 2. The attitude synchronization gains Kr,Kw are obtained using linear quadratic regulator (LQR) (see [12]), to limit the moments during stabilization to 100Nm for chaser 1 and 10Nm for chaser 2. The LQR gain tuning is performed assuming a scalar double-integrator control system and the obtained gains are used in the diagonal entries of Kr,Kw. The robot arm gains Kp1,Kd1 are chosen to achieve a critically damped response, with the damping frequency less than the typical resonance frequency of industrial manipulators (5 − 20Hz).

For evaluating the propellant mass expelled, a simple model presented in [8] is adopted for instantaneous mass flow out of the thruster:

$$ \begin{array}{@{}rcl@{}} \dot{m}_f = \frac{\vert T \vert }{v_e} \end{array} $$

where T is the thrust (the entries of \({{~}_{0}^{0}}F_{b}\)) and ve is the effective exhaust velocity of the gases exiting the thruster nozzle. The hydrogen/oxygen mixture or hydrazine is considered, which have the specific energy of 10MJ/Kg, resulting in ve = 4472m/s (see [8]). The integration of mass flow for all thrusters is the total propellant expelled, the absolute value represents mass expulsion irrespective of direction of thrust. Since ve is almost constant for a given nozzle in a fixed atmospheric pressure, varying levels of thruster efficiency just scales the overall integration.

Discussions

The thrust limiting of chaser 1, to 1000N, can be observed from Figs. 2 and 3. It can also be observed that the peak thrust does not monotonously increase with distance from target, which is a desirable feature achieved from sliding-mode. The propellant consumption from Figs. 2 and 3 is in few Kg, starting from the earlier propellant mass of 800Kg. Since the target is assumed to have no angular velocity in simulations 1,2, the attitude synchronization happens to a constant value, and the base object moments in Figs. 2 and 3 are limited to 70Nm. The joint torque values represent the holding torque (no joint motion) when the space manipulator turns for attitude synchronization. The time of rendezvous is higher because of small pursuit thrust and almost half Earth orbit is completed by the time of rendezvous, as seen in Fig. 4.

Fig. 2
figure 2

Simulation 1: Time response of states and control

Fig. 3
figure 3

Simulation 2: Time response of states and control

Fig. 4
figure 4

Simulation 2: Orbital view

The chaser 2 rendezvous is considered in simulation 3 (Fig. 5). With the same choice of gains as for chaser 1, the force and moments are significantly lower because of lesser mass and moments-of-inertia. The fuel consumption for 1Km rendezvous is lower than that of chaser 1 (Fig. 3), following the trend of change in mass. Since chaser 2 is a de-orbiting space manipulator, the approach of simulation 3 can be used even for targets having angular velocities (no attitude synchronization is needed). Many solutions exist in the literature to capture a rotating target and de-tumble it, and can be adopted at the end of rendezvous. Further, there is 140Kg of propellant remaining.

Fig. 5
figure 5

Simulation 3: Time response of states and control

In simulation 4 (Fig. 6), we demonstrate the effect of attitude synchronization with a rotating body. Much of the control effort is due to the feedforward terms and is unavoidable, as explained in “Design of Sliding-mode Controller”. An effective strategy would be to approach the rotating target at constant attitude as in simulations 1,2, and to enable the attitude synchronization in short distance followed by docking. The fuel consumption of 160Kg is still not severe, as there is 640Kg of fuel remaining to be used for re-fuelling the target or servicing purposes. The thrust and moment magnitudes in Fig. 6 are within practical device limits described in [8]. The rendezvous, attitude synchronization and docking are illustrated in Fig. 7 for simulation 4. The end-effector position and velocity errors converge in a continuous way to zero (Fig. 6), which is necessary to avoid damaging impact forces.

Fig. 6
figure 6

Simulation 4: Time response of states and control

Fig. 7
figure 7

Simulation 4: Rendezvous and attitude synchronization

Conclusions

A globally parameterized dynamics model of a space manipulator was presented, which is important for the analysis and simulations. To achieve a concurrent arm-base control strategy, a combination of a sliding-mode rendezvous controller, a geometric PD control law for attitude synchronization, and a standard PD controller for robot manipulator was proposed. The asymptotic stability of the overall controller was shown. The selection of parameters for the three control segments was illustrated through simulations. The established equivalence of servicing and de-orbiting applications through a concurrent controller is an interesting and desirable outcome. The assumption of all axes, bidirectional thrusters is expensive to implement in the practical applications, hence under-actuation in the base object force will be considered in our following work.