1 Introduction

The space debris has been an ever-greater problem since the first Sputnik was launched by Soviet Union on October 4, 1957 [1]. Significant growth of the orbital debris began with the explosion of a man-made spacecraft which created more than 300 traceable objects in 1961 [2]. From then on, the steady increasing of the orbital debris population has never stopped. Studies about the space debris environments have shown that, without effective debris mitigation measures, the earth orbit will become too dangerous to launch new man-made spacecraft [3]. Besides, the accumulation of space debris in some orbits which have certain unique properties, such as the geosynchronous equatorial orbit (GEO), makes the valuable orbit resource gradually exhausted [4, 5].

With the increasing threat of space debris, the on-orbit non-cooperative target capture technology has attracted more and more attention in recent years. Compared with traditional measures, it can be used to clear the space debris completely without creating new small pieces. The simplest way to fulfil the goal of capturing on-orbit targets is to use a conventional rigid space robot. However, even though using them to capture cooperative targets has been successfully demonstrated in many space projects, such as Engineering Test Satellite VII [6, 7], Canadarm [8] and Orbital Express [9], applying them to non-cooperative targets is still a great challenge [10, 11]. Firstly, the dynamical and configuration parameters of targets are known for the cooperative capture, while they are unavailable in the case of non-cooperative target capture. This leads to extremely high requirements for the sensing and control modules. Besides, typical non-cooperative targets, including malfunctioned satellites or upper-stages, are usually in an uncontrollable tumbling status. This makes the approach of rigid robots very dangerous. Furthermore, in these successful flight tests, even though the cooperative targets are preset into a simple dynamics and suitable configurations, the whole capture operation is already confronted with great control challenges due to the dynamical coupling between the manipulator and the platform. Therefore, precisely capturing non-cooperative targets with rigid robots will be very difficult to achieve from the technical perspective.

Compared with rigid space robots, a tethered space robot is safer and more dexterous, which is an operational arm as the terminal capturing device connected to the platform satellite via a tether [1214]. However, the tethered space robot has a small sphere action, which is an evident drawback of this design. Accordingly, a flexible tether-net space robot system (TNSRS) is proposed. The TNSRS has many advantages in performing non-cooperative on-orbit capture [15, 16]. Firstly, the large net converts a point-to-point capture into a surface-to-point capture, which significantly reduces the requirement on capture precision. Secondly, the flexible net and the platform are only connected by a tether, which makes the dynamical coupling between them lower. Thirdly, TNSRS can have large operational distance, which makes the approaching manoeuvre of the platform unnecessary and effectively avoids the collision between the target and the rigid parts of the system. Lastly, due to the flexibility and low density, the tether-net element can be miniaturized and TNSRS can be multi-installed with capture nets for multiple tasks.

The concept of using TNSRS to clear space debris was first proposed in the ROGER mission sponsored by European Space Agency [17, 18]. It is designed to capture the malfunctioned satellites in GEO. As the plan of the project, the target is 15 m away from the platform and will be dragged to the graveyard orbit after being captured. Mankala and Agrawal investigated the impact in the deployment and retrieval of TNSRS [19, 20]. They discretized the connecting tether with Ritz Assumed Modes technique and simplified the net as a mass point. The motion of TNSRS was obtained by solving the dynamical equations, and the velocity jump caused by the impact was calculated by integrating the equations over an infinitesimal period. Williams [21, 22] studied the capture of non-cooperative payloads that are in inclined orbits relative to the tether system, requiring that capture take place out-of-plane with respect to the tether system orbit. Optimal control methodology was used to determine open-loop trajectories for an inextensible tether. Zhai et al. [23, 24] developed the equations of TNSRS in the orbital frame and studied the relationship between the capture error and initial capture conditions. Based on the analysis of the dynamical characteristics, they concluded that the effort to damp in-plane liberation of TNSRS only based on tether tension is impossible due to the instability of liberation. Thus, they introduced thrusters into the system as a control force and presented a feed-forward controller. In all the studies mentioned above, the large flexible net is just assumed to be a mass point. The shape variation of the net was completely neglected. However, actually, the dragging force in the connecting tether which is required in the literature to control the position of the net will inevitably lead to the closing of the net mouth. This may lead to the failure of the capture since the target will be unable to enter the net if the net mouth is too small. Besides, for the conventional structure of TNSRS, the flexible net is only dragged by several flying weights. Thus, the thrust required by the controller designed in [23] is very difficult to get. In order to equip TNSRS with stronger abilities to keep the net shape and manoeuvre autonomously, we replace the flying weights with manoeuvrable robots. This new configuration is shown in Fig. 1, and we called it the manoeuvrable tether-net space robot system (MTNSRS). When the four robots do not work, MTNSRS will be the same as the conventional TNSRS.

Fig. 1
figure 1

Configuration of MTNSRS

In this paper, consideration is given to the dynamics modelling and coordinated control of MTNSRS. Compared with previous studies, our model can reflect the variation of the net shape and the coupling between the four manoeuvring robots. Meanwhile, the designed controller has the ability to ensure the net to move along the expected trajectory and keep the required shape. Firstly, considering that the material of the space net has extremely high stiffness when in tension and the braided structure will become slack under axial pressure, we assume that the Young’s modulus is infinite in the former case and zero in the latter case. Thus, the effects of the net on the motion of manoeuvring robots can be split into two aspects: one is the inertia and gravitational force caused by the distributed mass, which will be transmitted to the robots; the other is unilateral state constraints caused by the inextensible cord in the net. Secondly, we divide the net into four sections and use the T3 element in the shell theory to approximate the shape of one section, which makes the distributed mass of the net equivalent to the lumped mass at the net centre and the four robots. Meanwhile, we employ the theory about the contact dynamics of the rigid robot [25] to describe the effect of the unilateral state constraints. Based on the extended Hamilton’s principle, we obtain the dynamical equations accompanied by a linear complementarity problem which should be solved before getting the solution of dynamical equations. Thirdly, given the fact that the two ends of an inextensible cord will have the same velocity when it suddenly becomes tent, we use a similar method as in [19] to obtain the velocity jump of points in the net. Lastly, referring to the contact control of rigid robots [26, 27], we designed a coordinated controller which is composed of the classical PD adjuster and the inverse dynamics module. However, since the shape of the net is not only decided by the four manoeuvring robots, the conventional Jacobian matrix and Moore–Penrose pseudo-inverse are not applicable for the inverse dynamics of MTNSRS. Therefore, we propose a method to transfer the inverse dynamics solving problem to a double-level optimization problem.

The rest of paper is organized as follows. The architecture and mission scenarios of MTNSRS are described in Sect. 2. In Sect. 3, the dynamic model of MTNSRS and its equations of motion are presented. The coordinated controller is designed in Sect. 4. The simulation results of the uncontrolled and controlled cases are both presented in Sect. 5. Section 6 contains our conclusions and perspectives.

2 Description of MTNSRS

2.1 Architecture

As illustrated in Fig. 1, the MTNSRS comprises a connecting tether, a flexible net, and four manoeuvring robots at its corners. The tether is used to connect the centre of the net and the space platform. The net and the tether are both manufactured from light and extremely stiff fibres, such as Nylon or Kevlar. Compared with the net, the structure of the manoeuvring robot is far more complicated. It is principally composed of eight subsystems, including the communication, power supply, thermal control, structure, sensor, propulsion, on-board computer and net-dragging subsystem. Figure 2 displays the basic configuration of the manoeuvring robot. The functions of each subsystem are described as follows:

  1. (i)

    The communication subsystem is responsible for the communication between the robot and the platform, so that the robot can feed back its pose information to and then get commands from the platform.

  2. (ii)

    The power supply subsystem consists of several storage batteries. They are charged when the robot is stored on the platform and responsible for offering electricity to other subsystems.

  3. (iii)

    The thermal control subsystem of MTNSRS is used to keep the inner temperature appropriate. Since the time required to capture a target is not very long, a passive mechanism is enough to reach the requirement.

  4. (iv)

    The structure subsystem stands for all the mechanical parts installed on the robot. They should be light and stable enough to carry and protect other subsystems.

  5. (v)

    The sensor subsystem consists of the inertial measurement unit, the tension sensor and other necessary sensors installed on the robot. These sensors are used to acquire the pose information of the robot and the state of the net.

  6. (vi)

    The propulsion subsystem consists of the thrusters installed on the robot. They should be able to offer the required thrust in any direction through combining different thrusters.

  7. (vii)

    The on-board computer is the brain of the manoeuvring robot, which is responsible for functions such as system management, thrust distribution, data processing, and so on.

  8. (viii)

    The net-dragging mechanism is used to connect the flexible net and the robot. When the robot is approaching the target, it should be able to drag the net to move forward. When the target is totally covered by the net, it should be able to help the robot tighten the net mouth.

Fig. 2
figure 2

Structure of the manoeuvring robot

2.2 Mission scenarios

MTNSRS is mainly designed for clearing the orbital debris. Before conducting the mission, it is carried and deployed by the platform. Then, it approaches and captures the target under the guidance of the platform. Finally, the platform drags the captured debris to the graveyard orbit or the atmosphere to destroy it. Therefore, the whole mission can be divided into five phases (see Fig. 3):

  1. (i)

    Orbit transferring. The platform is launched by the rocket. Under the guidance of ground stations and the installed detecting instruments, it begins to search for the orbital debris and then transfers to the servicing orbit after identifying the target.

  2. (ii)

    Net ejecting. After the platform reaches the intended orbit, MTNSRS should be reliably deployed. To fulfil this goal, the mechanism designed in [15] is introduced here. When the four robots are ejected, the net will be pulled out of the canister.

  3. (iii)

    Approaching. When the net is fully pulled out of the canister, the thrusters installed on the four robots will begin to work to keep MTNSRS stable and obtain the intended net shape. Meanwhile, under the guidance of the platform, MTNSRS will move towards the target.

  4. (iv)

    Capturing. At the end of the approaching phase, MTNSRS will rendezvous with the target. When the net totally covers the target, the cord on the net mouth will be tightened by the kinetic energy of the robots and the net will be closed behind the target.

  5. (v)

    Dragging. When the target is captured by MTNSRS, the platform begins to drag the target to the graveyard orbit or the atmosphere. After the intended orbit is reached, the connecting tether between MTNSRS and the platform will be cut and the platform will move towards the next target.

According to the description above, the dynamics and control of MTNSRS vary greatly in different phases. The focus of this paper is on the dynamics modelling and coordinated control of MTNSRS during the approaching phase. When entering the capturing phase, the bigger the area of the net mouth, the lower the precision requirements of capturing. Meanwhile, keeping the net mouth fully opened can avoid the twining of the net as well as the collision between robots. Therefore, the two goals of designing the controller are to ensure MTNSRS approaches the target along the intended trajectory and to keep the proper net shape to make the net mouth area the biggest.

Fig. 3
figure 3

Task flow of MTNSRS

3 Dynamics modelling of MTNSRS

3.1 Assumptions and coordinate systems

MTNSRS is composed of the connecting tether, the flexible net and four rigid robots. The dynamics of the rigid-flexible combinative system is too complicated to build an accurate dynamic model with all details. In order to analyse the dynamics of MTNSRS, we firstly introduce the following five basic assumptions:

  1. (i)

    The platform moves along a nearly circular Keplerian orbit. The mass of the platform is far heavier than the connecting tether, the flexible net and the mass of the manoeuvring robots. Its orbit and attitude are not affected by MTNSRS. Therefore, it can be simplified as a mass point.

  2. (ii)

    Due to the passive deployment mechanism, there will always be a certain tension in the connecting tether during the whole approaching phase. In addition, the stiffness of the tether is very high while its density is very low. Hence, it can be approximated as a massless rod.

  3. (iii)

    Compared with the flexible net, the volume of the manoeuvring robot is so small that it can be neglected. Therefore, as in Fig. 4, the robot is simplified to a controllable mass point in building the dynamic model.

    Fig. 4
    figure 4

    Simplified description of MTNSRS

  4. (iv)

    When the flexible net is fully unfolded, the mass distribution is uniform and the mesh of the net is very small compared with the whole size of the fully expanded net. In the approaching phase, due to the requirement to keep the net mouth fully opened, the flexible net will not deform greatly. Therefore, the net can be approximated as a uniform shell.

  5. (v)

    The tether connecting point is in the centre of the net. As shown in Fig. 4, the four cords which connect the net centre and the manoeuvring robots equally divide the whole net into four sections. In the approaching phase, all sections are approximately flattened by the manoeuvring robots.

Since the length is far bigger than the diameter of the section, the cord used to braid the flexible net will become slack when it is under axial pressure. Therefore, the tension–strain relation can be written as:

$$ N = \left \{ \textstyle\begin{array}{l@{\quad }l} EA ( \varepsilon + \alpha \dot{\varepsilon} ) & \varepsilon \ge 0,\\ 0 & \varepsilon < 0, \end{array}\displaystyle \right . $$
(1)

where \(\varepsilon\) is the strain of the tether, \(\alpha\) is the damping coefficient, \(A\) is the sectional area of the cord, and \(E\) is the Young’s modulus of the cord. Generally speaking, the net is made of fibres with extremely high stiffness. The Young’s modulus of these fibres can be more than 130 GPa. In addition, since the movement of the net in the approaching phase is rather smooth, the tension in the net should not be too big. Therefore, the strain of the tether is so small that it can be neglected. Hence, in order to further simplify the description of the net, we introduce the following approximation:

$$ \lim_{\varepsilon \to 0^{ +}} E = + \infty. $$
(2)

This means that the net can be arbitrarily folded while it is impossible to be elongated. Therefore, the elastic potential of the net can be calculated as

$$ \varPi = \int_{0}^{\varepsilon} N\,\mathrm{d}\varepsilon \to 0. $$
(3)

Hence, it can be neglected in the dynamics modelling.

In order to facilitate the description of MTNSRS, we firstly number the tether connecting point and the four manoeuvring robots as shown in Fig. 4. Then, we introduce the following two coordinate systems:

  1. (i)

    The inertial frame \(OXYZ\): the origin \(O\) is located in the centre of the Earth; the \(X\) axis is towards the ascending point of the orbit; the \(Z\) axis has the same direction as the normal vector of the orbit plane; the \(Y\) axis completes the frame following the right-hand principle.

  2. (ii)

    The orbital frame \(oxyz\): the origin \(o\) is located in the mass centre of the space platform; the \(x\) axis has the same direction as the tangent vector of the orbit; the \(z\) axis is directed from the origin \(o\) to the Earth centre \(O\); the \(y\) axis has the same direction as the negative normal vector of the orbit plane.

3.2 Dynamical equations

According to Assumption (v) in Sect. 3.1, the flexible net is equally divided into four sections. The section consisting of point 1, point 2 and point 3 is taken out as an example and shown in Fig. 5. In order to get the best performance of capture, the net mouth is expected to be fully open in the approaching phase. Meanwhile, due to the friction of the tether-deploying mechanism, there must be a certain dragging force in the tether connecting the platform and the net. Therefore, the section will keep nearly flat in the approaching phase, and it can be approximated as a triangle shell, namely \(\Delta \mathrm{ABC}\). Thus, the T3 element in the shell theory is employed here to describe the shape of this section. Hence, for an arbitrary point \(D\) in this section, its position vector in the inertial frame can be approximately calculated as

$$ {\boldsymbol {R}} \approx s_{1}{\boldsymbol {R}}_{1} + s_{2}{ \boldsymbol {R}}_{2} + s_{3}{\boldsymbol {R}}_{3} $$
(4)

where \(s_{1}\), \(s_{2}\) and \(s_{3}\) stand for the area coordinates of point D. They satisfy:

$$s_{1} = \frac{\bar{S}_{\Delta \mathrm{BCD}}}{\bar{S}_{\Delta\mathrm{ABC}}}, \qquad s_{2} = \frac{\bar{S}_{\Delta \mathrm{CAD}}}{\bar{S}_{\Delta\mathrm{ABC}}}, \qquad s_{3} = \frac{\bar{S}_{\Delta \mathrm{ABD}}}{\bar{S}_{\Delta\mathrm{ABC}}} $$

where \(\bar{S}_{\Delta}\) stands for the area of the triangle without any deformation. Therefore, the Lagrange function of this section can be written as

$$\begin{aligned} L_{123} =& \iint_{\Delta \mathrm{ABC}} \frac{1}{2}\rho \dot{{ \boldsymbol {R}}}^{\mathrm{T}}\dot{{\boldsymbol {R}}}\,\mathrm{d}\varSigma - \iint_{\Delta \mathrm{ABC}} \biggl( - \rho \frac{GM}{\Vert {\boldsymbol {R}} \Vert } \biggr)\,\mathrm{d}\varSigma \\ =& \frac{m_{\mathrm{W}}}{4}\int_{0}^{1} \mathrm{d}s_{1} \int_{0}^{1 - s_{1}} \biggl( \frac{1}{2}\dot{{\boldsymbol {R}}}^{\mathrm{T}}\dot{{\boldsymbol {R}}} + \rho\frac{GM}{\Vert {\boldsymbol {R}} \Vert } \biggr)\,\mathrm{d}s_{2} \end{aligned}$$
(5)

where \(\rho\) is the areal density of the equivalent shell, \(m_{\mathrm{W}}\) is the mass of the whole net, \(G\) is the universal gravitational constant, and \(M\) is the mass of the Earth. The variation of the Lagrange function can be written as

$$\begin{aligned} &\delta \int_{t_{1}}^{t_{2}} L_{123}\, \mathrm{d}t \\ &\quad = \int_{t_{1}}^{t_{2}} \biggl[ \frac{m_{\mathrm{W}}}{4} \int_{0}^{1} \mathrm{d}s_{1}\int _{0}^{1 - s_{1}} \delta {\boldsymbol {R}}^{\mathrm{T}} \biggl( - \ddot{{\boldsymbol {R}}} - \rho \frac{GM}{\Vert {\boldsymbol {R}}\Vert ^{3}}{\boldsymbol {R}} \biggr) \,\mathrm{d}s_{2} \biggr]\,\mathrm{d}t. \end{aligned}$$
(6)

Compared with the orbital motion, the relative motion of MTNSRS is trivial. Since the position vector \({\boldsymbol {R}}\) involves the orbital motion of the platform, using it directly to describe the approaching phase will cause computation problems. Hence, we need to transfer Eq. (6) into the relative orbit coordinate system. According to the C–W equation, the integral term in Eq. (6) can be calculated as

$$ \ddot{{\boldsymbol {R}}} + \rho \frac{GM}{\Vert {\boldsymbol {R}} \Vert ^{3}}{\boldsymbol {R}} \approx \ddot{\boldsymbol {r}} + { \boldsymbol {M}}_{\dot{r}}\dot{\boldsymbol {r}} + {\boldsymbol {M}}_{r}\boldsymbol {r} $$
(7)

where

$${\boldsymbol {M}}_{\dot{r}} = \left [ \textstyle\begin{array}{c@{\quad }c@{\quad }c} 0 & 0 & - 2\omega \\ 0 & 0 & 0 \\ 2\omega & 0 & 0 \end{array}\displaystyle \right ], \qquad { \boldsymbol {M}}_{r} = \left [ \textstyle\begin{array}{c@{\quad }c@{\quad }c} 0 & 0 & 0 \\ 0 & \omega^{2} & 0 \\ 0 & 0 & - 3\omega^{2} \end{array}\displaystyle \right ]. $$

Here \(\omega\) is the orbital angular velocity of the space platform. In addition, the variation of the position vector can be calculated as

$$ \delta {\boldsymbol {R}} = \delta \bigl[ {\boldsymbol {R}}_{o} ( t ) + \boldsymbol {r}\bigr] = \delta \boldsymbol {r} $$
(8)

where \({\boldsymbol {R}}_{o}\) is the position vector of the origin of the orbital coordinate system. Inserting Eq. (7) and Eq. (8) into Eq. (6) yields

$$\begin{aligned} &\int_{t_{1}}^{t_{2}} \delta L_{123}\, \mathrm{d}t \\ &\quad \approx \int_{t_{1}}^{t_{2}} \biggl[ \frac{m_{\mathrm{W}}}{4}\int_{0}^{1} \mathrm{d}s_{1} \int_{0}^{1 - s_{1}} - \delta \boldsymbol {r}^{\mathrm{T}} ( \ddot{ \boldsymbol {r}} + {\boldsymbol {M}}_{\dot{r}}\dot{\boldsymbol {r}} + {\boldsymbol {M}}_{r}\boldsymbol {r})\, \mathrm{d}s_{2} \biggr]\,\mathrm{d}t \\ & \quad \approx \int_{t_{1}}^{t_{2}} - \delta \boldsymbol {r}_{N}^{\mathrm{T}} \biggl[\frac{m_{\mathrm{W}}}{4} \bigl( { \boldsymbol {M}}_{1}^{123}\ddot{\boldsymbol {r}}_{N} + { \boldsymbol {M}}_{2}^{123}\dot{\boldsymbol {r}}_{N} + { \boldsymbol {M}}_{3}^{123}\boldsymbol {r}_{N} \bigr) \biggr]\,\mathrm{d}t \end{aligned}$$
(9)

where

$$\begin{aligned} &\boldsymbol {r}_{N} = \bigl[ \boldsymbol {r}_{1}^{\mathrm{T}},\boldsymbol {r}_{2}^{\mathrm{T}},\boldsymbol {r}_{3}^{\mathrm{T}}, \boldsymbol {r}_{4}^{\mathrm{T}},\boldsymbol {r}_{5}^{\mathrm{T}} \bigr]^{\mathrm{T}}, \qquad {\boldsymbol {M}}_{1}^{123} = { \boldsymbol {M}}^{123} \otimes {\boldsymbol {I}}_{3 \times 3}, \\ &{\boldsymbol {M}}_{2}^{123} = {\boldsymbol {M}}^{123} \otimes{ \boldsymbol {M}}_{\dot{r}}, \qquad {\boldsymbol {M}}_{3}^{123} = { \boldsymbol {M}}^{123} \otimes {\boldsymbol {M}}_{r}, \end{aligned}$$

⊗ stands for the direct product of matrixes, and \({\boldsymbol {M}}^{123}\) is the characteristic matrix corresponding to the section consisting of point 1, point 2 and point 3. The characteristic matrix for different sections can be calculated as

$${\boldsymbol {M}}_{5 \times 5}^{lmn} ( i,j ) = \left \{ \textstyle\begin{array}{l@{\quad }l} 1 / 12 & i,j \in \{ l,m,n \},i = j, \\ 1 / 24 & i,j \in \{ l,m,n \},i \ne j, \\ 0 & \mbox{otherwise}. \end{array}\displaystyle \right . $$

Similarly, the Lagrange functions of other three sections and their variations can also be obtained.

Fig. 5
figure 5

The scenario of becoming taut

Since we have assumed that the cord connecting two points cannot be elongated, the distance between two points must conform to the unilateral constraint. For example, the distance between point 1 and point 2 must satisfy

$$ \vert \boldsymbol {r}_{1} - \boldsymbol {r}_{2} \vert \le L_{12} $$
(10)

where \(L_{12}\) is the undeformed length of the cord connecting point 1 and point 2. Similar unilateral constraints can also be obtained between other points. In order to involve the effects of these unilateral constraints in the modelling, we introduce the interval function. It is defined as

$$ g_{ij}\stackrel{\mathrm{def}}{=} L_{ij} - \Vert \boldsymbol {r}_{i} - \boldsymbol {r}_{j} \Vert \ge 0 $$
(11)

where \(L_{ij}\) is the undeformed cord length between point \(i\) and point \(j\). According to the theory of contact dynamics [25], the corresponding constraint forces must satisfy

$$ \left \{ \textstyle\begin{array}{l@{\quad }l} \lambda_{ij} = 0 & \mbox{when}\ g_{ij} > 0, \\ \lambda_{ij} = 0 & \mbox{when}\ g_{ij} = 0 \ \mbox{and}\ \dot{g}_{ij} > 0,\\ \lambda_{ij} = 0 & \mbox{when}\ g_{ij} = 0,\dot{g}_{ij} = 0 \ \mbox{and}\ \ddot{g}_{ij} > 0 ,\\ \lambda_{ij} \ge 0 & \mbox{when}\ g_{ij} = 0,\dot{g}_{ij} = 0 \ \mbox{and}\ \ddot{g}_{ij} = 0. \end{array}\displaystyle \right . $$
(12)

Generally speaking, when solving the dynamical equations with numerical integration algorithms, we only know the zeroth order and the first order terms, that is, \(g_{ij}\) and \(\dot{g}_{ij}\). Therefore, whether the constraint is in the first two cases can be easily distinguished. If the constraint is in the first two cases, the constraint force can be decided as zero and points can move freely. Thus, the solving procedure is the same as for the conventional dynamical systems without the unilateral constraint. However, if the constraint is not in the first two cases, the second order term \(\ddot{g}_{ij}\) and the corresponding constraint force \(\lambda_{ij}\) need to be solved before getting the acceleration of points. The method will be discussed in detail when the dynamical equations of MTNSRS are obtained. Here, in order to facilitate the expression, we number all the eight unilateral constraints of MTNSRS as shown in Table 1. In the following pages, the subscript of \(\lambda\) and \(g\) will be written as the number of the corresponding constraint.

Table 1 Number of Connections

The Lagrange function of MTNSRS can be calculated as

$$ L = L_{123} + L_{134} + L_{145} + L_{152} + \sum_{i = 2}^{5} m_{\mathrm{M}} \biggl[ \frac{1}{2}{\boldsymbol {R}}_{i}^{\mathrm{T}}{\boldsymbol {R}}_{i} - \frac{GM}{\Vert {\boldsymbol {R}}_{i} \Vert } \biggr] $$
(13)

where \(m_{\mathrm{M}}\) is the mass of the manoeuvring robot. The virtual work of unconventional forces acting on MTNSRS (including the constraint forces) can be calculated as

$$ \delta 'W = - \delta \boldsymbol {r}_{1}^{\mathrm{T}} \frac{\boldsymbol {r}_{1}}{\Vert \boldsymbol {r}_{1} \Vert }F_{\mathrm{T}} + \sum_{i = 2}^{5} \delta {\boldsymbol {R}}_{i}^{\mathrm{T}}{\boldsymbol {F}}_{i} + \delta \boldsymbol {g}_{N}^{\mathrm{T}}\boldsymbol{\lambda}_{N} $$
(14)

where \(F_{\mathrm{T}}\) is the dragging force in the connecting tether and \({\boldsymbol {F}}_{i}\) \(( i = 2, \ldots,5 )\) is the control force acting on the manoeuvring robots. According to the extended Hamilton’s principle, MTNSRS needs to satisfy

$$ \int_{t_{0}}^{t_{1}} \bigl( \delta L + \delta 'W \bigr)\,\mathrm{d}t = 0. $$
(15)

Inserting Eq. (13) and Eq. (14) into Eq. (15) and then simplifying it with the partial integration method yields

$$\begin{aligned} & \int_{t_{0}}^{t_{1}} \Biggl\{ - \delta \boldsymbol {r}_{N}^{\mathrm{T}} \biggl[ \frac{m_{\mathrm{W}}}{4} \bigl({\boldsymbol {M}}_{1}^{W}\ddot{\boldsymbol {r}}_{N} + {\boldsymbol {M}}_{2}^{W}\dot{\boldsymbol {r}}_{N} + {\boldsymbol {M}}_{3}^{W}\boldsymbol {r}_{N} \bigr) \biggr] \\ &\quad {}- \sum_{i = 2}^{5} \delta \boldsymbol {r}_{i}^{\mathrm{T}} \bigl[ m_{\mathrm{M}} \bigl(\ddot{\boldsymbol {r}}_{i} + {\boldsymbol {M}}_{\dot{r}}\dot{\boldsymbol {r}}_{i} + {\boldsymbol {M}}_{r}\boldsymbol {r}_{i} \bigr) \bigr] \\ &\quad {}+ \delta \boldsymbol {r}_{N}^{\mathrm{T}}{\boldsymbol {F}} + \delta \boldsymbol {r}_{N}^{\mathrm{T}} \biggl( \frac{\partial \boldsymbol {g}_{N}}{\partial \boldsymbol {r}_{N}} \biggr)^{\mathrm{T}}\boldsymbol{\lambda}_{N} \Biggr\} \,\mathrm{d}t = 0 \end{aligned}$$
(16)

where

$$\begin{aligned} & {\boldsymbol {M}}_{i}^{W} = {\boldsymbol {M}}_{i}^{123} + {\boldsymbol {M}}_{i}^{134} + {\boldsymbol {M}}_{i}^{145} + {\boldsymbol {M}}_{i}^{152} \quad ( i = 1,2,3 ), \\ & {\boldsymbol {F}} = \bigl[ - F_{\mathrm{T}}\boldsymbol {r}_{1}^{\mathrm{T}} / \Vert \boldsymbol {r}_{1} \Vert ,{\boldsymbol {F}}_{2}^{\mathrm{T}},{ \boldsymbol {F}}_{3}^{\mathrm{T}},{\boldsymbol {F}}_{4}^{\mathrm{T}},{ \boldsymbol {F}}_{5}^{\mathrm{T}} \bigr]^{\mathrm{T}}. \end{aligned}$$

Considering the property of the variation operation, the dynamical equations of MTNSRS can be written as

$$ {\boldsymbol {M}}\ddot{\boldsymbol {r}}_{N} + {\boldsymbol {C}}\dot{\boldsymbol {r}}_{N} + \boldsymbol {K}\boldsymbol {r}_{N} = {\boldsymbol {F}} + \biggl( \frac{\partial \boldsymbol {g}_{N}}{\partial \boldsymbol {r}_{N}} \biggr)^{\mathrm{T}}\boldsymbol{\lambda}_{N} $$
(17)

where

$$\begin{aligned} {\boldsymbol {M}} =& \frac{m_{\mathrm{W}}}{4}{\boldsymbol {M}}_{1}^{W} + m_{\mathrm{M}}\operatorname{diag} ( 0,1,1,1,1 ) \otimes \operatorname{diag} ( 1,1,1 ), \\ {\boldsymbol {C}} =& \frac{m_{\mathrm{W}}}{4}{\boldsymbol {M}}_{2}^{W} + m_{\mathrm{M}}\operatorname{diag} ( 0,1,1,1,1 ) \otimes {\boldsymbol {M}}_{\dot{r}}, \\ {\boldsymbol {K}} =& \frac{m_{\mathrm{W}}}{4}{\boldsymbol {M}}_{2}^{W} + m_{\mathrm{M}}\operatorname{diag} ( 0,1,1,1,1 ) \otimes {\boldsymbol {M}}_{r}. \end{aligned}$$

In order to solve the constraint forces, we take out the numbers of the constraints which are in the last two cases of Eq. (12), sort them from lowest to highest, and consequently get the number vector \(\bar{{\boldsymbol {I}}}\). Sorting the corresponding interval functions and constraint forces in the same sequence yields the interval function vector \(\bar{\boldsymbol {g}}_{N}\) and the constraint force vector \(\bar{\boldsymbol{\lambda}}_{N}\). For the constraint whose number is not included in vector \(\bar{{\boldsymbol {I}}}\), the corresponding constraint force can be directly decided as zero. For the remaining constraints, the second derivative of \(\bar{\boldsymbol {g}}_{N}\) can be calculated as

$$ \ddot{\bar{\boldsymbol {g}}}_{N} = \frac{\partial \bar{\boldsymbol {g}}_{N}}{\partial \boldsymbol {r}_{N}}\ddot{\boldsymbol {r}}_{N} + \frac{\partial^{2}\bar{\boldsymbol {g}}_{N}}{\partial \boldsymbol {r}_{N}^{2}} \dot{\boldsymbol {r}}_{N} \cdot \dot{\boldsymbol {r}}_{N}. $$
(18)

In addition, the relation between \(\bar{\boldsymbol{\lambda}}_{N}\) and \(\boldsymbol{\lambda}_{N}\) can be written as

$$ \boldsymbol{\lambda}_{N} = {\boldsymbol {M}}_{R}\bar{\boldsymbol{ \lambda}}_{N} $$
(19)

where

$${\boldsymbol {M}}_{R} ( i,j ) = \left \{ \textstyle\begin{array}{l@{\quad }l} 1 & i = \bar{{\boldsymbol {I}}} ( j ), \\ 0 & \mbox{otherwise}. \end{array}\displaystyle \right . $$

Inserting Eq. (17) and Eq. (19) into Eq. (18) yields

$$ \ddot{\bar{\boldsymbol {g}}}_{N} = {\boldsymbol {A}}\bar{\boldsymbol{ \lambda}}_{N} + \boldsymbol {b} $$
(20)

where

$${\boldsymbol {A}} = \frac{\partial \bar{\boldsymbol {g}}_{N}}{\partial \boldsymbol {r}_{N}}{\boldsymbol {M}}^{ - 1} \biggl( \frac{\partial \boldsymbol {g}_{N}}{\partial \boldsymbol {r}_{N}} \biggr)^{\mathrm{T}}{\boldsymbol {M}}_{R}, $$
$$\boldsymbol {b}= \frac{\partial \bar{\boldsymbol {g}}_{N}}{\partial \boldsymbol {r}_{N}}{\boldsymbol {M}}^{ - 1} ( {\boldsymbol {F}} - {\boldsymbol {C}}\dot{\boldsymbol {r}}_{N} - \boldsymbol {K}\boldsymbol {r}_{N} ) + \frac{\partial^{2}\bar{\boldsymbol {g}}_{N}}{\partial \boldsymbol {r}_{N}^{2}}\dot{\boldsymbol {r}}_{N} \cdot \dot{\boldsymbol {r}}_{N}. $$

Considering the constraints conformed by \(\bar{\boldsymbol {g}}_{N}\), the problem to solve the constraint forces can be written as

$$ \left \{ \textstyle\begin{array}{l} \bar{\boldsymbol {g}}_{N} =\mathbf{0},\quad \dot{\bar{\boldsymbol {g}}}_{N} = \mathbf{0}, \\ \ddot{\bar{\boldsymbol {g}}}_{N} = {\boldsymbol {A}}\bar{\boldsymbol{\lambda}}_{N} +\boldsymbol {b}, \\ \ddot{\bar{\boldsymbol {g}}}_{N}^{\mathrm{T}}\bar{\boldsymbol{\lambda}}_{N} =0, \quad \ddot{\bar{\boldsymbol {g}}}_{N} \ge \mathbf{0}, \quad \bar{\boldsymbol{\lambda}}_{N}\ge \mathbf{0}. \end{array}\displaystyle \right . $$
(21)

This is a typical linear complementarity problem. It can be solved by using the Lemke algorithm whose detailed procedures are investigated in [28].

According to the analysis above, when the position vector \(\boldsymbol {r}_{N}\), the velocity vector \(\dot{\boldsymbol {r}}_{N}\) and the control force vector \({\boldsymbol {F}}\) are known, we can obtain the constraint force vector \(\boldsymbol{\lambda}_{N}\) through solving Eq. (19) and Eq. (21). Then, the acceleration vector \(\ddot{\boldsymbol {r}}_{N}\) can be obtained by solving the dynamical equation (17). Thus, the dynamics of MTNSRS is captured.

3.3 Velocity jump

Considering the scenario shown in Fig. 5, at time \(t^{ -}\), the distance between point \(i\) and point \(j\) reaches the undeformed cord length \(L_{ij}\). Meanwhile, the relative velocity along the cord between the two points is not zero, and they have a tendency to go away from each other. Thus, the cord becomes taut at time \(t\) and the tightening force is transferred through the cord, which is similar to the process of impact. Due to the high damping of the braided structure and the stiff fibre, at time \(t^{ +}\), the two points will get the same velocity along the cord.

In order to describe the instantaneous velocity jump, we integrate the overall dynamical equation (17) at the time interval [\(t^{ -},t^{ +}\) ] and obtain

$$ \int_{t^{ -}}^{t^{ +}} {\boldsymbol {M}}\ddot{\boldsymbol {r}}_{N}\,\mathrm{d}t + \int_{t^{ -}}^{t^{ +}} {\boldsymbol {C}}\dot{\boldsymbol {r}}_{N}\,\mathrm{d}t + \int_{t^{ -}}^{t^{ +}}\boldsymbol {K}\boldsymbol {r}_{N}\,\mathrm{d}t = \int_{t^{ -}}^{t^{ +}}{\boldsymbol {F}}\,\mathrm{d}t + \biggl( \frac{\partial \boldsymbol {g}_{N}}{\partial \boldsymbol {r}_{N}} \biggr)^{\mathrm{T}} \int_{t^{ -}}^{t^{ +}} \boldsymbol{\lambda}_{N}\,\mathrm{d}t. $$
(22)

Since the position vector remains unchanged and the control forces are limited during the extremely transient period, the last two terms at the left side of Eq. (22) and the first term at the right side equal to zero. For the constraint which satisfies the conditions of becoming taut, namely \(g_{i} = 0\) and \(\dot{g}_{i} < 0\), the constraint force goes to infinity over an infinitesimal period and its integral is not zero. However, for the constraint which does not satisfy the conditions, the constraint force is zero or limited, and therefore the integral remains zero. In order to facilitate the expression, we take out the numbers of those constraints satisfying the tightening condition, sort them from the lowest to the highest, and consequently get the column vector \(\bar{{\boldsymbol {I}}}_{NT}\). Sorting the corresponding interval functions and constraint forces in the same sequence yields the interval function vector \(\bar{\boldsymbol {g}}_{NT}\) and the constraint force \(\bar{\boldsymbol{\lambda}}_{NT}\). Furthermore, we write the integrals of \(\boldsymbol{\lambda}_{NT}\) and \(\bar{\boldsymbol{\lambda}}_{NT}\) over [\(t^{ -},t^{ +}\) ] as \(\boldsymbol{\varLambda}_{NT}\) and \(\bar{\boldsymbol{\varLambda}}_{NT}\), respectively. The relation between them can be written as

$$ \boldsymbol{\varLambda}_{NT} = {\boldsymbol {M}}_{RT}\bar{\boldsymbol{ \varLambda}}_{NT} $$
(23)

where

$${\boldsymbol {M}}_{RT} ( i,j ) = \left \{ \textstyle\begin{array}{l@{\quad }l} 1 & i =\bar{{\boldsymbol {I}}}_{NT} ( j ), \\ 0 & \mbox{otherwise}. \end{array}\displaystyle \right . $$

Thus, Eq. (22) can be rewritten as

$$ {\boldsymbol {M}} ( \dot{\boldsymbol {r}}_{N} \vert _{t^{ +}} -\dot{\boldsymbol {r}}_{N} \vert _{t^{ -}} ) = \biggl( \frac{\partial \boldsymbol {g}_{N}}{\partial \boldsymbol {r}_{N}} \biggr)^{\mathrm{T}}{\boldsymbol {M}}_{RT}\bar{\boldsymbol{\varLambda}}_{NT}. $$
(24)

Besides, the interval function vector \(\bar{\boldsymbol {g}}_{NT}\) must satisfy

$$ \dot{\bar{\boldsymbol {g}}}_{NT} \vert _{t^{ +}} =\mathbf{0}. $$
(25)

Solving Eq. (24) and Eq. (25) together yields the velocity vector at time \(t^{ +}\). Thus, the velocity jump is obtained.

4 Coordinated control of MTNSRS

4.1 Controller structure

When entering the capture phase, as long as the target is in the net mouth, it will be successfully captured by MTNSRS regardless of the net shape. Since the position and direction of the net mouth are completely decided by the position of the four manoeuvring robots, we only need to require them to move along the expected trajectories when considering the control of MTNSRS. Thus, the position control vector \(\boldsymbol {r}_{\mathrm{c}}\) can be written as

$$ \boldsymbol {r}_{\mathrm{c}} = \bigl[\boldsymbol {r}_{2}^{\mathrm{T}},\boldsymbol {r}_{3}^{\mathrm{T}},\boldsymbol {r}_{4}^{\mathrm{T}},\boldsymbol {r}_{5}^{\mathrm{T}}\bigr]^{\mathrm{T}}. $$
(26)

Besides, we assume that the space platform employs the simplest passive mechanism to deploy the tether, which is similar as that used in Small Expendable Deployer System mission [29]. Thus, the dragging force in the connecting force is uncontrollable in the approaching phase while it cannot be completely eliminated due to the existence of friction. Hence, the control force vector \({\boldsymbol {F}}_{\mathrm{c}}\) of MTNSRS only includes the control forces acting on the manoeuvring robots, that is,

$$ {\boldsymbol {F}}_{\mathrm{c}} = \bigl[{\boldsymbol {F}}_{2}^{\mathrm{T}},{ \boldsymbol {F}}_{3}^{\mathrm{T}},{\boldsymbol {F}}_{4}^{\mathrm{T}},{ \boldsymbol {F}}_{5}^{\mathrm{T}}\bigr]^{\mathrm{T}}. $$
(27)

The uncontrollable dragging force \(F_{\mathrm{T}}\) will cause disturbances to the motion of MTNSRS and meanwhile can help the flexible net keep stable. Therefore, we split the dynamical equation (17) into two equations as:

$$ \left\{ \textstyle\begin{array}{l} {\boldsymbol {M}}_{1}\ddot{\boldsymbol {r}}_{1} + {\boldsymbol {M}}_{1\mathrm{c}}\ddot{\boldsymbol {r}}_{\mathrm{c}} + {\boldsymbol {C}}_{1}\dot{\boldsymbol {r}}_{N} + {\boldsymbol {K}}_{1}\boldsymbol {r}_{N} = \dfrac{\boldsymbol {r}_{1}}{\Vert \boldsymbol {r}_{1} \Vert }F_{\mathrm{T}} + \biggl( \dfrac{\partial \boldsymbol {g}_{N}}{\partial \boldsymbol {r}_{1}} \biggr)^{\mathrm{T}}\boldsymbol{\lambda}_{N} , \\ {\boldsymbol {M}}_{\mathrm{c}}\ddot{\boldsymbol {r}}_{\mathrm{c}} + {\boldsymbol {M}}_{\mathrm{c}1}\ddot{\boldsymbol {r}}_{1} + {\boldsymbol {C}}_{\mathrm{c}}\dot{\boldsymbol {r}}_{N} + {\boldsymbol {K}}_{\mathrm{c}}\boldsymbol {r}_{N} = {\boldsymbol {F}}_{\mathrm{c}} + \biggl( \dfrac{\partial \boldsymbol {g}_{N}}{\partial \boldsymbol {r}_{\mathrm{c}}} \biggr)^{\mathrm{T}}\boldsymbol{\lambda}_{N} \end{array}\displaystyle \right. $$
(28)

where \({\boldsymbol {M}}_{1}\), \({\boldsymbol {M}}_{1\mathrm{c}}\), \({\boldsymbol {M}}_{\mathrm{c}1}\) and \({\boldsymbol {M}}_{\mathrm{c}}\) are the corresponding partitions of \({\boldsymbol {M}}; {\boldsymbol {C}}_{1}\) and \({\boldsymbol {C}}_{\mathrm{c}}\) are the corresponding partitions of \({\boldsymbol {C}}; {\boldsymbol {K}}_{1}\) and \({\boldsymbol {K}}_{\mathrm{c}}\) are the corresponding partitions of \({\boldsymbol {K}}\). They satisfy:

figure a

According to Eq. (17), the four manoeuvring robots will interact with each other. Besides, for constraints which are not in the first two cases of Eq. (12), whether they are in the third or fourth case is affected by the control forces required by the controller. Different control forces might lead to different structures of MTNSRS. In other words, the structure of MTNSRS is coupled with the control forces. This makes the control of MTNSRS remarkably different from the conventional space robot and the satellite formation. Referring to the contact control of rigid robots [26, 27], we present a coordinated controller with the structure as shown in Fig. 6. The PD adjuster is used to generate the acceleration correction vector according the following equation:

$$ \Delta \ddot{\boldsymbol {r}}_{\mathrm{c}} = \lambda_{\mathrm{p}} \bigl( \boldsymbol {r}_{\mathrm{c}}^{ *} - \boldsymbol {r}_{\mathrm{c}} \bigr) + \lambda_{\mathrm{d}} \bigl( \dot{\boldsymbol {r}}_{\mathrm{c}}^{ *} - \dot{ \boldsymbol {r}}_{\mathrm{c}} \bigr) $$
(29)

where \(\lambda_{\mathrm{p}}\) and \(\lambda_{\mathrm{d}}\) are the proportional and differential coefficient, respectively. The expected acceleration \(\ddot{\boldsymbol {r}}_{\mathrm{c}}^{**}\) is obtained by adding the ideal acceleration \(\ddot{\boldsymbol {r}}_{\mathrm{c}}^{*}\) and the acceleration correction \(\Delta\ddot{\boldsymbol {r}}_{\mathrm{c}}\), that is,

$$ \ddot{\boldsymbol {r}}_{\mathrm{c}}^{ * *} = \ddot{\boldsymbol {r}}_{\mathrm{c}}^{ *} + \Delta \ddot{\boldsymbol {r}}_{\mathrm{c}}. $$
(30)

Then, the inverse dynamics is used to generate the required control force according the expected acceleration. However, the problem faced by MTNSRS is a little different from the contact control of rigid robots, which makes the conventional Jacobian matrix and Moore–Penrose pseudo-inverse not applicable for MTNSRS. Specifically, for the rigid robot, whether the arms will contact with objects can be inferred from the current state and the expected acceleration. Nevertheless, for MTNSRS, we do not give the expected acceleration of point 1. Even if the expected acceleration is given, requiring point 1 to gain the required acceleration is also very hard. This is because that there is no active control force acting on it. Its motion is affected by other points’ motion, its own position and the uncontrollable dragging force. This situation is similar as when one robot arm gets out of control. Therefore, we need to get other methods to solve the inverse dynamics.

Fig. 6
figure 6

Structure of the coordinated controller

As for the stability of the closed-loop controller, it is demonstrated in [26, 27] that the inverse dynamics module does not affect the stability of the whole system. The stability is mainly decided by the control law of \(\Delta \ddot{\boldsymbol {r}}_{\mathrm{c}}\), namely the PD adjuster. As long as the parameters of the PD adjuster are well selected, the closed-loop system will keep stable.

4.2 Inverse dynamics

Considering that the original idea of the Moore–Penrose pseudo-inverse is to search the solution with minimal errors, we also transfer the problem of inverse dynamics into an optimization problem. The goal of optimization is to solve for the control force and the acceleration which conform to the dynamical constraints and meanwhile can make the error between the actual and expected accelerations minimal. However, since the system structure is affected by the control force, we have to traverse all cases and solve problems with all the possible structures one by one. The final solution is the best one among all solutions. Thus, the inverse dynamics is finally transferred to a double-level optimization problem.

No matter what structure MTNSRS is, the performance function \(J\) can always be written as

$$ J = \frac{1}{2} \bigl( \boldsymbol {r}_{\mathrm{c}} - \ddot{\boldsymbol {r}}_{\mathrm{c}}^{ * *} \bigr)^{\mathrm{T}} \bigl( \boldsymbol {r}_{\mathrm{c}} - \ddot{\boldsymbol {r}}_{\mathrm{c}}^{ * *} \bigr). $$
(31)

As for the dynamical constraints, they depend on the structure of MTNSRS. Hence, we need to discuss the state of the connecting cords in detail. Corresponding to the different cases of Eq. (12), the number vector \(\bar{{\boldsymbol {I}}}\) will be different, and there will be different constraints. Since we assume the controller can get the position vector \(\boldsymbol {r}_{N}\) and the velocity vector \(\dot{\boldsymbol {r}}_{N}\) from the sensors, the first two cases can be directly distinguished and the vector \(\bar{{\boldsymbol {I}}}\) can also be decided. However, which case the remain constraints belong to is decided by the control force which is waiting to be solved for. Hence, when designing the method to solve the inverse dynamics, we must discuss all situations corresponding to the different length of vector \(\bar{{\boldsymbol {I}}}\):

(i):

If \(\mathit{length}(\bar{{\boldsymbol {I}}}) = 0\), then \(\boldsymbol{\lambda}_{N} = \mathbf{0}\) and \(\ddot{\boldsymbol {r}}_{\mathrm{c}} = \ddot{\boldsymbol {r}}_{\mathrm{c}}^{ * *}\). Thus, Eq. (28) can be rewritten as

$$ \left\{ \textstyle\begin{array}{l} {\boldsymbol {M}}_{1}\ddot{\boldsymbol {r}}_{1} = \dfrac{\boldsymbol {r}_{1}}{\Vert \boldsymbol {r}_{1} \Vert }F_{\mathrm{T}} - \bigl( {\boldsymbol {M}}_{1\mathrm{c}}\ddot{\boldsymbol {r}}_{\mathrm{c}}^{ * *} + {\boldsymbol {C}}_{1}\dot{\boldsymbol {r}}_{N} + {\boldsymbol {K}}_{1}\boldsymbol {r}_{N} \bigr), \\ - {\boldsymbol {F}}_{\mathrm{c}} + {\boldsymbol {M}}_{\mathrm{c}1}\ddot{\boldsymbol {r}}_{1} = - \bigl( {\boldsymbol {M}}_{\mathrm{c}}\ddot{\boldsymbol {r}}_{\mathrm{c}}^{ * *} + {\boldsymbol {C}}_{\mathrm{c}}\dot{\boldsymbol {r}}_{N} + {\boldsymbol {K}}_{\mathrm{c}}\boldsymbol {r}_{N} \bigr). \end{array}\displaystyle \right . $$
(32)

The control force \({\boldsymbol {F}}_{\mathrm{c}}\) can be obtained by solving the two equations together.

(ii):

If \(\mathit{length}(\bar{{\boldsymbol {I}}}) = 1\) and \(\bar{{\boldsymbol {I}}} = [i_{1}]\), then there will be 2 linear programming problems in the first level as shown in Table 2. The final optimal solution is the best one of these 2 problems.

Table 2 Optimization Problems Corresponding to \(\mathit{length}(\bar{{\boldsymbol {I}}}) =1\)
(iii):

If \(\mathit{length}(\bar{{\boldsymbol {I}}}) = 2\) and \(\bar{{\boldsymbol {I}}} =[i_{1},i_{2}]\), then there will be 4 linear programming problems in the first level as shown in Table 3. The final optimal solution is the best one of these 4 problems.

Table 3 Optimization Problems Corresponding to \(\mathit{length}(\bar{{\boldsymbol {I}}}) =2\)

(\(n+1\)):

If \(\mathit{length}(\bar{{\boldsymbol {I}}}) = n\) \(( 1 \le n \le 8 )\) and \(\bar{{\boldsymbol {I}}} = [i_{1},i_{2}, \ldots,i_{n}]\), then there will be \(2^{n}\) linear programming problems in the first level as shown in Table 4. The final optimal solution is the best one of these \(2^{n}\) problems.

Table 4 Optimization Problems Corresponding to \(\mathit{length}(\bar{{\boldsymbol {I}}}) =n\)

5 Numerical simulation

A representative system has been selected to analyse the dynamical characteristics of MTNSRS and demonstrate the performance of the proposed coordinated controller. The basic parameters of the selected system are shown in Table 5. The detailed dimension of the flexible net is shown in Fig. 7. The target orbital debris is assumed to be in the +V-bar direction, namely the \(+ x\) axis of the orbital coordinate system. Hence, similar as the rendezvous and docking of conventional spacecrafts, the approaching process is mainly conducted in the orbital plane, that is the \(xoz\) plane of the orbital frame. In order to facilitate the analysis, we assume the approaching process begins when point 1 is 1 m away from the platform, as shown in Fig. 8. If the ejecting process is ideal, the net is fully unfolded and all points have the same velocity when the approaching process begins. Therefore, he ideal initial states of MTNSRS can be written as:

$$\begin{aligned} r_{1} = {\boldsymbol {M}}_{\mathrm{IS}}\left [ \textstyle\begin{array}{c} 1 \\ 0 \\ 0 \end{array}\displaystyle \right ], \qquad r_{2} = {\boldsymbol {M}}_{\mathrm{IS}}\left [ \textstyle\begin{array}{c} 11 \\ 0 \\ 10 \end{array}\displaystyle \right ], \qquad r_{3} = {\boldsymbol {M}}_{\mathrm{IS}}\left [ \textstyle\begin{array}{c} 11 \\ 10 \\ 0 \end{array}\displaystyle \right ], \end{aligned}$$
$$\begin{aligned} r_{4} = {\boldsymbol {M}}_{\mathrm{IS}}\left [ \textstyle\begin{array}{c} 11 \\ 0 \\ - 10 \end{array}\displaystyle \right ], \qquad r_{5} = {\boldsymbol {M}}_{\mathrm{IS}}\left [ \textstyle\begin{array}{c} 11 \\ - 10 \\ 0 \end{array}\displaystyle \right ], \end{aligned}$$
$$\boldsymbol {v}_{1} = \boldsymbol {v}_{2} = \boldsymbol {v}_{3} = \boldsymbol {v}_{4} = \boldsymbol {v}_{5} = {\boldsymbol {M}}_{\mathrm{IS}} \left [ \textstyle\begin{array}{c} 1 \\ 0 \\ 0 \end{array}\displaystyle \right ] $$

where \({\boldsymbol {M}}_{\mathrm{IS}}\) is the rotating matrix. It can be calculated as

$${\boldsymbol {M}}_{\mathrm{IS}} = \left [ \textstyle\begin{array}{c@{\quad }c@{\quad }c} \cos \theta & 0 & - \sin \theta\\ 0 & 1 & 0 \\ \sin \theta & 0 & \cos \theta \end{array}\displaystyle \right ]. $$

Here, \(\theta\) is the ejecting angle. Besides, in Fig. 8, \(\boldsymbol {v}_{\mathrm{c}}\) stands for the velocity of the centre of the net mouth. It can be calculated as

$$\boldsymbol {v}_{\mathrm{c}} = \frac{1}{4} ( \boldsymbol {v}_{2} +\boldsymbol {v}_{3} + \boldsymbol {v}_{4} + \boldsymbol {v}_{5}). $$
Fig. 7
figure 7

Dimension of the undeformed net: (a) front view; (b) side view

Fig. 8
figure 8

Initial state of MTNSRS: (a) front view; (b) top view

Table 5 Parameters of MTNSRS

5.1 Non-control capture

If MTNSRS is without active control, it is the same as the conventional TNSRS, and its ideal motion should be like the fishing net thrown by the fisherman. However, due to the low damping property of the space environment, the dragging force in the connecting tether can cause great disturbances to the motion of MTNSRS. Therefore, we discuss the ideal case without the dragging force at first. Then, we will investigate the effects of the dragging force.

5.1.1 Case 1: ideal uncontrolled motion

Different ejecting angles will lead to different trajectories of MTNSRS. In Fig. 9, we show the motion of MTNSRS corresponding to the case \(\theta = 15^{ \circ}\). From the figure we can conclude that if there is no external non-conservative force, the flexible net will not experience significant deformation. On the other hand, Fig. 9(b) reveals that the net mouth has the tendency to shrink along the \(y\) axis. This is because of the \(\omega^{2}\) term of \({\boldsymbol {M}}_{r}\) in Eq. (7) which causes negative force when the point is in the \(+ y\) axis, positive force in the \(- y\) axis.

Fig. 9
figure 9

Ideal uncontrolled motion of MTNSRS: (a) front view; (b) top view

When capturing the orbital debris, we hope the target can be at the centre of the net mouth and the velocity of the net is perpendicular to the net mouth. Hence, as shown in Fig. 9, we define the intersection of the \(x\) axis and the trajectory of the mouth centre as the optimal capturing point. The distance between the optimal capturing point and the origin is defined as the optimal capturing distance \(d_{\mathrm{c}}\). Besides, we introduce the effective net mouth area \(A_{\mathrm{c}}\) to evaluate the ability of MTNSRS to capture the target. It stands for the projected area of the net mouth on the plane which is perpendicular to the velocity vector \(\boldsymbol {v}_{\mathrm{c}}\). When the net is fully unfolded, \(A_{\mathrm{c}}\) reaches the maximum value, namely \(200~\mbox{m}^{2}\). When \(A_{\mathrm{c}}\) is lower than a certain threshold, it shows the net has deformed significantly or the direction of the net mouth has greatly deviated from the direction of \(\boldsymbol {v}_{\mathrm{c}}\). In both cases, MTNSRS might be unable to capture the target. Therefore, such cases should be avoided. In this paper, we set the threshold as the half of the maximum value, namely \(100~\mbox{m}^{2}\).

Figure 10 shows the link between the ejecting angle \(\theta\) and the optimal capturing distance \(d_{\mathrm{c}}\). The linear fitting demonstrates that \(d_{\mathrm{c}}\) will increase about 17 m for every 1 degree increase in \(\theta\). This reveals that in the case of uncontrolled capture, the optimal capturing distance is very sensitive to the ejecting angle, which requires the ejecting mechanism to have very high precision. Figure 11 shows that as the ejecting angle increases, the effective area \(A_{\mathrm{c}}\) at the optimal capturing point will decrease remarkably. When the ejecting angle reaches about \(36.4^{ \circ}\) and the optimal capturing distance reaches 633 m, the effective capturing area at the optimal capturing point will decrease to \(100~\mbox{m}^{2}\). Therefore, even if all external disturbances are neglected, when the ejecting velocity is 1 m/s, the maximum operating distance of the uncontrolled MTNSRS is only 633 m.

Fig. 10
figure 10

The optimal capturing distance vs. ejecting angle

Fig. 11
figure 11

The effective net mouth area at the optimal capturing point vs. ejecting angle

5.1.2 Case 2: uncontrolled motion with dragging force

As shown in Fig. 12, when the dragging force is 200 mN and the ejecting angle is \(30^{ \circ}\), the net mouth will close rapidly after the ejection, and the uncontrolled MTNSRS cannot fulfil the objective of capturing the orbital debris in the +V-bar direction. This is because the dragging force in the connecting tether will be transferred to the manoeuvring robots through the cord between point 1 and these robots. The component of the tensile force in the cord will drive the manoeuvring robots to approach each other. Since the motion damping of the space environment is extremely small, the accumulative effect of the dragging force will be very significant. In order to analyse the effect of the dragging force more clearly, we demonstrate the variation of the effective net mouth area \(A_{\mathrm{c}}\) with different dragging forces in Fig. 13. From the figure, we know that even though the dragging force is very small, the effect will also be very obvious. Since the ejecting velocity is 1 m/s, the target cannot be more than 60 m away from the space platform when the dragging force is more than 100 mN. If the dragging force is more than 500 mN, the operating range of uncontrolled MTNSRS is further narrowed to be less than 30 m. Thus, we can conclude that the conventional uncontrolled MTNSRS can only be used to capture targets which are extremely close to the space platform. This will bring great limitations for the application of MTNSRS.

Fig. 12
figure 12

Uncontrolled motion of MTNSRS with dragging force: (a) front view; (b) top view

Fig. 13
figure 13

The effective net mouth area vs. time

5.2 Controlled capture

Since the uncontrolled motion of MTNSRS is very sensitive to the ejecting angle and the dragging force, it is of great necessity to introduce the closed-loop controller. In this section, we will demonstrate the effectiveness of the proposed coordinated controller and its abilities to resist the effects of various disturbances and errors. In order to simplify the analysis, we assume the target debris is at \([250,0,0]\) and the dragging force in the connecting tether is 200 mN. Besides, in order to get the optimal capture performance, we expect the centre of the net mouth to move along the \(x\) axis, and the net mouth can be perpendicular to the \(x\) axis. Thus, we require the four manoeuvring robots to move along straight lines which are parallel to the \(x\) axis, and the ideal ejecting angle is \(0^{ \circ}\). Furthermore, we set the expected velocity and acceleration of the four robots to be \([1,0,0]\) and \([0,0,0]\), respectively. The parameters of PD adjuster, \(\lambda_{\mathrm{p}}\) and \(\lambda_{\mathrm{d}}\), are both set to be 1.

5.2.1 Case 1: ideal controlled motion

When all initial states are precisely equal to the expected values and all states can be accurately measured, the proposed coordinated controller should be able to ensure that MTNSRS moves along the expected trajectory. In Figs. 14 and 15, we show the controlled motion of MTNSRS and the control commands corresponding to this case, respectively. According to Fig. 14, we can conclude that the proposed coordinated controller has the ability to help MTNSRS fulfil the goal of capturing the target when there are no external disturbances and parameter errors. Besides, from Fig. 15, we find that the control commands constantly fluctuate at two levels. One is at about 50 mN and the other is at about 200 mN. This is mainly caused by the structure change of MTNSRS. When the connecting cord with point 1 is slack, the manoeuvring robot will only need to overcome the effect of the Coriolis force and the gravitational force. Nevertheless, when the connecting cord with point 1 is tent, thrusters will also need to counterbalance the effect of the dragging force.

Fig. 14
figure 14

Ideal controlled motion of MTNSRS: (a) front view; (b) top view

Fig. 15
figure 15

Control commands of the coordinated controller

5.2.2 Case 2: controlled motion with initial state errors

In this case, we want to discuss the performance of the coordinated controller when the actual ejecting angle significantly deviates from the expected value. As mentioned before, the expected ejecting angle is \(0^{ \circ}\). However, we set the actual ejecting angle as \(30^{ \circ}\), and the motion of MTNSRS is shown in Fig. 16. From the figure, we find that the flexible net will experience remarkable deformation: at first, the centre of the net is behind the net mouth; then, since the mouth net needs to adjust its direction, the four manoeuvring robots obtain different velocities, and the net centre gradually goes ahead of the net mouth; finally, the robots follow the ideal trajectories steadily, and the net gradually returns to the ideal shape due to the dragging force in the connecting tether. Through the analysis of the whole process, we can conclude that the proposed coordinated controller has the ability to eliminate a large ejecting angle error and the dragging force is helpful for the net to keep the ideal net shape.

Fig. 16
figure 16

Controlled motion of MTNSRS with initial state errors: (a) front view; (b) top view. (The figure only shows the motion from 0 to 25 s since errors are basically eliminated during this period and the motion after 25 s is similar as that in Fig. 14)

5.2.3 Case 3: controlled motion with measurement noise

In order to demonstrate the coordinated controller’s ability to resist the effect of measurement noise, we add Gaussian white noise with zero mean to all measurements. The standard deviation of the added term to the position vector \(\boldsymbol {r}_{N}\), the velocity vector \(\dot{\boldsymbol {r}}_{N}\) and the dragging force \(F_{\mathrm{T}}\) is set as 1 m, 0.2 m/s and 50 mN, respectively. Figures 17 and 18 show the position deviation of point 2 and point 3, respectively. (Due to the kinetic symmetry, the deviation of point 4 and point 5 is similar as that of point 2 and point 3, respectively.) From these two figures, we can conclude that the proposed controller is able to effectively weaken the effect of the measurement noise. This reflects the stability of the closed-loop system and validates the statement about the stability at the end of Sect. 4.1.

Fig. 17
figure 17

Position deviation of point 2: (a) the \(x\) component; (b) the \(y\) component; (c) the \(z\) component

Fig. 18
figure 18

Position deviation of point 3: (a) the \(x\) component; (b) the \(y\) component; (c) the \(z\) component

5.2.4 Case 4: controlled motion with kinetic parameter errors

In the ideal case, the parameters in the inverse dynamics module are equal to those in the dynamics module. However, in order to test the sensitivity of the coordinated controller to the error of kinetic parameters, we introduce a parameter error of 30 % and set those used in the former to be different from those used in the latter. Specifically, the mass of the flexible net and the manoeuvring robot when calculating the dynamics is 8 and 10 kg, respectively. However, when calculating the inverse dynamics, they are set as 10.4 and 7 kg. Comparisons between the ideal case and the case with parameter errors are shown in Fig. 19. From the figure, we can conclude that the parameter error of 30 % causes an increase of about 30 % in the position deviation of all four robots. However, the deviations of the four points are still very small and the stability of the whole system can be ensured.

Fig. 19
figure 19

Position deviation comparisons between the ideal case and the case with structure parameter errors: (a) point 1; (b) point 2; (c) point 3; (d) point 4

6 Conclusions

This paper enhances the conventional TNSRS to be MTNSRS by replacing the uncontrollable dragging weights with manoeuvrable robots at first. Then, based on the contact dynamics of rigid robots and the extended Hamilton’s principle, we present a novel dynamics modelling method for this new rigid–flexible coupling system with unilateral constraints. Compared with those used in previous studies, it is more accurate and comprehensive in describing the motion of MTNSRS. Furthermore, based on the dynamics model, we convert the inverse dynamics of MTNSRS into a double-level optimization problem and propose a new coordinated controller for MTNSRS which is composed of the classical PD adjuster and the inverse dynamics module.

The simulation results of the uncontrolled cases show that due to the gravitational force, the large flexible net of MTNSRS will gradually close during the approaching phase when there is no active control. Moreover, even if the dragging force in the connecting tether is very small, it will still significantly accelerate the closing process because of the low damping property of the space environment. If the target is not extremely close to the platform, the closing motion may lead to the failure of the capture, which is neglected in previous dynamical models and offers the best motivation to introduce manoeuvrable robots. The simulation results of the controlled cases show that the proposed controller can coordinate the four robots to ensure MTNSRS to move along the expected trajectory and keep the required net shape. Its abilities to resist the effects of initial state errors, measurement noise and kinetic parameter errors are also verified in the simulation.

Some important developments are scheduled for the future. Firstly, some improvements of the dynamic model will be taken into account. For example, the distributed mass and the elasticity of the connecting tether should be involved in the model. Secondly, more complex controller which can predict the event that cords become tent should be introduced to replace the simple PD adjuster, which can make the control command smoother. Thirdly, the situation that the target is moving should be considered, and proper guidance laws can be introduced.