Using drones to locate vehicles
The unmanned aerial vehicle (UAV) receives and processes image data of the vehicle's parking area, recognizes the vehicle's response and determines its location, solving the problem of time-consuming finding a specific vehicle in a large parking lot, and achieving fast and automatic vehicle positioning.
Patent Information
- Application Number
- CN201780093670.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2017-08-07
- Publication Date
- 2025-04-01
- Estimated Expiration
- 2037-08-07
AI Technical Summary
Finding a specific vehicle in a large parking lot takes time and labor, especially when there are a large number of vehicles.
Using a system including a computer and an unmanned aerial vehicle (UAV), the image data of the vehicle's parking area is received through the UAV, the vehicle's response (such as a light pattern) is identified and the vehicle's position is determined.
The rapid and automatic positioning of specific vehicles is achieved, reducing the time and labor of manual search and improving efficiency.
Smart Images

Figure CN110998593B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a system including a computer and an unmanned aerial vehicle (UAV). The computer can be programmed to: receive image data of an area where vehicles are parked from the UAV; process the data by identifying actuation of a UAV indicator occurring within a predetermined interval of response of a vehicle in the area; and determine the position of the vehicle based on the identification. Background Art
[0002] Finding a vehicle in a large parking lot may require a person to move from vehicle to vehicle to identify the specific vehicle. In some cases, the person may check the license plate of each vehicle to determine if it is the vehicle being sought. And when there are a large number of vehicles in the parking lot, this may require a time-consuming effort. Summary of the invention
[0003] A system includes a computer including a processor and a memory storing instructions executable by the processor. The instructions include receiving image data of an area where a vehicle is parked from an unmanned aerial vehicle (UAV), processing the data by identifying actuation of a UAV indicator occurring within a predetermined interval of {feedback} response of a vehicle in the area, and determining a position of the vehicle {within the area} based on the identification.
[0004] The response may include a light pattern emitted from the vehicle in response to a trigger from the UAV.
[0005] The indicator may include a light source located within the field of view of a sensor on the UAV.
[0006] The system may include the UAV, wherein the UAV is programmed to record the image data and repeatedly issue wireless commands to trigger the response as it moves from waypoint to waypoint within the area.
[0007] The command may include a key fob code for the vehicle, wherein the UAV is programmed to operate in a factory mode that prohibits the UAV from rolling the code.
[0008] The system may include a plurality of vehicles in the area, the plurality of vehicles including the vehicle providing the response, wherein each of the plurality includes an onboard computer programmed to execute the response when the UAV provides a wireless command corresponding to a key fob code stored in the corresponding onboard computer.
[0009] An unmanned aerial vehicle (UAV) includes a computer including a processor and a memory storing instructions executable by the processor, a sensor, and a key fob transmitter. The instructions include receiving image data of an area where a vehicle is parked via the sensor, sending a {wireless} command via the transmitter, and based on the sending, receiving a {visual feedback} response from a vehicle {in the area} via the sensor, {and recording} the {visual feedback} response.
[0010] The sensor may be a digital camera.
[0011] The image data may be video data.
[0012] The response may include a light pattern emitted from headlights of the vehicle.
[0013] The UAV may include an indicator located within the field of view of the sensor.
[0014] The indicator may be coupled adjacent to the aperture of the sensor.
[0015] The indicator may include a light source, wherein the instructions further include sending the command and simultaneously actuating the source.
[0016] The instructions may include repeatedly sending the command at a plurality of waypoints in the area while recording image data, wherein the data includes the responses and actuations of the indicators, and then sending the data to a second computer for video image processing, wherein the processing includes identifying the vehicle based on both the actuations and the responses occurring within a predetermined interval.
[0017] The instructions may include determining location data associated with the vehicle that provided the response.
[0018] The instructions may include processing the image data at the UAV, determining position data of the vehicle based on the processing, and providing the position data to a second computer.
[0019] A system may include a UAV and a second computer programmed to maintain a database of key fob codes for a plurality of vehicles, wherein the command sent by the UAV includes one of the codes.
[0020] A method includes receiving image data of an area where vehicles are parked from an unmanned aerial vehicle (UAV), processing the data by identifying actuation of a UAV indicator occurring within a predetermined interval of {feedback} response of a vehicle in the area, and determining a position of the vehicle based on the identification.
[0021] The response may be triggered by the UAV transmitting a key fob code in the direction of the vehicle.
[0022] The indicator may include a light source located within a field of view of the image data, and the response may include a light pattern emitted by the vehicle. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] Figure 1 A vehicle positioning system including a computer and an unmanned aerial vehicle (UAV) is shown.
[0024] Figure 2 A top view of a vehicle parking area is schematically shown.
[0025] Figure 3 is a schematic diagram of an exemplary vehicle that may be positioned in a parking area.
[0026] Figure 4 is a schematic diagram of the sensors carried by the UAV.
[0027] Figure 5 is an exemplary field of view of the sensor.
[0028] Figure 6 is a schematic diagram of another example of a sensor carried by a UAV.
[0029] Figures 7 to 9 is a flow chart illustrating a set of instructions executable by a computer and / or UAV. DETAILED DESCRIPTION
[0030] A vehicle positioning system is described, the vehicle positioning system including a computer and an unmanned aerial vehicle (UAV). According to one illustrative example, the computer may include a processor and a memory storing instructions executable by the processor, the instructions including: receiving image data of an area where a vehicle is parked from a UAV; processing the data by identifying actuation of a UAV indicator occurring within a predetermined interval of a feedback response of a vehicle in the area; and determining a position of the vehicle within the area based on the identification.
[0031] According to at least one of the above examples, the response includes a light pattern emitted from the vehicle in response to a trigger from the UAV.
[0032] According to at least one of the above examples, the indicator includes a light source located within the field of view of a sensor on the UAV.
[0033] According to at least one of the above examples, the system also includes the UAV, and the UAV is programmed to record the image data and repeatedly issue wireless commands to trigger the response as it moves from waypoint to waypoint in the area.
[0034] In accordance with at least one of the above examples, the command includes a key fob code for the vehicle, wherein the UAV is programmed to operate in a factory mode that prohibits the UAV from rolling the code.
[0035] In accordance with at least one of the above examples, the system also includes a plurality of vehicles in the area, the plurality of vehicles including the vehicle that provides the response, wherein each of the plurality includes an onboard computer programmed to execute the response when the UAV provides a wireless command corresponding to a key fob code stored in the corresponding onboard computer.
[0036] According to another illustrative example, an unmanned aerial vehicle (UAV) is disclosed, comprising: a computer including a processor and a memory storing instructions executable by the processor; a sensor; and a key fob transmitter, the instructions comprising: receiving image data of an area where a vehicle is parked via the sensor; sending a wireless command via the transmitter; and based on the sending, receiving a visual feedback response from a vehicle in the area via the sensor, and recording the visual feedback response.
[0037] According to at least one of the above examples, the sensor is a digital camera.
[0038] According to at least one of the above examples, the image data is video data.
[0039] According to at least one of the above examples, the response includes a light pattern emitted from headlights of the vehicle.
[0040] According to at least one of the above examples, the UAV also includes an indicator located within the field of view of the sensor.
[0041] According to at least one of the above examples, the indicator is coupled adjacent to the hole of the sensor.
[0042] According to at least one of the above examples, the indicator includes a light source, wherein the instructions further include: sending the command and actuating the source simultaneously.
[0043] According to at least one of the above examples, the instructions also include: repeatedly sending the command at multiple waypoints in the area while recording image data, wherein the data includes the response and the actuation of the indicator; and then sending the data to a second computer for video image processing, wherein the processing includes identifying the vehicle based on both the actuation and the response occurring within a predetermined interval.
[0044] According to at least one of the above examples, the instructions also include: determining location data associated with a vehicle that provided the response.
[0045] According to at least one of the above examples, the instructions also include: processing the image data at the UAV; determining the position data of the vehicle based on the processing; and providing the position data to a second computer.
[0046] According to at least one example above, a system comprising a UAV and the second computer, wherein the second computer is programmed to maintain a database of key fob codes for multiple vehicles, wherein the command sent by the UAV includes one of the codes.
[0047] According to another illustrative example, a method includes: receiving image data of an area where a vehicle is parked from an unmanned aerial vehicle (UAV); processing the data by identifying actuation of a UAV indicator occurring within a predetermined interval of a feedback response of a vehicle in the area; and determining a position of the vehicle based on the identification.
[0048] In accordance with at least one of the above examples, the response is triggered by the UAV emitting a key fob code in the direction of the vehicle.
[0049] According to at least one of the above examples, the indicator includes a light source located within a field of view of the image data, and the response includes a light pattern emitted by the vehicle.
[0050] According to at least one example, a computer programmed to perform any combination of the above examples is disclosed.
[0051] According to at least one example, a computer is disclosed, the computer being programmed to perform any combination of the examples of one or more methods described above.
[0052] According to at least one example, a computer program product is disclosed, the computer program product comprising a computer-readable medium storing instructions executable by a computer processor, wherein the instructions include any combination of the above instruction examples. According to at least one example, a computer program product is disclosed, the computer program product comprising a computer-readable medium storing instructions executable by a computer processor, wherein the instructions include any combination of the above one or more method examples.
[0053] Turning now to the drawings, in which like numerals indicate like parts throughout the several views, a vehicle positioning system 10 is shown, which includes a factory computer 12 and an unmanned aerial vehicle (UAV) 14. In a vehicle factory setting, service personnel often need to locate or find a specific vehicle 16 (e.g., for inspection purposes, software update purposes, etc.). The system 10 can assist such personnel in finding the vehicle 16 from among potentially hundreds or thousands of vehicles 18 located in a vehicle parking area 20 of the factory, for example. A vehicle factory may include a manufacturing or assembly facility, a vehicle storage facility, a maintenance facility, etc. In addition, the following description is shown in the context of a vehicle factory; however, this is merely an example. Other suitable locations and applications are also possible, such as valet services, etc.
[0054] According to at least some examples, the UAV 14 may receive from the computer 12 a unique vehicle identifier, such as a key fob code for a particular vehicle 16 that may be located in the parking area 20. Thereafter, the UAV 14 may use the onboard sensors 22 to find the vehicle 16, for example, by capturing image data of the parking area 20 while it repeatedly transmits the code throughout the area 20 (e.g., moving through a series of predetermined waypoints). In at least one example, the UAV 14 may have an onboard indicator 26 (e.g., such as a light source) that emits a signal each time a code is transmitted, and these emissions may be captured within the image data (e.g., by locating the indicator within the field of view (FOV) of the sensor 22). When the key fob code is received by the particular vehicle 16 (e.g., when the UAV 14 is in its vicinity), the vehicle 16 may emit a response (e.g., such as flashing its headlights). At this point, the vehicle 16 may or may not be within the FOV of the UAV sensor 22; however, when the vehicle 16 is within the FOV, the UAV 14 can be captured within the image data, which includes the signal of the indicator 26 (e.g., the light source is illuminated) and the response from the vehicle 16 (e.g., the headlights are flashing). Therefore, the vehicle 16 can be located in part by identifying the signal and the response within a predetermined time interval. As will be described below, in one example, the UAV 14 can have sufficient memory to store image processing algorithms (and / or software), and have sufficient processing speed and the ability to execute such algorithms (so-called real-time) - therefore, in one example, the UAV 14 can perform the identification. In other examples, the UAV 14 may not perform the identification. Instead, the UAV 14 can provide the image data to the computer 12, and the computer 12 can determine the location of the vehicle 16, for example, by processing the image data, identifying the vehicle 16, and also determining its position data.
[0055] Thus, it will be appreciated that once identification of the corresponding signal and response is determined, that identification can be matched with an indication of where in the parking area 20 that identification occurred (e.g., so that a service person can locate the vehicle 16). According to one example, the image data captured by the UAV 14 can be time-stamped, and the UAV can record a time-stamped data record of its movement in the parking area 20; these two sets of data can be correlated to determine the location data of the vehicle 16. In one example, the UAV 14 moves according to a series of waypoints, for example, capturing image data at each waypoint; thus, the timestamp (or time range) of each waypoint can also be stored by the UAV 14. In other examples, other identifying information can be captured within the image data (e.g., such as a marker on or near the parking area 20), and the UAV 14 and computer 12 can use that identification information to identify the location data of the vehicle 16. Ultimately, when the location data of the vehicle is determined, it can be provided to the service person, who can then perform any appropriate service on the vehicle 16.
[0056] The computer 12 may include a single computer or multiple interconnected computing devices. For example, in at least one instance, the computer 12 is a manufacturing or assembly plant computer that is connected to an intranet of other computers, plant systems, and / or plant subsystems. The computer 12 may include at least one processor 30 coupled to a memory 32. For example, the processor 30 may be any type of device capable of processing electronic instructions, non-limiting examples of which include a microprocessor, a microcontroller or controller, an application specific integrated circuit (ASIC), etc. (to name a few). In general, the computer 12 may be programmed to execute digitally stored instructions, which may be stored in the memory 32, which, among other things, enable the computer 12 to: receive image data of a vehicle parking area 20 from the UAV 14; process the image data by identifying actuation of the UAV indicator 26 occurring within a predetermined interval of a response of a particular vehicle 16 that may be located within the area 20; and determine the location of the vehicle 16 based on the identification and the image data. These and other instructions will be described in more detail below.
[0057] The memory 32 may include any non-transitory computer-usable or readable medium, which may include one or more storage devices or articles. Exemplary non-transitory computer-usable storage devices include conventional computer system RAM (random access memory), ROM (read only memory), EPROM (erasable programmable read-only memory), EEPROM (electrically erasable programmable read-only memory), and any other volatile or non-volatile media. Non-volatile media include, for example, optical or magnetic disks and other persistent memory. Volatile media include dynamic random access memory (DRAM), which typically constitutes main memory. Common forms of computer-readable media include, for example, floppy disks, disks, hard disks, magnetic tapes, any other magnetic media, CD-ROMs, DVDs, any other optical media, punch cards, paper tapes, any other physical media with perforated patterns, RAM, PROMs, EPROMs, FLASH-EEPROMs, any other memory chips or memory cartridges, or any other medium that is computer-readable. As described above, the memory 32 may store one or more computer program products, which may be embodied as software, firmware, etc.
[0058] The computer 12 may also include a transceiver 34 that enables communication between the computer 12 and the UAV 14. The transceiver 34 may include a docking connector for mating with the UAV 14 (e.g., in a wired embodiment); however, in at least one example, the transceiver 34 facilitates wireless communication. For example, according to one example, the transceiver 34 includes an antenna (not shown) and a short-range wireless chipset (not shown); the chipset may facilitate communication via one or more protocols such as Wi-Fi, Wi-Fi Direct, Bluetooth, Bluetooth Low Energy (BLE), etc. In other examples, the transceiver 34 may facilitate long-range wireless communication (e.g., including chipsets such as LTE, CDMA, GSM, etc.); other communication technologies (e.g., including satellite communications) are also possible. In at least one example, the computer 12 communicates with the UAV 14 via the BLE protocol, for example, thereby requiring less power for the cordless UAV 14.
[0059] In at least one example, the computer 12 also includes at least one database 36. The database 36 can include any suitable memory or securely connected server that stores, among other things, unique vehicle identifiers for a plurality of vehicles 18 (e.g., including the vehicle 16). According to one example, the database 36 maintains a record for each vehicle 18, and each record includes one or more identifiers. For example, each record can include a key fob code, a vehicle identification number (so-called VIN), etc. In some examples, the record can also include a license plate identifier; however, it should be understood that in a vehicle factory environment, such vehicles are typically not yet licensed (thus, they will not have a license plate identifier).
[0060] According to at least one example, the computer 12 can be located at a vehicle factory that includes the parking area 20. Due to the scale of a typical vehicle factory, short-range wireless communication can be facilitated by a plurality of wireless signal repeaters 38 spaced apart from each other and located between the computer transceiver 34 and the parking area 20. In addition, the parking area 20 itself can also have a plurality of repeaters 38 spaced apart from each other (e.g., around and within the perimeter of the area 20). The spacing of such repeaters 38 can be based on the expected attenuation range of the wireless signal, such as based in part on the wireless protocol used. According to another location data example, the UAV 14 can use triangulation techniques and signals from the repeaters 38 to determine its location data in the parking area 20 (and therefore the identified vehicle 16).
[0061] The vehicle parking area 20 may be a gravel or paved mat (e.g., covered or uncovered), a parking garage, etc. Additionally, in at least some examples, the area 20 includes a plurality of location identifiers 40. Non-limiting examples include alphanumeric markings painted or adhered to a surface 42 of the area 20, signs with alphanumeric markings, unique lighting or other wireless signals indicating the area, etc. Figure 2 In the embodiment of the present invention, the identifier 40 includes row and column markings on the surface 42 (e.g., rows AA, BB, CC, DD, etc. and columns 1, 2, ..., 16, ...); of course, this is only one example. Other suitable identifiers 40 include signs and / or unique markings for each parking space 44 in the area 20.
[0062] As will be described in more detail below, the area 20 may be mapped using a plurality of waypoints 48. Each waypoint 48 may have a unique set of GPS coordinates (e.g., with 5 to 7 decimal places of accuracy) and / or an Internet Protocol Version 6 (IPV6) address. In addition, the spacing and location of the waypoints 48 may be associated with the field of view (FOV) of the sensor 22 on the UAV 14 (e.g., how much space it can capture at a certain moment), may be based on groupings 50 of parking spaces 44 (or vehicles 18), combinations thereof, etc.
[0063] Each of the vehicles 18 (including the particular vehicle 16) is shown as a sedan; however, the vehicle 18 may also be a truck, a sport utility vehicle (SUV), a recreational vehicle, a bus, a train, a ship, an airplane, etc. According to one example (see Figure 3 ), each vehicle 18 may include an electronic control module 52 (e.g., such as a so-called body control module) that responds to wireless commands (including key fob codes) from a transmitter of a keyless entry device (e.g., such as a vehicle key fob). For example, the module 52 may include a computer that includes one or more processors, a memory, and a wireless receiver that responds to commands from an associated key fob regardless of whether the vehicle ignition is on or off. In this way, when a user of the vehicle 18 presses a switch on the key fob, the module 52 may receive the command, verify the key fob code, and perform a vehicle function (also specified within the command), such as, for example, locking or unlocking the vehicle doors, starting the vehicle ignition, actuating an emergency function (e.g., sounding the vehicle horn and / or flashing the vehicle lights), etc. In some examples of performing a vehicle function, the module provides a feedback response to the user (e.g., so that the user knows that the function has been performed). For example, when the module 52 receives a command to lock the vehicle doors, the module 52 may actuate both the vehicle door locks 54 and flash the vehicle headlights 56, sound the vehicle horn 58, etc. In this way, a user who may be at a distance knows that the vehicle 18 has executed a wireless command. In at least one example, the headlights 56 emit a predetermined light pattern using at least some of the wireless commands. The light pattern can include one or more flashes, each flash having a predetermined on-duration (and where multiple flashes are used, each non-flash duration between flashes can have a predetermined off-duration). As will be explained in more detail below, the UAV 14 can send a wireless command including a key fob code, and a feedback response (e.g., such as a light pattern) can be received by the UAV 14 and used to identify a particular vehicle 16 from other vehicles 18.
[0064] Figure 1 and Figures 4 to 6 Aspects of an unmanned aerial vehicle (UAV) 14 (e.g., a so-called drone) are shown. The UAV 14 can be any suitable aircraft that is at least partially, if not entirely, operated and controlled by a computer 70 on the UAV 14 itself, which can enable the UAV to operate in a fully autonomous mode in which no human intervention or control is required. In at least one example, the UAV 14 can hover using one or more propeller assemblies 72; this is merely one example (and other UAV flight techniques may be employed alternatively or additionally).
[0065] In general, the UAV 14 includes a computer 70, sensors 22, a wireless transceiver 74, and a key fob transmitter 76. The computer 70 includes at least one processor 78 and a memory 80 that stores instructions that are executable by the at least one processor 78. The processor 78 may be similar or identical to the processor 30 (described above with respect to the computer 12), and the memory 80 may be similar or identical to the memory 32 (also described above with respect to the computer 12); therefore, this hardware will not be described again here. However, the instructions stored in the memory 80 are different from the instructions stored in the memory 32; the instructions stored in the memory 80 are executable by the processor 78 and specifically configure the computer 70 to perform different tasks. For example, the computer 70 may be programmed with instructions including, among others, receiving and / or storing a key fob code from the computer 12; controlling UAV flight; controlling UAV steering; controlling UAV stability; controlling UAV navigation; moving the UAV 14 through a series of waypoints 48; receiving and / or recording image data of a vehicle parking area 20 via the sensor 22; storing the image data in the memory 80; sending a video feed of the image data to the computer 12; providing a recorded video clip of the vehicle 18 as the UAV 14 moves through the parking area 20; sending a wireless command (including the key fob code) via the transmitter 76 to a vehicle 18 attempting to identify a particular vehicle 16 (and repeating the transmission); inhibiting the key fob code from being scrolled or bounced at the computer 70; receiving and / or recording (via the sensor 22) a response from the vehicle 16; actuating the indicator 26 on the UAV 14 when the transmitter 76 sends a command; processing the image data using image processing algorithms, instructions, and / or any other suitable technique; and executing any combination of the exemplary instructions listed herein.
[0066] According to one example, image processing is performed by the processor 78 and may include: analyzing multiple video frames of image data; determining which frames include both responses from the vehicle 16 (e.g., light patterns emitted from the headlights 56) and indications (e.g., illumination) from the indicator 26; identifying the vehicle 16 based on the response and indication occurring within a predetermined interval of each other; and determining location data of the vehicle 16 using any appropriate technique. As will be described below, determining location data may include storing GPS coordinates of the vehicle 16 (once the indication and corresponding response are identified), using wireless signals from the repeater 38 to triangulate the location, and / or using a location identifier 40 on or near the parking area 20. The image processing instructions may also be executed individually or in any appropriate combination with each other. In addition, any of the instructions discussed above are merely examples; other instructions may be stored by the memory 80 and may also be executed by the processor 78.
[0067] As used herein, a sensor 22 on a UAV 14 comprises an input device configured to detect a feedback response generated by the vehicle 16 when a key fob transmitter 76 transmits a wireless command (including an appropriate key fob code). For example, the sensor 22 may include a digital camera (e.g., a complementary metal oxide semiconductor (CMOS) device, a charge coupled device (CCD), etc.), an image intensifier (a so-called i-squared device), etc., to name a few non-limiting examples. The sensor 22 may include an aperture 82 (e.g., typically having a cover or lens located therein) spaced from a detector or imaging plane (not shown), the aperture 82 allowing light to be incident on the detector.
[0068] Indicator 26 may be any suitable device that, when actuated by computer 70, provides an indication of its actuation. In at least one example, the indication is a visual indication. For example ( Figure 4 ), the indicator 26 may include a light source 84 located within the field of view (FOV) of the detector, and the light source illuminates when triggered by the computer 70. The light source 84 may be any suitable light emitting device (e.g., such as a light emitting diode or LED). In at least one example, the indicator 26 includes an arm 86 coupled to a body 88 of the sensor 22, wherein the arm 86 is adjacent to the aperture 82 so that light from the light source 84 is captured within the FOV of the detector.
[0069] Other examples of indicators exist. For example, Figure 6 A sensor 22' is shown having a body 88', an aperture 82', and an indicator 26'. Here, the indicator 26' is a reticle. For example, the reticle may be illuminated when triggered by the computer 70. In another indicator example, the computer 70 may introduce one or more predefined pixels or arrangements of pixels into the video data, and the presence of these pixels in a frame of the video data may indicate the transmission of a key fob code. Other examples exist.
[0070] The wireless transceiver 74 can enable communication between the UAV 14 and the computer 12 (among other things). The transceiver 74 may include an antenna (not shown) and a short-range wireless chipset (not shown); the chipset may facilitate communication via any suitable protocol (such as Wi-Fi, Wi-Fi Direct, Bluetooth, Bluetooth Low Energy (BLE), etc.). In other examples, the transceiver 74 can facilitate long-range wireless communication (e.g., including LTE, CDMA, GSM, etc. chipsets, etc.); other communication technologies (e.g., including satellite communications) are also possible. The transceiver 34 (computer 12) and the transceiver 74 (UAV 14) can be matched, for example, to facilitate communication therebetween. And in at least one example, the wireless transceiver 74 has a BLE chipset and utilizes the BLE protocol.
[0071] The key fob transmitter 76 of the UAV 14 may include a microprocessor (not shown) coupled to a wireless chipset (not shown) that operates within a frequency range suitable for performing one or more remote keyless entry functions (in one example, at a frequency of approximately 315 MHz). Unlike a handheld key fob, the transmitter 76 may not be coupled to any user-actuable buttons (but may instead be actuated by the computer 70 on the UAV). For example, when the processor 78 actuates the transmitter 76, the transmitter chipset may send a wireless command to the vehicle 18. As described above, the command may include an instruction to perform a vehicle function that is coupled to a key fob code. When the associated vehicle 16 receives the command (and verifies the code), the vehicle 16 may execute the instruction—in a manner similar to the vehicle 16 receiving the command from the handheld key fob. Continuing with the above example, when the vehicle 16 receives at least one command, the door locks may be actuated (to a locked state) and the headlights 56 may flash.
[0072] When a user presses a button to activate a conventional handheld key fob, the microprocessor within the key fob typically scrolls (or jumps) the code to avoid a replay attack. As will be appreciated by those skilled in the art, a replay attack involves a malicious eavesdropper recording the transmitted code and replaying it in conjunction with an instruction to unlock the vehicle doors, start the vehicle ignition, etc. (e.g., allowing the eavesdropper to enter the vehicle and / or drive away). To avoid this, the handheld key fob can be programmed to scroll the code, i.e., to advance the code to the next key fob code in sequence (e.g., as calculated by an algorithm executed by the key fob's microprocessor). Thus, the next time the key fob is actuated (by the user pressing a button), the next wireless command will use a different code in the order determined by the algorithm. The corresponding vehicle (e.g., more specifically, the computer 52) operated according to the handheld key fob is typically configured with the same algorithm. Therefore, when the computer 52 receives a command with a different code, the computer 52 is programmed to determine whether the new code matches one of a predetermined number (e.g., 256) of other codes that can be determined using a sorting algorithm. For example, when a handheld key fob button has been pressed one or more times but a wireless command has not yet reached the computer 52, the computer 52 may receive a different code (e.g., each time a conventional key fob button is pressed, the key fob code may scroll—e.g., resulting in a mismatch later). If a match is found (by the computer 52) among a predetermined number of other codes, the computer 52 updates its memory (of the most recently used key fob code for the handheld key fob) and also executes the instruction sent from the handheld key fob. In essence, the computer 52 synchronizes the most recently used key fob code in its memory. (If no match is found, the handheld key fob is no longer paired with the computer 52—e.g., an authorized service person will need to perform a special re-pairing process in order to make the handheld key fob operable again).
[0073] In the present case, the key fob transmitter 76 can be programmed to operate in a factory mode, wherein in the factory mode, the transmitter 76 does not roll the key fob code each time it sends a wireless command (e.g., when it searches for a parking area 20). Thus, because the parking area 20 may be very large (and as will be further described below), the UAV 14 can repeatedly send codes outside the wireless range of a particular vehicle 16 without rolling the key fob code more than a predetermined number of times. In at least one example, the predetermined number can be zero. In this way, the UAV 14 (and its transmitter 76) may not undesirably disable the transmitter 76 and fail to receive a desired feedback response from a particular vehicle 16.
[0074] In addition to the components listed above, the UAV 14 may also include a positioning unit 94, which may include any suitable computing device that can provide global and / or local position data to the computer 70. For example, the positioning unit 94 can receive position data (e.g., such as latitude and longitude (LAT / LONG) coordinate data) from one or more satellites. Non-limiting satellite types and positioning systems include GPS and GLONASS. In addition, using the unit 94, the UAV 14 can move through the parking area 20 according to a predetermined flight plan, which includes a series of predetermined waypoints 48 and pause periods at one or more waypoints. For example, according to a flight plan, the pause period at each waypoint 48 can be similar or identical, for example, allowing each target vehicle 18 to have enough time to be within the current field of view of the UAV sensor 22 to provide a feedback response.
[0075] Now go to Figures 7 to 9 , these flow charts illustrate processes 700, 800, 900 that may be performed by one or more computing devices of the vehicle positioning system 10. These processes are intended to illustrate the use and application of the system 10 and are not intended to be limited to the examples set forth herein.
[0076] The process 700 may begin at block 705, where the UAV 14 (e.g., via the transceiver 74) receives a unique identifier from the factory computer 12. For example, a service technician or the computer 12 itself may determine that a particular vehicle 16 of a plurality of vehicles 18 requires service, and that the vehicle 16 may be located at an unknown location in the parking area 20. For purposes of illustration only, the technician or the computer 12 may determine that the vehicle 16 requires the latest telematics software update. The identifier provided to the UAV 14 by the computer 12, either wired or wirelessly, may be a key fob code, or may include a key fob code of the particular vehicle 16 that the UAV 14 may use to locate the vehicle.
[0077] In block 710, the UAV 14 may navigate or move to a first (or next) waypoint 48 in the parking area 20. For example, in at least one example, the computer 70 on the UAV 14 may be programmed to use the positioning unit 94 to navigate a predetermined series of waypoints 48. To illustrate, these waypoints 48 may include a loop from a docking station (not shown) to the parking area 20, through a series of spaced-apart waypoints 48 in the parking area (e.g., to search for the vehicle 16), and a return route from one or more waypoints to the docking station again. (After process 700, block 710 may be repeated, and block 710 will then move to the "next" waypoint 48 in the predetermined series).
[0078] At box 715, at the waypoint of box 710, the UAV 14 can instruct the key fob transmitter 76 to send a wireless command, which can include an identifier (e.g., a key fob code) received from the computer 12. The command can be sent in the direction of multiple vehicles 18 in the parking area 20 (e.g., at the current waypoint 48) to trigger a feedback response from the sought vehicle 16. According to one example, multiple vehicles 18 can receive the key fob code and the vehicle command (and each vehicle 18 that receives the code can use its onboard computer 52 to determine whether the code matches its stored key fob code). According to one example set forth above, the vehicle command can be suitable for actuating the door locks to a locked state (e.g., even if the locks on the vehicle 16 are already in a locked state). Based on the programming of the vehicle 16, the UAV 14 can expect that the vehicle 16 will not only execute the command (based on the key fob code) when it receives the wireless command, but can also provide a feedback response, such as a flashing of the vehicle headlights 56 (e.g., once or twice).
[0079] In block 720, the UAV 14 may hover over the corresponding waypoint 48 while receiving image data from the sensor 22 (e.g., image data including all or a portion of the portion of the parking area 20 to which the wireless command is directed). In at least one example, the image data is video data or a video data stream (e.g., a plurality of sequential frames). Block 720 may occur at least partially simultaneously with block 715. In some cases, once the UAV 14 reaches the first waypoint 48 in the parking area 20, it may receive, record, and / or store image data (e.g., until the entire parking area 20 is imaged or until the vehicle 16 is identified). Thus, in some examples, image data may be received at least immediately prior to block 715. In other examples, a segment of video data is captured at each waypoint 48 (e.g., to save storage space on the UAV 14).
[0080] In block 725, the UAV 14 may execute an onboard trigger via the computer 70. According to one example, the trigger actuates the indicator 26; and in at least one example, the trigger actuates the light source 84 to emit light. As described above, the light from the source 84 may be within the field of view of the sensor 22; therefore, the image data may include illumination. The illumination may be temporary, such as having a predetermined duration (e.g., one or two seconds). Block 725 may also be executed at least partially simultaneously with blocks 715 and 720. In some cases, the execution of block 725 may lag behind the execution of blocks 715 and 720; however, the lag may be less than one second (e.g., even less than 500 milliseconds in some examples). The use of the indicator 26 (e.g., embodied as an actuable light source 84) may reduce the need for complex software to correlate the transmission of the key fob code transmission (block 715) with the video data that may be recorded by the UAV computer 70.
[0081] Other examples of block 725 include an onboard trigger that causes an internal actuation, such as actuation of an electronic circuit, switch, counter, etc. (e.g., not captured by the image data of the sensor 22). In at least one example of this nature, the trigger is the execution of a wireless command. This implementation may be appropriate when the UAV 14 performs onboard image processing to determine feedback responses from the vehicle 16; in these cases, the UAV 14 may be able to correlate feedback responses from the vehicle 16 with its own internal actuation. In other cases (e.g., where the computer 12 rather than the UAV computer 70 analyzes the image data), a visible actuation captured within the image data may be desired. For purposes of illustration only, the remainder of process 700 describes the indicator 26 as being external to the sensor 22 (e.g., as the light source 84 described previously).
[0082] In block 730 (after executing blocks 715 to 725), the computer 70 determines whether a feedback response is received from at least some of the plurality of vehicles 18 for which the wireless command was received in block 715. For example, in some cases, block 730 may only be relevant to vehicles 18 within the field of view of the sensor 22 (e.g., when executing blocks 715 to 725). If a feedback response (e.g., such as a flashing of the vehicle's headlights 56) is determined in response to sending a wireless command (e.g., with a key fob code for a vehicle 16), the UAV 14 may determine that it has a high probability of discovering a particular vehicle 16. However, further identification of the vehicle 16 may be required, and an example of such further identification is described below in block 735 (which may immediately follow).
[0083] According to at least one example, process 700 loops back and repeats blocks 715, 720, and 725 to see if re-executing these instructions results in a second similar feedback response from the vehicle. In this case, if the headlights 56 flash again due to the second attempt of the same vehicle, the UAV 14 can execute process 800 to further identify whether it has located the vehicle 16.
[0084] In block 730, if no feedback response is received (or if no second feedback response is received when blocks 715, 720, 730 are re-executed in a confirmation attempt), process 700 may loop back to block 710 and move to the next waypoint 48. Thereafter, process 700 may proceed as described above.
[0085] In block 735, the UAV computer 70 may identify the vehicle providing the feedback response, e.g., thereby confirming that the headlight flashing is not consistent. In at least one example, the identification may include additional analysis of image data received by the sensor 22, analysis of the timing of the feedback response from the vehicle compared to the timing of the wireless command, etc. An example of a set of instructions that may be executed to identify the vehicle 16 is further described below in process 800.
[0086] In a subsequent block 740, the computer 70 may identify location data for the identified vehicle 16. For example, the computer 70 may determine the location of the vehicle in the parking area 20. According to one example, using the transceiver 74, the UAV 14 may triangulate the location of the vehicle 16 relative to several wireless repeaters 38 having known locations in the parking area 20. Or using the computer 70, the UAV 14 may perform an optical character recognition processing algorithm that enables the UAV 14 to determine the location data of the vehicle 16 using a location identifier 40 in the parking area 20 (e.g., such as a sign, a marking on a surface 42 of the parking area 20, etc.).
[0087] In other examples, the UAV 14 may simply record the location data and download it to the computer 12, which then performs the image processing (and ultimately determines the location of the vehicle 16). For example, the UAV 14 may send the image data to the computer 12 as it passes through the waypoint 48 in the parking area 20, or it may store the image data (which may or may not include the location data) in the memory 80 and provide it to the computer 12 at a later time.
[0088] Continuing with the example where the UAV 14 identifies the vehicle 16 and its corresponding location data, in a subsequent block 745, the UAV 14 may provide a message to the computer 12 indicating that it has found the vehicle 16 (e.g., using the transceiver 74). The message may also include the location data. Thereafter, the service technician may retrieve the vehicle 16 and update the telematics software therein.
[0089] After block 745, process 700 may include the UAV 14 determining to scan the parking area 20 for another vehicle (e.g., such as vehicle 16) (see block 750). If in block 750 the UAV 14 has or receives instructions to find another vehicle, process 700 loops back to block 710 and repeats the corresponding instructions, as described above. Otherwise, process 700 may proceed to block 755, where the UAV 14 returns to its docking station, and the process ends.
[0090] Now go to Figure 8 , process 800 further uses the image data acquired by the UAV 16 to identify a specific vehicle 16 and attempt to eliminate potential false positive determinations. Recall that prior to process 800, the image data included feedback responses (e.g., such as the flashing of the vehicle headlights 56). Of course, the vehicle headlights may flash for other reasons, and process 800 attempts to verify that the flashing of the headlights or other responses are not consistent.
[0091] As described above, the process 800 may be performed at the UAV 14 (e.g., as part of blocks 730 and / or 735) using so-called real-time image processing techniques. Alternatively, the UAV 14 may perform the process 800, but not in real-time. Alternatively, the process 800 may be performed by the computer 12, for example, once the UAV 14 provides the recorded image data to the computer. For purposes of illustration only and not limitation, the process 800 will be described with respect to the UAV 14 executing instruction blocks.
[0092] The process 800 may begin at block 810, which includes determining a first timestamp (t1) of an actuated onboard trigger (block 725). Recall that the trigger may be actuated simultaneously or within a predetermined time of the transmission of the wireless command (block 715). Again, for purposes of illustration only, the actuation will be described as the light source 84 of the indicator 26 being illuminated. Thus, the timestamp t1 may correspond to the time when the image data captured the light source 84 in the illumination state (and the illumination state may be an indication of the video data when the UAV 14 transmitted the wireless command).
[0093] In block 820, computer 70 may determine a second timestamp (t2) that corresponds to when a vehicle headlight illumination event (feedback response) is captured in the image data. Using timestamps t1 and t2 (in block 830), computer 70 may determine a time interval (Δt), where Δt = |t1 – t2|. As described in more detail below, the time interval (Δt) between trigger actuation and headlight illumination may be related to the transmission of a wireless command by key fob transmitter 76. For example, if the interval (Δt) is less than a predetermined threshold of time (T1), computer 70 may determine a high likelihood of correlation that the headlight illumination is the result of a wireless command (e.g., as opposed to occurring randomly).
[0094] In block 840, computer 70 may also determine the headlight on duration (t HL_ON ). The on duration may be measured from the time the headlight emits light until it stops emitting light. For example, in the case of a headlight flash, this on duration may be less than 1 second or 2 seconds. Additionally, if the image data includes multiple flashes from the vehicle, each duration may be measured. As will be described below, one or more on durations when locking the vehicle door may be a signature of the vehicle 16 being sought. For example, certain makes or models of vehicles 18 may have different on durations, different flash or light patterns, etc. However, if the image data includes headlight 56 that actuates on but remains on (e.g., for any suitable reason; such as the vehicle is about to be driven away), the parameter t HL_ON may be used to demonstrate a lack of correlation with the vehicle 16 being sought, as described below.
[0095] In a subsequent block 850, the time interval (Δt) may be compared to a first predetermined threshold (T1), and the headlight on duration (t HL_ON ) may be compared to a second predetermined threshold (T2). According to one example, if Δt < T1 (i.e., if the time between the wireless command and the headlight flash is less than the threshold) and t HL_ON < T2 (i.e., if the time the headlight is actually on is less than the threshold), then process 800 proceeds to block 860, where computer 70 determines that a particular vehicle 16 has been identified (e.g., with a high likelihood of accuracy). However, if in block 850 computer 70 determines that Δt is not less than T1 or t HL_ON is not less than T2, then process 800 proceeds to block 870, where computer 70 determines that a particular vehicle 16 has not been identified.
[0096] In the context of a computer 70 on a UAV 14 executing process 800, the process may be repeated each time the UAV 14 detects a headlight emission within its field of view. In this manner, processing power and performance are preserved on the UAV 14, e.g., because the UAV does not execute the instruction set on each wireless transmission.
[0097] In the case where the computer 12 executes the process 800, the computer 12 can parse the image data and identify the image data segment including the headlight emission, and then use the interval Δt, the duration t HL_ON , threshold T1, threshold T2, etc., and other relevant data provided by the UAV 14 to identify the vehicle 16. In this way, the computer 12 also saves computing power by not executing the process 800 for each waypoint 48 in the parking area 20.
[0098] Turning now to process 900, a process is shown in which the UAV 14 captures image data of the parking area 20 (e.g., waypoint by waypoint 48) and provides the image data to the plant computer 12 for image processing for identifying the vehicle 16 and its location data. As explained below, in at least one example, the image data may be provided to the computer 12 after the UAV 14 has passed all waypoints 48 of the parking area 20.
[0099] Process 900 begins at blocks 905, 910, 915, 920, and 925. These blocks may be the same or similar to blocks 705, 710, 715, 720, and 725, respectively, described above (process 700); therefore, they will not be described again here.
[0100] In block 970 following block 925, the UAV 14 may determine whether it has performed blocks 910 to 925 for each of the waypoints in the predetermined or preprogrammed series of waypoints 48 associated with the parking area 20 (e.g., has image data been scanned and received at all waypoints 48?). If not, the process 900 may loop back and repeat blocks 910 to 925 (e.g., for each waypoint 48). If all waypoints 48 in the parking area 20 have been scanned, the process 900 may proceed to block 975.
[0101] In block 975, the UAV 14 provides the image data to the computer 12. As described above, this may occur via wired transmission (e.g., via a docking station) or via wireless transmission (e.g., using the transceiver 74). Furthermore, it may occur as streaming data, as a collection of piecemeal transmissions, or as a single download or transfer. Regardless of the delivery method, after block 975, the process proceeds to block 980.
[0102] Block 980 may be similar to block 730. In block 730, image data of the parking area 20 is parsed in a piecemeal manner. Here, in at least one example, all of the image data is available to the computer 12. Thus, in at least one example of block 980, the computer 12 parses the image data to find any potential feedback responses from one or more vehicles 18 in the parking area 20. Continuing with the above example, this may include parsing video data recorded by the UAV sensor 22 to find instances of headlights being emitted.
[0103] After determining these conditions, process 900 can proceed to block 985 and attempt to identify vehicle 16 from the video data. According to at least one example of block 985, this can include executing process 800, as described above. Therefore, the instructions that can be executed to determine this identification will not be discussed again here.
[0104] In subsequent block 990, having identified the vehicle 16, the computer 12 may identify the location data associated with the particular vehicle 16. The instructions may be similar or identical to block 740; therefore, they will not be repeated here.
[0105] After identifying the vehicle 16 and its location data, the location data can be provided to a service technician who can then retrieve the vehicle 16, as described above. After block 990, process 900 can execute block 995, which can be similar or identical to block 750 (e.g., whether another vehicle is to be located). If another vehicle is to be placed, process 900 can continue to block 905, where computer 12 can provide (and UAV 14 can receive) another unique identifier. Otherwise, process 900 ends.
[0106] Other examples of vehicles 16 also exist. For example, the computer 52 can be programmed so that it responds to key fob-like commands, e.g., using a similar protocol and / or a similar frequency. In at least one example, the computer 52 can be programmed with special instructions that do not require rolling a key fob code at the UAV 14 or vehicle 16.
[0107] Thus, a vehicle positioning system has been described that includes a computer and an unmanned aerial vehicle (UAV). The computer and / or the UAV are programmed to receive and / or analyze image data of an area where a vehicle is parked, wherein the image data includes a feedback response from a specific vehicle based on a wireless command sent from the UAV. The wireless command includes a unique identifier that causes the specific vehicle to respond.
[0108] In general, the computing systems and / or devices described may employ any of a number of computer operating systems, including but not limited to versions and / or variations of the following operating systems: Ford Applications, AppLink / SmartDevice Link middleware, Automotive operating systems, Microsoft Operating systems, Unix operating systems (e.g., those released by Oracle Corporation, Redwood Shores, California) operating system), the AIX UNIX operating system distributed by International Business Machines, Armonk, New York, the Linux operating system, the Mac OS X and iOS operating systems distributed by Apple Inc., Cupertino, California, the BlackBerry OS distributed by Blackberry, Ltd, Waterloo, Canada, the Android operating system developed by Google, Inc. and the Open Handset Alliance, or supplied by QNX Software Systems Ltd. CAR Infotainment Platform. Examples of computing devices include, but are not limited to, an onboard vehicle computer, a computer workstation, a server, a desktop computer, a notebook computer, a laptop computer, or a handheld computer, or some other computing system and / or device.
[0109] Computing devices typically include computer-executable instructions, which can be executed by one or more computing devices such as those listed above. Computer-executable instructions can be compiled or interpreted by a computer program created using a variety of programming languages and / or technologies, including, alone or in combination, Java, TM , C, C++, Visual Basic, Java Script, Perl, etc. Some of these applications can be compiled and executed on a virtual machine (such as a Java virtual machine, a Dalvik virtual machine, etc.). Typically, a processor (e.g., a microprocessor) receives instructions, such as from a memory, a computer-readable medium, etc., and executes these instructions, thereby performing one or more processes, including one or more processes described herein. A variety of computer-readable media can be used to store and transmit such instructions and other data.
[0110] Computer-readable media (also referred to as processor-readable media) include any non-transitory (e.g., tangible) media that participate in providing data (e.g., instructions) that can be read by a computer (e.g., by a processor of a computer). Such media can take many forms, including but not limited to non-volatile media and volatile media. Non-volatile media can include, for example, optical or magnetic disks and other persistent memories. Volatile media can include, for example, dynamic random access memory (DRAM), which typically constitutes main memory. Such instructions can be transmitted by one or more transmission media, including coaxial cables, copper wires, and optical fibers, including wires that constitute a system bus connected to a processor of a computer. Common forms of computer-readable media include, for example, floppy disks, floppy disks, hard disks, magnetic tapes, any other magnetic media, CD-ROMs, DVDs, any other optical media, punch cards, paper tapes, any other physical media with perforated patterns, RAMs, PROMs, EPROMs, FLASH-EEPROMs, any other memory chips or memory boxes, or any other medium that is readable by a computer.
[0111] A database, data repository, or other data storage device described herein may include various mechanisms for storing, accessing, and retrieving various data, including hierarchical databases, collections of files in a file system, application databases in a proprietary format, relational database management systems (RDBMS), and the like. Each such data storage device is typically included in a computing device that employs a computer operating system such as one of those described above, and is accessed via a network in any one or more of a variety of ways. The file system may be accessed from the computer operating system and may include files stored in a variety of formats. RDBMSs typically employ structured query language (SQL) in addition to languages for creating, storing, editing, and executing stored programs, such as the PL / SQL language described above.
[0112] In some examples, system elements may be implemented as computer-readable instructions (e.g., software) on one or more computing devices (e.g., servers, personal computers, etc.) stored on computer-readable media associated therewith (e.g., disks, memories, etc.). A computer program product may include such instructions stored on a computer-readable medium for performing the functions described herein.
[0113] The processor is implemented via a circuit, chip, or other electronic component, and may include one or more microcontrollers, one or more field programmable gate arrays (FPGAs), one or more application specific circuits (ASICs), one or more digital signal processors (DSPs), one or more customer integrated circuits, etc. The processor may be programmed to process sensor data. Processing data may include processing a video feed or other data stream captured by the sensor to determine the road lane of the host vehicle and the presence of any target vehicles. As described below, the processor instructs vehicle components to actuate based on the sensor data. The processor may be incorporated into a controller (e.g., an autonomous mode controller).
[0114] The memory (or data storage device) is implemented via circuits, chips or other electronic components, and may include one or more of the following: read-only memory (ROM), random access memory (RAM), flash memory, electrically programmable memory (EPROM), electrically erasable programmable memory (EEPROM), embedded multimedia card (eMMC), hard disk drive, or any volatile or non-volatile medium, etc. The memory can store data collected from the sensor.
[0115] The present disclosure has been described in an illustrative manner, and it should be understood that the terminology that has been used is intended to be descriptive in nature rather than limiting. In light of the above teachings, many modifications and variations of the present disclosure are possible, and the present disclosure may be practiced in other ways than specifically described.
Claims
1. A system for locating a vehicle, comprising: A computer, the computer comprising a processor and a memory, the memory storing instructions executable by the processor, the instructions comprising: receiving image data of an area where a vehicle is parked from an unmanned aerial vehicle (UAV); processing the data by identifying feedback responses of vehicles and actuations of indicators of unmanned aerial vehicles (UAVs) occurring within predetermined intervals in the area; and Based on the identification, determining a position of the vehicle within the area; The unmanned aerial vehicle (UAV) records the image data and repeatedly issues wireless commands to trigger the response.
2. The system of claim 1, wherein the response comprises a light pattern emitted from the vehicle in response to a trigger from the unmanned aerial vehicle (UAV).
3. The system of claim 1, wherein the indicator comprises a light source located within a field of view of a sensor on the unmanned aerial vehicle (UAV).
4. The system of claim 1 further comprising the unmanned aerial vehicle (UAV), wherein the unmanned aerial vehicle (UAV) is programmed to record the image data and repeatedly issue wireless commands to trigger the response as it moves from waypoint to waypoint within the area.
5. The system of claim 4, wherein the command comprises a key fob code for the vehicle, wherein the UAV is programmed to operate in a factory mode that prohibits the UAV from rolling the code.
6. The system of claim 1 further comprising a plurality of vehicles in the area, the plurality of vehicles including the vehicle providing the response, wherein each of the plurality includes an onboard computer programmed to execute the response when the unmanned aerial vehicle (UAV) provides a wireless command corresponding to a key fob code stored in the corresponding onboard computer.
7. An unmanned aerial vehicle (UAV), comprising: A computer comprising a processor and a memory storing instructions executable by the processor; sensor; Keychain transmitter; and an indicator located within the field of view of the sensor, The instructions include: receiving image data of a vehicle parking area via the sensor; sending a wireless command via the transmitter; and Based on the transmitting, receiving a visual feedback response from a vehicle in the area via the sensor and recording the visual feedback response, Wherein the data includes the response and the actuation of the indicator.
8. An unmanned aerial vehicle (UAV) as claimed in claim 7, wherein the sensor is a digital camera.
9. An unmanned aerial vehicle (UAV) as claimed in claim 7, wherein the image data is video data.
10. An unmanned aerial vehicle (UAV) as claimed in claim 7, wherein the response includes a light pattern emitted from the headlights of the vehicle.
11. An unmanned aerial vehicle (UAV) as described in claim 7, wherein the indicator is connected adjacent to the hole of the sensor.
12. The unmanned aerial vehicle (UAV) of claim 7, wherein the indicator comprises a light source, wherein the instructions further comprise: The command is sent and the source is actuated simultaneously.
13. The unmanned aerial vehicle (UAV) of claim 12, wherein the instructions further comprise: repeatedly sending the command at a plurality of waypoints in the area while recording image data; And then sending the data to a second computer for video image processing, Wherein the processing includes identifying the vehicle based on both the actuation and the response occurring within a predetermined interval.
14. The unmanned aerial vehicle (UAV) of claim 7, wherein the instructions further comprise: Position data associated with the vehicle providing the response is determined.
15. The unmanned aerial vehicle (UAV) of claim 7, wherein the instructions further comprise: processing the image data at the unmanned aerial vehicle (UAV); Based on the processing, determining position data of the vehicle; as well as The position data is provided to a second computer.
16. A system for a vehicle, comprising an unmanned aerial vehicle (UAV) as claimed in claim 15 and the second computer, wherein the second computer is programmed to store a database of key fob codes for multiple vehicles, wherein the command sent by the unmanned aerial vehicle (UAV) includes one of the codes.
17. A method for locating a vehicle, comprising: receiving image data of an area where a vehicle is parked from an unmanned aerial vehicle (UAV); processing the data by identifying feedback responses of the vehicle and actuation of an indicator of an unmanned aerial vehicle (UAV) occurring within a predetermined interval in the area; as well as Based on the identifying, determining a location of the vehicle; The unmanned aerial vehicle (UAV) records the image data and repeatedly issues wireless commands to trigger the response.
18. The method of claim 17, wherein the response is triggered by the unmanned aerial vehicle (UAV) emitting a key fob code in the direction of the vehicle.
19. The method of claim 17, wherein the indicator comprises a light source located within a field of view of the image data and the response comprises a light pattern emitted by the vehicle.
Citation Information
Patent Citations
Remote FOB integrated in a personal convenience device
US20110102164A1
Unmanned aerial vehicle assistant
US9471059B1