1 Introduction

Trajectory generation is an essential practice in aerospace operations [2, 7, 19]. While discontinuous controls are common and possibly welcome in some applications [4, 16], smoothness is very often considered to be an important feature of a reliable reference trajectory, especially in aeronautical operations [6, 17, 18]. For this purpose, there are dedicated trajectory generation approaches using fundamental geometric elements, such as lines, arcs, and clothoids, capable of generating trajectories with only discontinuities in high-order derivatives at the connecting points [3, 20, 21]. When dynamics are taken into consideration, trajectories are generated using numerical optimization. For aerospace applications, one can refer to [1, 5]. However, many existing methods nowadays based on numerical approaches may not be able to guarantee the continuity in higher-order derivatives. This is because the controls at every discrete point are set to be independent decision variables.

A trigonometric series-based trajectory generation approach is developed in [10] and has been applied in various applications [11,12,13]. It parameterizes the controls as trigonometric series and uses numerical optimization methods including convex optimization to determine the unknown series coefficients. The controls being a time-dependent trigonometric series are of \({\mathcal {C}}^\infty \), i.e., infinitely differentiable. Therefore, smoothness of trajectories can be achieved. By imposing equality constraints, the boundary time behavior, namely, the continuity to the adjacent flight segments can be ensured as required. However, except for the boundaries, to acquire certain time behavior of controls relies on a judicious choice of the cost function. In fact, the cost function traditionally plays the sole role in deciding the control behavior in trajectory optimization [19]. Therefore, we seek for an innovative means to approach the goal within the trigonometric series-based trajectory generation.

In this paper, we develop a simple but effective way to shape the time behavior of controls parameterized by trigonometric series through time-scaling. A user-defined time scaling function is introduced to replace the original argument of the series basis function, namely, time, with a new independent variable. This variable is designed to have the desired time behavior and will pass the characteristic to the parameterized controls. Hence, having a specific time behavior of controls is decoupled from the design process of the cost function. Still, the cost function may affect the control behavior. However, the proposed method shapes the behavior in an external manner without modifying on the cost function. This philosophy is a unique advancement to previous works on the trigonometric series and thus a contribution to the literature.

The implementation of the newly proposed method is demonstrated in the convex-optimization framework developed in [8]. In this paper, it is shown that the proposed method only requires minimal modification of the optimization framework in its original form in [10], leading to a direct port. We show an application of transition trajectory generation, where a transition trajectory connects two steady flight conditions. A smooth connection is desired, which corresponds well to the capability of the trigonometric series parameterization method. For the transition maneuver, the application in this paper demands the aircraft to be more stable, i.e., having slow-varying control commands, in the later phase of the transition. This time behavior will better prepare the aircraft for the following flight segment. To this end, a time-scaling function based on a logistic function is selected to achieve this feature within the proposed method. Numerical simulations are carried out to verify the design.

The rest of this paper is organized as follows: Section 2 introduces the trigonometric series parameterization and the time scaling that shapes the time behavior of it prior to the determination of the series coefficients. Section 3 shows the details of the implementation of the proposed approach to a convex optimization framework. Section 4 shows the simulation results of the proposed method in combination with the convex optimization being applied to a transition trajectory generation task. Section 5 presents the conclusion of this paper.

2 Time-scaled trigonometric series control parameterization

In [10], a control parameterization method is introduced. A time-varying control variable u is described as an Nth-order trigonometric series as

$$\begin{aligned} \begin{aligned} u\left( t\right) ={}&a_0+\sum _{n=1}^{N}\left( a_n\cos \left( {\frac{n\pi }{T_f}t}\right) +b_n\sin \left( {\frac{n\pi }{T_f}t}\right) \right) \\ ={}&{\varvec{s}}_N\left( t\right) {\varvec{c}}_N, \end{aligned} \end{aligned}$$
(1)

where

$$\begin{aligned} \begin{aligned} {\varvec{s}}_N\left( t\right) = \Bigg [1,&\cos \left( {\frac{\pi }{T_f}t}\right) ,\ldots ,\cos \left( {\frac{N\pi }{T_f}t}\right) ,\\&\sin \left( {\frac{\pi }{T_f}t}\right) ,\ldots ,\sin \left( {\frac{N\pi }{T_f}t}\right) \Bigg ] \end{aligned} \end{aligned}$$
(2)
$$\begin{aligned} {\varvec{c}}_N = \left[ a_0,\ldots ,a_N,b_1,\ldots ,b_N\right] ^{\mathsf {T}}\,. \end{aligned}$$
(3)

Here, \( {\varvec{s}}_N\left( t\right) \) is a function of time \( t\in \left[ 0,T_f\right] \). Naturally, \( u\left( t\right) \) is of \( {\mathcal {C}}^\infty \) after the parameterization. Moreover, the parameterization specifies u as a linear function of the series coefficients \( {\varvec{c}}_N \). It is intuitive that for Eq. (1), the time behavior of u over the entire horizon \( \left[ 0,T_f\right] \) is solely decided by \( {\varvec{c}}_N \) which is to be determined by optimization. This is generally not a disadvantage because of its simple structure. To achieve a particular time behavior of the control variable, one often relies on designing the cost function which affects the selection of \( {\varvec{c}}_N \). This is not always favorable as such an indirect process may lead to a Pareto objective and thus possibly causes the cost function to lose advantageous properties, e.g., convexity. In addition, it is not effortless to relate certain behaviors to mathematical expressions in a cost function.

To mitigate this, we introduce a time-scaling transformation to Eq. (1). The time-scaling transformation originates in [15] and yields a new optimization problem formulation over a new horizon. Meanwhile in this paper, the proposed time-scaling transformation only influences the trigonometric series parameterization in Eq. (1). It introduces a new variable that monotonically increases with respect to time:

$$\begin{aligned}&\frac{\mathrm {d}p}{\mathrm {d}t} ={} v\left( t\right) , \end{aligned}$$
(4)
$$\begin{aligned}&p\left( 0\right) ={} 0, \end{aligned}$$
(5)
$$\begin{aligned}&p\left( T_f\right) ={} P, \end{aligned}$$
(6)

where \( p\in \left[ 0,P\right] \). Here, \( v\left( t\right) >0,~\forall t\in \left[ 0,T_f\right] \) and it is to be designed by user in order to achieve desired behavior. It shall be noted that P does not need to be specified because the definite integral of \( v\left( t\right) \) over \( t\in \left[ 0,T_f\right] \) gives P.

Next, we reformulate the control parameterization in (1) to be a function of p:

$$\begin{aligned} u\left( p\right) ={}{\varvec{s}}_N\left( p\right) {\varvec{c}}_N. \end{aligned}$$
(7)

The time behavior of the control u is no longer only affected by \( {\varvec{c}}_N \) but preserves characteristics of \( p\left( t\right) \) which are defined already in the designing process of \( v\left( t\right) \). This can be inferred using the chain rule as

$$\begin{aligned} \frac{\mathrm {d}u}{\mathrm {d}t} = \frac{\mathrm {d}u}{\mathrm {d}p} \frac{\mathrm {d}p}{\mathrm {d}t} \end{aligned}$$
(8)

It is a common measure for numerical optimization approaches that a time grid is given over the entire time horizon. The discrete time grid specifies the total number of the discrete points. Provided that \( T_f \) is fixed, the value of \( {\varvec{s}}_N \) at each discrete point is known a priori. That is to say, \( {\varvec{s}}_N \) does not change during the optimization algorithm execution. Therefore, it can be evaluated only once before executing the optimization program. For some optimization approaches including the one utilized in this paper, this feature saves some computational effort and streamlines the formulation.

The only remaining issue is the design of \( v\left( t\right) \). Ideally, it should be rather flexible. In Sect. 4, the design is shown along with the actual need of the application. As a remark, p must be smooth in order to ensure that u is smooth.

3 Implementation in model predictive convex programming

In general, the proposed time-scaled trigonometric series parameterization works with various optimization approaches, such as successive convex optimization approaches [11, 13], because it is only a linear constraint. In this paper, to show the difference (or the similarity in a positive sense) from the formulation in [10], we again consider the model predictive convex programming (MPCP) [8]. Only the most salient steps of the MPCP in [8] are presented in this section.

First, we write the trigonometric series parameterization in a discrete time form for the control vector

$$\begin{aligned} {\varvec{u}}_k = \left[ {{\varvec{S}}_N}\right] _k\bar{{\varvec{c}}}_N,~k = 1,2,\ldots ,N_t-1, \end{aligned}$$
(9)

where

$$\begin{aligned} \left[ {{\varvec{S}}_N}\right] _k= & {} \begin{bmatrix} \left[ {\varvec{s}}_N^{\left( 1\right) }\right] _k &{} 0 &{} \dots &{} 0 \\ 0 &{} \left[ {\varvec{s}}_N^{\left( 2\right) }\right] _k &{} \dots &{} 0 \\ \vdots &{} \vdots &{} \ddots &{} \vdots \\ 0 &{} 0 &{} \dots &{} \left[ {\varvec{s}}_N^{\left( m\right) }\right] _k \end{bmatrix}\,, \end{aligned}$$
(10)
$$\begin{aligned} \bar{{\varvec{c}}}_N= & {} \left[ \left( {\varvec{c}}_N^{\left( 1\right) }\right) ^{\mathsf {T}}, \left( {\varvec{c}}_N^{\left( 2\right) }\right) ^{\mathsf {T}},\ldots , \left( {\varvec{c}}_N^{\left( m\right) }\right) ^{\mathsf {T}}\right] ^{\mathsf {T}}\,, \end{aligned}$$
(11)

and the superscript indicates the index of the components. The total number of discrete points is denoted by \( N_t \).

Because of the linearity, the incremental change of \( {\varvec{u}}_k \), denoted as \( d{\varvec{u}}_k \) can be expressed by

$$\begin{aligned} d{\varvec{u}}_k = \left[ {{\varvec{S}}_N}\right] _k d\bar{{\varvec{c}}}_N, \end{aligned}$$
(12)

where \( d\bar{{\varvec{c}}}_N \) is the incremental change of the coefficient vector \( {\varvec{c}}_N \). It is important to notice that, as mentioned in the previous section, regardless of whether \( {\varvec{S}}_N \) is a function of t as in Eq. (1) or p as in Eq. (7), as long as v and \( T_f \) are specified, \(\left[ {{\varvec{S}}_N}\right] _k \) is fully defined for all \( k = 1,2,\ldots ,N_t-1 \). Hence, the time-scaling of the parameterization and the functional dependency make no difference to Eq. (12) and thus have no impact on the following derivations.

For introducing the MPCP, a discrete-time form of the system dynamics is given as

$$\begin{aligned} {{\varvec{x}}_{k+1}} = {{{F}}_k}\left( {{{\varvec{x}}_k},\;{{\varvec{u}}_k}} \right) ,\,k = 1,2,\ldots ,N_t-1, \end{aligned}$$
(13)

where F is continuously differentiable, and \( {\varvec{x}} \) and \( {\varvec{u}} \) are the state and the control vector, respectively. The MPCP is an iterative approach that updates the state and control histories as \( {\varvec{x}}_k = {\varvec{x}}_k^p + d{\varvec{x}}_k \) and \( {\varvec{u}}_k = {\varvec{u}}_k^p + d{\varvec{u}}_k\), where the superscript p denotes the variables in the previous iteration. Using a Taylor series expansion and neglecting higher-order terms, Eq. (13) can be expressed as

$$\begin{aligned} {\varvec{x}}_{k+1}= & {} F_k\left( {\varvec{x}}_k^p+d{\varvec{x}}_k,{\varvec{u}}_k^p+d{\varvec{u}}_k\right) \approx {\varvec{x}}_{k+1}^p+\left[ \frac{\partial F_k}{\partial {\varvec{x}}_k}\right] d{\varvec{x}}_k\nonumber \\&+\left[ \frac{\partial F_k}{\partial {\varvec{u}}_k}\right] d{\varvec{u}}_k\,, \end{aligned}$$
(14)

which yields

$$\begin{aligned} d{\varvec{x}}_{k+1} = \left[ \frac{\partial F_k}{\partial {\varvec{x}}_k}\right] d{\varvec{x}}_k+\left[ \frac{\partial F_k}{\partial {\varvec{u}}_k}\right] d{\varvec{u}}_k\,. \end{aligned}$$
(15)

Eq. (15) can be further expanded:

$$\begin{aligned} d{\varvec{x}}_{{k+1}} =&\left[ \frac{\partial F_{k}}{\partial {\varvec{x}}_{k}}\right] d{\varvec{x}}_{k}+\left[ \frac{\partial F_{k}}{\partial {\varvec{u}}_{k}}\right] d{\varvec{u}}_{k}\nonumber \\ =&\left[ \frac{\partial F_{k}}{\partial {\varvec{x}}_{k}}\right] \left[ \frac{\partial F_{k-1}}{\partial {\varvec{x}}_{k-1}}\right] d{\varvec{x}}_{k-1}\nonumber \\ {}&+\left[ \frac{\partial F_{k}}{\partial {\varvec{x}}_{k}}\right] \left[ \frac{\partial F_{k-1}}{\partial {\varvec{u}}_{k-1}}\right] d{\varvec{u}}_{k-1} +\left[ \frac{\partial F_{k}}{\partial {\varvec{u}}_{k}}\right] d{\varvec{u}}_{k}\nonumber \\ \vdots&\nonumber \\ =&\,{\varvec{A}}_{k} d{\varvec{x}}_1+{\varvec{B}}_{k,1} d{{\varvec{u }}_1} + {\varvec{B}}_{k,2} d{{\varvec{u }}_2} + \cdots + {\varvec{B}}_{k,k} {d{\varvec{u}}_{{k}}}\,, \end{aligned}$$
(16)

where

$$\begin{aligned}&{\varvec{A}}_{k} = \left[ \frac{\partial F_{k}}{\partial {\varvec{x}}_{k}}\right] \left[ \frac{\partial F_{k-1}}{\partial {\varvec{x}}_{k-1}}\right] \cdots \left[ \frac{\partial F_{1}}{\partial {\varvec{x}}_{1}}\right] \,, \end{aligned}$$
(17)
$$\begin{aligned}&{\varvec{B}}_{k,j} = \left[ \frac{\partial F_{k}}{\partial {\varvec{x}}_{k}}\right] \left[ \frac{\partial F_{k-1}}{\partial {\varvec{x}}_{k-1}}\right] \ldots \left[ \frac{\partial F_{j+1}}{\partial {\varvec{x}}_{j+1}}\right] \left[ \frac{\partial F_{j}}{\partial {\varvec{u}}_{j}}\right] \,,\nonumber \\&\qquad \qquad \text {for }j = 1,2,\dots ,k-2 \end{aligned}$$
(18)
$$\begin{aligned}&{\varvec{B}}_{k,k-1}= \left[ \frac{\partial F_{k}}{\partial {\varvec{x}}_{k}}\right] \left[ \frac{\partial F_{k-1}}{\partial {\varvec{u}}_{k-1}}\right] ,\ \end{aligned}$$
(19)
$$\begin{aligned}&{\varvec{B}}_{k,k}= \frac{\partial F_{k}}{\partial {\varvec{u}}_{k}}\,. \end{aligned}$$
(20)

Here, the initial condition \( {\varvec{x}}_1 \) is considered to be fixed, i.e., \( d{\varvec{x}}_1=0 \). Hence, Eq. (16) can be written as

$$\begin{aligned} d{\varvec{x}}_{{k+1}} =\sum _{j = 1}^{k} {{\varvec{B}}_{k,j} {d{\varvec{u }}_j}}, \end{aligned}$$
(21)

where \( k = 1,2,\ldots ,N_t-1 \). This equality is derived in [14], connecting the state increments \( d{\varvec{x}} \) to the control corrections \( d{\varvec{u}} \). Using a static Lagrangian multiplier, Eq. (21) can be used to solve a class of optimization problems and it is referred to as the model predictive static programming. For incorporating more constraints, especially path constraints, a convex optimization problem can be formulated. Substituting Eq. (12) into Eq. (21) yields

$$\begin{aligned} d{\varvec{x}}_{{k+1}} ={}&\sum _{j = 1}^{k} {\varvec{B}}_{k,j} \left[ {{\varvec{S}}_N}\right] _j d\bar{{\varvec{c}}}_N\nonumber \\ ={}&\sum _{j = 1}^{k} {\varvec{D}}_{k,j} d\bar{{\varvec{c}}}_N. \end{aligned}$$
(22)

While \( {{\varvec{S}}_N} \) is different due to the time scaling, Eq. (22) is identical to the one in [10]. This shows that the proposed method is compatible with the previous works, and a very intuitive port can be realized.

To formulate a convex optimization problem, we select the cost function as

$$\begin{aligned} J =\left( d\bar{{\varvec{c}}}\right) ^{\mathsf {T}}\left( d\bar{{\varvec{c}}}\right) . \end{aligned}$$
(23)

As one might notice, this quadratic cost function simply minimizes the incremental changes of the coefficients. It can be interpreted as minimizing the change of controls between iterations. It does not address the time behavior of the controls.

Constraints can be reformulated in the following way

$$\begin{aligned} {\varvec{A}}\left[ \begin{array}{c} {\varvec{x}}\\ {\varvec{u}} \end{array}\right] \le {\varvec{b}},\nonumber \\ {\varvec{A}}\left[ \begin{array}{c} {\varvec{x}}^p+d{\varvec{x}}\\ {\varvec{u}}^p+d{\varvec{u}} \end{array}\right] \le {\varvec{b}},\nonumber \\ {\varvec{A}}\left[ \begin{array}{c} {\varvec{x}}^p+{\varvec{B}}d{\varvec{u}}\\ {\varvec{u}}^p+d{\varvec{u}} \end{array}\right] \le {\varvec{b}}, \end{aligned}$$
(24)

where the elements of the lower triangular matrix \( {\varvec{B}} \) are \( {\varvec{B}}_{k,j} \) in Eq. (21). Notice that \( d{\varvec{u}} \) is the only unknown variable in Eq. (24) and it can be related to \( d\bar{{\varvec{c}}} \) using Eq. (12). Therefore, constraints are ultimately functions of \( d\bar{{\varvec{c}}} \). A convex optimization problem can be formulated to iteratively search for suitable \( d\bar{{\varvec{c}}} \) that satisfies all constraints. More details can be found in [10].

With a dedicated solver, the order of the trigonometric series does not significantly influence the computational efficiency for solving the convex optimization problems. Moreover, for a maneuver that is not complex, a low order suffices. In this work, we select \( N = 3 \). On the other hand, the total number of the discrete points, \( N_t \), does affect the computational efficiency. However, this setting is decided by the required accuracy of the trajectory rather than the proposed control parameterization. Over a \( 20~\mathrm{s}\) time horizon, \( N_t = 101 \) is considered to give a sufficiently accurate result for the application introduced in the next section.

4 Transition flight trajectory generation

In this section, we adopt the application considered in [9] to demonstrate the effectiveness of the proposed method and in Sect. 3, while also comparing the results to the original form in [10].

The scenario is to generate a transition flight trajectory connecting two steady flight conditions. The objective is to make the maneuver relatively milder at the later phase of the transition, which prepares the aircraft for the next flight segment.

4.1 Problem formulation

A fixed-wing unmanned aerial vehicle point-mass model is considered:

$$\begin{aligned} \begin{aligned}&{\dot{x}}\left( t\right) = V\left( t\right) \cos \chi \left( t\right) \cos \gamma \left( t\right) ,\\&{\dot{y}}\left( t\right) = V\left( t\right) \sin \chi \left( t\right) \cos \gamma \left( t\right) ,\\&{\dot{h}}\left( t\right) = V\left( t\right) \sin \gamma \left( t\right) ,\\&\dot{\chi }\left( t\right) = \frac{L\left( t\right) \sin \mu \left( t\right) }{m V\left( t\right) \cos \gamma \left( t\right) },\\&\dot{\gamma }\left( t\right) = \frac{L\left( t\right) \cos \mu \left( t\right) -m g\cos \gamma \left( t\right) }{m V\left( t\right) },\\&{\dot{V}}\left( t\right) = \frac{T\left( t\right) -D\left( t\right) }{m}-g\sin \gamma \left( t\right) , \end{aligned} \end{aligned}$$
(25)

where xyh are coordinates of the aerial vehicle, and \( \chi \)\(\gamma \), and V are the flight path course angle, the flight path climb angle, and the speed, respectively. \( \mu \) is the bank angle. m is the mass of aerial vehicle. g is the gravitational acceleration. The thrust and aerodynamic forces in Eq. (25) are expressed by

$$\begin{aligned}&T\left( t\right) = T_{\mathrm {max}}\delta _T\left( t\right) , \end{aligned}$$
(26)
$$\begin{aligned}&L\left( t\right) = \frac{1}{2}\rho \left( V\left( t\right) \right) ^2 S C_L\left( t\right) , \end{aligned}$$
(27)
$$\begin{aligned}&D\left( t\right) = \frac{1}{2}\rho \left( V\left( t\right) \right) ^2 S \left( C_{D_0}+k_i\left( C_L\left( t\right) \right) ^2\right) , \end{aligned}$$
(28)

where \( T_{\mathrm {max}}\) is the maximum thrust, \( \delta _T \) is the thrust lever position, \( \rho \) is the air density, S is the reference area, and \( k_i\) is the induced drag factor. \( C_L\) and \( C_{D_0}\) are the lift coefficient and the zero-lift drag coefficient, respectively. The state, control, and output vectors of the dynamics in Eq. (25) are given as

$$\begin{aligned}&{\varvec{x}}\left( t\right) = \left[ x\left( t\right) ,\, y\left( t\right) ,\, h\left( t\right) ,\, \chi \left( t\right) ,\, \gamma \left( t\right) ,\, V\left( t\right) \right] ^{{\mathsf {T}}}, \end{aligned}$$
(29)
$$\begin{aligned}&{\varvec{u}}\left( t\right) = \left[ C_L\left( t\right) ,\, \mu \left( t\right) ,\, \delta _T\left( t\right) \right] ^{{\mathsf {T}}}, \end{aligned}$$
(30)
$$\begin{aligned}&{\varvec{y}}\left( t\right) = \left[ y\left( t\right) ,\, h\left( t\right) ,\, \chi \left( t\right) ,\, \gamma \left( t\right) ,\, V\left( t\right) \right] ^{{\mathsf {T}}}. \end{aligned}$$
(31)

The simulation scenario is to generate a transition trajectory connecting a coordinated turn with a steady descent. The equality constraints are given as

$$\begin{aligned} \begin{aligned}&{\varvec{x}}\left( 0\right) = {\varvec{x}}_0,\\&{\varvec{y}}\left( T_f\right) = {\varvec{y}}_f,\\&{{\varvec{u}}}\left( 0\right) = {\varvec{u}}_0,\\&{{\varvec{u}}}\left( T_f\right) = {\varvec{u}}_f,\\&\dot{{\varvec{u}}}\left( 0\right) = 0,\\&\dot{{\varvec{u}}}\left( T_f\right) = 0. \end{aligned} \end{aligned}$$
(32)

On the right-hand side of the equality constraints in Eq. (32) are all constants.

The path constraints are specified by

$$\begin{aligned} \begin{aligned}&{\varvec{u}}_{\mathrm {min}}\le {\varvec{u}} \le {\varvec{u}}_{\mathrm {max}},\\&\dot{{\varvec{u}}}_{\mathrm {min}}\le \dot{{\varvec{u}}} \le \dot{{\varvec{u}}}_{\mathrm {max}}. \end{aligned} \end{aligned}$$
(33)
Fig. 1
figure 1

Time-scaling functions

4.2 Time-scaling function

The goal of designing the time-scaling function is to properly distribute the control authority for the transition maneuver. In accordance with the need of flying more stably control-wise in the later phase of the transition, we select the following function:

$$\begin{aligned} v\left( t\right) = \frac{1}{1+e^{\left( t-10\right) /8}}. \end{aligned}$$
(34)

It is a logistic function and p can be obtained using Eqs. (4) and (5). The time histories of v and p are shown in Fig. 1. Because the problem at hand is a fixed-final-time trajectory optimization problem, the variable p and the series basis functions are fully known and they do not change with the optimization runs.

As can be seen from Fig. 1, v is monotonically decreasing as time evolves, where \( v|_{t=0} = 0.77 \) and \( v|_{t=20} = 0.22\). Here, the slope is gentle, as an aggressive maneuver during the earlier stage, or technically any stage, is not desired. Referring to Eq. (8), the control derivatives are relatively more slowly varying during the later phase of the transition.

4.3 Simulation results

Fig. 2
figure 2

Transition trajectories

Fig. 3
figure 3

Time histories of the states

The simulation results are presented in this section. The quadratic programming problems are solved with a dedicated solver—OSQP [22]. The formulation in [10] is referred to as the original method, while the time-scaled trigonometric series is called the proposed method.

The flight trajectories generated by the original method and the proposed method are shown in Fig. 2. The trajectories are similar but the maneuver is less aggressive for the proposed method in the later phase. This can be confirmed by the state histories given in Fig. 3. The trajectories generated by both methods lead the aircraft to zero course angle and \( -5~\mathrm{deg} \) climb angle. The speed is maintained at \( 50~\mathrm{m/s} \) as desired. The main occurrence of the state variations has been shifted to the earlier part of the maneuver. It is also visible that the aircraft enters a quasi-steady condition relatively earlier, while the excursions of the states remain similar. This corresponds to the objective of implementing the time-scaling function. Although the proposed method parameterizes the controls, the state trajectories are the real system responses to be manipulated.

Fig. 4
figure 4

Time histories of the controls

Fig. 5
figure 5

Time histories of the control derivatives

Speaking of the controls, their histories can be seen in Fig. 4. The state histories are all smooth and satisfy every constraint. It is worth noting that boundary conditions, i.e., the trim conditions, can be easily enforced for both the original and the proposed methods. These are important conditions that ensure continuous connections to the steady flights. For the proposed method, slightly more control authorities are used in the earlier phase of the transition maneuver. The maximum utilization increases by \( 6.6\% \), \( 5.0\% \), and \( 0\% \), for \( C_L \), \( \mu \), and \( \delta _T \), respectively. On the other hand, the controls approach faster to being steady-state and the desired terminal conditions in the later phase. This means that the aircraft at a relatively earlier time flies practically at a trim condition using the proposed method. Inspecting the time histories of the control derivatives in Fig. 5 reveals more details. The trade-off for getting steadier controls at the later phase is committing marginal but still higher change rate of the controls in the earlier phase. The incremental changes of the maximum absolute control rates are \( 0.01~\mathrm{s^{-1}} \), \( -0.05~ \mathrm{deg/s} \), and \( 0.02~\mathrm{s^{-1}} \), for \( {\dot{C}}_L \), \( \dot{\mu } \), and \( \dot{\delta }_T \), respectively. Nevertheless, the control derivatives are smooth and well within the bounds. In fact, the mathematical property of the trigonometric functions guarantees the existence and continuity of arbitrary derivatives. The derivatives are set to be zero at both ends of the transition trajectory, which is achieved by both methods.

Fig. 6
figure 6

Time histories of the normalized cumulative sums of the control derivatives

Next, we introduce an indicator to quantify completeness of the transition over time. This gives a very intuitive view of the shifted distribution of the control derivatives using the proposed method. The indicator is expressed by

$$\begin{aligned} {\varvec{w}}_k=\sum _{j=1}^k \left( \dot{{\varvec{u}}}_j\right) ^2/\sum _{j=1}^{N_t-1} \left( \dot{{\varvec{u}}}_j\right) ^2,\,k = 1,2,\ldots ,N_t-1. \end{aligned}$$
(35)

The indicator stands for the normalized cumulative sum of the control derivative over time, which is depicted in Fig. 6. The vertical lines identify where the indicator reaches \( 95\% \). The indicators of the proposed method approach the condition earlier than those of the original method. Specifically for \( C_L \), the indicator reaches \( 95\% \) \( 2.6~\mathrm{s} \) earlier for the proposed method, which is already \( 13\% \) of the \( 20~\mathrm{s} \) time horizon for the transition maneuver. The differences of \( \mu \) and \( \delta _T \) are found to be \( 4\%\) and \( 8\% \), respectively. As the new independent variable v has been designed to be of a slow-varying nature, the results of the proposed method and the original method are not vastly different, and yet we can observe the effectiveness of the proposed method. In fact, the difference can be more visible if a very aggressive time-scaling function had been selected. However, it is beyond the purpose of this application that requires an overall smooth transition.

It is to be noted that there can be different ways of designing the time-scaling function and the time-scaled trigonometric series. The shown application only represents one specific concern that has been satisfactorily addressed.

5 Conclusions

For shaping the time behavior of the controls in generating trajectories, this paper develops a new time-scaled trigonometric series control parameterization method. The proposed method can incorporate a user-defined time-scaling function that alters the fundamental time behavior of the basis functions such that the controls inherit the desired characteristic. It has been shown that in the model predictive convex optimization framework, the modification required for using the newly developed method is minor. For the transition maneuver scenario in this paper, the aircraft is required to maneuver more gently in the later stage of the transition trajectory, for which the proposed method introduces a smooth, decreasing time-scaling function. Simulations are carried out to show the effectiveness of the proposed method and the comparison to the original method demonstrates that the proposed method accomplished the task well.