Method and system for optimal trajectory path tasking for an unmanned aerial vehicle (UAV)
11573577 · 2023-02-07
Assignee
Inventors
Cpc classification
B64U2201/10
PERFORMING OPERATIONS; TRANSPORTING
B64C39/024
PERFORMING OPERATIONS; TRANSPORTING
G05D1/0094
PHYSICS
G01C11/02
PHYSICS
International classification
Abstract
A method and system for generating an optimal trajectory path tasking for an unmanned aerial vehicle (UAV) for collection of data on one or more collection targets by a sensor on the UAV.
Claims
1. A method for generating an optimal trajectory path tasking for collection of data on one or more collection targets by an unmanned aerial vehicle (UAV), the method comprising: receiving an input of a payoff functional, wherein the payoff functional is based on a task performance measured by an atomic return function given as: .sub.a (t)×t.sub.a.sup.w, and wherein the atomic return function is integrated over the mathematical support of a task label in a label space and wherein the task performance of a label space trajectory is evaluated as:
K.sub.a[l(.Math.)]:=∫.sub.t.sub..sub.a(t);t,t.sub.a.sup.w)dt; receiving an input of one or more constraints with respect to at least one of an engineering constraint or an operational constraint of the UAV or a sensor on the UAV; receiving an input of a dynamic model of the UAV and the sensor in a state space; receiving an input of one or more attributes of one or more collection targets in a label space; receiving an input of a mapping relating the state space to the label space; receiving an input of a trajectory optimization problem formulation; solving a trajectory optimization problem formulation to generate an optimal trajectory path; generating an optimal trajectory path tasking for the UAV for collection on the one or more collection targets by the sensor; and, providing the optimal trajectory path tasking to a flight controller of the UAV.
2. The method of claim 1 wherein the one or more constraints is a time on task functional given as:
T.sub.a[l(.Math.)]:=∫.sub.t.sub.(l(t),
.sub.a)dt is based on a Kronecker indicator function:
3. The method of claim 1 wherein the one or more constraints is a time on task functional given as:
T.sub.a[l(.Math.)]:=∫.sub.t.sub.(l(t),
.sub.a)dt based on a time-sensitive Kronecker indicator function:
4. The method of claim 1 wherein the one or more attributes of collection targets are represented as task attributes in terms of a real value label space.
5. The method of claim 1 wherein a non-smooth step function is approximated by a smooth sigmoid function given as:
6. An unmanned aerial vehicle (UAV) payload tasking system for generating an optimal trajectory path tasking for collection of data on one or more collection targets by a sensor on the UAV comprising: at least one processor programmed to: receive input of a payoff functional, wherein the payoff functional is defined by a summation of atomic returns given as:
7. The system of claim 6 wherein the one or more constraints is a time on task functional given as:
T.sub.a[l(.Math.)]:=∫.sub.t.sub.(l(t),
.sub.a)dt based on a time-sensitive Kronecker indicator function:
8. The system of claim 6 wherein the one or more attributes of collection targets are represented as task attributes in terms of a real value label space.
9. The system of claim 6 wherein a non-smooth step function is approximated by a smooth sigmoid function given as:
10. A non-transitory computer readable medium with computer-executable instructions for generating an optimal trajectory path tasking for collection of data on one or more collection targets by a UAV, the computer readable medium having computer executable instructions for: receiving input data comprising: a payoff functional, wherein the payoff functional is defined by a summation of atomic returns given as:
11. The non-transitory computer readable medium of claim 10 wherein the one or more attributes of collection targets are represented as task attributes in terms of a real value label space.
12. The non-transitory computer readable medium of claim 10 wherein a non-smooth step function is approximated by a smooth sigmoid function given as:
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15) Embodiments in accordance with the invention are further described herein with reference to the drawings.
DETAILED DESCRIPTION OF THE INVENTION
1. Introduction
(16) A typical orienteering problem can be defined in terms of a graph. The objective is to determine a time-limited task sequence, also known as a walk, that maximizes the total collection value or collection score derived from the visited vertices, as shown for example in
(17) Consider an unmanned air vehicle (UAV) equipped with a sensor, such as an electro-optical (EO) camera, in its payload bay, as shown in
(18) A typical orienteering problem is framed in terms of a binary decision variable, z.sub.ij∈{0,1}, where z.sub.ij=1 indicates that the arc ij is traversed (see
(19)
(20) where t.sub.max is the given time window and c(z.sub.ij) represents all other constraints that constitute the full problem formulation. In adapting equation 1 to a dynamics-driven problem, the travel time t.sub.ij is obtained by solving a minimum-time optimal control problem as shown in equation 2,
(21)
(22) where, t.sub.i and t.sub.j are the clock times at vertices i and j respectively, {dot over (x)}=f(x,u) is a model of the dynamics of the UAV of a fidelity determined by an operator of the process that is described in standard state-space coordinates with u as the control variable, and ,
and
are sets of appropriate dimensions that denote restrictions or other constraints on the state variable, control, and endpoints respectively. Substituting equation 2 in equation 1 generates a hybrid optimal control problem where the outer optimization loop of equation 1 is combinatorial and the inner loop of equation 2 is trajectory optimization.
(23) In the present invention a reverse process is used advantageously by substituting equation 1 instead into equation 2 as opposed to substituting equation 2 in equation 1 as in the prior art. One advantage of the reverse process is that the combinatorial problem becomes imbedded in the continuous-time problem. As a result, the entire problem can be addressed under a single unified algebra of continuous-time calculus rather than through the use of prior art graph theoretic ideas.
2. Label Space Representation of a Tasking Graph
(24) The dynamics of a UAV and its payload can naturally be described as a state space; however, the development of a state space for a UAV begins with some choices of coordinate systems, definitions of vectors, their parametrization etc. These choices can be made by an operator of the system. The appropriate space for a collection tasking graph is a label space. Analogous to the development of the state space, the label space needs to be developed from an underlying space of categorial variables. These are problem specific and may be defined by an operator of the process. Nonetheless, the graph variables are typically and readily defined in the preferred embodiment in terms of non-numerical symbols, integers and real variables. To each vertex of the graph, is associated a set in some N.sub.l-dimensional real-valued label space, .sup.N.sup.
. As a means to illustrate the development of a real-valued label space, consider the following example shown in equation 3 of a categorial vector associated with a vertex of a collection planning graph,
(25)
(26) In equation 3, AC34939 is a value of a vertex identification variable that locates a vertex, strip is a value of a collection area shape variable (other values may be line, point etc.), a vector (36.6°,121.9°,6.45°,10 km) is a value of the geometry variable given by the latitude, longitude, orientation angle, and length of a collection strip respectively, and (30.0°),75.0° is a pair of angles corresponding to allowable elevation angles of camera boresight as measured from the ground.
(27) In a first step of developing a real-valued label space, any categorial variables are organized into two groups of (1) discrete values and (2) real values. For example, for the vector given in equation 3, the groups of discrete values and real values can be written as,
discrete values=(AC34939,strip) (4)
real values=(30.0°,75.0°,36.6°,121.9°,6.45°,10 km) (5)
(28) In a second step, (unique) integer values, 1, 2, . . . , N.sub.v∈ are arbitrarily assigned to the discrete vector. This second step assigns N.sub.v vertices to the UAV collection planning graph, see
.sup.2 can be set as the label-space variable. Because the task is to collect such that elevation angle is required to be over 30° and below 75°, a three-dimensional label space (
.sup.3) with l.sup.3 as the elevation angle is defined (see
(29) In a third step, a set .sub.i ⊂
.sup.N.sup.
.sub.v:={1, 2, . . . , N.sub.v}. Each set
.sub.i constitutes the totality of all constraints associated with vertex i. The arcs of the tasking graph can be represented by label-space trajectory segments as illustrated in
.sub.i is used for the representation of vertex i in
.sup.N.sup.
.sub.i set must be represented in the form of function equalities and/or inequalities. For example, assuming N.sub.1=2 in
.sub.B is given by equation 6,
.sub.B={(l.sup.1,l.sup.2)∈
.sup.2:l.sup.1−l.sub.B.sup.1=0,1.sup.2−l.sup.2.sub.B=0} (6)
where (l.sub.B.sup.1,l.sub.B.sup.2) are the specified coordinates of B in .sup.2. The strip in
.sub.strip={l:=(l.sub.2,l.sup.3)∈
.sup.2×
:Al≤0,30.0°≤l.sup.3≤75.0°}
where A is a 4×2 coefficient matrix that helps locate the four edges of the strip. Thus, given a UAV collection tasking problem as illustrated in
(30) For the purposes of numerical illustration of the present invention, a random set of 30 circular point-areas of diameter 0.2 km is generated as shown in .sub.i={l∈
.sup.2:∥l−l.sub.c.sub.
where, l∈.sup.2 are the x- and y-points on the ground. The randomly generated locations of the center of the targets l.sub.c.sub.
(31) TABLE-US-00001 TABLE 1 Locations of randomly chosen centers of point-area spots shown in FIG. 6. ID No l.sub.c.sup.1 l.sub.c.sup.2 1 0.17688 −0.46091 2 0.21437 0.42142 3 0.21493 −0.06526 4 0.24648 0.63918 5 0.26107 −0.97545 6 0.32794 0.11967 7 0.35167 −0.28932 8 0.44629 −0.59283 9 0.58119 0.08273 10 0.61460 −0.36728 11 0.61669 −0.74132 12 0.72450 0.53033 13 0.75788 0.85194 14 0.76949 −0.88947 15 0.82333 −0.37810 16 0.91266 0.15307 17 1.01836 −0.20577 18 1.05605 0.95146 19 1.12200 −0.66362 20 1.17707 −0.39159 21 1.18473 0.37279 22 1.20911 0.15392 23 1.32677 −0.97872 24 1.32755 0.84148 25 1.38258 −0.54257 26 1.54510 0.86843 27 1.56996 −0.85140 28 1.57562 0.24849 29 1.57771 0.50370 30 1.57865 −0.28736
3. Label Space to State-Space Transformational Equations
(32) In one embodiment, a state vector for the UAV payload can be defined in terms of the position and velocity of the point about which the camera rotates, i.e., gimbals. The orientation parameters and angular velocity of the camera mounts complete the state vector representation. Thus, it can be seen that the state vector is not an element of the label space defined in Section 2. For the problem formulation to be meaningful, the state- and label-space vectors must be related in some manner. To develop general transformational equations that support this concept, the first five elements of the state variable are organized according to equation 8,
(33)
where, ϕ and θ are the pan and tilt angles of the camera respectively, and x, y and z are the position coordinates of the camera mount. Let r.sub.LOS be the vector from the camera to a generic point on the ground (l.sup.1,l.sup.2,0) (see
(34) From the triangle relationship between the indicated vectors equation 9 is obtained as,
(35)
(36) From the elementary kinematics illustrated in
(37)
(38) where, r.sub.LOS is the magnitude (2-norm) of r.sub.LOS. Substituting equation 10 in equation 9 results in equation 11,
x+r.sub.LOS sin θ=l.sup.1
y+r.sub.LOS sin ϕ cos θ=l.sup.2
z−r.sub.LOS cos ϕ cos θ=0 (11)
(39) Manipulating equation 11 to eliminate r.sub.LOS equation 11 reduces to equation 12,
x+z tan δ/cos ϕ=l.sup.1
y+z tan ϕ=l.sup.2 (12)
(40) From equation 8, it can be seen that equation 12 is of the form shown in equation 13,
l=L(x) (13)
where, L: xl is an equation designed by an operator of the process that maps a state vector x to a label vector l. In certain problems, it may not be easy to generate an explicit function L. In this case, a more practical state-to-label-space transformational model is given implicitly by the zeros of some function g shown in equation 14,
g(x,l)=0 (14)
where, g:(x,l).sup.N.sup.
. Equation 13 is included in equation 14 with g(x,l):=L(x)−l.
(41) Note that equation 12 was possible because equation 11 was manipulated to explicitly eliminate r.sub.LOS in equation 11. In certain problems, it may not be possible or even practical to perform such elimination of variables. In such situations, it is more convenient to introduce additional control parameters as part of the totality of control variables u∈.sup.N.sup.
g(x,l,u,t)=0 (15)
(42) where, also incorporated in g is an explicit dependence on time. The explicit time-dependence of g is quite critical in practical applications. Thus, for this UAV collection tasking, no further effort need be expended past equation 11 by setting r.sub.LOS=u∈.
(43) In the application of the method of the invention, it is inadvisable to set r.sub.LOS=u∈.sup.3 and simply use equation 9. This is because r.sub.LOS is functionally dependent on ϕ and θ which were declared to be part of the state variables. In optimal control theory, controls are mathematical variables that do not have time rate (i.e., du/dt) constraints.
4. Atomic Functions and Functionals
(44) From Section 3, it follows that a label-space trajectory tl can be associated with a state-space trajectory t
x and vice versa. Let
.sub.a ⊂
.sup.N.sup.
.sub.a is allowed to be a point with nonzero measure (see equation 6). In most practical applications
.sub.a is a non-atomic subset of
.sup.N.sup.
(45) For illustration, three candidate label-space trajectories in .sup.N.sup.
l.sub.α does not intersect
.sub.a, it can be concluded that Task a (associated with vertex a) was not performed. Note also that by equations (13), (14) or (15) which relate the label-space trajectory to a state-space trajectory, that the label-space trajectory t
l.sub.α does not intersect means that the state-space trajectory of the UAV is such that Task a cannot be executed. In the case of label-space trajectories t
l.sub.β and t
l.sub.γ, it can be concluded that an attempt was made to perform Task a because label-space trajectories t
l.sub.β and t
l.sub.γ, intersect the area labeled ‘a’ in
l.sub.β and t
l.sub.γ, do intersect means that the state-space trajectory of the UAV is such that Task a may be executed and where each of label-space trajectories t
l.sub.β and t
l.sub.γ, may provide the same or a different value for performing Task a. In order to mathematically quantify the interaction of any label-space trajectory and a Task a, a Kronecker indicator function of
.sub.a defined by equation 16 is introduced,
(46)
Equation (16) means that if a label-space trajectory l intersects a set, a value of 1 is returned; whereas if a label-space trajectory l does not intersect a set, a value of 0 is returned.
(47) The time-on-task functional T.sub.a: l(.Math.), meaning the time spent performing task T.sub.a, is a mapping from an entire label-space trajectory to a real scalar number, and the time spent performing task T.sub.a is defined by equation 17,
T.sub.a[l(.Math.)]:=∫.sub.t.sub.(l(t),
.sub.a)dt (17)
where, t.sub.0 and t.sub.f are clock times of interest with t.sub.f>t.sub.0. That is, the integration of the total time that a label-space trajectory intersects a set is a mapping to the total time that has been spent performing Task a. Applying equation 16 and equation 17 to the trajectories shown in
(48) In a scheduling problem, performing a task may be time-sensitive or time-critical. Let t.sub.a.sup.w:=[t.sub.a.sup.start,t.sub.a.sup.end] be a given time window of opportunity for performing Task a successfully, with t.sub.a.sup.start∈[t.sub.0,t.sub.f], t.sub.a.sup.end∈[t.sub.0,t.sub.f] and (t.sub.a.sup.end−t.sub.a.sup.start)>0. A time-sensitive Kronecker indicator function of .sub.a can now be defined as equation 18,
(49)
(50) Note that equation 18 also allows .sub.a to vary with respect to time. This is done not merely for the sake of greater mathematical generality; rather, such a model is quite crucial for aerospace applications. If equation 18 is substituted for the integrand in equation 17, the result is still equal to the time expended to perform Task a. This time, however, T.sub.a[l(.Math.)] returns a value of zero if the task is executed outside the time window, t.sub.a.sup.w.
(51) It is quite possible that the performance of Task a may depend upon the shape of the label-space trajectory during the time when l(t)∈.sub.a(t). This simply means that different label-space trajectories, and therefore different state-space trajectories, x, can cause a Task a to be performed differently even when each different label-space trajectory intersects a set. As a means to model the performance of Task a, i.e., a task performance, a return function R.sub.a: (l,
.sub.a (t); t,t.sub.a.sup.w)
.sub.≥0 is defined as equation 19,
(52)
and μ is a Lebesgue measure over supp(R.sub.a):=.sub.a (t)×t.sub.a.sup.w. The return function is problem-specific and may also be task-specific as defined by an operator of the process. The performance of a label-space trajectory l(.Math.) with respect to Task a may be determined by way of a functional K.sub.a: l(.Math.)
that is defined analogous to equation 17 by,
K.sub.a[l(.Math.)]:=∫.sub.t.sub..sub.a(t);t,t.sub.a.sup.w)dt (21)
(53) From equation 19 and equation 21 it follows that K.sub.a[l(.Math.)]≥0. Note that if R.sub.a is chosen to be the indicator function given by (18), then, it implies that the performance of Task a is agnostic to the form of label-space trajectory when l(t)∈.sub.a. In other words, for this latter case, it is sufficient that a label-space trajectory intersects a set and that the location of the intersection is inconsequential to the return value.
5. Development of Computational Formulas for Several Payoff Functionals
(54) The triple [t.sub.0,t.sub.f]t
(l, x, u) is defined to be the system trajectory for the orienteering problem. That is, the triple comprises a system state trajectory, a label space trajectory, and a system control trajectory. Consequently, the arguments of a generic payoff functional P are given by l(.Math.), x(.Math.), u(.Math.) and possibly the clock times, t.sub.0 and t.sub.f. A formula for the computation of a payoff functional depends upon the precise nature of the collection tasking problem to be solved. In this section, several exemplar formulas that depend upon the operational needs of the system are developed.
(55) Let R.sub.i: (l,.sub.i;t,t.sub.i.sup.w)
.sub.≥0,i=1, 2, . . . , N.sub.v denote the return functions associated with the N.sub.V vertices of an orienteering problem. Motivated by the cost function in equation 1, a candidate payoff functional may be defined in terms of a summation of atomic returns given by equation 22,
(56)
(57) Such a payoff functional has been used successfully to schedule ground station networks for satellite telemetry, data downlink and command, see for example, U.S. Pat. No. 10,476,584 to Minelli, et al. In other instances, it is quite possible that a task might be completed after a certain amount of return has been accumulated. For instance, if a satellite had a relatively small amount of data to downlink, then equation 22 is not an appropriate payoff functional. To model such payoff functionals, real variables r.sub.i, i=1, 2, . . . , N, are defined according to equation 23,
r.sub.i:=∫.sub.t.sub..sub.i(t);t,t.sub.i.sup.w)dt (23)
(58) Let b.sub.i≥0.sub.i, i=1, 2, . . . , N.sub.v be nonnegative real numbers such that r.sub.i=b.sub.i indicates the completion of Task i. Consequently, if r.sub.i is greater than b.sub.i, the return on Task i is evaluated to be the same as when r=b. In order to model such valuations, an atomic return valuation function, V.sub.i.sup.ramp: r.sub.i , is defined according to equation 24,
(59)
(60) A payoff functional is then given by equation 25,
(61)
(62) As a first remark, let V.sub.i.sup.linear(r.sub.i;σ.sub.i):=σ.sub.ir.sub.i where σ.sub.i>0 is the score associated with the V. i.sup.th vertex, and r.sub.i is as defined in equation 23. Then equation 22 can be written in a more general form as equation 26,
(63)
That is, equation 22 is the same as equation 26 with σ.sub.i=1.
(64) In a pure graph-theoretic problem formulation, the objective function of an orienteering problem is agnostic to the performance of a task. To produce a similar objective in the present framework, time-on-task real variables τ.sub.i=1, 2, . . . , N.sub.v real variables are defined according to equation 27,
τ.sub.i:=∫.sub.t.sub.(l(t),
.sub.i(t);t,t.sub.i.sup.w)dt (27)
(65) Next, consider the atomic time-on-task evaluation function given by,
(66)
(67) A payoff functional that is analogous to the objective function in equation 1 is given by equation 29,
(68)
(69) In some situations it might be that a certain amount of time τ.sub.i.sup.alloc>0 is allocated to perform a Task i. That is, if less than τ.sub.i.sup.alloc time is expended in performing Task i, it is considered to be incomplete and valued at zero and greater amounts of time expenditure are not rewarded. A mathematical model for this evaluation is given by equation 30,
(70)
(71) A payoff functional associated with the step valuation can then be written as equation 31,
(72)
(73) As a second remark, the step function may also be used in conjunction with the return functional K.sub.i[l(.Math.)] and the parameter b.sub.i used in equation 25 to generate a new payoff functional shown as equation 32,
(74)
(75) That is, in equation 32 no incremental reward is generated if 0≤K.sub.i[l(.Math.)]<b.sub.i. Furthermore, new payoff functionals may be generated by using some heterogenous combinations of various atomic valuation functions.
(76) As a third remark, it is apparent from equation 25, 26, 29, and 31 and the second remark that many practical payoff functionals may be modeled as functionals of functionals. As a fourth remark, let J.sub.i.sup.k [l(.Math.)],k=1, 2, . . . , m be a collection of m generic functionals associated with each vertex i, and J[l(.Math.)] be a matrix functional defined by,
(77)
(78) Let V: .sup.N.sup.
.sup.m
.sub.q
be a generic valuation function; then, a payoff functional for an orienteering problem may be defined in terms of a functional of a matrix functional given by,
P[l(.Math.),x(.Math.)u(.Math.),t.sub.0,t.sub.f]:=V(J[l(.Math.)])
Typically, V:q is a non-smooth function.
6. A Numerical Example Problem
(79) As an example of the application of the method of the invention, consider the UAV collection tasking problem for the imaging data set defined in Table 1 and equation 7. As a means to illustrate many aspects of one embodiment, the UAV is set on a straight and level flight path along the n.sub.1 direction and at a constant altitude of z=h=500 meters (see
x.sub.0+V.sub.x(t−t.sub.0)+r.sub.LOS sin θ=l.sup.1
y+r.sub.LOS sin θ cos θ=l.sup.2
h−r.sub.LOS cos θ cos θ=0 (33)
(80) where, x.sub.0 is the x-position of the UAV at time t.sub.0. Note that equation 33 is in the general form given by equation 15 where g depends explicitly on time and a control variable (r.sub.LOS) in addition to state and label-space variables. The pan and tilt angles are state variables because their derivatives are constrained according to the kinematic equations,
{dot over (ϕ)}=ω.sub.ϕ,{dot over (θ)}=ω.sub.θ (34)
(81) As part of modeling the area of regard (see
−75°≤ϕ≤75°,−70°≤θ≤70° (35)
(82) Because of practical limits on the gimbal rates and torques, the equations are set as,
{dot over (ω)}.sub.ϕ=u.sub.ϕ−10≤ω.sub.ϕ≤10,−3≤u.sub.ϕ≤3
{dot over (ω)}θ=uθ,−10≤ωθ≤10,−3≤uθ≤3 (36)
(83) The control variables for the problem are now defined by,
u:=(r.sub.LOS,u.sub.ϕ,u.sub.θ)∈⊂
.sup.3 (37)
where, is a bounded set implied in equations 36. The state variables are,
x:=(ϕ,θ,ω.sub.ϕ,ω.sub.θ)∈∈
.sup.4 (38)
where, is a compact set implied by equations 35 and 36. Furthermore, the entire label space
is limited to a strip,
:{(l.sup.1,l.sup.2)∈
.sup.2:0≤l.sup.1≤1.9 km,−1.6≤l.sup.2≤1.6 km} (39)
so that l(t)∈,∀t∈[t.sub.0,t.sub.f]. It can be seen that this exemplar problem includes many of the myriad constraints discussed in Sections 1 and 3. Furthermore, additional constraints are introduced as given by,
x∈,u∈
, and l∈
(84) For the example payoff functional, equation 31 is selected with σ=1 and t.sub.i.sup.alloc=2 seconds for all i=1, . . . , 30. That is, all tasks are valued equally and the camera is required to dwell over an imaging spot for a minimum of two seconds to be of any value.
6A. Overview of a Numerical Implementation
(85) All the constraint functions in equations 33-39 are smooth. Non-smoothness in this particular problem formulation is only in the computation of the payoff functional given by equation 40,
(86)
and , are as given in equation 7 and Table 1. The summation element in equation 40 is smooth; hence, the non-smoothness in the computation of the payoff functional is entirely in the atomic valuation function given equation 41. To indicate its computational elements, the right-hand-side of equation 41 is written by the integral representation of the time-on-task functional T.sub.i[l(.Math.)]. Because integrals are well approximated by Gaussian quadrature rules, it can be seen that a natural and efficient choice for the computation of the right-hand-side of equation 41 is through the use of Legendre-Gauss-Lobatto (LGL) points. A quadrature that employs Clenshaw-Curtis weights over Chebyshev-Gauss-Lobatto (CGL) points is also competitive to Gaussian formulas. Consequently, the use of Legendre or Chebyshev pseudospectral (PS) methods, which are well known to those of skill in the art, are efficient and a preferred way to solve the UAV collection tasking problem.
(87) Using quadrature formulas to compute the right-hand-side of equation 41 produces challenges in PS methods because the indicator function is mostly equal to zero over the time interval [t.sub.0, t.sub.f]. To alleviate this problem, a nonlinear conformal mapping of the time-domain is desirable to produce a non-Gaussian clustering of the node distribution. Further, an implementation of equation 40 requires 30 (=quadratures per iteration. Consequently, it is important to not only use efficient quadrature formulas, it is also important to use formulas whose constituent elements can be computed efficiently. For instance, the quadrature points in the CGL formula are given in closed form (by the cosine function) but the LGL points are only given in terms of zeros of the derivatives of the Legendre polynomials. This indicates that the Chebyshev PS method may be advantageous in view of the competitive convergence rate of the Clenshaw-Curtis formula; however, in recent years, it has been possible to generate LGL points in O(1) computational time. Consequently, an advanced spectral implementation of a transformed Legendre or Chebyshev PS method can be effectively used for solving the UAV orienteering problem. Such an implementation is readily available via DIDO©—a MATLAB optimal control toolbox for solving optimal control problems. The numerical results described herein were generated through the use of this software, though an operator of the process may use any appropriate optimal control solver to execute the method.
(88) Many computational methods and software perform best when the problem formulation is prescribed in terms of differentiable functions. Consequently, the step function is approximated by a smooth sigmoid function shown in
6B. Illustrative Results
(89) A plot of the ground trace of a camera boresight (label-space trajectory in this particular instance) is shown in
∫.sub.t.sub.(l(t),
.sub.i)dt≥2
(90) A plot of the indicator functions for which T.sub.i[l(.Math.)]>0 are shown in
(91) Embodiments in accordance with the invention utilize continuous-time equations as part of the fundamentals that govern the construction of an orienteering problem graph. The combinatorial variables associated with the graph are then imbedded as part of the continuous-time framework through the use of a variety of non-smooth functions. The numerical embodiments described herein demonstrate that the computational challenges can be successfully addressed through the use of advanced pseudospectral methods and smoothing techniques.
(92) In accordance with the above description of the invention, a method and system for generating an optimal trajectory path tasking for a UAV is now described with reference to
(93)
(94) In OPERATION 1302 RECEIVE INPUT OF USER DEFINED PAYOFF FUNCTIONAL, a user defined payoff functional input by a user is received. In the current embodiment, the payoff functional is defined by a user to maximize a selected objective for a UAV payload tasking. As earlier described, an example of a payoff functional is equation 22 that is defined in terms of a summation of atomic returns,
(95)
(96) An example of performing equation 22 was described with reference to the descriptions of equations 23-32.
(97) In OPERATION 1304 RECEIVE INPUT OF USER DEFINED CONSTRAINT(S), one or more user defined constraints input by a user are received. As earlier described, example constraints on the UAV tasking include constraints, such as operational and engineering constraints. For example, maximum and minimum pan and tilt angles and/or rates of the sensor, maximum and minimum airspeeds of the UAV, or maximum and minimum altitudes of the UAV. Equation 35 provided an example of engineering constraints on pan and tilt angles of a sensor, and equation 36 gave an example of the movement of the pan and tilt of a sensor. Equation 39 provided an example of an operational constraint as a view area constraint.
(98) In OPERATION 1306 RECEIVE INPUT OF USER DEFINED DYNAMIC MODEL OF SENSOR AND UAV IN A STATE SPACE, a user defined state space and state-space model input by a user is received. As earlier described, an example of a state-space model of a UAV is given by,
(99)
where x, y, z are position coordinates with respect to an inertial reference frame, and θ and ϕ are gimbal angles of a sensor mounted to the UAV. A vector [x,y,z,θ,ϕ] is a state space for the UAV model. V is a velocity over ground and ψ is a heading angle, and these are considered as fixed parameters in the present embodiment. In other embodiments, the velocity over ground and/or the heading angle may change as a function of time or be described in terms of an alternative state space model. Variables ω.sub.θ and ω.sub.ϕ are gimbal angle rates and are considered as example control variables to be optimized.
(100) In OPERATION 1308 RECEIVE INPUT OF USER DEFINED ATTRIBUTES OF COLLECTION TARGETS IN A LABEL SPACE, user defined attributes of collection targets in a label space input by a user are received. Examples of attributes of collection targets include, number of collection targets, collection target values, and dwell time on each collection target. As earlier described, a label space needs to be developed from an underlying space of categorial variables. An example of a label space is equation 7,.sub.i={l∈
.sup.2:∥l−l.sub.c.sub.
(101) In OPERATION 1310 RECEIVE INPUT OF USER DEFINED MAPPING RELATING THE STATE SPACE TO THE LABEL SPACE, a user defined mapping relating the state space to the label space input by a user is received. As earlier described, a mapping is defined which relates the state space defined in OPERATION 1306 to the label space defined in OPERATION 1308. Examples of mapping which relate the state space to the label space are described with reference to Equations 8, 9, 10, 11, and 12 and reference to
(102) In OPERATION 1312 GENERATE TRAJECTORY OPTIMIZATION PROBLEM FORMULATION, a trajectory optimization problem formulation is generated using the payoff functional defined in operation 1302, the constraints defined in operation 1304, and the mapping defined in operation 1310. One embodiment of a trajectory optimization problem for maximizing the value of a mission plan is given as,
(103)
(104) In OPERATION 1314 SOLVE TRAJECTORY OPTIMIZATION PROBLEM FORMULATION TO GENERATE OPTIMAL TRAJECTORY PATH, the trajectory optimization problem is solved based on the user defined inputs to generate an optimal trajectory path. For example, the use of Legendre or Chebyshev pseudospectral (PS) methods can be used to solve the trajectory optimization problem formulation to generate an optimal trajectory path.
(105) In OPERATION 1316 GENERATE OUTPUT OF OPTIMAL TRAJECTORY PATH TASKING, an optimal trajectory path tasking is generated based on an optimal trajectory path obtained from solving a trajectory optimization problem formulation solved in OPERATION 1314. For example, the actual sequence of successful collections (tasks) can be determined by evaluating the integrals of indicator functions over all tasks (as described in the numerical example) and considering, in sequence, only those that meet the task requirement. A generated optimal trajectory path tasking provides a mission trajectory and a mission plan for execution of a collection task which defines a sequence of collection targets that maximize a payoff functional. For example, an optimal trajectory path tasking can be generated as one or more command inputs executable by a UAV flight controller or other guidance system.
(106) In OPERATION 1318 PROVIDE OPTIMAL TRAJECTORY PATH TASKING TO FLIGHT CONTROLLER OF THE UAV, an optimal trajectory path tasking output in operation 1316 is provided to a flight controller of the UAV, for example as a command vector input or series of inputs, allowing the UAV to provide optimized collection among the collection targets in accordance with the optimal trajectory path tasking.
(107)
(108) Method 1300 utilizes the user inputs to generate an optimal trajectory path tasking as earlier described herein, and system 1402 communicates the optimal trajectory path tasking to a flight controller 1408, or other guidance system, of a UAV 1404. For example, the optimal trajectory path tasking generated by method 1300 can be communicated via a communication interface (I/F) 1412 of system 1402 to a communication I/F 1414 of UAV 1404 over a network 1410 connection. Flight controller 1408 receives the optimal trajectory path tasking and guides the flight of UAV 1404 in accordance with the optimal trajectory path tasking to allow for collection on collection targets by a payload sensor, such as E/O camera 1416 of UAV 1404.
(109) System 1402 may further include standard devices such as display device, a printer, as well as one or more standard input-output (I/O) devices, such as a compact disk (CD) or DVD drive, or other porting device for inputting data to and outputting data from 1402. In one embodiment, method 1300 is loaded onto system 1402 as executable code via an I/O device, such as from a CD, DVD, or other digital communicable form containing method 1300, or via a network download. Method 1300 can be stored in memory of system 1402 and executed on system 1402. In some embodiments, system 1402 may be coupled to other networks (not shown). In some embodiments, method 1300 can be fully or partially implemented on an external network. In one embodiment, method 1300 can be embodied as a computer program product in a medium configured to store or transport computer readable code. Some examples of computer program products are CD-ROM discs, DVDs, ROM cards, and computer hard drives.
(110) Accordingly, this description provides exemplary embodiments of the present invention. The scope of the present invention is not limited by these exemplary embodiments. Numerous variations, whether explicitly provided for by the specification or implied by the specification or not, may be implemented by one of skill in the art in view of this disclosure.
(111) It is to be understood that the above-described arrangements are only illustrative of the application of the principles of the present invention and it is not intended to be exhaustive or limit the invention to the precise form disclosed. Numerous modifications and alternative arrangements may be devised by those skilled in the art in light of the above teachings without departing from the spirit and scope of the present invention.