The field of the invention relates to traffic routing and route planning, and more specifically to recommending a driving route a car should follow while searching for a parking spot that results in fast and cheap parking.
Parking search has become a major issue in urban areas. Parking search could create a stressful experience for a driver, particularly if the driver is not familiar with the area. Routes that drivers choose to follow may be very inefficient, which may result in loss of their time and money as well as cause or increase traffic congestion. The results of a 2011 IBM Global Parking Survey conducted in 20 international cities shows that around 30 percent of traffic in major cities is caused by drivers searching for a parking spot, that nearly six out of 10 drivers have abandoned their search for a space at least once, and that over half of all drivers in 16 of the 20 cities reported that they have been frustrated enough that they gave up looking for a parking space and as a result did not reach their intended destination.
In traditional navigation systems, given the current location of a car and a desired destination, the driver is recommended a fast or low-cost route from the current location to the destination. A problem with the traditional navigation is that the route ends at the destination, regardless of whether the car can be parked there or not. As a result, upon arriving at the destination, the driver is often forced to begin a search for a parking spot, typically without any support from the navigation system beyond displaying a map of the neighborhood of the destination.
There are several recent efforts to help drivers in parking search beyond what the traditional navigation systems provide. One approach relies on displaying parking-related information to drivers to aid their parking search process. Some systems and services overlay the maps with static information about on-street parking spots and off-street parking garages, such as parking locations, rules, and prices. For example, U.S. Pat. No. 8,175,803 (Caraballo) describes a graphic interface method for providing parking information in the vicinity of the destination, particularly with respect to parking rules. There are also several existing companies that provide navigation systems that display annotated maps with information about locations, pricing, and parking rules of parking garages.
Some systems, used in parking garages, provide real-time information about availability of parking spots. Providing real-time parking availability typically necessitates installation of a sensing system. For example, many parking garages have sensing systems that provide real-time information about parking availability such as a total number of available parking spots in the garage or a number of available spots in each garage segment. If the total number of available spots is desired, the sensing systems usually consist of counters mounted on entrance and exit garage ramps. Measuring parking availability at different garage segments requires installation of appropriate counters at entrances and exits for each of the segments. For on-street parking, several cities have been installing sensors at individual parking spots to collect real-time information about parking availability. For example, the San Francisco Park project recently installed parking sensors at each parking spot across a number of city blocks and is providing real-time parking occupancy and pricing information to the public through their internet portal.
Some systems attempt to provide real-time or historical parking information without having to install a sensing infrastructure. For example, U.S. Pat. No. 7,936,284 (Levine et al.) uses crowdsourced movement trajectories of cars to detect when they begin the parking search process and then to estimate the time needed for parking. By accumulation of the estimated parking times, the system may provide information about typical parking search times at different locations and at different times of day or week, which can be useful for trip planning Crowdsourced movement trajectories are a low-cost source of traffic information, but it is still an open question how to analyze trajectories to obtain useful parking-related information. For example, crowdsourced parking search trajectories may come both from experienced drivers knowledgeable about traffic and parking patterns in the area around a destination and from novice drivers without any knowledge about the traffic and parking patterns. As a result, parking search behavior of different drivers might be vastly different and it may complicate analysis of the collected moving trajectories.
Users of the navigation systems whose maps are enhanced with parking-related information are expected to decide where to park based on a visual inspection of the map. A problem with this approach is that drivers might be overwhelmed by or unable to utilize the displayed information in a way that results in fast and cheap parking.
In addition to providing parking-related information, some systems also help drivers to select a particular available parking spot and provide driving directions to the selected parking spot. For example, U.S. Published Patent Application No. 2012/0056758 (Kuhlman et al.) describes a system for locating open parking spots and recommending the spot closest to the destination. One problem with this solution is that it requires installation and maintenance of a costly sensing infrastructure to detect the available parking spots. Another problem is that, even if information about occupancy of individual parking spots is available and accurate, recommending a particular parking spot that is currently available is risky because the spot might become occupied by the time the driver arrives there, thus forcing the driver to initiate a new parking search. Having to repeat the parking spot search can result in a costly and frustrating parking experience. To address this issue, in U.S. Pat. No. 7,538,690 (Kaplan et al.) and U.S. Published Patent Application 2010/0042318 (Kaplan et al.) a method is described that, in addition to identifying the best parking garage near the destination based on historical availability and providing a route to it, can also reserve the selected spot. This approach is reasonable for parking garages because the garages can develop parking reservation systems in a relatively straightforward way. However, it would be hard to implement the same system for on-street parking. First, even the best on-street parking monitoring systems are not 100% accurate. Therefore, it is not possible to know the status of any on-street parking spot with certainty. Second, it would be cumbersome or costly to guarantee reservation of available on-street parking spots and prevent others from parking at those spots.
Several methods were proposed recently that go beyond guiding a driver to a selected spot that is currently vacant. In U.S. Published Patent Application 2008/0048885 (Quinn), a method is described that starts by estimating probabilities of finding a vacancy at a parking space at the estimated time of arrival at the space. Using these probabilities, the parking spaces are ranked according to the most quickly or easily accessible space. The ranking is provided to assist the user in selecting an order of spaces in which to seek a vacancy. A deficiency of this navigation assistance is that the search can become very inefficient if the user does not find vacancy at the top ranked spot. In U.S. Published Patent Application 2012/0161984 (Amir), an optimization-based method is proposed to provide a recommended path for a parking search. Using the probabilities of vacancy along multiple street segments within the region of interest and parking preferences of a user, the method finds the path with the highest expected reward. Given the recommended path, the user is expected to park at the first vacant parking spot along the path. A deficiency of such approach is that parking at the first available spot along the recommended route might result in an undesirable outcome, for example, in cases when the current location of the car is far from the destination and there is a large probability of vacancy at the destination. U.S. Published Patent Application 2009/0171567 (Morimoto et al.) proposes a method that calculates a path from the current location to the destination, such that the route passes next to at least one on-street parking zone, where such one or more parking zones are highlighted on display and a user is encouraged to seek vacant parking spots within the highlighted parking zones. A deficiency of this approach is that the recommended path ends at the destination and it is not clear what should happen if a user does not find a vacant parking spot within the highlighted parking zones. U.S. Pat. No. 7,936,284 (Levine et al.) discloses that the accumulated parking search times could be used to provide a preferred path of searching or location of a preferred parking spot, but it fails to define the preferred parking paths or spots and it does not explain how the recommendations may be calculated.
Thus there is a need for a system for parking recommendations that addresses weaknesses of the existing systems. A system for search of a parking spot according to a preferred embodiment of the invention uses available parking-related information, including data collected by the system, information coming from the existing sensor systems, and crowdsourced data, to recommend a driving route that a car should follow. The system also specifies along which segments to seek parking spots in order to find a parking spot quickly and with low cost. The system does not require installation of sensing infrastructure, has the ability to utilize all the available information in a consistent manner, and is able to improve over time. The system can be customized to account for specific parking preferences of drivers, such as parking duration, time flexibility, and price elasticity.
A computer system and a method for search of a parking spot are described. In an embodiment, the system obtains parking instructions for a vehicle that is seeking a parking spot, where the instructions may provide information about the current vehicle location, location of destination, and parking preferences such as parking duration, time flexibility, price elasticity, and desire to walk. The system of an embodiment uses the parking instructions to recommend a parking search route for said vehicle. The parking search route comprises a sequence of consecutive road segments beginning at the current location of the vehicle. In addition, the system of an embodiment designates a fraction of segments along the parking search route for parking. The vehicle is instructed to follow the recommended parking search route and park at the first available parking spot along the specifically designated segments of the route. The recommended parking search route is communicated to the operator of the vehicle, whether it is a human operator or driving software. To recommend the parking search route the system of an embodiment uses parking information that may contain road network, traffic rules, parking rules, estimates of traffic speed, and estimates of parking probabilities in the vicinity of the destination. The system of an embodiment may calculate the recommended parking search route in numerous ways. A preferred method is to recommend the route which has the largest expected parking reward, where parking reward may be defined as a function of time and effort to reach the destination and monetary costs of parking.
Preferred embodiments of the present invention provide a solution for car parking and include a computer system and a method for recommending a driving route that reduces the time and cost of finding a parking spot. Embodiments of the present invention relate to recommending a parking search route.
In a preferred embodiment, client device 110 has input and output capabilities that allow the driver to enter parking instructions and receive parking recommendations and other relevant information. It also has communication capabilities with remote server 130 through communication channel 140.
In the exemplary embodiment illustrated in
Reference is now made to
In step 430, parking instructions are sent to remote server 130 through communication channel 140. In step 440, client device 110 is waiting for recommendation engine 320 of remote server 130 to calculate the recommended parking search route. The parking search route of an embodiment is defined as a sequence of M consecutive road segments starting from the current location, where each segment is labeled either as PARK or NO_PARK. Value M may be as large as desired and may be set to an appropriate number, for example, to make sure that the route has a length of at least 10 city blocks. In step 450, client device 110 receives the recommended parking search route from remote server 130 through communication channel 140. In step 460, upon receiving the route, client device 110 communicates it to the driver. In an exemplary embodiment, the route is overlayed on a map and shown on multi-touch display 211. Information needed to display the map may be residing on client device 110, or may be obtained from remote server 130, or from a third-party server 260. There are numerous other ways how the recommended parking search route may be communicated to the driver through display 211 or through speaker 212, for example, as turn-by-turn directions. Using the recommended parking search route, the driver is instructed to drive along the parking search route and to park at the first available parking spot along the road segments labeled with PARK.
The choice of M influences computational time to calculate the recommended route. While M can be set arbitrarily large, in some embodiments it might be desirable to set M to a relatively small number, such as M=10 or M=15. In such embodiments, the process for requesting and obtaining a parking search route by client device 110 described in
To calculate a parking search route, in a preferred embodiment, recommendation engine 320 relies on a reward function R(t) that quantifies satisfaction of the driver with parking and reaching the destination from the current location in t minutes.
Once the reward function R(t) is determined by recommendation engine 320, it becomes possible to calculate the reward of parking at any particular parking spot. Let us consider an example from
Given a formula to calculate the reward for parking at a specific parking spot, it becomes possible for recommendation engine 320 to predict the reward of any given parking search route, to compare the rewards of two routes, and to find the best route. Prediction of the reward for a recommended route may be subject to many uncertainties. For example, even if the recommendation engine 320 knows with certainty that car 120 will start from origin, park at parking spot along the recommended route, and that the driver will then walk to destination, time Td(origin, parking_spot) depends on actual traffic speed along the route and time Tw(parking_spot, destination) depends on how long it will take the driver to pay for the parking and leave the parking facility, how fast the driver walks, how crowded the streets are, and what the traffic light patterns are along the walking path to the destination. As a result, recommendation engine 320 may treat driving and walking times as random variables that have to be statistically estimated. For example, recommendation engine 320 may predict driving and walking time for each road segment along the route based on statistical analysis of previous parking searches by users of the system which are stored in database 330 or based on information obtained from third-party servers. In addition to uncertainties in driving and walking times, it may not be possible to know with certainty on which road segment along the route the parking spots will be available. As a result, recommendation engine 320 may estimate for each road segment along the route the parking probability, defined as probability of finding an available parking spot along the segment. The parking probabilities may be estimated using historical data collected from the users of the system and stored in database 330 or based on information obtained from third-party servers. Given estimates of driving time, walking time, and parking probability along every segment of a route, recommendation engine 320 may calculate the expected reward for the given parking search route.
To explain more precisely how recommendation engine 320 may calculate the expected reward of a route in the preferred embodiment, we need to introduce some mathematical notation. Let us represent the unique identifiers (IDs) of road segments along a specific route of length M as a sequence {i1, i2, . . . , iM}. Then, let us define as {park1, park2, . . . , parkM} the corresponding binary parking indicators of whether the driver should look for a parking spot along each of the route segments, where parkm=1 means that the m-th segment along the route with ID im is PARK and parkm=0 means that the segment is NO_PARK segment. The lower bound on the expected reward of this route may be expressed as the following recursive formula:
where p(iM) is the parking probability for road segment iM, Td({i1, i2, . . . , iM}) is estimated driving time to traverse route {i1, i2, . . . , iM}, and Tw(iM,destination) is estimated walking time to reach the destination after parking at road segment with ID iM. The term R(Td({i1, i2, . . . , iM})+Tw(iM,destination)) is the reward of parking at the M-th segment, which is a function of the total time to reach the destination equal to sum of parking search time Td({i1, i2, . . . , iM}) and walking time Tw(iM,destination). The term
is the probability that the user reaches the M-th segment by car, which equals probability that the user did not park along the first M−1 segments. The term p(iM)·parkM is the probability that the user would find parking along the M-th segment. The recursive formula is a sum of the expected reward if parking is found along the first M−1 segments and the expected reward if parking is found along the M-th segment. The formula is a lower bound on the expected reward because it assumes that if parking is not found along the first M segments of the route, the reward of the subsequent parking search is zero. The upper bound on the expected reward of this route may be expressed as the following formula:
where Td(iM,destination) is defined as the shortest time it may take the car to reach the destination from road segment with ID iM. The upper bound in Equation 2 assumes that if there are no available parking spots along the first M segments of the route, the car will be able to drive directly to the destination in time Td (iM, destination) and find a parking spot there with probability 1, thus getting the reward R(Td({i1, i2, . . . , iM})+Td(iM,destination)). Both lower and upper bounds approach the actual expected reward as M gets large.
In the preferred embodiment, the system selects the recommended parking search route as the route with the highest expected reward. One way to find such route is to perform an exhaustive search of all possible routes of length M and all possible combinations of PARK and NO_PARK indicators assigned to segments along each route. If M is large enough, either or both the lower bounds equation (Equation 1) and the upper bounds equation (Equation 2) might be appropriate equations for the system to use. Since the number of possible routes is expected to grow exponentially with route length M, the computational cost may be very large for a large M. As an alternative, the system may use more computationally efficient schemes for calculating the recommended route. For example, the system may use a greedy strategy that starts from all possible routes of length 2, where the first segment corresponds to the current car location and the second segment is any segment that could be reached next by the car if it continued driving along its current direction. The system may then calculate upper bounds (Equation 2) of all possible combinations of routes of length 2 {i1,i2} and their parking indicators {park1,park2}. The routes may be sorted based on their upper bounds and the route with the highest upper bound may be extended by one more segment. The procedure may be iterated until the route with the highest bound is of length M. Said route would be guaranteed to have the highest upper bound of all the routes of length M and there will be no need to further evaluate all possible routes of length M. Said route of length M may be selected as the recommended parking search route by recommendation engine 320.
The procedure described in the previous paragraphs is one preferred way of approaching this task. In alternative embodiments the recommended parking search route could be calculated in numerous other ways. In some embodiments, the driving and the walking times in Equations 1 and 2 may be treated as random variables. In some embodiments, upper and lower bounds on the expected reward may be defined differently from Equations 1 and 2 and the reward function may be defined in different ways to account for time flexibility, price elasticity, walking preferences, and any other factors that may be important for quantifying satisfaction of drivers with parking search routes. In some embodiments, it may be preferable for computational reasons to calculate sub-optimal routes that do not necessarily provide the highest expected reward, for example, by using various fast search heuristics. It may also be possible to evaluate the routes without having to calculate the expected reward, for example, by using appropriate heuristically-based formulas for the reward. In some embodiments, the recommended parking search route might be determined without having to search for a route with a high reward, for example, by simulating how informed humans would select the route, or by analyzing how actual successful drivers search for parking. In some embodiments, even routes determined by random walks through the road network or based on any type of an informed guess may be used.
It is to be understood that the preferred embodiment may provide recommendations for segments containing either on-street or off-street parking spots. The main difference between these two types of parking spots is pricing, which could be accounted for through the reward function. The recommendations could also be provided if segments contain mixed types of parking spots, such as free on-street and paid off-street parking spots. Parking recommendation engine 320 can account for a mixed-type segment by treating the segment as a concatenation of several subsegments, each with a single parking type.
In an embodiment, parking probabilities and traffic speed can also be calculated and incorporated into the reward equations. Information about outcomes of parking searches of users of the system may be used to estimate parking probability and traffic speed along visited segments and segments in vicinity of the visited segments. An example embodiment of how this may be done is described in this section. In this preferred embodiment, client device 110 may use its location sensing component 220 to track locations of car 120 as it follows its recommended route. Client device 110 may send said time-stamped locations to remote server 130, and the received time-stamped locations may be stored in database 330 together with the recommended route. In this way, database 330 may contain information about all previous parking searches of users of the system. This information may be analyzed using various statistical methods to predict current or future traffic speed and parking probabilities in vicinity of the previously visited road segments. To illustrate a simple way how the predictions may be calculated, let us assume that database 330 contains only one parking search of the user from the example shown in
In practice, database 330 may contain a number of previously observed parking search trajectories and recommendation engine 320 may use more sophisticated methods to estimate parking probabilities and traffic speed. These methods may be able to exploit spatial correlations, temporal correlations, and traffic and parking regularities. Spatial correlations correspond to an assumption that neighboring segments may have similar parking probability and similar traffic speed. Temporal correlations correspond to an assumption that parking probabilities and traffic speed do not change abruptly in time. Traffic and parking regularities may correspond to repetitive nature of traffic and parking behavior, for example, where parking availability tends to be similar at the same time of a day or during a given day of the week or during a particular kind of event.
In addition to data about previous parking searches of the users of the system stored in database 330, recommendation engine 320 may use information obtained from third-party servers, for example, traffic speed obtained from public sources or from commercial services, occupancy of on-street parking spots measured by parking sensor systems, occupancy in public or private garages measured by garage sensor systems, and traffic speed and parking spot occupancy collected through crowdsourcing. Recommendation engine 320 may apply an appropriate statistical method to use the available traffic and parking data for estimation of current or prediction of future parking probabilities and traffic speed over multiple road segments.
In the following, we give an example of a system that may be developed using the described preferred embodiment. In this system, client device 110 may be a smart phone with an installed parking search app. Upon opening the app, the driver may be asked to press a single button called “Park Here” and enter desired the parking duration. The client device then records current location of car 120 and sends it to server 130.
Recommendation engine 320 receives the location and queries database 330 to obtain all segments of the road network, the traffic rules and the parking rules within 2 kilometers of the received location. Recommendation engine 320 assumes that the received location is both the current location of car 120 and its destination and assumes that the reward function is the one depicted at the bottom of
In this system, user interaction with the app on client device 110 is very simple and recommendation engine 320 does not require sophisticated knowledge of traffic conditions and parking probabilities. As a consequence, the quality of the recommended parking search route might not be high. However, the recommended route might still be considerably better than a parking search route of an uninformed driver, at the least thanks to use of the knowledge about the parking rules in the vicinity of the destination.
In the following, we give an example of a more sophisticated system that may be developed using the described preferred embodiment. In this system, client device 110 is a smart phone with an installed parking search app. Upon opening the app, the driver is offered to select the destination, enter the desired parking duration, price elasticity, time flexibility, and walking preference. After the driver enters the parking instructions, client device 110 records current location and driving direction of car 120 and sends it together with information entered by the driver to server 130.
Recommendation engine 320 on remote server 130 receives the parking instructions. It queries database 330 to obtain the road network, the traffic rules, and the parking rules within 2 kilometers of the destination. Using parking preferences entered by the driver, it determines an appropriate reward function. It also obtains from database 330 or from third-party servers 350 information based on which it estimates parking probabilities and traffic speed along road segments within the retrieved fraction of the road network. Similarly to the system described previously, some road segments may be automatically labeled as NO_PARK depending on the desired parking duration. The system may also estimate based on the previous parking searches of the particular driver the walking speed of the driver. It may also estimate based on the previous users who parked at a specific parking spot the time needed to pay for parking and leave the parking facility.
If the current location of car 120 is close to the destination, for example within 1 kilometer, recommendation engine 320 may use Equation 2 to find the best route of desired length, for example M=10. If the current location of car 120 is far from the destination, for example more than 1 kilometer away, recommendation engine 320 could first instruct car 120 to follow the shortest path to the destination and calculate the recommended parking search route only when car 120 is within 1 kilometer of the destination.
Remote server 130 sends the route to client device 110, which then displays the route and route segment labeling overlaid on a road map. Remote server 130 could also send information about the parking probabilities and traffic speed in the vicinity of the destination, the expected reward of the recommended route, the expected monetary cost of parking when following the recommended route, or some other information, for example, the expected time to reach the destination if free parking is requested or if parking fee up to 20 dollars is paid. In this more sophisticated system, the quality of the recommended parking search route would increase with the quality of traffic and parking information.
The exemplary embodiment of the system described above assumed the client-server system depicted in
In the exemplary embodiment above, it was assumed that the parking search route is requested for an actual car from its current location. In other embodiments, the system may also accept requests for parking at some future time. The same approach for parking route recommendation as described above in the exemplary embodiment may be used for future predictions, with the only difference that predicted traffic speed and parking probabilities might be less reliable. Recommendations for parking search routes at a future time might be useful, for example, in cases when the driver anticipates a loss of connection with the recommendation engine and wants to print out the route prior to departure. A more relevant justification might be that the driver is interested in time and expected monetary costs of parking at a certain time of the day to help in trip planning. In some embodiments, the system may provide expected parking times or parking rewards for locations within a specified spatial region and at any time during a day or during a week.
In the embodiments mentioned so far, it was assumed that the parking search route is used by a human vehicle operator. The present invention allows for embodiments where a vehicle is driven by driving software. As a result, in some embodiments, the recommended parking search route may be presented to the driving software in an appropriate data format and the driving software may be instructed to find the first available parking spot, potentially aided by parking spot detection sensors installed in the car or with help from human car passengers. One potential scenario might be that a car with the driving software first drives directly to the destination, unloads the passengers, and then begins searching for a parking spot using the parking recommendation system. The reward function in this case may be more sensitive to the monetary cost of parking than to the parking search time or distance to the destination.
The present invention may be applicable beyond the problem of finding parking for vehicles on road networks. In general, it may be applicable to any setup where independent agents are looking for a resource within a network and where information about availability or status of the resource is uncertain.
While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example only, and not limitation. It will be apparent to persons skilled in the art that various changes in form and detail can be made therein without departing from the spirit and scope of the invention. Thus, the breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined in accordance with the following claims and their equivalents.
This application claims the benefit of U.S. Provisional Application 61/756,836, filed on Jan. 25, 2013, which is hereby incorporated herein by reference, in its entirety.
Number | Date | Country | |
---|---|---|---|
61756836 | Jan 2013 | US |