Comparison of the Legendre–Gauss pseudospectral and Hermite–Legendre–Gauss–Lobatto methods for low-thrust spacecraft trajectory optimization

  • 86 Accesses


Low-thrust spacecraft propulsion systems enable fuel-efficient trajectories through space but the resulting trajectory optimization problems can be challenging. Such problems often use direct collocation methods for transcribing the optimal control problem into a nonlinear programming problem. In this work, the Hermite–Legendre–Gauss–Lobatto (HLGL) and the Legendre–Gauss pseudospectral (PS) direct collocation methods have been compared for a minimum-time low-thrust Earth-to-Mars transfer problem. It is demonstrated that trajectories with different time domains can be effectively compared using points that correspond to the same normalized times. Various metrics that describe the computational cost as well as the errors with respect to a reference trajectory have been used. For the HLGL method, the number of subintervals (m) and the order of the interpolating polynomial (n), can be varied such that the number of nodes (N) stays constant. The distribution of the number of such (mn) pairs is analysed using the concept of divisor functions from number theory and an algorithm for determining all the possible combinations for any N value is developed. In addition, a method is presented by which the Edelbaum trajectory is used to set bounds, scale the problem, and generate a suitable initial guess. The primary contribution of this paper involves a detailed comparison of the performance of all the HLGL pairs with the PS method for nodes in the range \(N = 6\) to \(N = 40\) for the minimum-time low-thrust Earth-to-Mars transfer.


Low-thrust electric propulsion for spacecraft provides a fuel- efficient mode of transportation in space. Because of the high specific impulses of these engines, they have been used for a variety of missions with the first interplanetary spacecraft to use this technology being Deep Space I [4]. The primary challenge with the optimization of low-thrust trajectories is due to the large search space caused by the continuous thrusting, the non-Keplerian nature of the orbits, and the long mission durations. As with high-thrust trajectory optimization, a suitable initial guess to an optimization algorithm is required in order to obtain a converged solution. An effective method of generating these initial guesses is through the use of shape-based methods that use functions with limited parameters to model a family of low-thrust trajectories [17, 22, 24]. To satisfy the equations of motion and the boundary conditions, different systems of equations corresponding to each shape-based method need to be solved. Petropoulos and Longuski [16] developed the four-parameter exponential sinusoid model to approximate near-planar low-thrust trajectories. Research by Wall and Conway [23, 24] developed an inverse polynomial model that can be used for a three-dimensional rendezvous mission with up to a 15 \(^\circ \) inclination change with a specified starting and ending time. Another type of analytical solution is based on the work by Edelbaum [7], which provides expressions for a minimum-time coplanar circle-to-circle transfer with a low, constant, tangential thrust, for which the terminal phase cannot be specified [6]. Such methods are useful for rapidly searching large areas of the feasible set, which can reduce computational times for problems such as gravity assist optimization [13]. Once an estimate of an optimal trajectory has been found using analytical methods, it can be supplied as an initial guess to a direct transcription method for finer optimization [16].

Direct transcription methods, also called direct collocation methods, convert the optimal control problem into a Nonlinear Programming (NLP) problem through transcription onto a discrete set of points in the time domain. Compared to the calculus of variations-based indirect methods, direct methods do not require the derivation of the first-order necessary conditions and are less sensitive to the initial guess [3]. These methods can be further divided into global collocation methods and local collocation methods. Global collocation methods use an approximating function over the entire time interval. An area of active research involves a class of methods known as pseudospectral methods, which have been generally used as global methods [20]. These methods use orthogonal basis polynomials to approximate the state and control and use orthogonal collocation points to achieve accurate quadrature approximations. For smooth problems, pseudospectral methods have the property of spectral, or exponential, convergence [21]. Garg et al. [9] have compared the Legendre–Gauss–Lobatto (LGL), Legendre–Gauss (LG), and Legendre–Gauss–Radau (LGR) variants of the pseudospectral method in depth and developed the transformations between the Karush–Kuhn–Tucker multipliers of the NLP problem and the costates of the continuous problem. Local collocation methods break the time interval into segments and within each of these segments, piecewise functions are used to approximate the state and control histories. A well-known method is the Hermite–Simpson method where within each segment, cubic polynomials are used to approximate the state and linear functions are used to approximate the control. Herman and Conway [12] have compared the performance of direct collocation methods that use higher order Gauss–Lobatto quadrature rules. Williams developed a framework known as the Hermite–Legendre–Gauss–Lobatto (HLGL) method for higher odd-ordered Gauss–Lobatto rules [27]. This method avoids the detailed analytical derivation of the constraints needed in the work by Herman and Conway [12] and takes a generalized matrix based approach.

Numerical comparisons of the performance of different direct methods with respect to the number of time discretization nodes, N, is an important research topic. In fact, as expressed by Shirazi et al. [22] in their recent survey paper, there is no widely accepted way to do comparisons of spacecraft trajectory optimization methods. Williams conducted [26, 27] a comparison of various direct transcription methods using five different values of N and later using eight different values of N for the HLGL method. Wang et al. [25] compared the LGL, LG, and LGR pseudospectral methods for a minimum-fuel Earth-to-Mars rendezvous mission but restricted their analysis to \(N=42\). García-Heras et al. [8] compared the Hermite–Simpson, the 5th-order HLGL, the Chebyshev–Gauss–Lobatto, and the LGL methods for a minimum-fuel air traffic management problem but not all of the methods were compared for the same N values.

It is apparent that there is limited research into a comparison of direct methods for a fine mesh of N values with a thorough investigation, for local methods, of all the combinations of the number of subintervals and the order of the interpolating polynomial for a given N value. As a complement to the existing research, and to address this research gap, a detailed comparison of the local Hermite–Legendre–Gauss–Lobatto (HLGL) and the global Legendre–Gauss pseudospectral (PS) direct methods for fixed problem sizes in the range \(N = 6\) to \(N = 40\) has been performed here for a minimum-time interplanetary spacecraft trajectory optimization problem.

Table 1 Summary of the Legendre–Gauss pseudospectral and Hermite–Legendre–Gauss–Lobatto methods


A formulation of a general continuous optimal control problem stated in the Bolza form [5], is as follows:

$$\begin{aligned}&{\text {Minimize}} \quad J = \phi \left( {{\varvec{x}}}_f,t_f\right) + \int _{t_0}^{t_f} {\mathcal {L}}\left( {{\varvec{x}}}\left( t\right) ,{{\varvec{u}}}\left( t\right) ,t\right) \mathrm{d}t \nonumber \\&{\text {Subject To:}}\nonumber \\&\dot{{{\varvec{x}}}}\left( t\right) = {{\varvec{f}}}\left( {{\varvec{x}}}\left( t\right) ,{{\varvec{u}}}\left( t\right) ,t\right) \nonumber \\&g_i\left( {{\varvec{x}}}\left( t\right) ,{{\varvec{u}}}\left( t\right) ,t\right) \le 0, \quad i = 1,2, \ldots ,n_g \nonumber \\&h_i\left( {{\varvec{x}}}\left( t\right) ,{{\varvec{u}}}\left( t\right) ,t\right) = 0, \quad i = 1,2,\ldots ,n_h \end{aligned}$$

where \({{\varvec{x}}}(t) \in {{\mathbb {R}}}^{n_{x}}\) is the state, \({{\varvec{u}}}(t) \in {{\mathbb {R}}}^{n_u}\) is the control, \({{\varvec{x}}}_f\) is the terminal state, \(t_f\) is the terminal time, and J is the objective function. The functions \(g_i\) and \(h_i\) correspond to the inequality and equality constraints, respectively. It is important to note that the general formulation in Eqs. (1) is suitable for both minimum-time as well as minimum-fuel optimizations, due to the presence of \(t_f\) and \({{\varvec{u}}}(t)\) in the definition of J.

Edelbaum transfer

Edelbaum published his analytic equations for a low-thrust minimum-time transfer between two inclined circular orbits of radii \(r_0\) and \(r_f\) based on Gauss’ variational equations [7]. For the case of a coplanar circle-to-circle transfer, these equations simplify [6] to:

$$\begin{aligned} r(t)= & {} \frac{\mu }{\left( \sqrt{\frac{\mu }{r_0}} - ft\right) ^2} \nonumber \\ \theta (t)= & {} \frac{\mu }{4f}\left( \frac{1}{r_0^2} - \frac{1}{r^2\left( t\right) }\right) \nonumber \\ {\dot{r}}\left( t\right)= & {} \frac{2\mu f}{\left( \sqrt{\frac{\mu }{r_0}} - ft\right) ^3} \nonumber \\ {\dot{\theta }}(t)= & {} \frac{\mu }{2f}\left( \frac{{\dot{r}}\left( t\right) }{r^3\left( t\right) }\right) \nonumber \\ T_m= & {} \left( \frac{1}{f}\right) \left( \sqrt{\frac{\mu }{r_0}} - \sqrt{\frac{\mu }{r_f}}\right) , \end{aligned}$$

where we assume a small, constant, tangential thrust (f), a small eccentricity throughout the transfer, and a long transfer time \((T_m)\) relative to the orbital period [6, 7]. The quantity \(\mu \) is the standard gravitational parameter and \(\theta \) is the true anomaly. Since we have constant thrust, this coplanar transfer is optimal with respect to both time and fuel.

The Edelbaum equations are not as flexible as some of the other analytical methods such as exponential sinusoids and inverse polynomials because they only depend on \(r_0\), \(r_f\), and the thrust magnitude f. For this reason, they cannot be used to generate trajectories for rendezvous missions where the time of flight and terminal position are constraints. However, the real power of Edelbaum’s equations lies in the fact that they can be used as an initial guess for direct transcription methods to solve closely related minimum-time problems.

Legendre–Gauss pseudospectral method

The continuous optimal control problem in Eqs. (1) can be transformed into an NLP problem using the Legendre–Gauss pseudospectral method [9]:

$$\begin{aligned}&{\text {Minimize}} \quad J = \phi \left( {\mathbf {X}}_{N+1},t_f\right) \nonumber \\&\quad + \left( \frac{t_f - t_0}{2}\right) \sum _{i = 1}^{N}w_i{\mathcal {L}}\left( {\mathbf {X}}_{i},{\mathbf {U}}_{i},t\left( \tau _i\right) \right) \nonumber \\&{\text {Subject To:}} \nonumber \\&\quad g_i\left( {\mathbf {X}}_{1:N+1},{\mathbf {U}}_{1:N+1},t\left( {\varvec{\tau }}_{1:N+1}\right) \right) \le 0, \quad i = 1,2,\ldots ,n_g \nonumber \\&\quad h_i\left( {\mathbf {X}}_{1:N+1},{\mathbf {U}}_{1:N+1},t\left( {\varvec{\tau }}_{1:N+1}\right) \right) = 0, \quad i = 1,2,\ldots ,n_h \nonumber \\&\quad {\mathbf {h}}_{{PS}} ~{:}{=}~ {\mathbf {DX}}_{0:N} - \left( \frac{t_f - t_0}{2}\right) {\mathbf {F}}\left( {\mathbf {X}}_{1:N},{\mathbf {U}}_{1:N}, t\left( {\varvec{\tau }}_{1:N}\right) \right) = {\mathbf {0}},\nonumber \\ \end{aligned}$$

where the problem has been discretized at the set of N Legendre–Gauss collocation points \({\varvec{\tau }}_{1:N}\). The \(w_i\) are the Legendre–Gauss quadrature weights. Lagrange basis polynomials are used to form a global Nth-order polynomial to interpolate the state and control. The quantities \({\mathbf {X}}_{1:N}\) and \({\mathbf {U}}_{1:N}\) are the matrices composed of rows of the state and control vectors, respectively, at \({\varvec{\tau }}_{1:N}\). \({\mathbf {F}}\) is the state derivative matrix at \({\varvec{\tau }}_{1:N}\) evaluated using the equations of motion, and \({\mathbf {D}}\) is the differentiation matrix such that \({\mathbf {DX}}_{0:N}\) gives the derivative of the interpolating polynomial for the state at each of the collocation points. It should be noted that an additional \(Nn_x\) equality constraints, which are due to the PS method, have been added to the problem. These are denoted by \({\mathbf {h}}_{{PS}}\) and are enforced at the collocation points \({\varvec{\tau }}_{1:N}\). The other equality and inequality constraints, \(g_i\) and \(h_i\), are enforced at \({\varvec{\tau }}_{1:N+1}\) with the expectation that a high enough N is likely to cause the entire interpolated solution to satisfy the constraints. For a summary of this method in relation to the HLGL method, please see Table 1. For a detailed derivation of the Legendre–Gauss pseudospectral method, please see Appendix A.

Hermite–Legendre–Gauss–Lobatto method

The continuous optimal control problem in Eqs. (1) can be transformed into an NLP problem using the Hermite–Legendre–Gauss–Lobatto method [27]:

$$\begin{aligned}&{\text {Minimize}} \quad J = \phi \left( {\mathbf {x}}_m\left( 1\right) ,t_f\right) \nonumber \\&\quad + \sum _{i=1}^{m}\frac{h_i}{2}\sum _{j = 1}^{n}w_j{\mathcal {L}}\left( {\mathbf {x}}_i\left( \xi _j\right) ,{\mathbf {u}}_i\left( \xi _j\right) ,t_i\left( \xi _j\right) \right) \nonumber \\&{\text {Subject To:}} \nonumber \\&\quad g_i\left( {\mathbf {x}}\left( {\varvec{\gamma }}\right) ,{\mathbf {u}}\left( {\varvec{\gamma }}\right) ,t\left( {\varvec{\gamma }}\right) \right) \le 0, \quad i = 1,2,\ldots ,n_g \nonumber \\&\quad h_i\left( {\mathbf {x}}\left( {\varvec{\gamma }}\right) ,{\mathbf {u}}\left( {\varvec{\gamma }}\right) ,t\left( {\varvec{\gamma }}\right) \right) = 0, \quad i = 1,2,\ldots ,n_h \nonumber \\&\quad {\mathbf {h}}_\mathrm{{HLGL}} := {\varvec{\varPhi }}_{d_i}^T{\mathbf {b}}_i \nonumber \\&\quad -\frac{h_i}{2}{\mathbf {F}}\left( {\varvec{\varPhi }}_i^T{\mathbf {b}}_i,{\mathbf {u}}_i\left( {\varvec{\zeta }}_i\right) ,t_i\left( {\varvec{\zeta }}_i\right) \right) = {\mathbf {0}}, \quad i = 1,2, \ldots ,m\nonumber \\ \end{aligned}$$

where the time domain has been split into m subintervals. Within each subinterval, Hermite interpolation is used to form an nth-order polynomial to approximate the state while linear interpolation is used to approximate the control. For subinterval i, the n LGL points \(\xi \) are divided into \(\frac{n+1}{2}\) nodes denoted by \(\gamma \) and \(\frac{n-1}{2}\) collocation points denoted by \(\zeta \). In total, across all subintervals, this problem has N nodes. The term \(w_j\) denotes the Legendre–Gauss–Lobatto quadrature weights within each subinterval. The quantities \({\mathbf {x}}_i\) and \({\mathbf {u}}_i\) are the state and control approximations at the ith subinterval while \({\mathbf {x}}\) and \({\mathbf {u}}\) represent the approximations of the full state and control trajectories, respectively, in \([t_0,t_f]\). The quantity \({\varvec{\varPhi }}_{d_i}^T{{\varvec{b}}}_i\) represents the derivative of the approximating polynomial for the state evaluated at \({\varvec{\zeta }}_i\) while \({\varvec{\varPhi }}_i^T{{\varvec{b}}}_i\) just represents the polynomial evaluated at those points. An additional \(mn_x(\frac{n-1}{2})\) equality constraints, due to the HLGL method, have been added to the problem. The \({\mathbf {h}}_\mathrm{HLGL}\) constraints are enforced at the collocation points, whereas the other constraints, \(g_i\) and \(h_i\), are enforced at the nodal points. For a summary of this method in relation to the PS method, please see Table 1. For a detailed derivation of the Hermite–Legendre–Gauss–Lobatto method, please see Appendix B.

Problem formulation: Earth-to-Mars orbital transfer

The dimensional problem statement is formulated with the state \({\mathbf{x}} = [r~\theta ~{\dot{r}}~{\dot{\theta }}]\) and the control \({\mathbf{u}} = [u~\alpha ]\), where u is the thrust magnitude and \(\alpha \) is the thrust angle. This can be written as:

$$\begin{aligned}&{\text {Minimize}} \quad J = t_f \nonumber \\&{\text {Subject To:}} \nonumber \\&{\dot{\mathbf{x}}}\left( t\right) = \left[ {\dot{r}} \quad {\dot{\theta }} \quad \left( r{\dot{\theta }}^2 - \frac{\mu _\mathrm{Sun}}{r^2} + u\sin {\alpha }\right) \right. \nonumber \\&\qquad \qquad \left. \left( \frac{-2{\dot{r}} {\dot{\theta }}}{r} + \frac{u\cos {\alpha }}{r}\right) \right] \nonumber \\&\mathbf{x}_{lb} \le {\mathbf{x}} \le {\mathbf{x}}_{ub}\nonumber \\&{\mathbf{x}}_{lb} = \left[ r_\mathrm{Earth} \quad 0 \quad -100\max (|{\dot{r}}_\mathrm{Edel}|) \quad 0\right] \nonumber \\&{\mathbf{x}}_{ub} = \left[ r_\mathrm{Mars} \quad 2(2\pi )\left\lceil {\frac{\theta _{f,\mathrm{Edel}}}{2\pi }}\right\rceil \quad 100\max (|{\dot{r}}_{\mathrm{Edel}}|) \quad \right. \nonumber \\&\quad \left. 100\max (|{\dot{\theta }}_{\mathrm{Edel}}|)\right] \nonumber \\&\left[ 0 \quad -\pi \right] \le {\mathbf{u}} \le \left[ 3 \times 10^{-4} \quad \pi \right] \nonumber \\&1 \le t_f \le 10t_{f,\mathrm{Edel}} \nonumber \\&{\mathbf{x}}\left( 0\right) = \left[ r_\mathrm{Earth} \quad 0 \quad 0 \quad \sqrt{\frac{\mu _\mathrm{Sun}}{r_\mathrm{Earth}^3}}\right] \nonumber \\&{\mathbf{x}}\left( t_f\right) = \left[ r_\mathrm{Mars} \quad \frac{3\pi }{2} + k2\pi \quad 0 \quad \sqrt{\frac{\mu _\mathrm{Sun}}{r_\mathrm{Mars}^3}}\right] , \end{aligned}$$

where the units for \(\mathbf{x}\) are \([\hbox {m} \quad \hbox {rad}\quad \hbox {m/s} \quad \hbox {rad/s}]\), the units for \(\mathbf{u}\) are \([\hbox {N/kg} \quad \hbox {rad}]\), and the unit of t is [s]. The quantities with subscript \((\,\,)_{\,\mathrm{Edel}}\) correspond to the Edelbaum transfer. A linear scaling method is chosen where each of the variables and their bounds are scaled by the corresponding upper bounds so that the problem is non-dimensionalized. In addition, the decision vector lies in \([-1,1]\) because the upper bound of each variable has been chosen to be larger than or equal to the magnitude of the lower bound.

PS and HLGL comparison with constant N

The Legendre–Gauss pseudospectral method and the Hermite–Legendre–Gauss–Lobatto method have been compared for an Earth-to-Mars minimum-time transfer problem for the range \(N = [6,40]\). In addition, the \(N = 64\) PS method and the \(N = 64\) HLGL method with \(n = 3\) were analysed to investigate the behaviour at a higher value of N. The \(n = 3\) HLGL method, using cubic polynomials, is also known as the Hermite–Simpson (HS) method. The reference trajectory for calculating error metrics for trajectories in the range \(N = [6,40]\) was taken to be the solution of the \(N = 64\) PS method as it had a lower objective function value than the \(N = 64\) HS method. These methods have been implemented and compared in Matlab using SNOPT [10] as the NLP solver. The Edelbaum trajectory, shown in Fig. 1, was used as an initial guess for the \(N = 16\) HS method. To make a fair comparison, the result of this optimization was then used as an initial guess for all runs.

Fig. 1

Earth-to-Mars Edelbaum transfer

Optimized Earth-to-Mars trajectory

For \(N = 64\), both the HS method and the PS method result in trajectories that are close to each other, as can be seen in Fig. 2. This suggests that close local minima have been found. The optimal transfer time for the PS method was found to be approximately 354 days while for the HS method, it was found to be about 365 days. If we assume a spacecraft dry terminal mass of \(m_\mathrm{dry} = 300~{\mathrm{kg}}\) and an engine with a specific impulse of \(I_\mathrm{sp} = 3550~{\mathrm{s}}\), it was found that the PS trajectory expended more fuel in trying to minimize the objective as it consumed \(m_\mathrm{fuel} = 90~{\mathrm{kg}}\) while the HS trajectory only consumed \(m_\mathrm{fuel} = 76~{\mathrm{kg}}\). In addition, it was found that the arc length of the PS trajectory was \(8.41\times 10^{11}~{\mathrm{m}}\) while the HS trajectory had a higher arc length of \(8.52\times 10^{11}~{\mathrm{m}}\). This agrees with the lower transfer duration for the PS trajectory.

Fig. 2

Earth-to-Mars optimized trajectory—\(N = 64\)

HLGL (mn) pairs for constant N

To compare the performance of the PS and HLGL methods, it is desirable to keep the problem size approximately constant. This can be done by comparing runs that have the same number of nodes. In this work, we define the problem size to be the length of the NLP vector passed to the NLP solver. The problem size of the global PS method is directly controlled by N, the number of nodes. In contrast, the problem size of the HLGL method is indirectly controlled by m, the number of subintervals, and n, the order of the interpolating polynomial within each subinterval. It is important to note that for a given N value, the size of the NLP vector for the Legendre–Gauss PS method is given by \(N(n_{x} + n_{u}) + 1\) while the size of the NLP vector for the HLGL method is given by \(N(n_x + n_u) - n_x + 1\). The “+1” terms correspond to adding the transfer time to the set of optimization variables. The size of the NLP vector for the HLGL method is lower by \(n_x\) since we omit the initial state from the NLP vector as it is a known quantity. It is, however, augmented internally to evaluate constraints and perform interpolation. For large enough values of N, it is reasoned that the difference of \(n_x\) will be negligible when controlling for the problem size. The relation between N, m, and n can be expressed as

$$\begin{aligned} N = \frac{n+1}{2} + \left( \frac{n-1}{2}\right) \left( m-1\right) , \nonumber \\ \quad \{n \in 2{{\mathbb {Z}}} + 1 \mid 3 \le n \le 2N - 1\}, \end{aligned}$$
Table 2 HLGL (mn) pairs and case numbers—bolded case numbers indicate convergence

where the first term represents the number of nodes in the first subinterval and the second term accounts for the \((n-1)/2\) nodes in each of the remaining \((m-1)\) subintervals. The restrictions on n are necessary to make the number of constraints per interval, \(n_x(n-1)/2\), a positive integer. It is useful to isolate for m in Eq. (6) as a function of N and n and this results in the simple relation

$$\begin{aligned} m = \frac{2\left( N-1\right) }{n-1}, \quad \{n \in 2{{\mathbb {Z}}} + 1 \mid 3 \le n \le 2N - 1\}. \end{aligned}$$

For a given value of N, Eq. (7) can be used to generate possible pairs of (mn) values by iterating through various values of n. To search for valid integer values of m, it is necessary to test positive odd values of n between the lower bound of \(n = 3\) and the upper bound of \(n = 2N-1\). A full listing of the possible (mn) pairs in the range \(N = [6,40]\) is given in Table 2.

Fig. 3

Number of HLGL pairs and its upper bound vs. N

At this point, a connection to number theory can be made here using Ramanujan’s work on divisor functions [19] and Highly Composite Numbers (HCN) [2, 15, 18]. The divisor function

$$\begin{aligned} \sigma _k\left( n\right) = \sum _{d|n}d^k \end{aligned}$$

sums over the kth powers of all d such that d is a divisor of n, which is indicated by d|n. If \(k = 0\), then

$$\begin{aligned} \sigma _0\left( n\right) = \sum _{d|n}d^0 \end{aligned}$$

counts the number of divisors for a given n and is a well-known function in number theory [11]. As the values of \(\sigma _{0} (n)\) are tabulated in the literature [1], if we connect Eq. (7) to this function, then it will be possible to look up the number of valid (mn) pairs for a given N. Let us, therefore, rewrite Eq. (7) as:

$$\begin{aligned} m&= \frac{2\left( N-1\right) }{n-1}, \quad \{n \in 2{{\mathbb {Z}}} + 1 \mid 3 \le n \le 2N - 1\} \end{aligned}$$
$$\begin{aligned}&= \frac{N-1}{\left( \frac{n-1}{2}\right) }, \quad \{n \in 2{{\mathbb {Z}}} + 1 \mid 3 \le n \le 2N - 1\}\end{aligned}$$
$$\begin{aligned}&= \frac{N-1}{k}, \quad \{k \in {{\mathbb {Z}}} \mid 1 \le k \le N - 1\}, \end{aligned}$$

where \(k = \frac{n-1}{2}\). In this form, since any integral value of k from 1 to \(N - 1\) that is a divisor of \(N - 1\) corresponds to an HLGL (mn) pair, we see that the number of HLGL pairs corresponds to the number of divisors of \(N - 1\). To formalize this, let us denote the number of valid HLGL pairs for a given N by \(\eta (N)\). Then we can write

$$\begin{aligned} \eta \left( N\right) = \sigma _0\left( N-1\right) . \end{aligned}$$

With Eq. (13) we are able to use the values of the divisor function to determine the number of possible HLGL pairs for a given N. Additionally, we know that for a natural number p, we can find an upper bound on the number of divisors using \(\sigma _0(p) < 2\sqrt{p}\) and knowing that the number of divisors must be an integral value, we can write \(\eta (N) \le \lfloor {2\sqrt{N-1}}\rfloor \). A plot that shows \(\eta (N)\) for the range \(N = [2,40]\) along with the upper bound of \(\lfloor {2\sqrt{N-1}}\rfloor \) is given in Fig. 3.

Through this process, it can be seen that \(\eta (N)\) is non-monotonic and that there are some values of N that have more valid (mn) pairs than others. Odd values of N tend to result in larger values of \(\eta (N)\) since this causes \(N-1\) in Eq. (13) to be even, and even numbers tend to have more divisors than odd numbers. In 1915, Ramanujan [18] introduced the concept of a Highly Composite Number (HCN) to describe a number q such that \(\sigma _{0}(p)< \sigma _{0}(q) ,~ \forall p < q\). Looking at the spikes in Fig. 3, we see that a maximum value of \(\eta (N) = 9\) occurs at \(N = 37\), which is expected since \(N - 1 = 36\) is the largest HCN less than 48.

Table 3 Comparison metrics for HLGL (mn) pairs with the LG pseudospectral method for \(N = 37\)—bolded case numbers indicate convergence

Calculating errors between spacecraft trajectories with different time domains

For minimum-time spacecraft trajectory optimization problems, since the terminal time is free, the time domains for trajectories resulting from different optimization runs may not be equal. This is certainly the case with using the \(N = 64\) PS trajectory as the reference trajectory, since the transfer duration found by this method is generally smaller than the transfer durations found using the other cases that are being compared. To calculate the Root Mean Square (RMS) errors, corresponding points in time need to be chosen between both trajectories. If we use dimensional time to find the corresponding points, then the reference \(N = 64\) PS trajectory needs to be extrapolated and will diverge quite quickly as this involves a 64th-order polynomial.

The solution used in this paper is to calculate RMS errors by comparing points that correspond not to the same points in dimensional time but to the same points in normalized time \(s \in [-1,1]\). For example, the beginning (\(s = -1\)), middle (\(s = 0\)), and end (\(s = 1\)) of each trajectory can be compared with the corresponding points of the reference trajectory. This idea eschews extrapolation and allows the comparison of two spacecraft trajectories with different time domains. As required, the RMS errors found using this method will approach zero as these trajectories converge.

Specifically, in this work, we calculate the RMS errors of trajectories found using either the PS or HLGL method for the range \(N = [6,40]\), with respect to the \(N = 64\) PS method reference trajectory. First, a set S of \(K_\mathrm{RMS} = 20000\) linearly spaced points in \([-1,1]\) is chosen, including the endpoints. Then the RMS error for the quantity p, which can be a position, velocity, or thrust vector represented in Cartesian coordinates, is calculated as

$$\begin{aligned} E_{\mathrm{RMS},p} = \sqrt{ \sum _{s_i \in S}\frac{\left| p(s_i) - p_\mathrm{ref}(s_i)\right| ^2}{K_\mathrm{RMS}}}, \end{aligned}$$

where \(|\cdot |\) represents the Euclidean norm operator. The quantities \(p(s_i)\) and \(p_\mathrm{ref}(s_i)\) represent the values of p corresponding to \(s_i\) at the comparison and reference trajectories, respectively. To determine \(p(s_i)\), either Lagrange interpolation or Hermite interpolation needs to be applied depending on whether the PS or HLGL method was used to find the comparison trajectory. We note that Lagrange interpolation is used to determine \(p_\mathrm{ref}(s_i)\) since we are using the \(N = 64\) PS trajectory as the reference. For the terminal position error, only the points corresponding to \(s = 1\) are used for the calculation.

Comparison results

The PS method has been compared with the HLGL method for the range \(N = [6,40]\) and each of the HLGL pairs is given a unique case number. If an HLGL run converged, the corresponding case number will be bolded in Table 2 and the data will be included in the figures below. A total of 157 converged trajectories, including the PS runs, have been generated for this analysis. The results for \(N = 37\), which corresponds to the largest number of HLGL (mn) pairs in this range, with \(\eta (37) = 9\), are given in Table 3. The complete comparison results for the range \(N = [6,40]\) are given in Table 4 in Appendix C.

Fig. 4

Log\(_{10}\) of position RMS error for HLGL cases vs. PS

Fig. 5

Log\(_{10}\) of terminal position RMS error for HLGL cases vs. PS

Fig. 6

Log\(_{10}\) of velocity RMS error for HLGL cases vs. PS

Fig. 7

Log\(_{10}\) of thrust RMS error for HLGL cases vs. PS

Fig. 8

Log\(_{10}\) of transfer duration for HLGL cases vs. PS

Fig. 9

Log\(_{10}\) of processor time for HLGL cases vs. PS

The plots in Figs. 4, 5, 6, 7, 8, and 9 show the behaviour of all the HLGL pairs in comparison to the PS method with insets showing the behaviour for \(N = 37\). The PS metrics for a particular value of N are repeated such that each of the converged HLGL cases corresponding to that N value has a PS metric for comparison. It is important to note that these metrics are represented in dimensional units. From these plots, one can immediately observe that although the relationship between the metrics and the case number is highly variable and non-monotonic, certain general trends can be found. First, it is seen from Fig. 9 that the processor times for a given N value are in general higher for the PS method than for the corresponding HLGL cases. From Fig. 8, it is seen that the transfer duration, which represents the objective function, tends to be lower for the PS method than for the HLGL method. From Case 3 to Case 15, the RMS errors for both the HLGL method and the PS method are similar. For subsequent case numbers, the HLGL errors tend to be higher than the corresponding PS errors and stay close to a certain level as N increases while the PS errors tend to decrease with increasing N. This may occur because as the number of nodes is increased, the HLGL trajectories approach the \(N = 64\) HS trajectory and the PS trajectories approach the \(N = 64\) PS trajectory, which is used as the reference. However, like Case 72, there are exceptions where certain HLGL cases have errors that are below the corresponding PS errors. Another exception occurs for Case 59, which corresponds to \((m,n) = (21,3)\) where the transfer duration is only 342 days in contrast to the reference value of 354 days for the \(N = 64\) PS method. Perhaps if we use the solution of this run as an initial guess, lower transfer durations would result for all the HLGL pairs. From Table 2, it is seen that problems with convergence for HLGL runs occur for \(n \ge 35\). All the PS runs in the range \(N = [6,40]\) have converged but HLGL runs with \(n \ge 43\) have not converged. An important analysis is how for a given value of N, the choice of m and n affects the performance of the HLGL method. From the insets, it is seen that Case 126, which corresponds to \((m,n) = (12,7)\) exhibits higher errors when compared to Case 127 which corresponds to \((m,n) = (9,9)\), even though they both correspond to \(N = 37\). For the specific example of velocity RMS error, looking at Table 3, it is apparent that while Case 126 has an error of \(1.58 \times 10^3~\)(m/s), Case 127 only has an error of \(7.33 \times 10^{2}~\)(m/s).


A minimum-time low-thrust Earth-to-Mars trajectory with a terminal phase constraint has been solved using both the Legendre–Gauss pseudospectral and the Hermite–Legendre–Gauss–Lobatto methods. The phase-free Edelbaum transfer is used to set bounds, scale the problem, and generate a suitable initial guess. A general algorithm for finding the HLGL (mn) pairs for a given value of N has been formulated. An expression for the number of possible HLGL pairs has been represented using the concept of a divisor function and an upper bound has been derived. Ramanujan’s work on Highly Composite Numbers is used to describe values of N for which many HLGL pairs exist. It is also shown that spacecraft trajectories with different time domains can be compared by calculating errors between points that correspond to the same normalized times. A detailed comparison of the performance of the PS and HLGL methods has been completed for fixed problem sizes in the range \(N = [6,40]\), which addresses a research gap. This reveals significant performance differences between the PS and HLGL methods with respect to N, m, and n. Future adaptive versions of the HLGL method, such as the recent work by Lei et al. [14], may benefit by exploiting those HLGL pairs which offer the best performance for a given problem size. The approach of the present paper can be used as a basis for a systematic comparison of two general local and global direct collocation methods.


  1. 1.

    Abramowitz M, Stegun IA (1972) Handbook of mathematical functions with formulas, graphs, and mathematical tables. U.S. Department of Commerce, Washington, D.C.

  2. 2.

    Andrews GE, Berndt BC (2012) Ramanujan’s lost notebook. Springer, New York

  3. 3.

    Betts JT (1998) Survey of numerical methods for trajectory optimization. J Guid Control Dyn 21(2):193–207

  4. 4.

    Choueiri EY (2009) New dawn for electric rockets. Sci Am 300(2):58–65

  5. 5.

    Conway BA (ed.) (2010) Spacecraft trajectory optimization. In: No. 29 in Cambridge Aerospace Series. Cambridge University Press, Cambridge

  6. 6.

    De Ruiter AHJ, Damaren CJ, Forbes JR (2013) Spacecraft dynamics and control: an introduction. Wiley, Chichester

  7. 7.

    Edelbaum TN (1961) Propulsion requirements for controllable satellites. ARS J 31(8):1079–1089

  8. 8.

    García-Heras J, Soler M, Sáez FJ (2016) Collocation methods to minimum-fuel trajectory problems with required time of arrival in ATM. J Aerosp Inf Syst 13(7):243–265

  9. 9.

    Garg D, Patterson M, Hager WW, Rao AV, Benson DA, Huntington GT (2010) A unified framework for the numerical solution of optimal control problems using pseudospectral methods. Automatica 46(11):1843–1851

  10. 10.

    Gill PE, Murray W, Saunders MA (2005) SNOPT: an SQP algorithm for large-scale constrained optimization. SIAM Rev 47(1):99–131

  11. 11.

    Hardy GH, Wright EM (1975) An introduction to the theory of numbers, 4th edn. Oxford University Press, Oxford

  12. 12.

    Herman AL, Conway BA (1996) Direct optimization using collocation based on high-order Gauss–Lobatto quadrature rules. J Guid Control Dyn 19(3):592–599

  13. 13.

    Izzo D (2006) Lambert’s problem for exponential sinusoids. J Guid Control Dyn 29(5):1242–1245

  14. 14.

    Lei H, Liu T, Li D, Ye J, Shao L (2017) Adaptive mesh iteration method for trajectory optimization based on hermite-pseudospectral direct transcription. Math Probl Eng 2017:1–7

  15. 15.

    Nicolas JL, Robin G (1997) Highly composite numbers by Srinivasa Ramanujan. Ramanujan J 1(2):119–153

  16. 16.

    Petropoulos AE, Longuski JM (2004) Shape-based algorithm for the automated design of low-thrust, gravity assist trajectories. J Spacecr Rockets 41(5):787–796

  17. 17.

    Petropoulos AE, Sims JA (2002) A review of some exact solutions to the planar equations of motion of a thrusting spacecraft. In: 2nd international symposium on low thrust trajectories. Toulouse

  18. 18.

    Ramanujan S (1915) Highly composite numbers. Proc Lond Math Soc 2(1):347–409

  19. 19.

    Ramanujan S (1915) On the number of divisors of a number. J Indian Math Soc 7:131–133

  20. 20.

    Rao AV (2009) A survey of numerical methods for optimal control. Adv Astronaut Sci 135(1):497–528

  21. 21.

    Ross IM, Fahroo F (2004) Legendre pseudospectral approximations of optimal control problems. In: New trends in nonlinear dynamics and control and their applications. Lecture notes in control and information science. Springer, Berlin, pp 327–342

  22. 22.

    Shirazi A, Ceberio J, Lozano JA (2018) Spacecraft trajectory optimization: a review of models, objectives, approaches and solutions. Prog Aerosp Sci 102:76–98

  23. 23.

    Wall B (2008) Shape-based approximation method for low-thrust trajectory optimization. In: AIAA/AAS astrodynamics specialist conference and exhibit. American Institute of Aeronautics and Astronautics, Honolulu

  24. 24.

    Wall BJ, Conway BA (2009) Shape-based approach to low-thrust rendezvous trajectory design. J Guid Control Dyn 32(1):95–101

  25. 25.

    Wang Y, Zhu Y, Jiang X, Li S (2014) Comparison of LPM, GPM and RPM for optimization of low-thrust Earth-Mars rendezvous trajectories. In: Proceedings of 2014 IEEE Chinese guidance, navigation and control conference. IEEE, Yantai, pp 2461–2467

  26. 26.

    Williams P (2005) A comparison of differentiation and integration based direct transcription methods. Adv Astronaut Sci 120(1):389–408

  27. 27.

    Williams P (2009) Hermite–Legendre–Gauss–Lobatto direct transcription in trajectory optimization. J Guid Control Dyn 32(4):1392–1395

Download references

Author information

Correspondence to Sanjeev Narayanaswamy.


Appendix A Legendre–Gauss pseudospectral method derivation

The pseudospectral method is typically formulated as a global method. We will develop and summarize the equations for the Nth-order global Legendre–Gauss pseudospectral method using the Nth-order LG points as collocation points based on the work by Garg et al. [9].

First we transform the problem into \(\tau = [-1,1]\) from \(t = [t_0,t_f]\) space using:

$$\begin{aligned} t = \frac{t_f - t_0}{2}\tau + \frac{t_f+t_0}{2}. \end{aligned}$$

The point \(\tau _0\) corresponds to \(t_0\), \({\varvec{\tau }}_{1:N}\) represents the transformation of the set of N LG points in the open interval \((t_0,t_f)\), and the terminal point \(\tau _{N+1}\) corresponds to \(t_f\). The state and control are then approximated using Lagrange basis polynomials \(L_i(\tau )\):

$$\begin{aligned} {\mathbf {x}}\left( \tau \right)&= \sum _{i=0}^{N} {\mathbf {X}}_iL_i\left( \tau \right) \end{aligned}$$
$$\begin{aligned} {\mathbf {u}}\left( \tau \right)&= \sum _{i=1}^{N} {\mathbf {U}}_iL_i\left( \tau \right) , \end{aligned}$$

where \({\mathbf {X}}_i\) and \({\mathbf {U}}_i\) are row vectors corresponding to \(\tau _i\).

Differentiating and evaluating at the kth collocation point \(\tau _k\) results in

$$\begin{aligned} \dot{{\mathbf {x}}}\left( \tau _k\right) = \sum _{i=0}^{N} {\mathbf {X}}_i{\dot{L}}_i\left( \tau _k\right) = \sum _{i=0}^{N} D_{ki}{\mathbf {X}}_i\left( \tau _k\right) . \end{aligned}$$

We note that \({\mathbf {X}}_0\) is used for interpolation but not for collocation. Now we can impose constraints that the interpolated values of the state derivative at the collocation points \({\varvec{\tau }}_{1:N}\) match the exact values of the state derivative at \({\varvec{\tau }}_{1:N}\), expressed using \({{\varvec{F}}}\):

$$\begin{aligned} {\mathbf {DX}}_{0:N} = \left( \frac{t_f - t_0}{2}\right) {\mathbf {F}}\left( {\mathbf {X}}_{1:N},{\mathbf {U}}_{1:N},t\left( {\varvec{\tau }}_{1:N}\right) \right) . \end{aligned}$$

Since we are using the Legendre–Gauss points, we can also employ Gaussian quadrature to write

$$\begin{aligned} {\mathbf {X}}_{N+1} = {\mathbf {X}}_0 + \left( \frac{t_f - t_0}{2}\right) {\mathbf {w}}^T{\mathbf {F}}\left( {\mathbf {X}}_{1:N},{\mathbf {U}}_{1:N},t\left( {\varvec{\tau }}_{1:N}\right) \right) , \end{aligned}$$

where \({\mathbf {X}}_{N+1}\) is the terminal state and \({\mathbf {w}}\) is the column vector of Legendre–Gauss quadrature weights.

The NLP problem obtained from transcribing the optimal control problem in Eqs. (1) can be written as:

$$\begin{aligned}&{\hbox {Minimize}} \quad J = \phi \left( {\mathbf {X}}_{N+1},t_f\right) \nonumber \\&\quad + \left( \frac{t_f - t_0}{2}\right) \sum _{i = 1}^{N}w_i{\mathcal {L}}\left( {\mathbf {X}}_{i},{\mathbf {U}}_{i},t\left( \tau _i\right) \right) \nonumber \\&{\hbox {Subject To:}}\nonumber \\&\quad g_i\left( {\mathbf {X}}_{1:N+1},{\mathbf {U}}_{1:N+1},t\left( {\varvec{\tau }}_{1:N+1}\right) \right) \le 0, \quad i = 1,2,\ldots ,n_g \nonumber \\&\quad h_i\left( {\mathbf {X}}_{1:N+1},{\mathbf {U}}_{1:N+1},t\left( {\varvec{\tau }}_{1:N+1}\right) \right) = 0, \quad i = 1,2,\ldots ,n_h \nonumber \\&\quad {\mathbf {h}}_{{PS}}~~{:}{=}~~{\mathbf {DX}}_{0:N} - \left( \frac{t_f - t_0}{2}\right) {\mathbf {F}}\left( {\mathbf {X}}_{1:N},{\mathbf {U}}_{1:N}, t\left( {\varvec{\tau }}_{1\,:N}\right) \right) = {\mathbf {0}}.\nonumber \\ \end{aligned}$$

We note that an additional \(Nn_x\) equality constraints are added to the problem due to the Legendre–Gauss PS method.

Appendix B Hermite–Legendre–Gauss–Lobatto method derivation

The HLGL method is a local method formulated by Williams [27]. We will develop and summarize this method here. The time interval \([t_0,t_f]\) is first subdivided into m subintervals where the \((m+1)\)th-order LGL points are used as the subinterval boundaries in this paper. The time domain for each subinterval is then transformed into \(\tau = [-1,1]\) using the subinterval boundaries. Within each of these subintervals, the state is approximated by an nth-order polynomial [27].

In the HLGL method, n is restricted to be an odd integer such that \(n \ge 3\). For the ith subinterval, the state approximation can be written as

$$\begin{aligned} {\mathbf {x}}_i\left( \tau \right) = {\mathbf {a}}_0 + {\mathbf {a}}_1\tau + {\mathbf {a}}_2\tau ^2 + \cdots + {\mathbf {a}}_n\tau ^n. \end{aligned}$$

In order to form this polynomial, the n LGL points corresponding to the ith subinterval are represented by \(\xi \) and are divided into \(\frac{n+1}{2}\) nodes denoted by \(\gamma \) and \(\frac{n-1}{2}\) collocation points denoted by \(\zeta \):

$$\begin{aligned}&\gamma _j \triangleq \xi _{2j-1}, \quad j = 1,\ldots ,(n+1)/2 \end{aligned}$$
$$\begin{aligned}&\zeta _j \triangleq \xi _{2j}, \quad j = 1,\ldots ,(n-1)/2. \end{aligned}$$

The \((n+1)\) pieces of information needed to find the coefficients are obtained from the nodes using both the state values and its derivatives in the \(\tau \) domain:

$$\begin{aligned}&\left[ \begin{array}{cccccc} 1 &{} -1 &{} 1 &{} \cdots &{} \gamma _1^{n-1} &{}\gamma _1^n\\ 1 &{} \gamma _2^1 &{} \gamma _2^2 &{} \cdots &{} \gamma _2^{n-1} &{}\gamma _2^n\\ \vdots &{} \vdots &{}\vdots &{}\vdots &{}\vdots &{} \vdots \\ 1 &{} \gamma _{\frac{n+1}{2}}^1&{} \gamma _{\frac{n+1}{2}}^2&{} \cdots &{}\gamma _{\frac{n+1}{2}}^{n-1}&{}\gamma _{\frac{n+1}{2}}^{n}\\ 0 &{} 1&{} 2\gamma _1^1 &{} \cdots &{}(n-1)\gamma _{1}^{n-2}&{}n\gamma _{1}^{n-1}\\ \vdots &{} \vdots &{}\vdots &{}\vdots &{}\vdots &{} \vdots \\ 0 &{} 1 &{} 2\gamma _{\frac{n+1}{2}}^1 &{} \cdots &{} (n-1)\gamma _{\frac{n+1}{2}}^{n-2}&{}n\gamma _{\frac{n+1}{2}}^{n-1} \end{array} \right] \left[ \begin{array}{c} {\mathbf {a}}_0\\ {\mathbf {a}}_1\\ {\mathbf {a}}_2\\ \vdots \\ {\mathbf {a}}_n \end{array}\right] \nonumber \\&\quad = \left[ \begin{array}{c} {\mathbf {x}}\left( \gamma _{1}\right) \\ {\mathbf {x}}\left( \gamma _{2}\right) \\ \vdots \\ {\mathbf {x}}\left( \gamma _{\frac{n+1}{2}}\right) \\ \frac{h_i}{2}{\mathbf {f}}\left( \gamma _1\right) \\ \vdots \\ \frac{h_i}{2}{\mathbf {f}}\left( \gamma _{\frac{n+1}{2}}\right) \\ \end{array} \right] , \end{aligned}$$

where \(h_i\) is the length of the ith subinterval in t space.

Equation (25) is of the form \({\mathbf {A}}{\mathbf {a}} = {\mathbf {b}}\), so we can now determine the values of the state at the collocation points by inverting this system of equations:

$$\begin{aligned} \begin{aligned} {\mathbf {x}}_i (\zeta _j) = {\mathbf {v}}_j^T{\mathbf {a}} = {\mathbf {v}}_j^T{\mathbf {A}}^{-1}{\mathbf {b}}_i ={\varvec{\phi }}_j^T{\mathbf {b}}_i \end{aligned}, \end{aligned}$$


$$\begin{aligned} {\mathbf {v}}_j&= \left[ \begin{array}{ccccc} 1&\zeta _j&\zeta _j^2&\cdots&\zeta _j^n \end{array}\right] ^T, \nonumber \\&\quad j = 1,\ldots ,(n-1)/2. \end{aligned}$$

If we take the derivative of Eq. (22) and evaluate at the collocation points, then we obtain

$$\begin{aligned} \begin{aligned} \dot{{\mathbf {x}}}_i (\zeta _j) = {\mathbf {v}}_{d_j}^T{\mathbf {a}} = {\mathbf {v}}_{d_j}^T{\mathbf {A}}^{-1}{\mathbf {b}}_i = {\varvec{\phi }}_{d_j}^T{\mathbf {b}}_i, \end{aligned} \end{aligned}$$


$$\begin{aligned} {\mathbf {v}}_{d_j}&= \left[ \begin{array}{ccccc} 0&1&2\zeta _j&\cdots&n\zeta _j^{n-1} \end{array}\right] ^T, \nonumber \\&\quad j = 1,\ldots ,(n-1)/2. \end{aligned}$$

If we form the following matrices for the ith subinterval:

$$\begin{aligned}&{\varvec{\varPhi }}_i = \left[ {\varvec{\phi }}_1~{\varvec{\phi }}_2~\cdots ~{\varvec{\phi }}_{(n-1)/2}\right] \end{aligned}$$
$$\begin{aligned}&{\varvec{\varPhi }}_{d_i} = \left[ {\varvec{\phi }}_{d_1}~{\varvec{\phi }}_{d_2}~\cdots ~{\varvec{\phi }}_{d_{(n-1)/2}}\right] , \end{aligned}$$

then the constraints to be enforced within the ith subinterval can now be written as

$$\begin{aligned} {\varvec{\varPhi }}_{d_i}^T{\mathbf {b}}_i - \frac{h_i}{2}{\mathbf {F}}\left( {\varvec{\varPhi }}_i^T{\mathbf {b}}_i,{\mathbf {u}}_i\left( {\varvec{\zeta }}_i\right) ,t_i\left( {\varvec{\zeta }}_i\right) \right) = {\mathbf {0}}, \end{aligned}$$

where \({\mathbf {u}}_i\) is evaluated at \({\varvec{\zeta }}_i\) through linear interpolation of the values at \({\varvec{\gamma }}_i\), the nodes in the ith subinterval.

The NLP problem obtained from transcribing the optimal control problem in Eqs. (1) can be written as:

$$\begin{aligned}&{\text {Minimize}} \quad J = \phi \left( {\mathbf {x}}_m\left( 1\right) ,t_f\right) \nonumber \\&\quad + \sum _{i=1}^{m}\frac{h_i}{2}\sum _{j = 1}^{n}w_j{\mathcal {L}}\left( {\mathbf {x}}_i\left( \xi _j\right) ,{\mathbf {u}}_i\left( \xi _j\right) ,t_i\left( \xi _j\right) \right) \nonumber \\&{\text {Subject To:}} \nonumber \\&\quad g_i\left( {\mathbf {x}}\left( {\varvec{\gamma }}\right) ,{\mathbf {u}}\left( {\varvec{\gamma }}\right) ,t\left( {\varvec{\gamma }}\right) \right) \le 0, \quad i = 1,2,\ldots ,n_g \nonumber \\&\quad h_i\left( {\mathbf {x}}\left( {\varvec{\gamma }}\right) ,{\mathbf {u}}\left( {\varvec{\gamma }}\right) ,t\left( {\varvec{\gamma }}\right) \right) = 0, \quad i = 1,2,\ldots ,n_h \nonumber \\&\quad {\mathbf {h}}_\mathrm{HLGL} := {\varvec{\varPhi }}_{d_i}^T{\mathbf {b}}_i\nonumber \\&- \quad \frac{h_i}{2}{\mathbf {F}}\left( {\varvec{\varPhi }}_i^T{\mathbf {b}}_i,{\mathbf {u}}_i\left( {\varvec{\zeta }}_i\right) ,t_i\left( {\varvec{\zeta }}_i\right) \right) = {\mathbf {0}}, \quad i = 1,2,\ldots ,m\nonumber \\ \end{aligned}$$

where \(w_j\) are the Legendre–Gauss–Lobatto quadrature weights within each subinterval. We note that an additional \(mn_x(\frac{n-1}{2})\) equality constraints are added to the problem due to the HLGL method.

Appendix C Complete comparison results

Please see Table 4.

Table 4 Detailed metrics for the comparison of HLGL (mn) pairs with the LG pseudospectral method—bolded case numbers indicate convergence

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Narayanaswamy, S., Damaren, C.J. Comparison of the Legendre–Gauss pseudospectral and Hermite–Legendre–Gauss–Lobatto methods for low-thrust spacecraft trajectory optimization. AS (2020).

Download citation


  • Low thrust
  • Spacecraft trajectory optimization
  • Interplanetary transfer
  • Pseudospectral method
  • Divisor function