Predictive vehicle detection

A system navigates vehicles to collection locations using data from multiple devices, addressing inefficiencies in current driving service request mechanisms by automating the process with minimal user input.

DE112017007100B4Active Publication Date: 2025-01-30FORD GLOBAL TECH LLC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
DE112017007100
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Filing Date
2017-03-20
Publication Date
2025-01-30
Estimated Expiration
2037-03-20

AI Technical Summary

Technical Problem

Current mechanisms for requesting driving services, such as those involving user input via electronic devices, are cumbersome and inefficient due to technological restrictions and the need for manual data entry.

Method used

A system that includes a server computer programmed to navigate a vehicle to a collection location based on current user location data from a first device and user event data from a second device, using minimal manual input, utilizing a communication network to facilitate communication between devices and vehicle systems.

Benefits of technology

Enables efficient navigation of vehicles to collection locations with minimal user interaction by leveraging data from various devices to determine the need for a pickup, enhancing the user experience and reducing manual input requirements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

System that includes a computer programmed to: Receiving information specifying a current location from a first user device that is geographically distant from the computer; Receiving data about a user event from a second user device located away from the computer and the first user device, wherein the second user device comprises a point-of-sale system and the user event data specifies a transaction completed by the point-of-sale system and a transaction location corresponding to the current location; to determine whether a pickup should be triggered based on the received information indicating the current location and the received data about the user event indicating the transaction completed by the point-of-sale system; and In response to the determination that the pickup should be triggered based on the received information indicating the current location and the received data about the user event indicating the transaction completed by the point of sale system, instruct a vehicle to navigate to a pickup location.
Need to check novelty before this filing date? Find Prior Art

Description

GENERAL STATE OF THE ART

[0001] Ride services can be provided by a driver-operated vehicle and / or an autonomous vehicle capable of receiving ride request information and navigating to different locations to provide the service. Current mechanisms for requesting such a service, which require user input, can be cumbersome and inefficient. For example, the requirement for a user to provide input via a telephone, computer, and / or other electronic communication device to request a ride service may be limited by the technological constraints of the user's device, including the user's ability to access the device, the device's ability to provide an app or similar functionality to receive user input, and so on.

[0002] The prior art relevant to the invention is found in US 2015 / 0 377 635 A1, US 2015 / 0 346 727 A1, and US 2015 / 0 348 049 A1. According to these documents, a system is known that includes a computer programmed to receive information indicating a current location from a first user device located geographically remote from the computer; to receive data about a user event from a second user device located remote from both the computer and the first user device; and, in response to a request to initiate a pickup, to instruct a vehicle to navigate to a pickup location based on the received information and data. BRIEF DESCRIPTION OF THE DRAWINGS Fig. Figure 1 is a block diagram of an exemplary system for dispatching a vehicle to a pickup location. Fig. 2 is a flowchart that shows an exemplary process for instructing the vehicle from Fig. 1, to navigate to the pickup location, shows. DETAILED DESCRIPTION Introduction

[0003] The invention disclosed in this document relates to systems according to claims 1 and 2 and a method according to claim 10. Advantageous embodiments of the invention are described in the dependent claims.

[0004] Accordingly, a method is disclosed which includes operating a vehicle to navigate to a pickup location based on current location data received from a first device and data about a user event received from a second device.

[0005] The current location data can be based on information received by the first device from a beacon. The user event data received by the second device can indicate a transaction. The current location data can indicate a location near a building exit after receiving the transaction data. The user event data received by the second device can indicate a transaction location that corresponds to the current location data. The user event data received by the second device can include user communication in the form of a text message. The user event data received by the second device can indicate a message from a smart device.The data received by the second device regarding the user event may include one or more of the following data: transaction data, user communication data, audio data, accelerometer data, a message from a smart device, and user habit data.

[0006] The procedure may also include instructing the vehicle to navigate to the pickup location based on data specifying a user gait characteristic.

[0007] The process can also include recognizing that a pickup at the pickup location was carried out after a previous activation of the smart device.

[0008] Furthermore, this document discloses a computer programmed to carry out the procedure.

[0009] Furthermore, this document discloses a computer-readable medium on which program instructions are stored that can be executed by a computer processor to carry out the foregoing procedure.

[0010] Furthermore, this document discloses a system comprising a computer programmed to instruct a vehicle to navigate to a pickup location based on a current user location received from a first device and data about a user event received from a second device.

[0011] The current location can be based on information received by the first device from a beacon. The user event data received by the second device can indicate a transaction. The current location can indicate a location near a building exit after receiving the user event data specifying the transaction. The user event data received by the second device can indicate a transaction location that corresponds to the current location data. The user event data received by the second device can include user communication in the form of a text message. The user event data received by the second device can indicate a message from a smart device.The data received by the second device regarding the user event may include one or more of the following data: transaction data, user communication data, audio data, accelerometer data, a message from a smart device, and user habit data.

[0012] Furthermore, the computer can be programmed to instruct the vehicle to navigate to the pickup location based on data specifying a user behavior characteristic.

[0013] The computer can also be programmed to recognize that a pickup at the pickup location was carried out after a previous activation of the smart device.

[0014] With reference to the Fig. 1 includes a solution for providing a vehicle 10 to perform a ride service with minimal manual input from a user, a system 12 comprising a server computer 14 programmed to instruct or request the vehicle 10 to navigate to a pickup location based on a current user location received from a first device 16 and data about a user event received from a second device 18 via a network 20. The current user location can be determined, at least in part, based on information received by the first device 16 from a beacon 22. In this context, a user 'event' refers to data captured by a user that satisfies one or more predefined parameters. An event could, for example, be a time of day, input into a transaction processing device, input into a household appliance, etc.and / or a combination of the above and / or other data. The vehicle

[0015] The vehicle 10 can be any conventional, semi-autonomous, or autonomous passenger car or commercial vehicle, such as a sedan, station wagon, SUV, crossover, van, minivan, taxi, bus, etc. A computer 30, sometimes referred to as the vehicle 10's controller 30, can be capable of operating the vehicle 10 completely or to a greater or lesser extent independently of human driver intervention. The computer 30 can be programmed to operate a drive system 32, a braking system 34, a steering system 36, and / or other vehicle systems.

[0016] Within the scope of this disclosure, an autonomous mode is defined as a mode in which each of the drive 32, the braking system 34 and the steering 36 of the vehicle 10 is controlled by one or more computers 30; in a semi-autonomous mode, (one) computer 30 of the vehicle 10 controls one or two of the drive 32, the braking system 34 and the steering 36 of the vehicle.

[0017] As from Fig. As can be seen in Figure 1, a block diagram illustrates elements in the vehicle 10, including a communication network 40 that provides communication between the drive 32, the braking system 34, the steering 36, a navigation system 42, sensors 44, a transceiver 46 and the computer 30.

[0018] The communication network 40 of the vehicle 10 includes hardware, such as a communication bus, to facilitate communication between the components of the vehicle 10. The communication network 40 can facilitate wired or wireless communication between the vehicle components according to one or more communication protocols, such as Controller Area Network (CAN), Ethernet, WiFi, Local Interconnect Network (LIN) and / or other wired or wireless mechanisms.

[0019] The drive system 32 of the vehicle 10 generates energy and converts it into motion. The drive system 32 can be a known subsystem for propelling a vehicle, for example, a conventional powertrain comprising an internal combustion engine coupled to a transmission that transfers rotary motion to the wheels; an electric powertrain comprising batteries, an electric motor, and a transmission that transfers rotary motion to the wheels; a hybrid powertrain comprising elements of both the conventional and electric powertrains; or any other type of drive system. The drive system 32 communicates with and receives input from the computer 30 and / or a human driver. The human driver can control the drive system, for example, via an accelerator pedal and / or a gearshift lever.

[0020] The braking system 34 counteracts the movement of the vehicle 10 in order to slow down and / or stop the vehicle 10, e.g., known vehicle braking subsystems. The braking system 34 can be friction brakes, such as disc brakes, drum brakes, band brakes, etc.; regenerative brakes; any other suitable type of brake; or a combination thereof. The braking system 34 can include an electronic control unit (ECU) or the like, which actuates the braking system 34 to counteract the movement of the vehicle 10, e.g., in response to a command from the computer 30 and / or from a human driver. The human driver can control the braking system 34, e.g., via a brake pedal.

[0021] The steering system 36 is a well-known subsystem for steering a vehicle and controls the rotation of the wheels. The steering system 36 communicates with a steering wheel and / or the computer 30 and receives input from it or these. The steering system 36 can be a rack and pinion system with electrically assisted steering, a steer-by-wire system, both of which are known in the field, or any other suitable system.

[0022] The vehicle 10 also typically includes sensors 44. The sensors 44 can detect internal states of the vehicle 10, for example, wheel speed, wheel orientation, and engine and transmission variables. The sensors 44 can detect the position or orientation of the vehicle 10, for example, global positioning system (GPS) sensors; accelerometers such as piezoelectric sensors or microelectromechanical systems (MEMS) sensors; gyroscopes such as gyroscopes, ring laser gyroscopes, or fiber optic gyroscopes; inertial measurement units (IMEs); and magnetometers. The sensors 44 can detect the external environment, for example, radar sensors, laser rangefinders, light detection and ranging (LIDAR) devices, and image processing sensors such as cameras.The sensors 44 can include communication devices, for example vehicle-to-infrastructure (V2I) or vehicle-to-vehicle (V2V) devices.

[0023] The transceiver 46 transmits and receives information wirelessly from other transceivers, either directly or via the network 20, enabling the exchange of signals, data, and other information with other computer and network systems, such as the server computer 14. The transceiver 46 is implemented using antennas, circuits, chips, or other electronic components capable of supporting wireless communication. Examples of transceivers include WLAN systems, radio transmitters and receivers, telecommunications systems, Bluetooth® systems, cellular systems, and mobile satellite transceivers.

[0024] The computer 30 is a computing device comprising a processor 48 and a memory 50. The computer 30 communicates electronically, for example via the communication network 20, with one or more input devices for providing data to the computer 30 and with one or more output devices for receiving data and / or instructions from the computer 30, for example, to actuate the output device. Examples of input devices include: the sensors 44, the transceiver 46, the navigation system 42, etc., as well as other sensors and / or electronic control units (ECUs) that provide data to the computer 30. Examples of output devices that can be actuated by the computer 30 include: the drive 32, the braking system 34, the steering 36, the transceiver 46, the navigation system 42, etc.

[0025] The processor 48 is implemented via circuits, chips, or other electronic components and can 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 custom integrated circuits, etc. The processor 48 can be programmed to process data received via sensors 44, transceiver 46, memory 50, etc., as well as other sensors and / or electronic control units (ECUs), which provide data to computer 30, e.g., in the communication network 20. Data processing and communication can include processing to move the vehicle 10 to a location, e.g., a station, in response to receiving a message from server computer 14, e.g., via the network.to navigate to the pickup location. The processor can also be programmed to perform the processes described in this document.

[0026] Memory 50 is implemented via circuits, chips, or other electronic components and can include one or more read-only memory (ROM), random access memory (RAM), flash memory, electrically programmable memory (EPROM), electrically programmable and erasable memory (EEPROM), an embedded multimedia card (eMMC), a hard disk, or any volatile or non-volatile media, etc. Memory 50 can store programming instructions for carrying out the processes described in this document and data collected from sensors and messages. Wide Area Network

[0027] A network 20 (sometimes referred to as a wide area network, since it can involve communication between devices that are geographically distant from one another, i.e., not in the same building, vehicle, etc.) represents one or more mechanisms by which the server computer 14 can communicate with remote devices, e.g., the vehicle 10, the first and second devices 16, 18, e.g., a user device, smart devices, point-of-sale systems, wearable devices, etc., and / or other computing devices. Accordingly, the network 20 can be one or more of wired or wireless communication mechanisms, including any desired combination of wired (e.g., cable and fiber optic) and / or wireless (e.g.,Mobile communication (cellular, wireless, satellite, microwave, and radio frequency) and any desired network topology (or topologies if multiple communication mechanisms are used). Example 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, which provide data communication services. Although the first device 16 and the second device 18 communicate independently with the server computer 14 as shown in the drawing—e.g., the first device 16 communicates with the server computer 14 via network 20 and the second device 18 communicates with the server computer 14 via network 20—it is also possible for the first device 16 and the second device 18 to communicate cooperatively with the server computer 14.For example, the second device 18, e.g. the wearable device, can access the network 20 via the first device 16, e.g. the user device. Devices

[0028] The first device 16 and the second device 18 are computing devices that communicate with the server computer 14. The first device 16 is a user device. The second device 18 can be a user device, a smart device, a smart speaker, a wearable device, etc.

[0029] User devices can be any of a variety of computer devices implemented via circuits, chips, antennas, or other electronic components, and are typically mobile or wearable, such as a smartphone, tablet, personal digital assistant, etc. The user device may include sensors, such as an accelerometer, GPS sensors, etc. The user device may be programmed to determine its location, for example, based on information received from the GPS sensors or from a message received by the beacon 22, e.g., via the antenna. The user device can communicate with the vehicle computer 30, the server computer 14, a wearable device, etc., e.g., via network 20.

[0030] The beacon 22 is implemented using circuits, chips, antennas, or other electronic components to transmit information. Example beacons 22 incorporate energy-efficient Bluetooth devices. The beacon 22 transmits information intended to be received by nearby computing devices, such as user devices, for example, within 20 feet. The information transmitted by the beacon 22 identifies its location. For example, the information might include the latitude and longitude of the beacon 22, its location type (e.g., origin, transaction), and so on. The information may also include a transmission time, allowing the user device to determine its distance from the beacon 22, for example, using known time-of-flight algorithms.The user device can combine distances from several beacons 22 to determine the location of the user device, e.g. using known triangulation algorithms.

[0031] Smart devices are conventional devices that include a computing unit, which has circuits, chips, antennas, or other electronic components, including those discussed in this document, to process information and transmit it, for example, over Network 20. Smart devices may include sensors, such as voltage sensors, continuity sensors, pressure sensors, cameras, etc. The sensors can detect a state of the smart device, such as whether the smart device, like a smart toothbrush or a smart light switch, is being activated to enter an "on" or "off" state; something related to the smart device, such as a smart refrigerator detecting that a carton of milk is missing, or a smart coffee maker detecting the amount of beans it contains, such as 3 ounces; and so on. Smart devices can transmit a message related to the smart device to, for example, Server Computer 14.The message can indicate the status of the smart device, e.g., that the smart device is in the "switched on" state, that there is no more milk in the smart refrigerator, etc.

[0032] The smart speaker is a computing device that includes a speaker, a microphone, circuits, chips, antennas, or other electronic components, including those discussed in this document, to process information and transmit it, for example, via network 20 to server computer 14. The smart speaker can monitor audio elements detected by the microphone and transmit commands, keywords, and combinations thereof based on such audio detection.

[0033] Point-of-sale systems are computing devices used to complete a transaction. Point-of-sale systems include circuits, chips, antennas, or other electronic components, including those discussed in this document, to process information and transmit it, for example, via network 20 to server computer 14.

[0034] The wearable device can be any of a variety of computing devices that include a processor and memory implemented as described in this document, as well as communication capabilities, and are designed to be worn on a user's body. The wearable device can include circuits, chips, antennas, sensors (e.g., an accelerometer), or other electronic components, including those discussed in this document. For example, the wearable device can be a wristwatch, a smartwatch, a vibrating device, etc., that includes wireless communication capabilities using IEEE 802.11, Bluetooth, and / or cellular protocols. server computer

[0035] The server computer 14 is a computing device that includes hardware, such as circuits, chips, antennas, etc., programmed to transmit, receive, and process information to, for example, the vehicle 10, user devices, other server computers 14, smart devices, point-of-sale systems, wearable devices, etc., e.g., via the network 20. The server computer 14 can be one or more computers, each generally including at least one processor and at least one memory implemented as described in this document, with the memory containing instructions executable by the processor, including instructions for performing various steps and processes described in this document. The server computer 14 can include or be communicatively coupled to a data storage device 64 for storing collected data.

[0036] The server computer 14 is programmed to instruct or request the vehicle 10 to navigate to the pickup location based on a current user location received from the first device 16 and data about a user event received from the second device 18.

[0037] Server computer 14 can instruct or request vehicle 10 to navigate to the pickup location by transmitting a message to vehicle 10, for example, via network 20. The pickup location is a location accessible to vehicle 10 and a user of vehicle 10, where the user can board vehicle 10. For example, the pickup location could be a parking lot outside a building, a loading zone, the shoulder of a roadway, etc. Different pickup locations can be stored in a database on server computer 14 and / or data storage 64. Server computer 14 can identify vehicle 10, for example, from a fleet of vehicles, based on its location relative to the pickup location, such as the vehicle 10 from the fleet that is closest to the pickup location.

[0038] The first device 16, e.g., the user device, can determine its location based on GPS information and / or information received from the beacon 22, as described above. The current location determined by the user device is transmitted to the server computer 14, e.g., via the network 20. The current location can be transmitted to the server computer 14 using an Internet Protocol address, an email address, etc., associated with the server computer 14. Transmitting the current location may include transmitting identifying information associated with the current location that is linked to the user device, e.g., an email address, a unique name, etc.

[0039] The server computer 14 can use the data from the second device 18, e.g. another user device, smart devices, point of sale system, wearable devices, etc., in combination with the current location of the first device 16 to trigger the actuation of the vehicle 10.

[0040] The data and location can be used by server computer 14 to trigger the retrieval based on a rule stored, for example, in server computer 14 and / or data storage 64. This rule is based on certain conditions that, if met, indicate that the retrieval should be performed. Additionally or alternatively, the data and location can be used by server computer 14 as part of a confidence calculation. This calculation determines a confidence level that indicates the probability that the retrieval is necessary. For example, the higher the confidence level, the more likely it is that the user will require the retrieval. This confidence level is used to trigger the retrieval, for example, when the confidence level exceeds a certain threshold. The rule and / or confidence calculation using the data from the second device 18 and the current location of the first device 16 can be combined with other information, such as...a time of day, a day of the week, etc., can be combined to trigger the operation of vehicle 10.

[0041] For example, a rule may exist to instruct vehicle 10 to navigate to the pickup location based on a certain current location and a user event, e.g., if the first device 16 indicates that the current location is a user's home and the second device 18 indicates that the user has just brushed their teeth, e.g., via the smart toothbrush sending a message that it has been activated.

[0042] For example, when performing the confidence calculation, certain current locations and combinations of current locations from the first device 16 can increase or decrease the confidence level used by the server computer 14 to determine that it should instruct the vehicle 10 to navigate to the pickup location. Likewise, certain data from the second device 18 can increase or decrease the confidence level.

[0043] For example, point values ​​associated with various locations, user events, other information (such as calendar information), and combinations thereof can be stored in a lookup table on server computer 14 and / or in data storage 64. Server computer 14 can sum the point values ​​associated with locations, user events, other information, and combinations thereof that it receives over a certain time period, such as 5 minutes, and / or within a certain time window, such as 4:00 PM to 5:00 PM, to calculate the confidence level. In such a situation, server computer 14 can compare the calculated confidence level with a threshold level. If the confidence level is above the threshold level, server computer 14 can instruct vehicle 10 to navigate to the pickup location.

[0044] The data received by the second device 18 regarding the user event may include one or more of the data indicating a transaction, user communication, audio data, accelerometer data, a message from the smart device, and user habit data.

[0045] Transaction data is data that indicates that a transaction has taken place. This data can be transmitted by the point-of-sale system. Transaction data can include identification of the user conducting the transaction, for example, based on credit card transaction data, and the location of the transaction, such as a physical street address, a business name associated with a specific location, etc.

[0046] The server computer 14 can be programmed to direct the vehicle 10 to a pickup location when its current location indicates a location near a building exit, after receiving the user event data indicating the transaction. For example, after receiving data from the second device 18, such as the point-of-sale system, indicating a transaction in a store within a shopping mall, the server computer 14 can receive current location data, such as from the first device 16, based on a message from a beacon 22 indicating a location near, for example, within 10 yards, a mall exit. Additionally or alternatively, such activation of the vehicle 10 can be based on the determination that the current location is approaching the mall exit, for example, based on messages from multiple beacons 22.After receiving such current locations and data, the server computer 14 can instruct the vehicle 10 to navigate to a pickup location, e.g. a parking lot outside the shopping center exit.

[0047] User communication is a message to and / or from the user associated with the first device 16. User communication can be transmitted from and / or to the second device 18, e.g., another user device, and forwarded to the server computer 14, e.g., via the network 20. Examples of user communication include voice calls, text messages, emails, etc. User communication can be analyzed by the server computer 14 for keywords and keyword combinations, e.g., using speech recognition and known text analysis techniques, methods, and algorithms.

[0048] Server computer 14 can be programmed to direct vehicle 10 to a pickup location if the user event data received by the second device 18 includes user communication in the form of a text message. For example, the first device 16, e.g., the user device, can receive a text message from the second device 18, e.g., another user device. The message can also be received by server computer 14. The message might contain, for example, "meet me at the airport in one hour." Server computer 14 can recognize certain keywords, e.g., "meet," "airport," and "one hour." Server computer 14 can determine that pickup by vehicle 10 is necessary so that the user can travel from their current location to the airport within the specified time.Accordingly, the server computer 14 can instruct the vehicle 10 to navigate to a pickup location at the current location.

[0049] Audio data is data that indicates the content of the audio element, such as a user conversation or a command, recognized by the second device 18, such as the smart speaker, which detects the user conversation or command using the smart speaker's microphone. The detected conversation or command can be analyzed using speech recognition and keywords, as explained above for user communication.

[0050] Accelerometer data indicates different accelerations detected by the second device 18, e.g., the user device, the wearable device, etc. Accelerometer data can be transmitted to the server computer 14, e.g., via the network 20, and includes information identifying the second device 18 from which it was transmitted and / or information associated with a user of the second device 18, e.g., a serial number, a unique name, an email address, etc. The accelerometer data can be analyzed to detect a gait characteristic of the user, e.g., using known techniques and procedures. For example, the acceleration data can be used to determine a gait pace, e.g., 100 steps per minute, a balance of the gait, e.g., 50% swing phase and 50% stance phase, etc.

[0051] The server computer 14 can be programmed to instruct the vehicle 10 to navigate to the pickup location based on data indicating the user's gait characteristic. For example, the server computer 14 can analyze accelerometer data, e.g., from the user device, wearable device, etc., and determine that the gait speed is above a threshold, e.g., 80 steps per minute. In another example, the server computer 14 can analyze accelerometer data and determine that the gait is out of balance by at least a threshold amount, e.g., 4% more time in the swing phase than in the stance phase, e.g., if the user is limping or carrying a heavy object on one side of their body. Based on such determinations, the server computer 14 can instruct the vehicle 10 to navigate to a pickup location.

[0052] The message from the smart device can indicate the status of the smart device as discussed above. The message from the smart device can be sent to server computer 14 via network 20.

[0053] Server computer 14 can be programmed to instruct vehicle 10 to the pickup location based on the message from the smart device. For example, server computer 14 instructs vehicle 10 to navigate to the pickup location using a confidence rule calculation that takes into account the receipt of a message indicating that the smart device has been activated, e.g., that the smart toothbrush has been switched on, and / or the receipt of a message indicating the status of something related to the smart device, e.g., that there is no milk in the smart refrigerator.

[0054] User habit data is data indicating that a user pickup, correlated with a user event and current location, has occurred a threshold number of times, e.g., 3. For example, server computer 14 can store information about previous pickup instructions from vehicle 10, previously received current locations, and previous data indicating user events, e.g., previous messages from the smart device about its activation. Server computer 14 can analyze such information, e.g., using known information and data techniques, to detect repeated correlations between the information, e.g., when a pickup was performed at a pickup location after activation of the smart device. Correlations can be stored in server computer 14 and / or data storage 64 to detect habit data.Server computer 14 can use the detected habit data to create a new pickup rule and / or adjust how the confidence calculation is performed. The process

[0055] Fig. Figure 2 is a process flow diagram illustrating an example process 200 for instructing a vehicle 10 to navigate to a pickup location. Process 200 begins at a block 210 by receiving a current location; for example, computer 14 receives the current location from the first device 16.

[0056] Block 220 receives data indicating that a user event is being received. For example, server computer 14 receives the data indicating the user event from the second device 18.

[0057] Next, at block 230, a determination is made as to whether the received current location(s) and the data indicating the user event(s) satisfy a rule. For example, server computer 14 determines whether the current location(s) received from the first device 16 and the data indicating the user event(s) received from the second device 18 satisfy a rule stored on server computer 14. If a rule is not satisfied, process 200 proceeds to block 240. If a rule is satisfied, process 200 proceeds to block 260.

[0058] Block 240 is used to perform a confidence calculation in order to determine a confidence level, e.g. using server computer 14 as described above.

[0059] Next, at block 250, a determination is made as to whether the confidence level from the confidence calculation reaches or exceeds a threshold level. For example, server computer 14 compares the calculated confidence level with the threshold. If the calculated confidence level reaches or exceeds the threshold confidence level, the process moves to block 260. If the calculated confidence level does not reach or exceed the threshold level, the process returns to block 210 to continue receiving the current location(s) and data indicating the user event(s), and to determine whether such locations and data satisfy a rule or raise the confidence level above the threshold.

[0060] At block 260, vehicle 10 is instructed to navigate to a pickup location; for example, server computer 14 transmits such instructions to vehicle 10 via network 20. After block 260, process 200 terminates. Alternatively, after block 260, process 200 can return to block 210 (not shown) to continue receiving the current location(s), data indicating the user event(s), and to determine whether such locations and data satisfy a rule or raise the confidence level above the threshold. conclusion

[0061] Computing devices generally contain computer-executable instructions, which can be executed by one or more computing devices, such as those described above. Computer-executable instructions can be assembled or evaluated by computer programs written using a variety of programming languages ​​and / or technologies, including, but not limited to, Java™, C, C++, Visual Basic, JavaScript, Perl, etc., either individually or in combination. Some of these applications can be assembled and executed on a virtual machine, such as the Java Virtual Machine, the Dalvik Virtual Machine, or similar. Generally, a processor (e.g., a microprocessor) receives instructions from, for example, memory, a computer-readable medium, etc.and executes these instructions, thereby carrying out one or more processes, including one or more of the processes described in this document. Such instructions and other data can be stored and transmitted using a variety of computer-readable media.

[0062] A computer-readable medium (also called a processor-readable medium) includes any non-transient (e.g., physical) medium involved in providing data (e.g., instructions) that can be read by a computer (e.g., by a computer's processor). Such a medium can take many forms, including, but not limited to, non-volatile and volatile media. Non-volatile media can include, for example, optical disks or magnetic disks and other permanent storage devices. Volatile media can include, for example, dynamic random access memory (DRAM), which is commonly referred to as main memory. Such instructions can be transmitted through one or more transmission media, including coaxial cables, copper wire, and optical fibers, including the wires that comprise a system bus coupled to a computer's processor.Common forms of computer-readable media include, for example, the following: a floppy disk, a foil storage disk, a hard disk, a magnetic tape, any other magnetic medium, a CD-ROM, a DVD, any other optical medium, punched cards, punched tape, any other physical medium with hole patterns, a RAM, a PROM, an EPROM, a FLASH EEPROM, any other memory chip or any other storage cartridge or any other medium that can be read by a computer.

[0063] The databases, data repositories, or other data storage systems described here can include various types of mechanisms for storing, accessing, and retrieving different kinds of data, including a hierarchical database, a group of files in a file system, an application database in a proprietary format, a relational database management system (RDBMS), and so on. Each such data storage system is generally enclosed within a computing device that employs a computer operating system, such as one of those mentioned above, and is accessed in one or more ways over a network. A file system can be accessed by a computer operating system and can contain files stored in various formats.An RDBMS generally uses the structured query language (SQL) in addition to a language for creating, storing, editing and executing stored processes, such as the PL / SQL language mentioned above.

[0064] 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.) that are stored on associated computer-readable media (e.g., disks, memory, etc.). A computer program product may include such instructions, stored on computer-readable media, for performing the functions described in this document.

[0065] The adjectives “first” and “second” are used throughout this text as identifiers and are not intended to indicate any meaning or order.

[0066] With regard to the media, processes, systems, procedures, etc., described herein, it is understood that while the steps of such processes, etc., have been described as occurring in a specific sequence, such processes could be implemented in such a way that the described steps are carried out in a different order than the one described here. It is further understood that certain steps could be carried out simultaneously, other steps added, or certain steps described in this document omitted. In other words, the descriptions of systems and / or processes in this document are provided for the purpose of illustrating certain embodiments and should in no way be interpreted as limiting the disclosed subject matter.

[0067] The revelation has been described in an illustrative manner, and it is understood that the terminology used is intended to serve description rather than limitation. In light of the preceding teachings, many modifications and variations of the present revelation are possible, and the revelation can be implemented differently than specifically described.

Claims

[1] System that includes a computer programmed to: receive information indicating a current location from a first user device that is geographically remote from the computer; receive data about a user event from a second user device remote from the computer and the first user device, the second user device comprising a point-of-sale system, the data about the user event indicating a transaction completed by the point-of-sale system and a transaction location corresponding to the current location; determine whether to trigger a pickup based on the received information indicating the current location and the received data about the user event indicating the transaction completed by the point-of-sale system; and in response to determining that the pickup should be triggered, instruct a vehicle to navigate to a pickup location based on the received information indicating the current location and the received data about the user event indicating the transaction completed by the point of sale system. [2] System comprising a computer programmed to: receive information indicating a current location from a first user device that is geographically remote from the computer; receive data about a user event from a second user device remote from the computer and the first user device, the second user device comprising a point-of-sale system and the data about the user event comprising a transaction completed by the point-of-sale system; determine whether to initiate a pickup based on the received information and the received data about the user event; and in response to the determining, instruct a vehicle to navigate to a pickup location. [3] The system of claim 1 or 2, wherein the current location is based on information received by the first user device from a beacon comprising a low-power Bluetooth device. [4] The system of claim 1 or 2, wherein the current location indicates a location within a threshold distance of a building exit after the user event data indicating the transaction is received, and the current location within the threshold distance of the building exit is used to determine whether the pickup should be triggered. [5] The system of claim 1 or 2, wherein the data about the user event received from the second user device includes a user communication in the form of a text message. [6] The system of claim 1, wherein the computer is further programmed to determine whether to trigger the pickup based on data indicative of a user gait characteristic including a balance of a swing phase and a stance phase. [7] The system of claim 1, wherein the data about the user event received by the second user device includes a message from a smart device. [8] The system of the preceding claim, wherein the computer is further programmed to detect that a pickup has been performed at the pickup location following a previous actuation of the smart device. [9] The system of claim 1 or 2, wherein the data about the user event received from the second user device further includes one or more of a user communication, audio data, accelerometer data, a message from a smart device, and user habit data. [10] Procedure comprising: Receiving information indicating a current location from a first user device; Receiving data about a user event from a second user device remote from the first user device, the second user device comprising a point-of-sale system, the data about the user event indicating a transaction completed by the point-of-sale system and a transaction location corresponding to the current location; Determine, based on the received information indicating the current location and the received data about the user event indicating the transaction completed by the point of sale system, whether to trigger a pickup; and in response to determining that the pickup should be initiated based on the received information indicating the current location and the received data about the user event indicating the transaction completed by the point of sale system, operating a vehicle to navigate to a pickup location. [11] The method of claim 10, wherein the current location data is based on information received by the first user device from a beacon comprising a low-power Bluetooth device. [12] The method of claim 10, wherein the current location data indicates a location within a threshold distance of a building exit after the data indicating the transaction is received and is used to determine whether to initiate pickup. [13] The method of claim 10, wherein the data about the user event received from the second user device includes a user communication in the form of a text message. [14] The method of claim 10, further comprising determining whether to trigger the pickup based on data indicative of a user gait characteristic including a balance of a swing phase and a stance phase. [15] The method of claim 10, wherein the data about the user event received by the second user device includes a message from a smart device. [16] The method of the preceding claim, further comprising detecting that a pickup was performed at the pickup location after a previous actuation of the smart device. [17] The method of claim 10, wherein the data about the user event received from the second user device includes one or more of data indicating a transaction, a user communication, audio data, accelerometer data, a message from a smart device, and user habit data.

Citation Information

Patent Citations

  • Parking Autonomous Vehicles

    US20150346727A1

  • Systems and methods for hospitality services using beacons

    US20150348049A1

  • Method and apparatus for determining a drop-off and a pick-up location based on fitness goals

    US20150377635A1