1 Introduction

Optimal control problems (OCPs) are typically solved using direct [1, 2], indirect [3] and hybrid methods [4]. OCPs are generally formulated to optimize a user-defined objective (i.e., to minimize energy or fuel consumption) while respecting the system dynamics, constraints, and boundary conditions to achieve an optimal solution [5,6,7,8,9,10,11]. Typically, the optimal solution is obtained without considering the uncertainties in model parameters. However, parametric uncertainties influence the solution of low-thrust spacecraft and high-thrust rocket-landing trajectory optimization problems.

For spacecraft trajectory optimization, the use of electric propulsion systems continues to grow owing to their higher specific impulse values compared to chemical propulsion systems [12]. The use of electric propulsion systems has already been demonstrated in several space missions such as Deep-Space 1 [13], SMART-1 [14], Dawn [15] and Hayabusa [16]. NASA’s upcoming mission to asteroid Psyche uses an electric propulsion system [17]. Due to uncertainties associated with the thrust magnitude of electric propulsion systems [18], it is important to include the effects of thrust magnitude uncertainty while designing low-thrust trajectories. For instance, Reference [19] discusses the impact of uncertainties in electric propulsion thrust on an orbit. Various sources of uncertainty for solar electric propulsion are given in [20] and the authors also discuss the recommended system margins for deep-space missions. It has also been found that the thrust magnitude error and misalignment are not negligible during orbit maneuvers [18]. In [21], the uncertainty in the thrust measurements using an inverted pendulum null-coil thrust stand was found to be \(\pm 6.9\) mN. With the increasing interest in low-thrust trajectories, it is therefore essential to obtain trajectories that are robust against uncertainties in model parameters.

For atmospheric flight problems, the ability to land rockets gently is important for several reasons, including reusability, which reduces the overall cost of space launches. Additionally, soft landings are critical for preserving the integrity of payloads, such as scientific equipments, that may be attached to the rocket. Furthermore, the ability to land rockets softly is crucial for the potential future human exploration of other planets and moons, as it would enable the rocket to land and take off again without being damaged. Entry, Descent and Landing (EDL) problems are associated with uncertainties in the initial state vector (at the entry interface) and atmospheric properties (e.g., density) [22,23,24,25] and reducing the sensitivity of the solution of EDL OCPs will be instrumental for future planetary missions. In [26], the benefits and importance of operational consideration in the guidance, navigation, and control design of spacecraft are emphasized. It is also known that for formation flights of satellites, thrust uncertainties are an issue [27, 28]. Spacecraft low-thrust trajectory design under operational constraints is also considered in [29].

Desensitized Optimal Control (DOC) addresses uncertainties in model parameters by incorporating sensitivities while designing optimal solutions, which increases the robustness of the extremal solutions to uncertainties. This reduced sensitivity to parameteric uncertainties is also associated with a sub-optimal solution, which is an inevitable trade-off while using DOC formulation. However, desensitization has the potential to reduce the operational costs of a mission by reducing the frequency of re-planning of the trajectory, since the trajectory is now less sensitive to uncertain parameters. In [30], Seywald and Kumar propose the use of a sensitivity matrix of states for designing (open-loop and closed-loop) optimal trajectories that will show less sensitivity to state perturbations encountered along the trajectory. The utility of the approach is demonstrated by solving Zermelo’s navigation problem with an uncertain parameter signifying the strength of the river current. In Ref. [31], the sensitivity-based DOC strategy has been used to minimize fuel consumption and reduce the sensitivity to state uncertainties for a powered descent Mars pinpoint landing problem. The work in [31] extends the sensitivity-based DOC method to problems with control constraints. Direct collocation and nonlinear programming techniques are used to solve Mars entry trajectory optimization problems using the sensitivity-based DOC method [32]. It is shown that a reduction in sensitivity of terminal state variables with respect to uncertainties on initial state variables and Mars atmospheric density variations is achievable. The sensitivity-based DOC method is applied to landing problems with uncertainties in atmospheric density and aerodynamic characteristics [33]. The landing error on small bodies is reduced in the presence of uncertainties of target body and thrust error in [34] using a desensitization formulation. In Reference [35], the authors developed a desensitization formulation by introducing Lagrange multiplier-like quantities that captured the desired sensitivity information. In [36], Zimmer identified a relationship between the DOC formulation and covariance trajectory shaping.

Recently, a costate desensitized optimal control method (C-DOC) has been developed [37] in which the uncertain parameters are elevated as new states with their time derivative being zero. The indirect formalism of optimal control theory is used, and costates associated with the new states are introduced. By introducing a quadratic penalization term (to the Lagrange cost) that only consists of the new costates, the costate values associated with uncertain parameters are reduced along the solution. The advantage of using the C-DOC method [37] is that a system of \(2(n+l)\) differential equations has to be considered, where n denotes the number of states for the original system, and l denotes the number of considered uncertain system parameters. Compared to the sensitivity-based DOC method, which requires a system of \((n+l)^2+n+l\) differential equations, the number of states of the system is greatly reduced. It is shown in [38] that a sensitivity function can be used to either desensitize an optimal trajectory or a state at a given time (e.g., final time).

The contributions of this work are as follows. First, we investigate the application of the C-DOC method for desensitization of the minimum-fuel trajectories with respect to the thrust magnitude of the electric propulsion system. Second, using the non-uniqueness of the costate profiles, when a hybrid indirect-direct optimization method is used, we propose a novel formulation (RDF) for generating desensitized solutions. RDF requires \(n+l\) differential equations, which significantly simplifies the generation of desensitized open-loop optimal trajectories. In particular, we consider two types of objectives (minimum fuel and maximum final radius) and perform an in-depth analysis of the OCPs with bang-bang control profiles. Third, the effects of thrust desensitization on the thrust switching profile and unit thrust vector components are studied for three important classes of problems. The utility of the RDF is investigated by desensitizing three different classes of missions that cover a broad range of practical OCPs: (1) low-thrust minimum-fuel interplanetary rendezvous maneuvers, (2) low-thrust orbit-raising maneuvers, and (3) high-thrust rocket-landing problems. The impact of thrust-desensitization is studied on many revolution trajectory optimization problems. For the rocket-landing problems, desensitization of final mass subject to a glide-slope constraint is investigated.

This paper is organized as follows. The formulation for the sensitive minimum-fuel low-thrust trajectory optimization problem is presented in Sect. 2. In Sect. 3, the sensitivity-based DOC and the C-DOC strategies are briefly reviewed. Then, the C-DOC is applied to the low-thrust trajectory optimization problem and the results are discussed. A modification is applied to the formulation presented in Sect. 3 using the non-uniqueness property of the costates, and details are given in Sect. 4. The RDF method is presented in Sect. 5. In Sect. 6, three classes of trajectory optimization problems are solved using the RDF method and the results are presented. The concluding remarks are given in Sect. 7.

2 Minimum-Fuel Low-Thrust Trajectory Optimization Problem

In this section, we formulate the standard (sensitive) OCP associated with minimum-fuel low-thrust rendezvous maneuvers.

2.1 Coordinate Sets

It is well established in the literature that the convergence of a trajectory optimization problem is dependent on the choice of coordinate system/set [39,40,41]. In this work, two different coordinate systems are used for describing the dynamics of the spacecraft: the set of Cartesian coordinates and the set of modified equinoctial elements (MEEs) [42]. The equations of motion, when written in Cartesian coordinates, take simpler forms and are used for demonstrating the relations in the remainder of the paper. However, for solving the minimum-fuel low-thrust trajectory optimization problems, the set of MEEs is used [42]. The spacecraft’s equations of motion in Cartesian coordinates can be written as

$$\begin{aligned} \dot{\varvec{r}}&= \varvec{v},&\dot{\varvec{v}}&= -\frac{\mu }{r^3}\varvec{r} + \varvec{\Delta }_\text {c}, \end{aligned}$$
(1)

where \(\varvec{r} = [x,y,z]^{\top }\) and \(\varvec{v} = [vx,vy,vz]^\top\) denote position and velocity vectors of the spacecraft respectively, \(\mu\) is the gravitational parameter of the central body, \(r = ||\varvec{r}||\) is the position vector Euclidean norm and \(\varvec{\Delta }_\text {c}\) is the acceleration due to the propulsion system. The state and control vectors can be written as

$$\begin{aligned} \varvec{{x}}_\text {cart}&= [\varvec{r}^{\top },\varvec{v}^{\top }]^{\top },&\varvec{\Delta }_\text {c}&= \frac{T}{m} \delta \hat{\varvec{u}}, \end{aligned}$$
(2)

where T denotes the maximum thrust value, m denotes spacecraft mass, \(\delta \in [0,1]\) is the engine throttling input, and \(\hat{\varvec{u}} = [u_x,u_y,u_z]^{\top }\) is the thrust steering unit vector (i.e., \(||\hat{\varvec{u}}||=1\)). The time rate of change of Cartesian coordinates, refer to Eq. (1), can be written in a compact control-affine form as

$$\begin{aligned} \dot{\varvec{x}}_\text {cart}&= \varvec{A}_\text {cart}(\varvec{x}) + \mathbb {B}_\text {cart} \varvec{\Delta }_c,&\varvec{A}_\text {cart} =&\begin{bmatrix} \varvec{v} \\ -\frac{\mu }{r^3}\varvec{r} \end{bmatrix},&\mathbb {B}_\text {cart} = \begin{bmatrix} \varvec{0}_{3 \times 3} \\ \varvec{I}_{3 \times 3} \end{bmatrix}, \end{aligned}$$
(3)

where \(\varvec{I}\) represents an identity matrix and \(\varvec{0}\) represents a zero matrix.

2.2 Formulation of the Standard (Sensitive) Minimum-Fuel Trajectory Optimization Problem

The formulation of the sensitive minimum-fuel trajectory optimization problems is presented to set the stage for a comparison of the results against a desensitized low-thrust trajectory optimization formulation. The Mayer-form cost functional for a minimum-fuel trajectory optimization problem can be written as

$$\begin{aligned} \underset{\delta \in [0,1] \& || \hat{\varvec{u}}|| = 1}{\mathop {\text {minimize}}} \,J = -m(t_f), \end{aligned}$$
(4)

where \(m(t_f)\) denotes the spacecraft mass at the final time. The spacecraft’s equations of motion in a coordinate-independent control-affine form can be written as [41]

$$\begin{aligned} \varvec{\dot{x}}&= \varvec{A}(\varvec{x}) + \mathbb {B}(\varvec{x}) \varvec{\Delta }_c ,&\dot{m}&= -\frac{T}{c} \delta , \end{aligned}$$
(5)

where \(\varvec{x} \in \mathbb {R}^6\) denotes the states of the spacecraft, \(c = I_\text {sp} g_0\) denotes the constant effective exhaust velocity, \(I_\text {sp}\) is the specific impulse and \(g_0\) is sea-level gravity constant. In Eq. (5), \(\varvec{x}\) can represent the Cartesian position and velocity coordinates or the set of MEEs [42]. The variational Hamiltonian can be written as (the argument list of \(\varvec{A}\) vector and \(\mathbb {B}\) matrix are dropped for simplicity)

$$\begin{aligned} H = \varvec{\lambda _x}^{\top } \left[ \varvec{A} + \mathbb {B} \varvec{\Delta }_c \right] - \lambda _m \frac{T}{c} \delta , \end{aligned}$$
(6)

where \(\varvec{\lambda _x} \in \mathbb {R}^6\) denotes the costate vector associated with the state vector \(\varvec{x}\) and \(\lambda _m\) denotes the costate associated with mass. The costate dynamics can be obtained using the Euler-Lagrange equation [43] as

$$\begin{aligned} \dot{\varvec{\lambda }}_{\varvec{x}}=-\left[ \frac{\partial H}{\partial \varvec{x}}\right] ^{\top }, \quad \dot{\lambda }_m=-\frac{\partial H}{\partial m}. \end{aligned}$$
(7)

Applying Pontryagin’s minimum principle (PMP) and using the primer vector theory of Lawden, we can derive the expressions for extremal control inputs (excluding singular control arcs [44]) as

$$\begin{aligned} \hat{\varvec{u}}^*&= \frac{\varvec{p}}{||\varvec{p}||}= -\frac{\mathbb {B}^{\top }\varvec{\lambda _x}}{||\mathbb {B}^{\top }\varvec{\lambda _x} ||},&\delta ^*&= {\left\{ \begin{array}{ll} 1, &{} \text {if}\, S\ge 0,\\ 0, &{} \text {if}\, S<0, \end{array}\right. }&S = \frac{c ||\mathbb {B}^{\top }\varvec{\lambda _x} ||}{m}+\lambda _m, \end{aligned}$$
(8)

where S is the so-called thrust switching function. In Eq. (8), the primer vector is defined as \(\varvec{p} = - \mathbb {B}^{\top }\varvec{\lambda _x}\). In summary, the primer vector determines the optimal direction of thrusting, \(\hat{\varvec{u}}^*\), whereas the switching function governs the optimal profile of the throttle factor, \(\delta ^*\) (“optimal” and “extremal” are used interchangeably throughout the paper).

We consider fixed-time, rendezvous-type low-thrust maneuvers in which the initial and final states are known. Since the final value of mass is unknown, its costate value at the final time can be determined using the transversality condition (i.e., \(\lambda _m(t_f)= -1\)). The boundary conditions for the sensitive minimum-fuel trajectory optimization problem can be summarized as a nonlinear system of equations

$$\begin{aligned} \varvec{\Psi }(\varvec{\eta }) = \left[ [ {\varvec{x}(t_0) - \varvec{x}_0]^\top , m(t_0)-m_0,} \ [\varvec{x}(t_f) - \varvec{x}_T]^\top , \lambda _m(t_f) + 1 \right] ^\top = \varvec{0}, \end{aligned}$$
(9)

where \(\varvec{x}_0\) and \(\varvec{x}_T\) denote the known states at the initial and final times respectively, \(m_0\) denotes the initial mass and \(\varvec{\eta } = [\varvec{\lambda _x}^{\top }(t_0),\lambda _m(t_0)]^{\top }\) denotes the unknown initial vector of costates. The OCP is converted into a Hamiltonian two-point boundary-value problem (TPBVP), which consists of the following components: the state differential equations, Eq. (5), costate differential equations, Eq. (7), extremal controls, Eq. (8), and the boundary conditions, Eq. (9). The resulting TPBVPs are typically solved using single- or multiple-shooting methods that consist of an algorithm to propagate the set of state-costate differential equations and a non-linear root-solving algorithm to satisfy the constraint vector given in Eq. (9) within a user-defined tolerance. The unknown vector, \(\varvec{\eta } = [\varvec{\lambda _x}^{\top }(t_0),\lambda _m(t_0)]^{\top }\), is iterated over until the nonlinear solver (e.g., MATLAB’s fsolve) converges. A difficulty in solving minimum-fuel low-thrust trajectory optimization problems is due to the discontinuous switches in the optimal throttle profile. In addition, the number of switches is not known in advance. However, a number of techniques exist in the literature to overcome the challenges with throttle profile discontinuities [45, 46].

3 Analysis of the C-DOC Formulation for Minimum-Fuel Trajectory Optimization Problems

First, a brief review of the sensitivity-based DOC method is given to set the stage for comparing it against the C-DOC method. Consider the formulation of a standard OCP with a Mayer-form cost functional defined as

$$\begin{aligned} \underset{\varvec{x}(t) \& \varvec{u}(t)}{\text {minimize}}\,{J}=\phi \left( \varvec{x}(t_f), t_f\right) , \end{aligned}$$
(10)

subject to

$$\begin{aligned} \begin{aligned}&\dot{\varvec{x}}(t)=\varvec{f}(\varvec{x}(t), \varvec{u}(t), t; \varvec{\rho }), \quad \varvec{x}(t_0)=\varvec{x}_0, \\&g_\text {ine}(\varvec{x}(t), t; \varvec{\rho }) \le 0, \\&g_\text {eq}\left( \varvec{x}\left( t\right) , t; \varvec{\rho }\right) =0, \end{aligned} \end{aligned}$$
(11)

where \(t \in [t_0, t_f]\), \(\varvec{x}(t) \in \mathbb {R}^n\) denotes the states, \(\varvec{u}(t) \in \mathbb {R}^m\) denotes the controls, \(\varvec{\rho } \in \mathbb {R}^l\) is the vector of uncertain model parameters in the state dynamics, and \(g_\text {ine}(\varvec{x}(t), t; \varvec{\rho })\) and \(g_\text {eq}(\varvec{x}(t), t; \varvec{\rho })\) represent the nonlinear inequality and equality constraints respectively. To desensitize the OCP, Seywald and Kumar [30] made a new state vector that included the augmented state vector and elements of the state transition matrix as \([\varvec{x}_a^{\top }, \text {vec}(\Phi )^{\top }]^{\top }\) where \(\varvec{x}_a^{\top } = [\varvec{x}^{\top }, \varvec{\rho }^{\top }]\) is the augmented state vector and \(\text {vec}(\Phi )\) is the vector-form of the elements of the state transition matrix with its differential equation given as

$$\begin{aligned} \dot{\Phi }(t, t_0)&= \left[ \frac{\partial \varvec{f}_a(\varvec{x}_a(t), \varvec{u}(t), t)}{\partial \varvec{x_a}}\right] \Phi (t, t_0). \end{aligned}$$
(12)

The dynamics for the augmented state vector can be written as

$$\begin{aligned} \dot{\varvec{x}}_{a}&= \varvec{f}_a(\varvec{x}_a(t), \varvec{u}(t), t) = [\varvec{f}^\top (\varvec{x}_a(t), \varvec{u}(t), t), \ \varvec{0}_{1 \times l}]^\top . \end{aligned}$$
(13)

To desensitize the cost functional with respect to the uncertain parameter values, the cost functional is augmented with a penalty term as [30]

$$\begin{aligned} \underset{\varvec{x}(t)\, \& \,\varvec{u}(t)}{\text {minimize}}\,J_a=\phi (\varvec{x}(t_f))+\int _{t_0}^{t_f} ||\Phi (t, t_0)\Phi (t, t_0)^{-1}||_{\mathbb {Q}(t)}dt , \end{aligned}$$
(14)

where \(\mathbb {Q}(t) \ge 0\) is a user-defined positive semi-definite matrix. To evaluate Eq. (14), it is necessary to propagate the augmented state dynamics, \(\varvec{x}_a\), and the elements of the state transition matrix (\(\Phi (t, t_0)\)). A difficulty in using the sensitivity-based DOC method is the dimension of states \(n+l+(n+l)^2\), as their differential equations have to be propagated which can be computationally demanding. However, the method has been applied successfully to a number of OCPs [30,31,32, 35].

A brief review of the C-DOC is given since it is used for our early efforts to obtain desensitized solutions. In Ref. [37], desensitization of OCPs is achieved, noting that costates carry sensitivity information. By definition, costates represent first-order variation in the cost functional with respect to the change in the states at each time instant. Moreover, it is shown that this property is valid along any trajectory (and not necessarily on an extremal trajectory) [37]. For desensitizing the solution of an OCP, the uncertain parameter is elevated as a new state. By using indirect formalism, the time rate of change of the costate associated with the new state can be obtained. By penalizing the costate associated with the uncertain parameter, the OCP’s cost functional can be desensitized with respect to the uncertain parameters.

We consider the desensitization of spacecraft trajectories with respect to variations in the thrust of electric engines with the maximum thrust value elevated as a new state. The indirect formalism, as explained in Sect. 2, is followed for obtaining the costate of thrust. The time rate of change of thrust is

$$\begin{aligned} \dot{T}&= 0. \end{aligned}$$
(15)

Let \(\varvec{\lambda _x}\) denote the costate vector associated with the state vector. The variational Hamiltonian, formed in Eq. (6), can be re-written as

$$\begin{aligned} H = \varvec{\lambda _x}^{\top } \left[ \varvec{A} + \mathbb {B} \varvec{\Delta }_c \right] - \lambda _m \frac{T}{c} \delta + \lambda _T \dot{T}, \end{aligned}$$
(16)

where the term \(\lambda _T \dot{T}\) vanishes (with \(\lambda _T\) denoting the costate associated with thrust). The time rate of change of the thrust costate can be obtained using the Euler-Lagrange equation as

$$\begin{aligned} \dot{\lambda }_T = -\frac{\partial H}{\partial T}. \end{aligned}$$
(17)

To achieve desensitization of the final mass with respect to thrust magnitude, the thrust costate is minimized along the entire trajectory. Therefore, the cost functional in Eq. (4) is augmented with a quadratic penalization term as

$$\begin{aligned} \underset{\delta \in [0,1] \& || \hat{\varvec{u}}|| = 1}{\mathop {\text {minimize}}} \,J = -m(t_f) + \int _{t_0}^{t_f} Q \lambda ^2_T(t) \ dt, \end{aligned}$$
(18)

where \(t_0\) and \(t_f\) denote the initial and final times respectively, and Q is a positive constant parameter. The initial value of thrust is known and by following Ref. [37], the value of the thrust costate at the final time is 0 (due to the transversality condition). The nonlinear root-solving conditions for the TPBVP associated with the thrust-desensitized minimum-fuel trajectory optimization problem becomes

$$\begin{aligned} \varvec{\Psi }(\varvec{\Gamma }) = \left[ [{\varvec{x}(t_0) - \varvec{x}_0]^\top , m(t_0)-m_0,} \ [\varvec{x}(t_f) - \varvec{x}_T]^\top , \lambda _m(t_f) + 1, \lambda _T(t_f) \right] ^\top = \varvec{0}, \end{aligned}$$
(19)

where \(\lambda _T(t_f)\) denotes the thrust costate at the final time and \(\varvec{\Gamma }^{\top } = [\varvec{\lambda _x}^{\top }(t_0),\lambda _m(t_0), \lambda _T(t_0)]\). The components of the resulting TPBVP are the state differential equations, Eq. (5), thrust differential equation, Eq. (15), costate differential equations, Eq. (7), thrust costate differential equation, Eq. (17), and the boundary conditions, Eq. (19). Here, the extremal control is no longer determined through the relations given in Eq. (8), but the control is directly searched over to find extremal solutions. The reason for a direct search over control inputs is that upon applying optimal control theory, the expressions for extremal controls will be identical to those derived in Eq. (8), which means that the control is independent of the value of Q. However, it is expected that by adding the penalization term, the optimal control will deviate from the sensitive control to reduce the value of the penalization. Thus, relations given in Eq. (8) are no longer valid, and a direct optimization over control inputs has to be performed with the constraints that \(\delta ^* \in [0,1]\) and \(||\hat{\varvec{u}}|| = 1\). The solution procedure becomes a hybrid indirect-direct method that leverages state and costate dynamics, but directly searches over control inputs. Instantaneous values of the costates and control are needed to evaluate Eq. (17). Thus, the problem consists of 16 differential equations and 4 control inputs. All the TPBVPs in this paper are solved using GPOPS-II [47]. We use the word simulation of OCP in GPOPS in the following sense: by doing one simulation in GPOPS we get one solution to an OCP.

3.1 Numerical Examples

The C-DOC method is applied to a rendezvous problem from Earth to Mars, where the boundary conditions along with engine parameters are taken from [40]. Canonical scaling is used, in which one distance unit (DU) is taken as one astronomical unit (AU) and one time unit (TU) is equal to \(5.022 \times 10^6\) seconds. The gravitational parameter of the Sun is \(\mu = 132712440018\) km\(^3\)/s\(^2\). The spacecraft’s inertial initial position and velocity vectors are \(\varvec{r}(t_0) = [-140699693,-51614428, 980]^{\top }\) km and \(\varvec{v}(t_0) = [9.774596,-28.07828, 4.337725 \times 10^{-4}]^{\top }\) km/s respectively. The target position and velocity vectors of the spacecraft are \(\varvec{r}_T = [-172682023, 176959469, 7948912]^{\top }\) km and \(\varvec{v}_T = [-16.427384,-14.860506, 9.21486 \times 10^{-2}]^{\top }\) km/s respectively. These position and velocity vectors are given in the Sun-Centered inertial frame. The fixed total flight time is 348.795 days. The initial mass of the spacecraft is 1000 kg and the electric propulsion system has the following parameters: nominal thrust, \(T=0.5\) Newtons, constant specific impulse, \(I_\text {sp}=2000\) seconds.

In Eq. (18), setting Q to 0 is equivalent to solving a sensitive minimum-fuel trajectory optimization problem. The global extremal solution for this problem is known with a final mass of 603.93 kg [40]. The desensitized Earth-Mars problem is solved using GPOPS-II. For the simulations, hp-LiuRao-Legendre mesh method and IPOPT are used. The plots for thrust time history, the components of the unit thrust direction vector and the optimal trajectory (for \(Q=0\) and \(Q=0.001\)) are shown in Figs. 1, 2 and 3, respectively. In this paper, the unit thrust direction vector components are plotted by multiplying with the engine throttle input, 

Fig. 1
figure 1

Minimum-fuel Earth–Mars problem: thrust profiles vs. time for different values of Q

Fig. 2
figure 2

Minimum-fuel Earth–Mars problem: unit thrust direction vector components (multiplied with the engine throttle, ) for different values of Q

Fig. 3
figure 3

Minimum-fuel Earth–Mars problem: three-dimensional trajectories for different values of Q

It is to be noted that the extremal trajectory shown in Fig. 3a matches with the solution reported in [40]. The thrust and velocity costates associated with \(Q=0\) and \(Q=0.001\) are shown in Figs. 4 and 5, respectively. It is evident from Fig. 4, that the thrust costate is minimized along the extremal trajectory when the value of Q is increased. However, no significant change is observed in the thrust switching profile (Fig. 1), components of the unit thrust steering direction vector (Fig. 2) and the optimal trajectory (Fig. 3). The optimal final mass for \(Q=0\) is 603.94 kg and for \(Q=0.001\) is 603.80 kg. The mass profiles, when \(Q=0\) and \(Q=0.001\), are shown in Fig. 6.

Fig. 4
figure 4

Minimum-fuel Earth–Mars problem: thrust costate profiles vs. time for different values of Q

Fig. 5
figure 5

Minimum-fuel Earth–Mars problem: velocity costate profiles vs. time for different values of Q

Fig. 6
figure 6

Minimum-fuel Earth–Mars rendezvous problem: mass vs. time for different values of Q

To check for desensitization of the trajectory with \(Q = 0.001\), the thrust value, \(T_0\), was increased by three percent from its nominal value (i.e., \(T_0=0.515\) N). The simulation was repeated for \(Q=0\) and \(Q=0.001\). The plots for thrust profile, components of the unit thrust steering vector and the optimal trajectory look similar to Figs. 1, 2 and 3, respectively, and are not shown here for brevity.

Table 1 Desensitization results for the minimum-fuel Earth–Mars problem

Simulation results are summarized in Table 1, where d is the absolute value of the difference in the mass at the final time when the value of thrust is increased by 3%, \(d=|m(t_f,T_0=0.5)-m(t_f,T_0=0.515)|\). The final optimal mass, when \(Q=0\) and \(T=0.5\), corresponds to the final mass obtained in [40], confirming that \(Q=0\) will indeed give the solution to the sensitive OCP. Table 1 suggests that there is no reduction in the value of d when Q is increased. However, it is to be noted that the thrust costate history is minimized as the value of Q is increased. Results indicate that desensitization has not happened even after the thrust costate was minimized. This curious result guided us to perform further analysis of the thrust costate differential equation, which offers key insights into desensitization mechanism.

Under the assumption of using Cartesian coordinates (i.e., the state vector \(\varvec{x} = [x,y,z,vx,vy,vz]^{\top }\) and the costate vector \(\varvec{\lambda _x} = [\lambda _x,\lambda _y,\lambda _z, \lambda _{vx}, \lambda _{vy}, \lambda _{vz}]^{\top }\)) and using Eqs. (16) and (17), the expression for the time rate of change thrust costate can be derived as

$$\begin{aligned} \dot{\lambda }_{T} = -\frac{\delta }{m}\left( \lambda _{vx}u_x + \lambda _{vy}u_y + \lambda _{vz}u_z - \lambda _m \frac{m}{c} \right) . \end{aligned}$$
(20)

The thrust costate differential equation is a function of mass, mass costate, velocity costate, specific impulse and the components of the unit thrust direction vector. Since the thrust switching profile (Fig. 1) and the components of the unit thrust direction vector (Fig. 2) do not show substantial change when the value of Q is increased from 0 to 0.001, the change in thrust costate (Fig. 4) is due to the change in the velocity costate (Fig. 5). Therefore, the optimizer has reduced the cost functional, Eq. (18), by changing the velocity costates and ignoring the thrust switching time or the components of the unit thrust direction vector. If the control profile does not change, then the evolution of the states will not be affected. Although mathematically the thrust costate is getting minimized, this does not have any physical significance on trajectory desensitization, because the control profile remains unaltered. To achieve desensitization, the optimization method has to minimize the thrust costate by altering the thrust switching profile or components of the thrust unit vector.

4 Modifying Costate Desensitization Formulation Using Non-Uniqueness of Costates

In this paper, we observed the costates (associated with the states of the original OCP) will not affect the controls, when a hybrid indirect-direct optimization method is used. More specifically, the costate differential equations are not required to satisfy any along-the-path constraints and/or any boundary conditions. Thus, costates can have multiple solutions. It is possible to obtain the same control and state profiles for different costate profiles for an OCP using the proposed hybrid indirect-direct optimization method. This can also be verified by performing simulations in GPOPS-II by altering the values of the upper and lower bounds for the costates. For the Earth–Mars rendezvous problem solved in Sect. 3.1, two possible \(\lambda _{vx}\) profiles are shown in Fig. 7 that correspond to the same optimal solution. Similar behaviors are observed in the profiles of the costates associated with other states, but they are not shown here for brevity. Hence, modifying the costate differential equations will not affect the problem solution.

Fig. 7
figure 7

Minimum-fuel Earth–Mars problem: different \(\lambda _{vx}\) profiles for \(Q=0\)

To promote altering the control profile for reducing the value of thrust costate we multiply the right-hand side of the costates by a constant positive value. Thus, Eqs. (7) and (17) can be written as

$$\begin{aligned} \dot{\varvec{\lambda }}_{\varvec{x}} = -a\left[ \frac{\partial H}{\partial \varvec{x}}\right] ^\top , \ \ \ {}&\dot{\lambda }_m = -a\frac{\partial H}{\partial m} \ \ \ , \ \ \ \dot{\lambda }_T = -a\frac{\partial H}{\partial T}. \end{aligned}$$
(21)

The Earth-Mars desensitized rendezvous problem solved in Sect. 3.1, is solved again by considering \(a=1.0 \times 10^{-5}\) and \(T_0 = 0.5\) N. Since the costate differential equations are multiplied by a small number, the time rate of change of the costates will be small. Therefore, due to the presence of ‘a’ in the costate dynamics, the optimization algorithm cannot decrease the velocity costates rapidly to minimize the cost functional. Therefore, the optimizer will try to alter the thrust switching profile or the unit thrust direction vector to minimize the thrust costate.

The thrust and velocity costate profiles are shown in Figs. 8 and 9, respectively, for \(Q=0\) and \(Q=1.9 \times 10^{6}\). The inclusion of the positive constant has clearly changed the evolution of thrust and velocity costates. Since the rate of change of the costates is scaled down due to ‘a’, it can be seen that the velocity costate looks almost like a constant value. For desensitizing, the value of Q is chosen as a large number because the thrust costate is in the order of \(10^{-3}\). Since the Lagrange cost functional is quadratic in thrust costate, the value of Q must be large for the solver to recognize the presence of this cost. The plots for thrust history, the components of the thrust direction unit vector and the optimal trajectory for \(Q=0\) and \(Q=1.9 \times 10^{6}\) are shown in Figs. 10a, b and 11 respectively. By increasing the value of Q, the optimal trajectory, thrust switching profile and the components of the thrust direction unit vector are changed. The mass profiles for \(Q=0\) and \(Q=1.9 \times 10^{6}\) are shown in Fig. 12. The final mass for \(Q=0\) is \(m_f=603.9366\) kg and for \(Q=1.9 \times 10^{6}\) is \(m_f=599.9648\) kg.

Fig. 8
figure 8

Minimum-fuel Earth–Mars problem: desensitized thrust costate profile with \(a=1.0 \times 10^{-5}\)

Fig. 9
figure 9

Minimum-fuel Earth–Mars problem: velocity costate profiles vs. time with \(a=1.0 \times 10^{-5}\)

Fig. 10
figure 10

Minimum-fuel Earth–Mars problem: desensitized control profiles vs. time with \(a = 1.0 \times 10^{-5}\)

Fig. 11
figure 11

Minimum-fuel Earth–Mars problem: desensitized optimal trajectory with \(a = 1.0 \times 10^{-5}\)

Fig. 12
figure 12

Minimum-fuel Earth–Mars problem: mass vs. time with \(a = 1.0 \times 10^{-5}\)

To check for desensitization, the value of initial thrust is increased by 3%, \(T_0=0.515\) N. Simulations are performed for \(Q=0\), \(Q=1.9 \times 10^6\) and \(Q=2.0 \times 10^6\). Simulation results are summarized in Table 2. Similar to Sect. 3.1, d is the absolute value of the difference in the mass at final time when the value of thrust is increased by 3%, \(d=|m(t_f,T_0=0.5)-m(t_f,T_0=0.515)|\).

Table 2 Desensitized minimum-fuel Earth–Mars simulation results using the non-uniqueness property of costates

From Table 2 it can be observed that the value of d gets reduced when Q is increased from 0 to \(1.9 \times 10^{6}\) and \(2.0 \times 10^{6}\). Qualitatively, as the value of Q increases, the thrust costate is minimized, which reduces the sensitivity of the problem with respect to thrust. By desensitizing, the final value of mass does not change considerably when the value of the initial thrust is changed. \(Q=0\) represents the sensitive optimal control solution and thus it has the largest change in the final mass when the value of the thrust is changed. It can also be noted that the solution corresponding to \(Q=1.9 \times 10^{6}\) is more desensitized than \(Q=2.0 \times 10^{6}\) as the value of d is lower for the former case than the latter. Thus, the desensitization process is not linear and the value of d does not change monotonically with respect to changes in Q, which is also observed in [31].

5 Reduced Desensitization Formulation

For the indirect method, the costate equations are necessary because the optimal control expression will be a function of costates. According to PMP, the optimal/extremal control is the one that minimizes the Hamiltonian written as

$$\begin{aligned} \varvec{\hat{u}}^* \& \delta ^*= \underset{\delta \in [0,1] \& || \hat{\varvec{u}}|| = 1}{\text {arg min}}\,H(\varvec{x}^*,m^*,\varvec{\lambda _x}^*,\lambda _m^*,\delta , \hat{\varvec{u}}). \end{aligned}$$
(22)

In general, optimal control is a function of costates in the indirect method. On the other hand, when solving an OCP using a direct method, the costate equations are not included in the dynamics. The states and the controls become optimization variables while respecting the state equations and boundary conditions at a finite number of points [48]. However, the desensitization formulation shown in Sect. 3 is based on the indirect optimization method and solved using a direct solver. It is to be noted that the expression for optimal control by using PMP is not used. However, since the cost functional (see Eq. (18)) is a function of costate of thrust, \(\lambda _T\), it becomes necessary to include the costate dynamics in the desensitization formulation, although a direct solver (e.g., GPOPS-II) is used to solve the problem.

The key point is that the optimal control must differ from its profile associated with the standard (sensitive) formulation. This is a trade-off between optimality-driven and desensitized-driven formulations. From the analysis presented in Sect. 3 and 4, it is evident that thrust desensitization for minimum-fuel trajectories happens only when the thrust costate is minimized by altering the thrust switches and the components of the unit thrust direction vector. As demonstrated in the previous section, the non-uniqueness of the costate differential equations can be leveraged to minimize thrust costate by changing the thrust switches and components of the unit thrust direction vector. From these observations, we arrive at the following two conclusions: (1) by decreasing the value of the positive constant a, the time rate of change of costates will become very small or negligible and the costate profiles almost take a constant value, and (2) because the state and control profile are independent of the costate profile using this desensitization formulation (based on the direct method), imposing constraints on the value of costates at the initial time will not affect the solution of the sensitive OCP. Using the above two points makes it possible to make the velocity and mass costate a constant K (similar to orbit averaging [49]) and we can choose K by imposing a constraint on the costates at the initial time. The constraints are enforced on the velocity and mass costates and can be summarized as

$$\begin{aligned} \lambda _{vx}(t_0) = K_{vx}, \ \lambda _{vy}(t_0) = K_{vy}, \ \lambda _{vz}(t_0) = K_{vz}, \ \lambda _{m}(t_0) = K_{m}, \end{aligned}$$
(23)

where \(K_{vx}\), \(K_{vy}\), \(K_{vz}\) and \(K_{m}\) are the constant velocity and mass costates. Since the time rate of change of costates can be made negligible, the following conclusion can be made

$$\begin{aligned} \lambda _{vx}(t) = K_{vx}, \ \lambda _{vy}(t) = K_{vy}, \ \lambda _{vz}(t) = K_{vz}, \ \lambda _{m}(t) = K_{m}. \end{aligned}$$
(24)

Therefore, we no longer need to propagate the differential equations of velocity and mass costates. Hence, Eq. (20) is written as

$$\begin{aligned} \dot{\lambda }_{T} = -\frac{\delta }{m}\left( K_{vx}u_x + K_{vy}u_y + K_{vz}u_z - K_{m}\frac{m}{c}\right) . \end{aligned}$$
(25)

An immediate consequence of using Eq. (25) is that we can remove \(\varvec{\lambda _x}\) and \(\lambda _m\) from the set of states. This is a substantial reduction in the number of differential equations, which improves the computational efficiency for obtaining desensitized open-loop optimal solutions. Therefore, the differential equations that will be used for desensitization are Eqs. (25) and (5). Note that we have removed \(\dot{T} = 0\) from the set of differential equations. The nonlinear residual equation given in Eq. (19) is modified as

$$\begin{aligned} \varvec{\Psi } = \left[[ {\varvec{x}(t_0) - \varvec{x}_0]^\top , m(t_0)-m_0,} \ [\varvec{x}(t_f) - \varvec{x}_T]^\top , \lambda _T(t_f) \right] ^\top = \varvec{0}. \end{aligned}$$
(26)

Theoretically, the value of \(K_{vx}\), \(K_{vy}\), \(K_{vz}\) and \(K_{m}\) will affect the magnitude of the thrust costate and different magnitudes of the thrust costate can be achieved by changing \(K_{vx}\), \(K_{vy}\), \(K_{vz}\) and \(K_{m}\). For different magnitudes of thrust costate, desensitization can be achieved by choosing the value of Q carefully so that it results in the minimization of the thrust costate. To clarify this point, the example solved in Sect. 3.1 is re-solved using the formulation explained above for \(K_{vx}= K_{vy} = K_{vz} = K_{m} = 1\). The plots for the evolution of thrust costate, thrust switching and components of the unit thrust direction vector are shown in Figs. 13 and 14.

Fig. 13
figure 13

Minimum-fuel Earth-Mars problem: desensitized thrust costate history using the RDF method with \(K_{vx}= K_{vy} = K_{vz} = K_{m} = 1\)

Fig. 14
figure 14

Minimum-fuel Earth–Mars problem: desensitized thrust profile using the RDF method with \(K_{vx}= K_{vy} = K_{vz} = K_{m} = 1\)

Table 3 Minimum-fuel Earth-Mars problem: desensitization simulation results using the RDF method with \(K_{vx}= K_{vy} = K_{vz} = K_{m} = 1\)

To assess desensitization, the value of initial thrust is increased by 3% and 5%. Simulation results are summarized in Table 3. Similar to Sect. 3.1, d is the absolute value of the difference in the mass at final time, when the value of thrust is changed. Table 3 suggests that the Earth-Mars trajectory is desensitized as the value of Q is increased.

Please note that the final mass of low-thrust trajectory optimization problems is asymmetrical with respect to the thrust magnitude. When the thrust magnitude is increased, the spacecraft propulsion system becomes more capable. From orbital mechanics, we also know that for a propulsion system with a fixed value of specific impulse, an increase in the thrust magnitude corresponds to getting closer to an impulsive maneuver. Impulsive maneuvers are efficient since gravity losses are minimized. Conversely, if the thrust magnitude decreases, the final mass decreases relative to the nominal value, but not in a symmetrical manner due to the equation of orbital mechanics and the addition of gravity losses due to the operation of the thruster over longer periods of time. This is the reason for the asymmetrical change in the value of the final mass when thrust is increased or decreased. Thus, for a fixed initial mass value, a fixed specific impulse value and for a fixed time of flight [50], any increase in the thrust magnitude corresponds to a larger final mass. Thus, for \(Q=0\), the final mass associated with \(T_0 = 0.525\) N has a greater final mass. This increase in the thrust at the largest limit corresponds to an approximation of impulsive maneuvers [50]. The slope of the thrust costate curve during thrusting is 4.405 kg/N/day for both the sensitive and desensitized solutions. From Fig. 14a it is observed that the number of thrust switches is two for the desensitized trajectory and four for the thrust-sensitive trajectory. The number of thrust switches is the same roughly after half of the total time of flight (174 days). Desensitization is achieved through extra thrusting at the initial phase of the mission, where the thrust is more effective since the spacecraft operates closer to the Sun.

The same problem is also solved for \(K_{vx}=2, K_{vy}=3, K_{vz}=4, K_{m} = 5\). The plots for thrust switching and components of the unit thrust direction vector are similar to those shown in Fig. 14 and are not included for brevity. The desensitization results are summarized in Table 4. The plot for the evolution of thrust costate is shown in Fig. 15a.

Table 4 Minimum-fuel Earth–Mars problem: desensitization simulation results using the RDF method for \(K_{vx}=2, K_{vy}=3, K_{vz}=4, K_{m} = 5\)
Fig. 15
figure 15

Minimum-fuel Earth–Mars problem: desensitized thrust costate history using the RDF method

The Earth-Mars rendezvous is also solved for \(K_{vx}=200, K_{vy}=300, K_{vz}=400, K_{m} = 500\). The plots for thrust switching and components of the unit thrust direction vector are similar to those shown in Fig. 14 and are not included for brevity. The desensitization results are summarized in Table 5. The plot for the evolution of thrust costate is shown in Fig. 15.

Table 5 Minimum-fuel Earth–Mars problem: desensitization simulation results using the RDF method for \(K_{vx}=200, K_{vy}=300, K_{vz}=400, K_{m} = 500\)

From Figs. 13, 15a and b it is evident that by changing the value of \(K_{vx}\), \(K_{vy}\), \(K_{vz}\) and \(K_{m}\) the profile of the thrust costate gets scaled. Also, Tables 3, 4 and 5 suggest that desensitization can be achieved for different magnitudes of thrust costate by choosing the value of Q accordingly.

6 Numerical Results

The RDF method is applied to three different classes of trajectory optimization problems. First, it is applied to the following minimum-fuel interplanetary rendezvous problems: (a) Earth to comet 67P/Churyumov-Gerasimenko, and (b) Earth to asteroid Dionysus. The reason for solving these OCPs is that they represent a broad range of maneuvers consisting of multiple orbital revolutions that require a noticeable change in the inclination of the spacecraft’s orbit. Second, the RDF method is applied to an orbit-raising problem in which the objective is to maximize the final circular radius. Finally, the RDF method is applied to a high-thrust, minimum-fuel, rocket-landing problem. We emphasize that for solving low-thrust trajectory optimization problems, we have used the set of MEEs [42] due to their advantages compared to the set of Cartesian coordinates [39,40,41]. However, the thrust costate differential equation takes the following form

$$\begin{aligned} \dot{\lambda }_{T} = -\frac{\delta }{m}\left( K_{vr}u_r + K_{vt}u_t + K_{vn}u_n - K_{m}\frac{m}{c}\right) , \end{aligned}$$
(27)

where \(K_{vr}\), \(K_{vt}\), \(K_{vn}\) denote the constant velocity costate in the osculating frame, \(u_r\), \(u_t\), and \(u_n\) denote radial, transversal and normal (along specific angular momentum vector) components of the thrust unit direction vector expressed in the osculating coordinate attached to the spacecraft [41]. Based on the study that we presented in Sect. 4, for all problems, we can use the scaling to demonstrate that costates can be forced to remain constant along the trajectory. Thus, we have used the reduced form of the \(\dot{\lambda }_T\) equation in the provided results. The values \(K_{vr}\), \(K_{vt}\), \(K_{vn}\) and \(K_{m}\) are set to 1 in the following examples. All the TPBVPs associated with the RDF method are solved using GPOPS-II [47].

6.1 Earth-Comet 67P/Churyumov-Gerasimenko Rendezvous problem

According to the counting scheme followed in this paper, for the RDF method, \(n=7\) and \(l=1\). The boundary conditions along with the spacecraft engine parameters for this problem (referred to as Earth-67P) are taken from [51]. Canonical scaling explained in Sect. 3.1 is used. The spacecraft’s initial position vector is \(\varvec{r}(t_0) = [-10687809.15, -151602518.3, 8676.494013]^{\top }\) km and the initial velocity vector is \(\varvec{v}(t_0) = [29.22497601, -2.197707221, 0.000972199]^{\top }\) km/s. The target position vector is \(\varvec{r}_T = [-536251927.7, -126576922.3, 14541016.26]^{\top }\) km and the target velocity vector is \(\varvec{v}_T = [-6.858900316, -13.35248149, -0.453167946]^{\top }\) km/s. All vectors are given in the Sun-Centered Inertial frame. The total fixed time of flight is 1776 days. The initial mass of the spacecraft is 3000 kg. The electric propulsion system has the following parameters: nominal initial thrust, \(T_0=0.6\) Newtons, constant specific impulse, \(I_\text {sp}=3000\) seconds.

Table 6 Minimum-fuel Earth-67P problem: desensitization simulation results using the RDF method
Fig. 16
figure 16

Minimum-fuel Earth-67P problem: thrust costate history using the RDF method

Fig. 17
figure 17

Minimum-fuel Earth-67P problem: thrust switching history using the RDF method

Fig. 18
figure 18

Minimum-fuel Earth-67P problem: three-dimensional view of trajectory for different values of Q

The global extremal trajectory for this problem is known with a final mass of 2092.1 kg and the spacecraft makes two orbital revolutions around the Sun. The plots for the evolution of thrust costate, thrust switching, components of the unit thrust direction vector, and three-dimensional trajectory are shown in Figs. 16, 17, and 18, respectively. To check for desensitization, the value of the initial thrust is increased and decreased by 5%. Simulation results are summarized in Table 6. The slope of the thrust costate curve during thrusting is 2.9368 kg/N/day for both sensitive and desensitized solutions. Table 6 suggests that the Earth-Comet 67P trajectory is desensitized as the value of Q is increased. Figure 17a suggests that the number of thrust switches for the desensitized trajectory is 6 and for the sensitive trajectory is 7. The sensitive trajectory has an initial coasting that suggests that it has a late-departure arc. This is not observed in the desensitized trajectory, and thrust desensitization is achieved by thrusting from the start of the mission. This is attributed to the Oberth effect, which suggests a greater change in mechanical energy due to the thrust of the spacecraft being possibly near the perihelion than in the aphelion. Table 7 summarizes the thruster on and off times for the sensitive and desensitized trajectories. The thruster is switched on for about 511.993 days and 565.881 days for the entire sensitive and desensitized trajectory respectively. Desensitization with thrust value is achieved through this extra thrusting in the desensitized trajectory, but this also leads to an increased consumption of fuel that results in a lower final mass. Thus, there is a trade-off between desensitization and optimality.

Table 7 Minimum-fuel Earth-67P problem: Thrust switching times for sensitive and desensitized trajectory. (\(T_\text {on}\)-time when the thruster is turned on, \(T_\text {off}\)-time when the thruster is turned off)

6.2 Earth-Dionysus Rendezvous Problem

The boundary conditions along with the spacecraft engine parameters are taken from Reference [40] for this problem. The spacecraft’s initial position and velocity vectors are \(\varvec{r}(t_0) = [-3637871.081, 147099798.784, -2261.441]^{\top }\) km and \(\varvec{v}(t_0) = [-30.265097, -0.8486854, 0.0000505]^{\top }\) km/s respectively. The target position vector is \(\varvec{r}_T = [-302452014.884, 316097179.632, 82872290.075]^{\top }\) km and the target velocity vector is \(\varvec{v}_T = [-4.53347379984, -13.1103098008, 0.65616382602]^{\top }\) km/s. All vectors are given in the Sun-Centered Inertial frame. Canonical scaling explained in Sect. 3.1 is used for this problem. The total time of flight is 3534 days. The initial mass of the spacecraft is considered as 4000 kg. The electric propulsion system has the following parameters: nominal initial thrust, \(T_0=0.32\) Newtons, constant specific impulse, \(I_\text {sp}=3000\) seconds. The global extremal trajectory for this problem is known with a final mass of 2718.16 kg and the spacecraft makes five orbital revolutions around the Sun. The plots for the evolution of thrust costate, thrust switching and components of the unit thrust direction vector, and three-dimensional trajectory are shown in Figs. 19a, 20 and 21. Figure 19b shows the time histories of inclination, semi-major axis and eccentricity.

Fig. 19
figure 19

Minimum-fuel Earth-Dionysus problem: desensitized thrust costate (left) and orbital elements (right) vs. time using the RDF method for different values of Q

Fig. 20
figure 20

Minimum-fuel Earth-Dionysus problem: desensitized thrust switching vs. time using the RDF method

Fig. 21
figure 21

Minimum-fuel Earth-Dionysus problem: three-dimensional view of trajectory for different values of Q

To check for desensitization, the value of the initial thrust is increased and decreased by 2%. Desensitized simulation results are summarized in Table 8 and suggest that the Earth-Dionysus trajectory is desensitized as the value of Q is increased. Figure 20a indicates that the number of thrust switches for the sensitive trajectory is 12 and for the desensitized trajectory is 9. Table 9 summarizes the thruster on and off times for the sensitive and desensitized trajectories. The thruster is switched on for about 1357.869 days and 1523.608 days for the entire sensitive and desensitized trajectories respectively. Desensitization with thrust value is achieved through this extra thrusting in the desensitized trajectory, but this also leads to an increased consumption of fuel that results in a lower final mass. The slope of the thrust costate curve during thrusting is 2.9368 kg/N/day for both the sensitive and desensitized solution. The sensitive minimum-fuel trajectory has a late-departure coast, that is not seen in the desensitized solution. Also, Fig. 19b suggests that the inclination change for the desensitized trajectory is achieved gradually over time, when compared to the sensitive trajectory, where the majority of the change in the inclination occurs at the largest distance from the Sun.

Table 8 Minimum-fuel Earth-Dionysus problem: desensitization simulation results using the RDF method
Table 9 Minimum-fuel Earth-Dionysus problem: Thrust switching times for sensitive and desensitized trajectories. (\(T_\text {on}\)-time when the thruster is turned on, \(T_\text {off}\)-time when the thruster is turned off)

6.3 Orbit-Raising Problem

Here, the RDF method is applied to a standard orbit-raising problem [43]. Let \(\varvec{x} = [r,u,v]^{\top }\) denote the state vector, where r denotes radial coordinate, u denotes radial velocity, and v denotes transverse velocity. According to the counting scheme used in this paper, \(n=3\) and \(l=1\) for the orbit-rising problem. Therefore, if the C-DOC method is used, a total of 8 differential equations (\(2(n+l) = 2(3+1) = 8\)) are needed, while only 4 differential equations (\(n+l = 3+1 = 4\)) are needed for the RDF method. A planar two-dimensional model is considered and the state dynamics are written in polar coordinates as

$$\begin{aligned} \dot{r}&= u,&\dot{u}&= \frac{v^2}{r} - \frac{\mu }{r^2} + \frac{T}{m_0 - |\dot{m}|t}\sin (\phi ),&\dot{v}&= \frac{-uv}{r} + \frac{T}{m_0 - |\dot{m}|t} \cos (\phi ),&\dot{T}&=0, \end{aligned}$$
(28)

where T denotes propulsive thrust, m is the spacecraft mass, and \(\phi\) is the thrust steering angle, which is the scalar control input. The time rate of change of thrust costate, \(\dot{\lambda }_T\), can be derived as

$$\begin{aligned} \dot{\lambda }_T = -\left( \frac{\lambda _u\sin (\phi )+\lambda _v\cos (\phi )}{m_0 + \dot{m}(t-t_0)}\right) \overset{RDF}{\rightarrow }\ \dot{\lambda }_T = -\left( \frac{\sin (\phi )+\cos (\phi )}{m_0 + \dot{m}(t-t_0)}\right) , \end{aligned}$$
(29)

where \(\lambda _u\) and \(\lambda _v\) denote the costates of radial and transversal velocities respectively.

The aim is to maximize the final radius, and by following Eq. (18), the desensitizing cost functional is given as

$$\begin{aligned} \underset{\phi \in [0, 2 \pi ]}{\mathop {\text {minimize}}}\,J = -r(t_f) + \int _{t_0}^{t_f} Q \lambda _T^2 \ dt. \end{aligned}$$
(30)

The differential equations that will be considered while solving the orbit-raising problem are given in Eq. (28) (excluding \(\dot{T} = 0\)) and (29). The scaled boundary conditions at initial time \(t_0 = 0\) for the radial coordinate, radial velocity, transverse velocity, mass and thrust are 1, 0, 1, 1, and 0.1405, respectively. The fixed total time of flight in scaled unit is 3.32 and \(\dot{m} = -0.0749\). The boundary conditions at final time \(t_f\) are

$$\begin{aligned} u(t_f)&=0,&v(t_f)&= \sqrt{\frac{1}{r(t_f)}},&\lambda _T(t_f)&=0. \end{aligned}$$
(31)

The plots of orbit radius evolution, thrust costate evolution and control history for initial thrust, \(T_0=0.1405\) are shown in Figs. 22, 23a and 25b, respectively. The final radius for the sensitive solution (\(Q=0\)) is \(r(t_f)=1.525\). To visualize the effect of desensitization on the orbit-raising problem, the radius profile for different values of thrust in the range of 0.1355 to 0.1455 was plotted for \(Q=0\) and \(Q=20\) and is shown in Fig. 22. Clearly, the dispersion in the final radius for \(Q=0\) is larger, when compared to \(Q=20\). To check for desensitization, the initial thrust value was changed to 0.1505 and 0.1305. The desensitization results are summarized in Table 10. Table 10 suggests that the change in the final radius, \(r(t_f)\) is reduced as the value of Q is increased.

Fig. 22
figure 22

Orbit-raising problem: radius dispersion vs. time for different values of thrust

Fig. 23
figure 23

Orbit Raising problem: desensitized profiles of thrust costate and control

Table 10 Orbit-raising problem: desensitization simulation results using the RDF method

6.4 Rocket-Landing Problem

A lunar rocket-landing guidance problem is formulated by assuming a lander with a 2-dimensional position and rotation that is equipped with a gimbaled propulsion system. An illustration of the problem is shown in Fig. 24. The goal of the optimization problem is to guide the lander to a soft touchdown by consuming the least amount of propellant. The state vector is constructed to include information regarding the position, \([x, y]^\top\), velocity, \([v_x, v_y]^\top\), rotational dynamics, \([\theta , \omega ]^\top\) and mass, m. To desensitize the trajectory, thrust T is elevated as one of the states. According to the counting scheme used in this paper, \(n=7\) and \(l=1\) for this problem. Therefore, if the C-DOC method is used, a total of 16 differential equations (\(2(n+l) = 2(7+1) = 16\)) are needed, while only 8 differential equations (\(n+l = 7+1 = 8\)) are needed for the RDF method. The dynamics of the lander can be written as

Fig. 24
figure 24

Illustration of the rocket-landing problem with a glideslope constraint

$$\begin{aligned} \begin{aligned} \dot{x}&=v_x,&\dot{y}&=v_y,&\dot{v}_x&=-\frac{T\delta }{m} \sin (\theta +u),&\dot{v}_y&= \frac{T\delta }{m} \cos (\theta +u) - g,&\\ \dot{\theta }&= \omega ,&\dot{\omega }&=-\frac{L T \delta }{J} \sin (u),&\dot{m}&=-\alpha T \delta ,&\dot{T}&= 0, \end{aligned} \end{aligned}$$
(32)

where \(T\) denotes the maximum thrust produced by the propulsion system, \(\delta \in [0.25,1]\) is the throttle magnitude, \(u \in [-10^{\circ }, 10^{\circ }]\) (with an abuse of notation) is the thrust gimbal angle, \(g=1.625\) ms\(^{-2}\) denotes the surface gravitational acceleration of the moon, \(L=0.5\) m is the thrust lever arm, moment of inertia is \(J=10^5\) kg m\(^2\), and \(\alpha = 1/(I_\text {sp}g_E)\) denotes the propellant consumption rate coefficient with \(I_\text {sp}=370\) s and \(g_E = 9.807\) ms\(^{-2}\) is the sea-level gravitational acceleration of Earth. The total fixed time of flight is 82.863 s. The augmented cost functional becomes

$$\begin{aligned} \underset{\delta \, \& \,u}{\mathop {\text {minimize}}}\,J = -m(t_f)+ \int _{t_0}^{t_f} Q \lambda _T^2(t) \ dt, \end{aligned}$$
(33)

where \(\lambda _T\) denotes the thrust costate. By following the steps outlined in Sect. 3, the thrust costate dynamics can be written as

$$\begin{aligned} \dot{\lambda }_T = \lambda _{vx}\frac{\delta }{m} \sin (\theta +u) - \lambda _{vy}\frac{\delta }{m} \cos (\theta +u) + \lambda _\omega \frac{L \delta }{J} \sin (u) + \lambda _m \alpha \delta , \end{aligned}$$
(34)

where \(\lambda _{vx}\) and \(\lambda _{vy}\) denote the costates of velocity, \(\lambda _\omega\) is the costate of angular velocity and \(\lambda _m\) is the mass costate. Following the RDF method, the thrust costate differential equation in Eq. (34) can be simplified as

$$\begin{aligned} \dot{\lambda }_T = \frac{\delta }{m} \sin (\theta +u) - \frac{\delta }{m} \cos (\theta +u) + \frac{L \delta }{J} \sin (u) + \alpha \delta . \end{aligned}$$
(35)

Equations (32) and (35) are the differential equations that will be considered for desensitization simulations. The state vector is \(\varvec{X}(t)^{\top }=[x,y,v_x,v_y,\theta ,\omega ,m,\lambda _T]\). The boundary conditions for this problem are \(x(t_0) = 0.5\) km, \(y(t_0)=1.4\) km, \(v_x(t_0) = 80\) km/hr, \(v_y(t_0) = -100\) km/hr, \(\theta (t_0) = -30\) deg, \(\omega = 0\) deg/s, \(m(t_0) = 25,000\) kg, \(\lambda _T(t_0)\) is free, \(x(t_f) = 0\) km, \(y(t_f) = 0.5 \times 10^{-3}\) km, \(v_x(t_f) = 0\) km/hr, \(v_y(t_f) = 0\) km/hr, \(\theta (t_f) = 0\) deg, \(\omega (t_f) = 0\) deg/s, \(m(t_f)\) is free, \(\lambda _T(t_f) = 0\). The nominal thrust is \(T = 80\) kN. It is also common to consider a glideslope constraint to avoid colliding with any potential object (e.g., boulders). The glideslope constraint can be written as

$$\begin{aligned} |x| - \frac{y}{\tan (\gamma _{gs})} \le 0. \end{aligned}$$
(36)

A glideslope angle of \(\gamma _{gs}=45\) deg is considered in this paper. To check for desensitization, simulations were performed for different values of Q and by increasing the nominal thrust by \(5\%\). The desensitization simulation results are summarized in Table 11. The last column in Table 11 refers to the difference in the final mass when the thrust is increased by \(5\%\). Table 11 suggests that as the value of Q increases, the difference in the mass at the final time gets reduced. The time histories for the thrust magnitude and gimbal angle are plotted in Fig. 25a and b respectively. Clearly, the control profile of the desensitized problem (\(Q=1.0 \times 10^6\)) is different from the sensitive solution (\(Q=0\)). In addition, the thrust magnitude exhibits fewer switches for the desensitized trajectory. Table 12 summarizes the thruster switch times for the sensitive and desensitized trajectories. The thruster operates at its maximum throttle value for about 41.234 seconds and 42.336 seconds along the entire sensitive and desensitized trajectories respectively. Desensitization with thrust value is achieved through this extra thrusting in the desensitized trajectories, but this also leads to an increased consumption of fuel that results in a lower final mass. Figs. 26 and 27 depicts the solution of a Monte Carlo analysis, where the thrust value was changed in the range of \(76,000-84,000\) N during the analysis. An important observation from Fig. 26 is that the desensitized trajectory stays farther away from the glideslope constraint than the sensitive trajectory. This gives the desensitized trajectory freedom in changing the trajectory to achieve mass desensitization. The reduced dispersion in the final mass value for the desensitized solution can be seen in Fig. 27. The plot for the thrust costate vs. time is shown in Fig. 28. Unlike the results in Figs. 13, 16 and 19a, \(\lambda _T\) of the rocket-landing problem has multiple slope values.

Table 11 Rocket-landing problem: desensitization simulation results using the RDF method
Fig. 25
figure 25

Rocket-landing problem control profiles using the RDF method for different Q values

Table 12 Rocket-landing problem: Thrust switching times for sensitive and desensitized trajectories. (\(\delta _\text {high}\)-time when \(\delta _\text {high}=1\), \(\delta _\text {low}\)-time when \(\delta _\text {low}=0.25\)). Time unit is seconds
Fig. 26
figure 26

Rocket-landing problem: Monte Carlo trajectory analysis using the RDF method for different Q values

Fig. 27
figure 27

Rocket-landing problem: mass profile Monte Carlo analysis using the RDF method for different Q values

Fig. 28
figure 28

Rocket-landing problem: thrust costate vs. time using the RDF method for different Q values

7 Conclusion

A novel scalable method for generating open-loop desensitized solutions to optimal control problems (OCPs) is developed—Reduced Desensitization Formulation (RDF). The application of the RDF is demonstrated by solving three different classes of problems: (1) minimum-fuel low-thrust interplanetary rendezvous maneuvers, (2) low-thrust orbit-raising maneuvers, and (3) high-thrust minimum-fuel rocket-landing problem in the presence of a glide-slope constraint. The considered problems all exhibit desensitized cost with respect to the uncertainties in the thrust magnitude produced by the propulsion system. The results indicate that for minimum-fuel, low-thrust trajectories, the late-departure coasts (that constitute an early phase of the sensitive open-loop trajectories) are no longer present in the desensitized trajectories. In essence, the majority of the inclination and energy change occurs during the early phases of the trajectory. This change is more pronounced in long-time horizon maneuvers, such as the trajectory from Earth to asteroid Dionysus.

For the orbit-raising problem, since the final radius is the objective of the problem, the desensitized trajectories exhibit less dispersion in the final radius. For the rocket-landing problem, with the final mass being the objective, the desensitized trajectory “stays far” from the glideslope constraint in order to gain flexibility in modifying the thrust switching. Results indicated that for OCPs with bang-bang control profiles, the number of control switches decreases compared to the sensitive optimal solutions. Another important result, for the class of problems with bang-bang control profiles, is that the slope of the costate associated with the thrust is exactly equal to the slope of the same costate, when the optimal control of the sensitive optimal control is used. As a result, and since the costate of thrust at the final time has to be zero, the differences in the costate profiles are at the initial value of the costates and the number of switches. For the rocket-landing problem, both thrust and gimbal angle affect the trajectory, the slope of the thrust costate has multiple slope values along the sensitive and desensitized trajectories, but the corresponding slope values for both the sensitive and desensitized trajectories are the same.

The results indicate that for all the considered problems, the value of cost functional associated with the desensitization results in a slightly worse cost when compared to the sensitive problem results. This is expected since there is an inevitable trade-off in cost when obtaining open-loop desensitized optimal solutions. Although we lose optimality with respect to the cost functional value of the sensitive optimal control problem, we gain significantly from a practical spacecraft operations perspective. For instance, by using desensitized trajectories, the spacecraft trajectory is less affected in the presence of thrust magnitude uncertainties. The optimal control is also less likely to be updated due to uncertainty in the parameters, and this will reduce the number of times the trajectory needs to be re-planned on the ground and up-linked to the spacecraft.