WO2022029158A1 - A method for controlling a plurality of uavs - Google Patents

A method for controlling a plurality of uavs Download PDF

Info

Publication number
WO2022029158A1
WO2022029158A1 PCT/EP2021/071734 EP2021071734W WO2022029158A1 WO 2022029158 A1 WO2022029158 A1 WO 2022029158A1 EP 2021071734 W EP2021071734 W EP 2021071734W WO 2022029158 A1 WO2022029158 A1 WO 2022029158A1
Authority
WO
WIPO (PCT)
Prior art keywords
uavs
function
trajectory
determining
uav
Prior art date
Application number
PCT/EP2021/071734
Other languages
French (fr)
Inventor
Liping Shi
Rune Hylsberg JACOBSEN
Original Assignee
Aarhus Universitet
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Aarhus Universitet filed Critical Aarhus Universitet
Publication of WO2022029158A1 publication Critical patent/WO2022029158A1/en

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/10Simultaneous control of position or course in three dimensions
    • G05D1/101Simultaneous control of position or course in three dimensions specially adapted for aircraft
    • G05D1/104Simultaneous control of position or course in three dimensions specially adapted for aircraft involving a plurality of aircrafts, e.g. formation flying
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0005Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots with arrangements to save energy
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G5/00Traffic control systems for aircraft, e.g. air-traffic control [ATC]
    • G08G5/0004Transmission of traffic-related information to or from an aircraft
    • G08G5/0013Transmission of traffic-related information to or from an aircraft with a ground station
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G5/00Traffic control systems for aircraft, e.g. air-traffic control [ATC]
    • G08G5/0017Arrangements for implementing traffic-related aircraft activities, e.g. arrangements for generating, displaying, acquiring or managing traffic information
    • G08G5/0026Arrangements for implementing traffic-related aircraft activities, e.g. arrangements for generating, displaying, acquiring or managing traffic information located on the ground
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G5/00Traffic control systems for aircraft, e.g. air-traffic control [ATC]
    • G08G5/0043Traffic management of multiple aircrafts from the ground
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G5/00Traffic control systems for aircraft, e.g. air-traffic control [ATC]
    • G08G5/0047Navigation or guidance aids for a single aircraft
    • G08G5/0069Navigation or guidance aids for a single aircraft specially adapted for an unmanned aircraft
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G5/00Traffic control systems for aircraft, e.g. air-traffic control [ATC]
    • G08G5/04Anti-collision systems
    • G08G5/045Navigation or guidance aids, e.g. determination of anti-collision manoeuvers

Definitions

  • the invention relates to flight control of a plurality of UAVs, such as coordination of a plurality of UAVs.
  • Autonomous UAVs can be used for inspection tasks, surveillance, reconnaissance, search and rescue operations, delivery services and many other purposes. Some of these operations can benefit from use of a plurality of autonomous UAVs. However, configurations with a plurality of UAVs puts further challenges to autonomous control methods used for achieving autonomous flight of the UAVs.
  • US 8,639,396 Bl discloses a method for multi UAV coordination which includes accessing first target information associated with a first target visible to a first UAV at a first time and accessing second target information, received from a neighboring UAV, associated with a second target visible to the neighboring UAV at the first time. The method further includes combining the first target information and the second target information to generate combined target information and determining, based on the combined target information, a predicted location for the first and second targets at a second time.
  • the method further includes determining a planned route for the first UAV for the second time by solving an optimization problem, the optimization problem accounting for the determined predicted location for the first and second targets, kinematic constraints associated with the first UAV and the neighboring UAV, and line-of- sight constraints associated with the first UAV and the neighboring UAV.
  • trajectory function r(t) describing future positions of any one of the UAVs as a function of time within a prediction period, wherein the positions depend on parameters of the trajectory function
  • a dynamic function being a function of a derivative of the positions, optionally the derivative of an orientation, of any one of the UAVs, wherein the dynamic function being subject to a constraint defines an optimization problem, and wherein,
  • the constraint comprises at least a distance constraint for distances between at least two of the plurality of UAVs defined as a function of the future positions of the UAVs,
  • the constraint is defined as a function of the future positions of the UAVs
  • the constraint may be adapted dependent on the environment, e.g. dependent on obstacles and other conditions of the environment of the planned flying path.
  • the computation method guarantees or at least improves convergence and convergence speed of the computation of adapted trajectories.
  • the determination of the adapted trajectory function r(t) for one of the UAVs such as for a first UAV is based on the adapted trajectory function of the previous step of said first UAV and at least some of the other UAVs, such as the second and third UAVs
  • the determination of the adapted trajectory for the first UAV, as well as for the second and third UAVs takes into account the so-far determined trajectory adaptations within each iteration step.
  • the finally determined adaptations of the trajectory functions may lead to improved flight ranges and improved autonomous flight performance, particularly when multiple UAVs operate near each other.
  • the adapted trajectory function of a higher prioritized UAV is transmitted to one or more lower prioritized UAVs, prior to determining the adapted trajectory function of the lower prioritized UAV.
  • the adapted trajectory functions may be transmitted via a communication network.
  • a communication network may be transmitted via a communication network.
  • the adapted trajectory function of the previous step of at least some of the other UAVs may be transmitted via a communication network such as a WiFi network.
  • a communication network such as a WiFi network.
  • the adapted trajectory of the lowest prioritized UAV of the previous iteration step may be transmitted to the highest prioritized UAV initially in the present iteration step.
  • the method further comprises
  • the distance constraint specifies a minimum distance and a maximum distance between at least two of the plurality of UAVs.
  • the adapted trajectory can be determined to take into account obstacles in the flying path.
  • the minimum distance ensure a safe flying distance, while the maximum distance ensures communication between the UAVs.
  • the distance constraint may specify only a maximum distance between at least two of the plurality of UAVs.
  • the distance constraint may comprise a minimum distance and a maximum distance, such as a range of allowed distances, between a given UAV and an obstacle in order to determine adapted trajectories enabling the UAVs to pass the obstacle in an optimal way.
  • the initial trajectory function defines future positions and associated times to be met by each of the UAVs. Accordingly, the initial trajectory function defines an initially determined path for the UAVs which is used for determining the further adaptations of the flying paths, i.e. trajectory functions.
  • the determination of the adapted trajectory function r(t) is performed locally on the UAVs for which the adapted trajectory function is determined.
  • each or at least some of the UAVs are configured with data processing capabilities so that the adaptations of the flying paths can be determined locally instead of requiring bandwidth and transmission time for communicating data to and from a centrally located data processor.
  • the determination of the adapted trajectory function r(t) in one or more steps are continued until a constraint is satisfied or until a computation time has lapsed.
  • a non- optimal flying path can be used for the future flying paths.
  • the method further comprises
  • each step comprises determining the adapted trajectory function r(t) for each of the UAVs in succession of the priorities, and for priorities lower than the highest priority, determining the adapted trajectory function r(t) based on adapted trajectory functions comprising adapted trajectory functions of one or more higher prioritized UAVs , wherein the adaptation of the trajectory functions comprises determining the parameters based on determining a solution of the dynamic function so that the solution approaches the optimal solution of the dynamic function subject to the constraint,
  • an optimal solution to the flying paths may be determined.
  • each step may comprise determining the adapted trajectory function r(t) for at least one of the plurality of UAVs based on the adapted trajectory function of the previous step of the respective UAV and at least some of the other UAVs.
  • the constraint comprises a time constraint specifying a time slot.
  • a time slot may be specified as a constraint, e.g. for planning a future period of time to be used for various purposes, such a data communication, surveillance tasks, and other tasks performed by the UAVs.
  • the constraint comprises a data communication constraint which restricts or prohibits data communication between at least some of the plurality of UAVs.
  • the bandwidth capabilities e.g. for broadcasting data between UAVs may be known, e.g. in the form of a heat map of bandwidth capabilities or a connectivity matrix.
  • the UAVs may be prohibited, at least partially, from sharing data.
  • the adapted trajectories may be determined to take such communication restrictions into account.
  • the method comprises
  • the determination of the adapted trajectory function r(t) for at least one of the plurality of UAVs is further based on the predicted future locations.
  • the determination of the adapted trajectories for other UAVs may be based on predicted future locations of the UAVs which are not capable of transmitting the adapted trajectory functions instead of broadcasted trajectory functions.
  • the predictions may be based on e.g. image data from perception systems of one or more of the UAVs which are capable of broadcasting data, or based only on data from perception system of the UAV which also determines the adapted trajectory functions.
  • the method comprises the step of
  • an execution of the adapted trajectory function of one or more of the UAVs as configured, is stopped and operation of the one or more UAVs is continued based on data obtained from a perception system of the one or more UAVs.
  • the method comprises monitoring a security condition, such as a safe distance to obstacles, wherein the stop of the operation of the one or more UAVs is executed based on the security condition.
  • a security condition such as a safe distance to obstacles
  • unexpected obstacles can, i.e. obstacles which were not taken into account in the determination of the adapted trajectory functions, can be handled so that secure flight can be continued based on the perception system until the flight can be continued based on the adapted trajectory functions.
  • a second aspect of the invention relates to a calculation system for a plurality of UAVs arranged to perform the method of the first aspect.
  • a third aspect of the invention relates to a computer program product comprising software code adapted to control a UAV when executed on a data processing system, the computer program product being adapted to perform the method of the first aspect.
  • Fig. 1A illustrates a flight task to be performed by a plurality of UAVs
  • Fig. IB shows the system for multi-UAV coordination
  • Fig. 2 shows a flow chart for operating a plurality of UAVs
  • Fig. 3 a flow chart for operating a plurality of UAVs further based on perception data.
  • Fig. 1A illustrates a flight task to be performed by a plurality of UAVs 101, and principally illustrates a solution according to an embodiment of the invention.
  • the abbreviation UAV refers to Unmanned Aerial Vehicles also known as drones.
  • the UAV 101 may be any unmanned aerial vehicle, also known as an unmanned 10 aerial vehicle or a UAV, i.e. an air craft, e.g. a small sized air craft, without a human pilot aboard.
  • the UAV may additionally have capabilities for moving on ground typically, e.g. means of wheels or belts.
  • Two UAVs 101 have starting or initial locations A1 and A2, which may be ground 15 locations or air locations.
  • the flight task defines that the UAVs must fly from the initial locations A1, A2 to the target location D.
  • the flight task further defines intermediate locations B and C and an obstacle 110 such as a tunnel, corridor or fence, i.e. an obstacle 110 that must be passed with sufficient clearance to the obstacle 110.
  • the initial, target and intermediate locations may be defined by one or more coordinates in space, or on ground, or as a volume or area in space or on ground.
  • one or more adapted trajectory functions r(t) are determined for each UAV to perform the flight from the initial location A1, A2 to 25 the target location D.
  • a plurality of adapted trajectory functions r(t) are determined, where each adapted trajectory function r(t) describes a fraction of the flight path from the initial location A1, A2 to the target D, such as fractions defining flight paths 30 between locations A1, B, C, D.
  • Each adapted trajectory function r(t) has an associated time horizon T1, T2, T3, defining a time constraint for to be met for flying the trajectory defined by the adapted trajectory function r(t), or defining a time target which need not 35 necessarily be met with high accuracy.
  • the time horizons Tl, T2, T3 may be determined according to a desired time for flying a distance, speed limitations of UAVs or the environment surrounding the flight path, communication limitations for transmitting data between UAVs.
  • the period of the time horizons Tl, T2, T3 are commonly defined as a prediction period T which may be different for each time horizon and defines the periods T of the adapted trajectory functions r(t). Each time horizon Tl, T2, T3 may be different for different UAVs 101.
  • the adapted trajectory functions r(t) are determined for each UAV 101. After determination of these, the adapted trajectory functions r(t) are executed by each UAV. Adapted trajectory functions r(t) for the following fractions of the flight path to the target location D, may be determined during the execution of the previous trajectory function r(t) so that they are finally determined shortly before the UAVs reach the location B, or shortly before the first time horizon expires.
  • the adapted trajectory functions r(t) for the flight from B to C may be determined, where At represents a minimal buffer time between the completion of determining adapted trajectory functions and the start of the next time horizon.
  • the initial trajectory functions r(t) for the initial fraction Al-B, A2-B of the flight path from the initial location Al, A2 may be determined based on a first nonoptimized determination of a possible flight path which brings the UAVs from Al, A2 to B while avoiding known obstacles.
  • the following adapted trajectory functions for flying the following fraction B-C of the flight path may be based on the adapted trajectory functions r(t) used for the execution of the previous fractions of the flight path Al-B, A2-B (together with the broadcasted trajectory functions of other cooperating UAVs for the following fraction B-C) or an extrapolation thereof, or may be based on initial adapted trajectory functions r(t) for the fraction B-C of the flight path, or a combination thereof.
  • the trajectory functions r(t) used for the execution of the previous fractions of the flight path Al-B, A2-B provides the starting points for the following adapted trajectory for the following fraction B-C of the flight path, where the first iteration of determining the adapted trajectory functions r(t) for the following adapted trajectory may be determined based on said starting points, the desired intermediate location C and other known constraints such as the physical constraints defined by obstacles 110.
  • the determination of the initial adapted trajectory functions for the following fraction B-C may further be determined based on conditions of short moving distance and minimum changes of the velocity during the flight of that fraction.
  • Equation 1 is an example of a piece-wise polynomial trajectory function ⁇ T(t) which is formed based on a combination of piece-wise polynomial functions t ⁇ p of order np over nw sub-periods of the prediction period T, where parameters ⁇ p,w are coefficients of each term t ⁇ p.
  • This examples refers to ⁇ p,w, but in general embodiments may be based on other parameters ⁇
  • Each coordinate x,y,z of the initial and adapted trajectory functions r(t) are determined from the polynomial trajectory function ⁇ T(t), i.e. so that the x component of r(t) is given by one set of parameters ⁇ p,w, the y component of r(t) is given by another set of parameters ⁇ p,w, etc.
  • the maximum of index p is np
  • the maximum of index w is nw.
  • the trajectory function r(t) may be based on the above polynomial trajectory function ⁇ T(t), so that the trajectory function r(t) describes future positions x,y,z of any one of the UAVs 101 as a function of time t within a prediction period T, and where the positions x,y,z depend on parameters ⁇ of the trajectory function r(t).
  • the trajectory function r(t) may be based on other linear or non-linear polynomial trajectory functions.
  • prediction period T normally constitutes a fraction of the time for flying from the initial locations Al, A2 to the target location D
  • prediction period T constitutes the entire period for flying from the initial locations Al, A2 to the target location D.
  • the entire flight path from the initial location Al, A2 to the target location D may be described by a single adapted trajectory function r(t), instead of a plurality of adapted trajectory functions r(t) for different time horizons Tl, T2, T3.
  • the UAV has limitations with respect to dynamic capabilities such as acceleration limitations in the x, y and z directions and in rotational directions such as yaw rotations, i.e. rotations about a center axis of the UAV which is parallel with the rotor axis of the one or more rotors, roll and pitch rotations.
  • the adapted trajectory functions r(t) is determined by solving an optimization problem which includes the dynamic function which is a function of a time derivative of the positions x,y,z, and optionally the derivative of an orientation ⁇ , such as the yaw, of any one of the UAVs 101.
  • Equation 2 is an example of a dynamic function included in a optimization problem, i.e. the solution to the adapted trajectory functions r(t) is a solution which minimizes or maximizes the optimization problem, or partially minimizes/optimizes the optimization problem.
  • the optimized solution minimizes the optimization problem.
  • ur and u ⁇ are constant parameters that make the function dimensionless, i.e. independent of any particular unit, such as distance and time.
  • equation 2 determines the 4th derivative of the position vector r(t), i.e. the trajectory function r(t), and the 2nd derivative of the orientation ⁇ (t).
  • the determined adapted trajectory function r(t) and the determined orientation (t)) are used for determining the control input to the UAV 101, i.e. control signals for controlling e.g. direction in 3D, UAV orientation, speed and acceleration.
  • the optimization problem generates an adapted trajectory r(t) that minimizes the integral of the 4th derivative of the position vector r(t) squared and the 2nd derivative of the orientation i (t), here yaw angle, squared.
  • the dynamic function is required in order to determine an adapted trajectory function r(t), which converts into an applicable, efficient and smooth control of the UAV 101, i.e. a control that satisfies the dynamic capabilities of the UAV.
  • the determination of the adapted trajectory function r(t) which minimizes the optimization problem is subject to one or more constraints.
  • the one or more constraints comprise at least a distance constraint for distances between two or more of the UAVs 101 which is defined as a function of the future positions x,y,z of the adapted trajectory functions r(t) of the UAVs 101.
  • the one or more constraints may also include a mobility limitation of the one or more UAVs, e.g. a maximum speed and a maximum thrust.
  • the distance constraint may specify a maximum distance between at least two of the plurality of UAVs 101, e.g. a maximum distance which should not be exceeded during a given period of time or during a fraction of the flight path.
  • the constraint on a maximum distance may be used for maintaining a data communication link between UAVs for a certain period of time, e.g. to ensure a high data communication quality.
  • the one or more constraints may also include time constraints specifying a time slot. For example, a given time slot may be specified where transmission of data from a UAV is requested.
  • the one or more constraints may include location constraint, such as a position, path range, or area a given position, specifying that the UAV should be at that location, e.g. at a given time or period of time, e.g. for the purpose of planning transmission of data from a UAV at that location.
  • location constraint such as a position, path range, or area a given position
  • Equation 3 is an example of a safe distance constraint defined for each UAV over the flying time, e.g. the time of one of the time horizons Tl, T2, T3.
  • Equation 3 defines that the distance at any time tk between UAV number i and UAV number j must be greater than drij.
  • the distance requirement may depend on the direction of the vector of difference of the two position vectors riT, rjT of equation 3.
  • equation 3 defines that the distance at any time tk from UAV number i to UAV number j must be greater than drij. That is, drij is possible not the same as drji which may be the case when the sizes of UAV number i and UAV number j are different. A larger UAV usually can handle a shorter distance.
  • the distance constraint may specify a range of allowed distances for distances between two or more of the UAVs 101 as a function of the future positions of the trajectory functions r(t) of the UAVs 101.
  • the distance constraint may specify the above mentioned maximum distance between at least two of the plurality of UAVs 101 and a minimum distance (safe distance) such as the above mentioned minimum distance drij.
  • the optimization problem may be written in the form of Mixed Integer Quadratic Programming (MIQP), and the distance constraint may be solved by rewriting Equation 3 to 4 or-relations, respectively, for xi, xj, yi and yj.
  • MIQP Mixed Integer Quadratic Programming
  • Equation 3 Equation 3 to 4 or-relations, respectively, for xi, xj, yi and yj.
  • Equation 3 4 or-relations, respectively, for xi, xj, yi and yj.
  • Equation 3 4 or-relations
  • ⁇ T(t) [j] is the polynomial trajectory function for UAV number p, where j is the iteration number of the sequential solution to the optimization problem.
  • the UAV number p may represent a prioritization number of the UAVs.
  • the prioritization numbers p may be predetermined prioritization numbers, e.g. determined and set in the initialization step.
  • Part II defines that for one or more steps j, each step comprises determining an adapted polynomial trajectory function ⁇ T(t) [j] for at least one of the plurality of UAVs 101.
  • the iteration continues at least as long as the determined polynomial trajectory function of the UAVs (opT refers to the actually processed UAV and o-pT refers to the other UAVs) does not satisfy the constraints as expressed by ⁇ , where defines the space that satisfy the constraints.
  • the solution to the trajectory of each UAVs takes into account the adapted trajectories of other UAVs. This represent a significant advantage of the method.
  • the UAVs determines the adapted trajectory functions in order of the predetermined priorities p, and similarly broadcasts the determined adapted trajectory function in the same order to lower prioritized drones, improves the computation so that convergence of the solution to the optimization problem is guaranteed and possibly faster as compared to a more random processing of the adapted trajectory functions where the order of the determination and broadcasting of the adapted trajectory functions is not predetermined or is random.
  • the process ends when the lowest prioritized UAV determines its adapted trajectory.
  • the broadcasting of the adapted trajectory function to lower prioritized drones may be performed so that one UAV broadcasts to the one or more lower prioritized UAVs at one time or in one operation.
  • the adapted trajectory function may be broadcasted to lower prioritized UAVs in a peer-to-peer process where the adapted trajectory function for a higher prioritized UAV (with priority p) is broadcasted from the higher prioritized UAV (with priority p) to one lower prioritized UAV (with priority p-1).
  • the lower prioritized UAV (with priority p-1) broadcasts the adapted trajectory function for the higher prioritized UAV (with priority p), to the still lower prioritized UAV (with priority p-2).
  • the peer-to- peer broadcasting method may be advantageous in that it requires a lower broadcasting distance and thereby lower signal strength of the broadcasting signal.
  • the determination of the adapted polynomial trajectory functions ⁇ T(t) [j] comprises determining the parameters ⁇ of the polynomial trajectory functions based on determining a solution of the dynamic function (eq. 2) so that the solution approaches the optimal solution of the dynamic function and so that the adapted solution approaches the one or more constraints (eq. 3).
  • the iterations in part II of the algorithm may be stopped at any iteration j, e.g. if there is no longer time for computing further iterations of the optimization, or the algorithm stops as soon as the one or more constraints are satisfied.
  • Part III of the algorithm is a further optional optimization of the algorithm. Part III determines the same optimization of the polynomial trajectory function ⁇ T(t) [j] in line 14 as in line 6. However, the optimization continues until the difference between the value of the optimization problem, e.g. the value of the time integral in eq. 1, of the present iteration step j and the previous iteration step j-1, is greater than the threshold ⁇ .
  • the optimization of the adapted trajectory function r(t) may continue, e.g. according to part III of the algorithm, by optimizing the trajectory function in one or more iteration steps j, wherein each step comprises determining the adapted trajectory function r(t) for at least one of the plurality of UAVs based on the adapted trajectory function of the previous step of the respective UAV and at least some of the other UAVs, wherein the adaptation of the trajectory functions comprises determining the parameters ⁇ based on determining a solution of the dynamic function so that the solution approaches the optimal solution of the dynamic function while the adapted solution satisfies the constraint.
  • the further optimization may be stopped when the solution of the dynamic function satisfies a stop criteria, e.g. when further reductions of the optimization function becomes less than the threshold
  • each UAV is configured with adapted trajectory functions r(t), or data determined therefrom, so that the control signal or control data can be determined for each UAV for controlling each UAV to fly according to the adapted trajectory function r(t) at least for the current time horizon Tl, T2, T3.
  • the UAVs 101 may be configured with computer processing capabilities so that each UAV is capable of determining the adapted trajectory function r(t) locally by use of the UAVs computer processing capabilities and adapted trajectory functions r(t) transmitted from other UAVs via a communication network 190.
  • the adapted trajectory functions r(t) of one or more of the UAVs may be determined centrally by use of a centrally located computer processing capability 191.
  • the UAVs 101 optionally the centrally located computer processing capability 191, comprises communication functions such as radio transmitters and receivers capable of transmitting and receiving digital data.
  • the transmission of data from one UAV to another may be performed directly or via a central transmission/receiver relay 192.
  • Fig. IB shows the system 100 for multi-UAV coordination.
  • a plurality of UAVs 101, optionally a computer processing unit 191 and optionally a transmission/receiver relay 192 are wirelessly connected via a communication network 190.
  • the system 100 comprises a calculation system 170 for determining the adapted trajectory functions r(t) for each of the cooperating UAVs 101.
  • the calculation system 170 may comprise distributed calculation units such as the distributed calculation units of the UAVs, or the calculation unit 170 may comprise a central calculation unit such as the computer processing unit 191.
  • the system 100 further comprises UAV control systems 180, which may be constituted by distributed UAV control systems 180, one for each UAV 101.
  • the UAV control system 180 determines the control input 181 for controlling the UAV to follow the adapted trajectory functions r(t).
  • Fig. 2 shows a flow chart which illustrates method steps for operating a plurality of UAVs and for determining the adapted trajectory function r(t) of a plurality of UAVs 101.
  • the method may start with verifying the presence of a plurality of UAVs in step 201 and evaluate if the UAVs need to cooperate in step 202, e.g. if their flying paths need to be determined by determining adapted trajectory functions r(t) for the UAVs.
  • step 203 it is checked if the UAVs are able to cooperate.
  • Cooperation comprises sharing the flying plans of the UAVs such as the determined adapted trajectory functions r(t). For example, if one of the UAVs is not able to receive or transmit data from/to other UAVs, or is not able to determine its adapted trajectory function r(t), the UAV is not capable of cooperating.
  • the flight of the non-cooperating UAV may be controlled in other ways e.g. based on the UAVs vision and localization detectors. In this situation the other UAVs may still have to include the non-cooperating UAV in the determination of their adapted trajectory functions r(t). This may be achieved in step 204 by predicting the motion of the non-cooperating UAV and including the predicted motion in the determination of the adapted trajectory functions r(t). That is, the trajectory functions r(t) for a non-cooperating UAV can be replaced with the predicted motion r_pred(t).
  • the determination of the predicted motion of a non-cooperating UAV may be performed by other UAVs, e.g. by surveillance or perception systems such as imaging, radar or Lidar systems.
  • the predicted motion may only be accurate for a limited future time horizon. Accordingly, in order to account for the limited accuracy, the time horizons Tl, T2, T3 may be changed to have a shorter duration.
  • Fig. 3 shows an example of additional steps 301-303 for estimating motion of non-cooperating UAVs.
  • the other steps in Fig. 3 are identical to those of Fig. 2.
  • step 301 the non-cooperating UAVs are recognized and their current positions are determined, e.g. by use of the surveillance systems of other UAVs, such as on-board sensors, e.g. vision or radar sensors, of other UAVs.
  • the motion of the non-cooperating UAVs are monitored for a period of time in step 302.
  • an estimate of the future motion of the non-cooperating UAVs are determined in step 303, and the estimates are used in step 207 for determining the adapted trajectory functions r(t) for the other cooperating UAVs 101.
  • the non-cooperating UAVs 100 may themselves be able to determine their current positions, and/or to estimate their future motion and to transmit the associated data to the other cooperating UAVs or a central processing unit 191 so that the adapted trajectory functions r(t) can be determined.
  • the method may include the steps of 1) determining if any of the plurality of UAVs 101 are not able to determine or transmit the adapted trajectory functions to the other UAVs, and if this is the case, 2) predicting future locations x,y,z of the one or more non-cooperating UAVs, and 3) determining adapted trajectory functions r(t) for the one or more UAVs 101 based on the predicted future locations x,y,z.
  • the cooperating UAVs may be given priorities in step 205, which may be used in step 206 for determining the order in which the adapted trajectory functions r(t) are determined, or for assigning UAV numbers p to the UAVs.
  • the nested loops for determining the adapted trajectory functions r(t) for each participating UAV p runs as follows:
  • Jstop may be an arbitrary number and Ptot is the number of participating UAVs.
  • I step 208 if there are lower prioritized UAVs, the update of the adapted trajectory function r(t) determined in this iteration is broadcasted to other lower prioritized UAVs.
  • the update of the adapted trajectory function r(t) determined in this iteration is broadcasted to other lower prioritized UAVs.
  • the adapted trajectory function r(t) is determined for all other lower prioritized UAVs.
  • the so-far determined adaptation of the trajectory function is provided to other UAVs, at least lower prioritized UAVs, so that further iterations of determining adapted trajectory functions r(t) include the previously determined adapted trajectory functions r(t).
  • Calculate trajectory for UAV p (e.g. r_p(t) is determined based on trajectories from higher prioritized UAVs, such as r_p-l(t), r_p-2(t), etc.) Share with UAVs of lower priority p End loop
  • each UAV p one by one, will share its trajectory to lower prioritized UAVs.
  • step 209 it is checked if a feasible solution is found, i.e. if the determined adapted trajectory functions r(t) satisfy all of the one or more constraints. If this is not the case, it is checked in step 210 if further iterations are allowed, e.g. due to time constraints which may be set if the adapted trajectory functions r(t) are determined during flight to ensure that iterations have been stopped before entering the following time horizon T2.
  • the iterations for determining adapted trajectory functions r(t) may continue in steps 207, 208, 211 if further iterations are allowed in step 210, otherwise, the iterations are completed and the determined adapted trajectory functions r(t) are executed by the UAVs (step 215), which involves determination of control input to the UAV during the flight.
  • the flight may be continued based on other strategies, e.g. based on the UAVs own surveillance or perception systems.
  • such other strategies may comprise safety rules, such as safety distance to obstacles, which are checked in real-time during the flight. For example, if a UAV suddenly notices that the next step of executing the adapted trajectory function r(t) violates the safety rules, the UAV may be programmed to switch from executing the predetermined adapted trajectory function r(t) to a quick and safety-guaranteed procedure, e.g. based on continuously measured distances to obstacles.
  • An example of a safety response could be: switch the moving direction as long as the obstacles/other UAVs are too close.
  • step 212 if the determined adapted trajectory functions r(t) satisfies the one or more constraints in step 209, it is checked in step 212 if further iterations are allowed, as in step 210, or if further improvements of the adaptations of the trajectories r(t) are wanted. If not, the adapted trajectory functions r(t) are executed in step 213.

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

The invention relates to a method for controlling a plurality of UAVs. The method comprises determining an initial trajectory function for each of the UAVs, and in one or more steps, for each step determining an adapted trajectory function for at least one of the plurality of UAVs based on the initial trajectory function or the adapted trajectory function of the previous step of the respective UAV and at least some of the other UAVs, wherein the adaptation of the trajectory functions comprises determining the parameters based on determining a solution of a dynamic function so that the solution approaches an optimal solution of the dynamic function subject to one or more constraints, and configuring the plurality of UAVs with the adapted trajectory functions determined in a final step so as to follow the adapted trajectory function at least for the period.

Description

A METHOD FOR CONTROLLING A PLURALITY OF UAVs
FIELD OF THE INVENTION
The invention relates to flight control of a plurality of UAVs, such as coordination of a plurality of UAVs.
BACKGROUND OF THE INVENTION
Autonomous UAVs can be used for inspection tasks, surveillance, reconnaissance, search and rescue operations, delivery services and many other purposes. Some of these operations can benefit from use of a plurality of autonomous UAVs. However, configurations with a plurality of UAVs puts further challenges to autonomous control methods used for achieving autonomous flight of the UAVs.
US 8,639,396 Bl discloses a method for multi UAV coordination which includes accessing first target information associated with a first target visible to a first UAV at a first time and accessing second target information, received from a neighboring UAV, associated with a second target visible to the neighboring UAV at the first time. The method further includes combining the first target information and the second target information to generate combined target information and determining, based on the combined target information, a predicted location for the first and second targets at a second time. The method further includes determining a planned route for the first UAV for the second time by solving an optimization problem, the optimization problem accounting for the determined predicted location for the first and second targets, kinematic constraints associated with the first UAV and the neighboring UAV, and line-of- sight constraints associated with the first UAV and the neighboring UAV.
Whereas US 8,639,396 Bl addresses some aspects of multi-UAV control, the inventors have realized that other aspects of multi-UAV control still need to be improved and have therefore devised the present improvements.
SUMMARY OF THE INVENTION
It is an object of the invention to improve methods for performing autonomous flight of the UAVs, such as improving flight ranges, degree of autonomous performance, utilization of data from cooperating UAVs such using data for improving multi-UAV flight.
In an first aspect of the invention there is provided a method for controlling a plurality of UAVs which comprises
- providing a trajectory function r(t) describing future positions of any one of the UAVs as a function of time within a prediction period, wherein the positions depend on parameters of the trajectory function,
- providing a dynamic function being a function of a derivative of the positions, optionally the derivative of an orientation, of any one of the UAVs, wherein the dynamic function being subject to a constraint defines an optimization problem, and wherein,
- the constraint comprises at least a distance constraint for distances between at least two of the plurality of UAVs defined as a function of the future positions of the UAVs,
-associating priorities (p) to the plurality of UAVs,
- in one or more steps (j), for each step determining an adapted trajectory function r(t) for each of the UAVs in succession of the priorities, and for priorities lower than the highest priority, determining the adapted trajectory function r(t) based on adapted trajectory functions comprising adapted trajectory functions of one or more higher prioritized UAVs, i.e. previously determined adapted trajectory functions comprising previously determined adapted trajectory functions of one or more higher prioritized UAVs, wherein the adaptation of the trajectory functions comprises determining the parameters based on determining a solution of the dynamic function so that the solution approaches the optimal solution of the dynamic function subject to the constraint,
- configuring the plurality of UAVs with the adapted trajectory functions determined in a final step so as to follow the adapted trajectory function at least for the period.
Since the constraint is defined as a function of the future positions of the UAVs, the constraint may be adapted dependent on the environment, e.g. dependent on obstacles and other conditions of the environment of the planned flying path. Advantageously, by determining the adapted trajectory function r(t) for each of the UAVs in succession of the priorities as specified, the computation method guarantees or at least improves convergence and convergence speed of the computation of adapted trajectories.
Advantageously, by executing the adapted trajectory functions only after the final step, it is ensured than non-optimal or incomplete trajectories are not executed.
Advantageously, since the determination of the adapted trajectory function r(t) for one of the UAVs such as for a first UAV is based on the adapted trajectory function of the previous step of said first UAV and at least some of the other UAVs, such as the second and third UAVs, the determination of the adapted trajectory for the first UAV, as well as for the second and third UAVs, takes into account the so-far determined trajectory adaptations within each iteration step.
Due to the sharing of adapted trajectories of other UAVs, the finally determined adaptations of the trajectory functions may lead to improved flight ranges and improved autonomous flight performance, particularly when multiple UAVs operate near each other.
According to an embodiment, for each of the steps, the adapted trajectory function of a higher prioritized UAV is transmitted to one or more lower prioritized UAVs, prior to determining the adapted trajectory function of the lower prioritized UAV.
The adapted trajectory functions may be transmitted via a communication network. Advantageously, by transmitting only to lower prioritized UAVs, lower bandwidth is required since the number transmission processes are reduced.
Additionally, the adapted trajectory function of the previous step of at least some of the other UAVs may be transmitted via a communication network such as a WiFi network. For example, the adapted trajectory of the lowest prioritized UAV of the previous iteration step may be transmitted to the highest prioritized UAV initially in the present iteration step. Thus, by broadcasting adaptation results for each iteration step, the accuracy of the determined flying paths may be improved as well as being adapted to possible obstacles being detected by one or more UAVs.
According to an embodiment, the method further comprises
- in a first of the one or more steps, determining an initial trajectory function r(t)[j=O] for each of the UAVs, and
- for each of the steps, such as steps succeeding the first step, determining an adapted trajectory function r(t) for at least one of the plurality of UAVs based on the initial trajectory function or the adapted trajectory function of the previous step of the respective UAV and at least some of the other UAVs.
According to an embodiment, the distance constraint specifies a minimum distance and a maximum distance between at least two of the plurality of UAVs.
Advantageously, by setting the distance constraint as a range of allowed distances, the adapted trajectory can be determined to take into account obstacles in the flying path. The minimum distance ensure a safe flying distance, while the maximum distance ensures communication between the UAVs.
Alternatively, the distance constraint may specify only a maximum distance between at least two of the plurality of UAVs.
Additionally or alternatively, the distance constraint may comprise a minimum distance and a maximum distance, such as a range of allowed distances, between a given UAV and an obstacle in order to determine adapted trajectories enabling the UAVs to pass the obstacle in an optimal way.
According to an embodiment, the initial trajectory function defines future positions and associated times to be met by each of the UAVs. Accordingly, the initial trajectory function defines an initially determined path for the UAVs which is used for determining the further adaptations of the flying paths, i.e. trajectory functions.
According to an embodiment, the determination of the adapted trajectory function r(t) is performed locally on the UAVs for which the adapted trajectory function is determined. Advantageously, each or at least some of the UAVs are configured with data processing capabilities so that the adaptations of the flying paths can be determined locally instead of requiring bandwidth and transmission time for communicating data to and from a centrally located data processor.
According to an embodiment, the determination of the adapted trajectory function r(t) in one or more steps are continued until a constraint is satisfied or until a computation time has lapsed. Advantageously, there is insufficient time, a non- optimal flying path can be used for the future flying paths.
According to an embodiment, the method further comprises
- after a solution to the adapted trajectory function r(t) for at least one of the plurality of UAVs has been determined, where the solution satisfies the constraint,
- continue with performing one or more further steps, wherein each step comprises determining the adapted trajectory function r(t) for each of the UAVs in succession of the priorities, and for priorities lower than the highest priority, determining the adapted trajectory function r(t) based on adapted trajectory functions comprising adapted trajectory functions of one or more higher prioritized UAVs , wherein the adaptation of the trajectory functions comprises determining the parameters based on determining a solution of the dynamic function so that the solution approaches the optimal solution of the dynamic function subject to the constraint,
- stop performing more steps, when the solution of the dynamic function satisfies a stop criteria.
Advantageously, if there is sufficient time, e.g. sufficient time provided by pausing or slowing down the flight, an optimal solution to the flying paths may be determined.
Additionally or alternatively, each step may comprise determining the adapted trajectory function r(t) for at least one of the plurality of UAVs based on the adapted trajectory function of the previous step of the respective UAV and at least some of the other UAVs. According to another embodiment, the constraint comprises a time constraint specifying a time slot. Advantageously, a time slot may be specified as a constraint, e.g. for planning a future period of time to be used for various purposes, such a data communication, surveillance tasks, and other tasks performed by the UAVs.
According to an embodiment, the constraint comprises a data communication constraint which restricts or prohibits data communication between at least some of the plurality of UAVs. The bandwidth capabilities e.g. for broadcasting data between UAVs may be known, e.g. in the form of a heat map of bandwidth capabilities or a connectivity matrix. Thus, in areas of low bandwidth capability, the UAVs may be prohibited, at least partially, from sharing data. Thus, the adapted trajectories may be determined to take such communication restrictions into account.
According to an embodiment, the method comprises
- determining if any of the plurality of UAVs are not able to determine or transmit the adapted trajectory functions to the other UAVs, and
- predicting future locations of the UAVs which are not able to determine or transmit the adapted trajectory functions,
- wherein the determination of the adapted trajectory function r(t) for at least one of the plurality of UAVs is further based on the predicted future locations. Advantageously, in case where one or more UAVs are not capable of transmitting their adapted trajectory functions, the determination of the adapted trajectories for other UAVs may be based on predicted future locations of the UAVs which are not capable of transmitting the adapted trajectory functions instead of broadcasted trajectory functions. The predictions may be based on e.g. image data from perception systems of one or more of the UAVs which are capable of broadcasting data, or based only on data from perception system of the UAV which also determines the adapted trajectory functions.
According to an embodiment, the method comprises the step of
- after lapse of the period, repeat the step of determining an adapted trajectory function r(t) for at least one of the plurality of UAVs based on the adapted trajectory function of the previous step of the respective UAV and at least some of the other UAVs.
According to an embodiment, an execution of the adapted trajectory function of one or more of the UAVs as configured, is stopped and operation of the one or more UAVs is continued based on data obtained from a perception system of the one or more UAVs.
According to an embodiment, the method comprises monitoring a security condition, such as a safe distance to obstacles, wherein the stop of the operation of the one or more UAVs is executed based on the security condition.
Advantageously, by shifting to a planned trajectory based flight to a flight based on real time monitored data such as image or distance data, unexpected obstacles can, i.e. obstacles which were not taken into account in the determination of the adapted trajectory functions, can be handled so that secure flight can be continued based on the perception system until the flight can be continued based on the adapted trajectory functions.
A second aspect of the invention relates to a calculation system for a plurality of UAVs arranged to perform the method of the first aspect.
A third aspect of the invention relates to a computer program product comprising software code adapted to control a UAV when executed on a data processing system, the computer program product being adapted to perform the method of the first aspect.
BRIEF DESCRIPTION OF THE DRAWINGS
Embodiments of the invention will be described, by way of example only, with reference to the drawings, in which
Fig. 1A illustrates a flight task to be performed by a plurality of UAVs, Fig. IB shows the system for multi-UAV coordination,
Fig. 2 shows a flow chart for operating a plurality of UAVs, and 73078PC01 8 Fig. 3 a flow chart for operating a plurality of UAVs further based on perception data. DETAILED DESCRIPTION 5 Fig. 1A illustrates a flight task to be performed by a plurality of UAVs 101, and principally illustrates a solution according to an embodiment of the invention. The abbreviation UAV refers to Unmanned Aerial Vehicles also known as drones. The UAV 101 may be any unmanned aerial vehicle, also known as an unmanned 10 aerial vehicle or a UAV, i.e. an air craft, e.g. a small sized air craft, without a human pilot aboard. The UAV may additionally have capabilities for moving on ground typically, e.g. means of wheels or belts. Two UAVs 101 have starting or initial locations A1 and A2, which may be ground 15 locations or air locations. The flight task defines that the UAVs must fly from the initial locations A1, A2 to the target location D. According to this example, the flight task further defines intermediate locations B and C and an obstacle 110 such as a tunnel, corridor or fence, i.e. an obstacle 110 that must be passed with sufficient clearance to the obstacle 110. 20 The initial, target and intermediate locations may be defined by one or more coordinates in space, or on ground, or as a volume or area in space or on ground. According to an embodiment, one or more adapted trajectory functions r(t) are determined for each UAV to perform the flight from the initial location A1, A2 to 25 the target location D. In general a plurality of adapted trajectory functions r(t) are determined, where each adapted trajectory function r(t) describes a fraction of the flight path from the initial location A1, A2 to the target D, such as fractions defining flight paths 30 between locations A1, B, C, D. Each adapted trajectory function r(t) has an associated time horizon T1, T2, T3, defining a time constraint for to be met for flying the trajectory defined by the adapted trajectory function r(t), or defining a time target which need not 35 necessarily be met with high accuracy. The time horizons Tl, T2, T3 may be determined according to a desired time for flying a distance, speed limitations of UAVs or the environment surrounding the flight path, communication limitations for transmitting data between UAVs.
The period of the time horizons Tl, T2, T3 are commonly defined as a prediction period T which may be different for each time horizon and defines the periods T of the adapted trajectory functions r(t). Each time horizon Tl, T2, T3 may be different for different UAVs 101.
For example, UAV 101 may be required to be at location B at t=Tl, at location C at t=T2, etc.
Before the UAVs take off from the initial locations Al, A2, the adapted trajectory functions r(t) are determined for each UAV 101. After determination of these, the adapted trajectory functions r(t) are executed by each UAV. Adapted trajectory functions r(t) for the following fractions of the flight path to the target location D, may be determined during the execution of the previous trajectory function r(t) so that they are finally determined shortly before the UAVs reach the location B, or shortly before the first time horizon expires.
Thus, at time t=Tl-At, the adapted trajectory functions r(t) for the flight from B to C may be determined, where At represents a minimal buffer time between the completion of determining adapted trajectory functions and the start of the next time horizon.
The initial trajectory functions r(t) for the initial fraction Al-B, A2-B of the flight path from the initial location Al, A2 may be determined based on a first nonoptimized determination of a possible flight path which brings the UAVs from Al, A2 to B while avoiding known obstacles.
The following adapted trajectory functions for flying the following fraction B-C of the flight path, may be based on the adapted trajectory functions r(t) used for the execution of the previous fractions of the flight path Al-B, A2-B (together with the broadcasted trajectory functions of other cooperating UAVs for the following fraction B-C) or an extrapolation thereof, or may be based on initial adapted trajectory functions r(t) for the fraction B-C of the flight path, or a combination thereof.
For example, the trajectory functions r(t) used for the execution of the previous fractions of the flight path Al-B, A2-B provides the starting points for the following adapted trajectory for the following fraction B-C of the flight path, where the first iteration of determining the adapted trajectory functions r(t) for the following adapted trajectory may be determined based on said starting points, the desired intermediate location C and other known constraints such as the physical constraints defined by obstacles 110.
The determination of the initial adapted trajectory functions for the following fraction B-C may further be determined based on conditions of short moving distance and minimum changes of the velocity during the flight of that fraction.
Equation 1 below is an example of a piece-wise polynomial trajectory function δT(t) which is formed based on a combination of piece-wise polynomial functions t^p of order np over nw sub-periods of the prediction period T, where parameters Φ p,w are coefficients of each term t^p. This examples refers to Φ p,w, but in general embodiments may be based on other parameters Φ
Figure imgf000012_0001
Each coordinate x,y,z of the initial and adapted trajectory functions r(t) are determined from the polynomial trajectory function δT(t), i.e. so that the x component of r(t) is given by one set of parameters Φ p,w, the y component of r(t) is given by another set of parameters Φ p,w, etc. The maximum of index p is np, and the maximum of index w is nw.
Accordingly, the trajectory function r(t) may be based on the above polynomial trajectory function δT(t), so that the trajectory function r(t) describes future positions x,y,z of any one of the UAVs 101 as a function of time t within a prediction period T, and where the positions x,y,z depend on parameters Φ of the trajectory function r(t). Clearly, the trajectory function r(t) may be based on other linear or non-linear polynomial trajectory functions.
It is noted that although the prediction period T normally constitutes a fraction of the time for flying from the initial locations Al, A2 to the target location D, it is also possible that prediction period T constitutes the entire period for flying from the initial locations Al, A2 to the target location D. Similarly, the entire flight path from the initial location Al, A2 to the target location D may be described by a single adapted trajectory function r(t), instead of a plurality of adapted trajectory functions r(t) for different time horizons Tl, T2, T3.
The UAV has limitations with respect to dynamic capabilities such as acceleration limitations in the x, y and z directions and in rotational directions such as yaw rotations, i.e. rotations about a center axis of the UAV which is parallel with the rotor axis of the one or more rotors, roll and pitch rotations.
Accordingly, the adapted trajectory functions r(t) is determined by solving an optimization problem which includes the dynamic function which is a function of a time derivative of the positions x,y,z, and optionally the derivative of an orientation ψ , such as the yaw, of any one of the UAVs 101.
Equation 2 below is an example of a dynamic function included in a optimization problem, i.e. the solution to the adapted trajectory functions r(t) is a solution which minimizes or maximizes the optimization problem, or partially minimizes/optimizes the optimization problem. In this example, the optimized solution minimizes the optimization problem.
Figure imgf000013_0001
ur and uψ are constant parameters that make the function dimensionless, i.e. independent of any particular unit, such as distance and time. According to this example, equation 2 determines the 4th derivative of the position vector r(t), i.e. the trajectory function r(t), and the 2nd derivative of the orientation Ψ (t). The determined adapted trajectory function r(t) and the determined orientation (t)) are used for determining the control input to the UAV 101, i.e. control signals for controlling e.g. direction in 3D, UAV orientation, speed and acceleration.
Thus, the optimization problem generates an adapted trajectory r(t) that minimizes the integral of the 4th derivative of the position vector r(t) squared and the 2nd derivative of the orientation i (t), here yaw angle, squared.
The dynamic function is required in order to determine an adapted trajectory function r(t), which converts into an applicable, efficient and smooth control of the UAV 101, i.e. a control that satisfies the dynamic capabilities of the UAV.
The determination of the adapted trajectory function r(t) which minimizes the optimization problem is subject to one or more constraints.
The one or more constraints comprise at least a distance constraint for distances between two or more of the UAVs 101 which is defined as a function of the future positions x,y,z of the adapted trajectory functions r(t) of the UAVs 101.
Other constraints may define distance requirements to obstacles 110.
The one or more constraints may also include a mobility limitation of the one or more UAVs, e.g. a maximum speed and a maximum thrust.
The distance constraint may specify a maximum distance between at least two of the plurality of UAVs 101, e.g. a maximum distance which should not be exceeded during a given period of time or during a fraction of the flight path. For example, the constraint on a maximum distance may be used for maintaining a data communication link between UAVs for a certain period of time, e.g. to ensure a high data communication quality. The one or more constraints may also include time constraints specifying a time slot. For example, a given time slot may be specified where transmission of data from a UAV is requested.
Similarly, the one or more constraints may include location constraint, such as a position, path range, or area a given position, specifying that the UAV should be at that location, e.g. at a given time or period of time, e.g. for the purpose of planning transmission of data from a UAV at that location.
Equation 3 is an example of a safe distance constraint defined for each UAV over the flying time, e.g. the time of one of the time horizons Tl, T2, T3.
Figure imgf000015_0001
Equation 3 defines that the distance at any time tk between UAV number i and UAV number j must be greater than drij. Optionally, the distance requirement may depend on the direction of the vector of difference of the two position vectors riT, rjT of equation 3. In this case, equation 3 defines that the distance at any time tk from UAV number i to UAV number j must be greater than drij. That is, drij is possible not the same as drji which may be the case when the sizes of UAV number i and UAV number j are different. A larger UAV usually can handle a shorter distance.
The distance constraint may specify a range of allowed distances for distances between two or more of the UAVs 101 as a function of the future positions of the trajectory functions r(t) of the UAVs 101. For example, the distance constraint may specify the above mentioned maximum distance between at least two of the plurality of UAVs 101 and a minimum distance (safe distance) such as the above mentioned minimum distance drij.
For example, the optimization problem may be written in the form of Mixed Integer Quadratic Programming (MIQP), and the distance constraint may be solved by rewriting Equation 3 to 4 or-relations, respectively, for xi, xj, yi and yj. For convenience, the example is illustrated in 2D, but is straightforwardly formulated in 3D. The or relations are converted to and-relations by involving binary variables as follows:
Figure imgf000016_0001
where M is a large positive number, bkn, is a binary variable.
The algorithm below shows an example for solving the optimization problem.
1 I. Initialization:
Figure imgf000016_0002
δT(t) [j] is the polynomial trajectory function for UAV number p, where j is the iteration number of the sequential solution to the optimization problem. The UAV number p may represent a prioritization number of the UAVs.
The prioritization numbers p may be predetermined prioritization numbers, e.g. determined and set in the initialization step.
Part II defines that for one or more steps j, each step comprises determining an adapted polynomial trajectory function δT(t) [j] for at least one of the plurality of UAVs 101.
In the first iteration, the polynomial trajectory function δT(t) [j = 1] is determined based on the initial polynomial trajectory function δT(t) [j=0] in line 6.
In line 7, the determined trajectory function δT(t) [j = 1] is broadcasted to other UAVs, such as all or a fraction of the other UAVs.
The iteration continues at least as long as the determined polynomial trajectory function of the UAVs (opT refers to the actually processed UAV and o-pT refers to the other UAVs) does not satisfy the constraints as expressed by ξ , where defines the space that satisfy the constraints.
In the next and following iterations for j> 1, the polynomial trajectory function δT(t) [j= 1] is determined based on the polynomial trajectory function δT(t) [j] of the previous step of the respective UAV and the polynomial trajectory functions δT(t) [j] of at least some of the other UAVs 101.
Since the determined adapted polynomial trajectory function δT(t) [j] is broadcasted for each step, and the broadcasted polynomial trajectory functions δT(t) [j] of other UAVs is used in each step for determining the adapted polynomial trajectory function δT(t) [j] of a given UAV, the solution to the trajectory of each UAVs takes into account the adapted trajectories of other UAVs. This represent a significant advantage of the method. Since the UAVs determines the adapted trajectory functions in order of the predetermined priorities p, and similarly broadcasts the determined adapted trajectory function in the same order to lower prioritized drones, improves the computation so that convergence of the solution to the optimization problem is guaranteed and possibly faster as compared to a more random processing of the adapted trajectory functions where the order of the determination and broadcasting of the adapted trajectory functions is not predetermined or is random.
The broadcasting of the adapted trajectory functions may be performed so that the adapted trajectory function determined for the higher prioritized UAV, e.g. the UAV with priority p= l, is broadcasted to all lower prioritized UAVs, or at least a fraction of the lower prioritized UAVs. Subsequently, the UAV with the next highest priority, e.g. the UAV with priority p=2, determines its adapted trajectory and broadcasts to one or more of the lower prioritized UAVs. The process ends when the lowest prioritized UAV determines its adapted trajectory. The process then continues in the same way with the next iteration j=j+ 1. In the next iteration, e.g. j = 2, the adapted trajectory functions, including the adapted trajectory function for the highest prioritized UAV with priority p= l, may be determined based on adapted trajectory functions determined in one or more previous iterations.
The broadcasting of the adapted trajectory function to lower prioritized drones may be performed so that one UAV broadcasts to the one or more lower prioritized UAVs at one time or in one operation. Alternatively, the adapted trajectory function may be broadcasted to lower prioritized UAVs in a peer-to-peer process where the adapted trajectory function for a higher prioritized UAV (with priority p) is broadcasted from the higher prioritized UAV (with priority p) to one lower prioritized UAV (with priority p-1). The lower prioritized UAV (with priority p-1) broadcasts the adapted trajectory function for the higher prioritized UAV (with priority p), to the still lower prioritized UAV (with priority p-2). The peer-to- peer broadcasting method may be advantageous in that it requires a lower broadcasting distance and thereby lower signal strength of the broadcasting signal. The determination of the adapted polynomial trajectory functions δT(t) [j] comprises determining the parameters Φ of the polynomial trajectory functions based on determining a solution of the dynamic function (eq. 2) so that the solution approaches the optimal solution of the dynamic function and so that the adapted solution approaches the one or more constraints (eq. 3).
The example explained with reference to the algorithm determines the adapted polynomial trajectory functions δT(t) [j], which is equivalent to determining the adapted trajectory functions r(t)[j] . According, the polynomial trajectory functions δT(t) [j] in the algorithm can be replaced with the adapted trajectory functions r(t)[j].
The iterations in part II of the algorithm may be stopped at any iteration j, e.g. if there is no longer time for computing further iterations of the optimization, or the algorithm stops as soon as the one or more constraints are satisfied.
Part III of the algorithm is a further optional optimization of the algorithm. Part III determines the same optimization of the polynomial trajectory function δT(t) [j] in line 14 as in line 6. However, the optimization continues until the difference between the value of the optimization problem, e.g. the value of the time integral in eq. 1, of the present iteration step j and the previous iteration step j-1, is greater than the threshold ∈.
Accordingly, after a solution to the adapted trajectory function r(t) has been determined, e.g. according to part II of the algorithm, the optimization of the adapted trajectory function r(t) may continue, e.g. according to part III of the algorithm, by optimizing the trajectory function in one or more iteration steps j, wherein each step comprises determining the adapted trajectory function r(t) for at least one of the plurality of UAVs based on the adapted trajectory function of the previous step of the respective UAV and at least some of the other UAVs, wherein the adaptation of the trajectory functions comprises determining the parameters Φ based on determining a solution of the dynamic function so that the solution approaches the optimal solution of the dynamic function while the adapted solution satisfies the constraint. The further optimization may be stopped when the solution of the dynamic function satisfies a stop criteria, e.g. when further reductions of the optimization function becomes less than the threshold
∈.
After the adapted polynomial trajectory functions δT(t) [j] have been determined for the UAVs 101, and thereby the adapted trajectory functions r(t), each UAV is configured with adapted trajectory functions r(t), or data determined therefrom, so that the control signal or control data can be determined for each UAV for controlling each UAV to fly according to the adapted trajectory function r(t) at least for the current time horizon Tl, T2, T3.
The UAVs 101 may be configured with computer processing capabilities so that each UAV is capable of determining the adapted trajectory function r(t) locally by use of the UAVs computer processing capabilities and adapted trajectory functions r(t) transmitted from other UAVs via a communication network 190.
Alternatively, the adapted trajectory functions r(t) of one or more of the UAVs may be determined centrally by use of a centrally located computer processing capability 191.
Accordingly, the UAVs 101, optionally the centrally located computer processing capability 191, comprises communication functions such as radio transmitters and receivers capable of transmitting and receiving digital data.
The transmission of data from one UAV to another may be performed directly or via a central transmission/receiver relay 192.
Fig. IB shows the system 100 for multi-UAV coordination. A plurality of UAVs 101, optionally a computer processing unit 191 and optionally a transmission/receiver relay 192 are wirelessly connected via a communication network 190.
The system 100 comprises a calculation system 170 for determining the adapted trajectory functions r(t) for each of the cooperating UAVs 101. The calculation system 170 may comprise distributed calculation units such as the distributed calculation units of the UAVs, or the calculation unit 170 may comprise a central calculation unit such as the computer processing unit 191. The system 100 further comprises UAV control systems 180, which may be constituted by distributed UAV control systems 180, one for each UAV 101. The UAV control system 180 determines the control input 181 for controlling the UAV to follow the adapted trajectory functions r(t).
Fig. 2 shows a flow chart which illustrates method steps for operating a plurality of UAVs and for determining the adapted trajectory function r(t) of a plurality of UAVs 101.
The method may start with verifying the presence of a plurality of UAVs in step 201 and evaluate if the UAVs need to cooperate in step 202, e.g. if their flying paths need to be determined by determining adapted trajectory functions r(t) for the UAVs.
In step 203 it is checked if the UAVs are able to cooperate. Cooperation comprises sharing the flying plans of the UAVs such as the determined adapted trajectory functions r(t). For example, if one of the UAVs is not able to receive or transmit data from/to other UAVs, or is not able to determine its adapted trajectory function r(t), the UAV is not capable of cooperating.
The flight of the non-cooperating UAV may be controlled in other ways e.g. based on the UAVs vision and localization detectors. In this situation the other UAVs may still have to include the non-cooperating UAV in the determination of their adapted trajectory functions r(t). This may be achieved in step 204 by predicting the motion of the non-cooperating UAV and including the predicted motion in the determination of the adapted trajectory functions r(t). That is, the trajectory functions r(t) for a non-cooperating UAV can be replaced with the predicted motion r_pred(t).
The determination of the predicted motion of a non-cooperating UAV may be performed by other UAVs, e.g. by surveillance or perception systems such as imaging, radar or Lidar systems. Clearly, the predicted motion may only be accurate for a limited future time horizon. Accordingly, in order to account for the limited accuracy, the time horizons Tl, T2, T3 may be changed to have a shorter duration.
Fig. 3 shows an example of additional steps 301-303 for estimating motion of non-cooperating UAVs. The other steps in Fig. 3 are identical to those of Fig. 2.
In step 301, the non-cooperating UAVs are recognized and their current positions are determined, e.g. by use of the surveillance systems of other UAVs, such as on-board sensors, e.g. vision or radar sensors, of other UAVs. By use of said surveillance systems, the motion of the non-cooperating UAVs are monitored for a period of time in step 302. Based on the position and motion data obtained from the surveillance systems, an estimate of the future motion of the non-cooperating UAVs are determined in step 303, and the estimates are used in step 207 for determining the adapted trajectory functions r(t) for the other cooperating UAVs 101.
Alternatively, the non-cooperating UAVs 100 may themselves be able to determine their current positions, and/or to estimate their future motion and to transmit the associated data to the other cooperating UAVs or a central processing unit 191 so that the adapted trajectory functions r(t) can be determined.
Accordingly, the method may include the steps of 1) determining if any of the plurality of UAVs 101 are not able to determine or transmit the adapted trajectory functions to the other UAVs, and if this is the case, 2) predicting future locations x,y,z of the one or more non-cooperating UAVs, and 3) determining adapted trajectory functions r(t) for the one or more UAVs 101 based on the predicted future locations x,y,z.
Optionally, the cooperating UAVs may be given priorities in step 205, which may be used in step 206 for determining the order in which the adapted trajectory functions r(t) are determined, or for assigning UAV numbers p to the UAVs.
In step 207, a first iteration (j = 1) is performed for determining the adapted trajectory function r(t) for the highest prioritized UAV 101, i.e. UAV number p, e.g. according to part II of the algorithm. The nested loops for determining the adapted trajectory functions r(t) for each participating UAV p runs as follows:
For j<Jstop, j=j + 1
For p<Ptot, p=p+l
End loop
End loop
Jstop may be an arbitrary number and Ptot is the number of participating UAVs.
I step 208, if there are lower prioritized UAVs, the update of the adapted trajectory function r(t) determined in this iteration is broadcasted to other lower prioritized UAVs. By only broadcasting to lower prioritized UAVs, wireless communication resources are saved so as to improve the communication quality.
In the present iteration j the adapted trajectory function r(t) is determined for all other lower prioritized UAVs.
Thus, for each iteration, the so-far determined adaptation of the trajectory function is provided to other UAVs, at least lower prioritized UAVs, so that further iterations of determining adapted trajectory functions r(t) include the previously determined adapted trajectory functions r(t).
In other words, the nested loops for determining the adapted trajectory functions r(t) for each participating UAV p runs as follows:
For j<Jstop, j=j + 1
For p<Ptot, p=p+l
Calculate trajectory for UAV p (e.g. r_p(t) is determined based on trajectories from higher prioritized UAVs, such as r_p-l(t), r_p-2(t), etc.) Share with UAVs of lower priority p End loop
End loop Thus, in one iteration j, each UAV p, one by one, will share its trajectory to lower prioritized UAVs.
In step 209 it is checked if a feasible solution is found, i.e. if the determined adapted trajectory functions r(t) satisfy all of the one or more constraints. If this is not the case, it is checked in step 210 if further iterations are allowed, e.g. due to time constraints which may be set if the adapted trajectory functions r(t) are determined during flight to ensure that iterations have been stopped before entering the following time horizon T2.
The iterations for determining adapted trajectory functions r(t) may continue in steps 207, 208, 211 if further iterations are allowed in step 210, otherwise, the iterations are completed and the determined adapted trajectory functions r(t) are executed by the UAVs (step 215), which involves determination of control input to the UAV during the flight.
Since a feasible solution was not found, then, for example, if a part of the adapted trajectory functions r(t) for one or more UAVs 101 does not satisfy the constraints, the flight may be continued based on other strategies, e.g. based on the UAVs own surveillance or perception systems.
For example, such other strategies may comprise safety rules, such as safety distance to obstacles, which are checked in real-time during the flight. For example, if a UAV suddenly notices that the next step of executing the adapted trajectory function r(t) violates the safety rules, the UAV may be programmed to switch from executing the predetermined adapted trajectory function r(t) to a quick and safety-guaranteed procedure, e.g. based on continuously measured distances to obstacles. An example of a safety response could be: switch the moving direction as long as the obstacles/other UAVs are too close.
Similarly, if the determined adapted trajectory functions r(t) satisfies the one or more constraints in step 209, it is checked in step 212 if further iterations are allowed, as in step 210, or if further improvements of the adaptations of the trajectories r(t) are wanted. If not, the adapted trajectory functions r(t) are executed in step 213.

Claims

23 CLAIMS
1. A method for controlling a plurality of UAVs, the method comprises
- providing a trajectory function r(t) describing future positions (x,y,z) of any one of the UAVs as a function of time (t) within a prediction period (T), wherein the positions (x,y,z) depend on parameters (Φ) of the trajectory function,
- providing a dynamic function being a function of a derivative of the positions (x,y,z), optionally the derivative of an orientation (ψ ), of any one of the UAVs, wherein the dynamic function being subject to a constraint defines an optimization problem, wherein,
- the constraint comprises at least a distance constraint for distances between at least two of the plurality of UAVs defined as a function of the future positions (x,y,z) of the UAVs,
- associating priorities (p) to the plurality of UAVs,
- in one or more steps (j), for each step determining an adapted trajectory function r(t) for each of the UAVs in succession of the priorities, and for priorities lower than the highest priority, determining the adapted trajectory function r(t) based on adapted trajectory functions comprising adapted trajectory functions of one or more higher prioritized UAVs, wherein the adaptation of the trajectory functions comprises determining the parameters (Φ) based on determining a solution of the dynamic function so that the solution approaches the optimal solution of the dynamic function subject to the constraint, and
- configuring the plurality of UAVs with the adapted trajectory functions r(t) determined in a final step (j) so as to follow the adapted trajectory function at least for the period (T).
2. A method according to claim 1, wherein for each of the steps (j), the adapted trajectory function of a higher prioritized UAV is transmitted to one or more lower prioritized UAVs, prior to determining the adapted trajectory function of the lower prioritized UAV.
3. A method according to any of the preceding claims, further comprising,
- in a first of the one or more steps (j), determining an initial trajectory function r(t)[j=0] for each of the UAVs, and
- for each of the steps (j), determining an adapted trajectory function r(t) for at least one of the plurality of UAVs based on the initial trajectory function or the adapted trajectory function of the previous step of the respective UAV and at least some of the other UAVs.
4. A method according to any of the preceding claims, wherein the distance constraint specifies a minimum distance and a maximum distance between at least two of the plurality of UAVs.
5. A method according to any of the preceding claims, wherein the initial trajectory function defines future positions (x,y,z) and associated times (tk) to be met by each of the UAVs.
6. A method according to any of the preceding claims, wherein the determination of the adapted trajectory function r(t) is performed locally on the UAVs for which the adapted trajectory function is determined.
7. A method according to any of the preceding claims, wherein the determination of the adapted trajectory function r(t) in one or more steps (j) are continued until the constraint is satisfied or until a computation time (Teal) has lapsed.
8. A method according to any of the preceding claims, wherein
- after a solution to the adapted trajectory function r(t) for at least one of the plurality of UAVs has been determined, where the solution satisfies the constraint,
- continue with performing one or more further steps (j), wherein each step comprises determining the adapted trajectory function r(t) for each of the UAVs in succession of the priorities, and for priorities lower than the highest priority, determining the adapted trajectory function r(t) based on adapted trajectory functions comprising adapted trajectory functions of one or more higher prioritized UAVs, wherein the adaptation of the trajectory functions comprises determining the parameters (Φ) based on determining a solution of the dynamic function so that the solution approaches the optimal solution of the dynamic function subject to the constraint, and
- stop performing more steps, when the solution of the dynamic function satisfies a stop criteria.
9. A method according to any of the preceding claims, wherein the constraint comprises time constraints specifying a time slot.
10. A method according to any of the preceding claims, wherein the constraint comprises a data communication constraint which restricts or prohibits data communication between at least some of the plurality of UAVs.
11. A method according to any of the preceding claims, comprising
- determining if any of the plurality of UAVs are not able to determine or transmit the adapted trajectory functions to the other UAVs, and
- predicting future locations (x,y,z) of the UAVs which are not able to determine or transmit the adapted trajectory functions,
- wherein the determination of the adapted trajectory function r(t) for at least one of the plurality of UAVs is further based on the predicted future locations.
12. A method according to any of the preceding claims, wherein
- after lapse of the period (T), repeat the step of determining an adapted trajectory function r(t) for at least one of the plurality of UAVs based on the adapted trajectory function of the previous step of the respective UAV and at least some of the other UAVs.
13. A method according to any of the preceding claims, wherein an execution of the adapted trajectory function r(t) of one or more of the UAVs as configured, is stopped and operation of the one or more UAVs is continued based on data obtained from a perception system of the one or more UAVs.
14. A method according to claim 13, comprising monitoring a security condition, such as a safe distance to obstacles, wherein the stop of the operation of the one or more UAVs is executed based on the security condition.
15. A calculation system (170) for a plurality of UAVs arranged to perform the method of any of the preceding claims. 26
16. A computer program product comprising software code adapted to control a UAV when executed on a data processing system, the computer program product being adapted to perform the method of any of the claims 1-14.
PCT/EP2021/071734 2020-08-04 2021-08-04 A method for controlling a plurality of uavs WO2022029158A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP20189363 2020-08-04
EP20189363.3 2020-08-04

Publications (1)

Publication Number Publication Date
WO2022029158A1 true WO2022029158A1 (en) 2022-02-10

Family

ID=71948487

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2021/071734 WO2022029158A1 (en) 2020-08-04 2021-08-04 A method for controlling a plurality of uavs

Country Status (1)

Country Link
WO (1) WO2022029158A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PL442932A1 (en) * 2022-11-24 2024-05-27 Uniwersytet Rzeszowski Method for intelligent scheduling of aviation tasks for unmanned aerial vehicles

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8639396B1 (en) 2008-10-08 2014-01-28 Raytheon Company Cooperative control of unmanned aerial vehicles for tracking targets

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8639396B1 (en) 2008-10-08 2014-01-28 Raytheon Company Cooperative control of unmanned aerial vehicles for tracking targets

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BAHABRY AHMED ET AL: "Low-Altitude Navigation for Multi-Rotor Drones in Urban Areas", IEEE ACCESS, vol. 7, 18 July 2019 (2019-07-18), pages 87716 - 87731, XP011735281, DOI: 10.1109/ACCESS.2019.2925531 *
MATTHEW TURPIN ET AL: "Trajectory design and control for aggressive formation flight with quadrotors", AUTONOMOUS ROBOTS, KLUWER ACADEMIC PUBLISHERS, BO, vol. 33, no. 1 - 2, 10 February 2012 (2012-02-10), pages 143 - 156, XP035068674, ISSN: 1573-7527, DOI: 10.1007/S10514-012-9279-Y *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PL442932A1 (en) * 2022-11-24 2024-05-27 Uniwersytet Rzeszowski Method for intelligent scheduling of aviation tasks for unmanned aerial vehicles

Similar Documents

Publication Publication Date Title
Wang et al. Coordinated flight control of miniature fixed-wing UAV swarms: methods and experiments
CN111656424B (en) Automatic flying unmanned aerial vehicle system based on big data and automatic flying method thereof
KR102089067B1 (en) Multi-drone system and operating method thereof
US10834766B2 (en) Unmanned vehicle controlling system and method of operating same
US8788121B2 (en) Autonomous vehicle and method for coordinating the paths of multiple autonomous vehicles
US10126722B2 (en) System and method of dynamically controlling parameters for processing sensor output data for collision avoidance and path planning
US9202382B2 (en) Autonomous vehicle and method for coordinating the paths of multiple autonomous vehicles
CN108664038B (en) Multi-unmanned aerial vehicle distributed contract auction online task planning method
Kim et al. Coordinated trajectory planning for efficient communication relay using multiple UAVs
Grancharova et al. UAVs trajectory planning by distributed MPC under radio communication path loss constraints
US20110288773A1 (en) Loss of separation avoidance maneuvering
US11334069B1 (en) Systems, methods and computer program products for collaborative agent control
US11158200B2 (en) Decentralized collision avoidance for UAVs
CN109991971A (en) Automatic driving vehicle and automatic driving vehicle management system
US12025992B1 (en) System and method for autonomously controlling a set of unmanned aerial vehicles
CN112639735A (en) Distribution of calculated quantities
KR20220128600A (en) Method for platooning of vehicles
WO2022029158A1 (en) A method for controlling a plurality of uavs
KR20220075682A (en) Automatic Driving AI DRONE and the automatic driving method thereof
Zhang et al. Survey of safety management approaches to unmanned aerial vehicles and enabling technologies
AU2015201728B2 (en) Autonomous vehicle and method for coordinating the paths of multiple autonomous vehicles
Oh et al. Coordinated trajectory planning for efficient communication relay using multiple UAVs
Liu et al. A distributed and modularised coordination framework for mission oriented fixed-wing UAV swarms
AU2016216683A1 (en) Autonomous vehicle and method for coordinating the paths of multiple autonomous vehicles
Senthilnath et al. Efficient resource allocation for decentralized heterogeneous system using density estimation approach

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21754985

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21754985

Country of ref document: EP

Kind code of ref document: A1