Systems and Methods for Avian Flock Flight Path Modification using UAVs

Information

  • Patent Application
  • 20200031465
  • Publication Number
    20200031465
  • Date Filed
    July 26, 2019
    5 years ago
  • Date Published
    January 30, 2020
    4 years ago
Abstract
Systems and methods for autonomously herding birds in accordance with embodiments of the invention are illustrated. One embodiment includes an autonomous flock herding system, including a bird location sensor, a drone; and a control system, including a processor, and a memory, the memory containing a flock herding application, where the application directs the processor to obtain bird position data from the at least one bird location sensor, where the bird position data describes the location of birds in a flock of birds, determine if the flock of birds will enter a protected zone, generate a set of waypoints using a flock dynamics model, instruct the unmanned aerial vehicle to navigate to at least one waypoint in the set of waypoints such that the flock of birds will, in response to the presence of the unmanned aerial vehicle at the at least one waypoint, change trajectory away from the protected zone.
Description
FIELD OF THE INVENTION

The present invention generally relates to the herding of avians using unmanned aerial vehicles (UAVs, or colloquially “Drones”), and namely systems and methods for modifying flight path while maintaining flock integrity.


BACKGROUND

Unmanned Aerial Vehicles (UAVs), also referred to as “Drones” are autonomous robotic vehicles capable of flight. One of the most common UAV designs is the quadcopter, a four-rotor device capable of immediate movement in each of the three axes. However, there are many fixed-wing UAV designs as well.


Sharing the skies, many avian species travel in flocks. Flocks can be made up of any number of birds, from two to tens of thousands, depending on the species. Mixed flocks can also form from birds of two or more species. Flock movements, such as their flight paths and formations, are highly complex and dependent upon many factors.


SUMMARY OF THE INVENTION

Systems and methods for autonomously herding birds in accordance with embodiments of the invention are illustrated. One embodiment includes an autonomous bird flock herding system, including at least one bird location sensor, an unmanned aerial vehicle; and a flock herding control system, including a processor, and a memory, the memory containing a flock herding application, where the flock herding application directs the processor to obtain bird position data from the at least one bird location sensor, where the bird position data describes the location of birds in a flock of birds, determine if the flock of birds will enter a protected zone, generate a set of waypoints using a flock dynamics model, instruct the unmanned aerial vehicle to navigate to at least one waypoint in the set of waypoints such that the flock of birds will, in response to the presence of the unnamed aerial vehicle at the at least one waypoint, change trajectory away from the protected zone.


In another embodiment, in response to the presence of the unmanned aerial vehicle, the flock maintains integrity.


In a further embodiment, the protected zone is a cylinder.


In still another embodiment, the protected zone is over an airport.


In a still further embodiment, the at least one bird location sensor is an avian radar.


In yet another embodiment the system includes at least one environmental sensor, and the flock herding application further directs the processor to obtain environment data describing environmental conditions proximal to the protected zone from the at least one environmental sensor, and generate the set of waypoints using the environment data.


In a yet further embodiment, the environment data describes the position of airplanes.


In another additional embodiment, the environment data describes wind speed.


In a further additional embodiment, the flock herding application further directs the processor to obtain updated bird position data, and update the set of waypoints based on the updated bird position data.


In another embodiment again, the system includes a second unmanned aerial vehicle, and wherein the flock herding application further directs the processor to generate a second set of waypoints using the flock dynamics model, and instruct the second unmanned aerial vehicle to navigate to a given at least one waypoint in the second set of waypoints such that the flock of birds will, in response to the presence of the second unmanned aerial vehicle at the given at least one waypoint, change trajectory away from the protected zone.


In still yet another embodiment, in response to the presence of the unmanned aerial vehicle, the flock maintains integrity.


In a still yet further embodiment, the protected zone is a cylinder.


In still another additional embodiment, the protected zone is over an airport.


In a still further additional embodiment, the at least one bird location sensor is an avian radar.


In still another embodiment again, the method further includes obtaining, using the flock herding control system, environment data from at least one environmental sensor describing environmental conditions proximal to the protected zone from the at least one environmental sensor, and generating the set of waypoints using the environment data.


In a still further embodiment again, the environment data describes the position of airplanes.


In yet another additional embodiment, the environment data describes wind speed.


In a yet further additional embodiment, the method further includes obtaining, using the flock herding control system, updated bird position data, and updating, using the flock herding control system, the set of waypoints based on the updated bird position data.


In yet another embodiment again, the method further includes generating, using the flock herding control system, a second set of waypoints using the flock dynamics model, and instructing, using the flock herding control system, a second unmanned aerial vehicle to navigate to a given at least one waypoint in the second set of waypoints such that the flock of birds will, in response to the presence of the second unmanned aerial vehicle at the given at least one waypoint, change trajectory away from the protected zone.


Additional embodiments and features are set forth in part in the description that follows, and in part will become apparent to those skilled in the art upon examination of the specification or may be learned by the practice of the invention. A further understanding of the nature and advantages of the present invention may be realized by reference to the remaining portions of the specification and the drawings, which forms a part of this disclosure.





BRIEF DESCRIPTION OF THE DRAWINGS

The description and claims will be more fully understood with reference to the following figures and data graphs, which are presented as exemplary embodiments of the invention and should not be construed as a complete recitation of the scope of the invention.



FIG. 1 is a conceptual system diagram for a flock herding system in accordance with an embodiment of the invention.



FIG. 2 is a conceptual block diagram for a flock herding control system in accordance with an embodiment of the invention.



FIG. 3 is a high-level illustration of a flock herding system in action in accordance with an embodiment of the invention.



FIG. 4 is a flowchart illustrating a flock herding process in accordance with an embodiment of the invention.



FIG. 5 illustrates several important distance variables in the flocking model in accordance with an embodiment of the invention.



FIG. 6 illustrates a top view of two loci of candidate target points in accordance with an embodiment of the invention.



FIG. 7 illustrates a typical subgraph in a dense flock and a subgraph with two birds collinear with a pursuer in accordance with an embodiment of the invention.



FIG. 8 illustrates a model with a single edge and the pursuer in accordance with an embodiment of the invention.



FIG. 9 illustrates two canonical scenarios with different signs of qk in accordance with an embodiment of the invention.



FIG. 10 is psuedocode for the m-waypoint herding algorithm in accordance with an embodiment of the invention.



FIG. 11 is psuedocode for the selection of m-waypoints in accordance with an embodiment of the invention.



FIG. 12 illustrates one half of the cone outside which the herding should start in accordance with an embodiment of the invention.



FIG. 13 is a vector diagram illustrating push from the aft and from the front, respectively.



FIG. 14 is an example of flock motion in the presence of a pursuer and without a pursuer in accordance with an embodiment of the invention.





DETAILED DESCRIPTION

Turning now to the drawings, systems and methods for avian flight path modification using UAVs are illustrated. Flocks of birds are a common sight, and their dynamic movements are highly choreographed. The nature of these movements both in formation and flight path are complex and take place at high speeds. Unfortunately, there are many situations where the presence of birds are highly problematic to human activities and infrastructure. For example, in the case of US Airways Flight 1549, colloquially referred to as the “Miracle on the Hudson,” the airplane on ascent after takeoff struck a flock of geese and was forced to ditch into the Hudson river. While keeping the skies clear over a small area has been traditionally handled by trained birds of prey, for example the famous Harris's Hawks of Wimbledon, this solution is not easily scaleable nor feasible in many situations.


Drones, however, as opposed to biological solutions, are mass-producible, highly controllable, and can be stored long-term in many different conditions with considerably less maintenance. While there have been some attempts to utilize drones to scare away birds from airports (for example RoBird of the Netherlands), these systems are often remote controlled and designed to scare birds away. Both of these factors can cause significant issues, as both the ineffectiveness of human piloting and unrefined scare tactics can lead to flocks of birds to split up, which simply causes more problems in the form of multiple sub-flocks which must now be controlled. In turn, this requires additional UAVs or other interdiction methods (e.g. air cannons, lasers, biological solutions, etc.) which escalate cost and increase the likelihood of strikes.


In contrast to the conventional “scare-tactics” which can split flocks, systems and methods described herein can mitigate these issues by utilizing autonomous drones to manipulate the movements of flocks of birds to guide them outside of a predefined geographic region without disrupting the flock unit. This process is referred to as “herding,” because the flock is left intact. In many embodiments, multiple drones acting in accordance with methods described herein can work in tandem to herd a single flock, or to herd multiple flocks at once. Autonomous drones with appropriate sensing platforms can be pre-loaded with control software and deployed to safely remove birds in any number of scenarios not limited to airports. However, for ease of description, airports will be discussed in greater detail, and one of ordinary skill in the art would understand that the systems and methods described herein could easily be deployed in alternative scenarios and locations.


In order to maintain flock integrity, in many embodiments, herding processes include real-time modeling of a flock and the expected response of the flock to external pursuers. In many embodiments, a number of waypoints are calculated for the drone to maneuver to in relation to the flock. The model of the flock dynamics can be used to generate waypoints that avoid flock fragmentation and/or reduce the amount of physical space that the flock occupies (e.g. promote tighter flying formations). In numerous embodiments, multiple drones can be utilized, each with their own set of waypoints collectively calculated to herd the flock. Flock herding systems are discussed in more detail below.


Flock Herding Systems

Flock herding systems are systems which prevent flocks of birds from entering a pre-defined geographical region, or a “protected zone.” In many embodiments, a protected zone includes the airspace above a particular region. As mentioned above, protected zones can be any number of different regions, and are not defined by any particular geographic feature. Drones can be utilized either alone or in tandem to keep birds out of the protected zone. In many embodiments, drones have sensors to enable them to at least detect birds and/or other drones. However, in numerous embodiments, external sensors and/or sensor arrays are utilized to track bird movements.


Turning now to FIG. 1, a flock herding system in accordance with an embodiment of the invention is illustrated. Flock herding system 100 includes a drone 110 and a flock herding control system 120. In many embodiments, drones are quadcopters, however, any number of different drone platforms can be utilized, including, but not limited to, those that mimic birds of prey, fixed wing unmanned craft, single or other multi-rotor craft, and or any other UAV as appropriate to the requirements of specific applications of embodiments of the invention. Flock herding control systems are computing platforms capable of ingesting bird position data and producing waypoints for drones to navigate to in order to remove flocks from a protected zone. In many embodiments, flock herding control systems are implemented on local computing platforms such as a server or personal computer. However, flock herding control systems can be implemented using cloud computing architecture and/or any number of different computing platforms as appropriate to the requirements of specific applications of embodiments of the invention.


Flock herding system 100 further includes a bird location sensor 130. In many embodiments, bird location sensors 130 are avian radars. However, bird location sensors can be any sensor platform capable of reporting the location of birds in a protected zone in at least near real-time. In numerous embodiments, flock herding systems include additional sensors for tracking other environmental objects or conditions (collectively “environmental sensors”). For example, if an airport is in a protected zone, additional environmental data can be produced regarding the position of nearby aircraft. Further, environmental conditions such as wind speed, humidity, temperature, cloud cover, time, date, and any other environmental information can be captured by sensors and provided to flock herding control systems for use in waypoint generation and/or other control functions.


Flock herding system 100 additionally includes an interface device 140. Interface devices are any device capable of enabling a user to communicate with a flock herding control system or a drone. In many embodiments, interface devices are personal computers, but can be any number of digital communication devices such as, but not limited to, smart phones, smart TVs, tablet computers, and/or any other digital communication device as appropriate to the requirements of specific applications of embodiments of the invention. Components of the flock herding system 100 communicate via a network 150. In many embodiments, the network is a composite network made of multiple different interconnected networks which can be implemented using the same or different communications protocols. For example, networks can be wired, wireless, or a combination thereof. For example, in some embodiments, flock herding control systems communicate with bird location sensors on a particular network, and the flock herding control system provides data to the drones via a separate network. One of ordinary skill in the art would appreciate that any different number of system architectures and/or communications architectures can be utilized as appropriate to the requirements of specific applications of embodiments of the invention, including, but not limited to, those that utilize different environmental sensors and/or different numbers of drones.


Turning now to FIG. 2, a conceptual block diagram of a flock herding control system in accordance with an embodiment of the invention is illustrated. Flock herding control system 200 includes a processor 210. Processors can be any number of logic processing circuitries including, but not limited to central processing units (CPUs), graphics processing units (GPUs), field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), and/or any other logic processing circuitry capable of computation. In many embodiments, more than one processor is utilized. Flock herding control system 200 further includes an input/output interface 220. Input/output interfaces enable communication to other parts of flock herding systems.


Flock herding control system 200 further includes a memory 230. Memories can be implemented using volatile memory, non-volatile memory, or a combination of both. Memory 230 contains a flock herding application 232. Flock herding applications instruct the processor to generate waypoints for drones to navigate to in order to herd flocks away from protected zones. In many embodiments, memory 230 further contains bird position data 234 and/or environment data 236. As noted above, bird position data describes the 3D coordinate location of birds in range of the protected zone, and environment data describes various environmental conditions.


In many embodiments, flock herding control systems are implemented on standard computing platforms. However, flock herding control systems can be integrated into drones so long as the drone platform has sufficient computing capabilities. As one can appreciate, any number of different implementations of system architectures and flock herding control systems can be utilized to generate waypoints that enable drones to successfully herd flocks away from a protected zone as appropriate to the requirements of specific applications of embodiments of the invention. Processes for generating waypoints are discussed below.


Generating Waypoints for Flock Herding

As noted above, a key problem with conventional bird dispersal techniques is the fracturing of flocks into individual birds and/or subflocks. This creates significant inefficiencies as the fractured units are dispersed over a wider area and then must each individually be dealt with. In contrast, processes described herein can generate waypoints that, which when navigated to by a drone, will herd a flock away from a protected zone without fracturing the flock. This leads can lead to an increase in efficiency at least by requiring fewer drones, quicker dispersal times, and more efficient use of resources generally.


By way of example, a high-level conceptual illustration of the effect of a flock herding process in accordance with an embodiment is illustrated in FIG. 3. In this case an airport is within a cylindrical protected zone with radius RPZ. However, protected zones are not required to be cylindrical, and be any number of shapes, for example, a sphere, a cube, a polyhedron, or a composite shape. When an flock on an intruding path is detected, a drone is dispatched to herd the flock away from the protected zone.


Turning now to FIG. 4, a high-level flowchart for a flock herding process in accordance with an embodiment of the invention is illustrated. Process 400 includes detecting (410) an intrusion. In many embodiments, the intrusion is determined when a flock enters a protected zone. However, intrusion can be determined when a flock is determined to be on a trajectory that will lead to the protected zone. In numerous embodiments, this is accomplished by having a zone outside the protected zone where flocks are tracked to determine if herding is necessary.


To accomplish successful herding, the “m-waypoint herding algorithm” has been developed. At a high level, a drone interacts with the intruding flock by positioning itself sequentially at a periodically refreshed set of m points. The inherent stability of the flocking dynamics are leveraged to prevent fragmentation, and the m points can be selected to maximize the deflection of the flock's flight path.


Turning now to FIG. 4, a particular implementation of a flock herding process utilizing the m-waypoint herding algorithm in accordance with an embodiment of the invention is illustrated. Process 400 further includes obtaining (420) flock position data. In numerous embodiments, the flock position data is obtained from the bird location sensor. Flock position data can described the location of individual birds, or the location of a flock as a whole. In many embodiments, individual bird locations can be aggregated into a single unit representing a flock. For example, by measuring proximity, speed, direction, and/or any other positioning measurement, birds flying in a coherent pattern and/or in proximity can be grouped. A waypoint is generated (430) and a drone is navigated (440) to the waypoint. If the flock is not yet out of the protected zone (450), then updated flock position data can be obtained and a new waypoint can be generated for the drone to navigate to until the flock has been successfully removed. In numerous embodiments, waypoints are generated as a sequential set instead of one at a time, and the drone navigates to each point in order. In a variety of embodiments, the set of waypoints is continuously updated. In many embodiments, multiple sets of waypoints can be generated for multiple drones to work in tandem to herd the same flock, and/or different flocks.


In order to generate the waypoints, an understanding of flock dynamics can be modeled from which the basis of the m-waypoint herding algorithm can be formulated. Consider a flock of n (usually >>1) birds. The position and the velocity of the ith bird are denoted by xicustom-character3 and vi custom-character3, respectively. The vector between the ith and jth birds is denoted by rij=xj−xi. The subscript ‘p’ is used for the pursuer, so that xp denotes its position vector, and rpi=xi−xp is the vector from the pursuer to the ith bird. Given a vector r, the unit vector along r is denoted by {circumflex over (r)}.


Let Rcom denote the communication range for interaction between two birds. The neighborhood set of the ith bird is defined using the standard Euclidean distance as,






custom-character
i
={j≤n:|∥x
i
−x
j
∥≤R
com}.  (1)


and it is assumed that two birds interact only if their distance is less than or equal to Rcom. The set of birds (ν) thus forms a graph G=(ν, ε) where





ν={1,2, . . . ,n},





ε={(i,j)∈ν×ν|j∈custom-charactercustom-characteri}, card(ε)=p  (2)


Note that if custom-character=custom-characteri for all i, the graph is undirected. Otherwise, it is directed. The incidence matrix of the graph is denoted as Bccustom-charactern×p. Recall that the (i,j)thb entry of Bc is 1 if the jth edge is incoming at i, −1 if outgoing at i, and 0 otherwise. An undirected edge is treated as two separate directed edges in this formulation of Bc. Δ(ν) denotes the diagonal matrix formed by the elements of the tuple ν. Finally, the centroid and the radius of the flock are defined as











x
cg

=


1
n






i
=
1

n



x
i




,


R
F



=
Δ




max
i






x
i

-

x
cg










(
3
)







A. Flock Dynamics

The dynamics of an individual (ith) bird are described by a nonlinear, second-order differential equation based on Reynolds' rules and augmented with an evasive response:
















x
.

i

=

v
i






(
4
)








v
.

i

=



k
s






j



i









(

1
-


R
safe
3





r
ij



3



)



r
ij




+


k
a






j



i








(


v
j

-

v
i


)



+


k
g



(


v
d

-

v
i


)


+


k
p



H


(

r
pi

)
















where Rsafe denotes the steady-state distance between two adjacent members of the flock; vd denotes the pre-selected, steady velocity of each member of the flock; and H(rpi)=H(xi−xp) denotes the evasive response to the pursuer. It is assumed that vd lies in the horizontal plane.



FIG. 5 summarizes important distance variables that appear in the model in accordance with an embodiment of the invention. The terms Rsafe and Rcom have been defined already. The terms Rfear and Ragg (<Rfear) refer to critical distances in the bird-pursuer interaction, and it is assumed that both of these quantities are known for a given flock. The flock responds to a pursuer only when the pursuer is within a radius Rfear of a member of the flock. Within Rfear, the evasive behaviour generally takes two different forms:

    • If the pursuer is within [Ragg, Rfear], the bird tries to accelerate radially away from the pursuer.
    • If the pursuer is within Ragg, the bird tries to out-maneuver the pursuer by turning and/or climbing rapidly.


Since the out-turning or 3-D behavior can have adverse implications for the stability of the flock, Ragg can be treated as a lower bound for the permissible distance between the pursuer and the flock. H(⋅) can be modeled as follows:










H


(

r
pi

)


=

{






r
pi





r
ij



3


,





if








r
pi




<


R
fear






and






r
pi
T




r
.

pi


<
0





0


otherwise








(
5
)







and a restriction that ∥rpi∥ Ragg+ϵ for all i, where ϵ>0 is an arbitrarily-chosen constant can be imposed.


B. Herding Objectives

As noted above, the protected zone (PZ) is the spatial volume that needs to be kept free of birds. For illustrative purposes, in this example, PZ is assumed to be cylindrical with radius RPZ. However, in many embodiments, the PZ can be other shapes. For modeling purposes, it can be assumed that birds fly along a constant, pre-selected heading, {circumflex over (v)}d, when not disturbed by a pursuer. This is in fact true, for instance, for flocks flying to migration grounds considerably far from PZ. It is clear that the pursuer only needs to move the flock to a point from which its flight path (along {circumflex over (v)}d) would no longer cross PZ. This target point is denoted as xdiv(t), noting that its exact position may change with time as described presently.


The global coordinate frame is defined with its origin placed at the centre of PZ, and its axes pointing north, east and up, respectively. Let h(t) denote the instantaneous altitude of the flock. First, two vertical lines (in the global frame) can be constructed which serve as loci for all possible target points. Recall that vd in (4) is the predetermined nominal flock velocity which satisfies {circumflex over (k)}Tvd=0 where {circumflex over (k)} is the unit vector pointing upwards in the global frame. Unit vector {circumflex over (v)}dis defined which satisfies vdt{circumflex over (v)}d={circumflex over (k)}T{circumflex over (v)}d=0. The two candidate loci are then given by lcand,±(a)=±(RPZ+s){circumflex over (v)}d+a{circumflex over (k)} where a∈custom-character, and s>RF is a suitably chosen constant. Rdivcustom-characterRPZ+s is denoted. Of these candidate loci, the one closest to xcg, at t=0 (the moment at which the herding commences) is selected, as illustrated in FIG. 6 in accordance with an embodiment of the invention. Finally, at each t, set the instantaneous target waypoint on the chosen locus as xdiv=(+/−)Rdiv{circumflex over (v)}d+h(t){circumflex over (k)}. If the two loci are equidistant from xcg, then any of the two loci can be chosen: however, this choice may persist for the remainder of the herding operation. This selection of herding target points is a logical extension from 2D to 3D when the herding algorithm does not seek to control the altitude of the flock. The objective of the herding algorithm is to prescribe a trajectory xp(t) for the pursuer which enables it to: (1) move the CG of the flock to xd, in finite time; (2) avoid fragmentation of the flock; and (3) keep the flock outside the protected zone PZ during the course of herding.


C. Stability Analysis

In order to avoid fracturing the flock, conditions for flock stability can be modeled. These conditions can be used to select the gains and the underlying graph in (4) for analytical investigation when sufficient empirical data is not available to determine these parameters. The resulting robustness of the flock implies that the pursuer is free to approach the flock from any direction. As long as it maintains a certain minimum distance between itself and the flock, the flock will not undergo fragmentation.


C.I. Snapshot Dynamics, Steady States, and Linearization

To model snapshot dynamics, steady states, and linearization, two column vectors x, v∈custom-character3n, formed by permuting the components of xi and vi, respectively, ∀i:






x=[x11, . . . ,xn1,x12, . . . ,xn2,x13, . . . ,xn3]T


are defined, and v is constructed in a similar manner. There exists a permutation matrix, denoted by P3ncustom-character3n×3n, such that







x
=


P

3





n




[




x
1






x
2











x
n




]



,


[




x
1






x
2











x
n




]

=


P

3





n


-
1



x






Ignoring the pursuer-dependent terms, the flocking dynamics (4) can be written as






{dot over (x)}=v






{dot over (v)}=−k
a(I3⊗DcBcT)v+kg(vd⊗1n−v)−ks(I3⊗DcQ(x)BcT)x  (6)


where Dc(i,j)=−1 if the jth edge is incoming at i, and Dc(i,j)=0 otherwise. Here, I3 the 3×3 identity matrix, while ⊗ denotes the Kronecker product. Dc can be replaced with Bc/2 if the graph is undirected. The matrix Q(x)∈custom-characterp×p is a diagonal matrix satisfying Q(j,j)=1−Rsafe3/∥ej3.


In order to analyze the stability of the flock, a change of coordinates can be made: {tilde over (x)}i(t)=xi(t)−vdt, {tilde over (v)}i(t)=vi(t)−vd. Since Q(x)=Q({tilde over (x)}), flocking dynamics can be written as





{tilde over ({dot over (x)})}={tilde over (v)}





{tilde over ({dot over (v)})}=−ks(I3⊗DcQ({tilde over (x)})BcT){tilde over (x)}−ka(I3ÐDcBcT){tilde over (v)}−kg{tilde over (v)}  (7)


This is a nonlinear, autonomous system whose equilibrium solutions are given by [{tilde over (x)}0, 1n⊗03], where {tilde over (x)}0 satisfies (I3⊗DcQ({tilde over (x)}0)BcT){tilde over (x)}0=0.


Given an equilibrium configuration {tilde over (x)}0, the family of equilibrium solutions obtained by rigid-body translation and rotation the flock are defined by






S({tilde over (x)}0)={{tilde over (x)}|{tilde over (x)}=b⊗1n+αP3n(In⊗J)P3n−1{tilde over (x)}0}  (8)


where b∈custom-character3, J∈ so (3), and α∈custom-character.


Let δ· denotes a small perturbation in the corresponding variable, and ei0 is the steady-state ith edge vector. Then, the linearization of (7) about an equilibrium point is given by












δ


x
.


=
δυ








δ


υ
.


=



-

3

R
2





(



I
3



D
c




Δ


(



e
1

0




δ






e
1


,





,


e
p

0




δ






e
p



)




B
c



)




x
~

0


-


(



k
a



(



I
3



D
c




B
c



)


+


k
g



I

3

n




)


δυ






These equations can be written compactly as








[




δ


x
.







δ


υ
.





]

=

G


[




δ





x





δυ



]



,




where the Jacobian G is given by










G
=

[




0

3

n





I

3

n








-

k
s



A




-
B




]


,




(
9
)







and










B
=



k
a



(



I
3



D
c




B
c



)


+


k
g



I

3

n












A





δ





x

=


3

R
2




(



I
3



D
c




Δ


(



e
1

0




δ






e
1


,





,


e
p

0




δ






e
p



)




B
c



)




x
~

0







(
10
)







C.II. Spectral Properties of A and G

In order to determine the spectral properties of A and G:


Lemma 1. The null space of A defined in (10) is a superset of eigenvectors which correspond to a rigid body translation and rotation of the flock; i.e.,






custom-character(A)⊇custom-character≙span([1,0,0]T⊗1n[0,1,0]T⊗1n,





[0,0,1]T⊗1n,P3n(In⊗J1)P3n−1{tilde over (x)}0,P3n(In⊗J2)P3n−1{tilde over (x)}0,






P
3n(In⊗J3)P3n−1{tilde over (x)}0)


where J1, J2, J3 form a basis for so (3).


Proof: It is evident from (10) that custom-character(A) is a superset of the vectors δx which satisfy (In⊗BcT)δx=0 or e0iTδei=0 ∀i={1, . . . , p}. The former condition implies that δx=k1[1, 0, 0]T⊗1n+k2[0, 1, 0]T⊗1n+k3[0, 0, 1]T⊗1n, where k1, k2, and k3 are arbitrary constants. The latter condition is satisfied by δxij=13k′jJjxi, for all constants k′j.


Assumption 1. The matrix A has exactly six eigenvalues which are equal to 0. Therefore, custom-characteru(A)=custom-character(A).


Assumption 1 is satisfied by connected undirected graphs and by strongly connected and balanced digraphs.


Assumption 2. The Jacobian C has the following properties:

    • 1. All eigenvalues of C have non-positive real parts.
    • 2. The algebraic and geometric multiplicities of the zero eigenvalue are equal to each other.
    • 3. The null space custom-character(G)=[nT, 01×3n]T, where n∈custom-character(A)=custom-characteru(A).


      Assumption 2 always holds for an undirected graph satisfying Assumption 1.


C.III. Stability Analysis

To perform the stability analysis, the center manifold theorem can be used to show that trajectories which start away from S({tilde over (x)}0), at least locally, converge to S({tilde over (x)}0) at an exponential rate. The proof proceeds in two steps. First, it is shown that there exists a center manifold when Assumption 2 is satisfied. It is noted that the set S({tilde over (x)}0) is also a center manifold. In the second step, the property that center manifolds are arbitrarily close to each other can be used to complete the proof.


Lemma 2. Suppose that the flocking dynamics satisfy Assumption 2. Then, for every steady state {tilde over (x)}0, there exists an invariant manifold εc ≙εc({tilde over (x)}0) such that any trajectory starting around εc converges at an exponential rate to εc.


Proof: From Assumption 2, it is known that the Jacobian G, evaluated at {tilde over (x)}0, has six zero eigenvalues and the other eigenvalues are negative. Thus, it follows that from the center manifold theorem that there exists a six-dimensional center manifold εc such that trajectories starting outside EC converge at an exponential rate to εc.


Theorem 1. The set S({tilde over (x)}0) is exponentially stable.


Proof: It is noted that S({tilde over (x)}0) is itself a center manifold of the dynamics. From Lemma 2, it is known that trajectories starting in a neighborhood of x0 converge at an exponential rate to the center manifold εc({tilde over (x)}0). Recall that any two center manifolds about an equilibrium point {tilde over (x)}0 differ by transcendentally small terms, and every equilibrium point in the vicinity of {tilde over (x)}0 lies on every center manifold εc({tilde over (x)}0). Thus, a trajectory starting in a neighborhood of {tilde over (x)}0 converges exponentially fast to S({tilde over (x)}0).


The discussion above shows that S({tilde over (x)}0) is exponentially stable, and therefore, robust to small perturbations. In the context of herding, this implies that, for every direction in relation to the flock (or its center), there exists a nontrivial set of pursuer positions for which the underlying graph of the flock is preserved. Below are analytical formulae for estimating a set of permissible pursuer positions based purely on local topological considerations.


In addition to stability, for the purpose of herding, it is useful to have the property of time-scale separation between the synchronization of the flocking dynamics to S({tilde over (x)}0) on the one hand, and the translational dynamics of the center of gravity of the flock (whose time constant, as shown in above, is 1/kg) on the other. This can be achieved by a suitable choice of ks and ka for a given graph topology.


D. Estimation of the Permissible Set of Pursuer Positions

The objective of this section is to derive approximations for the approach distance between a pursuer and the flock, based purely on the local interaction between the pursuer and the birds in a flock. This estimate supersedes the distance Ragg in FIG. 2 from the point of view of preserving the local topology of the flock, and is used in below to determine the feasible positions for the pursuer in relation to the flock.


The influence exerted by the pursuer can cause one of two effects in extreme circumstances. In one case, the pursuer can push a bird to within an unacceptable distance of its neighbor. This scenario is likely in dense flocks, as shown in FIG. 7. In the second case, the pursuer can cause the link between two neighbors to be broken by pushing them beyond their communication distance Rcom. This scenario, illustrated in FIG. 8, is generally more plausible in sparse flocks. The minimum permissible distance between two birds is written as c Rsafe, where c<1 is a constant that depends on the species of birds and the pursuer represented by the drone.


D.I. Maintaining Minimum Allowable Distance Between Neighbors

Consider the situation wherein a bird on the boundary of the flock (labeled ‘1’) is engaged by the pursuer. The bird tries to move away radially from the pursuer, and into the flock. In the worst case, the bird's evasive path points in the direction of a neighboring bird (‘2’) and there is force from other neighboring birds pulling ‘1’ away from ‘2.’ This is depicted in accordance with an embodiment of the invention in the dense flock of FIG. 7.


A conservative estimate for the minimum approach distance between the pursuer and the bird ‘1’ can be found from the local neighborhood of FIG. 7. This is a repelling, “outward-pointing” (with respect to the flock) force on ‘1’ due to ‘2’ is countered by the inward-pointing force on ‘1’ arising as a consequence of repulsion by the pursuer. Balancing these two forces when the distance between ‘1’ and ‘2’ is c Rsafe (thereby ensuring that the minimum approach distance is no less than Rsafe) gives the minimum approach distance ∥rp1min:











k
p





r

p





1




min
2


=



k
s







cR
safe



(

1
-


R
safe
3



(

c






R
safe


)

3



)













r

p





1




min



=




c
2



k
p




(

1
-

c
3


)



k
s



R
safe









(
11
)







D.III. Preserving Communication Between Neighboring Birds

In sparse flocks, it is commonplace to find a linear topology, involving two or three agents forming an angle or a straight line with no other common neighbors. Consider a single edge, as shown in FIG. 9 in accordance with an embodiment of the invention, involving just two birds, and assume that the pursuer approaches along the perpendicular bisector of the edge. If Rcom is the maximum permissible distance between two boundary agents for the underlying graph to be preserved, the following condition for the minimum permissible ∥rp1∥ is obtained












k
p





r

p





1




2


×


R
com


2




r

p





1







=




k
s



(

1
-


R
safe
3


R
com
3



)





R
com










r

p





1




min



=


(


k
p


2



k
s



(

1
-


R
safe
3


R
com
3



)




)


1
/
3







(
12
)







Below, example estimates for ∥rp1min are used as part of the motion planning strategy for the pursuer.


Definition 1. Define a set Xp of permissible pursuer positions in relation to the flock as:











χ
p

=

{


x
p

|


R
min




min

i

V







x
p

-

x
i







R
fear



}


,




(
13
)







where Rmin is the maximum of Ragg and either (11) or (12) depending on the topology of the flock.


E. The M-Waypoint Herding Algorithm

The above established conditions for stability and robustness of the flock, and derived approximations for the approach distance between the flock and the pursuer. In this section, the problem of herding flocks without fracturing them is solved using waypoints generated by modeling the ensemble behavior of the flock. A version of the m-waypoint herding algorithm in accordance with an embodiment of the invention is illustrated in FIG. 10. A set of objectives that the pursuer's trajectory, xp(t), must satisfy in order herd the flock successfully are provided below. The m-waypoint algorithm is then obtained as an approximate, but efficient, solution to the problem of ensuring that xp(t) meets these objectives.


E.I. Formulation of the Herding Problem

The coordinates of the flock's centroid and its velocity are given by








x
cg

=


1
n






i
=
1

n



x
i




,


υ
cg

=


1
n






i
=
1

n




υ
i

.








Using (4) and (5), obtain












x
.

cg

=

υ
cg










υ
.

cg

=



k
g



(


υ
d

-

υ
cg


)


+


F
p



(

x
p

)


+

f


(

x
,
υ

)












F
p



(

x
p

)




=
Δ





k
p

n






i



p





H


(

r
pi

)













x
.

p

=

u
p






(
14
)







where custom-character denotes the subset of the flock that lies within Rfear of the pursuer; the pursuer's velocity, up, is a control variable for the herding algorithm. The term f(x,v) in zero when the graph is undirected (since 1nTBc=0) or if it has synchronized to a steady state configuration. This would occur naturally when the flock synchronizes on a faster time scale than the dynamics of its CG. Since the goal is for the flock to point in the direction of the herding target point, it suffices to ensure that its velocity normal to an axis pointing towards xdiv is driven to zero. Define






r
dc(t)≙xdiv(t)−xcg(t),q≙rdc×vcg  (15)


Recall that {circumflex over (k)}Txdiv(t)={circumflex over (k)}Txcg(t)=h(t) (the altitude of the flock). Since xdiv(t) lies on a fixed vertical line for all t, then {circumflex over (k)}×{dot over (x)}div(t)=0. Since {dot over (r)}dc(t)={dot over (x)}div(t)−vcg(t), the following expression is obtained for the dynamics of q:






{dot over (q)}=r
dc
×{dot over (v)}
cg
+{dot over (x)}
div
×v
cg





=−kgq+kg(rdc×vd)+rdc×Fp(xp)+rdc×f(x,v)+{dot over (x)}div×vcg


Next, define qk ≙{circumflex over (k)}Tq. Note that {circumflex over (k)}T({dot over (x)}div×vcg)=vcgT({circumflex over (k)}×{dot over (x)}div)=0. Thus, the dynamics of qk are given by






{dot over (q)}
k
+k
g
q
k
={circumflex over (k)}
T(rdc×(kgvd+f(x,v))+rdc×Fp(xp))  (16)


Denote the amount of deviation that can be produced by placing the pursuer at xp using the right hand-side of (16):





ρ(xp)≙{circumflex over (k)}T(rdc×(kgvd+f(x,v))+rdc×Fp(xp))  (17)


If ρ(xp)=0 for all t, then it is possible to deduce from (16) that qk→0 and the CG of the flock moves in a straight line (represented as a solid line in FIG. 9 in accordance with an embodiment of the invention) towards xdiv (from the definition of qk). Further, note that the distance and the time required for herding could be reduced, as compared to moving the flock along the solid line, by pushing it rapidly towards the dashed line passing through xdiv in FIG. 9. The dashed line is parallel to vd, and once the flock's CG reaches it, the herding algorithm can safely terminate. This requires that qk≥0 uniformly (or qk≤0 uniformly, depending on the choice of xdiv) during the course of herding. Without loss of generality, it can be assumed that xdiv is chosen such that sign({circumflex over (k)}T(vd×rdc))>0 while commencing herding and set the control objective to maximizing ρ(xp)≥0 while sign({circumflex over (k)}T(vd×rdc))>0 (see FIG. 9).


E.II. Calculating m Waypoints

A solution to the aforementioned control problem is to compute the trajectory of xp(t) which maximizes ρ(xp), and get the pursuer to track it. It is known that a flock tends to deform into a concave shape locally under persistent pressure from a pursuer, which is known to dent the effectiveness of the pursuit. Furthermore, over-stressing one or more birds continuously over an extended period of time carries the risk of the distressed birds attempting aggressive evasive maneuvers and fragmenting the flock. To avoid these problems, a sub-optimal approach can be employed wherein the flock is engaged through different waypoints in a given timefranme.


The waypoints are chosen by sampling the set Xp from Definition 1. Sampling is preferred to statically defined waypoints because it allows the algorithm to be agnostic to the exact geometry of the flock. This is useful when the flock is not necessarily best represented as a convex shape; for instance, star-shaped flocks and flocks with a curvilinear geometry. The set of m waypoints can be formally identified as follows.


Definition 2. The set Xpm is defined by construction. The waypoint selection algorithm, illustrated in accordance with an embodiment of the invention in FIG. 11, samples Xp uniformly. Next, up to m waypoints with the highest deviation are identified such that no two waypoints are within a prescribed distance, denoted δw, of each other. These waypoints constitute the set Xpm.


Even for a convex shaped flock, the set Xpm need not be connected. This enables the use of random sampling for construction.


F. Motion Planning for the Pursuer

The motion planner solves for the pursuer's velocity up(t) by commanding one of two motions, as follows.

    • 1. FLY: the pursuer takes the fastest path to the commanded node. Collision avoidance is achieved using artificial potential fields, an alternative to which is a real-time, online motion planner.
    • 2. ENGAGE: using a virtual leader-based approach, the pursuer commands up(t) to maintain its position at the chosen waypoint in relation to the flock's centroid for a pre-determined duration τe. The engagement is terminated if the distance between two neighboring birds in custom-characterp approaches the communication radius, Rcom.


G. Tuning the Herding Algorithm

In order to promote successful herding, a condition is derived in the form of the minimum allowable distance from the protected zone at which the herding must begin. If the herding commences beyond this distance, it will succeed with an elevated likelihood. Assume that f(x, v)=0; i.e., the underlying graph is undirected or the flock has synchronized to a steady state.


To begin, ignore the dynamics of the pursuer, and recall that the control objective is to maximize ρ(xp)≥0. Consider the conservative case ρ(xp)=0 for all t during the course of herding. This case is limiting in that the distance at which the herding needs to be commenced can be lesser when larger values of ρ(xp) are attainable.


In order to achieve ρ(xp)=0, set xp=xp* where Fp(xp*)=−kg({circumflex over (k)}T({circumflex over (r)}dc×vd))({circumflex over (k)}×{circumflex over (r)}dc). Since {circumflex over (r)}dc=rdc/∥rdc∥, and vd lie in the horizontal plane, it follows that ∥Fp∥=kg∥{circumflex over (r)}dc×vd∥. Let ρF denote the upper bound on ∥Fp∥, which is known. It is clear then that the flock should be made to satisfy ∥{circumflex over (r)}dc×vd∥<ρF/kg ∀t, which, in turn, means that the flock must be kept outside the cone shown in FIG. 12. This is an important insight: it shows that the herding is successful only if it begins when the horizontal distance between the centre of the flock and the center of PZ is greater than or equal to











D

p
,
min




=
Δ




R
div


tan






θ
max




,


θ
max

=


sin

-
1




(


ρ
F



k
g





υ
d





)



,




(
18
)







where Rdiv was defined above.


While the solution xp* appears to solve the problem in principle, there is the possibility that the trajectory xp* may not be feasible. Furthermore, the motion planning algorithm adopted here requires that the pursuer engage with an entire “front” of the flock rather than specific individual birds. In particular, it means that the engagement between the pursuer and the flock takes place in pulses. Processes described herein can be refactored in light of this pulsed interaction.


Let τe denote the duration of any given engagement between the pursuer and the flock, and let τf denote the time taken by the bird to fly between two waypoints. During the time τf, the flock receives no external stimulus and its velocity tends to align to vd. Assuming that an engagement begins at time t0, the dynamics of the flock in the time interval [t0, t0ef] can be described via the switching dynamics












υ
.

cg

+


k
g



υ
cg



=

{






k
g



υ
d






,




t


[


t
0

,


t
0

+

τ
e



)









k
g



υ
d


,




t


[



t
0

+

τ
e


,


t
0

+

τ
e

+

τ
f



)










(
19
)







where vd=vd+Fp/kg (see FIG. 13 as an example in accordance with an embodiment of the invention). When xp=xp*, vd is along rdc at every instant in time, which is why the superscript ∥ is used here. Assume that the flock switches instantaneously between two states. During the engagement phase, the flock moves at an angle θ to the original direction coinciding with vd. When the pursuer does not engage the flock, it moves along vd. This is depicted in FIG. 14 in accordance with an embodiment of the invention.


The terms ∥vd∥ and θ can be be estimated empirically since the precise interaction between the flock and the pursuer is highly case-specific. The magnitude of vd depends on whether the flock is driven from the front or from the rear. Since the intent is for the net motion to be perpendicular vd, it is reasonable to assume that the average force also acts perpendicular to vd. Thus,










v
d







=






υ
d



2

+





F
p



2


k
g
2





,

θ
=


cos

-
1




(




υ
d



/



υ
d








)







Consequently,


Theorem 2. Given the approximate values of ∥vd∥ and θ, the refined value of Dp,min is given by







D

p
,
min


=


R
div






cot






θ


(

1
+


τ
f


τ
e



)







Proof Let ns denote the number of engagement pulses. From FIG. 14, it is apparent that there can be at most ns pulses wherein the flock is not engaged with the pursuer. During each engagement pulse, referring to the geometric convention of FIG. 14, the flock shifts through a distance ∥vd∥ τe sin θ. Thus,







n
s

=


R
div





υ
d









τ
e






sin





θ






Furthermore, during each engagement phase, the flock translates horizontally through a distance ∥vd∥ τe cos θ. During the non-engagement phase, the horizontally translation is at moat ∥vd∥τf. Thus, the minimum horizontal translation is given by











D

p
,
min


=


n
s



(





υ
d





τ
f


+




υ
d









τ
e


cos





θ


)








=


R
div



(






υ
d






υ
d











τ
f


τ
e




1

sin





θ



+

cot





θ


)











Setting cos θ=∥vd∥/∥vd∥ yields Dp,min=Rdiv cot θ (1+τfe). Notice that (18) is recovered if when τf=0 and θ=θmax. This completes the proof. Using the above, flock flight dynamics can be modeled and effective waypoints can be generated.


Although the present invention has been described in certain specific aspects, many additional modifications and variations would be apparent to those skilled in the art. It is therefore to be understood that the present invention can be practiced otherwise than specifically described without departing from the scope and spirit of the present invention. Thus, embodiments of the present invention should be considered in all respects as illustrative and not restrictive. Accordingly, the scope of the invention should be determined not by the embodiments illustrated, but by the appended claims and their equivalents.

Claims
  • 1. An autonomous bird flock herding system, comprising: at least one bird location sensoran unmanned aerial vehicle; anda flock herding control system, comprising: a processor; anda memory, the memory containing a flock herding application, where the flock herding application directs the processor to: obtain bird position data from the at least one bird location sensor, where the bird position data describes the location of birds in a flock of birds;determine if the flock of birds will enter a protected zone;generate a set of waypoints using a flock dynamics model;instruct the unmanned aerial vehicle to navigate to at least one waypoint in the set of waypoints such that the flock of birds will, in response to the presence of the unmanned aerial vehicle at the at least one waypoint, change trajectory away from the protected zone.
  • 2. The autonomous bird flock herding system of claim 1, wherein in response to the presence of the unmanned aerial vehicle, the flock maintains integrity.
  • 3. The autonomous bird flock herding system of claim 1, wherein the protected zone is a cylinder.
  • 4. The autonomous bird flock herding system of claim 1, wherein the protected zone is over an airport.
  • 5. The autonomous bird flock herding system of claim 1, wherein the at least one bird location sensor is an avian radar.
  • 6. The autonomous bird flock herding system of claim 1, further comprising at least one environmental sensor; and the flock herding application further directs the processor to: obtain environment data describing environmental conditions proximal to the protected zone from the at least one environmental sensor; andgenerate the set of waypoints using the environment data.
  • 7. The autonomous bird flock herding system of claim 6, wherein the environment data describes the position of airplanes.
  • 8. The autonomous bird flock herding system of claim 6, wherein the environment data describes wind speed.
  • 9. The autonomous bird flock herding system of claim 1, wherein the flock herding application further directs the processor to: obtain updated bird position data; andupdate the set of waypoints based on the updated bird position data.
  • 10. The autonomous bird flock herding system of claim 1, further comprising: a second unmanned aerial vehicle; andwherein the flock herding application further directs the processor to: generate a second set of waypoints using the flock dynamics model; andinstruct the second unmanned aerial vehicle to navigate to a given at least one waypoint in the second set of waypoints such that the flock of birds will, in response to the presence of the second unmanned aerial vehicle at the given at least one waypoint, change trajectory away from the protected zone.
  • 11. A method for the autonomous herding of flocks of birds comprising: obtaining, using a flock herding control system, bird position data from at least one bird location sensor, where the bird position data describes the location of birds in a flock of birds;determining, using the flock herding control system, if the flock of birds will enter a protected zone;generating, using the flock herding control system, a set of waypoints using a flock dynamics model; andinstructing, using the flock herding control system, an unmanned aerial vehicle to navigate to at least one waypoint in the set of waypoints such that the flock of birds will, in response to the presence of the unmanned aerial vehicle at the at least one waypoint, change trajectory away from the protected zone.
  • 12. The method for the autonomous herding of flocks of birds of claim 11, wherein in response to the presence of the unmanned aerial vehicle, the flock maintains integrity.
  • 13. The method for the autonomous herding of flocks of birds of claim 11, wherein the protected zone is a cylinder.
  • 14. The method for the autonomous herding of flocks of birds of claim 11, wherein the protected zone is over an airport.
  • 15. The method for the autonomous herding of flocks of birds of claim 11, wherein the at least one bird location sensor is an avian radar.
  • 16. The method for the autonomous herding of flocks of birds of claim 11, further comprising obtaining, using the flock herding control system, environment data from at least one environmental sensor describing environmental conditions proximal to the protected zone from the at least one environmental sensor; andgenerating the set of waypoints using the environment data.
  • 17. The method for the autonomous herding of flocks of birds of claim 16, wherein the environment data describes the position of airplanes.
  • 18. The method for the autonomous herding of flocks of birds of claim 16, wherein the environment data describes wind speed.
  • 19. The method for the autonomous herding of flocks of birds of claim 16, further comprising: obtaining, using the flock herding control system, updated bird position data; andupdating, using the flock herding control system, the set of waypoints based on the updated bird position data.
  • 20. The method for the autonomous herding of flocks of birds of claim 16, further comprising: generating, using the flock herding control system, a second set of waypoints using the flock dynamics model; andinstructing, using the flock herding control system, a second unmanned aerial vehicle to navigate to a given at least one waypoint in the second set of waypoints such that the flock of birds will, in response to the presence of the second unmanned aerial vehicle at the given at least one waypoint, change trajectory away from the protected zone.
CROSS-REFERENCE TO RELATED APPLICATIONS

The present invention claims priority to U.S. Provisional Patent Application Ser. No. 62/703,759 entitled “Robotic Herding of a Flock of Birds using an Unmanned Aerial Vehicle” to Chung et al., filed Jul. 26, 2018, the disclosure of which is herein incorporated by reference in its entirety.

GOVERNMENT LICENSE RIGHTS

This invention was made with government support under Grant No(s). IIS1253758 and IIS1664186 awarded by the National Science Foundation. The government has certain rights in the invention.

Provisional Applications (1)
Number Date Country
62703759 Jul 2018 US