Tracking moving targets
The optimization method for UAVs allocates target tracking assignments based on coverage footprint proximity, addressing gaps in tracking non-stationary targets and reducing operational costs by minimizing UAV travel, ensuring efficient and cost-effective surveillance.
Patent Information
- Application Number
- PCT/US2025/039902
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-08-02
- Filing Date
- 2025-07-30
- Publication Date
- 2026-02-05
AI Technical Summary
Existing systems face challenges in efficiently tracking multiple non-stationary targets using unmanned aerial vehicles (UAVs) due to targets moving out of the coverage area, leading to gaps in surveillance and increased operational costs.
An optimization method for allocating target tracking assignments among UAVs based on proximity of coverage footprints to targets, minimizing travel distance and ensuring continuous tracking by constraining UAV movement within a cylindrical space, using clustering and non-linear optimization techniques.
Ensures continuous tracking of multiple non-stationary targets with minimal energy consumption and reduced operational costs by optimizing UAV movement and assignment based on coverage footprint proximity.
Smart Images

Figure US2025039902_05022026_PF_FP_ABST
Abstract
Description
TRACKING MOVING TARGETSSTATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
[0001] This invention was made with government support under grant no. W911NF-23-2-0014 awarded by the Army Research Laboratory. The government has certain rights in the invention.TECHNICAL FIELD
[0002] The present disclosure relates generally to autonomous target tracking and more particularly, but not by way of limitation, to tracking moving targets from aerial vehicles.BACKGROUND
[0003] This section provides background information to facilitate a better understanding of the various aspects of the disclosure and is not an admission of prior art.
[0004] Aerial vehicles such as, for example, unmanned aerial vehicles (UAVs) can be used for performing surveillance, reconnaissance, and exploration tasks for military and civilian applications. These tasks may involve following or tracking moving targets which may either be ground-based, air-based or sea-based from the UAVs for purposes of, for example, border security, perimeter protection, wildlife monitoring, law enforcement, military operations or general-purpose surveillance. Typically, UAVs carry a pay load configured to perform a specific function such as, for example, capturing images, live video or the like which helps in tracking the moving targets.SUMMARY
[0005] An example method for target tracking includes determining optimal goal positions for each of a plurality of unmanned aerial vehicles (UAVs) to track a plurality of targets, wherein theoptimal goal positions correspond to a stalling estimation of a placement of the plurality of UAVs to track the plurality of targets, creating a list of untracked targets from the plurality of targets based upon the optimal goal positions of the plurality of UAVs and determining if the list is empty. Responsive to a determination that the list is empty, moving the plurality of UAVs to the optimal goal positions, wherein an empty list is an indication that all the plurality of targets are being tracked.[00061 An example system for target tracking includes a plurality of unmanned aerial vehicles (UAVs) configured to track a plurality of targets, wherein the plurality of targets are non- stationary, and a control terminal configured to communicate with the plurality of UAVs, the control terminal comprising at least one processor. The at least one processor is configured to determine optimal goal positions for each of the plurality of UAVs to track the plurality of targets, wherein the optimal goal positions correspond to a starting estimation of a placement of the plurality of UAVs to track the plurality of targets, create a list of untracked targets from the plurality of targets based upon the optimal goal positions of the plurality of UAVs and determine if the list is empty. Responsive to a determination that the list is empty, move the plurality of UAVs to the optimal goal positions, wherein an empty list is an indication that all the plurality of targets are being tracked.
[0007] This summary is provided to introduce a selection of concepts that are further described below in the detailed description. This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used as an aid in limiting the scope of claimed subject matter.BRIEF DESCRIPTION OF THE DRAWINGS
[0008] The disclosure is best understood from the following detailed description when read with the accompanying figures. It is emphasized that, in accordance with standard practice in the industry, various features are not drawn to scale. In fact, the dimensions of various features may be arbitrarily increased or reduced for clarity of discussion. As will be understood by those skilled in the ait with the benefit of this disclosure, elements and arrangements of the various figures can be used together and in configurations not specifically illustrated without departing from the scope of this disclosure.
[0009] Figure 1 illustrates a target tracking system according to one or more aspects of the disclosure.
[0010] Figure 2A illustrates a target tracking system using multiple UAVs to track multiple moving targets at a first-time instance according to one or more aspects of the disclosure.
[0011] Figure 2B illustrates a target tracking system using multiple UAVs to track multiple moving targets at a subsequent instance according to one or more aspects of the disclosure.
[0012] Figure 2C illustrates a cylindrical space within which each UAV is permitted to travel at a time instance according to one or more aspects of the disclosure.
[0013] Figure 3 is a flow diagram illustrating an exemplary target tracking process according to one or more aspects of the disclosure.DETAILED DESCRIPTION
[0014] It is to be understood that the following disclosure provides many different embodiments, or examples, for implementing different features of various illustrative embodiments. Specific examples of components and arrangements are described below to simplify the disclosure. These are, of course, merely examples and are not intended to be limiting. For example, a figure may illustrate an exemplary embodiment with multiple features or combinations of features that are not required in one or more other embodiments and thus a figure may disclose one or more embodiments that have fewer features or a different combination of features than the illustrated embodiment. Embodiments may include some but not all the features illustrated in a figure and some embodiments may combine features illustrated in one figure with features illustrated in another figure. Therefore, combinations of features disclosed in the following detailed description may not be necessary to practice the teachings in the broadest sense and are instead merely to describe particularly representative examples. In addition, the disclosure may repeat reference numerals and / or letters in the various examples. This repetition is for the purpose of simplicity and clarity and does not itself dictate a relationship between the various embodiments and / or configurations discussed.
[0015] FIG. 1 illustrates an exemplary target tracking system 100. The target tracking system 100 includes an unmanned aerial vehicle (UAV) 102 and a control terminal 103. For illustrative purposes, the UAV 102 is illustrated as, for example, a drone. The target tracking system 100 may be used to track one or more targets 104. In some embodiments, the UAV 102 can include a carrier 106 and a pay load 108. The carrier 106 may permit the pay load 108 to move relative to the UAV 102. For instance, the carrier 106 may permit the payload 108 to rotate aroundone, two, three, or more axes. Alternatively, the carrier 106 may permit the payload 108 to move linearly along one, two, three, or more axes. The axes for the rotational or translational movement may or may not be orthogonal to each other. In some embodiments, the pay load 108 may be rigidly coupled to the UAV 102 such that the payload 108 remains substantially stationary relative to the UAV 102. For example, the carrier 106 that connects the UAV 102 and the payload 108 may not permit the payload 108 to move relative to the UAV 102. Alternatively, the payload 108 may be coupled directly to the UAV 102 without requiring the carrier 106.
[0016] In some embodiments, the payload 108 may include at least one sensor for surveying or tracking the one or more targets 104. The payload 108 may be, for example, an image capturing device or imaging device (e.g., camera, infrared imaging device, ultraviolet imaging device, or the like) to track the one or more targets 104 within an angular field of view (FOV) 107 of the payload 108. FOV is defined as an observable area within viewing angle (0) captured via the payload 108. In the embodiment illustrated in FIG. 1, the payload 108 comprises a circular FOV. An area beneath the payload 108 that is captured in an image by the payload 108 is referred to as “a coverage footprint” 112. The coverage footprint 112 varies based on, for example, the viewing angle (0) and altitude of the UAV 102. For example, as the altitude of the UAV 102 increases, the viewing angle (6) increases resulting in a larger coverage footprint 112. However, operating the UAV 102 at higher altitudes, results in lower resolution images captured by the payload 108. Any object that is within the coverage footprint 112 is continuously tracked by the UAV 102. In various embodiments, the one or more targets 104 being tracked by the UAV 102 may include natural or man-made objects or structures such as geographical landscapes (e.g., mountains, vegetation, valleys, lakes, or rivers), buildings, vehicles (e.g., aircrafts, ships, cars, trucks, buses, vans, ormotorcycle). The one or more targets 104 may also include live subjects such as, for example, humans, animals, or the like. The one or more targets 104 may be moving or stationary.
[0017] In an exemplary embodiment, the UAV 102 and the control terminal 103 are configured to communicate with one another. In an exemplary embodiment, the control terminal 103 includes at least one processor 114, memory, 115 and a user interface 116, such as a display. One skilled in the ail will also understand that the control terminal 103 disclosed herein includes other components that are typically included in such devices including, for example, a power supply, a communications interface 105, and the like. In an embodiment, the communications interface 105 communicates via a wireless protocol such as, for example, WiFi®, Bluetooth®, or the like. The control terminal 103 is configured to provide control data which is received by the UAV 102. The control data can be used to control, directly or indirectly, aspects of the UAV 102. In some embodiments, the control data can include navigation commands for controlling navigational parameters such as, for example, position, speed, orientation, attitude, or the like of the UAV 102. The control data can be used to control flight of the UAV 102. The control data may affect operation of one or more propulsion units 110 that may affect the flight of the UAV 102. In other cases, the control data can include commands for controlling individual components of the UAV 102. Additionally, the control data may be used to adjust one or more operational parameters for the pay load 108 such as, for example, taking still or moving pictures, zooming in or out, turning on or off, switching imaging modes, change image resolution, changing focus, changing depth of field, changing exposure time, changing speed of lens, changing viewing angle (6), FOV, or the like. In an embodiment, the control terminal 103 can be located at a location remote from the UAV 102 and can be disposed on or affixed to a support platform. Alternatively, the controlterminal 103 can be a handheld or wearable device. For example, the control terminal 103 can include a smartphone, tablet, laptop, computer, or the like.
[0018] FIG. 2A illustrates an exemplary target tracking system 200 at a first-time instance (ti). FIG. 2B illustrates an exemplary target tracking system 200 at a subsequent time instance (ti+n) which may be a predetermined amount of time that has elapsed since ti such as, for example, 5 seconds, 10 seconds, 20 seconds, 30 seconds, or the like. For illustrative purposes, FIGS. 2A-2B will be described herein relative to FIG. 1. The target tracking 200 system is similar to the target tracking system 100; however, the target tracking system 200 utilizes a plurality of UAV’s 202(1)- 202(10) to track a plurality of targets 204(l)-204(25). For illustrative purposes, the plurality of UAV’s 202(l)-202(10) are illustrated as, for example, drones. In particular, the target tracking system 200 includes ten UAVs 202(l)-202(10) that are configured to track twenty-five targets 204(l)-204(25). As discussed above with respect to FIG. 1, each UAV 202(l)-202(10) can include a carrier 206(1 )-206(10) and apayload 208(l)-208(10). Alternatively, the payload 208(1)- 208(10) may be coupled directly to the UAVs 202(l)-202(10) without requiring the carrier 206(1)- 206(10). The target tracking system 200 includes a control terminal 203 that is configured to provide control data to the plurality of UAVs 202(l)-202(10) in similar fashion as discussed above with respect to FIG. 1. In an embodiment, the control terminal 203 includes at least one processor 214, memory 215 and a user interface 216, such as a display. In the embodiment illustrated in FIGS. 2A-2B, ten UAVs 202(l)-202(10) track twenty-five targets 204(l)-204(25); however, in other embodiments, any number of UAVs can be utilized to track any number of targets as dictated by design requirements.
[0019] Each payload 208( 1 )-208( 10) can include one or more sensors for surveying or tracking at least one of the plurality of targets 204(l)-204(25). The payload 208(l)-208(10) may be, for example, an image capturing device or imaging device (e.g., camera, infrared imaging device, ultraviolet imaging device, or the like) to track at least one of the plurality of targets 204(1)- 204(25) within the FOV 207(l)-207(10) of the payload 208(l)-208(10). In the embodiment illustrated in FIG. 2A, the payload 208(l)-208(10) comprises a circular FOV resulting in each payload 208(l)-208(10) having a corresponding coverage footprint 212(l)-212(10). The coverage footprint 212(l)-212(10) varies based upon, for example, the viewing angle (0) and altitude of the UAVs 202(l)-202(10). For example, as the altitude of the UAV 202(l)-202(10) increases, the viewing angle (0) also increases resulting in a larger coverage footprint 212(l)-212(10). In an embodiment, the plurality of targets 204(l)-204(25) are non- stationary and are continuously moving. For exemplary purposes, the target tracking system 200 of FIG. 2A illustrates ten UAVs 202(l)-202(10) that are configured to track twenty-five non-stationary targets 204(1 )-204(25) at a first- time instance (ti).
[0020] In particular, at ti, the UAV 202(1) tracks three moving targets 204(1 )-204(3) that are within the coverage footprint 212(1), the UAV 202(2) tracks four moving targets 204(4)-204(7) that are within the coverage footprint 212(2), the UAV 202(3) tracks two moving targets 204(8)- 204(9) that are within the coverage footprint 212(3), the UAV 202(4) tracks two moving targets 204(10)-204(l l) that arc within the coverage footprint 212(4), the UAV 202(5) tracks three moving targets 204(12)-204(14) that are within the coverage footprint 212(5), the UAV 202(6) tracks two moving targets 204(15)-204(16) that are within the coverage footprint 212(6), the UAV 202(7) tracks two moving targets 204(17)-204(18) that are within the coverage footprint 212(7),the UAV 202(8) tracks three moving targets 204(19)-204(21) that are within the coverage footprint212(8), the UAV 202(9) tracks three moving targets 204(22) -204(24) that are within the coverage footprint 212(9), and the UAV 202(10) tracks one moving target 204(25) that is within the coverage footprint 212(10). As such, at ti, all twenty-five targets 204(1 )-204(25) are tracked by at least one of the plurality of UAVs 202(l)-202(10).
[0021] However, since the plurality of targets 204(1 )-204(25) are non-stationary, at any subsequent time instance (±2), which may be a predetermined amount of time that has elapsed since ti such as, for example, 5 seconds, 10 seconds, 20 seconds, 30 seconds, or the like, there may be situations where at least some of the plurality of targets 204(1 )-204(25) that were within any one of the coverage footprints 212(l)-212(10) in the previous time instance ti, may now be outside the coverage footprints 212(l)-212(10) they were previously in. For example, as illustrated in FIG. 2A, at least two moving targets 204(20)-204(21) are positioned near- a perimeter of the coverage footprint 212(8) and appear to be moving away from the coverage footprint 212(8). Once outside the coverage footprint 212(8), the at least two moving targets 204(20)-204(21) are not in any of the coverage footprints 212(l)-212(10). Since the at least two moving targets 204(20)-204(21) are not in any of the coverage footprints 212(l)-212(10), the at least two moving targets 204(20)- 204(21) may not be tracked by at least one of the plurality of UAVs 202(1) -202(10) unless the at least two moving targets 204(20)-204(21) move into the other coverage footprints 212(1)-212(7) and 212(9)-212(10).
[0022] In an effort to ensure that each of the plurality of targets 204(1 )-204(25) are continuously tracked by at least one of the plurality of UAVs 202(l)-202(10), exemplary embodiments disclose an optimization method that allocates target tracking assignments between the plurality of UAVs202(1) -202(10) to ensure continuous tracking of the plurality of targets 204(l)-204(25). The exemplary optimization method requires constraints relative to how far each UAV of the plurality of UAVs 202(l)-202(10) is permitted to travel at any time instance. For example, at any time instance, each of the plurality of UAVs 202(l)-202(10) is permitted to travel to any point within a maximum distance in the x-coordinate (e.g., east-west axis), y-coordinate (e.g., north-south axis), and z-coordinate (e.g., height or elevation) based upon the UAVs 202(l)-202(10) maximum vertical and horizontal velocities. The maximum distance each of the plurality of UAVs 202(1)- 202(10) is permitted to travel, at any time instance, is illustrated as a cylindrical space 250 in FIG. 2C. More specifically, at any time instance, each of the plurality of UAVs 202(l)-202(10) can move to at least any point within cylindrical space 250. Such constraints facilitate with the allocation of the target tracking assignments between the plurality of UAVs 202(l)-202(10) in a cost-effective manner.
[0023] In an embodiment, the allocation of the target tracking assignments is not based upon closeness of the plurality of UAVs 202(l)-202(10) to the plurality of targets 204(1 )-204(25). Instead, the allocation of the target tracking assignments is based upon proximity of the coverage footprints 212(1 )-212(10) to the plurality of targets 204(l)-204(25). For example, the two moving targets 204(20)-204(21) that were within the coverage footprint 212(8) of the UAV 202(8) at ti (FIG. 2A), are now reassigned, via the exemplary optimization method, to the coverage footprint 212(9) of the UAV 202(9). The coverage footprint 212(9) is closest to the coverage footprint 212(8) thereby requiring the UAV 202(9) to travel the least distance in the x-y-z coordinates. The exemplary optimization method minimizes system cost by ensuring that the plurality of UAVs 202(l)-202(10) that are assigned to track the plurality of targets 204(1 )-204(25) travel a minimumdistance vertically and horizontally. By doing so, the total distance travelled by the plurality ofUAVs 202(1) -202(10) to continuously track the plurality of targets 204(1 )-204(25) is minimized resulting in significant cost savings.
[0024] In the embodiment illustrated in FIG. 2A-2B, an area of the coverage footprint 212(1)- 212(10) serves as a quantitative measure of tracking cost incurred for collectively monitoring the plurality of targets 204(1) -204(25). Consequently, the cumulative tracking cost for all of the plurality of UAVs 202(l)-202(10) is encapsulated by the area of the coverage footprint 212(1)- 212(10). The cumulative tracking cost is defined by equation (1) below:Equation (1) where Ltrk corresponds to cumulative tracking cost,Ntrk corresponds to the plurality of UAVs 202(1 )-202(l 0), a, corresponds to a parameter scaling the cost of each UAV, and Ri corresponds to i-lh radius of the coverage footprint.
[0025] FIG. 3 is a flow diagram illustrating an exemplary target tracking process 300. For illustrative purposes, the process 300 will be described herein relative to FIGS. 2A-2C. The process 300 starts at step 302. At step 304, at a particular time instance, optimal goal positions for the plurality of UAVs 202(l)-202(10) are deteimined. For example, the optimal goal positions correspond to a starting estimation of an ideal configuration of the placement of the plurality of UAVs to track the plurality of targets 204(1 )-204(25) while minimizing the cost incurred to collectively track the plurality of targets 204(l)-204(25). In some embodiments, A- means clustering method is used to determine the optimal goal positions for the plurality of UAVs 202(1)- 202(10). In other embodiments, optimizers such as, for example, non-linear optimizers with fixedposition UAV’s and non-linear optimizers with - mean initialization may be used to determine the optimal goal positions for the plurality of UAVs 202(l)-202(10).
[0026] From step 304, the process 300 proceeds to step 306. At step 306, a list is created of all targets from the plurality of targets 204(1 )-204(25) that are not tracked based upon the optimal goal positions of the plurality of UAVs 202(l)-202(10) determined at step 304. In particular, the list includes all the targets that are untracked by the plurality of UAVs 202(l)-202(10). At step 308, a counter is initiated. At step 310, it is determined whether the list created at step 306 is empty. An empty list is an indication that all of the plurality of targets 204(1 )-204(25) are being tracked. If it is determined at step 310 that the list is empty, the process 300 proceeds to step 332. At step 322, the plurality of UAVs 202(l)-202(10) are positioned at the optimal goal positions determined at step 304.
[0027] However, if it is determined at step 310 that the list is not empty, the process 300 proceeds to step 312. A list that is not empty is an indication that at least one target of the plurality of targets 204(1 )-204(25) is untracked. At step 312, for each target on the list, exemplary embodiments disclose an optimization process that allocates target tracking assignments between the plurality of UAVs 202(l)-202(10) to ensure continuous tracking of the plurality of targets 204(1 )-204(25). In an embodiment, the allocation of the target tracking assignments is not based upon closeness of the plurality of UAVs 202(l)-202(10) to the plurality of targets 204(1 )-204(25). Instead, the allocation of the target tracking assignments is based upon proximity of the coverage footprints 212( 1 )-212( 10) to the plurality of targets 204(l)-204(25). For each target that is on the list, a UAV is selected to perform tracking that has a coverage footprint closest to the target. As an example, if it is assumed that the two moving targets 204(20)-204(21) are on the list, then at step 312, foreach one of the two moving targets 204(20)-204(21), a UAV from the plurality of UAVs 202(1)-202(10) is selected to perform tracking. For example, the moving target 204(20) is now assigned to the coverage footprint 212(9) of the UAV 202(9). The coverage footprint 212(9) is closest to the moving target 204(20) thereby requiring the UAV 202(9) to travel the least distance in the x- y-z coordinates in comparison to the other UAVs (e.g., 202(l)-202(7), 202(10)) to capture the moving target 204(20).[00281 At step 314, a target goal position of the UAV 202(9) is determined. In an embodiment, the target goal position corresponds to an actual location of positioning the UAV 202(9). The exemplary process 300 requires constraints to determine the target goal positions of the UAVs by limiting how far each UAV of the plurality of UAVs 202(l)-202(10) is permitted to travel at any time instance. For example, at any time instance, each of the plurality of UAVs 202(l)-202(10) is permitted to travel to any point within a maximum distance in the x-coordinate (e.g., east-west axis), y-coordinate (e.g., north-south axis), and z-coordinate (e.g., height or elevation) based upon the UAVs 202(l)-202(10) maximum vertical and horizontal velocities. The maximum distance each of the plurality of UAVs 202(l)-202(10) is permitted to travel, at any time instance, is illustrated as a cylindrical space 250 in FIG. 2C. More specifically, at any time instance, each of the plurality of UAVs 202(l)-202(10) can move to at least any point within cylindrical space 250. The exemplary optimization process 300 minimizes system cost by ensuring that the UAV 202(9) that is assigned to track the moving target 204(20) travels a minimum distance vertically and horizontally to reach the target goal position resulting in energy savings.
[0029] From step 314, the process 300 proceeds to step 316. At step 316, it is determined if the exemplary process 300 converges to a feasible solution. In an embodiment, a feasible solution isbased upon the results of steps 312, 314. For example, if the outcome of steps 312, 314 results in each target on list being tracked in a cost-efficient manner, the process 300 converges to a feasible solution. If it is determined at step 316 that the process 300 converges to a feasible solution, the process 300 proceeds to step 320. However, if it is determined at step 316 that the process 300 does not converge to a feasible solution, the process 300 proceeds to step 318. At step 318, the altitude of the plurality of UAVs 202(l)-202(10) is increased to ensure all targets are covered and the speed of the plurality of UAVs 202(l)-202(10) is increased to twice the speed of any of the plurality of targets 204(1) -204(25). This is always possible as long as the plurality of UAVs 202(l)-202(10) can move at least faster than the plurality of targets 204(1 )-204(25) divided by a term related to the angle of view of the sensors of the payload 208(l)-208(10). The speed of each of the plurality of UAVs 202(1) -202(10) is calculated by equation (2) below:1 Vtarget Equation (2) tan- 2 where Vzcorresponds to the speed of each of the plurality of UAVs 202(l)-202(10),Vtarget con'esponds to the speed of any of the plurality of targets 204(1 )-204(25), and9 corresponds to the sensor angle of view of each of the plurality of UAVs 202(l)-202(10) at the increased altitude.
[0030] From step 318, the process 300 proceeds to step 320. At step 320, the target goal positions of at least one of the plurality of UAVs 202(l)-202(10) is updated. At step 322, it is determined if all the targets from list (step 306) have been assigned for tracking. If it is determined at step 322 that all of the targets from the list have not been assigned for tracking, the process 300 returns to step 312. However, if it is determined at step 322 that all the targets from list (step 306) have beenassigned for tracking, the process 300 proceeds to step 324. At step 324, the list (step 306) is recomputed by the updated target goal position of at least one of the plurality of UAVs 202(1)- 202(10). From step 324, the process 300 proceeds to step 326. At step 326, it is determined if a predetermined number of iterations have been performed. In an embodiment, the predetermined number of iterations may be, for example, 25, 40, 50 or any other number as dictated by design requirements.[00311 If it is determined at step 326 that the predetermined number of iterations have not been performed, the process 300 proceeds to step 328 where the iteration number is incremented. From step 328, the process 300 returns to step 310. However, if it is determined at step 326 that the predetermined number of iterations have been performed, the process 300 proceeds to step 330. At step 330, the altitude of the plurality of UAVs 202(l)-202(10) is increased. From step 330, the process 300 proceeds to step 332. At step 332, the plurality of UAVs 202(l)-202(10) have feasible goal positions that cover the target list. At step 334, the process 300 ends.
[0032] In this patent application, reference to encoded software may encompass one or more applications, bytecode, one or more computer programs, one or more executables, one or more instructions, logic, machine code, one or more scripts, or source code, and vice versa, where appropriate, that have been stored or encoded in a computer-readable storage medium. In particular embodiments, encoded software includes one or more application programming interfaces (APIs) stored or encoded in a computer-readable storage medium. Particular embodiments may use any suitable encoded software written or otherwise expressed in any suitable programming language or combination of programming languages stored or encoded in any suitable type or number of computer-readable storage media. In particular embodiments, encoded software may be expressedas source code or object code. In particular embodiments, encoded software is expressed in a higher-level programming language, such as, for example, C, Python, Java, or a suitable extension thereof. In particular embodiments, encoded software is expressed in a lower-level programming language, such as assembly language (or machine code). In particular embodiments, encoded software is expressed in JAVA. In particular embodiments, encoded software is expressed in Hyper Text Markup Language (HTML), Extensible Markup Language (XML), or other suitable markup language.
[0033] Depending on the embodiment, certain acts, events, or functions of any of the algorithms described herein can be performed in a different sequence, can be added, merged, or left out altogether (e.g., not all described acts or events are necessary for the practice of the algorithms). Moreover, in certain embodiments, acts or events can be performed concurrently, e.g., through multi-threaded processing, interrupt processing, or multiple processors or processor cores or on other parallel architectures, rather than sequentially. Although certain computer-implemented tasks are described as being performed by a particular entity, other embodiments are possible in which these tasks are performed by a different entity.
[0034] Although relative terms such as “outer,” “inner,” “upper,” “lower,” and similar terms may have been used herein to describe a spatial relationship of one element to another, it is understood that these terms are intended to encompass different orientations of the various elements and components in addition to the orientation depicted in the figures. Furthermore, as used herein, the terms “connect,” “connection,” “connected,” “in connection with,” and “connecting” may be used to mean in direct connection with or in connection with via one or more elements. Similarly, the terms “couple,” “coupling,” and “coupled” may be used to mean directly coupled or coupled viaone or more elements. The terms “substantially,” “approximately,” “generally,” and “about” are defined as largely but not necessarily wholly what is specified (and includes what is specified; e.g., substantially 90 degrees includes 90 degrees and substantially parallel includes parallel), as understood by a person of ordinary skill in the art. The extent to which the description may vary will depend on how great a change can be instituted and still have a person of ordinary skill in the art recognized the modified feature as still having the required characteristics and capabilities of the unmodified feature.
[0035] The foregoing outlines features of several embodiments so that those skilled in the ait may better understand the aspects of the disclosure. Those skilled in the art should appreciate that they may readily use the disclosure as a basis for designing or modifying other processes and structures for carrying out the same purposes and / or achieving the same advantages of the embodiments introduced herein. Those skilled in the art should also realize that such equivalent constructions do not depart from the spirit and scope of the disclosure and that they may make various changes, substitutions, and alterations herein without departing from the spirit and scope of the disclosure. The scope of the invention should be determined only by the language of the claims that follow. The term “comprising” within the claims is intended to mean “including at least” such that the recited listing of elements in a claim are an open group. The terms “a,” “an” and other singular terms are intended to include the plural forms thereof unless specifically excluded.
Claims
WHAT IS CLAIMED IS:1 . A method for target tracking, the method comprising: determining optimal goal positions for each of a plurality of unmanned aerial vehicles (UAVs) to track a plurality of targets, wherein the optimal goal positions correspond to a starting estimation of a placement of the plurality of UAVs to track the plurality of targets; creating a list of untracked targets from the plurality of targets based upon the optimal goal positions of the plurality of UAVs; determining if the list is empty; and responsive to a determination that the list is empty, moving the plurality of UAVs to the optimal goal positions, wherein an empty list is an indication that all the plurality of targets are being tracked.
2. The method of claim 1, further comprising: responsive to a determination that the list is not empty, for each untracked target, assigning a UAV from the plurality of UAVs with a coverage footprint closest to each said untracked target; wherein the coverage footprint corresponds to an area that is captured in an image by a pay load of each of the plurality of UAVs; and the coverage footprint varies based upon at least one of a viewing angle and an altitude of each of the plurality of UAVs.
3. The method of claim 2, further comprising: determining a target goal position of the assigned UAV; wherein the target goal position corresponds to an actual location of positioning the assigned UAV; and the target goal position is determined by limiting how far the assigned UAV is permitted to travel at a time instance ensuring that the assigned UAV travels a minimum distance vertically and horizontally to reach the target goal position resulting in cost savings.
4. The method of claim 3, further comprising: determining if each said untracked target has been assigned for tracking; responsive to a determination that each said untracked target has not been assigned for tracking, returning to the step of assigning; responsive to a determination that each said untracked target has been assigned for tracking, updating the target goal positions of the assigned UAVs; and moving the assigned UAVs to the updated target goal positions.
5. The method of claim 1, wherein: the plurality of UAVs comprise ten UAVs; and the plurality of targets comprise twenty-five targets.
6. The method of claim 1, wherein the plurality of targets are non-stationary.
7. The method of claim 1, wherein the optimal goal positions are determined using at least one of non-linear optimizers with fixed position UAV’s and non-linear optimizers with k- mean initialization.
8. The method of claim 3, wherein the target goal position is determined using at least one of non-linear optimizers with fixed position UAV’s and non-linear optimizers with k-mean initialization.
9. A system for target tracking, the system comprising: a plurality of unmanned aerial vehicles (UAVs) configured to track a plurality of targets, wherein the plurality of targets are non-stationary; and a control terminal configured to communicate with the plurality of UAVs, the control terminal comprising at least one processor, wherein the at least one processor is configured to: determine optimal goal positions for each of the plurality of UAVs to track the plurality of targets, wherein the optimal goal positions correspond to a starting estimation of a placement of the plurality of UAVs to track the plurality of targets;create a list of untracked targets from the plurality of targets based upon the optimal goal positions of the plurality of UAVs; determine if the list is empty; and responsive to a determination that the list is empty, move the plurality of UAVs to the optimal goal positions, wherein an empty list is an indication that all the plurality of targets are being tracked.
10. The system of claim 9, wherein the at least one processor is configured to: responsive to a determination that the list is not empty, for each untracked target, assign a UAV from the plurality of UAVs with a coverage footprint closest to each said untracked target; wherein the coverage footprint corresponds to an area that is captured in an image by a pay load of each of the plurality of UAVs; and the coverage footprint varies based upon at least one of a viewing angle and an altitude of each of the plurality of UAVs.
11. The system of claim 10, wherein the at least one processor is configured to: determine a target goal position of the assigned UAV, wherein the target goal position corresponds to an actual location of positioning the assigned UAV, wherein the target goal position is determined by limiting how far the assigned UAV is permitted to travel at a time instance ensuring that the assigned UAV travels a minimum distance vertically and horizontally to reach the target goal position resulting in cost savings.
12. The system of claim 11, wherein the at least one processor is configured to: determine if each said untracked target has been assigned for tracking; responsive to a determination that each said untracked target has not been assigned for tracking, assign a UAV from the plurality of UAVs with the coverage footprint closest to each said untracked target; responsive to a determination that each said untrackcd target has been assigned for tracking, update the target goal positions of the assigned UAVs; and move the assigned UAVs to the updated target goal positions.
13. The system of claim 9, wherein: the plurality of UAVs comprise ten UAVs; and the plurality of targets comprise twenty-five targets.
14. The system of claim 9, wherein the optimal goal positions are determined using at least one of non-linear optimizers with fixed position UAV’s and non-linear optimizers with k- mean initialization.
15. The system of claim 11, wherein the target goal positions are determined using at least one of non-linear optimizers with fixed position UAV’s and non-linear optimizers with k- mean initialization.