1 Introduction

In missile systems, a seeker subsystem plays a crucial role in terminal homing. It tracks a target continuously after acquisition and provides the measurements of the target motion [1]. If a strapdown seeker is considered, the target must be maintained inside the seeker’s field of view. Therefore, look angle should be limited within feasible region. Also, if an agile turn maneuver against high-speed targets is considered, image distortion such as motion blur may occur in the image plane of a seeker. Then, it is highly probable that the seeker loses the target, resulting in the mission failure. Thus, look angle rate limitation must be considered to prevent the image distortion. Optimal guidance problems considering the look angle constraints have been proposed recently [2,3,4,5,6,7]. However, these studies deal with the lead angle constraints instead of directly restricting the look angle, hence assuming small angle of attack. This causes significant problems in the high maneuver cases where the angle of attack is not ignorable. Therefore, a need for advanced techniques that can directly handle the look angles arises.

Integrated guidance and control design becomes more and more popular to improve a missile system performance such as the accuracy of the interceptor and its kill envelope extension. Menon and Ohlmeyer [8] employed feedback linearization technique to integrated guidance and control. The proposed technique provided a stabilizing control law which was optimal with respect to an infinite-time performance index. Shima et al. [9] applied sliding mode control approach for the derivation of the integrated guidance–control algorithm. The sliding surface was defined using the zero-effort miss distance, obtained from a linearized differential game formulation. Idan et al. [10] also used sliding mode control methodology to control missile by two aerodynamics surfaces. It was shown that the integrated system could account simultaneously for the guidance and autopilot requirements using the additional degree of freedom. Smooth second-order sliding mode control was adopted by Shtessel and Tournes [11] against maneuvering target. The target acceleration was reconstructed in finite time, and smooth flight path angle, angle of attack, and pitch rate commands were generated. On the other hand, Xin et al. [12] presented an infinite-horizon optimal control problem which was solved by \(\theta \)-D technique. The method produced an approximate closed-form feedback controller in which online computation was not required. Vaddi et al. [13] developed a numerical approach using state-dependent Riccati equation methodology. State-dependent system matrices were obtained as the solution to a constrained least-squares optimization problem, and the target interception was modeled as a tenth-order nonlinear regulation problem. State-dependent Riccati equation approach was also used by Zhao et al. [14] for ground-fixed target with desired terminal impact angle. A time-varying state weighting matrix defined by functions of altitude-to-go was suggested to achieve a satisfactory terminal accuracy. Furthermore, Kim et al. [15] formulated an optimization problem with affine dynamic constraints. The optimal solution was derived as a time-varying state feedback control with a feedforward term, and the quadratic weighting functions were appropriately chosen.

In this study, an integrated guidance and control method considering state constraints for terminal homing is proposed. Short-period dynamics and guidance kinematics of a missile as well as actuator dynamics are considered [16, 17]. The problem is formulated as a standard equality and inequality constrained quadratic problem that can be efficiently solved via existing techniques. The equality constraint consists of the discrete-time state space model of the missile dynamics. On the other hand, the inequality constraint consists of three limitations: acceleration, look angle, and look angle rate. Acceleration constraint must be considered because of the finite maneuver capability of the missile. Also, look angle constraint is considered due to the limitation of seekers image plane. Finally, look angle rate constraint is considered to prevent image distortion or signal intensity reduction of seeker system especially for high maneuver interception scenarios. Two different formulations are presented, and their computation time is compared for real implementation. Monte Carlo simulation is also carried out to verify the performance of the proposed algorithm.

The problem without the equality and inequality constraints has an elegant explicit solution which can be derived from the classical linear quadratic regulator theories or the dynamic programing approaches [15]. However, this is not the case for the problem we focus in this study, and the control solution should be obtained online via solving the finite horizon optimization problem at every time step. The primal–dual interior point method [18,19,20,21] is introduced with sparse matrix handling [22] and matrix caching, to efficiently solve the constrained quadratic problem on-board.

The paper is organized as follows: Sect. 2 formulates the integrated guidance and control problem considered in this study. In Sect. 3, primal–dual interior point method is presented, and numerical simulation results are shown in Sect. 4. Finally, the conclusion is given in Sect. 5.

2 Integrated Guidance and Control Formulation

2.1 Problem Description

A two-dimensional terminal homing problem in the vertical plane is considered as shown in Fig. 1. And, Fig. 2 shows positive definition of angles used in this study. \(X_{I}-Z_{I}\) is a reference coordinate system whose origin is located at the missile’s initial center of gravity. It is assumed that the missile is close to a collision triangle at the beginning of the terminal homing, and the missile and target deviations during the terminal homing are sufficiently small. Therefore, linearization can be performed around the initial Line-Of-Sight (LOS), \(\lambda _{0}\), whose coordinate system is \(X_{L0}-Z_{L0}\) as shown in Figs. 1 and 2. Also, constant known speed is assumed for both the missile and the target. \(x_{b}\) is a body-fixed coordinate system of the missile, and \(z_{m}\) is a relative displacement between the missile and the target normal to the initial LOS. R and \(\lambda \) are range-to-go and LOS of the missile and the target, respectively. Furthermore, \(v_m\), \(\alpha _m\), and \(\gamma _m\) are speed, angle of attack, and flight path angle of the missile, respectively. \(a_m\) and \(a_t\) are accelerations of the missile and the target, respectively, normal to the LOS as shown in Fig. 1. \(\epsilon _m\) and \(\theta _m\) are look angle and pitch angle of the missile, respectively, whereas \(v_t\) is speed of the target. Finally, g is a gravitational acceleration which is parallel to \(Z_{I}\).

Fig. 1
figure 1

Engagement geometry

The main objective of the terminal homing is to have the missile intercept the target, while limiting its maneuver acceleration by \(| a_m |\le a_{\max }\), the look angle by \(| \epsilon _m |\le \epsilon _{\max }\), and the look angle rate by \(| {\dot{\epsilon }}_m |\le {\dot{\epsilon }}_{\max }\). Also, we consider a rather challenging and restrictive but reasonable situation where the amount of time allowed for the terminal homing phase is insufficient because of the restrictions given by the mission operational requirements or the limits imposed by the other subsystems such as the seekers or the navigation related sensors, and so on. This implies that the conventional separate guidance and control techniques may not be able to achieve the satisfactory homing performance.

The short period dynamics of the missile is governed by the following equation.

$$\begin{aligned} \left[ \begin{array}{c} {\dot{\alpha }}_m \\ {\dot{q}}_m \end{array}\right] = \left[ \begin{array}{cc} Z_{\alpha } &{} 1 \\ M_{\alpha } &{} M_{q} \\ \end{array}\right] \left[ \begin{array}{c} \alpha _m \\ q_m \end{array}\right] + \left[ \begin{array}{c} Z_{\delta } \\ M_{\delta } \end{array}\right] \delta _m, \end{aligned}$$
(1)

where \(q_m\) is a pitch rate, \(\delta _m\) is a control fin deflection angle, and \(Z_{\alpha }\), \(Z_{\delta }\), \(M_{\alpha }\), \(M_{q}\), and \(M_{\delta }\) are corresponding dimensional derivatives of the missile [16, 17]. Now, \(a_m\) can be expressed as follows:

$$\begin{aligned} \begin{aligned} a_{m} = v_m ({\dot{\alpha }}_m - q_m) = v_{m} Z_{\alpha }\alpha _m + v_{m} Z_{\delta }\delta _m. \end{aligned} \end{aligned}$$
(2)

And, the control fin actuator dynamics is modeled as a single lag system as follows:

$$\begin{aligned} {\dot{\delta }}_m = -\omega _a \delta _m + \omega _a \delta _c, \end{aligned}$$
(3)

where \(\delta _c\) is a control command, and \(\omega _a\) is an inverse of the actuator time constant.

On the other hand, the kinematics describing the trajectory of the missile is given as follows:

$$\begin{aligned} \begin{aligned} \left[ \begin{array}{c} {\dot{\gamma }}_m \\ {\dot{z}}_m \end{array}\right] = \left[ \begin{array}{cc} 0 &{}{} 0 \\ v_{{m}} &{}{} 0 \\ \end{array}\right] \left[ \begin{array}{c} \gamma _m \\ z_m \end{array}\right] + \left[ \begin{array}{c} -1/v_{{m}} \\ 0 \end{array}\right] a_m, \end{aligned} \end{aligned}$$
(4)
Fig. 2
figure 2

Positive angle definition

where \(a_{{m}}\) can be replaced by (2). Using (1) and (3)–(4), an augmented system of equations is built as follows:

$$\begin{aligned} \begin{aligned} \underbrace{\left[ \begin{array}{c} {\dot{\delta }}_m \\ {\dot{\alpha }}_m \\ {\dot{q}}_m \\ {\dot{\gamma }}_m \\ {\dot{z}}_m \end{array}\right] }_{\equiv \ \dot{{\bar{x}}}}=&{} \underbrace{\left[ \begin{array}{ccccc} -\omega _a &{}{} 0 &{}{} 0 &{}{} 0 &{}{} 0 \\ Z_{\delta } &{}{} Z_{\alpha } &{}{} 1 &{}{} 0 &{}{} 0 \\ M_{\delta } &{}{} M_{\alpha } &{}{} M_{q} &{}{} 0 &{}{} 0 \\ -Z_{\delta } &{}{} -Z_{\alpha } &{}{} 0 &{}{} 0 &{}{}0 \\ 0 &{}{} 0 &{}{} 0 &{}{} v_{{m}} &{}{} 0 \end{array}\right] }_{\equiv \ {\bar{A}}} \underbrace{\left[ \begin{array}{c} \delta _m \\ \alpha _m \\ q_m \\ \gamma _m \\ z_m \end{array}\right] }_{\equiv \ {\bar{x}}} + \underbrace{\left[ \begin{array}{c} \omega _a \\ 0 \\ 0 \\ 0 \\ 0 \end{array}\right] }_{\equiv \ {\bar{B}}} \underbrace{\delta _c}_{\equiv \ {\bar{u}}}. \end{aligned}\nonumber \\ \end{aligned}$$
(5)

The above equation can be discretized with the sampling interval of \(\varDelta t\).

$$\begin{aligned} x_{k+1} = Ax_{k} + Bu_{k} + b, \end{aligned}$$
(6)

where the subscripts represent the time index, and the discretized matrices are obtained by \(A = e^{\varDelta t {\tilde{A}}}\), \(B = \left( \int _0^{\varDelta t} e^{\tau {\tilde{A}}} \mathrm{{d}}\tau \right) {\tilde{B}}\), and \(b = \left( \int _0^{\varDelta t} e^{\tau {\tilde{A}}} \mathrm{{d}}\tau \right) {\tilde{b}}\).

Now, we look at the inequality constraints. Acceleration constraint is considered due to the finite maneuver capability of the missile, and it can be expressed using (2) as follows:

$$\begin{aligned} \begin{aligned} -a_{\max } \le v_{{m}} Z_{\alpha }\alpha _m + v_{{m}} Z_{\delta }\delta _m \le a_{\max }, \end{aligned} \end{aligned}$$
(7)

where \(a_{\max }\) is an acceleration limit. Also, look angle constraint is considered because of the limitation of seeker’s image plane, and it can be expressed using \(\lambda = -z_m / R\) and angle definition in Fig. 2 as follows:

$$\begin{aligned} -\epsilon _{\max } \le -z_m / R - \alpha _m - \gamma _m \le \epsilon _{\max }, \end{aligned}$$
(8)

where \(\epsilon _{\max }\) is a look angle limit. Finally, look angle rate constraint is considered to prevent image distortion or signal intensity reduction of the seeker, and it can be obtained by taking the derivative of the look angle with respect to time.

$$\begin{aligned} \begin{aligned} -{\dot{\epsilon }}_{\max } \le -v_{{m}}\gamma _{{m}}/R - z_m (v_{{m}}+v_{t})/R^2 - q \le {\dot{\epsilon }}_{\max }, \end{aligned} \end{aligned}$$
(9)

where \({\dot{\epsilon }}_{\max }\) is a look angle rate limit, and \({\dot{R}}\) is approximated as follows:

$$\begin{aligned} \begin{aligned} {\dot{R}} \approx -(v_{{m}}+v_{t}). \end{aligned} \end{aligned}$$
(10)

Note that (7)–(9) consist of linear combinations of the state variables of (6). And the following set of linear time-varying constraints can be established.

$$\begin{aligned}&\underbrace{\left[ \begin{array}{ccccc} v_{{m}}Z_{\delta } &{}{} v_{{m}}Z_{\alpha } &{}{} 0 &{}{} 0 &{}{} 0 \\ -v_{{m}}Z_{\delta } &{}{} -v_{{m}}Z_{\alpha } &{}{} 0 &{}{} 0 &{}{} 0 \\ 0 &{}{} -1 &{}{} 0 &{}{} -1 &{}{} 1/R_{k} \\ 0 &{}{} 1 &{}{} 0 &{}{} 1 &{}{} -1/R_{k} \\ 0 &{}{} 0 &{}{} -1 &{}{} -v_{{m}}/R_{k} &{}{} -(v_{{m}}+v_{t})/R_{k}^{2} \\ 0 &{}{} 0 &{}{} 1 &{}{} v_{{m}}/R_{k} &{}{} (v_{{m}}+v_{t})/R_{k}^{2} \end{array}\right] }_{\equiv \ C_{k}} \nonumber \\&\quad \times \left[ \begin{array}{c} \delta _m \\ \alpha _m \\ q_m \\ \gamma _m \\ z_m \end{array}\right] \le \underbrace{\left[ \begin{array}{c} a_{\max } \\ a_{\max } \\ \epsilon _{\max } \\ \epsilon _{\max } \\ {\dot{\epsilon }}_{\max } \\ {\dot{\epsilon }}_{\max } \end{array}\right] }_{\equiv \ D}, \end{aligned}$$
(11)

where \(R_{k}\) is the range-to-go after k samples. \({C}_k\) in (11) is time-varying due to \(R_{k}\). However, it can be easily predicted in the constant speed terminal homing phase where the curvature of the trajectory is sufficiently mild. Therefore, the range to go decreases almost linearly. For example, if the current range-to-go, \(R_{0}\), is obtained from the inertial navigation system or from the seeker, then the range-to-go after k samples can be simply predicted by \(R_{0} - k(v_{{m}}+v_{t})\varDelta t\).

Therefore, the optimal control for \(0 \le t \le t_f \) can be obtained via solving the following problem.

$$\begin{aligned} \begin{array}{llll} &{} \underset{u_0, \ldots ,u_{N-1}}{\text {minimize}} &{} &{} u_0^T R_0 u_0 + \sum _{k=1}^{N-1} \big ( x_k^T Q_k x_k + u_k^T R_k u_k \big ) \\ &{}&{}&{}\quad + x_N^T Q_N x_N \\ &{} \text {subject to} &{} &{} x_{k+1} = A x_k + B u_k \\ &{} &{} &{} C_k x_k \le D, \end{array} \end{aligned}$$
(12)

for all \(k \in \{ 0,\ldots , N-1 \}\), where the weighting matrices satisfy \(Q_1,\ldots ,Q_N\ge 0\) and \(R_0,\ldots ,R_{N-1}>0\). The length of the horizon, N, is equal to \(N=t_f /{\varDelta t}\).

2.2 Sparse Formulation

Let us define y as follows:

$$\begin{aligned} y = [u_0^T \ x_1^T \ u_1^T \ x_2^T \ldots u_{N-1}^T \ x_N^T]^T. \end{aligned}$$
(13)

Now, (12) can be transformed to a standard equality and inequality constrained quadratic problem as follows:

$$\begin{aligned} \begin{aligned} \underset{y}{\text {minimize}}&\quad y^T {\mathcal {Q}} y \\ \text {subject to}&\quad {\mathcal {A}}y = {\mathcal {B}} \\&\quad \, {\mathcal {C}}y \le {\mathcal {D}}, \end{aligned} \end{aligned}$$
(14)

where

$$\begin{aligned} {\mathcal {Q}}= & {} \left[ \begin{array}{ccccc} R_0 &{} &{} &{} &{} \\ &{} Q_1 &{} &{} &{} \\ &{} &{} \ddots &{} &{} \\ &{} &{} &{} R_{N-1} &{} \\ &{} &{} &{} &{} Q_N \end{array}\right] , \end{aligned}$$
(15)
$$\begin{aligned} {\mathcal {A}}= & {} \left[ \begin{array}{cccccccccc} B &{} -I &{} &{} &{} &{} &{} &{} &{} &{} \\ &{} A &{} B &{} -I &{} &{} &{} &{} &{} &{} \\ &{} &{} &{} &{} \ddots &{} &{} &{} &{} &{} \\ &{} &{} &{} &{} &{} A &{} B &{} -I &{} &{} \\ &{} &{} &{} &{} &{} &{} &{} A &{} B &{} -I \end{array}\right] , \end{aligned}$$
(16)
$$\begin{aligned} {\mathcal {C}}= & {} \left[ \begin{array}{ccccccccc} 0 &{} C_1 &{} &{} &{} &{} &{} &{} &{} \\ &{} &{} 0 &{} C_2 &{} &{} &{} &{} &{} \\ &{} &{} &{} &{} \ddots &{} &{} &{} &{} \\ &{} &{} &{} &{} &{} 0 &{} C_{N-1} &{} &{} \\ &{} &{} &{} &{} &{} &{} &{} 0 &{} C_N \end{array}\right] , \end{aligned}$$
(17)
$$\begin{aligned} {\mathcal {B}}= & {} \left[ \begin{array}{c} -Ax_0 \\ 0 \\ \vdots \\ 0 \end{array}\right] , \qquad \quad {\mathcal {D}} = \left[ \begin{array}{c} D \\ D \\ \vdots \\ D \end{array}\right] . \end{aligned}$$
(18)

2.3 Dense Formulation

Similar to the sparse formulation presented in the previous section, the dense formulation also starts from (12). Let us define X and U as follows:

$$\begin{aligned} X= & {} [x_1^T \ x_2^T \ldots x_N^T]^T, \end{aligned}$$
(19)
$$\begin{aligned} U= & {} [u_0^T \ u_1^T \ \ldots u_{N-1}^T]^T. \end{aligned}$$
(20)

Equality constraint in (12) can be listed as follows:

$$\begin{aligned} x_1= & {} Ax_0 + Bu_0, \nonumber \\ x_2= & {} A^2 x_0 + ABu_0 + Bu_1, \nonumber \\&\vdots&\nonumber \\ x_N= & {} A^N x_0 + A^{N-1}Bu_0 + A^{N-2}Bu_1 + \cdots + Bu_{N-1}.\nonumber \\ \end{aligned}$$
(21)

The above equations are rewritten in matrix form using X and U as follows:

$$\begin{aligned} X = X_0 + FU, \end{aligned}$$
(22)

where

$$\begin{aligned} F = \left[ \begin{array}{ccccc} B &{} &{} &{} &{} \\ AB &{} B &{} &{} &{} \\ A^2 B &{} AB &{} B &{} &{} \\ &{} \vdots &{} &{} \ddots &{} \\ A^{N-1}B &{} A^{N-2}B &{} \cdots &{} \cdots &{} B \end{array}\right] ,\quad X_0 = \left[ \begin{array}{c} Ax_0 \\ A^2 x_0 \\ A^3 x_0 \\ \vdots \\ A^{N}x_0 \end{array}\right] .\nonumber \\ \end{aligned}$$
(23)

On the other hand, performance index in (12) can be expressed as follows:

$$\begin{aligned} J = U^{T}RU + X^{T}QX, \end{aligned}$$
(24)

where

$$\begin{aligned} R = \left[ \begin{array}{cccc} R_{0} &{} &{} &{} \\ &{} R_{1} &{} &{} \\ &{} &{} \ddots &{} \\ &{} &{} &{} R_{N-1} \end{array}\right] , \quad Q = \left[ \begin{array}{cccc} Q_{1} &{} &{} &{} \\ &{} Q_{2} &{} &{} \\ &{} &{} \ddots &{} \\ &{} &{} &{} Q_{N} \end{array}\right] .\nonumber \\ \end{aligned}$$
(25)

This performance index can be represented as a function of U using (22) as

$$\begin{aligned} J = U^{T} (F^{T}QF + R) U + 2X_{0}^{T}QFU + X_{0}^{T}Q X_{0}. \end{aligned}$$
(26)

Also, inequality constraint in (12) can be expressed using X as follows:

$$\begin{aligned} {\bar{C}}X \le {\bar{D}}, \end{aligned}$$
(27)

where

$$\begin{aligned} {\bar{C}} = \left[ \begin{array}{cccc} C_{1} &{} &{} &{} \\ &{} C_{2} &{} &{} \\ &{} &{} \ddots &{} \\ &{} &{} &{} C_{N} \end{array}\right] , \qquad \quad {\bar{D}} = \left[ \begin{array}{c} D \\ D \\ \vdots \\ D \end{array}\right] . \end{aligned}$$
(28)

Similarly, the inequality constraint can be represented as a function of U using (22) as

$$\begin{aligned} {\bar{C}}FU \le {\bar{D}} - {\bar{C}}X_{0}. \end{aligned}$$
(29)

Let us define the following variables:

$$\begin{aligned} J_{1}= & {} F^{T}QF + R, \end{aligned}$$
(30)
$$\begin{aligned} J_{2}= & {} 2X_{0}^{T}QF, \end{aligned}$$
(31)
$$\begin{aligned} I_{1}= & {} {\bar{C}}F, \end{aligned}$$
(32)
$$\begin{aligned} I_{2}= & {} {\bar{D}} - {\bar{C}}X_{0}. \end{aligned}$$
(33)

Finally, (12) can be transformed to a standard inequality constrained quadratic problem using (30)–(33) as follows:

$$\begin{aligned} \begin{aligned} \underset{U}{\text {minimize}} \quad&U^{T}J_{1}U + J_{2}U \\ \text {subject to} \quad&\quad \ I_{1}U \le I_{2}. \end{aligned} \end{aligned}$$
(34)

Comparing the two different formulations, we note that there is a trade-off between the number of variables and sparsity. The sparse formulation deals with 6N variables, whereas the dense formulation deals with only N variables. While \({\mathcal {Q}}\) in (14) is block diagonal, \(J_{1}\) in (34) is dense, which leads to sparsity reduction of matrix \(S_{2}\) explained in the following section.

3 Primal–Dual Interior Point Method

In solving the problem in (14) of the sparse formulation, we apply the primal–dual interior point technique [18] whose search direction from a strictly feasible point \( (y , \lambda , \nu ) \) is given from the modified KKT condition by

$$\begin{aligned} \left[ \begin{array}{ccc} 2{\mathcal {Q}} &{} {\mathcal {C}}^T &{} {\mathcal {A}}^T \\ - \text {diag}{ (\lambda ) } {\mathcal {C}} &{} -\text {diag}{ (f ) } &{} 0 \\ {\mathcal {A}} &{} 0 &{} 0 \end{array}\right] \left[ \begin{array}{c} \varDelta y \\ \varDelta \lambda \\ \varDelta \nu \end{array}\right] = - \left[ \begin{array}{c} r_\mathrm{{dual}} \\ r_\mathrm{{cent}} \\ r_\mathrm{{pri}} \end{array}\right] , \end{aligned}$$
(35)

where

$$\begin{aligned} \left[ \begin{array}{c} r_\mathrm{{dual}} \\ r_\mathrm{{cent}} \\ r_\mathrm{{pri}} \end{array}\right] = \left[ \begin{array}{c} 2{\mathcal {Q}}y + {\mathcal {C}}^T \lambda + {\mathcal {A}}^T \nu \\ -\text {diag}{ (\lambda ) }f - ( 1 / \beta ) \mathbf {1} \\ {\mathcal {A}}y - {\mathcal {B}} \end{array}\right] , \end{aligned}$$
(36)

with \(f={\mathcal {C}}y-{\mathcal {D}}\), and the barrier approximation parameter \(\beta >0\). The one vector, \(\mathbf {1}\), represents the appropriately sized column vector whose elements are all one.

Rearranging (35) and (36) gives

$$\begin{aligned}&\left[ \begin{array}{ccc} 2{\mathcal {Q}} &{} {\mathcal {C}}^T &{} {\mathcal {A}}^T \\ {\mathcal {C}} &{} \text {diag}{ (\lambda ) }^ {-1} \text {diag}{ (f ) } &{} 0 \\ {\mathcal {A}} &{} 0 &{} 0 \end{array}\right] \left[ \begin{array}{c}\varDelta y \\ \varDelta \lambda \\ \varDelta \nu \\ \end{array}\right] \nonumber \\&\quad = - \left[ \begin{array}{c} 2{\mathcal {Q}}y + {\mathcal {C}}^T \lambda + {\mathcal {A}}^T \nu \\ f + (1 / \beta ) \text {diag}{ (\lambda ) }^{-1} \mathbf {1} \\ {\mathcal {A}}y -{\mathcal {B}} \end{array}\right] , \end{aligned}$$
(37)

which can be further simplified by block elimination via the Schur complement as

$$\begin{aligned}&\underbrace{\left[ \begin{array}{cc}2{\mathcal {Q}} - {\mathcal {C}}^T \text{ diag }{ ( f ) }^ {-1} \text{ diag } { (\lambda ) } {\mathcal {C}} &{}{} {\mathcal {A}}^T \\ {\mathcal {A}} &{}{} 0\end{array}\right] }_{\equiv S_{1}} \left[ \begin{array}{c}\varDelta y \\ \varDelta \nu \end{array}\right] \nonumber \\&\quad = - \underbrace{\left[ \begin{array}{c} 2{\mathcal {Q}}y + {\mathcal {A}}^T \nu - (1 / \beta ) {\mathcal {C}} ^ T \text{ diag } { ( f ) }^{-1}\mathbf {1} \\ {\mathcal {A}}y - {\mathcal {B}}\end{array}\right] . }_{\equiv r_{1}} \end{aligned}$$
(38)

Note that this is possible since \(\hbox {diag}(\lambda )^{-1}\hbox {diag}(f)\) is always invertible as long as the problem is strictly feasible. The above equation can be efficiently solved via the LDL factorization of \(S_{1}= PLDL^{T}P ^{T}\) as

$$\begin{aligned}&\left[ \begin{array}{c}\varDelta y \\ \varDelta \nu \end{array}\right] = - P L^ {- T} D^ {-1} L^ {-1} P^T r_{1}, \end{aligned}$$
(39)
$$\begin{aligned}&\varDelta \lambda = - \text {diag}{ ( f ) }^{- 1} \text {diag}{ (\lambda ) } {\mathcal {C}} \varDelta {y} - \lambda - (1 / \beta ) \text {diag}{ ( f ) }^{-1} \mathbf {1},\nonumber \\ \end{aligned}$$
(40)

with the approximation parameter \(\beta \) increasing in every iteration by

$$\begin{aligned} \beta = -6N\mu / f ^T\lambda , \end{aligned}$$
(41)

with some algorithm parameter \(\mu >0\), and 6N representing the number of rows of \({\mathcal {C}}\).

With similar procedure, the modified KKT condition for the problem in (34) of the dense formulation can be summarized as follows:

$$\begin{aligned}&\underbrace{\left[ \begin{array}{c} 2 J_{1} {\bar{C}}^{T} \text {diag} ({\bar{f}})^{-1} \text {diag}(\lambda ) {\bar{C}} \end{array}\right] }_{\equiv S_{2}} \left[ \begin{array}{c}\varDelta y \end{array}\right] , \nonumber \\&\quad = - \underbrace{\left[ \begin{array}{c} 2 J_{1} y + J_{2}^{T} - (1/ \beta ) {\bar{C}}^{T} \text {diag} ({\bar{f}})^{-1}\mathbf {1} \end{array}\right] }_{\equiv r_{2}}, \end{aligned}$$
(42)

where \({\bar{f}}=I_{1}y - I_{2}\).

Note that the LDL decomposition must be carried out at every iteration due to changes of the primal and the dual variables. However, the permutation ordering matrix P can be cached for the entire iterations because the sparsity pattern of \(S_{1}\) and \(S_{2}\) stays the same, which implies that additional computation time saving can be achieved. Also note that, the LDL decomposition can be carried out very efficiently by exploiting the sparsity pattern of the reduced KKT matrices, \(S_{1}\) and \(S_{2}\). For this purpose, off-the-shelf sparse matrix computation libraries such as SuiteSparse [22] can be used. Figures 3 and 4 show sparsity pattern of \(S_{1}\) and \(S_{2}\), respectively, with the horizon size \(N=300\). Matrix \(S_{2}\) does not have any zero element as shown in Fig. 4.

Fig. 3
figure 3

Sparsity pattern of matrix \(S_{1}\)

Fig. 4
figure 4

Sparsity pattern of matrix \(S_{2}\)

4 Numerical Simulation

The performance of the proposed integrated guidance and control design is evaluated through numerical simulation. The total engagement time is 2.0 s and \(\lambda _0 = 0^{\circ }\). The parameters of the missile [9, 16] is listed in Table 1. In Table 1, g is 9.8067 m/s\(^2\) and the operator \(\text {diag}\) is a square diagonal matrix with the elements inside the square bracket on the main diagonal. The constant target speed, \(v_t\), is set to 1000 m/s. The initial state variable of the missile is set to \([0^{\circ } \ 0^{\circ } \ 0^{\circ }/s \ 2^{\circ } \ 60m]^T\) where the order of the state is shown in (5).

Table 1 System parameters and design parameters

To intercept the target, the fifth diagonal element in \(Q_N\) is assigned to nonzero number so that small \(z_m\) is to be achieved at the end of the terminal homing as shown in Table 1. The other diagonal elements in \(Q_k\) for \(k \in \{ 1,\ldots , N \}\) are left zero because they are not required to be regulated.

The same result is achieved using the sparse formulation and the dense formulation. Figures 5, 6, 7, 8 and 9 show the time responses of the state variables. In Fig. 5, solid line and dotted line represent \(\delta _\mathrm{{m}}\) and \(\delta _\mathrm{{c}}\), respectively. The final miss distance of the proposed algorithm is 0.0005m as shown in Fig. 9. On the other hand, Figs. 10, 11 and 12 show the time responses of the acceleration, look angle, and look angle rate of the missile, respectively. And these variables stay within the considered limit (dotted line in Figs. 10, 11, 12) during the entire engagement, which means that the formulated problem gives the feasible solution satisfying the inequality constraints.

Note that, unlike the conventional separate guidance and control strategies, the proposed algorithm does not produce divergent acceleration command around the vicinity of the impact point which is the crucial part for the final miss distance as shown in Fig. 10. This implies that the proposed technique does not require any divergence-preventive techniques such as command freezing or nullifying [15]. Therefore, it can take full advantage of applying the optimal guidance and control until the last moment of the impact.

Fig. 5
figure 5

Control input of the missile

Fig. 6
figure 6

Angle of attack of the missile

Fig. 7
figure 7

Pitch rate of the missile

Fig. 8
figure 8

Flight path angle of the missile

Fig. 9
figure 9

Relative displacement between the missile and the target

Fig. 10
figure 10

Acceleration of the missile

Fig. 11
figure 11

Look angle of the missile

Fig. 12
figure 12

Look angle rate of the missile

Computation time of two formulation methods presented in this study is evaluated and compared. For the platform, Intel Xeon E5-2670 CPU running at 2.60 GHz is used with 32.0 GB RAM in a 64-bit operating system. And, the algorithm is constructed on the Matlab R2016a software with quadprog solver from Matlab optimization toolbox [21].

For each case, simulation is conducted for 20 times and computation time is recorded only for solving the convex optimization problem (not the entire process). Table 2 shows the computation time of the sampling interval of 0.002 s, 0.01 s, and 0.05 s, respectively. As the sampling interval gets bigger, computation time reduces for both methods. When the sampling interval is very small, the computation time of the dense formulation is very long in particular, which makes it impractical for real-time implementation as shown in Table 2. However, when the sampling interval is relatively big, the dense formulation requires less calculation than the sparse formulation. This means that the horizon size of the considered problem has critical influence on the dense formulation in terms of computational burden.

Table 2 Computation time evaluation

Monte Carlo simulation is also employed to evaluate the performance of the proposed integrated guidance and control algorithm with different initial conditions of the missile. 500 sample runs are carried out with \(x_0\) randomly chosen for each case. Note that the parameters including \(a_{\max }\), \(\epsilon _{\max }\), and \({\dot{\epsilon }}_{\max }\) in Table 1 are also applied in Monte Carlo runs. The simulation results are presented in Figs. 13, 14, 15, 16 and 17 from where it is shown that the proposed algorithm provides satisfactory performance. Acceptable final miss distances are achieved as shown in Fig. 14. Furthermore, the acceleration, look angle, and look angle rate of the missile are within the predefined limit for all cases, as shown in Figs. 15, 16 and 17.

Fig. 13
figure 13

Angle of attack of the missile (Monte Carlo simulation)

Fig. 14
figure 14

Relative displacement between the missile and the target (Monte Carlo simulation)

Fig. 15
figure 15

Acceleration of the missile (Monte Carlo simulation)

Fig. 16
figure 16

Look angle of the missile (Monte Carlo simulation)

Fig. 17
figure 17

Look angle rate of the missile (Monte Carlo simulation)

5 Conclusions

An integrated guidance and control problem which considers the constraints on the maneuver acceleration, the look angle, and the look angle rate is presented in this study. The problem is of significant importance in practice because such constraints can guarantee the flight safety and the seeker performance under high maneuver situations. The problem is formulated as a standard quadratic problem in two ways, and the optimal control is obtained by solving the series of such problems at every time step. Moderate-sized problems can be efficiently solved via generic convex optimization solvers such as the family of interior point methods. The size of the problem we consider in this study grows with the horizon size, and the problem must to be solved on-board. To reduce the complexity in solving the primal–dual search direction, several numerical techniques, including the Schur complement, sparsity pattern exploitation, and permutation order caching, are mentioned.

For future research, the proposed integrated guidance and control algorithm will be extended to deal with three-dimensional space. Also, recent first-order methods such as the alternating direction method of multipliers will be applied.