IP Library Granted Patent US 10,775,183
Granted Patent B2
US 10,775,183 · App. 16/599,086 · Granted Sep 15, 2020

System and method for routing in a ride-share transportation network

Inventors: Justin Ho (San Francisco, CA); Christopher Blumenberg (San Francisco, CA); Billy Chen (San Francisco, CA); Rohan Paranjpe (San Francisco, CA); Christopher Moore (San Francisco, CA); Min Ji Lee (San Francisco, CA); Erik Reed (San Francisco, CA); Michel Tricot (San Francisco, CA)
Assignee: rideOS, Inc.
G01C21/3453G01C21/3461G01C21/3492G06Q10/04G06Q10/063G06Q30/0284G06Q50/30G05D1/0088G05D2201/0213
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,775,183
App. No.
16/599,086
Granted
Sep 15, 2020
Kind
B2
Abstract

A method includes storing representations of a passengers and fleet vehicles. The method includes generating a graph representation of a geographic map that includes requested pick-up locations and drop-off locations for the passengers and generating a state graph representation of the passengers and the fleet vehicles. The state graph representation includes a plurality of nodes connected by edges. Each of the plurality of nodes represents a candidate state of the passengers and the fleet vehicles. A respective edge of the state graph representation represents an action of a respective vehicle picking up or dropping off a passenger. The respective edge has a cost that is based at least in part on traversal of the graph representation of the geographic map. The method further includes using the state graph representation to generate a set of routes and route the fleet vehicles in accordance with the generated set of routes.

Claims (70)

1. A routing method for a ride-share transportation network, comprising:

storing representations of a plurality of first passengers, wherein each of the representations of the plurality of first passengers includes a requested pick-up location and a requested drop-off location for a respective first passenger of the plurality of first passengers;

storing representations of a plurality of fleet vehicles;

generating a graph representation of a geographic map that includes the requested pick-up locations and drop-off locations for the plurality of first passengers;

generating a state graph representation of the plurality of first passengers and the fleet vehicles, wherein:

the state graph representation of the plurality of first passengers and the fleet vehicles is different from the graph representation of the geographic map;

the state graph representation includes a plurality of nodes connected by edges;

each node of the plurality of nodes of the state graph representation represents a candidate state of the plurality of first passengers and the fleet vehicles;

a respective edge of the state graph representation represents an action of a respective vehicle picking up or dropping off a passenger, and

the respective edge has a respective cost that is based at least in part on traversal of the graph representation of the geographic map;

generating a set of routes for the fleet vehicles, including:

performing a graph search of the state graph representation by evaluating a cost model that includes the costs of the respective edges;

assigning each passenger of the plurality of first passengers to be picked up and dropped off by a respective vehicle of the fleet vehicles by selecting, based on the graph search, a subset of edges of the state graph representation, wherein the subset of edges is less than all edges; and

generating the set of routes based on the assignment of the plurality of first passengers to the respective vehicles of the fleet of vehicles; and

routing the fleet vehicles in accordance with the generated set of routes.

2. The method of claim 1 , wherein the fleet vehicles include a plurality of autonomous vehicles.

3. The method of claim 1 , wherein the plurality of fleet vehicles is operated by a single operator.

4. The method of claim 1 , including,

receiving a ride request from a second passenger, distinct from the plurality of first passengers, wherein the request includes a requested pick-up location and a requested drop-off location for the second passenger; and

updating the route for a respective vehicle of the fleet vehicles, including assigning the second passenger to be picked up and dropped off by the respective vehicle, in accordance with one or more least-expensive-insertion criteria.

5. The method of claim 4 , wherein updating the route for the respective vehicle of the fleet vehicles includes inserting a pick-up location and a drop-off location for the second passenger into an existing route for the respective vehicle without modifying pick-up and drop-off locations for passengers already assigned to the respective vehicle.

6. The method of claim 4 , wherein updating the route for the respective vehicle of the fleet vehicles includes:

inserting a pick-up location and a drop-off location for the second passenger into an existing route for the respective vehicle; and

reassigning a passenger already assigned to the respective vehicle to a different vehicle of the fleet vehicles.

7. The method of claim 1 , wherein generating the set of routes for the fleet vehicles includes:

assigning each passenger of the first plurality of passengers to one or more candidate pick-up locations based on the first passenger's requested pick-up location;

assigning each passenger of the first plurality of passengers to one or more candidate drop-off locations based on the first passenger's requested drop-off location;

clustering the first plurality of passengers according to their assigned candidate pick-up locations and drop-off locations;

assigning respective vehicles of the fleet vehicles to a plurality of clusters; and

parallelizing the routing of the fleet vehicles according the assigned plurality of clusters for the respective vehicles of the fleet vehicles.

8. The method of claim 7 , including:

receiving a ride request from a second passenger, distinct from the plurality of first passengers, wherein the request includes a requested pick-up location and a requested drop-off location for the second passenger; and

updating the route for a respective vehicle of the fleet vehicles, including assigning the second passenger to be picked up and dropped off by the respective vehicle, by:

assigning the second passenger to an existing cluster; and

updating the route for the vehicle assigned to the existing cluster.

9. The method of claim 1 , wherein performing the graph search includes limiting a number of states explored in the state graph representation using a lowest-bound heuristic by forgoing subsequent exploration from any nodes in the state graph representation for which a lowest-bound of the cost function exceeds a cost of an already-determined set of routes for the fleet vehicles.

10. The method of claim 1 , wherein the cost model includes pick-up wait times for the first passengers.

11. The method of claim 1 , wherein the graph search is a bi-directional search.

12. A computer system, comprising:

one or more processors; and

memory storing one or more programs, the one or more programs storing instructions that, when executed by the one or more processors, cause the computer system to perform a set of operations, including:

storing representations of a plurality of first passengers, wherein each of the representations of the plurality of first passengers includes a requested pick-up location and a requested drop-off location for a respective first passenger of the plurality of first passengers;

storing representations of a plurality of fleet vehicles;

generating a graph representation of a geographic map that includes the requested pick-up locations and drop-off locations for the plurality of first passengers;

generating a state graph representation of the plurality of first passengers and the fleet vehicles, wherein:

the state graph representation of the plurality of first passengers and the fleet vehicles is different from the graph representation of the geographic map;

the state graph representation includes a plurality of nodes connected by edges;

each node of the plurality of nodes of the state graph representation represents a candidate state of the plurality of first passengers and the fleet vehicles;

a respective edge of the state graph representation represents an action of a respective vehicle picking up or dropping off a passenger, and

the respective edge has a respective cost that is based at least in part on traversal of the graph representation of the geographic map;

generating a set of routes for the fleet vehicles, including:

performing a graph search of the state graph representation by evaluating a cost model that includes the costs of the respective edges;

assigning each passenger of the plurality of first passengers to be picked up and dropped off by a respective vehicle of the fleet vehicles by selecting, based on the graph search, a subset of edges of the state graph representation, wherein the subset of edges is less than all edges; and

generating the set of routes based on the assignment of the plurality of first passengers to the respective vehicles of the fleet of vehicles; and

routing the fleet vehicles in accordance with the generated set of routes.

13. A non-transitory computer readable storage medium storing instructions that, when executed by a computer system having one or more processors, cause the computer system to perform a set of operations, including:

storing representations of a plurality of first passengers, wherein each of the representations of the plurality of first passengers includes a requested pick-up location and a requested drop-off location for a respective first passenger of the plurality of first passengers;

storing representations of a plurality of fleet vehicles;

generating a graph representation of a geographic map that includes the requested pick-up locations and drop-off locations for the plurality of first passengers;

generating a state graph representation of the plurality of first passengers and the fleet vehicles, wherein:

the state graph representation of the plurality of first passengers and the fleet vehicles is different from the graph representation of the geographic map;

the state graph representation includes a plurality of nodes connected by edges;

each node of the plurality of nodes of the state graph representation represents a candidate state of the plurality of first passengers and the fleet vehicles;

a respective edge of the state graph representation represents an action of a respective vehicle picking up or dropping off a passenger, and

the respective edge has a respective cost that is based at least in part on traversal of the graph representation of the geographic map;

generating a set of routes for the fleet vehicles, including:

performing a graph search of the state graph representation by evaluating a cost model that includes the costs of the respective edges;

assigning each passenger of the plurality of first passengers to be picked up and dropped off by a respective vehicle of the fleet vehicles by selecting, based on the graph search, a subset of edges of the state graph representation, wherein the subset of edges is less than all edges; and

generating the set of routes based on the assignment of the plurality of first passengers to the respective vehicles of the fleet of vehicles; and

routing the fleet vehicles in accordance with the generated set of routes.

Assignments (6)
SECURITY INTEREST Recorded Oct 11, 2022
From: GOBRANDS, INC.; BEVERAGES & MORE, INC.
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 061383/0730 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2022
From: GB ADVANCED TECHNOLOGIES, LLC
To: GOBRANDS, INC.
Reel/Frame 059146/0306 →
MERGER Recorded Mar 1, 2022
From: RIDEOS, INC.
To: GB ADVANCED TECHNOLOGIES, LLC
Reel/Frame 059131/0686 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2020
From: TRICOT, MICHEL
To: RIDEOS, INC.
Reel/Frame 052301/0732 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNMENT PREVIOUSLY RECORDED AT REEL: 051133 FRAME: 0913. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 30, 2020
From: HO, JUSTIN; BLUMENBERG, CHRISTOPHER; CHEN, BILLY; PARANJPE, ROHAN; MOORE, CHRISTOPHER; LEE, MIN JI; REED, ERIK
To: RIDEOS, INC.
Reel/Frame 052268/0710 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 27, 2019
From: HO, JUSTIN; BLUMENBERG, CHRISTOPHER; CHEN, BILLY; PARANJPE, ROHAN; MOORE, CHRISTOPHER; LEE, MIN JI; REED, ERIK
To: RIDEOS
Reel/Frame 051133/0913 →
Continuity (7)
Continuation PCTUS2018056740 · Oct 19, 2018
Continuation 16164708 · Oct 18, 2018
Provisional Application 62740882 · Oct 3, 2018
Provisional Application 62685106 · Jun 14, 2018
Provisional Application 62599610 · Dec 15, 2017
Provisional Application 62574737 · Oct 19, 2017
Related Publication 20200080856A1 · Mar 12, 2020
Cited By (92)
US 12,206,696 US 12,244,621 US 12,267,345 US 12,309,185 US 12,323,449 US 12,335,286 US 12,335,348 US 12,341,797 US 12,348,545 US 12,355,626 US 12,355,787 US 12,355,793 US 12,363,148 US 12,368,745 US 12,368,746 US 12,368,747 US 12,375,573 US 12,394,002 US 12,395,573 US 12,401,669 US 12,405,849 US 12,407,701 US 12,407,702 US 12,418,552 US 12,418,555 US 12,425,428 US 12,425,430 US 12,445,474 US 12,452,279 US 12,457,231 US 12,463,995 US 12,463,996 US 12,463,997 US 12,464,003 US 12,470,577 US 12,470,578 US 12,483,576 US 12,489,770 US 12,495,052 US 12,500,910 US 12,500,911 US 12,500,912 US 12,505,126 US 12,506,762 US 12,513,221 US 12,529,566 US 12,537,836 US 12,537,837 US 12,537,839 US 12,537,840 US 12,537,884 US 12,549,575 US 12,549,577 US 12,556,548 US 12,556,559 US 12,563,060 US 12,563,064 US 12,563,071 US 12,563,072 US 12,580,934 US 12,580,935 US 12,580,936 US 12,580,937 US 12,587,553 US 12,592,950 US 12,598,205 US 12,613,930 US 12,615,271 US 12,621,324 US 12,621,329 US 12,627,686 US 12,627,687 US 12,627,690 US 12,634,312 US 12,634,376 US 12,652,302 US 12,659,325 US 12,659,326 US 12,659,327 US 12,659,333 US 12,676,874 US 12,689,638 US 12,689,640 US 12,695,768 US 12,706,932 US 12,706,933 US 12,712,897 US 12,719,896 US 12,726,495 US 12,730,899 US 12,739,266 US 12,739,267