AIRCRAFT CONTROL DEVICE, AIRCRAFT, AND METHOD FOR COMPUTING AIRCRAFT TRAJECTORY
20180074524 ยท 2018-03-15
Inventors
Cpc classification
F41G9/002
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
F41G7/24
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
F41G7/30
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
F41H13/00
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
International classification
G05D1/10
PHYSICS
Abstract
An aircraft control device calculates trajectories of multiple aircraft that is member of a flight by use of a method such as Direct Collocation with Nonlinear Programming (DCNLP), in which an optimal solution is obtained by discretizing continuous variables. Nodes indicating the trajectory are calculated and set by substituting a discretized control variable of the aircraft into an aircraft equation of motion, or by use of other methods. Instead of calculating the trajectory of the aircraft as a continuous problem, discretisation reduces the calculation amount and time required for the trajectory calculation. The aircraft control device then determines, from among trajectories satisfying constraints corresponding to the role of the aircraft, an optimal trajectory based on an evaluation value obtained by an objective function corresponding to the role. Accordingly, the aircraft control device can calculate a more optimal trajectory corresponding to the role of the aircraft in a shorter time.
Claims
1. An aircraft control device that calculates trajectories of a plurality of aircraft that is member of a flight, by using a calculation method in which an optimal solution is obtained by discretizing a continuous variable, the aircraft control device comprising: a trajectory determination means that calculates discrete points indicating the trajectory by substituting a discretized control variable of the aircraft into an equation of motion of the aircraft, and determines, from among the trajectories that satisfy a constraint corresponding to a role of the aircraft, an optimal trajectory based on an evaluation value obtained by an objective function corresponding to the role; and a role determination means that determines a value of a variable, the variable assigned to each of the objective function and the constraint corresponding to the role, for every objective function and every constraint, such that the objective function and the constraint that do not correspond to the assigned role of the aircraft are invalidated.
2. (canceled)
3. The aircraft control device according to claim 1, wherein the variable is any one of 1 and 0.
4. The aircraft control device according to claim 3, wherein the objective function and the constraint configured of an equation are multiplied by the variable.
5. The aircraft control device according to claim 3, wherein the variable is assigned such that if the variable of the constraint configured of an inequality is set to 0, the inequality holds.
6. The aircraft control device according to claim 1, wherein the objective function includes a function for calculating a distance between the aircraft and a target.
7. The aircraft control device according to claim 1, wherein if a role of the aircraft is searching and tracking of a target, the constraint is to constantly acquire and track the target within a coverage area of a radar.
8. The aircraft control device according to claim 1, wherein if a role of the aircraft is guiding of a guided missile, the constraint is to constantly acquire and track the target within a coverage area of a guidance radio wave.
9. The aircraft control device according to claim 1, wherein if a role of the aircraft is shooting of a guided missile, the constraint is that a nose of the aircraft is pointed toward the target when the guided missile is shot, and that the target is within a range of the guided missile when the guided missile is shot.
10. An aircraft comprising the aircraft control device according to claim 1.
11. A method for computing aircraft trajectory that calculates trajectories of a plurality of aircraft that is member of a flight, by using a calculation method in which an optimal solution is obtained by discretizing a continuous variable, comprising the steps of: calculating discrete points indicating the trajectory by substituting a discretized control variable of the aircraft into an equation of motion of the aircraft; and determining, from among the trajectories that satisfy a constraint corresponding to a role of the aircraft, an optimal trajectory based on an evaluation value obtained by an objective function corresponding to the role.
Description
BRIEF DESCRIPTION OF DRAWINGS
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
DESCRIPTION OF EMBODIMENTS
[0052] Hereinafter, an embodiment of an aircraft control device, an aircraft, and a method for computing an aircraft trajectory will be described with reference to the drawings.
[0053]
[0054] The aircraft control device 10 of the embodiment includes a CPU (Central Processing Unit) 12 that executes various operation processing, a ROM (Read Only Memory) in which various programs executed by the CPU 12 and various information are stored beforehand, a RAM (Random Access Memory) 16 that is used as a work area, for example, when the CPU 12 executes various programs, and an HDD (Hard Disk Drive) 18 as a storage means that stores various information such as airframe data and the like of the aircraft. 40 targeted for the various programs and simulations.
[0055] The CPU 12, ROM 14, RAM 16, HDD 18, receiver 20, and transmitter 22 are electrically connected to one another through a system bus 24.
[0056] The aircraft control device 10 includes: the receiver 20 that receives, from accompanying aircraft, various information such as accompanying aircraft information and information (target aircraft information) on the target aircraft 42 (see
[0057] Thus, the aircraft 40 of the embodiment is capable of transmitting and receiving (datalink) various information among the aircraft 40. In other words, the aircraft 40 form a network by datalink to share various information such as self-information, accompanying aircraft information, target aircraft information, and information to instruct other aircraft 40.
[0058]
[0059] The aircraft 40 is capable of shooting (shooter) a guided missile (missile) 44 toward the target aircraft 42, guiding (guider) the guided missile 44, and searching and tracking (sensor) the target aircraft 42.
[0060] That is, roles of the aircraft 40 are searching and tracking the target aircraft 42, guiding the guided missile 44, and shooting the guided missile 44, for example. Guiding the guided missile 44 may refer to guiding of the guided missile 44 shot by the aircraft 40 itself, or guiding of the guided missile 44 shot by an accompanying aircraft. In
[0061] In the example of
[0062] As shown in
[0063] Next, a sequential role and trajectory that each aircraft 40 takes toward the target aircraft 42 will be described with reference to
[0064] The sensor 40C searches and tracks the target aircraft 42, and transmits information on the position and velocity of the target aircraft 42 to the shooter 40A and the guider 40B. The shooter 40A shoots the guided missile 44 toward the target aircraft 42, when the target aircraft 42 enters the range of the guided missile 44. Entry of the target aircraft 42 into the range of the guided missile 44 of the shooter 40A means that the shooter 40A may have entered the range of the target aircraft 42. For this reason, the shooter 40A turns around and breaks away from the target aircraft 42, immediately after shooting the guided missile 44. Since the shooter 40A having shot the guided missile 44 thus cannot guide the guided missile 44, the guider 40B guides the guided missile 44 shot by the shooter 40A.
[0065] The guider 40B follows the so-called A-Pole maneuver, in which the guider 40B evades the target aircraft 42, while guiding the guided missile 44 by acquiring and tracking the guided missile 44 near the edge of the guidable range. The sensor 40C also follows the A-pole maneuver, in which the sensor 40C evades the target aircraft 42, while searching and tracking the target aircraft 42 near the searchable and trackable range.
[0066] The trajectory of the aircraft 40 is thus determined according to the role that each aircraft 40 plays toward the target aircraft 42.
[0067] Next, a description will be given of calculation (hereinafter referred to as optimal trajectory calculation) of the trajectory of the aircraft 40 by the aircraft control device 10 of the embodiment.
[0068] In order to calculate the trajectories of the multiple aircraft 40 that is member of a flight, the aircraft control device 10 uses a calculation method such as Direct Collocation with Nonlinear Programming (DCNLP), in which the optimal solution is obtained by discretizing continuous variables (state variable and control variable).
[0069] More specifically, DCNLP converts an optimal control problem into a nonlinear programming problem by discretizing continuous variables of a continuous problem which is a time function, and obtains a solution that minimizes or maximizes the value of an objective function (evaluation function). DCNLP allows for easy inclusion of inequality constraints on the state variables, and is very robust against initial conditions and constraints. An equation of motion can also be used as a constraint.
[0070]
[0071] In DCNLP, the problem is discretized into N nodes (hereinafter also referred to as discrete points) t.sub.1 to t.sub.N by time t. In DCNLP of the embodiment, the state variable is calculated as nodes, by substituting the control variable into an equation of motion indicating the behavior of the aircraft 40. The embodiment is not limited to this, and other appropriate methods may be used to set the state variable as nodes.
[0072] First, to calculate an initially estimated solution of the nodes t.sub.1 to t.sub.N, an initial value of the control variable is substituted into the equation of motion. Instead of substituting the control variable into the equation of motion, other appropriate methods may be used to set the initially estimated solution of the nodes t.sub.1 to t.sub.N. The nodes are corrected (midway of calculation in
[0073] As has been described, instead of calculating the trajectory of the aircraft 40 as a continuous value, the sate variable and control variable may be discretized by use of DCNLP to reduce the amount of calculation, whereby the trajectory can be calculated in a shorter time.
[0074] However, since the nodes are not continuous, a trajectory that cannot be flown by the actual aircraft 40 may be calculated, depending on the state variable. Hence, a constraint is imposed in which a deviation between the calculated following node and the appropriate following node is 0 (zero). This constraint is the defect in DCNLP, and if this constraint is satisfied, the calculated node satisfies the equation of motion of the aircraft 40.
[0075]
[0076] Accordingly, the constraint defined by the defect is that when slopes as derivative values of the nodes A, C are f.sub.k, f.sub.k+1, respectively, the difference between the two adjacent nodes A, C and the amount of change based on the slopes f.sub.k, f.sub.k+1 at the two nodes A, C is zero.
[0077] By using the average derivative value of the two nodes A, C expressed by the following formula (1), the amount of change based on the slopes f.sub.k, f.sub.k+1 at the two nodes A, C is expressed by the following formula (2). The value calculated by the following formula (2) indicates point B in
[0078] As has been described, point B is a value obtained recursively from the previous node A, and if the state variable satisfies the equation of motion, point B and node C coincide, and the deviation between point B and node C is the defect. Specifically, the difference between the difference (X.sub.k-1X.sub.k) between the two nodes A, C and the amount of change v expressed by formula (2) indicates the defect.
[0079] In other words, the defect is the residual error between node C and point B obtained by use of the derivative values of the adjacent nodes A, C, and is expressed by the following formula (3), where denotes the defect.
[0080] Then, if .sub.k=0, point B and node C coincide, and the nodes A, C calculated by use of DCNLP satisfy the equation of motion. Accordingly, the solutions (state variables) that satisfy the constraint defined by the defect satisfy the equation of motion, and are smoothly continuous with one another.
[0081] Thereafter, the aircraft control device 10 determines the optimal trajectory among the trajectories satisfying the constraint defined by the defect and constraints corresponding to the role of the aircraft 40, according to an objective function value (evaluation value) obtained by the objective function corresponding to the role.
[0082] Hereinafter, constraints corresponding to the roles of the aircraft 40 will be described in detail.
[0083] As described earlier, roles of the aircraft 40 are a shooter (shooter 40A) that shoots the guided missile 44, a sensor (sensor 40C) that searches and tracks the target, and a guider (guider 40B) that guides the guided missile 44, for example.
[0084] First, a state variable x of the embodiment is expressed by the following formula (4), where denotes an angle of direction indicating the attitude of the aircraft 40, and x, y denote coordinate point of friendly aircraft indicating the position of the aircraft 40. For example, the coordinate axis x of friendly aircraft is based on the North direction, and the coordinate axis y of friendly aircraft is based on the East direction. Although the velocity and altitude of the aircraft 40 is constant in the embodiment, the velocity and altitude may also be state variables.
[0085] A control variable u in the equation of motion is expressed by the following formula (5), where a denotes the angle of attack, denotes the angle of bank, and T denotes thrust.
[0086] The equation of motion of the aircraft 40 is expressed by the following equations of three degree of freedom (6), for example, where m denotes mass, v denotes velocity, y denotes the flight path angle, L denotes lift, and D denotes drag. By substituting the aforementioned control variable into the equation of motion expressed by formula (6) as a discrete variable, the state variable of the aircraft 40 is calculated, whereby the initially estimated solution of the trajectory of the aircraft 40 is calculated. However, the embodiment is not limited to this, and other appropriate methods may be used to set the state variable, to set the initially estimated solution of the trajectory of the aircraft 40.
[0087] Next, a specific description will be given of the constraints corresponding to the role of the aircraft 40.
[0088] First, constraints (hereinafter referred to as common constraints) that are common regardless of the role of the aircraft 40 will be described.
[0089] The common constraints are expressed by the following formulae (7) to (10).
[0090] Formula (7) is a constraint that defect: .sub.k=0. Formula (8) is a constraint that the velocity is constant, where D denotes drag. Formula (9) is a constraint that the altitude is constant. A constraint expressed by an equation such as formulae (7) to (9) is called an equality constraint.
[0091] In order to allow variation in velocity, the right side of formula (8) may be a certain range, for example, instead of 0. To also allow variation in altitude, the right side of formula (9) may be a certain range, for example, instead of 0. Moreover, constraints other than formulae (8), (9) may be added.
{Expression 10}
[0092]
Nz40 (10)
[0093] In formula (10), Nz denotes the normal load factor (hereinafter referred to as turn G) that is applied during a turn of the aircraft 40, and in formula (10), a constraint is imposed to prevent application of a turn G of 4G or larger, for example. The upper limit of the turn G is determined according to the performance of the aircraft 40 or the state of combat, and may be set to a value larger than in an MRM combat, in a close combat.
[0094] A constraint expressed by an inequality such as formula (10) is called as inequality constraint.
[0095] Next, constraints and an objective function specific to the sensor 40C will be described with reference to
[0096] Although the trajectory of the target aircraft 42 is assumed to be rectilinear, for example, in the following description, the embodiment is not limited to this. Instead, the trajectory of the target aircraft 42 may be non-rectilinear, by use of other simulation or the like.
[0097] The sensor 40C is required to constantly acquire and track the target aircraft 42 which is the enemy aircraft within the coverage area of the radar, and this is the constraint corresponding to the role of the sensor 40C. This constraint is expressed by the following formula (11), where RC.sub.AZ denotes the radar coverage area in the azimuth direction, and .sub.BtoR denotes the orientation of the enemy aircraft as viewed from the friendly aircraft.
{Expression 11}
[0098]
(RC.sub.AZ).sub.BtoR0
.sub.BtoR(+RC.sub.AZ)0 (11)
[0099] Formula (11) is an inequality constraint for calculating the trajectory of the sensor 40C. Although this example does not require an equality constraint for the sensor 40C, some equality constraint may be set.
[0100] An objective function J() corresponding to the role of the sensor 40C is expressed by the following formula (12), where (x.sub.red, y.sub.red) denotes the coordinate point of enemy, and k.sub.1, k.sub.2 denote weighting factors. The state variable X and the control variable u are substituted into the objective function J(), and the objective function value obtained therefrom is an evaluation value.
[0101] Of the right side of formula (12) which is the objective function J(), the first term is the sum total of the distances (hereinafter referred to as friend-enemy distance) between the aircraft 40 (friendly aircraft) and the target aircraft 42 (enemy aircraft) at the respective nodes (discrete points), and the second term is the sum of squares of the angle of bank of the aircraft 40 (friendly aircraft) at the respective nodes.
[0102] Since the aircraft 40 should preferably be as far away from the target aircraft 42 as possible, it is preferable that the value of the first term be as large as possible. The second term is a term that indicates stability of the angle of bank, and the smaller the value of the second term, the more stable the trajectory is with less variation in the angle of bank. Hence, it is preferable that the value of the second term be as small as possible. Furthermore, the first and second terms are multiplied by the weighting factors k.sub.1, k.sub.2, to adjust the weight of the friend-enemy distance and the angle of bank on the objective function J().
[0103] The first term is a negative function and the second term is added to the first term, so that the smaller the objective function value, the higher the evaluation.
[0104] Next, constraints and an objective function specific to the shooter 40A will be described with reference to
[0105] The shooter 40A is required to have its nose pointed toward the target aircraft 42 when the guided missile is shot. This is the constraint corresponding to the role of the shooter 40A. This constraint is expressed by the following formula (13), where t.sub.shoot denotes the time when the guided missile 44 is shot, and (t,.sub.shoot) denotes the orientation of the friendly aircraft at this time.
{Expression 13}
[0106]
(t.sub.shoot).sub.BtoR=0 (13)
[0107] Instead of the equality constraint, Formula (13) may be an inequality constraint in which the left side is a certain angle range (e.g., 5).
[0108] The inequality constraint imposed on the shooter 40A is that the friend-enemy distance should be within a range R.sub.max1 of the guided missile 44 when the guided missile is shot, and that the guided missile 44 should be shot within a simulation time. This inequality constraint is expressed by the following formula (14), where simulation time is assumed to be t.sub.1 to t.sub.N, and t.sub.shoot denotes the time when the guided missile is shot. In this example, the range R.sub.max1 varies depending on the relative angle (angle off) between the shooter 40A and the target aircraft 42.
[0109] The objective function J() corresponding to the role of the shooter 40A is expressed by the following formula (15), where k.sub.3 to k.sub.7 denote weighting factors.
[0110] Of the right side of formula (15), the first term is the time from start of the simulation to shooting of the guided missile, the second term is the friend-enemy distance when the guided missile is shot, the third term is the minimum value of the friend enemy distance (hereinafter referred to as minimum friend-enemy distance), the fourth term is the sum total of the friend-enemy distances after shooting of the guided missile, and the fifth term is the sum of squares of the angle of bank of the friendly aircraft at the respective nodes. The first to fifth terms are multiplied by the weighting factors k.sub.3 to k.sub.7, respectively.
[0111] Specifically, it is preferable that the trajectory of the shooter 40A reduce the time before shooting of the guided missile, increase the friend-enemy distance when shooting the guided missile, increase the minimum friend-enemy distance, and increase the sum of the friend-enemy distances after shooting of the guided missile. The smaller the value calculated by the objective function J() expressed by formula (15), the higher the evaluation.
[0112] As can be seen from formulae (12) and (15), the objective function J() includes a function for calculating the friend-enemy distance between the aircraft 40 and the target aircraft 42 regardless of the role of the aircraft 40, and a trajectory where the friend-enemy distance is appropriate to the role is determined as the optimal trajectory.
[0113] Next, optimal trajectory calculation (also referred to as constrained nonlinear programming problem) using the aforementioned DCNLP will be described.
[0114]
[0115] First, in step 100, the maneuver of the aircraft 40 is calculated by substituting the control variable u which is the initially estimated solution into the equation of motion. Other appropriate methods may be used to set the initially estimated solution. The initially estimated solution affects feasibility of solving and the required calculation time of solving, and therefore needs to more surely satisfy the constraints. In this example, the pilot of the aircraft 40 sets the control variable u as the initially estimated solution based on an empirical value.
[0116] In step 102, an objective function value J (evaluation value) is calculated, by substituting the control variable u and a state variable X that satisfy constraints corresponding to the assigned role, into an objective function J() corresponding to the role.
[0117] In the next step 103, the amount of microvariation in the control variable/state variable (at least one of control variable and state variable) is calculated. In step 103 of this example, the amount of microvariation is a predetermined value depending on the control variable/state variable.
[0118] In the next step 104, the control variable/state variable (at least one of control variable and state variable) is corrected. The amount of correction of the control variable/state variable is calculated, according to the amount of change in the objective function value J relative to the previous microvariation in the control variable/state variable.
[0119] In the next step 106, the objective function value J is calculated by use of the corrected control variable/state variable.
[0120] In the next step 108, the amount of change in the objective function value J relative to microvariation in the control variable/state variable is calculated.
[0121] In the next step 110, it is determined whether an evaluation end condition is satisfied, and if it is determined YES, the simulation is terminated. If it is determined NO, the processing returns to step 104, the control variable/state variable is micro-varied, and calculation of the amount of change in the objective function value is repeated.
[0122] The evaluation end condition in step 110 will be described with reference to
[0123] The end condition includes the following four conditions, for example.
[0124] Condition 1: the amount of change in the control variable/state variable falls below a tolerance To1.
[0125] Condition 2: the amount of change in the objective function value J falls below a tolerance To1un.
[0126] Condition 3: first-order optimality measure falls below a tolerance.
[0127] Condition 4: the number of iterations of steps 104 to 108 or the number of evaluations of the objective function value J exceeds a tolerance.
[0128] Next, the first-order optimality in the above Condition. 3 will be described.
[0129] The first-order optimality of a constrained nonlinear programming problem is obtained according to the Karush-Kuhn-Tucker conditions (KKT conditions below).
[0130] The KKT conditions are equivalent to a condition that with no constraint, a gradient J() which is a slope is substantially zero in the vicinity of a minimum value (vicinity of point e in
[0131] Satisfying the first-order optimality is a necessary condition but not a sufficient condition. This is because gradient J()=0 may also occur in the vicinity of the maximum value, where variation of the objective function value J is convex upward.
[0132] A Lagrange function L(, ) used for the KKT conditions is expressed by the following formula (16). In the following formula (16), g() denotes the inequality constraint expression, h() denotes the equality constraint, .sub.g denotes a Lagrange multiplier of the inequality constraint expression, and .sub.b denotes a Lagrange multiplier of the equality constraint expression.
[0133] The KKT conditions to be satisfied are expressed by the following formulae (17), (18) by use of the Lagrange function.
[0134] Moreover, the second-order sufficient condition indicating sufficiency of the optimal solution is a condition that a Hessian matrix of the Lagrange function L(, ) is a positive definite, as indicated by the following formula (19).
[0135] Formula (19) indicates that the variation in the objective function value J is convex downward relative to the control variable/state variable. Hence, the objective function value J is the optimal solution when it satisfies the second-order sufficient condition, in addition to the first-order optimality which is a necessary condition.
[0136] Next, examples of the result of optimal trajectory calculation will be described with reference to
[0137] In
[0138]
[0139]
[0140] Next, joint optimization (hereinafter referred to as joint optimization processing) of the trajectory and role of the aircraft 40 will be described.
[0141] The joint optimization processing of the embodiment is performed concurrently with the aforementioned optimal trajectory calculation.
[0142] In joint optimization processing, the aforementioned objective function and constraints corresponding to the role are integrated. In addition, a variable (hereinafter referred to as indicator variable) is assigned to each of the aforementioned objective function and constraints corresponding to the role. The indicator variable is provided to invalidate objective functions and constraints that do not correspond to the assigned role of the aircraft 40.
[0143] Then, in the joint optimization processing, an indicator variable value is determined for each objective function and each constraint, to invalidate the objective functions and constraints that do not correspond to the assigned role of the aircraft 40. The invalidated objective functions and constraints are kept from affecting calculation of the trajectory of the aircraft 40. Hence, the trajectory is calculated based only on the objective function and constraints that are not invalidated.
[0144] In the joint optimization processing, the trajectory of the aircraft 40 is calculated every time the role of the aircraft 40, that is, the invalidated objective functions and constraints are varied, and the result is evaluated. Thus, the optimal role and trajectory of the aircraft 40 can be determined concurrently.
[0145] The indicator variable of the embodiment is varied between 1 and 0, for example.
[0146] Accordingly, the indicator variable assigned to the objective function and constraints corresponding to the role assigned to the aircraft 40 is set to 1, and is considered as valid. On the other hand, the indicator variable assigned to the objective functions and constraints that do not correspond to the role assigned to the aircraft 40 is set to 0, and is invalidated.
[0147] In other words, the indicator variable sets the role of the aircraft 40. That is, the role corresponding to the objective function and constraints assigned the indicator variable 1 is assigned as the role of the aircraft 40.
[0148] Next, a specific description will be given of how the role of the aircraft 40 is determined. In the following description, there are assumed to be two friendly aircraft as the aircraft 40, and tow enemy aircraft as the target aircraft 42, for example. For this reason, the two friendly aircraft are denoted by B #1, B #2, and the two enemy aircraft are denoted by R #1, R #2.
[0149] Table 1 shows an objective function and constraints when the role of the aircraft 40 is the shooter 40A (SHT).
TABLE-US-00001 TABLE 1 Objective function J.sub., .sup.SHT Equality constraint h.sub., .sup.SHT = 0 Inequality constraint g.sub., .sup.SHT 0
[0150] In Table 1, indicates B #1 or B #2, and indicates R #1 or R #2.
[0151] For example, an objective function J.sup.SET.sub.B #1, R #2 denotes an objective function when B #1 shoots the guided missile 44 toward R #2. An inequality constraint g.sup.SHT.sub.B #1, R #2 denotes an inequality constraint when B #1 shoots the guided missile 44 toward R #2. An equality constraint h.sup.SHT.sub.B #1, R #2 denotes an equality constraint when B #1 shoots the guided missile 44 toward R #2.
[0152] Next, Table 2 shows an objective function and constraints when the role of the aircraft 40 is the sensor 40C (SNS).
TABLE-US-00002 TABLE 2 Objective function J.sub., .sup.SNS Equality constraint Inequality constraint g.sub., .sup.SNS 0
[0153] In Table 2, indicates B #1 or B #2, and indicates R #1 or R #2.
[0154] For example, an objective function J.sup.SKS.sub.B #1, R #2 denotes an objective function when B #1 searches and tracks R #2. An inequality constraint g.sup.SNS.sub.B #1, R.sub.#1 denotes an inequality constraint when B #1 searches and tracks R #2. As mentioned earlier in the description of DCNLP, this example does not require an equality constraint.
[0155] Also, constraints common to the two friendly aircraft regardless of the assigned role may be set as shown in Table 3.
TABLE-US-00003 TABLE 3 Equality constraint h.sub..sup.com = 0 Inequality constraint g.sub..sup.com 0
[0156] In Table 3, of the inequality constraint indicates B #1 or B #2, or B #1 and B #2. In particular, the inequality constraint where a is B #1 and B #2 is a condition that the distance between B #1 and B #2 is longer than a predetermined value. This condition is aimed to avoid collision among accompanying aircraft.
[0157] Next, the indicator variable will be described.
[0158] Table 4 shows different types of indicator variables. In Table 4, the indicator variable is denoted by .sub.ij. A task i indicates the role of the friendly aircraft, and an agent j indicates the friendly aircraft that carries out the task (role).
TABLE-US-00004 TABLE 4 Agent j Task i Description of task B#1(j = 1) B#2(j = 2) i = 1 Shoot guided missile .sub.11 .sub.12 toward R#1 i = 2 Search and track R#1 .sub.21 .sub.22 i = 3 Shoot guided missile .sub.31 .sub.32 toward R#2 i = 4 Search and track R#2 .sub.41 .sub.42
[0159] Then, .sub.ij=1 is set when the task i is assigned to the agent j and .sub.ij=0 is set when the task i is not assigned to the agent j. For example, when B #1 as an agent carries out a task of shooting the guided missile 44 toward R #1, .sub.11 is set to 1, while .sub.ij combinations of other tasks i and agents j are set to 0.
[0160] In the embodiment, multiple aircraft 40 of the same role are not assigned to the same target aircraft 42, for example. Specifically, if .sub.11=1, .sub.12=0, for example. This is an equality constraint h.sup.tsk=0 related to task (role) assignment, and more specifically, is expressed by the following formula (20).
[0161] That is, the constraint related to task assignment is that only a single role is assigned to a single friendly aircraft.
[0162] Next, the integrated objective functions and the integrated constraints will be described.
[0163] The following formula (21) indicates the integrated objective function (hereinafter referred to as integrated objective function J.sub.INT).
{Expression 21}
[0164]
J.sub.INT=.sub.11.Math.J.sub.B #1, R #1.sup.SHT+.sub.31.Math.J.sub.B #1, R #2.sup.SHT
+.sub.12.Math.J.sub.B #2, R #1.sup.SHT+.sub.32.Math.J.sub.B #2, R #2.sup.SHT
+.sub.21.Math.J.sub.B #1, R #1.sup.SNS+.sub.41.Math.J.sub.B #1, R #2.sup.SNS
+.sub.22.Math.J.sub.B #2, R #1.sup.SNS+.sub.42.Math.J.sub.B #2, R #2.sup.SNS (21)
[0165] The integrated objective function J.sub.INT is obtained by multiplying every objective function by the indicator variable .sub.ij, and finding the sum total of the objective functions multiplied by the indicator variable .sub.ij. Then, when calculating the objective function value (evaluation value) from the integrated objective function J.sub.INT, the indicator variable .sub.ij of all of the objective functions are set to 1 or 0.
[0166] The following formula (22) indicates the integrated equality constraint (hereinafter referred to as integrated equality constraint h.sub.INT). In the integrated equality constraint h.sub.INT, the equality constraints are integrated.
{Expression 22}
[0167]
h.sub.INT: .sub.11.Math.h.sub.B #1, R #1.sup.SHT=0
.sub.31.Math.h.sub.B #1, R #2.sup.SHT=0
.sub.12.Math.h.sub.B #2, R #1.sup.SHT=0
.sub.32.Math.h.sub.B #2, R #2.sup.SHT=0
h.sub.B #1.sup.com=0
h.sub.B #2.sup.com=0
h.sup.tsk=0 (22)
[0168] Since equality constraints are not set for the sensor 40C as mentioned earlier, formula (22) does not include equality constraints specific to the sensor 40C. However, if equality constraints are set for the sensor 40C, too, the equality constraints specific to the sensor 40C expressed by the following formula (23) are added to the formula (22).
{Expression 23}
[0169]
.sub.21.Math.h.sub.B #1, R #1.sup.SNS=0
.sub.41.Math.h.sub.B #1, R #2.sup.SNS=0
.sub.22.Math.h.sub.B #2, R #1.sup.SNS=0
.sub.42.Math.h.sub.B #2, R #2.sup.SNS=0 (23)
[0170] In The integrated equality constraint h.sub.INT, every equality constraint is multiplied by the indicator variable .sub.ij. Then when determining the validity of the integrated equality constraint h.sub.INT, the indicator variable .sub.ij of all of the equality constraints are set to 1 or 0.
[0171] As indicated by the above formulae (21) to (23), the objective functions and equality constraints are each multiplied by the indicator variable .sub.ij. Then, the indicator variable .sub.ij assigned to the objective function and equality constraints corresponding to the role assigned to the aircraft 40 is set to 1. On the other hand, the indicator variable .sub.ij assigned to the unnecessary objective functions and equality constraints that do not correspond to the assigned role of the aircraft 40 is set to 0. Thus, the unnecessary objective functions and equality constrains are invalidated.
[0172] Since the indicator variable .sub.ij thus sets the value of unnecessary objective functions to 0, the integrated objective function J.sub.INT can calculate an objective function value (evaluation value) corresponding to the assigned role of the aircraft 40, while avoiding influence of unnecessary objective functions. Additionally, since the equality constraint is created by setting the value of unnecessary equality constraints to 0, the integrated equality constraint h.sub.INT can determine only the equality constraints corresponding to the assigned role of the aircraft 40, while avoiding influence of unnecessary equality constraints.
[0173] The following formula (24) indicates the integrated inequality constraint (hereinafter referred to as integrated inequality constraint g.sub.INT).
{Expression 24}
[0174]
g.sub.INT: g.sub.B #1, R #1.sup.SHT(1.sub.11).Math.M0, g.sub.B #1, R #1.sup.SNS(1.sub.21).Math.M0
g.sub.B #1, R #2.sup.SHT(1.sub.31).Math.M0, g.sub.B #1, R #2.sup.SNS(1.sub.41).Math.M0
g.sub.B #2, R #1.sup.SHT(1.sub.12).Math.M0, g.sub.B #2, R #1.sup.SNS(1.sub.22).Math.M0
g.sub.B #2, R #2.sup.SHT(1.sub.320.Math.M0, g.sub.B #2, R #2.sup.SNS(1.sub.42).Math.M0
g.sub.B #1.sup.com0, g.sub.B #2.sup.com0
g.sub.B #1 & B #2.sup.com0 (24)
[0175] In the integrated inequality constraint b.sub.INT, the indicator variable .sub.ij is assigned such that the inequality holds if the inequality constraint is set to 0. Specifically, as shown in formula (24), a term (1.sub.ij).Math.M is assigned to every inequality constraint, and this term is subtracted from the value of g. M is a positive integer sufficiently larger than the assumed value of g. Then, when determining the validity of the integrated inequality constraint g.sub.INT, the indicator variable .sub.ij of all of the inequality constraints are set to 1 or 0.
[0176] That is, since the indicator variable .sub.ij of the inequality constraint corresponding to the role of the aircraft 40 is set to 1, the value of the above-mentioned term is 0, and the term has no influence. On the other hand, the indicator variable .sub.ij of an unnecessary inequality constraint that does not correspond to the role of the aircraft 40 is set to 0. Hence, the above-mentioned term is a large integer, so that the inequality always holds, and the integrated inequality constraint g.sub.INT is not affected. Accordingly, the integrated inequality constraint g.sub.INT can determine only the inequality constraints corresponding to the assigned role of the aircraft 40, while avoiding influence of unnecessary inequality constraints.
[0177]
[0178] The CPU 12 executes programs previously stored in the HDD 18 to exert functions of a role determination portion 50, a trajectory determination portion 52, and an optimal solution determination portion 54. The HDD 18 also stores the aforementioned integrated objective function J.sub.INT, integrated equality constraint h.sub.INT, and integrated inequality constraint g.sub.INT.
[0179] The role determination portion 50 determines the role of the aircraft 40.
[0180] Specifically, the role determination portion 50 reads the integrated objective function J.sub.INT, the integrated equality constraint h.sub.INT, and the integrated inequality constraint g.sub.INT from the HDD 18, and sets the indicator variable .sub.ij of the integrated objective function J.sub.INT, integrated equality constraint h.sub.INT, and integrated inequality constraint g.sub.INT to 1 or 0, depending on the assigned role of the aircraft 40.
[0181] The trajectory determination portion 52 calculates the optimal trajectory corresponding to the role of the aircraft 40, by performing optimal trajectory calculation illustrated in
[0182] The role determination portion 50 varies the indicator variable .sub.ij to vary the role assigned to the aircraft 40. Then, the trajectory determination portion 52 calculates the optimal trajectory corresponding to the role of the aircraft 40, every time the assigned role of the aircraft 40 changes.
[0183] The optimal solution determination portion 54 selects, from among multiple trajectories calculated for each role assigned to the aircraft 40, a role and trajectory that minimize the integrated objective function as the optimal role and optimal trajectory, and settles them as the role and trajectory to be actually assigned to the aircraft 40.
[0184] Thus, the role and trajectory of the aircraft 40 are optimized concurrently.
[0185] In role-trajectory optimization processing, the role of the aircraft 40 is varied by using evolutionary computation such as a genetic algorithm or the branch and bound method, and the optimal trajectory is calculated by solving DCNLP inside the loop.
[0186] In this example, the aircraft control device 10 is installed in all of the aircraft 40 that is member of a flight. However, a predetermined accompanying aircraft (e.g., leader aircraft) may perform role-trajectory optimization processing to determine the role and trajectory of the accompanying aircraft, and may transmit the determined role and trajectory as role-trajectory information to the accompanying aircraft, for example. The role-trajectory information transmitted to the accompanying aircraft may be displayed on the MFD of the accompanying aircraft, and the pilot of the accompanying aircraft may fly according to the displayed information.
[0187] As has bees described, the aircraft control device 10 of the embodiment: calculates N nodes indicating a trajectory by substituting a discretized control variable of the aircraft 40 into an equation of motion of the aircraft 40, or sets N nodes indicating a trajectory by another appropriate method; and determines, for each set of adjacent nodes, an optimal trajectory based on an evaluation value obtained from as objective function corresponding to a role of the aircraft 40, from among trajectories that satisfy a constraint that a deviation between the following node and the appropriate following node is 0, and a constraint corresponding to the role.
[0188] Thus, the aircraft control device 10 uses a calculation method in which the optimal solution is obtained by discretizing a continuous variable. Hence, a more optimal trajectory corresponding to the role of the aircraft 40 can be calculated in a shorter time.
[0189] The aircraft control device 10 also assigns an indicator variable to each objective function and constraint corresponding to the role, and determines a value of the indicator variable for every objective function and every constraint, such that an objective function and constraint that do not correspond to the assigned role of the aircraft 40 are invalidated.
[0190] Accordingly, the aircraft control device 10 can concurrently determine the optimal role and trajectory of the aircraft 40, by calculating the trajectory of the aircraft 40 and evaluating the result, every time the role of the aircraft 40, that is, the invalidated objective function and constraint are varied.
[0191] Although the present invention has been described by use of the above embodiment, the technical scope of the invention is not limited to the scope described in the above embodiment. Various changes and modifications can be made in the embodiment without departing from the scope of the invention, and the modes including the changes and modifications are also included in the technical scope of the invention. The embodiments may be combined appropriately.
[0192] For example, although the embodiment describes a mode in which the aircraft 40 performs role-trajectory optimization processing, the invention is not limited to this. Instead, the processing may be divided among all aircraft 40 that is member of a flight. Alternately, the processing may be performed by a ground facility receiving various information from the aircraft 40, and the determined role and trajectory of the aircraft 40 may be transmitted to each of the aircraft 40.
[0193] The flow of processing of the optimal trajectory calculation and role-trajectory optimization processing described in the above embodiment are also an example, and unnecessary steps may be omitted, different steps may be added, or the order may be changed, without departing from the scope of the present invention.
REFERENCE SIGNS LIST
[0194] 10 aircraft control device [0195] 40 aircraft [0196] 42 target aircraft [0197] 44 guided missile [0198] 50 role determination portion [0199] 52 trajectory determination portion