Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
MANAGING A FLEET OF AUTONOMOUS VEHICLES BASED ON COLLECTED INFORMATION
Document Type and Number:
WIPO Patent Application WO/2022/154935
Kind Code:
A1
Abstract:
Techniques for optimizing a restricted area for autonomous vehicle operations is provided. A fleet management system receives a definition of a general restricted area. The fleet management system collects information associated with the general restricted area. The fleet management system determines a specific restricted area based on the definition of the general restricted area and the collected information. The fleet management system controls one or more autonomous vehicles based on the specific restricted area. In some embodiments, the collected information includes aerial imagery and/or other environmental sensor data.

Inventors:
TELLES BERNARDO (US)
NEGRON REINALDO (US)
Application Number:
PCT/US2021/063902
Publication Date:
July 21, 2022
Filing Date:
December 16, 2021
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
WING AVIATION LLC (US)
International Classes:
G08G5/00; G08G5/02; G08G5/04
Foreign References:
US20190355263A12019-11-21
US20200020236A12020-01-16
US20190317530A12019-10-17
US20200380873A12020-12-03
US20180181125A12018-06-28
US20170178520A12017-06-22
US202117151057A2021-01-15
Attorney, Agent or Firm:
CLAASSEN, Cory, G. et al. (US)
Download PDF:
Claims:
CLAIMS

What is claimed is:

1. A method of optimizing a restricted area for autonomous vehicle operations, the method comprising: receiving, by a fleet management system, a definition of a general restricted area; collecting, by the fleet management system, information associated with the general restricted area; determining, by the fleet management system, a specific restricted area based on the definition of the general restricted area and the collected information; and controlling, by the fleet management system, one or more autonomous vehicles based on the specific restricted area.

2. The method of claim 1, wherein the information associated with the general restricted area includes environmental sensor data of the general restricted area, and wherein determining the specific restricted area based on the definition of the general restricted area and the collected information includes: analyzing the environmental sensor data of the general restricted area to detect at least one feature within the general restricted area; and determining the specific restricted area based on at least one of a size and a location of the at least one feature.

3. The method of claim 2, wherein collecting information to optimize the restricted area includes: transmitting instructions to one or more autonomous vehicles to collect the environmental sensor data of the general restricted area.

4. The method of claim 1, wherein the definition of the general restricted area includes a target amount of the general restricted area to reserve; and wherein determining the specific restricted area based on the definition of the general restricted area and the collected information includes determining a portion of the general restricted area that fulfills the target amount and that has a minimal impact on a fleet of autonomous vehicles.

5. The method of claim 4, wherein collecting information associated with the general restricted area includes collecting information regarding previously planned routes for the fleet of autonomous vehicles; and wherein the portion of the general restricted area that fulfills the target amount and that has a minimal impact on the fleet of autonomous vehicles affects a minimum number of the previously planned routes.

6. The method of claim 4, wherein collecting information associated with the general restricted area includes collecting information regarding potential future destinations for the fleet of autonomous vehicles within the general restricted area; and wherein the portion of the general restricted area that fulfills the target amount and that has a minimum impact on the fleet of autonomous vehicles affects a minimum number of the potential future destinations.

7. The method of claim 1, wherein determining the specific restricted area is further based on at least one of a size, a maximum speed, a turning radius, and a payload capacity of an autonomous vehicle.

8. The method of claim 1, wherein controlling one or more autonomous vehicles based on the specific restricted area includes updating one or more planned routes for one or more autonomous vehicles to avoid the specific restricted area.

9. The method of claim 1, wherein the one or more autonomous vehicles includes an aircraft.

10. The method of claim 9, wherein controlling one or more autonomous vehicles based on the specific restricted area includes causing the aircraft to land in response to detecting that the aircraft is within the specific restricted area.

11. A non-transitory computer-readable medium having logic stored thereon that, in response to execution by one or more processors of a computing device of a fleet management system, cause the fleet management system to perform actions comprising: receiving, by the fleet management system, a definition of a general restricted area; collecting, by the fleet management system, information associated with the general restricted area; determining, by the fleet management system, a specific restricted area based on the definition of the general restricted area and the collected information; and controlling, by the fleet management system, one or more autonomous vehicles based on the specific restricted area.

12. The computer-readable medium of claim 11, wherein the information associated with the general restricted area includes environmental sensor data of the general restricted area, and wherein determining the specific restricted area based on the definition of the general restricted area and the collected information includes: analyzing the environmental sensor data of the general restricted area to detect at least one feature within the general restricted area; and determining the specific restricted area based on at least one of a size and a location of the at least one feature.

13. The computer-readable medium of claim 12, wherein collecting information to optimize the restricted area includes: transmitting instructions to one or more autonomous vehicles to collect the environmental sensor data of the general restricted area.

14. The computer-readable medium of claim 11, wherein the definition of the general restricted area includes a target amount of the general restricted area to reserve; and wherein determining the specific restricted area based on the definition of the general restricted area and the collected information includes determining a portion of the general restricted area that fulfills the target amount and that has a minimal impact on a fleet of autonomous vehicles.

15. The computer-readable medium of claim 14, wherein collecting information associated with the general restricted area includes collecting information regarding previously planned routes for the fleet of autonomous vehicles; and wherein the portion of the general restricted area that fulfills the target amount and that has a minimal impact on the fleet of autonomous vehicles affects a minimum number of the previously planned routes.

16. The computer-readable medium of claim 14, wherein collecting information associated with the general restricted area includes collecting information regarding potential future destinations for the fleet of autonomous vehicles within the general restricted area; and wherein the portion of the general restricted area that fulfills the target amount and that has a minimum impact on the fleet of autonomous vehicles affects a minimum number of the potential future destinations.

17. The computer-readable medium of claim 11, wherein determining the specific restricted area is further based on at least one of a size, a maximum speed, a turning radius, and a payload capacity of an autonomous vehicle.

18. The computer-readable medium of claim 11, wherein controlling one or more autonomous vehicles based on the specific restricted area includes updating one or more planned routes for one or more autonomous vehicles to avoid the specific restricted area.

19. The computer-readable medium of claim 11, wherein the one or more autonomous vehicles includes an aircraft.

20. The computer-readable medium of claim 19, wherein controlling one or more autonomous vehicles based on the specific restricted area includes causing the aircraft to land in response to detecting that the aircraft is within the specific restricted area.

Description:
MANAGING A FLEET OF AUTONOMOUS VEHICLES BASED ON COLLECTED INFORMATION

CROSS-REFERENCE TO RELATED APPLICATION

[0001] This application claims priority to US Patent Application No. 17/151,057, filed January 15, 2021, which is hereby incorporated by reference in its entirety.

TECHNICAL FIELD

[0002] This disclosure relates generally to autonomous vehicles, and in particular but not exclusively, relates to collecting and/or providing information for the control of autonomous vehicles.

BACKGROUND

[0003] As autonomous vehicles, including but not limited to unmanned aerial vehicles (UAVs), become more prevalent, it is increasingly desired to manage operations of fleets of autonomous vehicles. One common management task for autonomous vehicles is establishing restricted areas in which autonomous vehicles are not to operate. When operating a fleet of autonomous vehicles over a large and dynamic geographic area, it is increasingly difficult to have adequate information on hand to ensure that a desired level of protection can be achieved by a restricted area without having to restrict an overly large area around the desired location to be protected.

SUMMARY

[0004] In some embodiments, a method of optimizing a restricted area for autonomous vehicle operations is provided. A fleet management system receives a definition of a general restricted area. The fleet management system collects information associated with the general restricted area. The fleet management system determines a specific restricted area based on the definition of the general restricted area and the collected information. The fleet management system controls one or more autonomous vehicles based on the specific restricted area.

[0005] In some embodiments, a non-transitory computer-readable medium is provided. The computer-readable medium has logic stored thereon that, in response to execution by one or more processors of a computing device of a fleet management system, cause the fleet management system to perform actions comprising receiving, by the fleet management system, a definition of a general restricted area; collecting, by the fleet management system, information associated with the general restricted area; determining, by the fleet management system, a specific restricted area based on the definition of the general restricted area and the collected information; and controlling, by the fleet management system, one or more autonomous vehicles based on the specific restricted area.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

[0006] Non-limiting and non-exhaustive embodiments of the invention are described with reference to the following figures, wherein like reference numerals refer to like parts throughout the various views unless otherwise specified. Not all instances of an element are necessarily labeled so as not to clutter the drawings where appropriate. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles being described. To easily identify the discussion of any particular element or act, the most significant digit or digits in a reference number refer to the figure number in which that element is first introduced.

[0007] FIG. 1 and FIG. 2 illustrate a non-limiting example embodiment of an aerial vehicle or UAV 100, in accordance with various aspects of the present disclosure.

[0008] FIG. 3 is a block diagram that illustrates a non-limiting example embodiment of an autonomous vehicle according to various aspects of the present disclosure.

[0009] FIG. 4 is a block diagram that illustrates a non-limiting example embodiment of a fleet management system according to various aspects of the present disclosure.

[0010] FIG. 5 is a flowchart that illustrates a non-limiting example embodiment of a method of determining a restricted area for vehicle operations according to various aspects of the present disclosure.

[0011] FIG. 6A - FIG. 6D are schematic drawings that illustrate a geographic area in which a restricted area is to be established according to various aspects of the present disclosure.

[0012] FIG. 7 is a flowchart that illustrates a non-limiting example embodiment of a procedure for collecting information associated with a general restricted area according to various aspects of the present disclosure.

[0013] FIG. 8 is a flowchart that illustrates a non-limiting example embodiment of a method of controlling an autonomous vehicle according to various aspects of the present disclosure. DETAILED DESCRIPTION

[0014] FIG. 1 and FIG. 2 illustrate a non-limiting example embodiment of an aerial vehicle or UAV 100, in accordance with various aspects of the present disclosure. The illustrated embodiment of UAV 100 is a vertical takeoff and landing (VTOL) unmanned aerial vehicle (UAV) that includes separate propulsion units 112 and propulsion units 108 for providing horizontal and vertical propulsion, respectively. UAV 100 is a fixed-wing aerial vehicle, which as the name implies, has a wing assembly 124 that can generate lift based on the wing shape and the vehicle’s forward airspeed when propelled horizontally by propulsion units 112. FIG. 1 is a perspective top view illustration of UAV 100 while FIG. 2 is a bottom side plan view illustration of UAV 100.

[0015] The illustrated embodiment of UAV 100 includes a fuselage 120. In one embodiment, fuselage 120 is modular and includes a battery module, an avionics module, and a mission payload module. These modules are detachable from each other and mechanically securable to each other to contiguously form at least a portion of the fuselage 120 or UAV main body.

[0016] The battery module includes a cavity for housing one or more batteries for powering UAV 100. The avionics module houses flight control circuitry of UAV 100, which may include a processor and memory, communication electronics and antennas (e.g., cellular transceiver, Wi-Fi transceiver, etc.), and various sensors (e.g., global positioning sensor, an inertial measurement unit (IMU), a magnetic compass, etc.). The mission payload module houses equipment associated with a mission of UAV 100. For example, the mission payload module may include a payload actuator for holding and releasing an externally attached payload. In another embodiment, the mission payload module may include a camera/sensor equipment holder for carrying camera/sensor equipment (e.g., camera, lenses, radar, LIDAR, pollution monitoring sensors, weather monitoring sensors, etc.). Other components that may be carried by some embodiments of the UAV 100 are illustrated in FIG. 3.

[0017] The illustrated embodiment of UAV 100 further includes horizontal propulsion units 112 positioned on wing assembly 124, which can each include a motor, shaft, motor mount, and propeller, for propelling UAV 100. The illustrated embodiment of UAV 100 includes two boom assemblies 106 that secure to wing assembly 124.

[0018] The illustrated embodiments of boom assemblies 106 each include a boom housing 118 in which a boom is disposed, vertical propulsion units 108, printed circuit boards 116, and stabilizers 102. Vertical propulsion units 108 can each include a motor, shaft, motor mounts, and propeller, for providing vertical propulsion. Vertical propulsion units 108 may be used during a hover mode where UAV 100 is descending (e.g., to a delivery location) or ascending (e.g., following a delivery). Stabilizers 102 (or fins) may be included with UAV 100 to stabilize the UAV’s yaw (left or right turns) during flight. In some embodiments, UAV 100 may be configured to function as a glider. To do so, UAV 100 may power off its propulsion units and glide for a period of time.

[0019] During flight, UAV 100 may control the direction and/or speed of its movement by controlling its pitch, roll, yaw, and/or altitude. For example, the stabilizers 102 may include one or more rudders 104 for controlling the UAV’s yaw, and wing assembly 124 may include elevators for controlling the UAV’s pitch and/or ailerons 110 for controlling the UAV’s roll. As another example, increasing or decreasing the speed of all the propellers simultaneously can result in UAV 100 increasing or decreasing its altitude, respectively. The UAV 100 may also include components for sensing the environment around the UAV 100, including but not limited to audio sensor 122 and audio sensor 114. Further examples of sensor devices are illustrated in FIG. 3 and described below.

[0020] Many variations on the illustrated fixed-wing aerial vehicle are possible. For instance, aerial vehicles with more wings (e.g., an “x-wing” configuration with four wings), are also possible. Although FIG. 1 and FIG. 2 illustrate one wing assembly 124, two boom assemblies 106, two horizontal propulsion units 112, and six vertical propulsion units 108 per boom assembly 106, it should be appreciated that other variants of UAV 100 may be implemented with more or fewer of these components.

[0021] It should be understood that references herein to an “unmanned” aerial vehicle or UAV can apply equally to autonomous and semi-autonomous aerial vehicles. In a fully autonomous implementation, all functionality of the aerial vehicle is automated; e.g., pre-programmed or controlled via real-time computer functionality that responds to input from various sensors and/or pre-determined information. In a semi-autonomous implementation, some functions of an aerial vehicle may be controlled by a human operator, while other functions are carried out autonomously. Further, in some embodiments, a UAV may be configured to allow a remote operator to take over functions that can otherwise be controlled autonomously by the UAV. Yet further, a given type of function may be controlled remotely at one level of abstraction and performed autonomously at another level of abstraction. For example, a remote operator may control high level navigation decisions for a UAV, such as specifying that the UAV should travel from one location to another (e.g., from a warehouse in a suburban area to a delivery address in a nearby city), while the UAV’s navigation system autonomously controls more fine-grained navigation decisions, such as the specific route to take between the two locations, specific flight controls to achieve the route and avoid obstacles while navigating the route, and so on.

[0022] It should also be understood that, while a UAV 100 is illustrated and some of the discussion herein relates to aircraft, in some embodiments other types of autonomous vehicles may be used, including but not limited to wheeled passenger vehicles such as cars and vans; wheeled cargo vehicles such as trucks; wheeled unmanned vehicles; and robots. Further, while the discussion herein primarily relates to controlling one or more autonomous vehicles, in some embodiments the present disclosure may be used to establish restricted areas for manned vehicles as well as for autonomous vehicles.

[0023] FIG. 3 is a block diagram that illustrates a non-limiting example embodiment of an autonomous vehicle 300 according to various aspects of the present disclosure. The autonomous vehicle 300 is configured to receive routes from a . In some embodiments, the autonomous vehicle 300 is an aircraft. In other embodiments, any other type of autonomous vehicle 300 capable of navigating along a route, such as a wheeled vehicle, may be used. As shown, the autonomous vehicle 300 includes a communication interface 302, one or more sensor devices 304, a power supply 306, one or more processors 308, one or more propulsion devices 310, and a computer-readable medium 312.

[0024] In some embodiments, the communication interface 302 includes hardware and software to enable any suitable communication technology for communicating with a fleet management system. In some embodiments, the communication interface 302 includes multiple communication interfaces, each for use in appropriate circumstances. For example, the communication interface 302 may include a long-range wireless interface such as a 4G or LTE interface, or any other type of long- range wireless interface (e.g., 2G, 3G, 5G, or WiMAX), to be used to communicate with the fleet management system while traversing a route. The communication interface 302 may also include a medium-range wireless interface such as a Wi-Fi interface to be used when the autonomous vehicle 300 is at an area near a start location or an endpoint where Wi-Fi coverage is available. The communication interface 302 may also include a short- range wireless interface such as a Bluetooth interface to be used when the autonomous vehicle 300 is in a maintenance location or is otherwise stationary and waiting to be assigned a route. The communication interface 302 may also include a wired interface, such as an Ethernet interface or a USB interface, which may also be used when the autonomous vehicle 300 is in a maintenance location or is otherwise stationary and waiting to be assigned a route.

[0025] In some embodiments, the sensor devices 304 include one or more vehicle state sensor devices that are configured to detect states of various components of the autonomous vehicle 300, and to transmit signals representing those states to other components of the autonomous vehicle 300. Some non-limiting examples of such sensor devices 304 include a battery state sensor, a propulsion device health sensor, an accelerometer, and an attitude sensor. In some embodiments, the sensor devices 304 include one or more environmental sensor devices that are configured to detect information regarding the environment of the autonomous vehicle 300. Some nonlimiting examples of such sensor devices 304 include visible light cameras, infrared cameras, LIDAR sensor devices, RADAR sensor devices, SONAR sensor devices, temperature sensors, altimeters, barometers, and positioning sensor devices (including but not limited to global navigation satellite system (GNSS) sensors).

[0026] In some embodiments, the power supply 306 may be any suitable device or system for storing and/or generating power. Some non-limiting examples of a power supply 306 include one or more batteries, one or more solar panels, a fuel tank, and combinations thereof. In some embodiments, the propulsion devices 310 may include any suitable devices for causing the autonomous vehicle 300 to travel along the path. For an aircraft, the propulsion devices 310 may include devices such as, but not limited to, one or more motors, one or more propellers, and one or more flight control surfaces. For a wheeled vehicle, the propulsion devices 310 may include devices such as, but not limited to, one or more motors, one or more wheels, and one or more steering mechanisms. In some embodiments, the processors 308 may include any type of computer processor capable of receiving signals from other components of the autonomous vehicle 300 and executing instructions stored on the computer-readable medium 312. In some embodiments, the computer-readable medium 312 may include one or more devices capable of storing information for access by the processor 308. In some embodiments, the computer-readable medium 312 may include one or more of a hard drive, a flash drive, an EEPROM, and combinations thereof. [0027] As shown, the computer-readable medium 312 has stored thereon a route traversal engine 318 and a restriction checking engine 316. In some embodiments, the route traversal engine 318 is configured to cause the propulsion device 310 to propel the autonomous vehicle 300 through routes stored in the route data store 314. The route traversal engine 318 may use signals from sensor devices 304, such as GNSS sensor devices, vision-based navigation devices, accelerometers, LIDAR devices, and/or other devices that are not illustrated or described further herein, to assist in positioning and navigation as is typical for an autonomous vehicle 300. In some embodiments, the restriction checking engine 316 is configured to compare a current or predicted future position of the autonomous vehicle 300 to one or more restricted areas, and to cause the autonomous vehicle 300 to take a corrective action in response to determining that the current or predicted future position of the autonomous vehicle 300 is or will be within a restricted area.

[0028] As used herein, "engine" refers to logic embodied in hardware or software instructions, which can be written in one or more programming languages, including but not limited to C, C++, C#, COBOL, JAVA™, PHP, Perl, HTML, CSS, JavaScript, VBScript, ASPX, Go, and Python. An engine may be compiled into executable programs or written in interpreted programming languages. Software engines may be callable from other engines or from themselves. Generally, the engines described herein refer to logical modules that can be merged with other engines, or can be divided into sub-engines. The engines can be implemented by logic stored in any type of computer-readable medium or computer storage device and be stored on and executed by one or more general purpose computers, thus creating a special purpose computer configured to provide the engine or the functionality thereof. The engines can be implemented by logic programmed into an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or another hardware device.

[0029] As used herein, "data store" refers to any suitable device configured to store data for access by a computing device. One example of a data store is a highly reliable, high-speed relational database management system (DBMS) executing on one or more computing devices and accessible over a high-speed network. Another example of a data store is a key-value store. However, any other suitable storage technique and/or device capable of quickly and reliably providing the stored data in response to queries may be used, and the computing device may be accessible locally instead of over a network, or may be provided as a cloud-based service. A data store may also include data stored in an organized manner on a computer-readable storage medium, such as a hard disk drive, a flash memory, RAM, ROM, or any other type of computer-readable storage medium. One of ordinary skill in the art will recognize that separate data stores described herein may be combined into a single data store, and/or a single data store described herein may be separated into multiple data stores, without departing from the scope of the present disclosure.

[0030] FIG. 4 is a block diagram that illustrates a non-limiting example embodiment of a fleet management system according to various aspects of the present disclosure. The fleet management system 402 may include any number of one or more suitable computing devices configured to collectively provide the functionality of the fleet management system 402, including but not limited to desktop computing devices, laptop computing devices, server computing devices, and computing devices of a cloud computing system. In some embodiments, each of the computing devices of the fleet management system 402 may have all of the components illustrated in FIG. 4. In some embodiments, some computing devices of the fleet management system 402 may have some (but not all) of the components illustrated in FIG. 4, while other computing devices of the fleet management system 402 may have other components illustrated in FIG. 4.

[0031] As shown, the fleet management system 402 includes a communication interface 404, one or more processors 406, and a computer-readable medium 414. In some embodiments, the processors 406 include any suitable type of general-purpose computer processor. In some embodiments, the processors 406 may include one or more specialpurpose computer processors or Al accelerators optimized for specific computing tasks, including but not limited to graphical processing units (GPUs), vision processing units (VPUs), and tensor processing units (TPUs). In some embodiments, the communication interface 404 includes hardware and/or software suitable for communication with a communication interface 302 as described above of the autonomous vehicles 300 in a fleet. In some embodiments, the communication interface 404 may also include hardware and/or software suitable for communicating with other computing systems via one or more of any wired or wireless technologies.

[0032] As shown, the computer-readable medium 414 has stored thereon logic for providing a restriction determination engine 410, a route planning engine 412, and an information collection engine 418. In some embodiments, the restriction determination engine 410 is configured to determine areas in which operation of autonomous vehicles 300 should not be allowed, and may be configured to transmit such areas to autonomous vehicles 300 and/or may be configured to store such areas in a restriction data store 416. In some embodiments, the route planning engine 412 is configured to plan routes for autonomous vehicles 300, to store the planned routes in a route data store 408, and to transmit the planned routes to autonomous vehicles 300. In some embodiments, the route planning engine 412 may take the restricted areas stored in the restriction data store 416 into account while planning routes. In some embodiments, the information collection engine 418 collects information from various sources to be provided to at least the restriction determination engine 410 for use in determining restricted areas. Further details regarding the operation of each of these components is provided below.

[0033] FIG. 5 is a flowchart that illustrates a non-limiting example embodiment of a method of determining a restricted area for vehicle operations according to various aspects of the present disclosure. In the method 500, a fleet management system 402 collects information in order to reduce the size of a restricted area from a general restricted area specified by a user (or another source) to a specific restricted area that both accomplishes a goal for the restriction and minimally impacts other operations of a fleet of autonomous vehicles.

[0034] From a start block, the method 500 proceeds to block 502, where a restriction determination engine 410 of a fleet management system 402 receives a definition of a general restricted area. The general restricted area may be defined in any regular or irregular two-dimensional or three-dimensional shape, including but not limited to regular shapes such as circles, squares, rectangles, polygons, spheres, cylinders, and prisms, and irregular shapes of all types.

[0035] In some embodiments, the general restricted area may be used to specify a rough area in which a restriction is desired, so that the fleet management system 402 may create a specific restricted area within the general restricted area to accomplish a goal of the desired restriction in a more tailored way after gathering additional information. The definition of the general restricted area may include a specification of how the general restricted area is to be tailored by the fleet management system 402.

[0036] For example, the general restricted area may specify a general area (as a non-limiting example, a fairground) in which a structure or other feature to be avoided (as a non-limiting example, a ferris wheel) is or will be present. Though the structure to be avoided would be somewhere within the general restricted area, at the time of the definition of the general restricted area the exact location of the structure may not be known. Information may then be collected regarding the general restricted area to find the exact location of the structure, and the specific restricted area can be created based on the collected information (e.g., the specific restricted area may be limited to the actual footprint of the structure, plus a buffer, and may result in a specific restricted area smaller than the general restricted area).

[0037] As another example, the general restricted area may specify a general area (as a non-limiting example, a residential zone) through which autonomous vehicle operation is desired to be reduced by a certain percentage. Information may then be collected regarding the general restricted area to find specific portions of the general restricted area to which restrictions may be applied to minimally impact operations of a fleet of autonomous vehicles, and the specific portions may make up the specific restricted area.

[0038] In some embodiments, the restriction determination engine 410 may provide any suitable type of user interface that accepts input from a user to define the general restricted area. In some embodiments, the user interface may present a map, and may accept input of an outline, vertices, a center and a radius, or any other suitable input for defining a general restricted area within the map. In some embodiments, the user interface may accept input to define a two-dimensional general restricted area. In some embodiments, the user interface may accept input to define a three-dimensional general restricted area.

[0039] FIG. 6A - FIG. 6D are schematic drawings that illustrate a geographic area in which a restricted area is to be established according to various aspects of the present disclosure. In FIG. 6A, a geographic area 602 is shown. The view of the geographic area 602 shown in FIG. 6A may be an example of a map interface provided by the restriction determination engine 410 before the interface receives an input of a general restricted area. In the restriction determination engine 410 may have data that indicates that there is a structure 604 in the geographic area 602 near which autonomous vehicles should not be permitted. However, it is assumed for the sake of discussion that data representing the exact location of the structure 604 is not available for creation of a precise restricted area to protect the structure 604. In FIG. 6B, a user has submitted input (such as tapping the comers, drawing the outline, clicking-and-dragging, or other suitable input) on the interface, and a general restricted area 606 around the structure 604 is illustrated in the geographic area 602.

[0040] In some embodiments, additional attributes may be included in the definition of the general restricted area. For example, the definition of the general restricted area may include a start time for a restriction within the general restricted area and/or an end time for a restriction within the general restricted area. As another example, the definition of the general restricted area may include a specification of whether no traffic is allowed within the general restricted area, or whether only certain types of traffic are allowed within the general restricted area (e.g., only autonomous vehicles that meet one or more size, speed, or maneuverability thresholds; only autonomous vehicles serving specific purposes such as public safety; only allowed within the general restricted area for a threshold amount of time, etc.). As yet another example, the definition of the general restricted area may include an indication of a remedy to take if an autonomous vehicle inadvertently enters the general restricted area (or is within the general restricted area while it is created), including but not limited to landing as soon as possible or diverting course to leave the general restricted area. In some embodiments, the definition of the general restricted area may specify different remedies for different portions of the general restricted area, such as a low-impact remedy such as diverting course for an outer portion of the general restricted area, and a high-impact remedy such as landing as soon as possible for an inner portion of the general restricted area.

[0041] At subroutine block 504, an information collection engine 418 of the fleet management system 402 collects information associated with the general restricted area. In some embodiments, the definition of the general restricted area specifies a type of information to be collected that is associated with the general restricted area, and any suitable technique may be used to collect the information. For example, if the type of information to be collected is location information of a structure, environmental sensor data may be collected from the general restricted area using any suitable technique. FIG. 6C is a schematic illustration that shows a UAV 608 obtaining environmental sensor data of the general restricted area 606, from which a precise location of the structure 604 may be determined. As another example, if the type of information to be collected is land use information within the general restricted area (for example, areas of the general restricted area that are single-family housing, commercial buildings, greenspace, water, or other types of land usage), the information collection engine 418 may retrieve the information associated with the general restricted area from a data store that manages the relevant information. A detailed example of a procedure suitable for use at subroutine block 504 is illustrated in FIG. 7 and discussed in further detail below.

[0042] At block 506, the restriction determination engine 410 determines a specific restricted area based on the definition of the general restricted area and the collected information. The technique used by the restriction determination engine 410 to determine the specific restricted area depends on the type of collected information. For example, if the collected information is environmental sensor data that depicts a structure within the general restricted area, the restriction determination engine 410 may use photogrammetry techniques, triangulation techniques, structure-from-motion techniques, and/or other suitable techniques to process the environmental sensor data and associated positioning/ attitude information from the UAV that collected the imagery to precisely determine the location and/or size of the structure. Once the precise location and/or size of the structure is known, then the restriction determination engine 410 may determine the specific restricted area by reference to the precise location and/or size of the structure (including but not limited to defining the specific restricted area based on the precise location and/or size of the structure plus a buffer amount specified in the definition of the general restricted area). FIG. 6D is a schematic illustration that shows the specific restricted area 610 determined based on the precise location of the structure 604 as determined from imagery and/or other environmental sensor data collected in FIG. 6C. As another example, if the collected information includes land use information and future planned routes for a fleet of autonomous vehicles, and the definition of the general restricted area indicates a proportion of a type of land use within the general restricted area to be restricted, then the restriction determination engine 410 may choose an optimal portion of the general restricted area of the type of land use that has a minimal effect on the future planned routes or predicted future destinations of the fleet of autonomous vehicles within the general restricted area.

[0043] In some embodiments, the specific restricted area may be based on the precise location and/or size of the structure (or other feature within the general restricted area) and aspects of an autonomous vehicle 300 to be controlled. That is, the size and/or shape of the specific restricted area may be determined based on one or more of a size, a maximum speed, a turning radius, and a payload capacity of an autonomous vehicle 300. For example, a specific restricted area for an autonomous vehicle 300 that is faster and has a larger turning radius may be larger than a specific restricted area for an autonomous vehicle 300 that is slower and has a smaller turning radius.

[0044] At block 508, the restriction determination engine 410 stores the specific restricted area in a restriction data store 416 of the fleet management system 402. The method 500 then proceeds to an end block and terminates. [0045] Once stored in the restriction data store 416, the fleet management system 402 may provide access to the restricted areas for queries. For example, the route planning engine 412 may use the stored restricted areas as it is planning routes, such that routes can be planned and provided to autonomous vehicles 300 that will proactively avoid the restricted areas. As another example, the fleet management system 402 may receive telemetry from autonomous vehicles 300, and may check locations reported in the telemetry by the autonomous vehicles 300 against the restricted areas. If the fleet management system 402 detects that an autonomous vehicle 300 has entered a restricted area or is about to enter a restricted area, the fleet management system 402 may send commands to the autonomous vehicle 300 to take corrective action. As yet another example, the fleet management system 402 may provide the restricted areas to autonomous vehicles 300 so that the autonomous vehicles 300 may self-monitor and may autonomously take corrective action in response to determining that a restricted area has been entered.

[0046] In some embodiments, the techniques described above may be used for planning purposes. For example, a temporary structure may be desired to be erected in a geographic area. A size of the restricted area for the temporary structure may be provided to the fleet management system 402 as a desired size of a specific restricted area, and the geographic area in which the temporary structure is desired may be provided to the fleet management system 402 as the general restricted area. The method 500 may be used to determine an optimum placement for the temporary structure that minimally impacts operation of the fleet of autonomous vehicles, and the optimum placement may be provided as the specific restricted area. Once the temporary structure is erected, the method 500 can be used again to gather environmental sensor data to verify the location of the temporary structure and confirm or correct the location of the specific restricted area.

[0047] FIG. 7 is a flowchart that illustrates a non-limiting example embodiment of a procedure for collecting information associated with a general restricted area according to various aspects of the present disclosure. The procedure 700 is a nonlimiting example of a procedure suitable for use at subroutine block 504 of method 500 as discussed above. In the procedure 700, the fleet management system 402 sends out at least one UAV 100 to collect environmental sensor data of the general restricted area.

[0048] From a start block, the procedure 700 proceeds to block 702, where the information collection engine 418 transmits a request to a route planning engine 412 of the fleet management system 402 to obtain environmental sensor data of the general restricted area. In some embodiments, the request may include types of environmental sensor data desired (including but not limited to one or more of overhead imagery, angled imagery, multi-spectral imagery, infrared imagery, and LIDAR scans). In some embodiments, the request may include the boundaries of the general restricted area to be sensed. In some embodiments, the request may include other aspects of the desired data collection (including but not limited to a time of day or time range in which the imagery should be collected, a date or date range during which the imagery should be collected, a desired resolution, and a desired color depth).

[0049] At block 704, the route planning engine 412 plans at least one route for at least one UAV 100 that positions the at least one UAV 100 to obtain environmental sensor data of the general restricted area. In some embodiments, the route planning engine 412 may determine a number of UAVs 100 for collecting the desired environmental sensor data within a desired time range or date range. In some embodiments, the route planning engine 412 may determine a number of UAVs 100 for covering the entirety of the general restricted area, based on capabilities (including but not limited to camera resolution, speed, operating altitudes, memory capacity, and battery capacity) of the UAVs 100. In some embodiments, the at least one route is planned to avoid other restricted areas and to allow the one or more UAVs 100 to obtain the desired environmental sensor data.

[0050] In some embodiments, the routes may include a stage in which the one or more UAVs 100 transit to the general restricted area from a base, a stage in which the one or more UAVs 100 collect environmental sensor data, and a stage in which the one or more UAVs 100 transit back to the base. During the stage in which the one or more UAVs 100 collect environmental sensor data, the route may cause the one or more UAVs 100 to operate in a racetrack pattern, a zig-zag pattern, a random pattern, a pattern that follows the shape of the general restricted area, or in any other suitable pattern. In some embodiments, the routes may include at least one route for a UAV 100 that is currently transiting a previous route to be re-routed to gather environmental sensor data from the general restricted area.

[0051] At block 706, the route planning engine 412 provides the at least one route to the at least one UAV 100. The route may be provided to the at least one UAV 100 using any suitable technique. For example, if a UAV 100 is in a base and coupled to a wired or wireless LAN, the route planning engine 412 may transmit the route to the UAV 100 via the LAN. Likewise, if the UAV 100 is coupled to the fleet management system 402 via another short-range communication technology, including but not limited to Bluetooth or USB, the route planning engine 412 may transmit the route to the UAV 100 via the short-range communication technology. As another example, the route planning engine 412 may store the route on a removable computer-readable medium such as a flash drive, and may provide the route to the UAV 100 via the removable computer-readable medium. As still another example, if a UAV 100 is currently transiting a route and is to be re-routed, the route planning engine 412 may transmit the route to the UAV 100 via a long-range wireless network such as a 4G network, a 5G network, or a satellite-based network.

[0052] At block 708, the at least one UAV 100 traverses the at least one route and obtains environmental sensor data of the general restricted area. In some embodiments, the at least one UAV 100 may traverse the at least one route and gather the environmental sensor data entirely autonomously. In some embodiments, the at least one UAV 100 may traverse a portion of the route autonomously, and may be remotely controlled by an operator for a portion of the route.

[0053] At block 710, the at least one UAV 100 transmits the environmental sensor data to the information collection engine 418. In some embodiments, the at least one UAV 100 may transmit the environmental sensor data to the information collection engine 418 while traversing the route via a long-range wireless network. In some embodiments, the at least one UAV 100 may transmit the environmental sensor data to the information collection engine 418 after completing the route and connecting to the fleet management system 402 via a wired LAN, a wireless LAN, or another short-range communication technology; or by swapping a removable computer-readable medium on which the at least one UAV 100 stored the environmental sensor data.

[0054] The procedure 700 then advances to an end block and terminates.

[0055] One will recognize that the procedure 700 illustrated in FIG. 7 is merely an example of a technique for collecting information associated with a general restricted area, and that some embodiments of the present disclosure may use different techniques. For example, to collect environmental sensor data of a general restricted area, the information collection engine 418 may query a data store to retrieve aerial imagery or other environmental sensor data of the general restricted area that has previously been collected. Further, as discussed above, other types of information may be retrieved from other types of data stores.

[0056] FIG. 8 is a flowchart that illustrates a non-limiting example embodiment of a method of controlling an autonomous vehicle according to various aspects of the present disclosure. In the method 800, a current or pending violation of a restricted area by an autonomous vehicle is detected, and corrective action is taken.

[0057] From a start block, the method 800 proceeds to block 802, where a route planning engine 412 of a fleet management system 402 determines a route for the autonomous vehicle 300 based on one or more restricted areas stored in a restriction data store 416 of the fleet management system 402. The restricted areas may be determined in any suitable way, including but not limited to using the method 500 discussed above. At block 804, the route planning engine 412 transmits the route to the autonomous vehicle 300. As discussed above, the route may be transmitted to the autonomous vehicle 300 via a wired or wireless LAN or other short-range communication technique, via a long-range wireless communication technology, via a removable computer-readable medium, or via any other suitable technique.

[0058] At optional block 806, the route planning engine 412 transmits one or more restricted areas to the autonomous vehicle 300. As with the route, the restricted areas may be transmitted to the autonomous vehicle 300 via a short-range communication technique, a long-range wireless communication technology, a removable computer- readable medium, or any other suitable technique. The actions of optional block 806 are optional because, in some embodiments, the autonomous vehicle 300 may not autonomously monitor compliance with restricted areas, but may instead receive commands or notifications from the fleet management system 402 when the fleet management system 402 determines that a restricted area is being violated based on telemetry received from the autonomous vehicle 300.

[0059] At block 808, the autonomous vehicle 300 stores the information received from the fleet management system 402 (the route and, optionally, the restricted areas) in a route data store 314 of the autonomous vehicle. At block 810, a route traversal engine 318 of the autonomous vehicle 300 actuates one or more propulsion devices 310 of the autonomous vehicle 300 to cause the autonomous vehicle 300 to traverse the route. The autonomous vehicle 300 may use one or more sensor devices 304 of the autonomous vehicle 300 to navigate through the route.

[0060] At block 812, a restriction checking engine 316 of the autonomous vehicle 300 detects a current or pending violation of a restricted area by the autonomous vehicle 300. In some embodiments, the restriction checking engine 316 may compare a position of the autonomous vehicle 300 obtained by a positioning sensor of the sensor devices 304 to the boundaries of the restricted areas stored in the route data store 314, and may detect a current violation of a restricted area when the position of the autonomous vehicle 300 is within one of the boundaries of the restricted areas. In some embodiments, the restriction checking engine 316 may use the current position of the autonomous vehicle 300 obtained by a positioning sensor, a current speed of the autonomous vehicle 300 obtained by one of the sensor devices 304, and a current direction of travel of the autonomous vehicle 300 obtained by one of the sensor devices 304 to determine if the current trajectory of the autonomous vehicle 300 is predicted to cause the autonomous vehicle 300 to cross a boundary of a restricted area (a pending violation).

[0061] At block 814, the route traversal engine 318 causes the autonomous vehicle 300 to take a corrective action in response to the current or pending violation of the restricted area. In some embodiments, the corrective action (e.g., change course to leave the restricted area; land as soon as possible) may be defined by the definition of the restricted area. In some embodiments, the corrective action may be chosen by the autonomous vehicle 300.

[0062] The method 800 then proceeds to an end block and terminates.

[0063] The method 800 describes an example in which the autonomous vehicle 300 independently detects that it is violating a restricted area. In some embodiments, the fleet management system 402 may detect that the autonomous vehicle 300 is violating a restricted area based on telemetry received from the autonomous vehicle 300, and may transmit a command to the autonomous vehicle 300 to take a specific corrective action. Accordingly, in some embodiments, a new restricted area may be created using the fleet management system 402 in order to cause a command to be transmitted to any autonomous vehicles 300 currently within the restricted area to take corrective action, such as landing, returning to base, diverting from the restricted area, or any other appropriate corrective action. In addition to taking corrective action, a similar technique may be used to transmit other types of commands to an autonomous vehicle 300 within an area specified via the techniques described above, including but not limited to only allowing the autonomous vehicle 300 within the restricted area to accept certain types of new autonomous missions (e.g., autonomous vehicles 300 within a disaster area only accepting disaster-recovery related missions).

[0064] In the preceding description, numerous specific details are set forth to provide a thorough understanding of various embodiments of the present disclosure. One skilled in the relevant art will recognize, however, that the techniques described herein can be practiced without one or more of the specific details, or with other methods, components, materials, etc. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring certain aspects.

[0065] Reference throughout this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.

[0066] The order in which some or all of the blocks appear in each method flowchart should not be deemed limiting. Rather, one of ordinary skill in the art having the benefit of the present disclosure will understand that actions associated with some of the blocks may be executed in a variety of orders not illustrated, or even in parallel.

[0067] The processes explained above are described in terms of computer software and hardware. The techniques described may constitute machine-executable instructions embodied within a tangible or non-transitory machine (e.g., computer) readable storage medium, that when executed by a machine will cause the machine to perform the operations described. Additionally, the processes may be embodied within hardware, such as an application specific integrated circuit (“ASIC”) or otherwise.

[0068] The above description of illustrated embodiments of the invention, including what is described in the Abstract, is not intended to be exhaustive or to limit the invention to the precise forms disclosed. While specific embodiments of, and examples for, the invention are described herein for illustrative purposes, various modifications are possible within the scope of the invention, as those skilled in the relevant art will recognize.

[0069] These modifications can be made to the invention in light of the above detailed description. The terms used in the following claims should not be construed to limit the invention to the specific embodiments disclosed in the specification. Rather, the scope of the invention is to be determined entirely by the following claims, which are to be construed in accordance with established doctrines of claim interpretation.