System and method for determining and recommending boarding location for vehicles
阅读说明:本技术 用于确定和推荐车辆上车地点的系统和方法 (System and method for determining and recommending boarding location for vehicles ) 是由 张旭东 于 2017-12-04 设计创作,主要内容包括:本申请提供了用于确定和推荐车辆上车地点的系统和方法。示例性方法可以包括:获取用户的位置和运送所述用户到目的地的请求,确定响应该请求的车辆,获取确定车辆的位置,并且至少基于用户的位置、目的地的位置和车辆的位置确定车辆接载所述用户的上车地点。(Systems and methods for determining and recommending a location for a vehicle to pick up are provided. An exemplary method may include: the method includes obtaining a location of a user and a request to transport the user to a destination, determining a vehicle responding to the request, obtaining a location of the determined vehicle, and determining a boarding location for the vehicle to pick up the user based on at least the location of the user, the location of the destination, and the location of the vehicle.)
1. A method of determining a location of a vehicle pick-up, comprising:
obtaining a location of a user and a request to ship the user to a destination;
determining a vehicle to respond to the request;
acquiring the determined position of the vehicle; and
determining a boarding location for the vehicle to pick up the user based on at least the location of the user, the location of the destination, and the location of the vehicle.
2. The method of claim 1,
the request comprises transporting at least one of the user, a person associated with the user, or an item associated with the user from an origin to the destination; and
the starting point is a default boarding location.
3. The method of claim 2,
obtaining the location of the user comprises obtaining the location of the user based at least in part on GPS data of a device associated with the user;
determining the vehicle to respond to the request comprises:
determining one or more candidate vehicles within a preset range of the user's location,
sending the request to the one or more candidate vehicles, an
Determining at least one of the candidate vehicles accepting the request as a vehicle responding to the request; and
acquiring the location of the vehicle includes acquiring the location of the vehicle based at least in part on GPS data of the vehicle.
4. The method of claim 2, wherein determining a boarding location for the vehicle to pick up the user based on at least the location of the user, the location of the destination, and the location of the vehicle comprises:
determining one or more candidate locations within a preset range of the user's location;
determining an effectiveness of boarding each of at least two locations, including the one or more candidate locations and the starting point, based on a distance traveled by the vehicle;
determining one of the at least two locations having the highest performance;
determining a travel distance of the user to the most efficient place, and comparing the determined travel distance of the user with a preset threshold; and
determining the most efficient location as the boarding location in response to the travel distance of the user being less than the preset threshold, wherein:
the travel distance of the vehicle includes a first travel distance from a location of the vehicle to the pick-up location and a second travel distance from the pick-up location to the destination; and
the efficiency is inversely proportional to the distance traveled by the vehicle.
5. The method of claim 2, wherein determining a boarding location for the vehicle to pick up the user based on at least the location of the user, the location of the destination, and the location of the vehicle comprises:
determining one or more candidate locations within a preset range of the user's location;
determining an effectiveness of getting on board at each of at least two locations, including the one or more candidate locations and the starting point, based on a travel time of the vehicle;
determining one of the at least two locations having the highest performance;
determining a travel distance of the user to the most efficient place, and comparing the determined travel distance of the user with a preset threshold; and
determining the most efficient location as the boarding location in response to the travel distance of the user being less than the preset threshold, wherein:
the travel time of the vehicle includes a first travel time from the location of the vehicle to the pick-up location and a second travel time from the pick-up location to the destination; and
the efficiency is inversely proportional to the travel time of the vehicle.
6. The method of claim 2, wherein determining a boarding location for the vehicle to pick up the user based on at least the location of the user, the location of the destination, and the location of the vehicle comprises:
determining one or more candidate locations within a preset range of the user's location;
determining an effectiveness of getting on the vehicle at each of at least two locations, including the one or more candidate locations and the starting point, based on a distance traveled by the vehicle and a time traveled by the vehicle;
determining one of the at least two locations having the highest performance;
determining a travel distance of the user to the most efficient place, and comparing the determined travel distance of the user with a preset threshold; and
determining the most efficient location as the boarding location in response to the travel distance of the user being less than the preset threshold, wherein:
the travel distance of the vehicle includes a first travel distance from a location of the vehicle to the pick-up location and a second travel distance from the pick-up location to the destination;
the travel time of the vehicle includes a first travel time from a location of the vehicle to the pick-up location and a second travel time from the pick-up location to the destination;
the efficiency is inversely proportional to a travel distance of the vehicle;
each of the first and second travel distances of the vehicle and the first and second travel times of the vehicle has a respective weight in determining the effectiveness; and
the weights of the first and second travel distances of the vehicle are greater than the first and second travel times of the vehicle.
7. The method of claim 2, further comprising:
sending the pick-up location to a device associated with the user suggesting replacement of the starting point with the pick-up location;
in response to receiving acceptance of the pick-up location, sending the pick-up location to the vehicle or a device associated with the driver of the vehicle; and
in response to receiving rejection information for the pick-up location, sending the origin to the vehicle or a device associated with the driver of the vehicle.
8. A system for determining a location of a vehicle pick-up, comprising:
the server is configured to:
obtaining a location of a user and a request to ship the user to a destination;
determining a vehicle to respond to the request;
acquiring the determined position of the vehicle; and
determining a boarding location for the vehicle to pick up the user based on at least the location of the user, the location of the destination, and the location of the vehicle.
9. The system of claim 8,
the request comprises transporting at least one of the user, a person associated with the user, or an item associated with the user from an origin to the destination; and
the starting point is a default boarding location.
10. The system of claim 9,
to obtain the location of the user, the server is configured to obtain the location of the user based at least in part on GPS data of a device associated with the user;
determining that the vehicle responds to the request, the server configured to:
determining one or more candidate vehicles within a preset range of the user's location,
sending the request to the one or more candidate vehicles, an
Determining at least one of the candidate vehicles that accepted the request as the vehicle that responded to the request; and
to obtain the location of the vehicle, the server is configured to obtain the location of the vehicle based at least in part on GPS data of the vehicle.
11. The system of claim 9, wherein to determine the pick-up location to pick-up the user based on at least the location of the user, the location of the destination, and the location of the vehicle, the server is configured to:
determining one or more candidate locations within a preset range of the user's location;
determining an effectiveness of boarding for each of at least two locations, including the one or more candidate locations and the starting point, based on a distance traveled by the vehicle;
determining one of the at least two locations having the highest performance;
determining a travel distance of the user to the location of the highest performance and comparing the determined travel distance of the user with a preset threshold; and
determining the most efficient location as the boarding location in response to the travel distance of the user being less than the preset threshold, wherein:
the travel distance of the vehicle includes a first travel distance from a location of the vehicle to the pick-up location and a second travel distance from the pick-up location to the destination; and
the efficiency is inversely proportional to the distance traveled by the vehicle.
12. The system of claim 9, wherein the vehicle is determined to pick up the user based on at least the location of the user, the location of the destination, and the location of the vehicle, the server configured to:
determining one or more candidate locations within a preset range of the user's location;
determining an effectiveness of getting on the vehicle at each of at least two locations, including the one or more candidate locations and the starting point, based on a travel time of the vehicle;
determining one of the at least two locations having the highest performance;
determining a travel distance of the user to the most efficient place, and comparing the determined travel distance of the user with a preset threshold; and
determining the most efficient location as the boarding location in response to the travel distance of the user being less than the preset threshold, wherein:
the travel time of the vehicle includes a first travel time from the location of the vehicle to the pick-up location and a second travel time from the pick-up location to the destination; and
the efficiency is inversely proportional to the travel time of the vehicle.
13. The system of claim 9, wherein to determine a boarding location for the vehicle to pick up the user based at least on the location of the user, the location of the destination, and the location of the vehicle, the server is configured to:
determining one or more candidate locations within a preset range of the user's location;
determining an effectiveness of boarding for each of at least two locations, including the one or more candidate locations and the starting point, based on a distance traveled by the vehicle and a time traveled by the vehicle;
determining one of the at least two locations having the highest performance;
determining a travel distance of the user to the most efficient place, and comparing the determined travel distance of the user with a preset threshold; and
determining the most efficient location as the boarding location in response to the travel distance of the user being less than the preset threshold, wherein:
the travel distance of the vehicle includes a first travel distance from a location of the vehicle to the pick-up location and a second travel distance from the pick-up location to the destination;
the travel time of the vehicle includes a first travel time from a location of the vehicle to the pick-up location and a second travel time from the pick-up location to the destination;
the efficiency is inversely proportional to a travel distance of the vehicle;
each of the first and second travel distances of the vehicle and the first and second travel times of the vehicle has a respective weight in determining the effectiveness; and
the weights of the first and second travel distances of the vehicle are greater than the first and second travel times of the vehicle.
14. The system of claim 9, wherein the server is further configured to:
sending the pick-up location to a device associated with the user suggesting replacement of the starting point with the pick-up location;
in response to receiving acceptance information of the pick-up location, sending the pick-up location to the vehicle or a device associated with a driver of the vehicle; and
in response to receiving a rejection of the pick-up location, transmitting the origin to the vehicle or a device associated with the driver of the vehicle.
15. A non-transitory computer-readable storage medium storing instructions that, when executed by a processor, cause the processor to perform a method for determining a vehicle pick-up location, the method comprising:
obtaining a location of a user and a request to ship the user to a destination;
determining a vehicle to respond to the request;
acquiring the determined position of the vehicle; and
determining a boarding location for the vehicle to pick up the user based on at least the location of the user, the location of the destination, and the location of the vehicle.
16. The non-transitory computer-readable storage medium of claim 15,
the request comprises transporting at least one of the user, a person associated with the user, or an item associated with the user from an origin to the destination; and
the starting point is a default boarding location.
17. The non-transitory computer-readable storage medium of claim 16,
obtaining the location of the user comprises obtaining the location of the user based at least in part on GPS data of a device associated with the user;
determining the vehicle to respond to the request comprises:
determining one or more candidate vehicles within a preset range of the user's location,
sending the request to the one or more candidate vehicles, an
Determining at least one of the candidate vehicles accepting the request as a vehicle responding to the request; and acquiring the location of the vehicle comprises acquiring the location of the vehicle based at least in part on GPS data of the vehicle.
18. The non-transitory computer-readable storage medium of claim 16, wherein the determining a boarding location for the vehicle to pick up the user based on at least the location of the user, the location of the destination, and the location of the vehicle comprises:
determining one or more candidate locations within a preset range of the user's location;
determining an effectiveness of boarding for each of at least two locations, including the one or more candidate locations and the starting point, based on a distance traveled by the vehicle; and
determining one of the at least two locations having the highest performance;
determining a travel distance from the user to a location with the highest performance, and comparing the determined travel distance of the user with a preset threshold;
determining the most efficient location as the boarding location in response to the travel distance of the user being less than the preset threshold, wherein:
the travel distance of the vehicle includes a first travel distance from a location of the vehicle to the pick-up location and a second travel distance from the pick-up location to the destination; and
the efficiency is inversely proportional to the distance traveled by the vehicle.
19. The non-transitory computer-readable storage medium of claim 16, wherein determining a boarding location for the vehicle to pick up the user based on at least the location of the user, the location of the destination, and the location of the vehicle comprises:
determining one or more candidate locations within a preset range of the user's location;
determining an effectiveness of getting on the vehicle at each of at least two locations, including the one or more candidate locations and the starting point, based on a travel time of the vehicle;
determining one of the at least two locations having the highest performance;
determining a travel distance of the user to the most efficient place, and comparing the determined travel distance of the user with a preset threshold; and
determining the most efficient location as the boarding location in response to the travel distance of the user being less than the preset threshold, wherein:
the travel time of the vehicle includes a first travel time from the location of the vehicle to the pick-up location and a second travel time from the pick-up location to the destination; and
the efficiency is inversely proportional to the travel time of the vehicle.
20. The non-transitory computer-readable storage medium of claim 16, wherein the method further comprises:
sending the pick-up location to a device associated with the user suggesting replacement of the starting point with the pick-up location;
in response to receiving acceptance of the pick-up location, sending the pick-up location to the vehicle or a device associated with the driver of the vehicle; and
in response to receiving rejection information for the pick-up location, sending the origin to the vehicle or a device associated with the driver of the vehicle.
Technical Field
The present application relates generally to methods and techniques for optimizing a vehicle pick-up location.
Background
User convenience and travel efficiency are important factors for the vehicle service experience. For example, users often want to be delivered to a destination with minimal difficulty, and drivers of delivery users want to complete a trip as quickly as possible. Therefore, determining the boarding location is critical to providing optimized vehicle service.
Disclosure of Invention
Various embodiments of the present application may include systems, methods, and non-transitory computer-readable media for performing determining and recommending a vehicle pick-up location. In some embodiments, a method for determining a vehicle pick-up location may include obtaining a location of a user and a request to transport the user to a destination, determining a vehicle in response to the request, obtaining the determined location of the vehicle, and determining a pick-up location for the vehicle pick-up user based at least on the location of the user, the location of the destination, and the location of the vehicle.
In some embodiments, the request includes transporting at least one of the user, a person associated with the user, or an item associated with the user from an origin to the destination, and the origin is a default pick-up location.
In some embodiments, obtaining the location of the user comprises obtaining the location of the user based at least in part on GPS data in a device associated with the user; determining the vehicle to respond to the request comprises determining one or more candidate vehicles within a preset range of the user's location, sending the request to one or more candidate vehicles, and determining at least one of the candidate vehicles accepting the request as the vehicle responding to the request; acquiring the location of the vehicle includes acquiring the location of the vehicle based at least in part on GPS data of the vehicle.
In some embodiments, the determining a boarding location for the vehicle to pick up the user based at least on the location of the user, the location of the destination, and the location of the vehicle may include: determining one or more candidate locations within a preset range of the user's location; determining an effectiveness of boarding for each of at least two locations (including the one or more candidate locations and the starting point) based on a travel distance of the vehicle and/or a travel time of the vehicle; determining one of the at least two locations having the highest performance; determining a travel distance of the user to the most efficient place, and comparing the determined travel distance of the user with a preset threshold; and determining the highest-efficiency place as the boarding place in response to the user travel distance being less than the preset threshold value. The travel distance of the vehicle may include a first travel distance from a location of the vehicle to the pick-up location and a second travel distance from the pick-up location to the destination. The travel time of the vehicle may include a first travel time from the location of the vehicle to the pick-up location and a second travel time from the pick-up location to the destination. The efficiency may be inversely proportional to each of a travel distance of the vehicle and a travel time of the vehicle.
In some embodiments, the user's trip comprises at least one of walking or cycling.
In some embodiments, each of the first and second travel distances of the vehicle and the first and second travel times of the vehicle have a respective weight in determining the effectiveness, and the weights of the first and second travel distances of the vehicle are greater than the first and second travel times of the vehicle.
In some embodiments, the weight and the preset threshold are dynamically adjustable.
In some embodiments, the method for determining the boarding location of the vehicle may further comprise: sending the pick-up location to a device associated with the user suggesting replacement of the starting point with the pick-up location; in response to receiving acceptance of the pick-up location, sending the pick-up location to the vehicle or a device associated with the driver of the vehicle; and in response to receiving rejection information for the pick-up location, sending the origin to the vehicle or a device associated with a driver of the vehicle.
In some embodiments, a system for determining a location of a vehicle pick-up may include a server configured to: the method includes obtaining a location of a user and a request to ship the user to a destination, determining a vehicle in response to the request, obtaining the determined location of the vehicle, and determining a boarding location for the vehicle to pick up the user based on at least the location of the user, the location of the destination, and the location of the vehicle.
In some embodiments, a non-transitory computer-readable storage medium may store instructions that, when executed by a processor, may cause the processor to perform a method for determining a location of a vehicle pick-up. The method may include obtaining a location of a user and a request to ship the user to a destination, determining a vehicle in response to the request, obtaining the determined location of the vehicle, and determining a boarding location for the vehicle to pick up the user based on at least the location of the user, the location of the destination, and the location of the vehicle.
These and other features of the systems, methods, and non-transitory computer-readable media disclosed herein, as well as the operations and functions of the related structural components, and the combination of parts and economies of manufacture, will become more apparent upon consideration of the following description and the appended claims with reference to the accompanying drawings. All of the accompanying drawings of the present invention form a part of the specification, and wherein like reference numerals designate corresponding parts in the various views. It is to be expressly understood, however, that the drawings are for the purpose of illustration and description only and are not intended as a definition of the limits of the invention.
Drawings
Certain features of various embodiments of the technology are set forth with particularity in the appended claims. A better understanding of the features and advantages of the present technology will be obtained by reference to the following detailed description that sets forth illustrative embodiments, in which the principles of the invention are utilized, and the accompanying drawings of which:
FIG. 1 illustrates a schematic diagram of an application scenario for determining and recommending a vehicle pick-up location, in accordance with various embodiments;
FIG. 2A illustrates an exemplary system for determining and recommending a vehicle pick-up location, in accordance with various embodiments;
FIG. 2B illustrates an exemplary method for determining and recommending a vehicle pick-up location, in accordance with various embodiments;
FIG. 3A is an exemplary illustration of a prior art vehicle carrying a passenger;
3B-3D are example illustrations of determining and recommending a vehicle pick-up location, in accordance with various embodiments;
FIG. 4 illustrates a flow diagram of an exemplary method for determining and recommending a vehicle pick-up location, in accordance with various embodiments;
FIG. 5 illustrates a block diagram of an exemplary computer system in which any of the embodiments described herein may be implemented.
Detailed Description
The current technology is not sufficient to provide convenient and effective vehicle pick-up services. In particular, providers of various taxi service rely on users to configure boarding locations. For example, the user may request that the driver arrive in the vehicle above the user's current location. As another example, the user may select from a map any location or more for boarding. In these embodiments, the overall efficiency is not optimized. The user's decision on the boarding location often ignores the overall travel time and travel distance of the vehicle driver. The driver must comply with the selected boarding location, even at the expense of detour, thus reducing the overall travel efficiency of the driver and passengers.
Various embodiments described below may overcome these problems that arise in the field of providing vehicle services. The vehicle service platform can best determine the most effective travel plan including the best boarding place by acquiring the information of each position, and recommend the boarding place to the user. In various embodiments, systems, methods, and non-transitory computer-readable media for performing vehicle pick-up location determination and recommendation are disclosed. In some embodiments, a method for determining a location of a vehicle pick-up may include obtaining a location of a user and a request to transport the user to a destination, determining a vehicle in response to the request, obtaining the determined location of the vehicle, and determining a location of the vehicle to pick-up the user based at least on the location of the user, the location of the destination, and the location of the vehicle.
In some embodiments, obtaining the location of the user comprises obtaining the location of the user based at least in part on GPS (global positioning system) data of a device associated with the user; determining vehicles to respond to the request comprises determining one or more candidate vehicles within a preset range of the user position, sending the request to the one or more candidate vehicles, and determining at least one of the candidate vehicles accepting the request as the vehicle responding to the request; acquiring the location of the vehicle includes acquiring the location of the vehicle based at least in part on GPS data of the vehicle.
In some embodiments, determining a boarding location for the vehicle to pick up the user based at least on the location of the user, the location of the destination, and the location of the vehicle may include: determining one or more candidate locations within a preset range of a user's location; determining an effectiveness of boarding each of at least two locations based on at least one of a travel distance of the vehicle or a travel time of the vehicle, the at least two locations including one or more candidate locations and a starting point; determining one of the at least two locations having the highest performance; determining the driving distance from the user to the place with the highest efficiency, and comparing the determined driving distance of the user with a preset threshold value; and determining the highest-efficiency place as the boarding place in response to the determined user travel distance being lower than a preset threshold value. The travel distance of the vehicle may include a first travel distance from the location of the vehicle to the pick-up location and a second travel distance from the pick-up location to the destination. The travel time of the vehicle may include a first travel time from the location of the vehicle to the pick-up location and a second travel time from the pick-up location to the destination. The efficiency may be inversely proportional to each of a travel distance of the vehicle and a travel time of the vehicle.
In some embodiments, each of the first and second travel distances and the first and second travel times of the vehicle have a respective weight in determining the effectiveness, and the weights of the first and second travel distances of the vehicle are greater than the first and second travel times of the vehicle.
In some embodiments, the method of determining a location of boarding of a vehicle may further comprise: transmitting the pick-up location to a device associated with the user suggesting replacement of the starting point with the pick-up location; in response to receiving acceptance information of the pick-up location, sending the pick-up location to the vehicle or a device associated with a driver of the vehicle; and in response to receiving the rejection of the pick-up location, transmitting the origin to the vehicle or a device associated with the driver of the vehicle.
FIG. 1 illustrates an application scenario diagram 100 for determining and recommending a vehicle pick-up location, in accordance with various embodiments. As shown in FIG. 1, the
In one example, system 102 may be implemented by a vehicle (taxi calling) service platform, and
Although system 102 is illustrated in this figure as a single component, it should be understood that system 102 may be implemented as a single device or multiple devices (e.g., computers, servers, etc.) coupled together. For example, the system 102 can be implemented as a first server and a second server coupled together, and the first server can be configured to interact with a computing device associated with the user, and the second server can be configured to interact with a computing device associated with the driver. The second server may alternatively be implemented as a plurality of connected computers and servers, each configured as a functional module, for example.
In some embodiments, the data store may be anywhere accessible to system 102, e.g., in
Fig. 2A illustrates an
In some embodiments, a user (e.g., a passenger) may use
There are a number of ways to determine the origin and destination. Obtaining the location of the user may include obtaining the location of the user based at least in part on GPS (global positioning system) data of a device associated with the user (e.g.,
As described above, the determination of the starting point may be optional. That is, the system 102 may determine the boarding location for the user without a provided starting point. Alternatively, the system 102 may use the provided starting point as a default pick-up location and determine whether a better pick-up location exists and may recommend to the user as described below.
Still referring to fig. 2A, the
Upon determining that the vehicle responds to the request, the
Still referring to fig. 2A, the
In some embodiments, determining a boarding location for the vehicle to pick up the user based at least on the location of the user, the location of the destination, and the location of the vehicle may include: (1) determining one or more candidate locations within a preset range of a location of a user, (2) determining a boarding effectiveness for each of at least two locations based on at least one of a travel distance of the vehicle or a travel time of the vehicle, the at least two locations including the one or more candidate locations and a starting point, (3) determining one of at least two points having a highest effectiveness, (4) determining a travel distance of the user to the most effective location and comparing the determined travel distance of the user with a preset threshold, and (5) determining the most effective location as the boarding location in response to the determined travel distance of the user being less than the preset threshold. The travel distance of the vehicle may include a first travel distance from the location of the vehicle to the pick-up location and a second travel distance from the pick-up location to the destination. The travel time of the vehicle may include a first travel time from the location of the vehicle to the pick-up location and a second travel time from the pick-up location to the destination. The efficiency may be inversely proportional to each of a travel distance of the vehicle and a travel time of the vehicle. The user's travel pattern may include at least one of walking or cycling. In some embodiments, it may be assumed that the user's trip is walking. Further details of determining a boarding location for a vehicle based on at least the location of the user, the location of the destination, and the location of the vehicle are described below with reference to fig. 2B.
In this way, the performance determination algorithm may first determine one or more potential pick-up locations that are valid for the driver in terms of overall travel distance and time (e.g., from accepting the request to completing the delivery user). Comparing the most efficient potential boarding location to a preset threshold may take into account the efficiency of the user: and screening the boarding places which the user cannot reach by walking. Therefore, a balance can be struck between the efficiency of the driver and the user to achieve an overall efficient trip.
In some embodiments, each of the first and second travel distances of the vehicle and the first and second travel times of the vehicle has a respective weight in determining the effectiveness. In some embodiments, the distance traveled by the user to the location of highest performance may also have a weight and be included in the performance determination to obtain a combined performance of the driver and the user. All weights and/or preset thresholds may be dynamically adjustable (e.g., based on time, season, region, location, weather, weekday, weekend, holiday, gasoline price, traffic, etc.). For example, in the morning or afternoon rush hour periods, rather than other times, the travel time of the vehicle may have a greater weight than other time periods. As another example, a user's travel distance may be weighted more heavily than other time periods in summer, winter, and rainy days, but not during other days, or may be weighted less heavily than other time periods during spring, fall, and sunny days. As another example, in a region where gasoline prices are too high, the travel distance of the vehicle may have a greater weight than other factors. In some embodiments, the first distance traveled and the second distance traveled by the vehicle are weighted more heavily than the first travel time and the second travel time of the vehicle.
The system 102 may obtain various weights based on methods including, for example, data analysis. System 102 and associated systems or devices may accumulate travel information over time. For example, real-time travel information (e.g., travel distance and duration) may be recorded by using a vehicle taxi service platform application installed in a mobile phone of a vehicle driver or passenger. From the accumulated travel information, the average travel distance and travel time may be mutually inferred, and may also be inferred from common data such as time, season, area, location, weather, weekday, weekend, holiday, gasoline price, traffic conditions, and the like. Alternatively, the various weights may be determined from other well-known bases (e.g., weights to increase travel times during rush hour). Accordingly, based on the current weather, season, gasoline price, or other factors, the current weights of the first and second travel distances of the vehicle and the first and second travel times of the vehicle may be obtained. The system 102 may obtain information about the current weather, season, gasoline price, or other factors from other applications on the same or different systems, its own memory, or from a network (e.g., the internet).
Still referring to fig. 2A, in determining the pick-up location, the system 102 may send the pick-up location (e.g., the recommended pick-up location 204) to a device associated with the user (e.g., the user's computing device 110) suggesting a replacement of the starting point with the pick-up location. For example, the recommended pick-up location 204 may be displayed as a pop-up window on the
Fig. 2B illustrates an
Fig. 2B may be better illustrated with reference to the navigation map views between various routes shown in fig. 3A-3D, respectively. Fig. 3A and 3D illustrate a similar map based route that may be similarly applied to various other geographic environments. Fig. 3A is an exemplary illustration of a prior art vehicle carrying a passenger. 3B-3D are exemplary illustrations of determining and recommending a vehicle pick-up location, in accordance with various embodiments. The descriptions of fig. 3B-3D are intended to be illustrative and may be modified in various ways depending on the implementation. As shown in FIG. 3A, in the prior art, a user at location C0 may request vehicle service to transport the user from the origin S0 to the destination T0. The vehicle at location D0 may receive the request and proceed to location S0 to pick up the user and complete the request. The total travel distance of the vehicle on the
The disclosed systems and methods may determine and recommend routes for more efficient travel for vehicle drivers and/or users. Referring back to fig. 2B and 3B-3D (block 251 and 257 of fig. 2B is shown in fig. 3B, block 258 of fig. 2B is shown in fig. 3C, block 258 of fig. 2B is shown in fig. 3D), at block 251, a location of the vehicle or vehicle driver (D1) and a request including the location of the user or customer (C1), the origin (S1), and the destination (T1) may be received. It may be assumed that S1 is the starting point, i.e., the default boarding location. In block 252, the distance DCS between C1 and S1 (e.g., the walking distance of the user from C1 to S1) may be obtained. In block 253, one or more candidate pick-up locations (e.g., locations within a distance (DCS +100m) from C1) may be obtained as Ri ═ R1, R2.. Rn. Candidate pick-up locations may be obtained from a database of such locations or any other suitable source. Here, (DCS +100m) may be an example of the preset range of the position of the user described above. "100 m" can be dynamically adjusted similar to the weight values as described above. If no starting point is provided, the preset range from the user position may be a dynamically adjustable distance from the user position. If Ri is empty, the
In some embodiments, if GRmax is greater than 0 and DCRi is less than 100m, the
In some embodiments, the condition for comparing GRmax to 0 may reflect the effectiveness of the driver. GRmax >0 indicates that the driver can save at least some time and/or distance by picking up the load at the pick-up location. GRmax ═ 0 means that the driver is picked up at the pick-up location and will not save time and distance as a whole, and the starting point should be used.
In some embodiments, the condition for comparing DCRi to 100m (or another preset threshold) may reflect the performance of the user. As mentioned above, the preset threshold can also be dynamically adjusted like a weight. The preset threshold may reflect the user's desire to walk to the boarding location. In some embodiments, this aspect of the DCRi comparison may be incorporated into the above-described score determination to combine the driver's performance determination and the user's performance determination. In this case, a larger weight may also be assigned to DCRi to prioritize the performance of the user.
There may be many other ways to express, modify or combine the above conditions. As described above, the score determination and thresholding may take into account the driver and user performance in the balance determination. The various weights and preset thresholds may be dynamically adjusted to reflect the current preferences of the driver and the user. Therefore, the overall travel efficiency of the driver and the user can be improved and optimized.
Fig. 4 illustrates a flow diagram of an
In block 402, a location of a user and a request to ship the user to a destination may be obtained. In block 404, a vehicle may be determined to respond to the request. In block 406, the determined location of the vehicle may be obtained. In block 408, a boarding location for the vehicle to pick up the user may be determined based on at least the location of the user, the location of the destination, and the location of the vehicle. In some embodiments, the request may optionally include an origin, and the pick-up location may also be determined based on the origin.
Block 408 may include sub-steps 418 and 438. In block 418, one or more candidate locations may be determined within a preset range of the user's location. In block 428, the effectiveness of boarding the vehicle at each of the at least two locations, including the one or more candidate locations and the starting point, may be determined based on at least one of: the travel distance of the vehicle or the travel time of the vehicle. The travel distance of the vehicle may include a first travel distance from the location of the vehicle to the pick-up location and a second travel distance from the pick-up location to the destination. The travel time of the vehicle may include a first travel time from the location of the vehicle to the pick-up location and a second travel time from the pick-up location to the destination. In block 438, one of at least two places with the highest performance may be determined (e.g., by ranking the performances). The efficiency may be inversely proportional to each of a travel distance of the vehicle and a travel time of the vehicle. In block 448, the distance traveled by the user to the most efficient location may be determined and compared to a preset threshold. In block 458, the most efficient location is determined as the boarding location in response to a determined distance traveled by the user being less than a preset threshold.
In some embodiments, although not shown in this figure, the
The techniques described herein may be implemented by one or more special-purpose computing devices. A special purpose computing device may include one or more hardware processors that are programmed to perform techniques according to program instructions in firmware, memory, other storage, or a combination. A special-purpose computing device may be a desktop computer system, a server computer system, a portable computer system, a handheld device, a network device, or other device or combination of devices that incorporate hardwired and/or program logic for implementing the techniques. Computing devices are typically controlled and coordinated by operating system software. Conventional operating systems may control and schedule computer processes for execution, perform memory management, provide file systems, networking, input/output services, and provide user interface functions, such as a graphical user interface ("GUI"), among others.
FIG. 5 illustrates a block diagram 500 of an exemplary computer system in which any of the embodiments described herein may be implemented. The system 500 may correspond to the system 102 described above. Computer system 500 includes a bus 502 or other communication mechanism for communicating information, one or more hardware processors 504 coupled with bus 502 for processing information. Hardware processor 504 may be, for example, one or more general-purpose microprocessors. The processor 504 may correspond to the
Computer system 500 also includes a main memory 506, such as a Random Access Memory (RAM), cache memory, and/or other dynamic storage device, coupled to bus 502 for storing information and instructions to be executed by processor 504. Main memory 506 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 504. When stored in a storage medium accessible to processor 504, the instructions may cause computer system 500 to become a special-purpose machine that is customized to perform the operations specified in the instructions. Computer system 500 further includes a Read Only Memory (ROM)508 or other static storage device coupled to bus 502 for storing static information and instructions for processor 504. A storage device 510, such as a magnetic disk, optical disk, or USB thumb drive (flash drive), may be provided and coupled to bus 502 for storing information and instructions. Main memory 506, read only memory 508, and/or storage device 510 may correspond to
Computer system 500 may implement the techniques described herein using custom hardwired logic, one or more Application Specific Integrated Circuits (ASICs), or Field Programmable Gate Arrays (FPGAs), firmware, and/or program logic, which in combination with the computer system causes computer system 500 to become or be programmed as a special purpose machine. According to one embodiment, the techniques herein are performed by computer system 500 in response to processor 504 executing one or more sequences of one or more instructions contained in main memory 506. Such instructions may be read into main memory 506 from another storage medium, such as storage device 510. Execution of the sequences of instructions contained in main memory 506 causes processor 504 to perform the process steps described herein. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions.
Main memory 506, read-only memory 508, and/or storage device 510 may include non-transitory storage media. The term "non-transitory medium" and similar terms, as used herein, refers to any medium that stores data and/or instructions that cause a machine to operate in a specific manner. Such non-transitory media may include non-volatile media and/or volatile media. Non-volatile media includes, for example, optical or magnetic disks, such as storage device 510. Volatile media includes dynamic memory, such as main memory 506. Common forms of non-transitory media include, for example, a floppy disk, a flexible disk, hard disk, solid state drive, magnetic tape, or any other magnetic data storage medium, a CD-ROM), any other optical data storage medium, any physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, NVRAM, any other memory chip or cartridge, and network versions of the same.
Computer system 500 also includes a communication interface 518 coupled to bus 502. Communication interface 518 provides a two-way data communication coupling to one or more network links that are connected to one or more local networks. For example, communication interface 518 may be an Integrated Services Digital Network (ISDN) card, cable modem, satellite modem, or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, communication interface 518 may be a Local Area Network (LAN) card to provide a data communication connection to a compatible local area network (or WAN component to communicate with a WAN). Wireless links may also be implemented. In any such implementation, communication interface 518 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
Computer system 500 can send messages and receive data, including program code, through the network(s), network link and communication interface 518. Using the internet for example, a server might transmit a requested code for an application program through the internet, an Internet Service Provider (ISP), local network and communication interface 518.
The received code may be executed by processor 504 as it is received, and/or stored in storage device 510, or other non-volatile storage for later execution.
Each of the processes, methods, and algorithms described in the preceding sections can be implemented by, and through, code modules, either fully automated or semi-automated. The code modules are executed by one or more computer systems or computer processors, which include computer hardware. The above-described processes and algorithms may be implemented in part or in whole by application-specific circuitry.
The various features and processes described above may be used independently of one another or may be used in various combinations. All possible combinations and sub-combinations are intended to fall within the scope of the present application. Additionally, certain method or process block diagrams may be omitted in some implementations. The methods and processes described herein are not limited to being performed in any particular order, and the associated blocks or states may be performed in other suitable orders. For example, blocks or states described may be performed in an order different than that specifically disclosed, or multiple blocks or states may be combined into a single block or state. The example blocks or states may be performed in serial, parallel, or otherwise. Blocks or states may be added or removed in the disclosed exemplary embodiments. The exemplary systems and components described herein may be configured in different ways than those described herein. For example, elements may be added, removed, or rearranged compared to the exemplary embodiments disclosed herein.
Various operations of the example methods described herein may be performed, at least in part, by one or more processors, which may be temporarily configured (e.g., via software) or permanently configured to perform the relevant operations. Whether temporarily configured or permanently configured, the processor may constitute an engine implemented by the processor that operates to perform one or more operations or functions described herein.
Similarly, the methods described herein may be implemented at least in part by a particular processor or group of processors (as hardware examples). For example, at least a portion of the operations of a method may be performed by one or more processors or processor-implemented engines. Further, the one or more processors may also operate to support performance of related operations in a "cloud computing" environment or to implement "software as a service" (SaaS). For example, at least some of the operations may be performed by a set of computers (as an example of machines including processors) that are accessible via a network (e.g., the internet) and via one or more appropriate interfaces (e.g., Application Program Interfaces (APIs)).
The performance of certain operations may be distributed among processors, not only residing in a single machine, but also deployed across multiple machines. In some examples, the processors or processor-implemented engines may be located in separate geographic locations (e.g., within a home environment, an office environment, or a server farm). In other examples, the processor or processor-implemented engine may be distributed across multiple geographic locations.
Throughout the specification, multiple instances may be implemented as a single instance describing a component, operation, or structure. Although individual operations of one or more methods are illustrated and described as separate operations, one or more of the individual operations may be performed concurrently and nothing requires that the operations be performed in the order illustrated. Structures and functionality presented as separate components in the exemplary configurations may be implemented as a combined structure or component. Similarly, structures and functionality presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements may fall within the scope of the subject matter of this application.
Although the present subject matter has been summarized with reference to specific exemplary embodiments, various modifications and changes may be made to the embodiments without departing from the broader scope of the embodiments of the present application. Such embodiments of the subject matter referred to in this application may be referred to, individually or collectively, by the term "invention" merely for convenience of description and without intending to voluntarily limit the scope of this application to any single disclosure or concept if more than one is in fact disclosed.
The embodiments illustrated herein have been described in sufficient detail to enable those skilled in the art to practice the disclosure. Other embodiments may be derived from the disclosure, and use, such that structural and logical substitutions and changes may be made to the embodiments of the present application without departing from the scope of the present application. The detailed description is, therefore, not to be taken in a limiting sense, and the scope of various embodiments is defined only by the appended claims, along with the full range of equivalents to which such claims are entitled.
Any process descriptions, elements, or blocks in flow diagrams described herein and/or depicted in the drawings should be understood as potentially representing modules, components, or portions of code which include one or more executable instructions for implementing specific logical functions or process steps. It will be understood by those skilled in the art that alternative implementations are also included within the scope of the embodiments described herein. In these alternative implementations, elements or functions may be deleted or performed out of the order shown or discussed, including substantially concurrently or in the reverse order, depending on the functionality involved.
As used herein, the term "or" may be interpreted in an inclusive or exclusive sense. Furthermore, multiple instances may be provided for a resource, operation, or structure described herein as a single instance. In addition, the boundaries between the various resources, operations, engines, and data stores are somewhat arbitrary, and particular operations are illustrated in the context of specific illustrative configurations. The allocation of other functions contemplated may fall within the scope of the various embodiments of the present application. In general, the structures and functionality presented as separate resources in the exemplary configurations may be implemented in a combined structure or a combined resource. Similarly, the structure and functionality presented as separate resources may be implemented in multiple separate resources. These and other variations, modifications, additions, and improvements may fall within the scope of the embodiments of the application, as represented by the claims that follow. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.
Conditional language, for example, wherein "may," "may," or "may," unless expressly stated otherwise or understood otherwise in the context of usage, is generally intended to convey that certain embodiments include, while other embodiments do not include, certain features, elements, and/or steps. Thus, such conditional language is not generally intended to imply that features, elements, and/or steps are present in one or more embodiments in any required manner or that one or more embodiments necessarily include logic for decision-making, with or without user input or prompting, whether such features, elements, and/or steps are included or are to be performed in any particular embodiment.
- 上一篇:一种医用注射器针头装配设备
- 下一篇:用于提供成本分担运输服务的系统和方法