COORDINATION OF AIR AND GROUND VEHICLES
Patent Information
- Application Number
- DE112017006890
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2017-02-15
- Publication Date
- 2025-02-06
- Estimated Expiration
- 2037-02-15
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
GENERAL STATE OF THE ARTSynchronizing locations of vehicles and users to boarding vehicles may be difficult. A user that needs to be picked up may not be located in a location that is accessible to the vehicle. Further, it may be difficult for a user to navigate from the user's location to the vehicle location for pickup.A visual guide for a driver or pedestrian in the form of an unmanned aerial vehicle as a supplement to a navigation system is already disclosed in the document U.S. Pat. No. 9,170,117 B1. In particular, a method for realizing such an addition is disclosed, in which, in a first step, a request of a first user for a navigation aid is received by one or more computer processors. A closest unmanned aerial vehicle is then located and sent to the position of the first user. The processor or processors determine a route from the first user to a desired destination. Upon arrival at the first user, the aircraft moves in the field of view of the first user to the destination so that the latter can follow the aircraft.The present invention is therefore based on the object of developing the prior art to the effect that a time-efficient, resource-saving and secure collection of an authorized user by a ground vehicle is ensured. In particular, the paths covered by the user, the aircraft used for navigation of the user, and the distances covered by the ground vehicle or their locations, are to be synchronized and optimized.This object is achieved by a system according to claim 1 and a method according to claim 7.BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 is a block diagram of an example system for operating a vehicle. FIG. 2 illustrates an example unmanned aerial vehicle (UAV). FIG. 3 illustrates an example vehicle with a UAV docked thereto. FIG. 4 illustrates an example in which a UAV has been sent from a vehicle at a dispatch location and continues to the destination location. FIG. 5 illustrates an example in which a UAV has reached a destination and a vehicle has reached a pickup location. FIG. 6 illustrates an example process for a vehicle to cooperate with a UAV. FIG. 7 illustrates an example process for a UAV to cooperate with a vehicle and a user device.DETAILED DESCRIPTIONA method for an unmanned aerial vehicle for interacting with a ground vehicle is disclosed. The method includes proceeding to a destination upon receiving a message based on a ground vehicle being at an aircraft dispatch location; identifying a user from an image captured at the destination; and navigating the aircraft to guide the user to a meeting with the vehicle.The method may further comprise providing the message that the ground vehicle is at the dispatch location from a ground vehicle computer. The ground vehicle computer may be further programmed to navigate the ground vehicle to the destination.The method may further include determining the dispatch location according to one or both of a predetermined time and a predetermined distance to a pickup location.The method may further comprise identifying the user from an image captured at the target location by comparing the image captured at the target location with a stored image of a predetermined user.The method may further comprise sending a message to a user device at the destination.The method may further comprise adjusting one or both of a speed and a direction of the aircraft according to detecting a speed and a direction of a user following the aircraft.The method may further comprise providing the message that the ground vehicle is at the dispatch location from a geographically remote computer.The method may further include transmitting the message that the ground vehicle is at the dispatch location only after the ground vehicle is stopped at a pickup location selected based on the destination location.The method may further comprise proceeding to the destination from a location other than the dispatch location.Further disclosed is a computing device programmed to perform any of the above method steps. Still further disclosed is an aircraft comprising the computing device.Still further disclosed is a computer program product comprising a computer readable medium having instructions stored thereon that can be executed by a computer processor to perform any of the foregoing method steps.FIG. 1 is a block diagram illustrating an example system 100 for coordinating operations of a ground vehicle 101 and an unmanned aerial vehicle (UAV) 140; FIGS. 4 and 5 illustrate examples of the system 100 in operation. The UAV 140 may be dispatched from the vehicle 101 at a dispatch location 205 that is a predetermined amount of travel time and / or distance from a pickup location 210 for a user 190. The UAV 140 may then guide the user 190 from the destination 215 to the pickup location 210.For example, the UAV 140 may proceed to a destination 215, which is typically specified by a user device 195 as a location of the user 190. A computing device 145 onboard the UAV 140 is programmed to receive, e.g., from a computing device 105 of the vehicle 101 and / or a geographically remote server 130 (i.e., a computer or computers at a location other than the vehicle 101 or the UAV 140 and could be anywhere around the world), a reference image 151 of the user 190 to be picked up by the vehicle 101 at the predetermined pickup location 210. The computing device 145 of the UAV 140 is further programmed to receive one or more captured images 152 from an image sensor of the UAV 140. After comparing the reference image 151 with the captured image(s) 152, the computing device 145 of the UAV 140 may identify and locate the user 190 at or near the target location 215. The computing device 145 is further programmed to, upon identifying and locating the user 190, navigate the UAV 140 to guide the user from the destination 215 to the meeting point or pickup location 210 at which the user 190 may enter the vehicle 101 for conveyance. Further, the UAV computer 145 may communicate with a device 195 of the user 190 to guide the user 190 to the destination 215.The computing device 105 of the vehicle 101 is generally known to be programmed for communication over a network or communication bus of the vehicle 101. Via the network, bus, and / or other wired or wireless mechanisms (e.g., a wired or wireless local area network in the vehicle 101), the computing device 105 may transmit messages to various devices in a vehicle 101 and / or receive messages from the various devices, e.g., controllers, actuators, sensors, etc., including the sensors 110. Alternatively or additionally, in cases where the computing device 105 actually comprises multiple devices, the vehicle network or bus may be used for communication between devices represented as the computing device 105 in this disclosure. Additionally, the computing device 105 may be programmed to communicate with the network 125, which may include various wired and / or wireless networking technologies, e.g., cellular, BLUETOOTH® wired and / or wireless packet networks, etc., as described below.The data store 106 may be of any known type, such as hard disk drives, solid state drives, servers, or any volatile or non-volatile media. The data store 106 may store the collected data 115 sent from the sensors 110.The sensors 110 may include a variety of devices. For example, as is known, various controllers in a vehicle 101 may operate as sensors 110 to provide data 115 over the vehicle 101 network or bus, e.g., data 115 relating to vehicle speed, acceleration, position, system and / or component status, heading, etc. Further, other sensors 110 could include cameras, motion detectors, etc., i.e., sensors 110 to provide data 115 for assessing a location of a target, projecting a path of a parking maneuver, assessing a location of a roadway lane, etc. The sensors 110 could also include short range radar, long range radar, LIDAR, and / or ultrasonic transducers.The collected data 115 may include a variety of data collected in a vehicle 101. Examples of the collected data 115 are provided above, and moreover, the data 115 is generally collected using one or more sensors 110, and may additionally include data calculated therefrom in the computing device 105 and / or on the server 130. Generally, the collected data 115 may include any data that may be collected by and / or calculated from sensors 110.The vehicle 101 includes a plurality of subsystems 120. The subsystems 120 control components of the vehicle 101; the subsystems 120 may include, for example, a steering subsystem, a propulsion subsystem (including, e.g., an internal combustion engine and or an electric motor), a braking subsystem, a parking assist subsystem, an adaptive cruise control subsystem, etc. The computing device 105 may actuate the subsystems 120 to control the components of the vehicle 101, e.g., to stop, steer, etc. the vehicle 101.The computing device 105 may be programmed to operate some or all of the subsystems 120 with limited or no input from a human operator, i.e., the computing device 105 may be programmed to operate the subsystems 120 as a virtual operator. When the computing device 105 operates the subsystems 120 as a virtual operator, the computing device 105 may ignore inputs from the human operator with respect to the subsystems 120 selected for control by the virtual operator providing instructions, e.g., via a communication bus of the vehicle 101 and / or to electronic control units (ECUs) as known, to actuate components of the vehicle 101 to actuate, e.g., brakes, change a steering wheel angle, etc. For example, if the human operator attempts to turn a steering wheel during the steering operation by the virtual operator, the computing device 105 may ignore the movement of the steering wheel and steer the vehicle 101 according to its programming.For purposes of this disclosure, an autonomous mode is defined as a mode in which each of vehicle 101 propulsion (e.g., via a powertrain including an electric motor and / or an internal combustion engine), braking, and steering are controlled by the computing device 105; in a semi-autonomous mode, the computing device 105 controls one or two of vehicle 101 propulsion, braking, and steering.The system 100 may further include a network 125 connected to a server 130 and a data store 135. The server 130 is geographically remote from the vehicle 101 and the UAV 140. For purposes of this disclosure, "geographically removed" typically means a distance from a mile, and usually much more, but at least means that the server 130 is not located in a same building or vehicle as the vehicle computer 105 and the UAV computer 145. Further, "geographically remote" means that communication with the server 130 can only take place over a wide area network, such as the network 125.Accordingly, the computer 105 may be further programmed to communicate with one or more remote locations, such as the server 130, via the network 125, such remote location possibly including a data store 135. The network 125 represents one or more mechanisms by which a vehicle computer 105 can communicate with a remote server 130. Accordingly, the network 125 may be one or more of various wired or wireless communication mechanisms, including any desired combination of wired (e.g., cable and fiber) and / or wireless (e.g., cellular, wireless, satellite, microwave, and radio frequency) communication mechanisms and any desired network topology (or topologies when multiple communication mechanisms are used). Exemplary communication networks include wireless communication networks (e.g., using BLUETOOTH, IEEE 802.11, etc.), local area networks (LANs), and / or wide area networks (WANs) including the Internet, providing data communication services.The system 100 further includes an unmanned aerial vehicle (UAV) 140. The UAV 140 may be a quadropopter, i.e., a helicopter having four propellers, but alternatively, it could be, for example, a helicopter having three to eight propellers, a fixed wing drone, etc.The UAV 140 includes a computing device 145 and at least one image sensor 150, e.g., a video and / or still camera, that captures digital images 152. The UAV 140 is operable in a known manner to navigate to the vehicle 101, typically after receiving a command from the server 130. The UAV computing device 145 is programmed to capture images 152 with the image sensor 150. The UAV computing device 145 is further programmed to compare one or more captured images 152 with a stored reference image 151. The reference image 151 could be provided by the remote server 130 or by the computing device 105 of the vehicle 101. The reference image 151 typically images at least one face of a user 190. Using, for example, known image analysis techniques, the computing device 145 may be programmed to compare the reference image 151 with a captured image 152 to determine whether the captured image 152 shows a predetermined user 190.The user 190 typically carries a user device 195 to communicate with the computer 145 of the UAV 140 and / or the vehicle 101 computer 105. The user device 195 may be any suitable portable computing device capable of performing such communication. For example, the device 145 may be a portable computer, a tablet computer, a mobile phone, e.g., a smartphone, etc., that includes capabilities for wireless communication using IEEE 802.11, BLUETOOTH and / or cellular communication protocols, etc.FIG. 2 illustrates an example UAV 140. The UAV 140 includes a chassis 155 that supports the computing device 145 and the image sensor 150, as well as possibly other components such as a battery 180 and others discussed below. The image sensor 150 may be mounted in a manner to be able to rotate, pan, and / or move vertically to allow the image sensor 150 to acquire captured images 152 of different fields of view without having to rotate or otherwise adjust its attitude.The UAV 140 may include at least one foot 165. The foot 165 allows the UAV 140 to attach to the vehicle 101, e.g., to a roof 185 of the vehicle 101 as shown in FIG. 3. The foot 165 is connected to the chassis 155. The example UAV 140 of FIG. 3 includes two feet 165. The feet 165 may be constructed of a ferromagnetic material and may include an electromagnet, i.e., the feet 165 are magnetic feet 165 in this example. The battery 180 may supply an electric current to the electromagnet to generate an electromagnetic field that magnetizes the feet 165 and pulls the feet 165 toward a nearby ferromagnetic surface, e.g., an exterior of a roof 185 of a vehicle 101. In another example, the feet 165 may include a permanent magnet that does not require power from the battery 180. Although magnets are disclosed herein as an example attachment means, it is possible that other attachment means could be used.The UAV 140 includes a propulsion means, such as an electric motor 176, connected to a propeller 175. The electric motor 176 may drive the propeller 175, which generates lift and allows the UAV 140 to fly and float. The electric motor 176 may be an electric motor 176 powered by the battery 180. The electric motor 176 may be mounted on the chassis 155. The example UAV 140 of FIG. 2 includes four electric motors 176 that drive four propellers 175. The UAV computing device 145 may selectively actuate the propellers 175 to steer the UAV 140, as is known.FIG. 3 illustrates an example vehicle 101 with a UAV 140 docked thereto. The UAV 140 in the example of FIG. 3 is attached to an exterior of a roof 185 of the vehicle 101 via the feet 165, but the UAV 140 could be docked elsewhere, e.g., in a trunk or other compartment, on a deck lid, etc.The vehicle 101 computer 105 and the UAV 140 computer 145 and / or the user device 195 may communicate with each other via various mechanisms. For example, the computer 145 may be provided with a transmitter / receiver for communicating over a cellular network or the like (e.g., the network 125 may be or may include a cellular network) to send messages using, for example, a short message service (SMS) or similar protocol. Further, the computer 105 and the computer 145 of the UAV 140 may communicate over a vehicle 101 network, which may include a vehicle 101 wireless network, via a short-range protocol such as BLUETOOTH, etc., when the UAV 140 docks and / or is proximate to, i.e., floats over, the vehicle 101. In addition, the computers 105, 145 may communicate over the network 125.FIG. 6 illustrates an example process 600 for a vehicle 101 to cooperate with a UAV 140 to pick up a user 190. The process 600 may be executed by a processor of the computer 105 of the vehicle 101 according to program instructions stored in a memory of the computer 105. The process 600 may begin at a block 605, where the vehicle 101 receives a request to pick up a user 190 at a predetermined location, i.e., a destination 215. In addition to the destination 215, the order typically includes at least one identifier for the user 190 to be picked up, and possibly also a reference image 151, as well as a requested pickup time, e.g., 13:30 am as soon as possible, etc. The order may also include the pickup location 210; alternatively, the vehicle 101 computer 105 may determine the pickup location 210 by identifying a location closest to the destination 215 at which the vehicle 101 may stop and wait for a user to enter, e.g., by map data indicating an allowed waiting area, traffic data indicating where a roadway does not have traffic that would prevent a stop, etc.The request to pick up the user 190 may be provided in a variety of ways. For example, the vehicle 101 could be a fully autonomous vehicle that could receive broadcast instructions from the server 130. That is, the server 130 could transmit an instruction and / or route for the vehicle 101 to proceed to a predetermined location. The server 130 could further provide an identifier for the user 190 to be picked up, and a reference image 151 that maps at least one face of the user 190. Additionally or alternatively, an identifier could indicate a user 190 whose reference image 151 is stored in the memory of the vehicle 101 computer 105. The server 130 could be prompted to transmit the request to the vehicle 101 according to a user input, e.g., a user 190 could input a request to the server 130 with a user device 195, such as a smartphone or the like, either when a pickup is necessary or to schedule one or more pickups at a future time.Alternatively or additionally, a request to pick up a user 190 could be provided via a user input that specifies the destination 215 and possibly also specifies a pick-up location 210. For example, the vehicle 101 could be provided with a human machine interface (HMI) to the computer 105. An occupant of the vehicle 101 could input a destination 215, a pickup time, and an identifier for a user 190 to be picked up at the destination 215 using an HMI of the vehicle 101, a smartphone, or the like, etc. The vehicle 101 computer 105 could then retrieve a reference image 151 for the identified user 190 from its memory and / or the vehicle 101 occupant could upload the reference image 151.Following the block 605, the vehicle 101 begins to travel along a route to the pickup location 210 at a block 610. The route may be specified in the pickup order for the vehicle 101 or it could be determined by a navigation system of the vehicle 101. Further, the vehicle 101 could be operated non-autonomous, semi-autonomous, or fully autonomous to travel along the route.Next, in a block 615, the computer 105 determines whether to dispatch the UAV 140, i.e., whether the vehicle 101 is proximate to a dispatch location 205, e.g., within a predetermined amount of travel time and / or a predetermined distance from the pickup location 210, such that the UAV 140 should be dispatched to the destination location 215. That is, if the vehicle 101 is close to pickup by the user 190, the UAV 140 should be sent to guide the user 190 to pickup the vehicle 101. FIG. 4 illustrates an example in which the UAV 140 has been sent from the vehicle 101 to a dispatch location 205 and continues to the destination location 215.A dispatch location 205 may be identified in a variety of ways, e.g., according to one or both of a proximity of the vehicle 101 with respect to time or distance to the pickup location 210. For example, a navigation application in the vehicle 101 may be capable of protecting an arrival time of a vehicle at the pickup location 210 based on traffic, environmental conditions, distance, etc. The navigation application may further take into account a travel time of the UAV 140 from the dispatch location 205 or from another location from which the UAV 140 is dispatched. The navigation application may also be capable of estimating a distance, e.g., according to travel on a shortest route, for a user 190 to reach the pickup location 210 from the destination location 215Alternatively or additionally, a device 195 of the user 190 could communicate to the vehicle computer, e.g., via the network 125, an estimated time from the destination 215 to the pickup location 210 and thereby potentially take into account a user's mode of travel, e.g., to foot, scooter, bicycle, etc. The vehicle computer 105 could then take into account both an estimated time of arrival of the vehicle 101 at the pickup location 210 and an estimated time of arrival of the user 190 at the pickup location 210. If these estimated arrival times are substantially similar, e.g., within 60 seconds, 90 seconds, three minutes, etc., the computer 105 could determine to send the UAV 140 to find the user 190.Further, it is possible that the dispatch location 205 and the pickup location 210 are a same location. That is, in some circumstances, e.g., in heavy traffic, when the pickup location 210 and the destination location 215 are within a predetermined time and / or distance of each other (e.g., less than a 60 second footway, within 100 meters, etc.), the vehicle 101 computer 105 waits until the vehicle 101 is stopped at the pickup location 210 to instruct the UAV 140 to broadcast.If the computer 105 determines not to dispatch the UAV 140, then the process 600 may return to the block 610. Although not shown in FIG. 6, the process 600 could alternatively end after the block 615, e.g., since a vehicle 101 was unable to reach a pickup location 210 within a predetermined time or at all due to road closure, etc. Further, the process 600 could end after the block 615 or elsewhere based on input, e.g., from a user 190 via the device 195 or from the server 130 indicating that pickup is no longer necessary for the pickup to have been canceled, etc. However, if the computer 105 determines at the block 615 that the UAV 140 is to be sent, a block 620 is next executed.At block 620, the UAV 140 is dispatched to the destination 215. In some cases, the UAV 140 is carried on or in the vehicle 101 as discussed above. Accordingly, the computer 105 causes the UAV 140 to be released from the vehicle 101 and sends a message to the computer 145 of the UAV 140 for sending that includes the necessary order information, e.g., a destination 215, an identity, and a reference image 151 of the user 190 assuming that the image 151 is not already stored in the memory of the computer 145 of the UAV 140. Further, it is possible that the UAV 140 may not be carried on the vehicle 101 and / or could be broadcast from another location, e.g., a central trailer for UAVs 140. In any case, upon receiving the dispatch instruction and the job information, the UAV 140 begins air navigation to the destination 215, i.e., a location where the user 190 is intended to be found there. The process 700 discussed below further describes acts of the UAV 140.Following the block 620, at a block 625, the vehicle 101 continues to travel on the planned route to the pickup location 215 (see FIG. 4 ).Next, at a block 630, after arriving at the pickup location 210 at the pickup location 210, the vehicle 101 waits for the user to enter the vehicle 101. FIG. 5 illustrates an example in which the UAV 140 has reached a destination 215 and the vehicle 101 has reached a pickup location 210. Typically, the user's pickup is confirmed by detecting a device 195 of the user 190 by receiving input of the user 190 via the device 195 confirming that the user 190 is in the vehicle 101, etc. However, other mechanisms could be used, such as a camera sensor 110 for the interior of the vehicle 101 that could detect a presence of a user 190 in the vehicle 101 and / or identify the user 190 using a reference image 151 according to known image analysis techniques.Although not shown in FIG. 6, the process 600 could be further terminated if the vehicle 101 computer 105 is not able to confirm user pickup, e.g., if the user 190 is not confirmed within a predetermined period of time after arriving at the pickup location 210 in the vehicle 101, the vehicle 101 could depart from the pickup location 210, e.g., to a destination provided by the server 130, such as another pickup location, a home location, etc. If the UAV 140 was being driven from the vehicle 101, the vehicle 101 would typically wait for the UAV 140 before departing from the pickup location 210. It is also possible that the UAV 140 could return to the vehicle 101 and report that the user 190 could not be located, causing the process 600 to end and depart the vehicle 101 from the pickup location 210.Following the block 630, where the user pickup is confirmed, the UAV 140 is docked back to the vehicle 101 at a block 635. Block 630 may be omitted if the UAV 140 has not been sent from the vehicle 101.Next, at a block 640, the vehicle 101 conveys the user 190 to a predetermined location. For example, a user destination according to a user input and instruction from the server 130, etc., could be stored in the vehicle computer 105. Moreover, the vehicle 105 could be operated in a non-autonomous or semi-autonomous mode in which the user 190 or other occupant of the vehicle 101 controls navigation of the vehicle 101 to reach a destination.Following block 640, process 600 ends.FIG. 7 illustrates an example process for a UAV to cooperate with a vehicle and a user device. The process 700 may be executed by a processor of the computer 145 according to program instructions stored in a memory of the computer 145 of the UAV 140. The process 700 may begin at a block 705 where the UAV 140 receives an instruction to send and navigate to the destination according to job information, as described above. Accordingly, block 705 includes the UAV navigating to the destination location 215 (see FIG. 4 ).For purposes of this disclosure, the fact that the UAV 140 navigates to the destination location 215 means that it navigates to a position that is a predetermined height, e.g., five meters, 10 meters, etc., substantially above a ground destination location 215, as dictated by geo-coordinates in the order information, for example. For example, a user device 195 may provide geo-coordinates of the device 195 to the server 130 and / or the vehicle 101 computer 105, whereupon the UAV 140 navigates to a position substantially above those geo-coordinates.Next, at a block 710, once the UAV 140 is at the destination 215 (see FIG. 5 ), the UAV 140 captures one or more images 152 of persons at or near the destination 215. For example, the camera 150 of the UAV 140 may be used to capture the images 152. The computer 145 of the UAV 140 could be controlled to actuate the camera 150 to capture images 152 at a predetermined radius around the target location 215, for example. The computer 145 could then compare the captured images 152 with the stored reference image 151, e.g., using image analysis techniques as are known, to determine whether the user identified in the job information is found at the target location 215.Next, at a block 715, if the user 190 identified in the job information is found at the destination 215, a block 720 is executed next. Otherwise, the process 700 returns to the block 710 to capture additional images 152 to attempt to find the user. Further, although not shown in FIG. 7, if the user cannot be found, e.g., after a predetermined period of time, and / or the UAV 140 receives instructions to return to the vehicle or other location, the process 700 could end either after or during the block 715 or at another time.At block 720, the computer 145 of the UAV 140 sends a message to the device 195 associated with the identified user 190 that the user 190 should follow the UAV 140. Such a message may be sent over the network 125, for example, as an SMS message or the like. The message from the UAV 140 to the user 190 could include additional information, such as "Her ride-sharing is a three minute footway removed."Next, at a block 725, the UAV 140 navigates to the pickup location 210 of the vehicle 101. In doing so, the UAV 140 is typically programmed to proceed at a speed suitable for the user to follow, e.g., 2.5 miles per hour, three miles per hour, etc. Further, the computer 145 of the UAV 140 could be programmed to receive input, e.g., via the user device 195, to set a speed, a height, a direction (i.e., a heading), etc., to facilitate the user to follow the UAV 140. For example, the user device 195 could include an app or the like to communicate with the computer 145 of the UAV 140 via a short-range communication protocol such as BLUETOOTH. Still further, the computer 145 of the UAV 140 could additionally or alternatively be programmed to determine, e.g., by analyzing captured images 152 or the like, whether a user is located more than a predetermined distance, e.g., more than 7 meters, 10 meters, etc., behind the UAV 140 and to adjust a speed, e.g., to slow down by 0.1 or 0.2 miles per hour to allow the user 190 to maintain at the speed of the UAV 140. The computer 145 of the UAV 140 could likewise be programmed to adjust an upward speed of the UAV 140.Next, once the UAV 140 has arrived at the pickup location 210, the computer 145 of the UAV 140 confirms that the user 190 is located in the vehicle. For example, an acknowledgment could be performed as described above with respect to block 630, whereupon the vehicle computer 105 could send a message to the computer 145 of the UAV 140 confirming that the user 190 is located in the vehicle 101. Moreover, as described above with respect to process 600, process 700 could be ended if it cannot be confirmed that user 190 is in the vehicle.Next, at a block 735, assuming that the UAV 140 was sent from the vehicle 101, the UAV 140 will then dock back to the vehicle 101. Alternatively, the UAV 140 could return to a predetermined location, e.g., a fob from which it was sent, a home location, etc.Following block 735, process 700 ends.When this disclosure relates to a "location," it will be appreciated that the location could be determined in a known manner, e.g., according to geo-coordinates as known. For example, global positioning system (GPS) devices may determine latitude and longitude with high accuracy and could be used to determine locations discussed herein.As used herein, the adjective modifying adverb "substantially" means that a shape, structure, dimension, value, calculation, etc. may deviate from a detailed geometry, distance, dimension, value, calculation, etc. due to imperfections in materials, processing, fabrication, sensor measurements, calculations, processing time, communication time, etc.The term "a / e" modifying a number should be understood to designate one or more unless otherwise indicated or the context requires otherwise. The term "based on" includes partially or fully based on.Computing devices 105, 145, etc., generally each include instructions executable by one or more computing devices, such as those identified above, and for executing blocks or steps of processes described above. The terms "computing device" and "computer" may be used interchangeably in this disclosure. Computer-executable instructions may be compiled or interpreted from computer programs created using a variety of programming languages and / or technologies, including, without limitation, and either alone or in combination, Java™ C, C++, Visual Basic, Java Script, Perl, HTML, etc. In general, a processor (e.g., a microprocessor) receives instructions, e.g., from a memory, a computer-readable medium, etc., and executes these instructions, thereby performing one or more processes, including one or more of the processes described herein. Such instructions and other data may be stored and transmitted using a variety of computer readable media. A file in such computing device 105 is generally a collection of data stored on a computer readable medium, such as a storage medium, random access memory, etc.A computer-readable medium includes any medium that participates in providing data (e.g., instructions) that may be read by a computer. Such a medium may take many forms, including, but not limited to, non-volatile media, volatile media, etc. Non-volatile media includes, for example, optical or magnetic disks and other persistent storage. Volatile media includes dynamic random access memory (DRAM), which typically constitutes main memory. Common forms of computer readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM, a FLASH-EEPROM, any other memory chip or cartridge, or any other medium from which a computer can read.With regard to the media, processes, systems, methods, etc. described herein, it should be appreciated that although the steps of such processes, etc. have been described as occurring according to a particular sequence, such processes could be implemented such that the described steps are performed in an order other than the order described herein. It will be further understood that certain steps could be performed simultaneously, other steps added, or certain steps described herein could be omitted. For example, in process 600, one or more of the steps could be omitted, or the steps could be performed in a different order than that shown in FIG. 6. In other words, the descriptions of systems and / or processes herein are provided to illustrate certain embodiments and should not be construed to limit the disclosed subject matter.Accordingly, it is to be understood that the present disclosure, including the foregoing description and the appended figures and appended claims, is intended to be illustrative and not restrictive. Many embodiments and applications other than the examples provided will become apparent to those skilled in the art upon reading the foregoing description. The scope of the invention should be determined, not with reference to the foregoing description, but should instead be determined with reference to claims appended hereto and / or included in a non-provisional patent application based thereon, along with the full scope of equivalents to which such claims are entitled. It is anticipated and intended that future developments will occur with respect to the arts discussed herein, and that the disclosed systems and methods will be incorporated into such future embodiments. Overall, it is to be understood that the disclosed subject matter may be modified and varied.List of reference characters100 System 101 ground vehicle 105 ground vehicle computer 106 data store 110 sensors 115 collected data 120 subsystems 125 network 130 geographically remote server 135 data store 140 aircraft 145 aircraft computer 150 image sensor 151 reference image 152 captured image 155 chassis 165 foot 175 propeller 176 electric motor 180 battery 185 roof 190 user 195 user device 205 location 210 pickup location 215 destination
Claims
A system (100) comprising an aircraft computer (145) programmed to: drive an aircraft (140) to a destination (215) corresponding to a user's location upon receiving a message based on a ground vehicle (101) being located at a location (205) of the aircraft (140); identify the user (190) from an image (152) captured at the destination (215); and navigate the aircraft (140) to guide the user (190) to meet the ground vehicle (101) at a pickup location (210) by adjusting the speed and / or direction of the aircraft (140) according to the speed detection and direction of the user (190) following the aircraft (140); the system further comprising a ground vehicle computer (105) programmed to provide the message that the ground vehicle (101) is at the location (205); and navigate the ground vehicle (101) to the pickup location (210); wherein the location (205) is determined according to a particular time or distance to the pickup location (210), or both.The system (100) of claim 1, wherein the aircraft computer (145) is further programmed to identify the user (190) from an image (152) captured at the destination (215) by comparing the image (152) captured at the destination (215) to a stored image (151) of a particular user (190).The system (100) of claim 1, wherein the aircraft computer (145) is further programmed to send a message to a user device (195) at the destination (215).The system (100) of claim 1, further comprising a geographically remote computer (130) programmed to provide the message that the ground vehicle (101) is at the worksite (205).The system (100) of claim 1, wherein the message that the ground vehicle (101) is located at the location of use (205) is transmitted only after the ground vehicle (101) stops at a pickup location (210) selected based on the destination location (215).The system (100) of claim 1, wherein the aircraft computer (145) is further programmed to travel from a location other than the deployment location (205) to the destination location (210).A method comprising: determining a location (205) according to a determined time or distance to a pickup location (210), or both; providing a message that a ground vehicle (101) is at the location (205); navigating the ground vehicle (101) to the pickup location (210); driving an aircraft (140) to a destination location (215) corresponding to the location of a user (190) after receiving the message based on the ground vehicle (101) being at the location (205) of the aircraft (140); identifying the user (190) from an image (152) captured at the destination location (215); and navigating the aircraft (140) to guide the user (190) to a meeting with the ground vehicle (101) at the pickup location (210) by adjusting the speed and / or the direction of the aircraft (140) according to the speed detection and the direction of the user (190) following the aircraft (140).The method of claim 7, further comprising providing the message from a ground vehicle computer (105) that the ground vehicle (101) is located at the location of use (205).The method of claim 8, wherein the ground vehicle computer (105) is further programmed to navigate the ground vehicle (101) to the pickup location (210).The method of claim 7, further comprising determining the location of use (205) according to a particular time or distance to a pickup location (210), or both.The method of claim 7, further comprising identifying the user (190) from an image (152) captured at the target location (215) by comparing the image (152) captured at the target location (215) to a stored image (151) of a particular user (190).The method of claim 7, further comprising sending a message to a user device (195) at the destination (215).The method of claim 7, further comprising providing the message from a geographically remote computer (130) that the ground vehicle (101) is at the deployment location (205).The method of claim 7, wherein the message that the ground vehicle (101) is located at the location of use (205) is transmitted only after the ground vehicle (101) stops at a pickup location (210) selected based on the destination location (215).The method of claim 7, further comprising driving to the destination (215) from a location other than the location (205).
Citation Information
Patent Citations
Unmanned aerial vehicles for followingn user
KR1020160112789A
Novel tracking system using unmanned aerial vehicles
US20150134143A1
Unmanned aerial vehicle navigation assistance
US9170117B1
Unmanned aerial vehicle assistant
US9471059B1