1 Introduction

Numerous autonomous guidance approaches have been developed in the last decade to improve the performance of interceptor missiles for some specific objectives, such as impact time control, impact angle control, minimum time control, and minimum energy control [14]. For a single interceptor missile, the above objectives have been achieved with satisfactory accuracy of target capture. And recently, many studies start to focus on the development of cooperative guidance approaches for the multiple-missile network, which have shown better performance than a single interceptor missile, in detecting the maneuvering targets, penetrating the defense systems, and surviving the threats [57]. However, it is more difficult to achieve the time-constrained guidance against a given target in light of the different initial conditions as well as the communication limit in the multiple-missile network [8, 9].

In the current literature, two typical classes of approaches have been proposed to develop the time-constrained guidance laws for the multi-missile salvo attack. The first class investigates the design of the impact time constraint in the control command for each interceptor missile. In [10], the closed form of the impact time control guidance law (ITCG) is derived on the basis of linear formulation, which can guide a group of missiles to simultaneously intercept a stationary target at a desirable time. In [11], a time-varying navigation gain is discussed to coordinate the impact time of the multi-missile network. Later, an extension of the ITCG guidance is presented to control both the impact time and angle in [12]. Regarding the above algorithms, it is required that the global information of the time-to-go is available to each group member in the multiple-missile network. To improve the performance of the time-constrained guidance law, the distributed control architecture is developed on the basis of consensus protocols [13]. The consensus theory is also applied to design the cooperative guidance laws by using the discrete topology model [14]. In addition, a biased proportional navigation guidance method (BPNG) is proposed, in which the time-to-go estimation is derived by solving differential equations analytically [15].

The second class employs the leader-follower model to describe the cooperative interception of multiple-missile network. Based on traditional proportional navigation (PN) algorithm, a nonlinear state tracking controller is used to design the leader-follower strategy in order to achieve the time-constrained guidance [16]. Then, the consensus protocols are applied to the design of leader-follower strategy which guarantees that the impact time of each follower can converge to the leader in finite time [17]. In [18], a heterogeneous leader-follower guidance approach is also discussed for multiple-missile network based on the traditional PN algorithm. Further, the virtual leader scheme is also employed to achieve cooperative guidance by transforming the time-constrained guidance problem to the nonlinear tracking problem [19].

In this paper, the nonlinear model predictive control (MPC) technique [20, 21] is used to design the cooperative time-constrained guidance for the multi-missile network. The contribution of the manuscript is described in the following: (1) The distributed MPC scheme is developed to coordinate the impact time of the interceptor missiles, each of which only shares information with the neighbors and solves its own local optimization problem; (2) the pigeon-inspired optimization (PIO) method is enhanced with nonlinear equality and inequality constraints and used to formulate the distributed MPC; (3) the safe distance-based penalty term is integrated into the local cost function to achieve no-fly zone avoidance for the multi-missile network. The paper is organized as follows. Section 2 presents the preliminaries to the guidance geometry and nonlinear MPC. In Sect. 3, the design of the cooperative time-constrained guidance approach is proposed in detail. The effectiveness of the proposed distributed algorithm is demonstrated by the numerical simulations in Sect. 4. Finally, concluding remarks are presented in Sect. 6.

2 Preliminary

2.1 Basic assumptions

To simplify the equations of motion for the missile-target engagement, the nonlinear dynamics of the two-dimensional pursuit situation is considered in this paper. We assume that the following conditions are used to facilitate the analysis of the distributed time-constrained guidance approach:

  1. 1.

    Both the interceptor missiles and the target are considered as the geometric points in the planar plane;

  2. 2.

    The seeker and autopilot dynamics of each interceptor missile are much faster in comparison with the guidance loop;

  3. 3.

    The angle of attack of each interceptor missile is small enough to be neglected;

  4. 4.

    The velocity of each interceptor missile is constant and the acceleration input only changes its direction.

Fig. 1
figure 1

Guidance geometry on many-to-one engagement

2.2 Guidance geometry

Suppose that \(N_{\mathrm{m}}\) missiles participate in the multi-missile network to simultaneously intercept a stationary target. Under the aforementioned assumptions, the two-dimensional guidance geometry on many-to-one engagement is depicted in Fig. 1.

Let \(\hbox {M}_{i}\) denote each interceptor missile and T denote the target. The terms \(\gamma _{i}, \lambda _{i}\), and \(\theta _{i}\) denote the missile heading angle, line-of-sight angle, and look-ahead angle, respectively. As shown in Fig. 1, the look-ahead angle represents the angle between the missile heading angle and line-of-sight angle, which is defined as

$$\begin{aligned} \theta _i =\gamma _i -\lambda _i \end{aligned}$$
(1)

where the subscript \(i\in \{1, 2, \ldots , N_{\mathrm{m}}\}\) denotes each member in the multi-missile network. Then, the two-dimensional pursuit situation can be described by the equations of motion in the form of [22]

$$\begin{aligned} \dot{r}_i= & {} -V_i \cos \theta _i \end{aligned}$$
(2)
$$\begin{aligned} \dot{\lambda }_i= & {} -\frac{V_i \sin \theta _i }{r_i } \end{aligned}$$
(3)
$$\begin{aligned} \dot{\gamma }_i= & {} \frac{a_i }{V_i } \end{aligned}$$
(4)

where \(r_{i}\) is the missile-to-target range. \(V_{i}\) is the total velocity of each interceptor missile. The acceleration command is defined as \(a_{i}\) for missile i. The problem studied herein is to find the coordination algorithm that can guide the multi-missile network to the given target at a same time, even if the initial conditions of each member are different.

2.3 Nonlinear MPC

Considering the nonlinear MPC problem, the missile dynamics (14) can be written in the equivalent form as follows

$$\begin{aligned} \dot{z}\left( t \right) =f\left( {z (t),u (t)} \right) , \quad t\ge t_0, z(0)=z_0 \end{aligned}$$
(5)

where \(z(t)\in {\mathcal {R}}^{n}\) is the system state trajectory, and \(u(t)\in {\mathcal {R}}^{m}\) is the system control trajectory. Then, define the constant prediction horizon as \(T_{\mathrm{p}} \in (0,\infty )\) and the constant control update period as \(\delta \in (0, T_{\mathrm{p}}]\). The common receding horizon update times are given by \(t_c =t_0 +\delta c,\, c\in \{0, 1, 2, \ldots \}\). At each time instant \(t_{c}\), the MPC problem can be formulated by the following finite-horizon optimal control problem (FHOCP).

Problem 1

For each member \(i\in \{1, 2, \ldots , N_\mathrm{m} \}\) and at the update time \(t_c =t_0 +\delta c,\, c\in \{0, 1, 2, \ldots \}\): Given \(z(t_c )\), and then, find

$$\begin{aligned}&u^{*}\left( {s; t_{c}} \right) =\arg \mathop {\min }\limits _{u\left( {s; t_c} \right) } J\left( {z\left( {s ; t_c } \right) ,u\left( {s ; t_c} \right) } \right) \end{aligned}$$
(6)
$$\begin{aligned}&J\left( {z\left( {s ; t_c } \right) ,u\left( {s ; t_c } \right) } \right) \!=\!\int _{t_c }^{t_c +T_\mathrm{p} } {F\left( {z\left( {s ; t_c } \right) ,u\left( {s ; t_c } \right) } \right) \hbox {d}s}\nonumber \\&\qquad +\,\varPhi \left( {z\left( {t_c +T_\mathrm{p} ; t_c } \right) } \right) \end{aligned}$$
(7)

subject to

$$\begin{aligned}&\dot{z}\left( {s ; t_c } \right) =f\left( {z\left( {s ; t_c } \right) ,u\left( {s ; t_c } \right) } \right) \end{aligned}$$
(8)
$$\begin{aligned}&z\left( {s ; t_c } \right) \in {\mathcal {Z}} \end{aligned}$$
(9)
$$\begin{aligned}&u\left( {s ; t_c } \right) \in {\mathcal {U}} \end{aligned}$$
(10)

where \(s\in [t_c, t_c +T_\mathrm{p} ]\) is the prediction horizon. \(z(s; t_c)\) and \(u(s ; t_c)\) are the predicted state trajectory and control trajectory, respectively. \({\mathcal {Z}}\) and \({\mathcal {U}}\) are the state and control input constraints. The optimal control trajectory is denoted as \(u^{*}(s ; t_c )\). J is the integrated cost function including a running function F and a terminal state penalty function \(\varPhi \).

3 Time-constrained guidance approach

In this section, the distributed MPC framework in [21] is used to design the time-constrained guidance approach for the multi-missile network. The PIO algorithm is improved to solve the distributed finite-horizon optimal control problem. The main objective is to achieve an agreement on the impact time between each interceptor missile, meanwhile satisfying the no-fly zone constraint.

3.1 Distributed MPC scheme

The decoupled time-invariant nonlinear dynamics for missile i can be written in the equivalent form as

$$\begin{aligned} \dot{z}_i (t)=f_i \left( {z_i (t),u_i (t)} \right) , t\ge t_0 \end{aligned}$$
(11)

and then, the concatenated vectors in the system (5) can be denoted as \(z = (z_{1}, z_{2}, {\ldots }, z_{N{\mathrm{m}}}), u = (u_{1}, u_{2}, {\ldots }, u_{N{\mathrm{m}}})\), and \(f (z, u) = (f_{1 }(z_{1}, u_{1}), f_{2} (z_{2}, u_{2}), {\ldots }, f_{N{\mathrm{m}}} (z_{N{\mathrm{m}}}, u_{N{\mathrm{m}}}))\), respectively.

For the conventional MPC framework in Problem 1, the states of each missile are typically coupled in the integrated cost function to achieve the impact time control. The common components in (7) can be defined as

$$\begin{aligned} F\left( {z\left( t \right) ,u\left( t \right) } \right)= & {} \alpha \sum _{\left( {i,j} \right) \in {\mathcal {E}}} {\left\| {t_{\mathrm{go}, i} \left( t \right) -t_{\mathrm{go}, j} (t)} \right\| } ^{2}\nonumber \\&+\left( {1-\alpha } \right) \sum _{i \in {\mathcal {V}}} {\left\| {u_i \left( t \right) } \right\| ^{2}} \end{aligned}$$
(12)
$$\begin{aligned} \varPhi \left( {z\left( t \right) } \right)= & {} \beta \sum _{i \in {\mathcal {V}}} {\left\| {r_i \left( t \right) } \right\| ^{2}} \end{aligned}$$
(13)

where the symbol \({\vert }{\vert } \cdot {\vert }{\vert }\) denotes any vector norm in \({\mathcal {R}}^{n}\). \({\mathcal {V}}=\{1, 2, \ldots , N_\mathrm{m} \}\) represents the set of the interceptor missiles. \({\mathcal {E}}\) is the set of the pair-wise neighbors in the multi-missile network. It is assumed that, if \((i, j)\in {\mathcal {E}}\), then \((j, i)\notin {\mathcal {E}}\), and \((i, i)\notin {\mathcal {E}}\) for missile \(i \in {\mathcal {V}}\). The terms \(\alpha \) and \(\beta \) are the weighting constants. The time-to-go of each interceptor missile is estimated by the following expression

$$\begin{aligned} t_{\mathrm{go},i} \left( t \right) =\frac{r_i \left( t \right) }{V_i } \end{aligned}$$
(14)

The main advantage of the conventional MPC framework is the design of the cost function with (12) and (13) which takes account into the state and control trajectories of all the interceptor missiles. It can reflect overall the motion of the multi-missile network. However, the requirement of computation load is quite high and the guidance approach would be out of work if some interceptor missiles are only able to obtain the effective information from its neighbors. Figure 2 illustrates an example of the communication limitation in the multi-missile network, for which missile i can only communicate with its neighbors in the set \({\mathcal {N}}_i\). Therefore, the time-constrained guidance should be developed in the distributed framework to achieve an agreement on the impact time.

Fig. 2
figure 2

Example of the communication limitation in the multi-missile network

As shown in Fig. 3, the distributed MPC framework is proposed for the multi-missile network. The main principle is summarized as follows. At each update time, the control inputs of the group of interceptor missiles are first initialized by using the previous predicted optimal control trajectories. Then, each member in the multi-missile network receives the estimated control trajectory from its neighbors, computes the neighbors’ states over the current prediction horizon, and meanwhile transmits its estimated control trajectory to the neighbors. Based on the estimated state and control trajectories from neighbors, each missile evaluates the distributed cost function of its own and finds the optimal predicted control trajectory over the current prediction horizon. Finally, the optimal control trajectory over the first control update period is implemented to update the states of each interceptor missile.

Fig. 3
figure 3

Framework of the distributed MPC scheme

To describe the distributed MPC scheme, we first define that the neighbors of each interceptor missile \(i\in {\mathcal {V}}\) have the control vectors \(u_{-i} (t)=\{u_j (t)\}, j \in {\mathcal {N}}_i\) and state vectors \(z_{-i} (t)=\{z_j (t)\}, j \in {\mathcal {N}}_i\), respectively. The decoupled nonlinear dynamics for the neighbors of missile i can be formulated as

$$\begin{aligned} \dot{z}_{-i} \left( t \right) =f_{-i} \left( {z_{-i} \left( t \right) ,u_{-i} \left( t \right) } \right) , \quad t\ge t_0 \end{aligned}$$
(15)

Then, we define the following notations to distinguish the different kinds of the state and control trajectories for each missile i at current time \(t_{c}\)

  1. (1)

    \(u_i^p \left( {s ; t_c } \right) ,\, z_i^p \left( {s ; t_c } \right) \): the predicted control and state trajectories;

  2. (2)

    \(u_i^*\left( {s ; t_c } \right) ,\, z_i^*\left( {s ; t_c } \right) \): the optimal predicted control and state trajectories;

  3. (3)

    \({\hat{u}}_i \left( {s ; t_c } \right) ,\, {\hat{z}}_i \left( {s ; t_c } \right) \): the estimated control and state trajectories.

where \(s\in [t_c, t_c +T_\mathrm{p} ]\) is the given prediction horizon. Consistent with \(u_{-i} (t)\) and \(z_{-i} (t)\), the estimated control and state trajectories of the neighbors of each missile i are defined as \({\hat{u}}_{-i} (s; t_c )\) and \({\hat{z}}_{-i} (s ; t_c )\), respectively.

The estimation of the control trajectory \({\hat{u}}_{-i} (s; t_c)\) and the state trajectory \({\hat{z}}_{-i} (s ; t_c)\) in the prediction horizon \(s\in [t_c, t_c +T_\mathrm{p}]\) will be determined at each update time \(t_{c}\). As shown in Fig. 3, it is typically an iterative process in the proposed distributed MPC scheme by continuously updating the time constant \(t_c =t_0 +\delta c,\, c\in \{0, 1, 2, \ldots \}\).

Fig. 4
figure 4

Generation of the estimated control and state trajectories

In each iterative process, the estimated control trajectory of its neighboring missile over the prediction horizon \(s\in [t_c, t_c +T_\mathrm{p} ]\) is described according to the aforementioned definition \(u_{-i} (t)=\{u_j (t)\}, j \in {\mathcal {N}}_i \). In detail, the estimated control trajectory \({\hat{u}}_{-i} (s ; t_c )\) can be given in the form of

$$\begin{aligned} {\hat{u}}_{-i} \left( {s ; t_c } \right) =\left\{ {{\hat{u}}_j \left( {s ; t_c } \right) } \right\} , j \in {\mathcal {N}}_i \end{aligned}$$
(16)

where the estimated control trajectory \({\hat{u}}_j (s ; t_c )\) consists of two individual parts over the prediction horizon \(s\in [t_c, t_c +T_\mathrm{p} ]\). As shown in Fig. 4, the first part of the estimated control trajectory \({\hat{u}}_j (s ; t_c )\) inherits the previous optimal control trajectory \(u_j^*(s ; t_{c-1} )\) over the prediction horizon \(s\in [t_c, t_{c-1} +T_\mathrm{p} )\). The second part of the estimated trajectory \({\hat{u}}_j (s ; t_c )\) over the prediction horizon \(s\in [t_{c-1} +T, t_c +T_\mathrm{p} ]\) is derived from the previous optimal control trajectory \(u_j^*(s ; t_{c-1})\) at the time instant \(s=t_{c-1} +T_\mathrm{p} \). To be specific, the estimated control trajectory \({\hat{u}}_j (s ; t_c )\) can be expressed as

$$\begin{aligned} {\hat{u}}_j \left( {s ; t_c } \right) =\left\{ {\begin{array}{l@{\quad }l} u_j^*\left( {s ; t_{c-1} } \right) , &{}s{\in } \left[ {t_c, t_{c-1} +T_\mathrm{p} } \right) \\ u_j^*\left( {t_{c-1} +T_\mathrm{p} ; t_{c-1} } \right) , &{} s{\in } \left[ {t_{c-1} +T_\mathrm{p}, t_c \!+\!T_\mathrm{p} } \right] \\ \end{array}} \right. \nonumber \\ \end{aligned}$$
(17)

By using Eqs. (16) and (17), the estimation of the control trajectory of the neighboring missile, \({\hat{u}}_{-i} (s ; t_c )\), is obtained. Then, the relevant state trajectories \({\hat{z}}_{-i} \left( {s ; t_c } \right) \) can be also computed according to the dynamics (15).

Based on the formulation of the estimated control trajectory and state trajectory, the distributed cost function for each missile \(i\in {\mathcal {V}}\) is given in the following expression as

$$\begin{aligned}&F_i \left( {z_i^p \left( {s ; t_c } \right) , {\hat{z}}_{-i} \left( {s ; t_c } \right) , u_i^p \left( {s ; t_c } \right) } \right) \nonumber \\&\quad =\alpha \sum _{j \in {\mathcal {N}}_i } {\left\| {t_{\mathrm{go}, i}^p \left( {s ; t_c } \right) -{\hat{t}}_{\mathrm{go}, j} \left( {s ; t_c } \right) } \right\| ^{2}}\nonumber \\&\qquad +\left( {1-\alpha } \right) \left\| {u_i^p \left( {s ; t_c } \right) } \right\| ^{2} \end{aligned}$$
(18)
$$\begin{aligned}&\varPhi _i \left( {z_i^p \left( {t_c +T_\mathrm{p} ; t_c } \right) } \right) =\beta \left\| {r_i \left( {t_c +T_\mathrm{p} ; t_c } \right) } \right\| ^{2} \end{aligned}$$
(19)

where the time-to-go of the neighbors of each missile i is estimated by

$$\begin{aligned} {\hat{t}}_{\mathrm{go}, j} \left( {s ; t_c } \right) =\frac{{\hat{r}}_j \left( {s ; t_c } \right) }{V_j }, \quad j \in {\mathcal {N}}_i \end{aligned}$$
(20)

Then, the nonlinear MPC problem at each time instant \(t_{c}\) can be formulated by the distributed FHOCP as follows.

Problem 2

For each member \(i\in \{1, 2, \ldots , N_\mathrm{m} \}\) and at the update time \(t_c =t_0 +\delta c,\, c\in \{0, 1, 2, \ldots \}\): Given \(z_i \left( {t_c } \right) , z_{-i} \left( {t_c } \right) , {\hat{u}}_i \left( {s ; t_c } \right) , {\hat{u}}_{-i} \left( {s ; t_c } \right) , s{\in } \left[ {t_c, t_c +T_\mathrm{p} } \right] \), and then, find

$$\begin{aligned}&u_i^*\left( {s ; t_c } \right) =\arg \mathop {\min }\limits _{u_i \left( {s ; t_c } \right) } J_i \left( {z_i \left( {s ; t_c } \right) , z_{-i} \left( {s ; t_c } \right) , u_i \left( {s ; t_c } \right) } \right) \nonumber \\ \end{aligned}$$
(21)
$$\begin{aligned}&J_i \left( {z_i^p \left( {s ; t_c } \right) , {\hat{z}}_{-i} \left( {s ; t_c } \right) , u_i^p \left( {s ; t_c } \right) } \right) \nonumber \\&\quad =\int _{t_c }^{t_c +T_\mathrm{p} } {F_i \left( {z_i^p \left( {s ; t_c } \right) , {\hat{z}}_{-i} \left( {s ; t_c } \right) , u_i^p \left( {s ; t_c } \right) } \right) \hbox {d}s}\nonumber \\&\qquad +\,\varPhi _i \left( {z_i^p \left( {t_c +T_\mathrm{p} ; t_c } \right) } \right) \end{aligned}$$
(22)

subject to

$$\begin{aligned}&\dot{z}_i^p \left( {s ; t_c } \right) =f_i \left( {z_i^p \left( {s ; t_c } \right) ,u_i^p \left( {s ; t_c } \right) } \right) \end{aligned}$$
(23)
$$\begin{aligned}&\dot{{\hat{z}}}_{-i} \left( {s ; t_c } \right) =f_{-i} \left( {{\hat{z}}_{-i} \left( {s ; t_c } \right) ,{\hat{u}}_{-i} \left( {s ; t_c } \right) } \right) \end{aligned}$$
(24)
$$\begin{aligned}&z_i^p \left( {s ; t_c } \right) , {\hat{z}}_{-i} \left( {s ; t_c } \right) \in {\mathcal {Z}} \end{aligned}$$
(25)
$$\begin{aligned}&u_i^p \left( {s ; t_c } \right) , {\hat{u}}_{-i} \left( {s ; t_c } \right) \in {\mathcal {U}} \end{aligned}$$
(26)

where \(s\in [t_c, t_c +T_\mathrm{p} ]\) is the prediction horizon. \(J_{i}\) is the distributed cost function for each missile i, which includes a running function \(F_{i}\) and a terminal state penalty function \(\varPhi _{i}\). The optimal control trajectory of each missile \(i\in {\mathcal {V}}\) is denoted as \(u_i^*\left( {s ; t_c } \right) \).The pseudo-code of the distributed MPC scheme is listed in Algorithm 1.

Algorithm 1: Pseudo-code of the distributed MPC scheme for each missile \(i\in \{1, 2, \ldots , N_\mathrm{m} \}\).

1:

// Initialization: at time \(t_0 \)

2:

Set the parameters of the algorithm: \(T_\mathrm{p}, \delta \)

3:

Initialize the state trajectory: \(z_i \left( {t_0 } \right) ,z_{-i} \left( {t_0 } \right) \)

4:

Set \({\hat{u}}_i \left( {s ; t_0 } \right) =0, {\hat{u}}_{-i} \left( {s ; t_0 } \right) =0, s\in \left[ {t_0, t_0 +T_\mathrm{p} } \right] \) and solve Problem 2 for missile i, yielding the optimal predicted control trajectory \(u_i^*\left( {s ; t_0 } \right) , s\in \left[ {t_0, t_0 +T_\mathrm{p} } \right] \)

5:

Apply the first control input \(u_i^*\left( {s ; t_0 } \right) , s\in \left[ {t_0, t_1 } \right) \)

6:

// Main loop: at any time \(t_c =t_0 +\delta c, c=\left\{ {1, 2, \ldots } \right\} \)

7:

Measure the current state \(z_i \left( { t_c } \right) \)

8:

Transmit \({\hat{u}}_i \left( {s ; t_{c-1} } \right) , s\in \left[ {t_c, t_{c-1} +T_\mathrm{p} } \right] \) to its every neighbor j

9:

Receive \({\hat{u}}_j \left( {s ; t_{c-1} } \right) , s\in \left[ {t_c, t_{c-1} +T_\mathrm{p} } \right] \) from its every neighbor j and compute the estimated trajectory \({\hat{u}}_{-i} \left( {s ; t_c } \right) , {\hat{z}}_{-i} \left( {s ; t_c } \right) , s\in \left[ {t_c, t_c +T_\mathrm{p} } \right] \)

10:

Solve Problem 2 for missile i, yielding \(u_i^*\left( {s ; t_c } \right) , s\in \left[ {t_c, t_c +T_\mathrm{p} } \right] \)

11:

Apply the first control input \(u_i^*\left( {s ; t_c } \right) , s\in \left[ {t_c, t_{c+1} } \right) \)

12:

// Results

13:

Find the optimal control sequences and generate the complete trajectory

14:

Validate the trajectory constraints and terminal conditions

3.2 No-fly zone constraint

As the needs for adaptive guidance and control approaches are increasing, the threat avoidance and geopolitical restriction have been considered for the unmanned aerial vehicles [23], unmanned surface vehicles [24], autonomous underwater vehicles [25], and mobile robots [26]. Regarding the interceptor missiles in a complex environment, the no-fly zone constraint is also indispensable to the development of the guidance and control systems. For this reason, recent studies have focused on the design of reference routes [27] and guidance laws [1] in consideration of the no-fly zone constraint. However, only the single interceptor missile was considered in the above work. To improve the performance of multi-missile network in detecting the targets and penetrating the defense systems, the no-fly zone constraint is discussed in this section which enhances the time-constrained cooperative guidance.

Fig. 5
figure 5

Geometry on the interceptor missile with no-fly zone constraint

Fig. 6
figure 6

Different cases of the interceptor missile in relation to the no-fly zone

Figure 5 shows the geometry of the interceptor missile with no-fly zone constraint. Herein, the circle-shaped no-fly zone is used because any irregularly shaped no-fly zone can be simply replaced with it. The term R represents the radius of the no-fly zone, and \(d_{i}\) is the distance between the no-fly zone and missile i. The angle \(\sigma _{i} \in (-\pi , +\pi )\) is defined in the line-of-sight frame with respect to the center of the no-fly zone. It can be found that the no-fly zone constraint will possibly be violated as \(d_{i} \rightarrow R\) and \({\vert }\alpha _{i} {\vert } \rightarrow 0\), whereas some larger \(d_{i}\) or \({\vert }\alpha _{i} {\vert }\) may protect the interceptor missile against penetrating the no-fly zone.

In the paper, the term \(d_{safe}\) is employed to describe the safe distance between each missile and the center of the no-fly zone. The different cases of the interceptor missile in relation to the no-fly zone are illustrated in Fig. 6. To satisfy the no-fly zone constraint, the basic rule, as mentioned above, is to prevent each missile from approaching and pointing to the center of the no-fly zone. Therefore, the terms \(d_{i}\) or \({\vert }\alpha _{i} {\vert }\) are used to design the switching conditions under which the members in the multi-missile network must react immediately. As shown in Fig. 6, it is considered that the no-fly zone constraint will be included in the optimization problem when any missile i approaches within the unsafe distance (i.e., \(d_{i} < d_{safe}\)) and toward near the center of the no-fly zone (i.e., \({\vert }\alpha _{i}{\vert } < \pi /2\)). In other words, the interceptor missile will start to adjust its acceleration command for no-fly zone avoidance only when the two conditions above are satisfied.

Thus, the no-fly zone constraint can be solved by adding a penalty term to the distributed cost function. The cost function for each missile i is given by

$$\begin{aligned} \tilde{J}_i =J_i +\mu \frac{D\left( {d_i, \sigma _i } \right) \cos \sigma _i }{\left\| {d_i } \right\| ^{2}} \end{aligned}$$
(27)

where \(\mu \) is the weighting constant. The term \(D (d_{i},\, \sigma _{i})\) is determined when the penalty term should be included in the cost function. The detailed form is described as

$$\begin{aligned} D\left( {d_i, \sigma _i } \right) =\left\{ {\begin{array}{l} 1, d_i <d_\mathrm{safe} \hbox { and } \left| {\sigma _i } \right| <\pi /2 \\ 0, d_i \ge d_\mathrm{safe} \hbox { or } \left| {\sigma _i } \right| \ge \pi /2 \\ \end{array}} \right. \end{aligned}$$
(28)

3.3 Constrained PIO solver

The basic PIO algorithm and its improved version are introduced in this part. The PIO is one of the swarm intelligence (SI)-based methods that take the original inspiration from the natural phenomena. It mimics the motion of a flock of pigeons when they find their home by using the magnetic field, the sun, and the landmarks [28]. As a population-based optimization tool, the PIO has a main strength that each pigeon uses the experience of the whole flock in the search space rather than only the experience of its own. It consists of two individual operators: 1) the map and compass operator; 2) the landmark operator [29]. To be specific, a flock of pigeons first shape the map by using the magnetic field and adjusting the direction according to the altitude of the sun. Then, they will fly close to the destination by using the landmarks neighboring them.

Regarding the basic PIO solver, the total population of pigeons is given by \(N_{\mathrm{p}}\). The dimension of the problem to be solved is defined as \(N_{\mathrm{d}}\). Each pigeon in the flock represents a possible solution and corresponds to a specific value of the fitness function. The number of the iterations is \(N_{\mathrm{iter}}\). The initial set of the pigeons is randomly selected in the searching space. The pigeon p is associated with a position vector X (p) and a velocity vector Y (p) in the form of

$$\begin{aligned} X(p)= & {} [x_1 (p), x_2 (p), \ldots , x_{N_\mathrm{d} } (p)],\nonumber \\&\times (p=1, 2, \ldots ,\, N_\mathrm{p} ) \end{aligned}$$
(29)
$$\begin{aligned} Y(p)= & {} [y_1 (p), y_2 (p), \ldots , y_{N_\mathrm{d} } (p)],\nonumber \\&\times (p=1, 2, \ldots ,\, N_\mathrm{p} ) \end{aligned}$$
(30)

In the map and compass operator, all the pigeons try to adjust and follow the best position in the flock. The position vector X (p) and the velocity vector Y (p) are updated by the following equations [28]:

$$\begin{aligned} Y^{(\mathrm{iter}+1)}(p)= & {} Y^{(\mathrm iter)}(p)\cdot e^{-\omega _\mathrm{p} (\mathrm{iter}+1)}\nonumber \\&+\,\hbox {rand}\cdot \left( {B^{(\mathrm iter)}-X^{(\mathrm iter)}(p)} \right) \end{aligned}$$
(31)
$$\begin{aligned} X^{(\mathrm{iter}+1)}(p)= & {} X^{(\mathrm iter)}(p)+Y^{(\mathrm{iter}+1)}(p) \end{aligned}$$
(32)

where \(\hbox {iter} (\hbox {iter} = 1, 2, {\ldots }, N_{\mathrm{iter}})\) represents each iteration. \(\omega _{\mathrm{p}}\) is the map and compass factor that influences the velocity of each pigeon. \(B^{(\mathrm{iter}-1)}\) denotes the best position in the pigeon flock. rand is a random number within [0, 1].

In the landmark operator, half flock of the pigeons (they are away from the landmarks) is driven to follow the other half (they are close to the landmarks). The selected half of pigeons will guide the whole flock to the destination. The center of these pigeons can be obtained by [28]

$$\begin{aligned} C^{(\mathrm{iter}+1)}=\frac{\sum _{N_\mathrm{P} } {X^{(\mathrm{iter}+1)}(p)\cdot \hbox {fitness}\left( {X^{(\mathrm{iter}+1)}(p)} \right) } }{\sum {\hbox {fitness}\left( {X^{(\mathrm{iter}+1)}(p)} \right) } } \end{aligned}$$
(33)

where fitness \((\cdot )\) reflects the cost function of the problem. The number of pigeons in the current iteration is updated in the form of

$$\begin{aligned} N_\mathrm{p} ^{(\mathrm{iter}+1)}=\frac{1}{2}N_\mathrm{p} ^{(\mathrm iter)} \end{aligned}$$
(34)

Thus, in this landmark operator, the position vector is manipulated by the following equation:

$$\begin{aligned} X^{(\mathrm{iter}+1)}(p)= & {} X^{(\mathrm iter)}(p)\nonumber \\&+\,\hbox {rand}\cdot \left( {C^{(\mathrm{iter}+1)}-X^{(\mathrm iter)}(p)} \right) \end{aligned}$$
(35)

To improve the performance of the basic PIO algorithm (2935), the paper expands its further application to the parameter optimization problem that includes many nonlinear path constraints and terminal conditions. First, the components of each possible solution in the PIO will be constrained in their respective ranges. To be specific, the position component is bounded in the form of

$$\begin{aligned} \hbox {la}_k \le x_k^{(\mathrm iter)} (p)\le \hbox {lb}_k, (k=1, 2, \ldots ,\, N_\mathrm{d} ) \end{aligned}$$
(36)

where \(\hbox {la}_{k}\) and \(\hbox {lb}_{k}\) are the given constants. The corresponding velocity vector should also be limited to suitable range; otherwise the update of the map and compass operator would violate the constraint (36). It has the expression as

$$\begin{aligned} -\hbox {ld}_k\le & {} y_k^{(\mathrm iter)} (p)\le \hbox {ld}_k, \hbox {ld}_k\nonumber \\&=\, \hbox {lb}_k - \hbox {la}_k, (k=1, 2, \ldots ,\, N_\mathrm{d} ) \end{aligned}$$
(37)

Thus, the following rules are derived for the update laws (31, 32), which can guarantee that the position vector X (p) and the velocity vector Y (p) are constrained by (36, 37)

  1. (a)

    If \(y_k^{(\mathrm iter)} (p)<-\hbox {ld}_k \Rightarrow y_k^{(\mathrm iter)} (p)=-\hbox {ld}_k\).

  2. (b)

    If \(y_k^{(\mathrm iter)} (p)>\hbox {ld}_k \Rightarrow y_k^{(\mathrm iter)} (p)=\hbox {ld}_k\).

  3. (c)

    If \(x_k^{(\mathrm iter)} (p)<\hbox {la}_k \Rightarrow x_k^{(\mathrm iter)} (p)=\hbox {la}_k\) and \(y_k^{(\mathrm iter)} (p)=0\).

  4. (d)

    If \(x_k^{(\mathrm iter)} (p)>\hbox {lb}_k \Rightarrow x_k^{(\mathrm iter)} (p)=\hbox {lb}_k\) and \(y_k^{(\mathrm iter)} (p)=0\).

Next, the equality and inequality constraints will also be involved in the PIO solver to meet the requirement of the constrained optimization problem. Considering the position vector X (p), the typical expressions of equality and inequality constraints are described in the form of

$$\begin{aligned}&\varphi _m \left( {X(p)} \right) =0, (m=1, 2, \ldots ,\,N_\mathrm{1} ) \end{aligned}$$
(38)
$$\begin{aligned}&\xi _q \left( {X(p)} \right) \le 0, (q=1, 2, \ldots , \,N_{2} ) \end{aligned}$$
(39)

where \(N_{1}\) and \(N_{2}\) are the numbers of the equality and inequality constraints, respectively.

For the equality constraints, many SI-based algorithms use the popular solution by adding the penalty terms to the fitness function, which is also employed in the PIO solver. Thus, the fitness function consists of the basic cost function J and the equality constraints (38) as follows

$$\begin{aligned} \hbox {Fitness}\left( {X(p)} \right) =\mathop {\min }\limits _{X(p)} \tilde{J}=J+\sum _{m=1}^{N_\mathrm{1} } {\omega _m \left\| {\varphi _m \left( {X(p)} \right) } \right\| ^{2}} \end{aligned}$$
(40)

where \(\omega _{\mathrm{m}} \ge 0\) are the weighting constants. Note that the selection of \(\omega _{\mathrm{m}}\) usually depends on the actual optimization problem.

For the inequality constraints, the problem is less intractable even though they narrow the searching space of the feasible solutions. Because the inequality constraints do not decrease the degree of freedom (DOF) of the optimization problem, a simple approach is used herein by setting the fitness function to an infinite value if some members in the pigeon flock violate any inequality constraint. In detail, the following rule is derived to satisfy the constraint (39)

  1. (e)

    If \(\xi _q \left( {X(p)} \right) >0\Rightarrow \hbox {fitness}\left( {X(p)} \right) =\infty \) and \(Y(p)=0\).

In the above rule, the related velocity vector is also set to zero such that the flock of pigeons would not be affected by the velocity update if some inequality constraints are violated. The other steps of iterations are similar to the basic PIO. The complete pseudo-code of the proposed PIO solver is listed in Algorithm 2.

Algorithm 2: Pseudo-code of the constrained PIO solver

1:

// Initialization

2:

Set the parameters of the algorithm: \(N_{\mathrm{d}}, N_{\mathrm{p}}, N_{\mathrm{iter}}, \omega _{\mathrm{p}}, \hbox {la}_{k}, \hbox {lb}_{k}\)

3:

Generate \(N_{\mathrm{p}}\) random pigeons with position vector X (p) and velocity vector Y (p)

4:

Formulate the fitness function on the basis of (22)

5:

// Main loop

6:

while iteration \(iter \le N_{\mathrm{iter}}\) (stop criteria)do

7:

// The map and compass operator

8:

for \(N_{\mathrm{p}}\) pigeonsdo

9:

Update pigeon velocity using (31)

10:

Update pigeon position using (32)

11:

Evaluate the fitness and determine the current best position

12:

end for

13:

// The landmark operator

14:

Rank the fitness and select the half flock of pigeons close to the landmarks

15:

Determine the center of the selected half using (33) and (34)

16:

Update pigeon position using (35)

17:

end while

18:

// Results

19:

Find the global best position, i.e., the optimal solution

4 Numerical simulations

4.1 Example 1 (cooperative engagement)

In this part, a simulation scenario of cooperative engagement is performed to demonstrate the effectiveness of the proposed time-constrained guidance approach. Suppose that a group of three missiles intercept a stationary target at (0, 0). The position of each missile \(i\in \{1, 2, 3\}\) in the inertial reference frame can be obtained by

$$\begin{aligned} \dot{x}_i =V_i \cos \gamma _i, \dot{y}_i =V_i \sin \gamma _i \end{aligned}$$
(41)

where \(x_{i}\) and \(y_{i}\) are the downrange and the crossrange, respectively. As shown in Fig. 7, a simple communication topology is selected for the multi-missile network. To be specific, missile 1 and missile 3 can only obtain the information from the neighbor missile 2, i.e., \({\mathcal {N}}_1 =\{2\},\, {\mathcal {N}}_2 =\{1, 3\}\), and \({\mathcal {N}}_3 =\{2\}\). Table 1 presents the initial conditions of interceptor missiles. The acceleration of each member in the multi-missile network is limited within \(\pm 5.0 \times 9.81\hbox { m/s}^{2}\).

Fig. 7
figure 7

Communication topology for the multi-missile network

Table 1 Initial conditions of the interceptor missiles

In case 1, the acceleration rate of each missile is not limited. The constant prediction horizon is set to \(T_{\mathrm{p}} = 0.4\) s and the constant control update period is set to \(\delta = 0.1\,\hbox {s}\). Figures 8 and 9 present the simulation results of the proposed time-constrained guidance approach in comparison with the traditional PN algorithm. The navigation constant for each missile is set to 3.0. As shown in Fig. 8, the final impact time of the three missiles by using the PN algorithm is 18.2, 19.5, and 20.6 s, respectively. The ground tracks obtained by using the distributed MPC scheme illustrate that both missile 2 and missile 3 move farther rounds to achieve a simultaneous interception on the target. The final impact time of the multi-missile network reaches an agreement on 20.8 s, which shows the feasibility of the time-constrained guidance.

Fig. 8
figure 8

Ground tracks of the interceptor missiles in case 1

Then, we define the nominal time-to-go error of each member in the multi-missile network as follows

$$\begin{aligned} e_{t, i} =\sum _{j \in {\mathcal {N}}_i } {\left\| { t_{\mathrm{go}, i}^p -{\hat{t}}_{\mathrm{go}, j} } \right\| ^{2}} \end{aligned}$$
(42)

It can be found that the time-to-go error of each interceptor missile i converges to zero before \(t = 5\,\hbox {s}\), as shown in Fig. 9. The acceleration commands of the interceptor missiles also decrease to around zero as they gradually approach the given target. The effectiveness of the proposed distributed MPC scheme is demonstrated.

Fig. 9
figure 9

Histories of the accelerations and time-to-go errors in case 1

In case 2, the limit of the acceleration rate is taken into account for each missile in the multi-missile network. To evaluate the proposed guidance approach, the different constant control update period is selected as \(\delta = 0.1\,\hbox {s}\) and \(\delta = 0.05\,\hbox {s}\), respectively. The constant prediction horizon is still set to \(T_{\mathrm{p}} = 0.4\,\hbox {s}\). Figure 10 presents the ground tracks of the three interceptor missiles. The numerical trajectories obtained by using \(\delta = 0.1\,\hbox {s}\) are quite similar to the trajectories by using \(\delta = 0.05\,\hbox {s}\). However, the smaller control update period \(\delta = 0.05\hbox { s}\) leads to a faster convergence of the time-to-go error than the period \(\delta = 0.1\,\hbox {s}\), as shown in Figs. 11 and 12. In return, the control effort of each missile with \(\delta = 0.05\,\hbox {s}\) is larger than that with \(\delta = 0.1\,\hbox {s}\).

4.2 Example 2 (cooperative engagement with no-fly zone)

In this example, a simulation scenario of the cooperative engagement with no-fly zone constraint is performed to show the effectiveness of the time-constrained guidance approach. The initial conditions, control limits, and communication topology of the multi-missile network are the same with those in Example 1. The constant prediction horizon and control update period are set to \(T_{\mathrm{p}} = 0.4\,\hbox {s}\) and \(\delta = 0.1\,\hbox {s}\), respectively. The center of the no-fly zone is set at (2250 m, 1800 m), and the radius is \(R = 400\hbox { m}\). Note that missile 3 would penetrate the given no-fly zone if the penalty term in (27) is not added to the cost function.

Fig. 10
figure 10

Ground tracks of the interceptor missiles in case 2

Fig. 11
figure 11

Histories of the accelerations and time-to-go errors in case 2 (\(\delta = 0.1\hbox { s}\))

In case 3, the safe distance for avoidance of the no-fly zone is set to \(d_{\mathrm{safe}} = 600\hbox { m}\) and \(d_{\mathrm{safe}} = 500\hbox { m}\), respectively. Figure 13 illustrates the numerical results of the ground tracks of interceptor missiles. It can be found that the no-fly zone constraint is satisfied by using the time-constrained guidance algorithm with each safe distance above. However, the ground track of missile 3 is farther away from the no-fly zone when the safe distance \(d_{\mathrm{safe}} = 600\hbox { m}\) is selected. In Figs. 14 and 15, the histories of the acceleration commands also show that the larger safe distance \(d_{\mathrm{safe}}\) results in the earlier saturation of the control effort of missile 3. Although the time-to-go error of the multi-missile network increases slightly as missile 3 moves around the no-fly zone, the convergence of the time-to-go error is not violated. The final impact times of the interceptor missiles reach an agreement on 21.9 s \((d_{\mathrm{safe}} = 600\hbox { m})\) and 21.1 s (with \(d_{\mathrm{safe}} = 500\hbox { m}\)), respectively.

Fig. 12
figure 12

Histories of the accelerations and time-to-go errors in case 2 (\(\delta = 0.05\hbox { s}\))

Fig. 13
figure 13

Ground tracks of the interceptor missiles in case 3

Fig. 14
figure 14

Histories of the accelerations and time-to-go errors in case 3 (\(d_{\mathrm{safe}} = 600\hbox { m}\))

In case 4, the Monte Carlo test is performed to demonstrate the robustness of the proposed distributed MPC scheme. The safe distance is set to \(d_{\mathrm{safe}} = 500\hbox { m}\). Table 2 lists the dispersions that are used in this simulation. Figures 16 and 17 present the numerical results of the Monte Carlo test in 40 times. The ground tracks of interceptor missiles show that the time-constrained guidance is achieved with satisfied accuracy of target capture. The final impact times range from 20.9 to 23.1 s in the simulation. The Monte Carlo results also demonstrate that the no-fly zone constraint can be solved by means of a penalty term into the cost function.

Fig. 15
figure 15

Histories of the accelerations and time-to-go errors in case 3 (\(d_{\mathrm{safe}} = 500\hbox { m}\))

Table 2 Dispersions used in the Monte Carlo test
Fig. 16
figure 16

Ground tracks of the interceptor missiles in case 4

5 Discussions

5.1 Large initial heading errors

In this part, the time-constrained guidance of the interceptor missiles with some large initial heading errors is performed to show the effectiveness of the proposed MPC scheme. The initial conditions of the interceptors and target are same with those in Sect. 4.1. The initial heading of missile 1 is set to \(\gamma _{1} = 90^{\circ },\, \gamma _{1} = 120^{\circ }, \gamma _{1} = 150^{\circ }\), and \(\gamma _{1} = 180^{\circ }\). Thus, the initial heading errors between missile 1 and missile 3 are \(\Delta \gamma _{13} = 75^{\circ }, \Delta \gamma _{13} = 105^{\circ }, \Delta \gamma _{13} = 135^{\circ }\), and \(\Delta \gamma _{13} = 165^{\circ }\), respectively.

Figures 18 and 19 illustrate the numerical results of ground tracks and accelerations. With different initial heading errors, the interceptor missiles can achieve the simultaneous impact on the given target in the above four cases. It can be found that a larger initial heading error \((\gamma _{1} = 180^{\circ }, \Delta \gamma _{13} = 165^{\circ })\) typically leads to the farther ground tracks of missile 2 and missile 3. As shown in Fig. 19, the acceleration commands also decrease to around zero as the interceptor missiles gradually approach the given target. The histories of the times-to-go with large initial heading errors are presented in Fig. 20. It demonstrates that the convergence of the impact time between each interceptor missile can be guaranteed by the distributed MPC scheme.

Fig. 17
figure 17

Histories of the accelerations and time-to-go errors in case 4

Fig. 18
figure 18

Ground tracks with large initial heading errors (\(\gamma _{1} = 90^{\circ }, 120^{\circ }, 150^{\circ }, 180^{\circ }; \Delta \gamma _{13} = 75^{\circ }, 105^{\circ }, 135^{\circ }, 165^{\circ }\))

Fig. 19
figure 19

Accelerations with large initial heading errors (\(\gamma _{1} = 90^{\circ }, 120^{\circ }, 150^{\circ }, 180^{\circ }; \Delta \gamma _{13} = 75^{\circ }, 105^{\circ }, 135^{\circ }, 165^{\circ }\))

Fig. 20
figure 20

Times-to-go with large initial heading errors (\(\gamma _{1} = 90^{\circ }, 120^{\circ }, 150^{\circ }, 180^{\circ }; \Delta \gamma _{13} = 75^{\circ }, 105^{\circ }, 135^{\circ }, 165^{\circ }\))

5.2 Autopilot dynamics

The autopilot dynamics may influence the performance of the time-constrained guidance scheme. In this part, the PIO-based MPC method is tested in consideration of autopilot lags. The autopilot dynamics can be usually described by the first-order differential equations in the form of

$$\begin{aligned} \dot{a}_{Mi} =-\frac{1}{\tau }a_{Mi} +\frac{1}{\tau }a_i \end{aligned}$$
(43)

where \(\tau \) is the time constant of the autopilot, and \(a_{i}\) is the command to the autopilot.

The dynamics (43) is added in each control update period (not in the prediction model) to test the distributed MPC scheme. The time constant of the autopilot is set to \(\tau = 0.5\) and \(\tau = 1.0\), respectively. The initial conditions of the interceptor missiles are same with those in Sect. 4.1. The numerical results of the ground tracks are illustrated in Fig. 21. The histories of the accelerations and times-to-go with different autopilot lags are presented in Figs. 22 and 23. It can be found that the interceptor missiles with time constant \(\tau = 1.0\) move farther rounds to achieve a simultaneous impact on the target. Each interceptor missile typically requires longer time to respond to the guidance commands with the time constant \(\tau = 1.0\) than \(\tau = 0.5\). As shown in Fig. 23, it also demonstrates that a larger time constant of the autopilot results in a slower convergence of the times-to-go.

Fig. 21
figure 21

Ground tracks with different autopilot lags (\(\tau = 0.5\), 1.0)

5.3 Environmental disturbances

The environmental disturbances may also have an impact on the performance of guidance system. Therefore, the simulation scenario of cooperative engagement in consideration of wind disturbances is performed to show the effectiveness of the distributed MPC scheme. The model of the bounded wind disturbances can be described as

$$\begin{aligned} \dot{x}_i= & {} V_i \cos \gamma _i +W_x, \dot{y}_i =V_i \sin \gamma _i +W_y, \left| {W_x } \right| \nonumber \\&\le W_{\max }, \left| {W_y } \right| \le W_{\max } \end{aligned}$$
(44)

where \(W_{x}\) and \(W_{y}\) are the components of the wind velocity, and \(W_{\max }\) is the maximum magnitude of \(W_{x}\) and \(W_{y}\).

Fig. 22
figure 22

Accelerations with different autopilot lags (\(\tau = 0.5\), 1.0)

Fig. 23
figure 23

Times-to-go with different autopilot lags (\(\tau = 0.5\), 1.0)

Similarly, the bounded wind disturbances (44) are included in each control update period (not in the prediction model) to test the guidance approach. The initial conditions of interceptor missiles are same with those in Sect. 4.1. The bounded wind disturbances are set to \(W_{\max } = 10\hbox { m/s}, W_{\max } = 20\hbox { m/s}\), and \(W_{\max } = 30\hbox { m/s}\), respectively. Figures 24, 25, and 26 present the numerical results of the ground tracks, accelerations, and times-to-go of each interceptor missile. It can be found that the cooperative guidance can be achieved by using the PIO-based MPC scheme in consideration of some weak wind disturbances such as \(W_{\max } = 10\hbox { m/s}\) and \(W_{\max }=20\hbox { m/s}\). Typically, the wind disturbance \(W_{\max }=20\hbox { m/s}\) leads to larger terminal accelerations than the disturbance \(W_{\max } = 10\hbox { m/s}\). As shown in Figs. 24 and 26, the interceptor missiles fail to converge to the given target at a constant final time when the strong wind disturbance \((W_{\max } = 30\hbox { m/s})\) is included in the guidance system. In this case, the estimation of the disturbances should be considered in the prediction model for disturbance rejection.

Fig. 24
figure 24

Ground tracks with different wind disturbances (\(W_{\mathrm{max}} = 10\hbox { m/s}\), 20 m/s, 30 m/s)

Fig. 25
figure 25

Accelerations with different wind disturbances (\(W_{\mathrm{max}} = 10\hbox { m/s}\), 20 m/s, 30 m/s)

Fig. 26
figure 26

Times-to-go with different wind disturbances (\(W_{\mathrm{max}} = 10\hbox { m/s}\), 20 m/s, 30 m/s)

5.4 Computation efficiency

The PIO parameters, control update period, and prediction horizon typically determine the success rate of the time-constrained guidance approach. Therefore, this part will discuss the computation efficiency of the proposed MPC scheme.

Using the standard Visual C++, the simulations are run for several cases with different PIO parameters, control update period, and prediction horizon. In detail, the pigeon population of the PIO solver is set to \(N_{p} = 30\) and \(N_{p} = 50\). The iteration number is set to \(N_{iter} = 30\) and \(N_{iter} = 50\). The control update period is set to \(\delta = 0.05\,\hbox {s}, \delta = 0.1 \hbox { sec}\), and \(\delta = 0.15\,\hbox {s}\), respectively. The prediction horizon is set to \(T_{\mathrm{p}}= 4 \delta \) and \(T_{\mathrm{p}}= 6 \delta \). For each case, the simulation is repeated 30 times with the same parameters. Table 3 shows the statistical results of the PIO-based MPC scheme for comparison.

Table 3 Success rate of the PIO-based MPC scheme (repeated 30 times)

It can be found that a large control update period \(\delta \) typically raises the success rate of the distributed MPC scheme. The success rate for the cases of \(\delta = 0.1\,\hbox {s}\) and \(\delta = 0.15\,\hbox {s}\) almost reach 100%, because the average running time of the PIO solver in each control update period \(\delta \) is about 0.018 s (\(N_{p} = 30,\, N_{iter} = 30\)) and 0.039 s (\(N_{p} = 50,\, N_{iter} = 50\)), respectively. The proper selection of the pigeon population \(N_{p}\) and iteration number \(N_{iter}\) may also reach a compromise between the performance index and computation efficiency. In addition, the numerical results of the success rate demonstrate that a reasonable reduction of the prediction horizon \(T_{\mathrm{p}}\) can improve the stability of the MPC scheme.

6 Conclusions

The cooperative time-constrained guidance with no-fly zone avoidance is studied in this paper. The coordination of impact time for the multi-missile network is achieved by the distributed MPC scheme. The guidance problem is transmitted to the local FHOPC that is solved by the enhanced PIO method. The numerical results show that the acceleration command of each interceptor missile is adjusted by the distributed algorithm to achieve a simultaneous impact on the target. Typically, a smaller control update period \(\delta \) can lead to a faster convergence of the time-to-go error of the multi-missile network, whereas the control effort will increase in return. The no-fly zone avoidance is also achieved by integrating a safe distance-based penalty term into the local cost function. It shows that a larger safe distance \(d_{\mathrm{safe}}\) results in the earlier saturation of the control effort. The impacts of large initial heading errors, autopilot lags, and wind disturbances are also discussed to show the effectiveness of the proposed guidance approach. The future work will focus on the design of the time-constrained guidance law against maneuvering targets. The complete three-dimensional guidance geometry should be also taken into consideration to perform the actual cooperative engagement missions.