1 Introduction

The deployment and retrieval of tethered satellites is an important and difficult operation in space missions. Starting from a position close to the space ship the satellite should be steered to a stable stationary position farther away. The control input should optimally be applied by tension control, that is by a tension force at the outlet of the tether.

Several important goals for the control design have been listed in the review [9], one of which is the reduction of lateral oscillations during the process. Also in the book [1] several aspects in the dynamics and control of tethered systems are investigated.

For safety reasons a PD controller, called Kissel’s law, is used commonly during space flights. This controller leads to an exponential decay of the lateral oscillations, but takes very long to complete the mission. In order to find out, how much time could be saved theoretically, a time optimal solution was investigated in [8]. It turned out, that this solution was by an order of magnitude faster than the conventional strategy, but it used a bang–bang control, which could cause unwanted oscillations in the tether. Even, if such control strategies would never be performed, the obtained control patterns should prove useful for smoother control schemes.

Most studies on deployment control, e.g. [11], assume a massless tether, which leads to a very simple set of differential equations and still yields reliable results. In [8] a comparison between the control of the simple model with massless tether and a finite element calculation of a massive tether with the tension force obtained from the simple model is performed and it is demonstrated, that the control is able to steer the satellite close to the target position in short time.

The focus of the present work is an investigation of possible time optimal controls for a massive tether. For the tether a simple discrete model is created and the governing equations of motion are derived. Unfortunately these equations of motion become extremely lengthy even for quite coarse discretizations and can be treated only numerically and by symbolic algebra. For a reasonable set of parameters a valid optimal control solution could be obtained. This investigation is certainly not intended to provide a control strategy, which should be used in real world applications, but to learn about the typical shape of optimally controlled deployment trajectories. The obtained information should prove useful in designing efficient trajectories in commonly used control methods.

In Sect. 2 the mechanical model is presented and the ingredients for the Lagrangian equations of motion, the kinetic and potential energy, and the control and non-conservative forces acting on the systems are introduced. Also the setup of the optimal control equations using Pontryagin’s Maximum Principle is presented. In Sect. 3 the numerically obtained optimal solution is shown and discussed. In order to demonstrate the strong dependence of the derived solution on the initial condition, also the variation of a one-parameter family of optimal solutions with different initial lengths of the tether is presented. In the studied parameter range we observe large variations of the switching points, where the bang–bang control jumps between its extremal values. Further the solution family, which is calculated by a continuation algorithm, displays a non-monotonic behaviour, generating multiple candidates for the optimal control strategy.

2 Model description

As displayed in Fig. 1, we consider a satellite, which is connected to the main station by an inextensible tether. The heavy main station is assumed to move with constant velocity along a circular Keplerian orbit. The connecting tether is regarded as an inextensible string of constant cross-section and without bending stiffness. Before the satellite is released from the spaceship, the tether of length \(\ell _L\) is reeled on a drum, which is fixed at the space ship; during the deployment process the tether unwinds from the drum. By applying a torque on the drum, a tension force is exerted at the tether, which is used to control the motion of the satellite. For our calculations we neglect the rotational motion of the drum and assume, that the stored part of the tether moves with the main station. Since the tension and velocity of the tether change discontinuously at the outlet, so-called Carnot Energy Loss terms have to be added to the tether equations.

Fig. 1
figure 1

Tethered satellite system, consisting of the space ship on a circular orbit, the satellite in the orbital plane, and the connecting tether. The local x-coordinate points into the flight direction, and y points toward the center of the earth

The satellite is considered as point mass moving in the orbital plane in a perfectly circular gravitational field. Since the tether length \(\ell\) is much smaller than the orbital radius \(r_M\), we may simplify the equations of motion by assuming near-field dynamics: The resultant of the centrifugal and gravitational force is proportional to the distance from the Keplerian orbit and points into the vertical direction.

At the start of the deployment process the system rests in the vertically downhanging relative equilibrium with released tether length \(\ell _0\). By varying the tension force at the outlet, the satellite should be steered to another relative equilibrium with released length \(\ell _T\).

2.1 Lumped mass modelling of the massive tether

The partial differential equations for a massive tether are derived in [3]. Since we investigate a control problem, we first discretize the continuous string. Motivated by the sinusoidal shape of the transversal tether oscillations in numerical simulations we first tried to apply a Ritz–Galerkin-type discretization using low order sine waves about the connecting line between main station and the satellite. Due to the complicated dependence of the time varying length of the released tether and the assumed shape of the configuration that approach failed and we then tried a lumped-mass approach, as already proposed in [4] for elastic beams and sketched in Fig. 2: The current shape of the deployed tether is regarded as a chain of N straight pendula of length \(h(t)=\ell (t)/N\) and mass \(\mu h(t)\), where \(\mu\) denotes the mass of the tether per unit length. The first pendulum is attached to the outlet at the main station; the angle between the ith pendulum and the local vertical direction y is denoted by \(\varphi _i\). Of course, the individual pendula in this model should not be regarded as rigid rods, but just as quite coarse parametrization of the currently deployed tether configuration. When the tether becomes longer, the pendula grow accordingly. Since the tether is released from the main station, the material points of the tether move along the pendula.

Fig. 2
figure 2

Discretization of the tether configuration by a chain of N pendula of length \(h(t)=\ell (t)/N\) connected by hinges. The angle \(\varphi _i\) denotes the inclination of the ith pendulum to the local vertical direction y. At the main station a tension force F is applied in tangential direction

The position of the tether at the relative length \(\xi\) along the ith pendulum in the local frame is given by

$$\begin{aligned} {\varvec{r}}_i(\xi ) = \xi h \begin{pmatrix}\sin \varphi _i \\ \cos \varphi _i \end{pmatrix} + h\sum _{j=1}^{i-1}{\begin{pmatrix}\sin \varphi _j \\ \cos \varphi _j \end{pmatrix}}, \end{aligned}$$
(1)

for the position of the satellite we get

$$\begin{aligned} {\varvec{r}}_S = h\sum _{j=1}^{N}{\begin{pmatrix}\sin \varphi _j \\ \cos \varphi _j \end{pmatrix}}. \end{aligned}$$
(2)

At the tether outlet the control force \({\varvec{F}}\) is acting against the direction of the string

$$\begin{aligned} {\varvec{F}} = -F {\begin{pmatrix}\sin \varphi _1 \\ \cos \varphi _1 \end{pmatrix}} \end{aligned}$$

The virtual work of this control force is therefore given by

$$\begin{aligned} \delta A_F = -F \delta \ell . \end{aligned}$$
(3)

The gravity potential of a mass m at \({\varvec{r}}=(x, y)^T\) in the near-field dynamics is obtained as the second order approximation of the gravity field

$$\begin{aligned} W(x,y) = -m\varOmega ^2r_M^2\left( 1+\frac{y}{r_M}+\frac{y^2}{r_M^2}-\frac{x^2}{2r_M^2}\right) , \end{aligned}$$
(4)

with \(\varOmega\) denoting the orbital angular velocity. From this expression we find the augmented potential

$$\begin{aligned} V_{\varOmega }&= W(x,y)-\frac{m \varOmega ^2}{2}\left( (r_M-y)^2+x^2\right) \\&= \frac{-3m\varOmega ^2}{2}(r_M^2 + y^2). \end{aligned}$$

With (4) the gravity potential of the system is given by

$$\begin{aligned} V = m_S W(x_S, y_S) + \mu h \sum _{i=1}^N \int _0^1 W(x_i(\xi ), y_i(\xi ))d\xi . \end{aligned}$$
(5)

In order to calculate the kinetic energy, the velocities of a point \({\varvec{r}}=(x,y)^T\) in the local frame have to be expressed in the inertial frame using the relation

$$\begin{aligned} {\varvec{v}}_I = {\varvec{v}}_L + \varOmega \begin{pmatrix} r_M - y \\ x \end{pmatrix}. \end{aligned}$$

The kinetic energy of the satellite is given by

$$\begin{aligned} T_S = \frac{m_S}{2} \left( \begin{pmatrix} \dot{x}_S \\ \dot{y}_S \end{pmatrix} + \varOmega \begin{pmatrix} r_M-{y}_S \\ x_S \end{pmatrix}\right) ^2. \end{aligned}$$
(6)

For the kinetic energy of the tether we first have to calculate the velocity of the particles, which are located at the position s along the tether, expressed in the local frame. Due to the variation of the tether length that velocity differs from \(d{\varvec{r}}_i/dt\), because the particles move along the pendulum chain with relative speed \(\dot{\ell }(1-s/\ell )\). The velocity in the local frame of the particles, which are located at the positions \({\varvec{r}}_i(\xi )\) of the pendula, is therefore given by

$$\begin{aligned} {\varvec{v}}_i(\xi ) = \frac{d {\varvec{r}}_i}{dt} + \frac{(N-i+s)\dot{\ell }}{N} \begin{pmatrix} \sin \varphi _i\\ \cos \varphi _i \end{pmatrix} \end{aligned}$$
(7)

Now the kinetic energy of the released tether is given by

$$\begin{aligned} T_T &=\frac{\mu h}{2}\sum _{i=1}^N \int _0^1{\left( {\varvec{v}}_i + \varOmega \begin{pmatrix} r_M-{y}_i \\ x_i \end{pmatrix}\right) ^2}d\xi \nonumber \\&\quad + \frac{\mu h^3}{24} (\dot{\varphi }_i - \varOmega )^2 \end{aligned}$$
(8)

The complete kinetic energy is then obtained as

$$\begin{aligned} T = T_S + T_T. \end{aligned}$$
(9)

Finally we have to consider the Carnot energy loss terms at the drums. According to [3] the instant acceleration of the tether leads to a nonconservative force

$$\begin{aligned} F_C = - \frac{\mu \dot{\ell }^2}{2}{\begin{pmatrix}\sin \varphi _1 \\ \cos \varphi _1 \end{pmatrix}}, \end{aligned}$$
(10)

which can be easily derived by comparing the Lagrangian equations of motion for an inextensible string, which is initially folded to a negligible volume and pulled by a horizontal force F, and the momentum balance equation for this system:

Assume that the unfolded length of the string is denoted by x(t), then its kinetic energy is given by

$$\begin{aligned} T_S = \frac{\mu }{2}x\dot{x}^2, \end{aligned}$$
(11)

and with the virtual work \(\delta A = F \delta x\) the generalized force is obtained as \(Q=F\). Due to the absence of further forces the Lagrangian equations of motion are given by

$$\begin{aligned} \frac{d}{dt}\frac{\partial T_S}{\partial \dot{x}} - \frac{\partial T_S}{\partial x} = \mu (x\ddot{x} + \dot{x}^2/2) = F \end{aligned}$$
(12)

The momentum of the unfolded string is given by

$$\begin{aligned} I(t) = \mu x(t)\dot{x}, \end{aligned}$$
(13)

therefore the momentum balance \(\dot{I}=F\) yields the equation

$$\begin{aligned} \mu (x \ddot{x} + \dot{x}^2) = F, \end{aligned}$$
(14)

which differs from (12) by the term \(\mu \dot{x}^2/2\).

Together with (3) we find the generalized work for the length variable

$$\begin{aligned} Q_{\ell } = -F - \mu \dot{\ell }^2/{2}. \end{aligned}$$
(15)

There occur no non-conservative forces for the angular variables

$$\begin{aligned} Q_{\varphi _i} = 0. \end{aligned}$$
(16)

Before calculating the Lagrangian differential equations, the variables are scaled according to

$$\begin{aligned} \begin{array}{ll} \ell \mapsto \ell /\ell _T &{}\quad x \mapsto x/\ell _T \\ y \mapsto y/\ell _T &{}\quad t \mapsto \varOmega t \\ F \mapsto F / (m_S \varOmega ^2 \ell _T) &{}\quad \mu \mapsto \mu \ell _T/ m_S. \end{array} \end{aligned}$$
(17)

It should be noted, that the rescaled time t now corresponds to the “orbital time” for the main station: A revolution around the earth takes \(2\pi\) time units. The parameter \(\mu\) denotes the ratio of the deployed tether mass to the mass of the subsatellite. The dynamics of the tethered satellite is then given by the second order system

$$\begin{aligned} \frac{d}{dt}\frac{\partial T}{\partial \dot{q}_i} - \frac{\partial T}{\partial {q}_i} + \frac{\partial V}{\partial {q}_i} = Q_i \end{aligned}$$
(18)

for the degrees of freedom \({\varvec{q}}=(\ell , \varphi _1, \ldots , \varphi _N)^T\). Due to the variation of the tether length the symbolic calculation of these equation is very elaborate even for \(N=2\) and was carried out using symbolic algebra [10].

With the symmetric mass-matrix \({\mathbf {M}}\) with entries

$$\begin{aligned} m_{11}&= \left( 6+10\mu \ell + (6+3\mu \ell )\cos (\varphi _1-\varphi _2)\right) /12\\ m_{12}&= -\ell \left( 2+3\mu \ell + (2+\mu \ell )\cos (\varphi _1-\varphi _2)\right) /8\\ m_{13}&= \ell \left( 4+\mu \ell )\sin (\varphi _1-\varphi _2\right) /16\\ m_{22}&= \ell ^2(3+2\mu \ell )/12\\ m_{23}&= \ell ^2 (4+\mu \ell )\cos (\varphi _1-\varphi _2)/16\\ m_{33}&= \ell ^2(6+\mu \ell )/24 \end{aligned}$$

the Lagrangian differential equations for \(N=2\) read

$$\begin{aligned} {\mathbf {M}}\begin{pmatrix} \ddot{\ell } \\ \ddot{\varphi }_1 \\ \ddot{\varphi }_2 \end{pmatrix} + \begin{pmatrix} f_1 \\ f_2 \\ f_3 \end{pmatrix} = \begin{pmatrix} -F - \mu \dot{\ell }^2/2\\ 0 \\ 0 \end{pmatrix}, \end{aligned}$$
(19)

with the abbreviations

$$\begin{aligned} \begin{array}{lll} c_{12}=\cos (\varphi _1-\varphi _2),&{}\quad C_i=\cos (2\varphi _i), &{}\quad c_i = \cos \varphi _i, \\ s_{12}=\sin (\varphi _1-\varphi _2),&{}\quad S_i=\sin (2\varphi _i),&{}\quad s_i = \sin \varphi _i, \\ c_{12}^+=\cos (\varphi _1+\varphi _2), &{}\quad s_{12}^+=\sin (\varphi _1+\varphi _2), \end{array} \end{aligned}$$

and

$$\begin{aligned} f_1 &=\frac{\mu \ell ^2}{32}\left( 5-12C_1+3c_{12} - 3C_2 - 9c_{12}^+ + 8 {\dot{\varphi }}_1^2 \right. \nonumber \\&\quad - (4+6c_{12}){\dot{\varphi }}_2+ 2{\dot{\varphi }}_2^2\nonumber \\& \quad \left. -{\dot{\varphi }}_1\left( 16+6(1-\phi _2)c_{12}\right) \right) \nonumber \\&\quad + \frac{\ell }{8}\left( 6+3C_1 + 6c_{12}+3C_2+6c_{12}^++2{\dot{\varphi }}_1^2\right. \nonumber \\&\quad +\mu \dot{\ell }s_{12} (1-2{\dot{\varphi }}_1+{\dot{\varphi }}_2) + 2({\dot{\varphi }}_2+\mu c_2){\dot{\varphi }}_2 \nonumber \\&\quad \left. - 4(1+c_{12}){\dot{\varphi }}_2 - \left( 4-6\mu c_1 +4(1-{\dot{\varphi }}_2)c_{12}\right) {\dot{\varphi }}_1\right) \nonumber \\&\quad +\frac{1}{24}\left( (10+3c_{12})\mu \dot{\ell }^2 + 12(\mu + c_1{\dot{\varphi }}_1+ c_2{\dot{\varphi }}_2) \right. \nonumber \\ & \quad \left. + 6 \dot{\ell }(3\mu s_1+\mu s_2 -s_{12}({\dot{\varphi }}_1-{\dot{\varphi }}_2))\right) , \end{aligned}$$
(20)
$$\begin{aligned} f_2 &=\frac{\dot{\ell }}{4}(2c_1-s_{12}\dot{\ell }) \nonumber \\&\quad + \frac{\mu \ell ^3}{32} \left( 8S_1 - s_{12}(1-2({\dot{\varphi }}_1-{\dot{\varphi }}_2-{\dot{\varphi }}_1{\dot{\varphi }}_2))+3s_{12}^+ \right) \nonumber \\&\quad - \frac{\ell }{8} \left( \mu s_{12}\dot{\ell }^2 + 4 s_2 {\dot{\varphi }}_1 - 2 \dot{\ell } (3\mu c_1 - c_{12}({\dot{\varphi }}_1-{\dot{\varphi }}_2))\right) \nonumber \\&\quad - \frac{\ell ^2}{16}\left( 12c_2s_1 + 6C_1 - \mu c_{12}\dot{\ell }(1-2{\dot{\varphi }}_1 + {\dot{\varphi }}_2) \right. \nonumber \\&\quad \left. - 4 s_{12}{\dot{\varphi }}_2 + {\dot{\varphi }}_1 (6\mu s_1 - 4 s_{12}(1-{\dot{\varphi }}_2))\right) , \end{aligned}$$
(21)
$$\begin{aligned} f_3 &=\frac{\dot{\ell }}{4} (2c_2 + s_{12}\dot{\ell }) \nonumber \\&\quad + \frac{\mu \ell ^3}{32}\left( s_{12}\left( 1-2({\dot{\varphi }}_1+{\dot{\varphi }}_2-{\dot{\varphi }}_1{\dot{\varphi }}_2)\right) +2 S_2 + 3 s_{12}^+\right) \nonumber \\&\quad + \frac{\ell }{8}\left( \mu s_{12}\dot{\ell }^2 - 4 s_2 {\dot{\varphi }}_2 + 2 \dot{\ell } (\mu c_2 + c_{12} ({\dot{\varphi }}_1-{\dot{\varphi }}_2))\right) \nonumber \\&\quad - \frac{\ell ^2}{16}\left( 6S_2-(6-4{\dot{\varphi }}_1(1-{\dot{\varphi }}_2)-4{\dot{\varphi }}_2)s_{12}\right. \nonumber \\&\quad \left. +6s_{12}^+- \mu c_{12} \dot{\ell }(1-2{\dot{\varphi }}_1+{\dot{\varphi }}_2) + 2\mu s_2{\dot{\varphi }}_2 \right) . \end{aligned}$$
(22)

2.2 Optimal control problem

We search for the tension force F(t), which steers the tethered satellite from the straight downhanging configuration with initial length \(\ell (0)=\ell _0\) to the downhanging configuration with final length \(\ell (T)=\ell _T > \ell _0\) in shortest time. The tension force F(t) has to satisfy the inequality constraints

$$\begin{aligned} 0 \le F_{{\text {min}}} \le F(t) \le F_{{\text {max}}}. \end{aligned}$$
(23)

In order to avoid a slack tether and too large deviations from the straight configuration, we choose \(F_{{\text {min}}} > 0\). The upper boundary \(F_{{\text {max}}}\) should be larger than the required force \(F_s\) to hold the system in the final equilibrium, but not too large for safety reasons. In our numerical experiments we choose the scaled values

$$\begin{aligned} F_{{\text {min}}} = 0.02, \quad F_{{\text {max}}} = 4. \end{aligned}$$

The static equilibrium force is given by \(F_s = 3(1 + \mu /2)\).

In order to derive the differential equations for the Optimal Control problem [5], the system (18) is rewritten as explicit first order system

$$\begin{aligned} \dot{{\varvec{x}}} = {\varvec{f}}({\varvec{x}}, F), \end{aligned}$$
(24)

with \({\varvec{x}}=({\varvec{q}}, \dot{{\varvec{q}}})^T\).

Since we are looking for the fastest solution, the utility function is given by

$$\begin{aligned} I = -\int _0^T 1 dt. \end{aligned}$$
(25)

Introducing the adjoint variables \(p_i\), we build the Hamilton function

$$\begin{aligned} H({\varvec{x}}, {\varvec{p}}, F) = -1 + {\varvec{p}}^T\cdot {\varvec{f}}({\varvec{x}}, F). \end{aligned}$$
(26)

The optimal tension force \(F^{\star }\) is determined by the Maximum Principle

$$\begin{aligned} F^{\star } = {{\mathrm{argmax}}}_F H({\varvec{x}}, {\varvec{p}}, F) = {\left\{ \begin{array}{ll} F_{{\text {min}}} &{} \quad \text {if } \; S < 0, \\ F_{{\text {max}}} & \quad \text {if}\;S > 0, \\ {\text {undet.}} & \quad \text {if } \; S = 0. \end{array}\right. } \end{aligned}$$
(27)

Since the tension force F occurs linearly in \({\varvec{f}}({\varvec{x}}, F)\), the switching function S is given by

$$\begin{aligned} S = {\varvec{p}}^T \cdot \frac{\partial {\varvec{f}}({\varvec{x}}, F)}{\partial F}. \end{aligned}$$
(28)

The singular case, that the switching function S vanishes in an interval, was never observed in our calculations.

The adjoint variables satisfy the differential equations

$$\begin{aligned} \dot{p}_i = -\frac{\partial H({\varvec{x}}, {\varvec{p}}, F)}{\partial x_i}. \end{aligned}$$
(29)

The required boundary conditions read

$$\begin{aligned} \ell (0)&= \ell _0, \quad \dot{\ell }(0) = 0, \quad \varphi _i(0)=0,\quad \dot{\varphi }_i(0)=0, \end{aligned}$$
(30)
$$\begin{aligned} \ell (T)&= 1, \quad \dot{\ell }(T) = 0, \quad \varphi _i(T)=0, \quad \dot{\varphi }_i(T)=0. \end{aligned}$$
(31)

Since the shortest time T isn’t specified, the additional boundary condition

$$\begin{aligned} H({\varvec{x}}(T), {\varvec{p}}(T), F(T)) = 0 \end{aligned}$$
(32)

has to be satisfied.

Remark

The conversion of the Lagrange equations (18) to the explicit system involves the symbolic inversion of the mass matrix, which is already very cumbersome for \(N=2\). For the adjoint differential equations (29) the partial derivatives of that inverse w.r.t. the state variables would be required. In order to avoid these tedious calculations, one can exploit the identity

$$\begin{aligned} \frac{\partial {\mathbf {M}}^{-1}({\varvec{x}})}{\partial x_i} = -{\mathbf {M}}^{-1} \frac{\partial {\mathbf {M}}({\varvec{x}})}{\partial x_i}{\mathbf {M}}^{-1}. \end{aligned}$$

If the state equations (24) are written in the implicit form

$$\begin{aligned} {\mathbf {M}}({\varvec{x}}) \dot{{\varvec{x}}} = {\varvec{g}}({\varvec{x}}, F), \end{aligned}$$
(33)

where \({\varvec{f}}({\varvec{x}}, F)={\mathbf {M}}^{-1}({\varvec{x}}) {\varvec{g}}({\varvec{x}}, F)\), the corresponding entries in the adjoint equations become

$$\begin{aligned} \dot{p}_i&= -{\varvec{p}}^T\cdot \frac{\partial \left( {\mathbf {M}}^{-1}({\varvec{x}}) {\varvec{g}}({\varvec{x}}, F)\right) }{\partial x_i} \nonumber \\&= {\varvec{p}}^T\cdot {\mathbf {M}}^{-1}({\varvec{x}}) \left( \frac{\partial {\mathbf {M}}({\varvec{x}})}{\partial x_i}{\mathbf {M}}^{-1} {\varvec{g}}({\varvec{x}}, F) - \frac{\partial {\varvec{g}}({\varvec{x}}, F)}{\partial x_i}\right) \nonumber \\&={\varvec{P}}^T\cdot \left( \frac{\partial {\mathbf {M}}({\varvec{x}})}{\partial x_i}\dot{{\varvec{x}}} - \frac{\partial {\varvec{g}}({\varvec{x}}, F)}{\partial x_i}\right) , \end{aligned}$$
(34)

where \({\varvec{P}}={\mathbf {M}}^{-1}({\varvec{x}}) {\varvec{p}}\). Since already the calculation of \(\dot{{\varvec{x}}}={\mathbf {M}}^{-1}({\varvec{x}}) {\varvec{g}}({\varvec{x}}, F)\) requires a factorization of \({\mathbf {M}}\), the additional step to solve the equation

$$\begin{aligned} {\mathbf {M}}({\varvec{x}}) {\varvec{P}} = {\varvec{p}} \end{aligned}$$

can be carried out with the same factorization. The derivatives of \({\mathbf {M}}\) w.r.t. \(x_i\) are much easier to calculate than those of its inverse.

3 Numerical solution of the boundary value problem

Due to their complicated form the differential equations can only be solved numerically. We use the Fortran solver Boundsco [6], which solves two-point boundary value problems (BVPs) with switching conditions using a multiple shooting method.

Because the endpoints of the integration interval have to be specified in advance, we map the unknown integration interval to the unit interval by introducing a scaled time

$$\begin{aligned} t = T \tau , \quad {\text {with }} \tau \in [0, 1]. \end{aligned}$$
(35)

The differential equations (24) and (29) become

$$\begin{aligned} d{\varvec{x}}/d\tau = T {\varvec{f}}({\varvec{x}}, F), \quad d{\varvec{p}}/d\tau = -T \frac{\partial H({\varvec{x}}, {\varvec{p}}, F)}{\partial x_i}. \end{aligned}$$
(36)

For the unknown variable T we introduce another trivial differential equation \(dT/d\tau =0\).

Self-evidently the boundary conditions (31) and (32) apply at the right endpoint \(\tau =1\).

The \(4N+5\) boundary conditions (30), (31), (32) and the differential equations for the \(4N+5\) variables \(x_i\), \(p_i\) and T form the boundary value problem. Since the Hamiltonian depends linearly on the tension force F, we expect a bang–bang control, with the tension force F(t) jumping between its limiting values. At the switching points \(\tau _i\) the switching function S(t) vanishes

$$\begin{aligned} S(\tau _i)=0. \end{aligned}$$
(37)

In Boundsco the switching points are treated as internal additional variables, which are determined by (37).

In order to find a solution with bang–bang control, the user has to provide the number of switching points and a proper initial guess for their values. Furthermore the switching sequence has to be fixed at the entry to Boundsco.

Since the differential equations (24) are independent of the co-state variables and the boundary conditions (30) and (31) involve only the state variables \(x_i\), we expect to need at least \(2N+1\) switching points to satisfy all prescribed boundary conditions and obtain a unique solution for the co-state variables: For an arbitrarily prescribed time interval T the solution of the fully specified initial value problem (30) for the \(x_i\) will generically satisfy not any boundary condition (31) at \(t=T\). By varying T we may expect to satisfy one terminal condition. In order to satisfy the remaining boundary conditions, \(2N+1\) further adjustable parameters are needed.

On the other hand more boundary conditions for the \(2N+2\) co-state variables are required: The optimality condition (32) provides one linear constraint for \({\varvec{p}}(T)\), the remaining \(2N+1\) equations are provided by the switching conditions, which involve the costate variables.

3.1 Numerical pathfollowing method

Although Boundsco is a very robust and efficient solver for BVPs, we still have to provide sufficiently good initial guesses for the state and co-state variables and especially for the switching points. If the initial guesses for the switching points are too inaccurate, the solver will almost certainly fail to solve the problem.

A very efficient method for providing good initial guesses is the so-called homotopy or continuation method [7]: If the BVP depends on some parameter \(\lambda\) and a solution \({\varvec{y}}_0\) for a certain value \(\lambda _0\) is known, that solution will usually be a good guess for a neighbouring parameter value \(\lambda =\lambda _0+\delta \lambda\). With this method one-parameter families of trajectories can be obtained and “better” solutions can be found.

That method was successfully applied in [8] to obtain a valid solution for the deployment problem with a massless tether: In the first run the end conditions, the three switching points, and the time interval T were prescribed and a solution was obtained, which satisfied none of the remaining boundary conditions. Starting with this trajectory and varying the time interval T, a solution could be found, which satisfied one initial condition.

In the next loop that initial condition was enforced and T was allowed to vary freely. By varying one of the switching points, another initial condition could be satisfied. After another loop all homogeneous initial conditions could be satisfied and some \(\ell (0)\) quite close to the final value \(\ell _T\) was obtained. Applying the homotopy method the initial value \(\ell (0)\) could easily be decreased down to \(\ell _0=0.05\).

3.2 Numerical results for the massive tether with \(N=2\)

In order to study the behaviour of the tethered satellite with a lightweight tether we started with the simple case \(N=2\) and \(\mu =0.2\). Depending on the tether material and deployed tether length the value of \(\mu\) is usually much smaller (about 0.01), but the relatively large value causes slower transversal oscillations.

Fig. 3
figure 3

Trajectory of the satellite in the orbital frame

After a series of homotopy loops we arrived at a solution with \(\ell _0=0.1\) and 7 switching points, where the control F changed between the \(F_{{\text {min}}}\) and \(F_{{\text {max}}}\), the trajectory in the co-rotating orbital frame is displayed in Fig. 3. The parts of the path, where the tension force \(F=F_{\text {max}}\), is displayed by a heavy line, the switching points are indicated by black circles. The trajectory shows a quite strong deviation from the local vertical direction.

The trajectory of the subsatellite is quite similar to the obtained solution for the massless tether (see [8]), but there occur three further short intervals of maximum tension, which straighten the tether configuration before the final braking period. One of these pulling periods occurs right at the beginning of the manoeuvre.

For the same boundary conditions the control with a massless tether requires only 3 switching points: Initially the satellite is released (almost) freely. Since it moves approximately on a Keplerian ellipse with smaller major axis than the radius of the main station, it moves ahead in the orbital plane. In order to make it move back to the local vertical, maximum tension is applied in the second phase. After another free flight period it is steered to the target position using again maximum tension. If the same control were applied to the light-weight tether, quite heavy lateral oscillations would persist beyond the control interval.

Fig. 4
figure 4

Variation of the tension force F(t) and the switching function S(t)

The temporal behaviour of the tension force F(t) and the switching function S(t) is displayed in Fig. 4. It shows a quite strong oscillation of the switching function. Three pairs of switching points close to \(t=0.2\), \(t=2.2\), and \(t=2.55\) are quite narrow, such that the influence of the short change in F is hardly visible in the following figures.

Fig. 5
figure 5

Variation of the tension force F(t) and the switching function S(t) in the enlarged interval \(t\in [1.7,2.8]\)

The switching behaviour in the time interval [1.7, 2.8] is displayed in Fig. 5.

In Figs. 6 and 7 the evolution of \(d\ell /dt\) and of the angular variables \(\varphi _i(t)\) is displayed. During maximum tension the length change rate \(d\ell /dt\) decreases. From Fig. 7 it is visible, that the transversal oscillations are quite heavy during the first long pulling period. When the final braking period starts, the tether is almost straight and the transversal oscillations are already extinguished.

Fig. 6
figure 6

Variation of the length change rate \(d\ell /dt\) over the control period

Fig. 7
figure 7

Variation of the angles \(\varphi _i\) over the control period

3.3 Variation of the calculated solution for varying initial conditions

The previously displayed solutions correspond to a fixed initial value \(\ell _0=0.1\). (According to (17) the final length is scaled to \(\ell _T=1\).) By applying a continuation strategy solutions with different values for \(\ell _0\) can be computed. As displayed in Fig. 8, \(\ell _0\) need not vary monotonically during that continuation, but may also turn around and lead to different solutions for the same boundary conditions: In Fig. 8 the variation of a selection of interior switching points \(\tau _i\) over the initial length \(\ell _0\) is displayed.

Fig. 8
figure 8

Variation of selected switching points \(\tau _i\) for different values of \(\ell _0\). At the points \(P_i\) pairs of switching points are created or annihilated

Starting with a solution with \(\ell _0 \approx 0.14\) and 7 switches in the control force and decreasing \(\ell _0\), a pair of switching points \(\tau _4\) and \(\tau _5\) has to be inserted at \(P_1{:}\; \ell _0=0.133\). Decreasing the new solution (“A” in Fig. 8) with 9 switches further down to \(P_1{:}\; \ell _0=0.0815\), again a pair \(\tau _6\) and \(\tau _7\) has to be inserted. Along the solution branch “B” with 11 switches the initial length \(\ell _0\) increases (dashed line) until \(P_3{:}\; \ell _0=0.127\), where the switching points \(\tau _4\) and \(\tau _5\) coalesce and disappear. Along the new solution branch “C” with 9 switches the value \(\ell _0\) decreases again and extends below \(\ell _0=0.08\). After traversing the loop a pair of switching points has changed its position significantly: The lower pair \(\tau _{4,5}\), which is created at \(P_1\), vanishes at \(P_3\) along the branch “B”. The higher pair \(\tau _{6,7}\) is born at the start of branch “B” at \(P_2\) and persists along branch “C”. The remaining switching points, e.g. \(\tau _3\) and \(\tau _8\), vary continuously along the branches. All three branches of solutions exist for \(\ell _0=0.1\); in Fig. 9 the switching function S(t) is displayed for the three solutions with initial length \(\ell _0=0.1\). It looks rather similar, but solution “A” has two zeroes close to \(t=1.8\), while C has two zeroes at about \(t=2.2\). The intermediate solution B has all four zeroes.

Fig. 9
figure 9

Switching function S(t) for the different solutions at \(\ell _0=0.1\)

Since the difference between the required times T is very small, the quantity \(T-T_M\) is displayed in Fig. 10 for the three solution branches, where \(T_M=(T_A+T_C)/2\). The swallowtail-shaped cost function intersects itself at \(\ell _0\approx 0.12\) For \(\ell > 0.12\) solution “A” is more efficient, whereas for \(\ell < 0.12\) “C” performs better. The intermediate solution “B” with 11 switching points takes always longer than the other candidates and serves only to connect the two branches.

Fig. 10
figure 10

Comparison of the cost functions for the three solution branches in Fig. 8

Throughout the common domain of existence of the two branches “A” and “C” both solutions are local minima. At the intersection of the cost functions \(T_A\) and \(T_C\) at \(\ell _0\approx 0.12\) a so-called “Maxwell Catastrophe” [2] occurs, where the optimal solution candidate changes discontinuously. Of course, the difference between \(T_A\) and \(T_B\) is extremely small (less than a second for a manoeuvre lasting almost an hour) and plays no practical role. Nevertheless, the birth and death of the switching points needs to be taken into account during the variation of initial conditions and parameters in the system.

3.4 Another bifurcation scenario

Fig. 11
figure 11

Variation of the switching points \(\tau _1\) and \(\tau _2\) along a continuation path

An almost similar bifurcation occurs for slightly larger values of \(\ell _0\): Close to \(\ell _0=0.18\) the homotopy branch shows a non-monotonic variation of \(\ell _0\), as depicted in Fig. 11. The distorted cost function \(T+4\ell _0\) is displayed in Fig. 12. It shows again the shape of a swallow-tail, with two different solutions “A” and “C” with the same cost function at the intersection point. The intermediate solution “B” at the upper branch again takes longer and just connects both efficient branches.

Fig. 12
figure 12

Distorted cost function \(T+4\ell _0\) for initial conditions close to \(\ell _0 \approx 0.18\). Both solutions “A” and “C” lie at the intersection point

Fig. 13
figure 13

Switching function S(t) for the three solution candidates marked in Fig. 12

Fig. 14
figure 14

Variation of \(\dot{\ell }(t)\) for the solution candidates “A”, “B” and “C”

The switching function S(t) is displayed in Fig. 13: While the left switching points vary rapidly during the loop, the remaining ones are almost not affected.

Fig. 15
figure 15

Variation of the tether oscillation \(\varphi _1-\varphi _2(t)\) for the solution candidates “A”, “B” and “C”

The behaviour of \(\dot{\ell }(t)\) and \(\varphi _1(t)-\varphi _2(t)\) for the three solution candidates “A”, “B”, and “C” is displayed in Figs. 14 and 15: Again mainly the phase after the first pulling period is affected strongly. Since the influence of the variation of the first switching points on the variation of \(\varphi _1+\varphi _2\) and on the trajectory of the sub-satellite is very small, these quantities are not drawn.

Contrary to the first bifurcation scenario, where the non-monotonic variation of \(\ell _0\) along the continuation path was caused by the birth and deletion of switching points, in this case the switching points vary smoothly. Both cases demonstrate, that it is important not to calculate only one solution for the intended boundary conditions, but to explore also the vicinity of that solution in order to maybe detect more efficient solutions.

4 Conclusions

For a tethered satellite system with a massive tether a simple discretized model has been derived. For this model a time-optimal solution has been obtained numerically. The overall solution shape looks quite similar to that of the corresponding model with zero tether mass. But there are some significant differences:

  • The system with a massive tether requires significantly more switching points for its bang–bang solution than the massless one. Some of these switching points are quite likely not relevant for the practical applications, because they are extremely close and show almost no influence on the performance.

  • As expected, the strongest oscillation of the tether occurs during the pulling face, when the curved tether becomes stretched. Since there are no damping forces present, these fast oscillations can only be extinguished by releasing the tension force at the right phase. Before starting the final braking stage the lateral oscillations should already be extinguished.

  • The numerical detection of the obtained solution was quite involved. According to the author’s estimate the calculation of optimal trajectories for more realistic parameters (finer discretization, lighter tether, smaller ratio \(\ell _0/\ell _T\)) would require a huge amount of work and it is quite unlikely that a robust and efficient feedback law could be designed to take care of perturbations to the computed solution.

  • The occurrence of turning points in the continuation procedure—which also have to be expected, if some parameters in the model are varied—indicates, that it is important to explore the behaviour of the system for larger ranges of parameters and initial conditions. Otherwise one might end up at some sub-optimal candidate. In the author’s experience such loops occur frequently, when the overall structure of the solution changes. Looking closely at the change in the solution after passing the turning points might provide valuable insight in the control strategy.