WO2020055769A1 - Item provisioning via vehicles - Google Patents

Item provisioning via vehicles Download PDF

Info

Publication number
WO2020055769A1
WO2020055769A1 PCT/US2019/050264 US2019050264W WO2020055769A1 WO 2020055769 A1 WO2020055769 A1 WO 2020055769A1 US 2019050264 W US2019050264 W US 2019050264W WO 2020055769 A1 WO2020055769 A1 WO 2020055769A1
Authority
WO
WIPO (PCT)
Prior art keywords
location
item
pick
vehicle
vehicles
Prior art date
Application number
PCT/US2019/050264
Other languages
French (fr)
Inventor
Joshua Gouled GOLDBERG
Vaibhav Goel
Original Assignee
Zume, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zume, Inc. filed Critical Zume, Inc.
Publication of WO2020055769A1 publication Critical patent/WO2020055769A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/02Reservations, e.g. for tickets, services or events
    • G06Q10/025Coordination of plural reservations, e.g. plural trip segments, transportation combined with accommodation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/047Optimisation of routes or paths, e.g. travelling salesman problem
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/20Monitoring the location of vehicles belonging to a group, e.g. fleet of vehicles, countable or determined number of vehicles
    • G08G1/202Dispatching vehicles on the basis of a location, e.g. taxi dispatching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/02Arrangements for optimising operational condition

Definitions

  • This description generally relates to implementing ride hailing services with the provisioning of requested items, such as food orders, and in particular to technical solutions for implementing such in a networked environment.
  • ride hailing services and supporting infrastructure are available, for instance UBER®, LYFT®, GRAB® to name a few.
  • a user who wishes to employ these services generally creates an account, and employs a software application executing on a processor-based device, typically a smartphone. For example, the user may wish to be picked up at a first location and dropped off at a second location. The user enters the pick-up location and the drop-off location.
  • the pick-up location is the current location of the user, and can be automatically determined via the user’s smartphone, populated into a user interface of the application, and the user prompted to confirm that the automatically populated address is correct.
  • a request for transportation is generated or submitted, the request specifying an identity of the user, a pick-up location and a destination location.
  • a backend system may locate available vehicles and dispatch one of those available vehicles to pick up the user at the specified pick-up location for transport to the specified drop-off location. At least some of these ride hailing services provide notification of a request for transportation to drivers of vehicles that are within some proximity of the pick-up location. Typically, the drivers have the option of accepting or declining the request. Once accepted, a driver and their vehicle will travel to the pick-up location, typically employing a tum-by-tum navigation system (e.g ., GOOGLE® maps).
  • a tum-by-tum navigation system e.g ., GOOGLE® maps
  • a ride hailing and provisioning system coordinates vehicles to provide both ride hailing and item- provisioning operations, such that vehicles are dispatched to pick up various items specifically requested by passengers, and the passengers are picked up at specified passenger pick-up locations and transported to specified passenger drop-off locations, with the various requested items made available to those passengers.
  • a system receives, from a user device, a request for transportation of one or more passengers from a first location to a second location and for an item to be made available to the one or more passengers during the requested transportation.
  • one or more available vehicles are determined based on various criteria, including for example, current proximity to the route locations, etc., and one of the vehicles is selected for the trip.
  • a route is determined, the route including the first location, second location, and at least one item pick-up location. Dispatch information is then sent to an on-board device of the selected vehicle, thereby causing or instructing the vehicle to travel to locations on the route.
  • available vehicles for the trip are determined based on a current proximity of the respective vehicle to the item pick-up location, which may include identifying a plurality vehicles based on a current proximity of the respective vehicle to one or more item pick-up locations, the one or more item pick-up locations including the aforesaid item pick-up location, based on a current proximity of a respective vehicle to the passenger pick-up location.
  • Proximity may be measured for example by geographic distance, estimated transit time, or both.
  • available routes are assessed for the respective vehicles, wherein the routes include both the item pick-up location and the passenger pick-up location.
  • An implementation may include assessing, for respective vehicles, available routes based on some or all of the following: a current location of the respective vehicle and a current or predicted traffic conditions on the routes; a current location of the respective vehicles and a predicted efficiency in providing the transportation; a predicted elapsed total trip time; a predicted estimated time of arrival at the passenger pick-up location; a current location of the respective vehicles and a predicted estimated time of arrival at the item pick-up location; a predicted total fuel expenditure for the transportation.
  • a request for transportation includes a representation of the first location.
  • the request for transportation and request for an item may be a combined request.
  • some implementations provide for sending a bid to at least one of the determined vehicles, and receiving an acceptance of the bid by one of the vehicles, wherein causing a vehicle to be dispatched to an item pick-up location and to the first location includes sending dispatch information to a processor-based device present at the vehicle whose bid was accepted.
  • the requested item may be food, such as a prepared meal, meal kit, or groceries. Items requested by passengers may also include non-food retail items.
  • items may be provided by item vendors, which may or may not be operated by the same business entity as the operator of the system described herein. Item vendors may operate mobile or stationary facilities that may function as an item pick-up location.
  • the item pick-up location is different from the first and the second locations.
  • one or more vehicles are identified to provide the requested transportation and the requested item based at least in part on the determined route.
  • the route in response to a detected delay the route that the one of the identified vehicles to be dispatched will, at least initially, follow, the route is dynamically modified.
  • the route may be determined based on a variety of factors, including for example any or all of the following: a passenger pick-up location relative to a current location of the respective vehicle; both the passenger pick-up location relative to a current location of the respective vehicle and the item pick-up location relative to the current location of the respective vehicle; one or more current or predicted traffic conditions on the route; a predicted efficiency in providing the transportation; a predicted elapsed total trip time; a predicted estimated time of arrival at the passenger pick-up location; a predicted estimated time of arrival at the item pick-up location; a predicted total fuel expenditure for the transportation; a sequence of first arrival at the first location or the item pick-up location; and a sequence of arrival based on a desired condition of the requested item.
  • one of the vehicles may be an autonomous vehicle.
  • the autonomous vehicle may be dispatched by sending routing instructions to the vehicle which are employed by a control system of the car.
  • Techniques are described, for some embodiments, wherein multiple vehicles are coordinated to meet at a rendezvous location to transfer one or more items from one vehicle to another vehicle providing transportation of passengers requesting the items.
  • at least one request is received for transportation of one or more passengers from a first location to a second location and for one or more items to be made available to the one or more passengers during the requested transportation.
  • a plurality of vehicles is determined to satisfy a set of criteria, the set of criteria including a current proximity of the vehicles to a defined location.
  • a first one of the determined vehicles is caused to be dispatched to the first location to pick up the one or more passengers for transport to the second location via a first rendezvous location temporally between the first location and the second location on a route which the first one of the determined vehicles follows.
  • a second one of the determined vehicles is caused to be dispatched to at least a first item pick-up location to pick up at least a first one of the one or more requested items, and subsequently to the first rendezvous location to meet with the first one of the determined vehicles and transfer at least the first one of the requested items from the second one of the determined vehicles to the first one of the determined vehicles.
  • at least the first one of the one or more requested items is arranged to be available at the first item pick-up location within a defined time frame of a time associated with the transportation of the one or more passengers from the first location to the second location.
  • An implementation further provides: causing a third one of the determined vehicles to be dispatched to at least a second item pick-up location to pick up at least a second one of the one or more requested items, and subsequently to the first rendezvous location to meet with the first one and transfer at least the second one of the requested items from the third one of the determined vehicles to the first one of the determined vehicles; and in response to the request, arranging for at least the second one of the one or more requested items to be available at the second item pick-up location within a defined time frame of the time associated with the transportation of the one or more passengers from the first location to the second location.
  • a further implementation provides: causing a fourth one of the determined vehicles to be dispatched to at least a third item pick-up location to pick up at least a third one of the one or more requested items, and subsequently to the first rendezvous location to meet with the first one of the determined vehicles and transfer at least the third one of the requested items from the fourth one of the determined vehicles to the first one of the determined vehicles; and in response to the request, arranging for at least the third one of the one or more requested items to be available at the third item pick-up location within a defined time frame of the time associated with the transportation of the one or more passengers from the first location to the second location.
  • Another implementation provides: causing a fourth one of the determined vehicles to be dispatched subsequently to a second rendezvous location to meet with the first one of the determined vehicles and transfer at least the third one of the requested items from the fourth one of the determined vehicles to the first one of the determined vehicles, the second rendezvous location different from the first rendezvous location; and in response to the request, arranging for at least the third one of the one or more requested items to be available at the third item pick-up location within a defined time frame of the time associated with the transportation of the one or more passengers from the first location to the second location.
  • a further implementation provides: causing a third one of the determined vehicles to be dispatched to at least a second item pick-up location to pick up at least a second one of the one or more requested items, and subsequently to a second rendezvous location to meet with the first one of the determined vehicles and transfer at least the second one of the requested items from the third one of the determined vehicles to the first one of the determined vehicles, the second rendezvous location; different from the first rendezvous location and in response to the request, arranging for at least the second one of the one or more requested items to be available at the second item pick-up location within a defined time frame of the time associated with the transportation of the one or more passengers from the first location to the second location.
  • An implementation may further provide: causing a fourth one to be dispatched to at least a third item pick-up location to pick up at least a third one of the one or more requested items, and subsequently to the first rendezvous location to meet with the first one of the determined vehicles and transfer at least the third one of the requested items from the fourth one of the determined vehicles to the first one of the determined vehicles; and in response to the request, arranging for at least the third one of the one or more requested items to be available at the third item pick-up location within a defined time frame of the time associated with the transportation of the one or more passengers from the first location to the second location.
  • An implementation may also provide: causing a fourth one to be dispatched to at least a third item pick-up location to pick up at least a third one of the one or more requested items, and subsequently to the second rendezvous location to meet with the first one of the determined vehicles and transfer at least the third one of the requested items from the fourth one of the determined vehicles to the first one of the determined vehicles; and in response to the request, arranging for at least the third one of the one or more requested items to be available at the third item pick-up location within a defined time frame of the time associated with the transportation of the one or more passengers from the first location to the second location.
  • FIG. 1 is a schematic diagram of an environment in which a ride hailing and provisioning system may provide services in which a vehicle provides passenger transportation between locations in combination with provisioning one or more items (e.g ., cooked food, meal kits, groceries, retail items) requested by the passenger, according to at least one illustrated implementation.
  • a ride hailing and provisioning system may provide services in which a vehicle provides passenger transportation between locations in combination with provisioning one or more items (e.g ., cooked food, meal kits, groceries, retail items) requested by the passenger, according to at least one illustrated implementation.
  • FIG. 2 is a schematic diagram illustrating a ride hailing and provisioning system in greater detail, according to at least one illustrated implementation.
  • FIG. 3 illustrates a flow diagram of a method of operation in a ride hailing and provisioning system, according to one illustrated implementation.
  • FIG. 4 illustrates a flow diagram of a method of operation in a ride hailing and provisioning system for enabling vehicles to bid for a transportation requests, according to one illustrated implementation.
  • FIG. 5 is a flow diagram of a method of operation in a ride hailing and provisioning system, according to one illustrated implementation.
  • FIG. 6 is a flow diagram of a method of operation in a ride hailing and provisioning system, according to one illustrated implementation.
  • FIG. 7 is a flow diagram of a method of operation in a ride hailing and provisioning system, according to one illustrated implementation.
  • FIG. 8 is a flow diagram of a method of operation in a ride hailing and provisioning system, according to one illustrated implementation.
  • FIG. 9 is a flow diagram of a method of operation in a ride hailing and provisioning system, according to one illustrated implementation.
  • FIGS. 10A and 10B illustrate a flow diagram of a method of operation in a ride hailing and provisioning system in which multiple vehicles meet at a rendezvous location to transfer one or more vehicles from one vehicle to another.
  • the techniques described herein enable vehicles to provide passengers transportation in coordination with provisioning items desired by the passenger, such as by routing the vehicles to pick-up location or vehicle rendezvous locations.
  • the items may be prepared so as to be available at a desired time and location.
  • “food item” and“food product” refer to any item or product intended for human consumption.
  • One of ordinary skill in the culinary arts and food preparation will readily appreciate the broad applicability of the systems, methods, and apparatuses described herein across any number of prepared food items or products, including cooked and uncooked food items or products, and ingredients or components of food items and products.
  • robot or“robotic” may refer to any device, system, or combination of systems and devices that includes at least one appendage, typically with an end of arm tool or end effector, where the at least one appendage is selectively moveable to perform work or an operation useful in the preparation a food item or packaging of a food item or food product.
  • the robot may be autonomously controlled, for instance based at least in part on information from one or more sensors (e.g ., optical sensors used with machine-vision algorithms, position encoders, temperature sensors, moisture or humidity sensors).
  • one or more robots can be remotely controlled by a human operator.
  • one or more robots can be partially remotely controlled by a human operator and partially autonomously controlled.
  • robot or“robotic” may refer to any autonomous and/or semi-autonomous machine which is capable of carrying out defined physical action, for instance a machine with at least one jointed appendage that is movable with respect to an operational environment, or any autonomous and/or semi-autonomous vehicles that is movable with respect to an operational environment
  • the term“appliance” or“food preparation unit” refers to any device, system, or combination of systems and devices useful in preparing, cooking or heating a food product, the partial or complete preparation of one or more food products such as an oven, a burner, either gas or electric or inductive, a hot skillet surface or griddle, a deep fryer, a microwave oven, rice cooker, sous vide cooker, and/or toaster equipment related to cooled or chilled foods, such as may be used to prepare smoothies, frozen yogurt, ice cream, and beverages (e.g., fountain beverages).
  • the food preparation unit may be able to control more than temperature.
  • some food preparation units may control pressure and/or humidity.
  • some food preparation units may control airflow therein, thus able to operate in a convective cooking mode if desired, for instance to decrease cooking time, while other food preparation units function to chop, wash, slice, grind, etc.
  • FIG. 1 shows an environment 100 in which ride hailing and provisioning operations are performed and a ride hailing and provisioning system 102 may operate to dispatch vehicles 104a, 104b, 104c, 104d (four shown, collectively or individually 104) to perform the ride hailing and provisioning, according to at least one illustrated implementation.
  • a ride hailing and provisioning system 102 may operate to dispatch vehicles 104a, 104b, 104c, 104d (four shown, collectively or individually 104) to perform the ride hailing and provisioning, according to at least one illustrated implementation.
  • a first vehicle (Vi) 104a a second vehicle (V 2 ) 104b
  • V 3 vehicle
  • V 4 fourth vehicle
  • the environment 100 may comprise a geographic area 106, for example a neighborhood, town, city, county, province, etc.
  • the geographic area 106 includes specifically identifiable locations illustrated for example as locations 108a-h (collectively or individually 108). Each location may be uniquely identifiable by an address and/or geographic coordinates such that the quantity of possible locations may be many or infinite.
  • any of the specifically identifiable locations 108 may serve as a pick-up location at which passengers 114a, 114b may be picked up and/or as a drop-off location at which passengers may be dropped off.
  • Two exemplary passenger pick- up locations are illustrated in FIG. 1, a primary passenger pick-up location (PPTh)
  • FIG. 1 Two exemplary passenger drop-off locations are illustrated in FIG. 1, a primary passenger drop-off location (PDO t ) l08c and an optional passenger drop-off location (PD0 2 ) l08d, are illustrated, although most environments 100 will include a large number of passenger drop-off locations, which will likely change over time.
  • PDO t primary passenger drop-off location
  • PD0 2 optional passenger drop-off location
  • the environment 100 may include one or more item pick-up locations (also referred to as supply locations) from which items requested by passengers (e.g., future passengers, current passengers) can be picked up. Items requested by passengers may be provided by item vendors, which may or may not be operated by same business entity as the ride hailing and provisioning system 102.
  • FIG. 1 illustrates two exemplary item pick-up locations, a primary item pick-up location (IPUi) 108e and an optional item pick-up location (IPU 2 ) 108f, although it will be appreciated that many pick-up locations are possible in most environments 100, and such locations may remain fixed over time or change over time.
  • the item pick-up locations 108e, 108f may take any of a variety of forms.
  • pick-up locations may be locations of item vendors, and accordingly item pick-up locations may take the form of a fixed or mobile facility such as a commissary, kitchen, restaurant, vehicle, or food truck from which meals (e.g., hot meals, cold meals, perishable foods) may be picked up.
  • one or more of the item pick-up locations and item vendors may take the form of a warehouse, fulfilment center or retail establishment.
  • One or more of the item pick-up locations may advantageously function as an item cache, for example a truck or kiosk in which items are stored at one or more locations in the geographic area that may be more proximate to passenger pick-up or drop-off locations.
  • the environment 100 may include one or more item rendezvous locations at which two or more vehicles 104 may meet to, for example transfer items picked up by one or more vehicles from respective item pick-up locations 108e, 108f to a vehicle with is transporting one or more passengers to one or more passenger drop-off locations 108c, 108d from locations from one or more passenger drop-off locations 108c, 108d from locations.
  • FIG. 1 illustrates two exemplary rendezvous locations, a first rendezvous location
  • the rendezvous locations can be any place where two vehicles can meet, and it will be appreciated that many rendezvous locations may be possible in most environments 100, and such rendezvous locations fixed over time or change over time. Such locations may take any one or more of a variety of forms, for example, the item pick-up locations or rendezvous locations may be at a parking lot, street, service area or refueling station.
  • more than one vehicle 104 may be dispatched to a respective item pick-up location 108e, 108f, then routed to one or more destinations (e.g ., rendezvous locations 108g, 108h) along a route 110 of the first vehicle 104, for example a route of the first vehicle in transporting one or more passengers between a passenger pick-up location 108a, 108b and a passenger drop- off location 108c, 108d.
  • destinations e.g ., rendezvous locations 108g, 108h
  • Such may significantly enhance the ability to provide a passenger with a wide range of items without adversely impacting wait time or transit time for the passenger(s).
  • the environment 100 may include one, more, and typically a plurality of vehicles 104 that traverse the environment 100 along a number of transit paths between locations 108, for instance roads, streets, alleys, sidewalks, or paths, although paths, for instance non-delineated paths (e.g., air, water) may additionally or alternatively be employed.
  • transit paths for instance roads, streets, alleys, sidewalks, or paths, although paths, for instance non-delineated paths (e.g., air, water) may additionally or alternatively be employed.
  • Three exemplary transit paths, a first transit path 1 10a, a second transit path 110b, and a third transit path 110c, are illustrated in FIG. 1 , although most environments 100 may include a large number of transit paths, which may remain fixed over time or change over time.
  • a vehicle 104c when traveling along the first transit path 1 10a, a vehicle 104c first goes to the passenger pick-up location 108a and picks up a passenger 114a. The vehicle 104c then travels to a first item pick-up location 108e and picks up an item 1 16a requested by the passenger 1 14a. The vehicle 104c then travels to the passenger drop-off location 108c, delivering the passenger 1 14a to their desired destination. The passenger 1 l4a may enjoy or consume or use the item 1 l6a during transit, or may wait until they arrive at the desired destination.
  • a vehicle l04a, l04b When traveling along the second transit path 110b or a third transit path 1 lOc, a vehicle l04a, l04b first goes to the first item pick-up location 108e and picks up an item 116a requested by the passenger 1 14a. The vehicle 104a, 104b then travels to a first passenger pick-up location 108a and picks up a passenger 1 14a, who may immediately enjoy or consume or use the item 116a. In an implementation, the vehicle 104a, 104b then may travel to a second passenger pick- up location 108b and picks up a second passenger 1 14b.
  • the vehicle 104a, 104b then may travel to a second item pick-up location 108b and picks up a second item (not shown), perhaps requested by the second passenger 1 14b.
  • the vehicle 104a, 104b then may travel to an initial passenger drop-off location 108d, delivering one of the passengers 1 14a, 1 14b to their desired destination.
  • the vehicle 104a, 104b then travels to the final passenger drop-off location 108c, delivering the remaining passenger(s) 114a, 114b to their desired destination.
  • the passengers 114a, 1 14b may enjoy or consume the item 1 16a during transit, or may wait until they arrive at the desired destination.
  • the system 102 directs multiple vehicles 104 to meet so that an item carried by one vehicle can be made available to a passenger of another vehicle. For example, a first vehicle may be dispatched to a passenger pick- up location, while a second vehicle is dispatched to an item pick-up location, then both vehicles are routed to a shared intermediate rendezvous location at which location one or more items picked up by the second vehicle may be transferred to the first vehicle.
  • more than one vehicle 104 can be dispatched to respective ones of a plurality of item pick-up locations 108e, 108f, then routed to one or more destinations (e.g.
  • rendezvous locations 108g, 108h) along a route of the first vehicle 104 for example a route of the first vehicle 104 in transporting one or more passengers 114 between passenger pick-up location(s) l08a, l08b and passenger drop-off location(s) l08c, l08d.
  • Such may significantly enhance the ability to provide a passenger with a wide range of items without adversely impacting wait time or transit time for the passenger(s).
  • the vehicles 104 can take a variety of forms, and may be autonomous typically driving independently without requiring human driver intervention, semi- autonomous operating partially independently and employing some human driver intervention, or may be manually fully dependent on human driver input.
  • One or more vehicles 104 can be an autonomous drone or a remotely human-controlled drone.
  • the vehicles 104 may be land-traveling, air-traveling, or water-traveling, or any combination thereof.
  • the vehicles 104 may have a passenger compartment to carry one or more passengers.
  • One or more of the vehicles 104 may include one or more storage units sized to securely store one or more items requested by a passenger.
  • a vehicle 104 may include one or more lockers, cubicles, or a temperature-controlled storage compartment.
  • One or more of the vehicles 104 may include one or more food preparation units operable to heat or cool one or more items requested by a passenger. The food preparation units may partially or completely prepare the food items, either while en route to a passenger pick-up location or en route to the passenger drop-off location.
  • the vehicle 104 may include one or more lockers for securely containing items.
  • the locker may, in some implementation, have a lockable door that can be selectively unlocked to provide access.
  • One or more compartments in the locker may be heated or cooled.
  • one or more of the vehicles 104 may be equipped for both preparation of food and accommodating riding passengers.
  • the vehicle may have a passenger compartment that is physically separate from a food preparation compartment containing one or more food preparation units.
  • the passenger compartment may include a kiosk with a user interface that allows passengers to order or request items, for example at a start of a trip or even during a trip. If a passenger orders a prepared item where the time to finish preparation or finish cooking exceeds the duration of the trip, the system may apply an extra“wait fee” charge as the vehicle waits with the passenger for completion of the food preparation.
  • a processor enabled device or component may be used to implement a temperature control schedule to be used to control the temperature state within one or more of the compartments in the locker.
  • Such temperature states may specify, for example, that the heater heat the compartment to a cooking state to cook a food item, and then transition to a warming state to keep the cooked food item warm.
  • the temperature control schedule may specify that the compartment be kept in a refrigerated state by the cooler for a first time period, and then specify that the compartment be kept in a cooking state by the heater for a second time period in order to completely cook the food item.
  • the system 102 may detect a change in an estimated arrival time of the vehicle to the pick-up location and send updated instructions to the item vendor as a result. For example, the system 102 may monitor traffic conditions on the route determined and based thereon detect that an estimated time of arrival of a passenger vehicle to arrive at an item pick-up location may have changed, e.g., delayed or made earlier. Further, the temperature control schedule may be based at least in part on an estimated pick-up time at which an end user will be arriving to pick-up the food item being cooked.
  • the temperature control schedule may be set to minimize the amount of time that elapses after the food item is completely cooked and the expected time at which the end user will arrive to retrieve the item.
  • the temperature control schedule may be modified based upon an updated expected arrival and pick-up time for the end user.
  • the temperature control schedule may be used to transition the compartment between one or more of the refrigerated state, the cooking state, and the warming state.
  • the environment 100 may include one or more communications systems, for instance one or more wireless cellular communications networks, represented in FIG. 1 as base stations 1 l2a, 112b, 1 l2c.
  • the communications systems may take any of a large variety of forms that provide wireless communications, wired communications, optical communications via optical fiber, or hybrids of the same, and the type of communications systems should not be limiting.
  • the ride hailing and provisioning system 102 may be physically present in the environment 100 in which the ride hailing and provisioning services are rendered, may be located remotely from the environment 100, or may be partially located in the environment 100 and partially located remotely therefrom.
  • the vehicles 104a, 104b, 104c, 104d are respectively equipped with a processor-based on-board device 178a, 178b, 178c, 178d, which can communicate with the system 102 via the one or more network via base stations 1 12a-c in FIG. 1.
  • the on-board device 178a-d may receive bids for transportation or item provisioning services from the system 102 and enable acceptance of a bid by a driver or other person responsible for the vehicle.
  • the on-board device 178a-d functions to receive dispatch information sent by the system 102, which may include routing
  • the vehicles 104a, 104b serve as item vendors and are capable of providing an item requested by a passenger. Additionally, in some implementations the on-board device can receive instructions for preparing an item to be available to a passenger at a particular time and place. For example, if the vehicle 104a, 104b is equipped to provide food-preparation functionality, the on- board device 178a, 178b may receive a food order, and in some embodiments, the on-board device 178a, 178b may further receive instructions make food items available, and in response, to cause food items of the food order to be prepared and available for pick-up at a designated time and place.
  • At least one of the passengers 1 l4a, 1 l4b may have a processor-enabled device, as explained in greater detail below, such as user device 115 a, 1 15b which is capable of communicating with the ride hailing and provisioning system 102 via a network represented illustrated in FIG. 1 as base stations 1 l2a-c.
  • the user device 1 l5a, 1 15b may include an application by which the passenger may submit requests to the system, such as requests for transportation and requests for items.
  • one or more passengers 1 l4a may request a pick-up at a first location (e.g., passenger pick-up location l08a), for transit to a second location (e.g, passenger drop-off location l08c).
  • the ride hailing and provisioning system 102 may use the first location (e.g, passenger pick-up location l08a) to identify one or more vehicles 104 that can provide the requested services. For example, the ride hailing and provisioning system 102 may determine which vehicle or vehicles 104 is or are available based on various criteria.
  • Criteria may include whether a vehicle 104 is currently providing services, an estimate time until the vehicle 104 will be available to service a new passenger 1 l4a, a proximity of a vehicle 104 to the specified passenger pick-up location 108a, 108b, a proximity of the vehicle 104 to an item pick-up location l08e, l08f at which the specified item 116a is currently available or will be available, and/or various representations of efficiency as described elsewhere herein.
  • the ride hailing and provisioning system 102 may, for example, select a particular item pick-up location for a given trip based on any one or more of a variety of factors.
  • the ride hailing and provisioning system 102 may, for example, select a particular item pick-up location for a given trip based on one or more of: a geographical or straight-line distance, actual distance over a travel route, and/or estimated travel time to the respective item pick-up locations.
  • the ride hailing and provisioning system 102 may, for example, select a particular item pick-up location for a given trip based on any one or more of: a respective supply or availability of a requested item or a respective supply or availability of a portion of or an ingredient used to make a requested item at two or more item pick-up locations. Additionally, or alternatively, the ride hailing and provisioning system 102 may, for example, select a particular item pick-up location for a given trip based on any one or more of: a respective production scheduling at each of two or more item pick-up locations, a respective current order velocity at two or more item pick-up locations, and/or a respective predicted order velocity at two or more item pick-up locations.
  • the ride hailing and provisioning system 102 can advantageously implement load balancing taking into account item or supply availability, production capability, current or predicted demand for production for two or more item pick-up locations. Such can be implemented in real time or almost real time, employing incoming orders or requests, historical orders or requests, current inventories, scheduling information, as well as information collected by various sensors (e.g ., cameras, rotary encoders, scales or load cells) that sense actual throughput of an assembly line or warehouse.
  • sensors e.g ., cameras, rotary encoders, scales or load cells
  • the ride hailing and provisioning system 102 may have information representing the passenger drop-off location(s) 108c, 108d.
  • the ride hailing and provisioning system 102 may or may not use the passenger drop-off location(s) 108c, 108d in determining which vehicles 104 are available to service a particular request, for example based on a known or estimate range of the vehicle 104, a fitness of the vehicle for a given terrain encountered on a route, etc.
  • the ride hailing and provisioning system 102 may select a single vehicle 104 and dispatch the selected vehicle 104 to provide the services, for example sending a notification without a solicitation (e.g., sending a command to an autonomous vehicle or driver).
  • the ride hailing and provisioning system 102 may select two or more vehicles 104, and send solicitations or bids to the selected vehicles 104 or drivers for a particular request. The solicitations or bids may provide all or only a portion of the information.
  • the solicitations or bids may specify only the passenger pick-up location(s) 108a, 108b, may specify the passenger pick-up location(s) 108a, 108b and either the item(s) 116a to be provided or the item pick-up location(s) 108e, 108f, or may specify the passenger pick-up location(s) 108a, 108b, either the item(s) 1 16a to be provided or the item pick-up location(s) 108e, 108f, and the passenger drop-off location(s) 108c, 108d.
  • the passenger drop-off locations 108c, 108d may at least initially be kept from the vehicles 104 or drivers of those vehicles 104.
  • the vehicles 104 or drivers may have the option of selecting a solicitation or bid.
  • the solicitations or bids may include all of the information or may at least initially omit certain pieces of information (e.g., passenger drop-off location(s) 108c, 108d, item pick-up location(s)) 108e, 108f.
  • the solicitations or bids may be presented via a graphical user interface, with a user selectable icon selectable by the driver to accept the solicitation or bid.
  • provisioning system 102 may prevent others from accepting the same solicitation or bid.
  • the ride hailing and provisioning system 102 may remove the given solicitation or bid from an inventory of solicitations or bids, either with or without notification of the removal to the drivers.
  • the ride hailing and provisioning system 102 may provide previously omitted information to the vehicle 104 or driver, for example one or more passenger drop-off locations l08c, l08d.
  • the ride hailing and provisioning system 102 may arrange to have one or more items requested by passengers made available at one or more item pick-up locations l08e, l08f.
  • the ride hailing and provisioning system 102 may send instructions to an item vendor to have the item available for pick-up at the pick-up location at a time associated with the with arrival of the vehicle at the pick-up location, such as a time window around the estimated arrival time of the vehicle at the pick-up location.
  • the instructions are received by a processor-enabled device l78e (FIG. 2) at the item vendor facility 280 (FIG. 2), causing the processor-enabled device to initiate food preparation operations.
  • the instructions from the system may include, or result in, a message or command (e.g ., command to a robot, robotic picker) to retrieve one or more items from storage (e.g., a storage bin, cubicle, drawer, rack, refrigerator) at an item vendor facility, which may be housed in a stationary building or in a vehicle serving as a mobile vendor facility.
  • a message or command e.g ., command to a robot, robotic picker
  • storage e.g., a storage bin, cubicle, drawer, rack, refrigerator
  • an item vendor facility which may be housed in a stationary building or in a vehicle serving as a mobile vendor facility.
  • the ride hailing and provisioning system 102 may send instructions that include, or result in, a message or command (e.g, command to a robot, robotic picker) to assemble two or more retrieved items 116a into a combination, for instance a set of edible ingredients into one or more items of food or a beverage (e.g., martini)
  • the ride hailing and provisioning system 102 may send instructions to the item vendor which include, or result in, a message or command (e.g, command to a robot, robotic picker) to cook or otherwise prepare (e.g, blend a smooth, brew coffee) the retrieved one or more items.
  • the ride hailing and provisioning system 102 may send instructions to the item vendor which include, or result in, a message or command (e.g, command to a robot, robotic picker) to assemble two or more retrieved items into a kit or carton or container or packaging. Also, for example, the ride hailing and provisioning system 102 may send instructions to the item vendor which include, or result in, a message or command (e.g ., command to a robot, robotic picker) to cause the requested items to be present for easy pick-up, e.g., at a window.
  • a message or command e.g., command to a robot, robotic picker
  • the passenger pick-up location information, item pick-up location information, and passenger drop-off location information may be used by an on- board system on the vehicle 104 to either generate routing information on-board the vehicle or to request and receive routing information from a source off-board the vehicle 104, for instance a third party service traffic and navigation service (e.g., Google® maps, Waze®, Garmin®, Apple® maps).
  • a third party service traffic and navigation service e.g., Google® maps, Waze®, Garmin®, Apple® maps.
  • the ride hailing and provisioning system 102 may provide routing information to the vehicle 104 or the driver.
  • the ride hailing and provisioning system 102 may automatically charge the passenger(s), for instance at the termination of a ride. Where a driver is involved, the ride hailing and provisioning system 102 may automatically credit the driver or a financial account associated with the driver, for instance at the termination of a ride. In some implementations, the ride hailing and provisioning system 102 may automatically credit an owner of the vehicle 104 or a financial account associated with the owner of the vehicle 104 even where the owner of the vehicle 104 is not the driver or where the vehicle 104 is an autonomous vehicle, for instance at the termination of a ride.
  • the various instances of communications or portion thereof described above can take the form of wireless messages delivered via conventional wireless communications network (e.g.. cellular communications network) 112.
  • conventional wireless communications network e.g.. cellular communications network 112.
  • FIG. 2 and the following discussion provide a brief, general description of a ride hailing and provisioning system 102. While described as a single system, one of ordinary skill in the art would readily appreciate that some or all of the functionality of the ride hailing and provisioning system 102 may be performed using one or more additional processor-based devices or computing devices.
  • the ride hailing and provisioning system 102 may cover all of a geographic region, e.g., a nation, a state, a country, a province, a city. Additionally or alternatively, multiple instances of ride hailing and provisioning systems 102 may be implemented or instantiated, which may service respective geographic regions, respective modes of transport, or which overlap geographic regions and/or overlap modes of transport.
  • embodiments will be described in the general context of computer-executable instructions or logic, such as program application modules, objects, or macros being executed by a computer.
  • Those skilled in the relevant art will appreciate that the illustrated implementations or embodiments as well as other implementations or embodiments can be practiced with other computer system configurations, including handheld devices for instance Web enabled cellular phones or PDAs, multiprocessor systems, microprocessor-based or programmable consumer electronics, personal computers (“PCs”), network PCs, minicomputers, mainframe computers, and the like.
  • the implementations or embodiments can be practiced in distributed computing environments where tasks or modules are performed by remote processing devices, which are linked through a communications network.
  • program modules may be stored in both local and remote memory storage devices and executed using one or more local or remote processors, microprocessors, digital signal processors, controllers, or combinations thereof.
  • the ride hailing and provisioning system 102 may take the form of any current or future developed computing system capable of executing one or more instruction sets.
  • the ride hailing and provisioning system 102 include one or more processors (/. e. , circuitry) 206, one or more nontransitory processor-readable medium (e.g., memory) 208 and one or more communications channels (e.g., buses) 210 that communicably couples various system components including the more nontransitory processor-readable medium(s) 208 to the processor(s) 206.
  • the ride hailing and provisioning system 102 will at times be referred to in the singular herein, but this is not intended to limit the embodiments to a single system, since in certain embodiments, there will be more than one system or other networked computing device involved.
  • Non-limiting examples of commercially available systems include, but are not limited to, an Atom, Pentium, or 80x86 architecture microprocessor as offered by Intel Corporation, a Snapdragon processor as offered by Qualcomm, Inc., a PowerPC microprocessor as offered by IBM, a Sparc microprocessor as offered by Sun Microsystems, Inc., a PA-RISC series
  • microprocessor as offered by Hewlett-Packard Company, an A6 or A8 series processor as offered by Apple Inc., or a 68xxx series microprocessor as offered by Motorola Corporation.
  • the processor(s) 206 may be any logic processing unit, such as one or more central processing units (CPUs), microprocessors, digital signal processors (DSPs), graphics processing units (GPUs), application- specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), etc. Unless described otherwise, the construction and operation of the various blocks shown in FIG. 2 are of
  • the communications channel(s) 210 can employ any known bus structures or architectures, including a memory bus with memory controller, a peripheral bus, and a local bus.
  • the more nontransitory processor-readable medium 208 includes nonvolatile memory, e.g, read-only memory (“ROM”) 212 and volatile memory, e.g ., random access memory (“RAM”) 214.
  • ROM read-only memory
  • RAM random access memory
  • a basic input/output system (“BIOS”) 216 which can form part of the ROM 212, contains basic routines that help transfer information between elements within the system 102, such as during start-up. Some implementations may employ separate buses for data, instructions and power.
  • the ride hailing and provisioning system 102 also includes nontransitory processor-readable media in the form of one or more internal nontransitory storage systems 218.
  • Such internal storage systems 218 may include, but are not limited to, any current or future developed persistent storage device 220.
  • persistent storage devices 220 may include, without limitation, magnetic storage devices such as hard disc drives, electromagnetic storage devices such as memristors, molecular storage devices, quantum storage devices, electrostatic storage devices such as solid state drives, and the like.
  • the ride hailing and provisioning system 102 may also include
  • removable nontransitory processor-readable media in the form of one or more optional removable nontransitory storage systems 222.
  • Such removable nontransitory storage systems 222 may include, but are not limited to, any current or future developed removable persistent storage device 226.
  • Such removable persistent storage devices 226 may include, without limitation, magnetic storage devices, electromagnetic storage devices such as memristors, molecular storage devices, quantum storage devices, and electrostatic storage devices such as secure digital (“SD”) drives, USB drives, memory sticks, or the like.
  • SD secure digital
  • the one or more internal nontransitory storage systems 218 and the one or more optional removable nontransitory storage systems 222 communicate with the processor(s) 206 via the communications channel(s) (e.g., system bus) 210.
  • the one or more internal nontransitory storage systems 218 and the one or more optional removable nontransitory storage systems 222 may include interfaces or device controllers (not shown) communicably coupled between nontransitory storage system and the system bus 210, as is known by those skilled in the relevant art.
  • Program modules can be stored in the nontransitory processor-readable medium (e.g ., memory) 208, such as an operating system 230, one or more application programs 232, other programs or modules 234, drivers 236 and program data 238.
  • the application programs 232 may, for example, include one or more machine executable instruction sets that, when executed, cause at least one processor (i. e ., circuitry) to implement various aspects of ride hailing and
  • a first set of machine executable instructions (vehicle identification) 232a may cause one or more processors to identify one or more suitable vehicles to provide the requested services in response to requests for such services received via one or more networks or communications channels.
  • vehicle identification can be based various parameters or criteria, for example availability of the vehicle, proximity of the vehicle to passenger pick-up location(s), proximity of the vehicle to item pick-up location(s), suitability of the vehicle to a task or road conditions, various indicators of efficiency, etc.
  • (bidding) 232b may optionally cause the processor(s) to transmit solicitations or bids to the identified vehicles where the vehicle is autonomous vehicle or to drivers of those vehicles where the vehicle is not an autonomous vehicle.
  • the second set of machine executable instructions (bidding) 232b may cause the processor(s) to determine when a solicitation or bid is accepted and prevent other vehicles from accepting the solicitation or bid.
  • the second set of machine executable instructions (bidding) 232b may prevent other vehicles or drivers from accepting a solicitation or bid after another vehicle or drive has accepted the solicitation or bid.
  • a third set of machine executable instructions (dispatch) 232c may cause the processor(s) to provide text, voice, and/or graphical dispatch instructions to dispatch the vehicle to one or more passenger pick-up locations, one or more item pick-up locations, one or more rendezvous locations in a desired order (e.g, pick-up items before picking up passengers).
  • the dispatch instructions may include information specifying the locations and the order in which the locations should be visited, and optionally times or approximate times at which the vehicle should arrive at the specified locations. Locations may be specified using longitude and latitude, global positioning coordinates, street addresses, etc.
  • the dispatch instruction typically will not include routing instructions, but will rather allow the vehicle or drive to receive routing instructions (e.g., tum-by-tum navigation instructions) in real time, for instance via a third party mapping or navigation service (e.g, Google® Maps, Waze®, Garmin®, Apple Maps®), to navigate or route the vehicle between locations.
  • routing instructions e.g., tum-by-tum navigation instructions
  • a third party mapping or navigation service e.g, Google® Maps, Waze®, Garmin®, Apple Maps®
  • some implementations can provide navigation or routing instructions along with the dispatch instructions.
  • the third set of machine executable instructions (dispatch) 232c may also cause the processor(s) to in turn cause one or more food preparation units or appliances (e.g, cooking appliance 272a, cooling appliance 272b (collectively 272), lockers 274 or robots 276 to take a defined action with an item requested by the passenger(s), for example, cooling, heating, cooking, securing, releasing, assembling, packaging, the item(s), taking into account an estimated time at which the passenger(s) may wish to consume the item where the item is a food or beverage.
  • the third set of machine executable instructions (dispatch) 232c may determine instructions for taking action with or performing actions on the requested items.
  • the determined instructions may, for example, be provided to one or more processor-based devices such as an on-board device 178a, 178b, which is on-board each of the respective vehicles 104a, 104b.
  • the on-board devices 178a, 178b may be communicatively coupled to control operation of the on- board appliances 272, lockers 274, or robots 276.
  • Executable instructions can be determined using any number of inputs including at least, the food type in a particular appliance 272 and the available time before reaching a desired destination (e.g ., passenger pick-up location, passenger drop-off location, rendezvous location).
  • Such a set of executable instructions may be executed in whole or in part by one or more controllers of the appliance(s) 272, lockers 274, and/or robots 276 installed in some or all of the vehicles 104.
  • Application programs 232 may, for example, be stored as one or more executable instructions in any form of nontransitory storage media.
  • (Ordering) 232d may cause the processor(s) to order or arrange for the requested items to be made available at one or more item pick-up locations within specified time frames.
  • the fourth set of machine executable instructions (Ordering) 232d may facilitate the submission of an order for an item via an order processing system, the order to be fulfilled by an item vendor facility 280 as illustrated in FIG. 2, such as a commissary, restaurant, kitchen, supermarket, grocery store, fulfillment center, or food truck.
  • the item vendor facility 280 includes a processor-enabled device l78e in communication with the network to receive orders and instructions from the system 102 or from the ordering system via the network (base stations 1 l2a-c).
  • the fourth set of machine executable instructions (Ordering) 232d may select a pick-up location that is on or close to a route of a vehicle that transports the passengers, or a pick-up location that is close to a rendezvous location that is on or close to a route of a vehicle that transports the passengers, typically minimizing a travel time or distance to be traveled by a vehicle that picks up the item.
  • the nontransitory processor-readable medium (e.g., memory) 208 may also include other programs/modules 234, such as including logic for calibrating and/or otherwise training various aspects of the system 102.
  • the other programs/modules 234 may additionally include various other logic for performing various other operations and/or tasks.
  • the nontransitory processor-readable medium (e.g, memory) 208 may also include any number of communications programs 240 to permit the ride hailing and provisioning system 102 to access and exchange data with other systems or components, such as devices installed in each of the vehicles 104.
  • nontransitory processor- readable medium e.g, memory
  • all or a portion of the operating system 230, application programs 232, other programs/modules 234, drivers 236, program data 238 and communications 240 can be stored on the persistent storage device 220 of the one or more internal nontransitory storage systems 218 or the removable persistent storage device 226 of the one or more optional removable nontransitory storage systems 222.
  • a user can enter requests and interact with the ride hailing and provisioning system 102 using one or more input/output (I/O) devices or user devices 242, 1 l5a, 1 l5b.
  • I/O devices 242 may include any current or future developed input device capable of transforming a user action or a received input signal to a digital input.
  • Example input devices include, but are not limited to, a touchscreen, a physical or virtual keyboard, a microphone, a pointing device, or the like, typically associated with a smartphone or other device owned or operated by a user.
  • These and other input devices are connected to the processor(s) 206 through an interface 246 such as a universal serial bus (“USB”) interface
  • a display 270 or similar output device is communicably coupled to the system bus 210 via a video interface 250, such as a video adapter or graphical processing unit (“GPU”).
  • a video interface 250 such as a video adapter or graphical processing unit (“GPU”).
  • the ride hailing and provisioning system 102 operates in an environment using one or more of the network interfaces 256 to optionally communicably couple to one or more remote computers, servers, display devices 270 and/or other devices via one or more communications channels, for example, one or more networks such as the network (base stations 1 l2a-c). These logical connections may facilitate any known method of permitting computers to communicate, such as through one or more LANs and/or WANs.
  • Such networking environments are well known in wired and wireless enterprise-wide computer networks, intranets, extranets, and the Internet.
  • a user can enter requests and interact with the ride hailing and provisioning system 102 using one or more input/output (I/O) devices, such as user device 1 l5a, 1 l5b, which may a smartphone, tablet computer, desktop computer, laptop computer, wearable device such as a smartwatch, or another computing device.
  • the input/output (I/O) devices may be communicatively coupled to the ride hailing and provisioning system 102 via one or more communications networks, for instance one or more cellular communications networks.
  • the ride hailing and provisioning system 102 may operate as a server, receiving requests for ride hailing and provisioning, identifying suitable vehicles for servicing those requests, and subsequently dispatching vehicles to service those requests.
  • a database interface 252 which is communicably coupled to the system bus 210, may be used for establishing communications with a database 260 stored on one or more computer-readable media.
  • a database 260 may include a repository for storing information regarding food item cooking conditions as a function of time, etc.
  • FIG 3 shows a high-level method 300 of operation in a processor-based system to provide combined ride hailing and item pick-up transportation services, according to at least one illustrated implementation.
  • the method 300 may be executed by one or more components of the processor-based ride hailing and provisioning system 102 (FIGS. 1 and 2).
  • the method 300 starts at operation 302 from a call, invocation from a calling routine, detection of a request, or powering up of at least one component of the processor-based system 102
  • at least one component of the system 102 receives a request for transportation of one or more passengers from a first location (e.g ., passenger pick-up location) to a second location (e.g, passenger drop-off location) and for one or more items to be made available to the one or more passenger during the requested transportation.
  • a passenger may request transportation from an airport to an office or hotel, and may request a specific snack or meal (e.g, cooked meal) or beverage (e.g, prepared cocktail) to be available on the vehicle during the trip.
  • a specific snack or meal e.g, cooked meal
  • beverage e.g, prepared cocktail
  • a passenger may request transportation from an office to a home, and may request a specific meal kit (e.g, defined set of edible ingredients to prepare a specific meal packaged one a per meal basis), cooked meal, groceries (e.g, edible items, which typically are not packaged on a per meal basis) or retail items be available on the vehicle during the trip.
  • a specific meal kit e.g, defined set of edible ingredients to prepare a specific meal packaged one a per meal basis
  • cooked meal e.g, cooked meal, groceries (e.g, edible items, which typically are not packaged on a per meal basis) or retail items be available on the vehicle during the trip.
  • the request may be received, for example, from a processor-enabled device, such as user device 1 l5a, 115b (FIGS. 1 and 2).
  • the passenger(s) may place the request using an application executing on the user device.
  • the application may be a dedicated application for the service, or may be a browser running a Web-based interface.
  • the request may be received via a processor-based system 102, for example a backend system or server.
  • At 310 in response to the at least one request, at least one component of the processor-based system 102 determines a number of vehicles that satisfy a set of criteria.
  • the set of criteria may include current or predicted availability of a vehicle, a current proximity of the vehicles to a defined location (e.g, passenger pick-up location, item pick-up location).
  • the at least one component of the processor-based system 102 e.g, back end system or server
  • the system 102 can access data from the on-board devices l78a-d indicating locations of the respective vehicles l04a-d.
  • the at least one component of the processor-based system 102 may receive information in real or near-real time that represents a current location of the vehicles.
  • the data may be pushed to the system 102, and in other embodiments the data may be received in response to requests for the data.
  • Proximity may be defined or represented in various forms, for example geographic proximity in terms of actual travel distance or alternatively straight line or“as the crow flies” distance. Also, for example, the proximity may be defined or represented in terms of actual or estimate travel time, which may take into account current and/or predicted traffic conditions on one or more available routes for the vehicle. Also, for example, the proximity may be defined or represented in terms of a predicted efficiency in providing the transportation. Predicted efficiency in providing the transportation may be represented as any one or more of a predicted elapsed total trip time, a predicted estimated time of arrival at the passenger pick-up location, a predicted estimated time of arrival at the item pick-up location, a predicted total fuel expenditure for the transportation.
  • Any of the above may be assessed based on routes that only include passenger pick-up and drop-off locations, or that also include item pick-up locations, and optionally vehicle rendezvous locations ( /. e. , locations at which two vehicles meet up, for example to transfer items picked up by one vehicle to another vehicle which carries the passenger(s)).
  • vehicle rendezvous locations /. e. , locations at which two vehicles meet up, for example to transfer items picked up by one vehicle to another vehicle which carries the passenger(s)).
  • the processor-based system 102 may employ one or more constraint satisfaction problem solving techniques and/or optimization problem (e.g ., traveling salesmen problems) solving techniques to generate solutions or potential solutions which solve one or more constraints.
  • Constraints may include an actual current availability of the vehicle or a predicted or likely availability of the vehicle within a time frame. The predicted or likely availability of the vehicle may be based on an estimated time of arrival of the vehicle at a destination for a ride that the vehicle is currently servicing, and may take into account actual or real time traffic conditions on a route that the vehicle is traveling to the destination.
  • the availability constraint may be a constraint that must be satisfied (e.g, the state available must be true for the vehicle to avoid being omitted from the resulting set of determined vehicles), whereas one or more other constraints may be satisfied within a range, optionally satisfied, or alternatively optimized rather than satisfied.
  • other constraints may be proximity to a location (e.g, passenger pick-up location, item pick-up location), whether represented in terms of actual travel distance, straight line distance, estimated travel time or estimated time of arrival at the passenger pick-up location.
  • Other constraints may include estimated travel time to travel to or arrive at a rendezvous location.
  • the proximity constraint may not need to be satisfied, as opposed to being optimized.
  • the overall problem may be treated as an
  • one or more components of the system 102 determine one or more routes to enable transportation of the passenger(s) and pickup of the item.
  • the route includes at least the first location (e.g., a passenger pick-up location) and a second location (passenger drop off location), and a pick-up location for the requested item.
  • Various implementations may determine the route based on traffic flows, estimated travel time, total distance.
  • dispatch information is sent, via a wireless network, to an on-board device of the vehicle selected to provide transportation.
  • the dispatch information includes pertinent information such as the determined route, coordinates or addresses of the pick-up and drop-off locations, expected or estimated arrival times, identification or other information regarding the one or more passengers, identification or other information regarding the at least one item to be picked up, estimated trip time, advisories, and/or item handling information (e.g., cooking directions, cooling requirements) for one or more of the items.
  • the dispatch information serves to instruct the vehicle to pick up the requested item from the item pick-up location, pick up the one or more passengers from the first location, and to transport the passengers to the second location.
  • the instructions may be employed by a navigation system or otherwise presented visually and/or audibly by the on-board device to a person operating the vehicle, or if the vehicle is autonomous, the on-board device can serve to operate the vehicle accordingly such as by sharing the information with a separate vehicle control system.
  • the route information may be determined so as to specify whether the vehicle should travel to the item pick-up location to pick up the item before or after the vehicle travels to the first location to pick up the passengers.
  • the dispatch information directs the vehicle in such a specified sequence of locations on the route.
  • At operation 325 at least one component of the system 102 sends instructions to cause the item to be made available at the pick-up location at an appropriate or defined time, such a time window that coincides with transporting the passengers between first and second locations, or a time when the vehicle is expected to arrive at the pick-up location.
  • the system 102 transmits instructions via the network (base stations 112a-c) to a processor-enabled device such as device 178e (FIG. 2) at an item vendor facility 280 (FIG. 2) to provide the requested item.
  • the instructions may specify a type and quantity of items being requested, food preparation or packaging preferences (e.g., cooked medium rare, double bag the item, refrigerate the item, heat the item.).
  • the instructions to the item vendor further include information regarding a time when the requested items should be ready at the pick-up location.
  • the instructions may be employed to initiate automated food preparation operations or used to generate instructions for such automation.
  • the system 102 can receive updated conditions at operation 330.
  • the system 102 may receive information regarding conditions pertinent to the trip, such as vehicle location, traffic, estimated times of arrival at locations on the route, operational status of the vehicle, item availability, and so on.
  • conditions pertinent to the trip such as vehicle location, traffic, estimated times of arrival at locations on the route, operational status of the vehicle, item availability, and so on.
  • such information may be pushed to the system 102 by the vehicle on-board devices, item vendor devices, or user devices of the passengers.
  • At operation 335 at least one component of the system 102 detects whether there has been a change in an estimated time of arrival of the vehicle at the item pick-up location. For example, if traffic conditions worsen, an estimated arrival time would be later than previously predicted. In an implementation, when such a change is detected, the method branches to operation 340 at which the system sends updated instructions to the item vendor, including the updated timing information. The item vendor may use this information to modify preparation operations so complete preparation more quickly or slowly depending on the situation, such that the item is ready to be picked up when the vehicle arrives at the pick-up location.
  • the method 300 terminates or ends at operation 345, for example upon conclusion or cancelation of the trip, until called or invoked again.
  • the method 300 may repeat either periodically, aperiodically, or continually.
  • the method 300 may, for example, operate as separate threads on a multi- threaded processor, each one servicing a respect request from a passenger.
  • FIG. 4 a method 400 of operation in a processor-based system to provide combined transportation and item pick-up, according to at least one illustrated implementation.
  • the method 400 may be implemented in addition to or as part of the method 300 (FIG. 3).
  • the method 400 may be executed by one or more components of the processor-based ride hailing and provisioning system 102 (FIGS. 1 and 2).
  • At operation 402 at least one component of the processor-based system 102 sends or transmits solicitation(s) or bid(s) to determined vehicle(s).
  • at least one component of the processor-based system 102 (FIGS. 1, 2) causes solicitation(s) or bid(s) to be wirelessly broadcast, multicast or unicast to the determined vehicle(s) within a defined proximity of a passenger pick-up location, for instance via one or more cellular communications networks.
  • the solicitation(s) or bid(s) may include an identity of a passenger and may specify one or more passenger pick-up locations or approximate passenger pick-up locations.
  • the solicitation(s) or bid(s) may specify one or more items and, or one or more item pick-up locations or approximate item pick-up locations.
  • the at solicitation(s) or bid(s) may optionally specify a passenger drop-off location or approximate passenger drop-off location.
  • the solicitation or bid may be time limited, for example including an expiration time after which the solicitation or bid becomes stale and can no longer be accepted. Such may be implemented inherently in the specification or logic of the solicitation or bid.
  • At operation 404, at least one component of the processor-based system 102 receives acceptance by a vehicle of a solicitation or bid.
  • the at least one component of the processor-based system 102 may receive a message or other information that indicates that a vehicle or driver has accepted the solicitation or bid.
  • the message may be sent by the vehicle or driver using one or more radios, via one or more wireless communications networks.
  • the radio may be part of a smartphone operated by a driver or part of a head unit or other portion of the vehicle.
  • the smartphone or head unit may execute a dedicated application, that is a set of logic instructions specific to the ride sharing and provisioning.
  • the smart phone or head unit may execute a more general set of instructions, for instance a Web browser.
  • at least one component of the processor-based system 102 (FIGS. 1, 2) dispatches a vehicle whose bid was accepted.
  • the at least one component of the processor-based system 102 (FIGS. 1, 2) may send or transmit information identifying the passenger(s), the passenger pick-up location(s), item pick-up location(s), optional rendezvous location(s), and optionally passenger drop-off location(s).
  • the at least one component of the processor-based system 102 may rely at least in part on a wireless bi-directional communications network (e.g, a third-party cellular network) for communications with the vehicles.
  • a wireless bi-directional communications network e.g, a third-party cellular network
  • FIG. 5 illustrates a method 500 of operation in a processor-based system to provide combined transportation and item pick-up, according to at least one illustrated implementation.
  • the method 500 includes operation 310A which may be implemented as an alternative to, or in addition to, operation 310 of method 300 (FIG. 3), for example between operations 305 and 315.
  • the method 500 may be executed by one or more components of the processor-based ride hailing and provisioning system 102 (FIGS. 1 and 2).
  • At operation 310B at least one component of the processor-based system 102 determines which vehicle(s) satisfy the condition(s) to service the request based on a current or predicted availability of the vehicle and a current proximity of a respective vehicle to one or more item pick-up location.
  • the current proximity may be in terms of any one or more of: geographic distance, either straight line distance (“as the crow flies”) or actual distance to be traversed, an estimated transit time or estimated arrival time which may take into account estimated or real time traffic conditions and weather conditions, and an estimated fuel consumption.
  • FIG. 6 illustrates a method 600 of operation in a processor-based system to provide combined transportation and item pick-up, according to at least one illustrated implementation.
  • the method 600 includes operation 310B which may be implemented as an alternative to, or in addition to, operation 310 of method 300 (FIG. 3), for example between operations 305 and 315.
  • the method 600 may be executed by one or more components of the processor-based ride hailing and provisioning system 102 (FIGS. 1 and 2).
  • At 310B at least one component of the processor-based system 102 determines which vehicle(s) satisfy the condition(s) to service the request based on a current or predicted availability of the vehicle and a current proximity of a respective vehicle to one or more passenger pick-up locations.
  • the current proximity may be in terms of any one or more of: geographic distance, either straight line distance (“as the crow flies) or actual distance to be traversed, an estimated transit time or estimated arrival time which may take into account estimated or real time traffic conditions and weather conditions, and an estimated fuel consumption.
  • FIG. 7 illustrates a method 700 of operation in a processor-based system to provide combined transportation and item pick-up, according to at least one illustrated implementation.
  • the method 700 may be implemented in addition to or as part of the method 300 (FIG. 3).
  • the method 700 may be executed by one or more components of the processor-based ride hailing and provisioning system 102 (FIGS. 1 and 2).
  • At operation 702 at least one component of the processor-based system 102 assesses, for respective vehicles, available routes that include both item pick-up location(s) and passenger pick-up location(s) based at least in part on a predicted efficiency in providing the transportation.
  • the predicted efficiency may for example, be represented or calculated in terms of any one or more of predicted elapsed total trip time, predicted estimated time of arrival at passenger pick-up location(s), predicted estimated time of arrival at item pick-up location, predicted estimated time of arrival at rendezvous location, and predicted total fuel
  • FIG. 8 illustrates a method 800 of operation in a processor-based system to provide combined transportation and item pick-up, according to at least one illustrated implementation.
  • the method 800 may be implemented in addition to or as part of the method 300 (FIG. 3).
  • the method 800 may be executed by one or more components of the processor-based ride hailing and provisioning system 102 (FIGS. 1 and 2).
  • At operation 802 at least one component of the processor-based system 102 submits one or more orders for at least one of the items requested by the
  • the requested can take any of a large variety of forms, for example any one or more of: cooked meals, prepared meals, meal kits, groceries, and/or retail items.
  • the order specifies a location at which the item(s) should be made available or ready for pick-up at a scheduled item pick-up time or period of time.
  • the orders may specify a condition of an item, e.g., raw, pre-cooked, cooked, warmed, cooled, mixed, dressed, packaged.
  • FIG. 9 illustrates a method 900 of operation in a processor-based system to provide combined transportation and item pick-up, according to at least one illustrated implementation.
  • the method 900 may be implemented in addition to or as part of the method 300 (FIG. 3).
  • the method 900 may be executed by one or more components of the processor-based ride hailing and provisioning system 102 (FIGS. 1 and 2).
  • At operation 902 at least one component of the processor-based system 102 arranges (e.g., orders) for the requested item(s) to be available at one or more item pick-up locations, typically to be made available within a defined time frame of a time associated with the transportation of the one or more passengers from the first location to the second location.
  • one or more request for various items may be submitted via an item ordering system.
  • the requests may indicate or specify the type of item (e.g ., food item, cold meal, cooked meal, warm meal, beverage, meal kit, groceries, sundries, retail items), and optionally a condition of the item (e.g., cooked, cool, warm, packaged).
  • the requests may indicate a specific location for the item to be picked up or retrieved, and a window of time during which the item will be picked up or retrieved.
  • the request may also indicate an identity of a vehicle or driver that will pick up or retrieve the item.
  • the request may specify an item pick-up location which is different from a location at which the item is prepared or warehoused.
  • an item pick-up location may be a location along a route of a vehicle (e.g, vehicle dispatched to carry passengers or vehicle dispatched to pick up or retrieve item(s), or a vehicle dispatched to both carry passengers and to pick up or retrieve item(s)), and a drone (e.g, airborne quadcopter, land-based drone, water-based drone) may be dispatched from a commissary, restaurant, kitchen, supermarket, grocery store, warehouse, fulfilment center to the specified pick-up location along the route of the vehicle at which the vehicle picks up the requested item(s).
  • a vehicle e.g, vehicle dispatched to carry passengers or vehicle dispatched to pick up or retrieve item(s), or a vehicle dispatched to both carry passengers and to pick up or retrieve item(s)
  • a drone e.g, airborne quadcopter, land-based drone, water-based drone
  • a vehicle 104 (FIGS. 1, 2) picks up the one or more requested items at the one or more item pick-up locations. Items may be manually loaded into the vehicle or automatically loaded, for example via one or more robotic appendages or a conveyor.
  • one or more humans or machines transfers the one or more requested items to an appliance carried by vehicle.
  • the appliance can take a variety of forms, for example a refrigerator, a freezer, or an oven.
  • the machines may take a variety of forms, for example one or more robotic appendages or conveyors (e.g, conveyor belt).
  • the machine may be part of the vehicle itself, or may be separate therefrom. The picking up of the item and loading into the appliance may constitute a single act or operation.
  • the appliance on the vehicle may operate on the requested item, for example while traveling to a passenger pick-up location or a passenger drop-off location.
  • a refrigerator may cool the item
  • a freezer may freeze the item
  • an oven may cook or heat the item.
  • One or more robotic appendages may be employed to mix, assembly or other interact with the item(s) and/or package the item(s).
  • FIGS 10A-10B a method 1000 of operation is provided in which the system 102 can dispatch two vehicles to meet at a rendezvous location (such as l08g, l08h of FIG. 1) to transfer an item to a vehicle carrying passengers en route to a different drop off location. More particularly, as shown in FIG. 10A after the process starts at operation 1002, at operation 1005 at least one component of the system 102 (FIGS. 1, 2) receives, from a user device, at least one request for transportation of one or more passengers from a first location to a second location and for at least one item to be made available to the one or more passengers during the requested transportation.
  • a rendezvous location such as l08g, l08h of FIG. 1
  • At operation 1010 at least one component of the system 102 determines multiple vehicles that satisfy criteria including current proximity of the vehicle to a defined location, such as a passenger pick-up location, an item pick-up point, a first rendezvous location, etc.
  • operation 1010 may function similarly to operation 310 as described in connection with FIG. 3, operation 310A as described in connection with FIG. 4, or operation 310B as described in connection with FIG. 6.
  • the system 102 determines a passenger route including the first location, the second location, and a first rendezvous location at which the at least one requested item will be transferred. Also at operation 1015, the system determines an item route that includes an item pick-up location and the first rendezvous location.
  • the system 102 sends first dispatch information to an on-board device of a first one of the vehicles, the dispatch information instructing the vehicle to travel to the first location to pick up the one or more passengers for transport to the second location via a first rendezvous location.
  • the first dispatch information causes the first one of the vehicles to be dispatched to one or more rendezvous locations.
  • the rendezvous locations are locations at which two vehicles meet up, for example to transfer items picked up by one vehicle to another vehicle which carries the passenger(s).
  • the rendezvous location(s) are preferably along a route between the passenger pick-up location(s) and the passenger drop-off location(s).
  • the system 102 sends second dispatch information to an on-board device of a second one of the vehicles, the second dispatch information instructing the vehicle to travel to a first pick-up location to pick up at least a first item and subsequently travel to the first rendezvous location to transfer the at least a first item to the first vehicle.
  • the at least one component of the processor-based system 102 can provide information for dispatching the vehicles to the passenger pick-up locations, passenger drop-off locations, item pick-up locations and/or rendezvous locations in a variety of forms.
  • the information may be stored in a data structure which, includes multiple fields or records that inherently encode an order in which the locations are to be traversed. Such may not actually constitute a route, but rather an itinerary defined by a sequence of locations to be visited in a defined order, but advantageously allowing routes between locations to be determined or generated in real time or almost real time, for example using third party mapping services (e.g., Google® maps, Waze®, Garmin®, Apple® maps).
  • the data structure may, for example, take the form of a linked list, in which an entry for each location is successively linked in the list to the next successive location in the itinerary.
  • the system 102 sends instructions that cause an item vendor to make the at least one item available at the first item pick-up location at a time associated with arrival of the second vehicle at the first item pick- up location.
  • operation 1030 may function similarly to operation 325 as described in connection with FIG. 3.
  • the process may sometimes additionally include operations 1035 and 1040, enlisting a third vehicle and a second rendezvous location.
  • operation 1034 the system 102 (FIGS.
  • the system 102 (FIGS. 1, 2) sends third dispatch information to a third one of the determined vehicles to be dispatched to at least a second item pick-up location to pick up at least a second one of the requested items, and subsequently travel to the a second rendezvous location to meet with the first one of the determined vehicles and transfer at least the second one of the requested items from the third one of the determined vehicles to the first one of the determined vehicles.
  • the system 102 (FIGS. 1, 2) sends instructions that cause an item vendor to make the at least the second one of the requested items available at the second item pick-up location at a time associated with arrival of the third vehicle at the second item pick-up location. The process then terminates at end operation 1045.
  • the ride sharing logistics and the provisioning logistics may be operated or provided by the same provider or company, for instance with its own backend system(s).
  • the ride sharing logistics may be operated or provided by a first provider or company, for instance with its own backend system(s), while the provisioning may be operated by a second provider or company with its own backend system.
  • the respective backend systems may be communicatively coupled or communicate to coordinate the provisioning with the ride sharing, for instance with respect to locations and times of arrival at given locations.
  • the ride sharing logistics may be operated by a first provider or company, for instance with its own backend system.
  • the provisioning may be operated by a second provider or company with its own backend system. Additional Notes and Examples
  • Example A A computer-implemented method to provide transportation services, the method comprising: receiving, from a user device, at least one request for transportation of one or more passengers from a first location to a second location and for an item to be made available to the one or more passengers during the requested transportation; determining a route that includes the first location, second location, and at least one item pick-up location; sending dispatch
  • the dispatch information instructing the vehicle to the pick-up location, which may include a route to the pick-up location; and sending instructions that cause an item vendor to make the item available at the item pick-up location at a time associated with arrival of the vehicle at the pick-up location.
  • Example B The computer- implemented method of Example A, wherein the route is such that the passenger vehicle arrives at the item pick-up location before the vehicle arrives at the first location.
  • Example C The computer- implemented method of Examples A and B, wherein the route is such that the passenger vehicle arrives at the item pick-up location after the passenger vehicle arrives at the first location and before the vehicle arrives at the second location.
  • Example D The computer- implemented method of Examples A-C, wherein the instructions cause a processor-enabled device of the item vendor to initiate one or more automated operations to retrieve the item.
  • Example E The computer- implemented method of Examples A-D, wherein the item is food, and wherein the instructions cause a processor-enabled device at the item vendor to initiate one or more automated food preparation operations.
  • Example F The computer- implemented method of Examples A-E, further comprising: detecting a change in an estimated arrival time of the vehicle to the pick-up location; and sending updated instructions to the item vendor.
  • Example G The computer- implemented method of Examples A-F, further comprising: determining one or more passenger vehicles that satisfy a set of criteria including at least a current proximity of the vehicles to at least one location on the route.
  • Example H The computer- implemented method of Examples A-G, further comprising: sending a bid to at least one of the determined vehicles; and receiving an acceptance of the bid by one of the vehicles.
  • Example I The computer- implemented method of Examples A-H, further comprising: refusing any subsequent acceptances of the bid from other determined vehicles.
  • Example J A ride hailing and provisioning system having a processor, a memory in communication with the processor, the memory having computer- readable instructions stored thereon that, when executed by the processor, cause the processor to: receive, from a user device, at least one request for transportation of one or more passengers from a first location to a second location and for an item to be made available to the one or more passengers during the requested transportation; determine a route that includes the first location, second location, and at least one item pick-up location; send dispatch information to an on-board device of a selected vehicle, the dispatch information instructing the vehicle to the pick-up location, which may include a route to the pick-up location; and send instructions that cause an item vendor to make the item available at the item pick-up location at a time associated with arrival of the vehicle at the pick-up location.
  • Example K The system of Example J, wherein the route is such that the passenger vehicle arrives at the item pick-up location before the passenger vehicle arrives at the first location.
  • Example L The system of Examples J and K, wherein the route is such that the passenger vehicle arrives at the item pick-up location after the passenger vehicle arrives at the first location and before the passenger vehicle arrives at the second location.
  • Example M The system of Examples J-L, wherein the item is food, and wherein the instructions cause a processor-enabled device at the item vendor to initiate one or more automated food preparation operations.
  • Example N The system of Examples J-M, wherein the instructions further cause the processor to: detect a change in an estimated arrival time of the vehicle to the pick-up location; and send updated instructions to the item vendor.
  • Example O The system of Examples J-N, wherein the instructions further cause the processor to: determine one or more vehicles that satisfy a set of criteria including at least a current proximity of the passenger vehicles to at least one location on the route.
  • Example P The system of Examples J-O, wherein the instructions further cause the processor to: send a bid to at least one of the determined vehicles; and receive an acceptance of the bid by one of the vehicles.
  • Example Q The computer- implemented method of Examples J-P, further comprising: refusing any subsequent acceptances of the bid from other determined vehicles.
  • Example R A computer- implemented method to provide transportation services, the method comprising: receiving, from a user device, at least one request for transportation of one or more passengers from a first location to a second location and for at least one item to be made available to the one or more passengers during the requested transportation; determining a passenger route that includes the first location, second location, and a first rendezvous location; determining an item route that includes an item pick-up location and the first rendezvous location;
  • Example S The method of Example R, further comprising: sending third dispatch information to a third one of the determined vehicles to be dispatched to at least a second item pick-up location to pick up at least a second one of the requested items, and subsequently travel to the a second rendezvous location to meet with the first one of the determined vehicles and transfer at least the second one of the requested items from the third one of the determined vehicles to the first one of the determined vehicles; and sending instructions that cause an item vendor to make the at least the second one of the requested items available at the second item pick-up location at a time associated with arrival of the third vehicle at the second item pick- up location.
  • Example T The computer- implemented method of Examples R and S, wherein the item is food, and wherein the instructions cause a processor-enabled device at the item vendor to initiate one or more automated food preparation operations.
  • logic or information can be stored on any computer readable medium for use by or in connection with any computer and/or processor related system or method.
  • a memory is a computer readable medium that is an electronic, magnetic, optical, or other another physical device or means that contains or stores a computer and/or processor program.
  • Logic and/or the information can be embodied in any computer readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions associated with logic and/or information.
  • a“computer readable medium” can be any means that can store, communicate, propagate, or transport the program associated with logic and/or information for use by or in connection with the instruction execution system, apparatus, and/or device.
  • the computer readable medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium.
  • the computer readable medium would include the following: an electrical connection having one or more wires, a portable computer diskete (magnetic, compact flash card, secure digital, or the like), a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM, EEPROM, or Flash memory), an optical fiber, and a portable compact disc read-only memory (CDROM).
  • a portable computer diskete magnetic, compact flash card, secure digital, or the like
  • RAM random access memory
  • ROM read-only memory
  • EPROM erasable programmable read-only memory
  • CDROM portable compact disc read-only memory
  • the computer-readable medium could even be paper or another suitable medium upon which the program associated with logic and/or information is printed, as the program can be electronically captured, via for instance optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in memory.
  • Examples of computer readable media include, but are not limited to, the following: recordable type media such as floppy disks, hard disk drives, CD ROMs, digital tape, and computer memory; and transmission type media such as digital and analog communication links using TDM or IP based communication links ( e.g ., packet links).

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Tourism & Hospitality (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Marketing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Development Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Educational Administration (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

A ride hailing provisioning system identifies and dispatches available vehicles to provide transportation of passengers while providing requested items or amenities. Vehicles may be dispatched to passenger pick-up locations, item pick-up locations, and, or rendezvous locations to make specifically requested items accessible to passengers without inordinately delaying or inconveniencing the passengers. Items may take a wide variety of forms, for example cooked food items or meals, prepare beverages, meal kits, groceries and sundries, various retail items, Various computational techniques may identify vehicles and efficient data structures employed for dispatching the vehicles.

Description

ITEM PROVISIONING VIA VEHICLES
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Patent Application 62/729,574, filed September 11, 2018, entitled“RIDE HAILING WITH ITEM PROVISIONING VIA VEHICLES, INCLUDING AUTONOMOUS VEHICLES,” which is herein incorporated by reference in its entirety.
TECHNICAL FIELD
[0002] This description generally relates to implementing ride hailing services with the provisioning of requested items, such as food orders, and in particular to technical solutions for implementing such in a networked environment.
SUMMARY
[0003] The growing popularity and availability of ride services has resulted in increased consumer expectations of service variety and convenience. Various ride hailing services and supporting infrastructure are available, for instance UBER®, LYFT®, GRAB® to name a few. A user who wishes to employ these services generally creates an account, and employs a software application executing on a processor-based device, typically a smartphone. For example, the user may wish to be picked up at a first location and dropped off at a second location. The user enters the pick-up location and the drop-off location. Typically, the pick-up location is the current location of the user, and can be automatically determined via the user’s smartphone, populated into a user interface of the application, and the user prompted to confirm that the automatically populated address is correct. A request for transportation is generated or submitted, the request specifying an identity of the user, a pick-up location and a destination location. [0004] A backend system may locate available vehicles and dispatch one of those available vehicles to pick up the user at the specified pick-up location for transport to the specified drop-off location. At least some of these ride hailing services provide notification of a request for transportation to drivers of vehicles that are within some proximity of the pick-up location. Typically, the drivers have the option of accepting or declining the request. Once accepted, a driver and their vehicle will travel to the pick-up location, typically employing a tum-by-tum navigation system ( e.g ., GOOGLE® maps).
[0005] Techniques are provided herein for coordinating passenger rides with the provisioning of items desired by passengers. In an embodiment, a ride hailing and provisioning system coordinates vehicles to provide both ride hailing and item- provisioning operations, such that vehicles are dispatched to pick up various items specifically requested by passengers, and the passengers are picked up at specified passenger pick-up locations and transported to specified passenger drop-off locations, with the various requested items made available to those passengers.
[0006] In one implementation, a system receives, from a user device, a request for transportation of one or more passengers from a first location to a second location and for an item to be made available to the one or more passengers during the requested transportation. In some embodiments, one or more available vehicles are determined based on various criteria, including for example, current proximity to the route locations, etc., and one of the vehicles is selected for the trip. Also, a route is determined, the route including the first location, second location, and at least one item pick-up location. Dispatch information is then sent to an on-board device of the selected vehicle, thereby causing or instructing the vehicle to travel to locations on the route. Additionally, instructions are sent to cause an item vendor to make the item available at the item pick-up location at a time associated with arrival of the vehicle at the pick-up location. [0007] In some implementations, available vehicles for the trip are determined based on a current proximity of the respective vehicle to the item pick-up location, which may include identifying a plurality vehicles based on a current proximity of the respective vehicle to one or more item pick-up locations, the one or more item pick-up locations including the aforesaid item pick-up location, based on a current proximity of a respective vehicle to the passenger pick-up location. Proximity may be measured for example by geographic distance, estimated transit time, or both.
[0008] In some embodiments, available routes are assessed for the respective vehicles, wherein the routes include both the item pick-up location and the passenger pick-up location. An implementation may include assessing, for respective vehicles, available routes based on some or all of the following: a current location of the respective vehicle and a current or predicted traffic conditions on the routes; a current location of the respective vehicles and a predicted efficiency in providing the transportation; a predicted elapsed total trip time; a predicted estimated time of arrival at the passenger pick-up location; a current location of the respective vehicles and a predicted estimated time of arrival at the item pick-up location; a predicted total fuel expenditure for the transportation. In an
implementation, a request for transportation includes a representation of the first location. The request for transportation and request for an item may be a combined request.
[0009] To select among multiple vehicles, some implementations provide for sending a bid to at least one of the determined vehicles, and receiving an acceptance of the bid by one of the vehicles, wherein causing a vehicle to be dispatched to an item pick-up location and to the first location includes sending dispatch information to a processor-based device present at the vehicle whose bid was accepted.
Subsequently acceptances of the bid from any of the other determined vehicles may be refused thereafter. [0010] In some implementations the requested item may be food, such as a prepared meal, meal kit, or groceries. Items requested by passengers may also include non-food retail items. In some implementations, items may be provided by item vendors, which may or may not be operated by the same business entity as the operator of the system described herein. Item vendors may operate mobile or stationary facilities that may function as an item pick-up location.
[0011] In some implementations, the item pick-up location is different from the first and the second locations. In some implementations, one or more vehicles are identified to provide the requested transportation and the requested item based at least in part on the determined route.
[0012] In an implementation, in response to a detected delay the route that the one of the identified vehicles to be dispatched will, at least initially, follow, the route is dynamically modified. In some implementations, the route may be determined based on a variety of factors, including for example any or all of the following: a passenger pick-up location relative to a current location of the respective vehicle; both the passenger pick-up location relative to a current location of the respective vehicle and the item pick-up location relative to the current location of the respective vehicle; one or more current or predicted traffic conditions on the route; a predicted efficiency in providing the transportation; a predicted elapsed total trip time; a predicted estimated time of arrival at the passenger pick-up location; a predicted estimated time of arrival at the item pick-up location; a predicted total fuel expenditure for the transportation; a sequence of first arrival at the first location or the item pick-up location; and a sequence of arrival based on a desired condition of the requested item.
[0013] In an embodiment, one of the vehicles may be an autonomous vehicle. In a related embodiment, the autonomous vehicle may be dispatched by sending routing instructions to the vehicle which are employed by a control system of the car. [0014] Techniques are described, for some embodiments, wherein multiple vehicles are coordinated to meet at a rendezvous location to transfer one or more items from one vehicle to another vehicle providing transportation of passengers requesting the items. In one such implementation, at least one request is received for transportation of one or more passengers from a first location to a second location and for one or more items to be made available to the one or more passengers during the requested transportation. In response to the request, a plurality of vehicles is determined to satisfy a set of criteria, the set of criteria including a current proximity of the vehicles to a defined location. A first one of the determined vehicles is caused to be dispatched to the first location to pick up the one or more passengers for transport to the second location via a first rendezvous location temporally between the first location and the second location on a route which the first one of the determined vehicles follows. A second one of the determined vehicles is caused to be dispatched to at least a first item pick-up location to pick up at least a first one of the one or more requested items, and subsequently to the first rendezvous location to meet with the first one of the determined vehicles and transfer at least the first one of the requested items from the second one of the determined vehicles to the first one of the determined vehicles. In response to the request, at least the first one of the one or more requested items is arranged to be available at the first item pick-up location within a defined time frame of a time associated with the transportation of the one or more passengers from the first location to the second location.
[0015] An implementation further provides: causing a third one of the determined vehicles to be dispatched to at least a second item pick-up location to pick up at least a second one of the one or more requested items, and subsequently to the first rendezvous location to meet with the first one and transfer at least the second one of the requested items from the third one of the determined vehicles to the first one of the determined vehicles; and in response to the request, arranging for at least the second one of the one or more requested items to be available at the second item pick-up location within a defined time frame of the time associated with the transportation of the one or more passengers from the first location to the second location.
[0016] A further implementation provides: causing a fourth one of the determined vehicles to be dispatched to at least a third item pick-up location to pick up at least a third one of the one or more requested items, and subsequently to the first rendezvous location to meet with the first one of the determined vehicles and transfer at least the third one of the requested items from the fourth one of the determined vehicles to the first one of the determined vehicles; and in response to the request, arranging for at least the third one of the one or more requested items to be available at the third item pick-up location within a defined time frame of the time associated with the transportation of the one or more passengers from the first location to the second location.
[0017] Another implementation provides: causing a fourth one of the determined vehicles to be dispatched subsequently to a second rendezvous location to meet with the first one of the determined vehicles and transfer at least the third one of the requested items from the fourth one of the determined vehicles to the first one of the determined vehicles, the second rendezvous location different from the first rendezvous location; and in response to the request, arranging for at least the third one of the one or more requested items to be available at the third item pick-up location within a defined time frame of the time associated with the transportation of the one or more passengers from the first location to the second location.
[0018] A further implementation provides: causing a third one of the determined vehicles to be dispatched to at least a second item pick-up location to pick up at least a second one of the one or more requested items, and subsequently to a second rendezvous location to meet with the first one of the determined vehicles and transfer at least the second one of the requested items from the third one of the determined vehicles to the first one of the determined vehicles, the second rendezvous location; different from the first rendezvous location and in response to the request, arranging for at least the second one of the one or more requested items to be available at the second item pick-up location within a defined time frame of the time associated with the transportation of the one or more passengers from the first location to the second location.
[0019] An implementation may further provide: causing a fourth one to be dispatched to at least a third item pick-up location to pick up at least a third one of the one or more requested items, and subsequently to the first rendezvous location to meet with the first one of the determined vehicles and transfer at least the third one of the requested items from the fourth one of the determined vehicles to the first one of the determined vehicles; and in response to the request, arranging for at least the third one of the one or more requested items to be available at the third item pick-up location within a defined time frame of the time associated with the transportation of the one or more passengers from the first location to the second location.
[0020] An implementation may also provide: causing a fourth one to be dispatched to at least a third item pick-up location to pick up at least a third one of the one or more requested items, and subsequently to the second rendezvous location to meet with the first one of the determined vehicles and transfer at least the third one of the requested items from the fourth one of the determined vehicles to the first one of the determined vehicles; and in response to the request, arranging for at least the third one of the one or more requested items to be available at the third item pick-up location within a defined time frame of the time associated with the transportation of the one or more passengers from the first location to the second location.
[0021] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. A variety of other examples and variations of these embodiments are described as follows. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] In the drawings, identical reference numbers identify similar elements or acts. The sizes and relative positions of elements in the drawings are not necessarily drawn to scale. For example, the shapes of various elements and angles are not drawn to scale, and some of these elements are arbitrarily enlarged and positioned to improve drawing legibility. Further, the particular shapes of the elements as drawn, are not intended to convey any information regarding the actual shape of the particular elements, and have been solely selected for ease of recognition in the drawings.
[0023] FIG. 1 is a schematic diagram of an environment in which a ride hailing and provisioning system may provide services in which a vehicle provides passenger transportation between locations in combination with provisioning one or more items ( e.g ., cooked food, meal kits, groceries, retail items) requested by the passenger, according to at least one illustrated implementation.
[0024] FIG. 2 is a schematic diagram illustrating a ride hailing and provisioning system in greater detail, according to at least one illustrated implementation.
[0025] FIG. 3 illustrates a flow diagram of a method of operation in a ride hailing and provisioning system, according to one illustrated implementation.
[0026] FIG. 4 illustrates a flow diagram of a method of operation in a ride hailing and provisioning system for enabling vehicles to bid for a transportation requests, according to one illustrated implementation.
[0027] FIG. 5 is a flow diagram of a method of operation in a ride hailing and provisioning system, according to one illustrated implementation.
[0028] FIG. 6 is a flow diagram of a method of operation in a ride hailing and provisioning system, according to one illustrated implementation.
[0029] FIG. 7 is a flow diagram of a method of operation in a ride hailing and provisioning system, according to one illustrated implementation. [0030] FIG. 8 is a flow diagram of a method of operation in a ride hailing and provisioning system, according to one illustrated implementation.
[0031] FIG. 9 is a flow diagram of a method of operation in a ride hailing and provisioning system, according to one illustrated implementation.
[0032] FIGS. 10A and 10B illustrate a flow diagram of a method of operation in a ride hailing and provisioning system in which multiple vehicles meet at a rendezvous location to transfer one or more vehicles from one vehicle to another.
DETAILED DESCRIPTION
[0033] The techniques described herein enable vehicles to provide passengers transportation in coordination with provisioning items desired by the passenger, such as by routing the vehicles to pick-up location or vehicle rendezvous locations. According to certain embodiments, the items may be prepared so as to be available at a desired time and location. In the following description, certain specific details are set forth in order to provide a thorough understanding of various disclosed embodiments. However, one skilled in the relevant art will recognize that embodiments may be practiced without one or more of these specific details, or with other methods, components, materials, etc. In other instances, certain structures associated with food preparation units, appliances, closed-loop controllers used to control appliance conditions, food preparation, wired and wireless communications protocols, wired and wireless transceivers, radios, communications ports, geolocation, and optimized route mapping algorithms have not been shown or described in detail to avoid unnecessarily obscuring descriptions of the
embodiments. In other instances, certain structures associated with conveyors, robots, and/or vehicles have not been shown or described in detail to avoid unnecessarily obscuring descriptions of the embodiments.
[0034] Reference throughout this specification to“one embodiment” or“an embodiment” means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment. Thus, the appearances of the phrases“in one embodiment” or“in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments
[0035] The headings and Abstract of the Disclosure provided herein are for convenience only and do not interpret the scope or meaning of the embodiments.
[0036] As used herein the terms“food item” and“food product” refer to any item or product intended for human consumption. One of ordinary skill in the culinary arts and food preparation will readily appreciate the broad applicability of the systems, methods, and apparatuses described herein across any number of prepared food items or products, including cooked and uncooked food items or products, and ingredients or components of food items and products.
[0037] As used herein the terms“robot” or“robotic” may refer to any device, system, or combination of systems and devices that includes at least one appendage, typically with an end of arm tool or end effector, where the at least one appendage is selectively moveable to perform work or an operation useful in the preparation a food item or packaging of a food item or food product. The robot may be autonomously controlled, for instance based at least in part on information from one or more sensors ( e.g ., optical sensors used with machine-vision algorithms, position encoders, temperature sensors, moisture or humidity sensors). Alternatively, one or more robots can be remotely controlled by a human operator. Alternatively, one or more robots can be partially remotely controlled by a human operator and partially autonomously controlled. As used herein, the terms“robot” or“robotic” may refer to any autonomous and/or semi-autonomous machine which is capable of carrying out defined physical action, for instance a machine with at least one jointed appendage that is movable with respect to an operational environment, or any autonomous and/or semi-autonomous vehicles that is movable with respect to an operational environment
[0038] While particular aspects of the present subject matter described herein have been shown and described, it will be apparent to those skilled in the art that, based upon the teachings herein, changes and modifications may be made without departing from the subject matter described herein and its broader aspects and, therefore, the appended claims are to encompass within their scope all such changes and modifications as are within the true spirit and scope of the subject matter described herein. Furthermore, it is to be understood that the invention is defined by the appended claims. It will be understood by those within the art that, in general, terms used herein, and especially in the appended claims (e.g., bodies of the appended claims) are generally intended as“open” terms (e.g., the terms
“comprising” and“including” should be interpreted as“including but not limited to,” the term“having” should be interpreted as“having at least,” the term“includes” should be interpreted as“includes but is not limited to,” etc.). It will be further understood by those within the art that if a specific number of an introduced claim recitation is intended, such an intent will be explicitly recited in the claim, and in the absence of such recitation no such intent is present. For example, as an aid to understanding, the following appended claims may contain usage of the
introductory phrases“at least one” and“one or more” to introduce claim recitations. However, the use of such phrases should not be construed to imply that the introduction of a claim recitation by the indefinite articles“a” or“an” limits any particular claim containing such introduced claim recitation to inventions containing only one such recitation, even when the same claim includes the introductory phrases“one or more” or“at least one” and indefinite articles such as“a” or“an” (e.g.,“a” and/or“an” should typically be interpreted to mean“at least one”" or“one or more”); the same holds true for the use of definite articles used to introduce claim recitations. In addition, even if a specific number of an introduced claim recitation is explicitly recited, those skilled in the art will recognize that such recitation should typically be interpreted to mean at least the recited number (e.g., the bare recitation of“two recitations,” without other modifiers, typically means at least two recitations, or two or more recitations). Furthermore, in those instances where a convention analogous to“at least one of A, B, and C, etc.” is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g.,“a system having at least one of A, B, and C” would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B, and C together, etc.). In those instances where a convention analogous to“at least one of A, B, or C, etc.” is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g.,“a system having at least one of A, B, or C” would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B, and C together, etc.). It will be further understood by those within the art that virtually any disjunctive word and/or phrase presenting two or more alternative terms, whether in the description, claims, or drawings, should be understood to contemplate the possibilities of including one of the terms, either of the terms, or both terms. For example, the phrase“A or B” will be understood to include the possibilities of“A” or“B” or“A and B.”
[0039] As used herein the term“appliance” or“food preparation unit” refers to any device, system, or combination of systems and devices useful in preparing, cooking or heating a food product, the partial or complete preparation of one or more food products such as an oven, a burner, either gas or electric or inductive, a hot skillet surface or griddle, a deep fryer, a microwave oven, rice cooker, sous vide cooker, and/or toaster equipment related to cooled or chilled foods, such as may be used to prepare smoothies, frozen yogurt, ice cream, and beverages (e.g., fountain beverages). Further, the food preparation unit may be able to control more than temperature. For example, some food preparation units may control pressure and/or humidity. Further, some food preparation units may control airflow therein, thus able to operate in a convective cooking mode if desired, for instance to decrease cooking time, while other food preparation units function to chop, wash, slice, grind, etc.
[0040] FIG. 1 shows an environment 100 in which ride hailing and provisioning operations are performed and a ride hailing and provisioning system 102 may operate to dispatch vehicles 104a, 104b, 104c, 104d (four shown, collectively or individually 104) to perform the ride hailing and provisioning, according to at least one illustrated implementation. Four vehicles, a first vehicle (Vi) 104a, a second vehicle (V2) 104b, a third vehicle (V3) 104c, and a fourth vehicle (V4) 104d are illustrated, although it will be appreciated that most environments 100 may include a large quantity of vehicles, which may remain fixed over time or more typically change over time.
[0041] The environment 100 may comprise a geographic area 106, for example a neighborhood, town, city, county, province, etc. The geographic area 106 includes specifically identifiable locations illustrated for example as locations 108a-h (collectively or individually 108). Each location may be uniquely identifiable by an address and/or geographic coordinates such that the quantity of possible locations may be many or infinite.
[0042] Any of the specifically identifiable locations 108 may serve as a pick-up location at which passengers 114a, 114b may be picked up and/or as a drop-off location at which passengers may be dropped off. Two exemplary passenger pick- up locations are illustrated in FIG. 1, a primary passenger pick-up location (PPTh)
108a and an optional passenger pick-up location (PPU2), 108b, although it will be appreciated that many passenger pick-up locations are possible in the environment 100, and such locations will likely change over time. Two exemplary passenger drop-off locations are illustrated in FIG. 1, a primary passenger drop-off location (PDOt) l08c and an optional passenger drop-off location (PD02) l08d, are illustrated, although most environments 100 will include a large number of passenger drop-off locations, which will likely change over time.
[0043] The environment 100 may include one or more item pick-up locations (also referred to as supply locations) from which items requested by passengers (e.g., future passengers, current passengers) can be picked up. Items requested by passengers may be provided by item vendors, which may or may not be operated by same business entity as the ride hailing and provisioning system 102. FIG. 1 illustrates two exemplary item pick-up locations, a primary item pick-up location (IPUi) 108e and an optional item pick-up location (IPU2) 108f, although it will be appreciated that many pick-up locations are possible in most environments 100, and such locations may remain fixed over time or change over time. The item pick-up locations 108e, 108f may take any of a variety of forms. For example, pick-up locations may be locations of item vendors, and accordingly item pick-up locations may take the form of a fixed or mobile facility such as a commissary, kitchen, restaurant, vehicle, or food truck from which meals (e.g., hot meals, cold meals, perishable foods) may be picked up. In other examples, one or more of the item pick-up locations and item vendors may take the form of a warehouse, fulfilment center or retail establishment. One or more of the item pick-up locations may advantageously function as an item cache, for example a truck or kiosk in which items are stored at one or more locations in the geographic area that may be more proximate to passenger pick-up or drop-off locations.
[0044] In some implementations, the environment 100 may include one or more item rendezvous locations at which two or more vehicles 104 may meet to, for example transfer items picked up by one or more vehicles from respective item pick-up locations 108e, 108f to a vehicle with is transporting one or more passengers to one or more passenger drop-off locations 108c, 108d from locations from one or more passenger drop-off locations 108c, 108d from locations. FIG. 1 illustrates two exemplary rendezvous locations, a first rendezvous location
(Rendezvous i) l08g and a second rendezvous location (Rendezvous 2) l08h. The rendezvous locations can be any place where two vehicles can meet, and it will be appreciated that many rendezvous locations may be possible in most environments 100, and such rendezvous locations fixed over time or change over time. Such locations may take any one or more of a variety of forms, for example, the item pick-up locations or rendezvous locations may be at a parking lot, street, service area or refueling station. In some implementations, more than one vehicle 104 may be dispatched to a respective item pick-up location 108e, 108f, then routed to one or more destinations ( e.g ., rendezvous locations 108g, 108h) along a route 110 of the first vehicle 104, for example a route of the first vehicle in transporting one or more passengers between a passenger pick-up location 108a, 108b and a passenger drop- off location 108c, 108d. Such may significantly enhance the ability to provide a passenger with a wide range of items without adversely impacting wait time or transit time for the passenger(s).
[0045] As noted above, the environment 100 may include one, more, and typically a plurality of vehicles 104 that traverse the environment 100 along a number of transit paths between locations 108, for instance roads, streets, alleys, sidewalks, or paths, although paths, for instance non-delineated paths (e.g., air, water) may additionally or alternatively be employed. Three exemplary transit paths, a first transit path 1 10a, a second transit path 110b, and a third transit path 110c, are illustrated in FIG. 1 , although most environments 100 may include a large number of transit paths, which may remain fixed over time or change over time.
[0046] With reference to FIG. 1 , for example, when traveling along the first transit path 1 10a, a vehicle 104c first goes to the passenger pick-up location 108a and picks up a passenger 114a. The vehicle 104c then travels to a first item pick-up location 108e and picks up an item 1 16a requested by the passenger 1 14a. The vehicle 104c then travels to the passenger drop-off location 108c, delivering the passenger 1 14a to their desired destination. The passenger 1 l4a may enjoy or consume or use the item 1 l6a during transit, or may wait until they arrive at the desired destination.
[0047] When traveling along the second transit path 110b or a third transit path 1 lOc, a vehicle l04a, l04b first goes to the first item pick-up location 108e and picks up an item 116a requested by the passenger 1 14a. The vehicle 104a, 104b then travels to a first passenger pick-up location 108a and picks up a passenger 1 14a, who may immediately enjoy or consume or use the item 116a. In an implementation, the vehicle 104a, 104b then may travel to a second passenger pick- up location 108b and picks up a second passenger 1 14b. In an implementation, the vehicle 104a, 104b then may travel to a second item pick-up location 108b and picks up a second item (not shown), perhaps requested by the second passenger 1 14b. The vehicle 104a, 104b then may travel to an initial passenger drop-off location 108d, delivering one of the passengers 1 14a, 1 14b to their desired destination. The vehicle 104a, 104b then travels to the final passenger drop-off location 108c, delivering the remaining passenger(s) 114a, 114b to their desired destination. The passengers 114a, 1 14b may enjoy or consume the item 1 16a during transit, or may wait until they arrive at the desired destination.
[0048] In some implementations, the system 102 directs multiple vehicles 104 to meet so that an item carried by one vehicle can be made available to a passenger of another vehicle. For example, a first vehicle may be dispatched to a passenger pick- up location, while a second vehicle is dispatched to an item pick-up location, then both vehicles are routed to a shared intermediate rendezvous location at which location one or more items picked up by the second vehicle may be transferred to the first vehicle. In some implementations, more than one vehicle 104 can be dispatched to respective ones of a plurality of item pick-up locations 108e, 108f, then routed to one or more destinations (e.g. rendezvous locations 108g, 108h) along a route of the first vehicle 104, for example a route of the first vehicle 104 in transporting one or more passengers 114 between passenger pick-up location(s) l08a, l08b and passenger drop-off location(s) l08c, l08d. Such may significantly enhance the ability to provide a passenger with a wide range of items without adversely impacting wait time or transit time for the passenger(s).
[0049] The vehicles 104 can take a variety of forms, and may be autonomous typically driving independently without requiring human driver intervention, semi- autonomous operating partially independently and employing some human driver intervention, or may be manually fully dependent on human driver input. One or more vehicles 104 can be an autonomous drone or a remotely human-controlled drone. The vehicles 104 may be land-traveling, air-traveling, or water-traveling, or any combination thereof.
[0050] The vehicles 104 may have a passenger compartment to carry one or more passengers. One or more of the vehicles 104 may include one or more storage units sized to securely store one or more items requested by a passenger. For example, a vehicle 104 may include one or more lockers, cubicles, or a temperature-controlled storage compartment. One or more of the vehicles 104 may include one or more food preparation units operable to heat or cool one or more items requested by a passenger. The food preparation units may partially or completely prepare the food items, either while en route to a passenger pick-up location or en route to the passenger drop-off location.
[0051] In some implementations, the vehicle 104 may include one or more lockers for securely containing items. The locker may, in some implementation, have a lockable door that can be selectively unlocked to provide access. One or more compartments in the locker may be heated or cooled.
[0052] In some implementations, one or more of the vehicles 104 may be equipped for both preparation of food and accommodating riding passengers. The vehicle may have a passenger compartment that is physically separate from a food preparation compartment containing one or more food preparation units. In some implementations, the passenger compartment may include a kiosk with a user interface that allows passengers to order or request items, for example at a start of a trip or even during a trip. If a passenger orders a prepared item where the time to finish preparation or finish cooking exceeds the duration of the trip, the system may apply an extra“wait fee” charge as the vehicle waits with the passenger for completion of the food preparation.
[0053] In some implementations, a processor enabled device or component ( e.g ., on-board the vehicle 104) may be used to implement a temperature control schedule to be used to control the temperature state within one or more of the compartments in the locker. Such temperature states may specify, for example, that the heater heat the compartment to a cooking state to cook a food item, and then transition to a warming state to keep the cooked food item warm. In some implementations, the temperature control schedule may specify that the compartment be kept in a refrigerated state by the cooler for a first time period, and then specify that the compartment be kept in a cooking state by the heater for a second time period in order to completely cook the food item. In some implementations, the system 102 may detect a change in an estimated arrival time of the vehicle to the pick-up location and send updated instructions to the item vendor as a result. For example, the system 102 may monitor traffic conditions on the route determined and based thereon detect that an estimated time of arrival of a passenger vehicle to arrive at an item pick-up location may have changed, e.g., delayed or made earlier. Further, the temperature control schedule may be based at least in part on an estimated pick-up time at which an end user will be arriving to pick-up the food item being cooked.
As such, the temperature control schedule may be set to minimize the amount of time that elapses after the food item is completely cooked and the expected time at which the end user will arrive to retrieve the item. In some implementations, the temperature control schedule may be modified based upon an updated expected arrival and pick-up time for the end user. In some implementations, the temperature control schedule may be used to transition the compartment between one or more of the refrigerated state, the cooking state, and the warming state.
[0054] The environment 100 may include one or more communications systems, for instance one or more wireless cellular communications networks, represented in FIG. 1 as base stations 1 l2a, 112b, 1 l2c. The communications systems may take any of a large variety of forms that provide wireless communications, wired communications, optical communications via optical fiber, or hybrids of the same, and the type of communications systems should not be limiting.
[0055] The ride hailing and provisioning system 102 may be physically present in the environment 100 in which the ride hailing and provisioning services are rendered, may be located remotely from the environment 100, or may be partially located in the environment 100 and partially located remotely therefrom.
[0056] In an embodiment, the vehicles 104a, 104b, 104c, 104d are respectively equipped with a processor-based on-board device 178a, 178b, 178c, 178d, which can communicate with the system 102 via the one or more network via base stations 1 12a-c in FIG. 1. In some implementations, the on-board device 178a-d may receive bids for transportation or item provisioning services from the system 102 and enable acceptance of a bid by a driver or other person responsible for the vehicle. In some implementations, the on-board device 178a-d functions to receive dispatch information sent by the system 102, which may include routing
instructions.
[0057] In some embodiments, the vehicles 104a, 104b serve as item vendors and are capable of providing an item requested by a passenger. Additionally, in some implementations the on-board device can receive instructions for preparing an item to be available to a passenger at a particular time and place. For example, if the vehicle 104a, 104b is equipped to provide food-preparation functionality, the on- board device 178a, 178b may receive a food order, and in some embodiments, the on-board device 178a, 178b may further receive instructions make food items available, and in response, to cause food items of the food order to be prepared and available for pick-up at a designated time and place.
[0058] At least one of the passengers 1 l4a, 1 l4b may have a processor-enabled device, as explained in greater detail below, such as user device 115 a, 1 15b which is capable of communicating with the ride hailing and provisioning system 102 via a network represented illustrated in FIG. 1 as base stations 1 l2a-c. The user device 1 l5a, 1 15b may include an application by which the passenger may submit requests to the system, such as requests for transportation and requests for items. For example, one or more passengers 1 l4a may request a pick-up at a first location (e.g., passenger pick-up location l08a), for transit to a second location (e.g, passenger drop-off location l08c).
[0059] As used herein the term passenger includes those individuals to whom transportation services are or will (prospective passengers) be provided. As explained in more detail herein, the ride hailing and provisioning system 102 may use the first location (e.g, passenger pick-up location l08a) to identify one or more vehicles 104 that can provide the requested services. For example, the ride hailing and provisioning system 102 may determine which vehicle or vehicles 104 is or are available based on various criteria. Criteria may include whether a vehicle 104 is currently providing services, an estimate time until the vehicle 104 will be available to service a new passenger 1 l4a, a proximity of a vehicle 104 to the specified passenger pick-up location 108a, 108b, a proximity of the vehicle 104 to an item pick-up location l08e, l08f at which the specified item 116a is currently available or will be available, and/or various representations of efficiency as described elsewhere herein.
[0060] In some implementations, there may be multiple item pick-up locations.
The ride hailing and provisioning system 102 may, for example, select a particular item pick-up location for a given trip based on any one or more of a variety of factors. For example, the ride hailing and provisioning system 102 may, for example, select a particular item pick-up location for a given trip based on one or more of: a geographical or straight-line distance, actual distance over a travel route, and/or estimated travel time to the respective item pick-up locations. Additionally, or alternatively, the ride hailing and provisioning system 102 may, for example, select a particular item pick-up location for a given trip based on any one or more of: a respective supply or availability of a requested item or a respective supply or availability of a portion of or an ingredient used to make a requested item at two or more item pick-up locations. Additionally, or alternatively, the ride hailing and provisioning system 102 may, for example, select a particular item pick-up location for a given trip based on any one or more of: a respective production scheduling at each of two or more item pick-up locations, a respective current order velocity at two or more item pick-up locations, and/or a respective predicted order velocity at two or more item pick-up locations. Thus, the ride hailing and provisioning system 102 can advantageously implement load balancing taking into account item or supply availability, production capability, current or predicted demand for production for two or more item pick-up locations. Such can be implemented in real time or almost real time, employing incoming orders or requests, historical orders or requests, current inventories, scheduling information, as well as information collected by various sensors ( e.g ., cameras, rotary encoders, scales or load cells) that sense actual throughput of an assembly line or warehouse.
[0061] The ride hailing and provisioning system 102 may have information representing the passenger drop-off location(s) 108c, 108d. The ride hailing and provisioning system 102 may or may not use the passenger drop-off location(s) 108c, 108d in determining which vehicles 104 are available to service a particular request, for example based on a known or estimate range of the vehicle 104, a fitness of the vehicle for a given terrain encountered on a route, etc.
[0062] In some implementations, the ride hailing and provisioning system 102 may select a single vehicle 104 and dispatch the selected vehicle 104 to provide the services, for example sending a notification without a solicitation (e.g., sending a command to an autonomous vehicle or driver). In other implementations, the ride hailing and provisioning system 102 may select two or more vehicles 104, and send solicitations or bids to the selected vehicles 104 or drivers for a particular request. The solicitations or bids may provide all or only a portion of the information. For example, in some implementations the solicitations or bids may specify only the passenger pick-up location(s) 108a, 108b, may specify the passenger pick-up location(s) 108a, 108b and either the item(s) 116a to be provided or the item pick-up location(s) 108e, 108f, or may specify the passenger pick-up location(s) 108a, 108b, either the item(s) 1 16a to be provided or the item pick-up location(s) 108e, 108f, and the passenger drop-off location(s) 108c, 108d. Thus, in at least some implementations the passenger drop-off locations 108c, 108d may at least initially be kept from the vehicles 104 or drivers of those vehicles 104.
[0063] Where the ride hailing and provisioning system 102 sends solicitations or bids, the vehicles 104 or drivers may have the option of selecting a solicitation or bid. As noted above, the solicitations or bids may include all of the information or may at least initially omit certain pieces of information (e.g., passenger drop-off location(s) 108c, 108d, item pick-up location(s)) 108e, 108f. Where the vehicles 104 are driven by a driver, the solicitations or bids may be presented via a graphical user interface, with a user selectable icon selectable by the driver to accept the solicitation or bid.
[0064] On acceptance of a given solicitation or bid the ride hailing and
provisioning system 102 may prevent others from accepting the same solicitation or bid. For example, the ride hailing and provisioning system 102 may remove the given solicitation or bid from an inventory of solicitations or bids, either with or without notification of the removal to the drivers. Optionally, on acceptance of a given solicitation or bid the ride hailing and provisioning system 102 may provide previously omitted information to the vehicle 104 or driver, for example one or more passenger drop-off locations l08c, l08d.
[0065] At one or more times during this process, the ride hailing and provisioning system 102 may arrange to have one or more items requested by passengers made available at one or more item pick-up locations l08e, l08f. For example, the ride hailing and provisioning system 102 may send instructions to an item vendor to have the item available for pick-up at the pick-up location at a time associated with the with arrival of the vehicle at the pick-up location, such as a time window around the estimated arrival time of the vehicle at the pick-up location. In an embodiment, the instructions are received by a processor-enabled device l78e (FIG. 2) at the item vendor facility 280 (FIG. 2), causing the processor-enabled device to initiate food preparation operations. For example, the instructions from the system may include, or result in, a message or command ( e.g ., command to a robot, robotic picker) to retrieve one or more items from storage (e.g., a storage bin, cubicle, drawer, rack, refrigerator) at an item vendor facility, which may be housed in a stationary building or in a vehicle serving as a mobile vendor facility. Also for example, the ride hailing and provisioning system 102 may send instructions that include, or result in, a message or command (e.g, command to a robot, robotic picker) to assemble two or more retrieved items 116a into a combination, for instance a set of edible ingredients into one or more items of food or a beverage (e.g., martini) Also for example, the ride hailing and provisioning system 102 may send instructions to the item vendor which include, or result in, a message or command (e.g, command to a robot, robotic picker) to cook or otherwise prepare (e.g, blend a smooth, brew coffee) the retrieved one or more items. Also, for example, the ride hailing and provisioning system 102 may send instructions to the item vendor which include, or result in, a message or command (e.g, command to a robot, robotic picker) to assemble two or more retrieved items into a kit or carton or container or packaging. Also, for example, the ride hailing and provisioning system 102 may send instructions to the item vendor which include, or result in, a message or command ( e.g ., command to a robot, robotic picker) to cause the requested items to be present for easy pick-up, e.g., at a window.
[0066] The passenger pick-up location information, item pick-up location information, and passenger drop-off location information may be used by an on- board system on the vehicle 104 to either generate routing information on-board the vehicle or to request and receive routing information from a source off-board the vehicle 104, for instance a third party service traffic and navigation service (e.g., Google® maps, Waze®, Garmin®, Apple® maps). Alternatively, the ride hailing and provisioning system 102 may provide routing information to the vehicle 104 or the driver.
[0067] The ride hailing and provisioning system 102 may automatically charge the passenger(s), for instance at the termination of a ride. Where a driver is involved, the ride hailing and provisioning system 102 may automatically credit the driver or a financial account associated with the driver, for instance at the termination of a ride. In some implementations, the ride hailing and provisioning system 102 may automatically credit an owner of the vehicle 104 or a financial account associated with the owner of the vehicle 104 even where the owner of the vehicle 104 is not the driver or where the vehicle 104 is an autonomous vehicle, for instance at the termination of a ride.
[0068] The various instances of communications or portion thereof described above can take the form of wireless messages delivered via conventional wireless communications network (e.g.. cellular communications network) 112.
[0069] FIG. 2 and the following discussion provide a brief, general description of a ride hailing and provisioning system 102. While described as a single system, one of ordinary skill in the art would readily appreciate that some or all of the functionality of the ride hailing and provisioning system 102 may be performed using one or more additional processor-based devices or computing devices. The ride hailing and provisioning system 102 may cover all of a geographic region, e.g., a nation, a state, a country, a province, a city. Additionally or alternatively, multiple instances of ride hailing and provisioning systems 102 may be implemented or instantiated, which may service respective geographic regions, respective modes of transport, or which overlap geographic regions and/or overlap modes of transport.
[0070] Although not required, some portion of the implementations or
embodiments will be described in the general context of computer-executable instructions or logic, such as program application modules, objects, or macros being executed by a computer. Those skilled in the relevant art will appreciate that the illustrated implementations or embodiments as well as other implementations or embodiments can be practiced with other computer system configurations, including handheld devices for instance Web enabled cellular phones or PDAs, multiprocessor systems, microprocessor-based or programmable consumer electronics, personal computers (“PCs”), network PCs, minicomputers, mainframe computers, and the like. The implementations or embodiments can be practiced in distributed computing environments where tasks or modules are performed by remote processing devices, which are linked through a communications network. In a distributed computing environment, program modules may be stored in both local and remote memory storage devices and executed using one or more local or remote processors, microprocessors, digital signal processors, controllers, or combinations thereof.
[0071] The ride hailing and provisioning system 102 may take the form of any current or future developed computing system capable of executing one or more instruction sets. The ride hailing and provisioning system 102 include one or more processors (/. e. , circuitry) 206, one or more nontransitory processor-readable medium (e.g., memory) 208 and one or more communications channels (e.g., buses) 210 that communicably couples various system components including the more nontransitory processor-readable medium(s) 208 to the processor(s) 206. The ride hailing and provisioning system 102 will at times be referred to in the singular herein, but this is not intended to limit the embodiments to a single system, since in certain embodiments, there will be more than one system or other networked computing device involved. Non-limiting examples of commercially available systems include, but are not limited to, an Atom, Pentium, or 80x86 architecture microprocessor as offered by Intel Corporation, a Snapdragon processor as offered by Qualcomm, Inc., a PowerPC microprocessor as offered by IBM, a Sparc microprocessor as offered by Sun Microsystems, Inc., a PA-RISC series
microprocessor as offered by Hewlett-Packard Company, an A6 or A8 series processor as offered by Apple Inc., or a 68xxx series microprocessor as offered by Motorola Corporation.
[0072] The processor(s) 206 may be any logic processing unit, such as one or more central processing units (CPUs), microprocessors, digital signal processors (DSPs), graphics processing units (GPUs), application- specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), etc. Unless described otherwise, the construction and operation of the various blocks shown in FIG. 2 are of
conventional design. As a result, such blocks need not be described in further detail herein, as they will be understood by those skilled in the relevant art.
[0073] The communications channel(s) 210 can employ any known bus structures or architectures, including a memory bus with memory controller, a peripheral bus, and a local bus. The more nontransitory processor-readable medium 208 includes nonvolatile memory, e.g, read-only memory (“ROM”) 212 and volatile memory, e.g ., random access memory (“RAM”) 214. A basic input/output system (“BIOS”) 216, which can form part of the ROM 212, contains basic routines that help transfer information between elements within the system 102, such as during start-up. Some implementations may employ separate buses for data, instructions and power.
[0074] The ride hailing and provisioning system 102 also includes nontransitory processor-readable media in the form of one or more internal nontransitory storage systems 218. Such internal storage systems 218 may include, but are not limited to, any current or future developed persistent storage device 220. Such persistent storage devices 220 may include, without limitation, magnetic storage devices such as hard disc drives, electromagnetic storage devices such as memristors, molecular storage devices, quantum storage devices, electrostatic storage devices such as solid state drives, and the like.
[0075] The ride hailing and provisioning system 102 may also include
nontransitory processor-readable media in the form of one or more optional removable nontransitory storage systems 222. Such removable nontransitory storage systems 222 may include, but are not limited to, any current or future developed removable persistent storage device 226. Such removable persistent storage devices 226 may include, without limitation, magnetic storage devices, electromagnetic storage devices such as memristors, molecular storage devices, quantum storage devices, and electrostatic storage devices such as secure digital (“SD”) drives, USB drives, memory sticks, or the like.
[0076] The one or more internal nontransitory storage systems 218 and the one or more optional removable nontransitory storage systems 222 communicate with the processor(s) 206 via the communications channel(s) (e.g., system bus) 210. The one or more internal nontransitory storage systems 218 and the one or more optional removable nontransitory storage systems 222 may include interfaces or device controllers (not shown) communicably coupled between nontransitory storage system and the system bus 210, as is known by those skilled in the relevant art. The nontransitory storage systems 218, 222, and their associated storage devices 220,
226 provide nonvolatile storage of computer-readable instructions, data structures, program modules and other data for the processor(s) 206. Those skilled in the relevant art will appreciate that other types of storage devices may be employed to store digital data accessible by a computer, such as magnetic cassettes, flash memory cards, Bernoulli cartridges, RAMs, ROMs, smart cards, etc. [0077] Program modules can be stored in the nontransitory processor-readable medium ( e.g ., memory) 208, such as an operating system 230, one or more application programs 232, other programs or modules 234, drivers 236 and program data 238.
[0078] The application programs 232 may, for example, include one or more machine executable instruction sets that, when executed, cause at least one processor ( i. e ., circuitry) to implement various aspects of ride hailing and
provisioning services.
[0079] For example, a first set of machine executable instructions (vehicle identification) 232a may cause one or more processors to identify one or more suitable vehicles to provide the requested services in response to requests for such services received via one or more networks or communications channels. As described in detail herein, such identification can be based various parameters or criteria, for example availability of the vehicle, proximity of the vehicle to passenger pick-up location(s), proximity of the vehicle to item pick-up location(s), suitability of the vehicle to a task or road conditions, various indicators of efficiency, etc.
[0080] Also, for example, a second set of machine executable instructions
(bidding) 232b may optionally cause the processor(s) to transmit solicitations or bids to the identified vehicles where the vehicle is autonomous vehicle or to drivers of those vehicles where the vehicle is not an autonomous vehicle. The second set of machine executable instructions (bidding) 232b may cause the processor(s) to determine when a solicitation or bid is accepted and prevent other vehicles from accepting the solicitation or bid. The second set of machine executable instructions (bidding) 232b may prevent other vehicles or drivers from accepting a solicitation or bid after another vehicle or drive has accepted the solicitation or bid.
[0081] Also, for example, a third set of machine executable instructions (dispatch) 232c may cause the processor(s) to provide text, voice, and/or graphical dispatch instructions to dispatch the vehicle to one or more passenger pick-up locations, one or more item pick-up locations, one or more rendezvous locations in a desired order (e.g, pick-up items before picking up passengers). The dispatch instructions may include information specifying the locations and the order in which the locations should be visited, and optionally times or approximate times at which the vehicle should arrive at the specified locations. Locations may be specified using longitude and latitude, global positioning coordinates, street addresses, etc. The dispatch instruction typically will not include routing instructions, but will rather allow the vehicle or drive to receive routing instructions (e.g., tum-by-tum navigation instructions) in real time, for instance via a third party mapping or navigation service (e.g, Google® Maps, Waze®, Garmin®, Apple Maps®), to navigate or route the vehicle between locations. Alternatively, some implementations can provide navigation or routing instructions along with the dispatch instructions.
[0082] The third set of machine executable instructions (dispatch) 232c may also cause the processor(s) to in turn cause one or more food preparation units or appliances (e.g, cooking appliance 272a, cooling appliance 272b (collectively 272), lockers 274 or robots 276 to take a defined action with an item requested by the passenger(s), for example, cooling, heating, cooking, securing, releasing, assembling, packaging, the item(s), taking into account an estimated time at which the passenger(s) may wish to consume the item where the item is a food or beverage. The third set of machine executable instructions (dispatch) 232c may determine instructions for taking action with or performing actions on the requested items. The determined instructions may, for example, be provided to one or more processor-based devices such as an on-board device 178a, 178b, which is on-board each of the respective vehicles 104a, 104b. In some implementations, the on-board devices 178a, 178b may be communicatively coupled to control operation of the on- board appliances 272, lockers 274, or robots 276. Executable instructions can be determined using any number of inputs including at least, the food type in a particular appliance 272 and the available time before reaching a desired destination ( e.g ., passenger pick-up location, passenger drop-off location, rendezvous location). Such a set of executable instructions may be executed in whole or in part by one or more controllers of the appliance(s) 272, lockers 274, and/or robots 276 installed in some or all of the vehicles 104. Application programs 232 may, for example, be stored as one or more executable instructions in any form of nontransitory storage media.
[0083] Also, for example, a fourth set of machine executable instructions
(Ordering) 232d may cause the processor(s) to order or arrange for the requested items to be made available at one or more item pick-up locations within specified time frames. In some implementations, the fourth set of machine executable instructions (Ordering) 232d may facilitate the submission of an order for an item via an order processing system, the order to be fulfilled by an item vendor facility 280 as illustrated in FIG. 2, such as a commissary, restaurant, kitchen, supermarket, grocery store, fulfillment center, or food truck. In some implementations, the item vendor facility 280 includes a processor-enabled device l78e in communication with the network to receive orders and instructions from the system 102 or from the ordering system via the network (base stations 1 l2a-c). The fourth set of machine executable instructions (Ordering) 232d may select a pick-up location that is on or close to a route of a vehicle that transports the passengers, or a pick-up location that is close to a rendezvous location that is on or close to a route of a vehicle that transports the passengers, typically minimizing a travel time or distance to be traveled by a vehicle that picks up the item.
[0084] The nontransitory processor-readable medium (e.g., memory) 208 may also include other programs/modules 234, such as including logic for calibrating and/or otherwise training various aspects of the system 102. The other programs/modules 234 may additionally include various other logic for performing various other operations and/or tasks. [0085] The nontransitory processor-readable medium (e.g, memory) 208 may also include any number of communications programs 240 to permit the ride hailing and provisioning system 102 to access and exchange data with other systems or components, such as devices installed in each of the vehicles 104.
[0086] While shown in FIG. 2 as being stored in the nontransitory processor- readable medium (e.g, memory) 208, all or a portion of the operating system 230, application programs 232, other programs/modules 234, drivers 236, program data 238 and communications 240 can be stored on the persistent storage device 220 of the one or more internal nontransitory storage systems 218 or the removable persistent storage device 226 of the one or more optional removable nontransitory storage systems 222.
[0087] A user (e.g, system operator) can enter requests and interact with the ride hailing and provisioning system 102 using one or more input/output (I/O) devices or user devices 242, 1 l5a, 1 l5b. Such I/O devices 242 may include any current or future developed input device capable of transforming a user action or a received input signal to a digital input. Example input devices include, but are not limited to, a touchscreen, a physical or virtual keyboard, a microphone, a pointing device, or the like, typically associated with a smartphone or other device owned or operated by a user. These and other input devices are connected to the processor(s) 206 through an interface 246 such as a universal serial bus (“USB”) interface
communicably coupled to the system bus 210, although other interfaces such as a parallel port, a game port or a wireless interface or a serial port may be used. A display 270 or similar output device is communicably coupled to the system bus 210 via a video interface 250, such as a video adapter or graphical processing unit (“GPU”).
[0088] In some embodiments, the ride hailing and provisioning system 102 operates in an environment using one or more of the network interfaces 256 to optionally communicably couple to one or more remote computers, servers, display devices 270 and/or other devices via one or more communications channels, for example, one or more networks such as the network (base stations 1 l2a-c). These logical connections may facilitate any known method of permitting computers to communicate, such as through one or more LANs and/or WANs. Such networking environments are well known in wired and wireless enterprise-wide computer networks, intranets, extranets, and the Internet.
[0089] A user (e.g., passenger, potential passenger) can enter requests and interact with the ride hailing and provisioning system 102 using one or more input/output (I/O) devices, such as user device 1 l5a, 1 l5b, which may a smartphone, tablet computer, desktop computer, laptop computer, wearable device such as a smartwatch, or another computing device. The input/output (I/O) devices may be communicatively coupled to the ride hailing and provisioning system 102 via one or more communications networks, for instance one or more cellular communications networks. The ride hailing and provisioning system 102 may operate as a server, receiving requests for ride hailing and provisioning, identifying suitable vehicles for servicing those requests, and subsequently dispatching vehicles to service those requests.
[0090] Further, a database interface 252, which is communicably coupled to the system bus 210, may be used for establishing communications with a database 260 stored on one or more computer-readable media. For example, such a database 260 may include a repository for storing information regarding food item cooking conditions as a function of time, etc.
[0091] FIG 3 shows a high-level method 300 of operation in a processor-based system to provide combined ride hailing and item pick-up transportation services, according to at least one illustrated implementation. The method 300 may be executed by one or more components of the processor-based ride hailing and provisioning system 102 (FIGS. 1 and 2). [0092] The method 300 starts at operation 302 from a call, invocation from a calling routine, detection of a request, or powering up of at least one component of the processor-based system 102 At operation 305, at least one component of the system 102 receives a request for transportation of one or more passengers from a first location ( e.g ., passenger pick-up location) to a second location (e.g, passenger drop-off location) and for one or more items to be made available to the one or more passenger during the requested transportation. For example, a passenger may request transportation from an airport to an office or hotel, and may request a specific snack or meal (e.g, cooked meal) or beverage (e.g, prepared cocktail) to be available on the vehicle during the trip. Also, for example, a passenger may request transportation from an office to a home, and may request a specific meal kit (e.g, defined set of edible ingredients to prepare a specific meal packaged one a per meal basis), cooked meal, groceries (e.g, edible items, which typically are not packaged on a per meal basis) or retail items be available on the vehicle during the trip.
[0093] At operation 305, the request may be received, for example, from a processor-enabled device, such as user device 1 l5a, 115b (FIGS. 1 and 2). The passenger(s) may place the request using an application executing on the user device. The application may be a dedicated application for the service, or may be a browser running a Web-based interface. The request may be received via a processor-based system 102, for example a backend system or server.
[0094] At 310, in response to the at least one request, at least one component of the processor-based system 102 determines a number of vehicles that satisfy a set of criteria. The set of criteria may include current or predicted availability of a vehicle, a current proximity of the vehicles to a defined location (e.g, passenger pick-up location, item pick-up location). The at least one component of the processor-based system 102 (e.g, back end system or server) may process the request, for instance employing information representing a present or even a predicted location of one or more vehicles, various available routes, and/or current or estimated traffic or travel conditions. In an embodiment, the system 102 can access data from the on-board devices l78a-d indicating locations of the respective vehicles l04a-d. Thus, the at least one component of the processor-based system 102 may receive information in real or near-real time that represents a current location of the vehicles. In some embodiments the data may be pushed to the system 102, and in other embodiments the data may be received in response to requests for the data.
[0095] Proximity may be defined or represented in various forms, for example geographic proximity in terms of actual travel distance or alternatively straight line or“as the crow flies” distance. Also, for example, the proximity may be defined or represented in terms of actual or estimate travel time, which may take into account current and/or predicted traffic conditions on one or more available routes for the vehicle. Also, for example, the proximity may be defined or represented in terms of a predicted efficiency in providing the transportation. Predicted efficiency in providing the transportation may be represented as any one or more of a predicted elapsed total trip time, a predicted estimated time of arrival at the passenger pick-up location, a predicted estimated time of arrival at the item pick-up location, a predicted total fuel expenditure for the transportation. Any of the above may be assessed based on routes that only include passenger pick-up and drop-off locations, or that also include item pick-up locations, and optionally vehicle rendezvous locations ( /. e. , locations at which two vehicles meet up, for example to transfer items picked up by one vehicle to another vehicle which carries the passenger(s)).
[0096] The processor-based system 102 (FIGS. 1, 2) may employ one or more constraint satisfaction problem solving techniques and/or optimization problem ( e.g ., traveling salesmen problems) solving techniques to generate solutions or potential solutions which solve one or more constraints. Constraints may include an actual current availability of the vehicle or a predicted or likely availability of the vehicle within a time frame. The predicted or likely availability of the vehicle may be based on an estimated time of arrival of the vehicle at a destination for a ride that the vehicle is currently servicing, and may take into account actual or real time traffic conditions on a route that the vehicle is traveling to the destination. In some implementations, the availability constraint may be a constraint that must be satisfied (e.g, the state available must be true for the vehicle to avoid being omitted from the resulting set of determined vehicles), whereas one or more other constraints may be satisfied within a range, optionally satisfied, or alternatively optimized rather than satisfied. For example, other constraints may be proximity to a location (e.g, passenger pick-up location, item pick-up location), whether represented in terms of actual travel distance, straight line distance, estimated travel time or estimated time of arrival at the passenger pick-up location. Other constraints may include estimated travel time to travel to or arrive at a rendezvous location. For example, it may be to have two or more vehicles arrive at a common location, for instance to transfer items, which minimizing at time at which the rendezvous occurs and/or a time that any one or more of the vehicles spends waiting for other ones of the vehicles. The proximity constraint may not need to be satisfied, as opposed to being optimized. The overall problem may be treated as an
optimization problem, finding the vehicle(s) that best satisfies each of the other constraints, with the availability constraint having to be satisfied.
[0097] Still referring to FIG. 3, at operation 315, in response to the request, one or more components of the system 102 determine one or more routes to enable transportation of the passenger(s) and pickup of the item. In an example, the route includes at least the first location (e.g., a passenger pick-up location) and a second location (passenger drop off location), and a pick-up location for the requested item. Various implementations may determine the route based on traffic flows, estimated travel time, total distance.
[0098] Moving on to operation 320, dispatch information is sent, via a wireless network, to an on-board device of the vehicle selected to provide transportation. In an embodiment, the dispatch information includes pertinent information such as the determined route, coordinates or addresses of the pick-up and drop-off locations, expected or estimated arrival times, identification or other information regarding the one or more passengers, identification or other information regarding the at least one item to be picked up, estimated trip time, advisories, and/or item handling information (e.g., cooking directions, cooling requirements) for one or more of the items. The dispatch information serves to instruct the vehicle to pick up the requested item from the item pick-up location, pick up the one or more passengers from the first location, and to transport the passengers to the second location. In an embodiment, the instructions may be employed by a navigation system or otherwise presented visually and/or audibly by the on-board device to a person operating the vehicle, or if the vehicle is autonomous, the on-board device can serve to operate the vehicle accordingly such as by sharing the information with a separate vehicle control system. The route information may be determined so as to specify whether the vehicle should travel to the item pick-up location to pick up the item before or after the vehicle travels to the first location to pick up the passengers. In an embodiment, the dispatch information directs the vehicle in such a specified sequence of locations on the route.
[0099] At operation 325, at least one component of the system 102 sends instructions to cause the item to be made available at the pick-up location at an appropriate or defined time, such a time window that coincides with transporting the passengers between first and second locations, or a time when the vehicle is expected to arrive at the pick-up location. In an exemplary implementation, the system 102 transmits instructions via the network (base stations 112a-c) to a processor-enabled device such as device 178e (FIG. 2) at an item vendor facility 280 (FIG. 2) to provide the requested item. The instructions may specify a type and quantity of items being requested, food preparation or packaging preferences (e.g., cooked medium rare, double bag the item, refrigerate the item, heat the item.). In operation 325, the instructions to the item vendor further include information regarding a time when the requested items should be ready at the pick-up location. In some implementations, for example where the item vendor has automated food preparation units the instructions may be employed to initiate automated food preparation operations or used to generate instructions for such automation.
[00100] The system 102 can receive updated conditions at operation 330. The system 102 may receive information regarding conditions pertinent to the trip, such as vehicle location, traffic, estimated times of arrival at locations on the route, operational status of the vehicle, item availability, and so on. In some
implementations such information may be pushed to the system 102 by the vehicle on-board devices, item vendor devices, or user devices of the passengers.
[00101] At operation 335, at least one component of the system 102 detects whether there has been a change in an estimated time of arrival of the vehicle at the item pick-up location. For example, if traffic conditions worsen, an estimated arrival time would be later than previously predicted. In an implementation, when such a change is detected, the method branches to operation 340 at which the system sends updated instructions to the item vendor, including the updated timing information. The item vendor may use this information to modify preparation operations so complete preparation more quickly or slowly depending on the situation, such that the item is ready to be picked up when the vehicle arrives at the pick-up location.
[00102] The method 300 terminates or ends at operation 345, for example upon conclusion or cancelation of the trip, until called or invoked again. Alternatively, the method 300 may repeat either periodically, aperiodically, or continually. The method 300 may, for example, operate as separate threads on a multi- threaded processor, each one servicing a respect request from a passenger.
[00103] Turning to FIG. 4, a method 400 of operation in a processor-based system to provide combined transportation and item pick-up, according to at least one illustrated implementation. The method 400 may be implemented in addition to or as part of the method 300 (FIG. 3). The method 400 may be executed by one or more components of the processor-based ride hailing and provisioning system 102 (FIGS. 1 and 2).
[00104] At operation 402, at least one component of the processor-based system 102 sends or transmits solicitation(s) or bid(s) to determined vehicle(s). For example, at least one component of the processor-based system 102 (FIGS. 1, 2) causes solicitation(s) or bid(s) to be wirelessly broadcast, multicast or unicast to the determined vehicle(s) within a defined proximity of a passenger pick-up location, for instance via one or more cellular communications networks. The solicitation(s) or bid(s) may include an identity of a passenger and may specify one or more passenger pick-up locations or approximate passenger pick-up locations. The solicitation(s) or bid(s) may specify one or more items and, or one or more item pick-up locations or approximate item pick-up locations. The at solicitation(s) or bid(s) may optionally specify a passenger drop-off location or approximate passenger drop-off location. The solicitation or bid may be time limited, for example including an expiration time after which the solicitation or bid becomes stale and can no longer be accepted. Such may be implemented inherently in the specification or logic of the solicitation or bid.
[00105] At operation 404, at least one component of the processor-based system 102 (FIGS. 1, 2) receives acceptance by a vehicle of a solicitation or bid. For example, the at least one component of the processor-based system 102 (FIGS. 1, 2) may receive a message or other information that indicates that a vehicle or driver has accepted the solicitation or bid. The message may be sent by the vehicle or driver using one or more radios, via one or more wireless communications networks. For example, the radio may be part of a smartphone operated by a driver or part of a head unit or other portion of the vehicle. The smartphone or head unit may execute a dedicated application, that is a set of logic instructions specific to the ride sharing and provisioning. Alternatively, the smart phone or head unit may execute a more general set of instructions, for instance a Web browser. [00106] At operation 406, at least one component of the processor-based system 102 (FIGS. 1, 2) dispatches a vehicle whose bid was accepted. For example, the at least one component of the processor-based system 102 (FIGS. 1, 2) may send or transmit information identifying the passenger(s), the passenger pick-up location(s), item pick-up location(s), optional rendezvous location(s), and optionally passenger drop-off location(s). Again, the at least one component of the processor-based system 102 may rely at least in part on a wireless bi-directional communications network (e.g, a third-party cellular network) for communications with the vehicles.
[00107] At operation 408, at least one component of the processor-based system 102 may refuse any subsequent acceptances of the solicitation or bid from other ones of the determined vehicles.
[00108] FIG. 5 illustrates a method 500 of operation in a processor-based system to provide combined transportation and item pick-up, according to at least one illustrated implementation. The method 500 includes operation 310A which may be implemented as an alternative to, or in addition to, operation 310 of method 300 (FIG. 3), for example between operations 305 and 315. The method 500 may be executed by one or more components of the processor-based ride hailing and provisioning system 102 (FIGS. 1 and 2).
[00109] At operation 310B, at least one component of the processor-based system 102 determines which vehicle(s) satisfy the condition(s) to service the request based on a current or predicted availability of the vehicle and a current proximity of a respective vehicle to one or more item pick-up location. The current proximity may be in terms of any one or more of: geographic distance, either straight line distance (“as the crow flies”) or actual distance to be traversed, an estimated transit time or estimated arrival time which may take into account estimated or real time traffic conditions and weather conditions, and an estimated fuel consumption.
[00110] FIG. 6 illustrates a method 600 of operation in a processor-based system to provide combined transportation and item pick-up, according to at least one illustrated implementation. The method 600 includes operation 310B which may be implemented as an alternative to, or in addition to, operation 310 of method 300 (FIG. 3), for example between operations 305 and 315. The method 600 may be executed by one or more components of the processor-based ride hailing and provisioning system 102 (FIGS. 1 and 2).
[00111] At 310B, at least one component of the processor-based system 102 determines which vehicle(s) satisfy the condition(s) to service the request based on a current or predicted availability of the vehicle and a current proximity of a respective vehicle to one or more passenger pick-up locations. The current proximity may be in terms of any one or more of: geographic distance, either straight line distance (“as the crow flies) or actual distance to be traversed, an estimated transit time or estimated arrival time which may take into account estimated or real time traffic conditions and weather conditions, and an estimated fuel consumption.
[00112] FIG. 7 illustrates a method 700 of operation in a processor-based system to provide combined transportation and item pick-up, according to at least one illustrated implementation. The method 700 may be implemented in addition to or as part of the method 300 (FIG. 3). The method 700 may be executed by one or more components of the processor-based ride hailing and provisioning system 102 (FIGS. 1 and 2).
[00113] At operation 702, at least one component of the processor-based system 102 assesses, for respective vehicles, available routes that include both item pick-up location(s) and passenger pick-up location(s) based at least in part on a predicted efficiency in providing the transportation. The predicted efficiency may for example, be represented or calculated in terms of any one or more of predicted elapsed total trip time, predicted estimated time of arrival at passenger pick-up location(s), predicted estimated time of arrival at item pick-up location, predicted estimated time of arrival at rendezvous location, and predicted total fuel
expenditure.
[00114] FIG. 8 illustrates a method 800 of operation in a processor-based system to provide combined transportation and item pick-up, according to at least one illustrated implementation. The method 800 may be implemented in addition to or as part of the method 300 (FIG. 3). The method 800 may be executed by one or more components of the processor-based ride hailing and provisioning system 102 (FIGS. 1 and 2).
[00115] At operation 802, at least one component of the processor-based system 102 submits one or more orders for at least one of the items requested by the
passenger(s). The requested can take any of a large variety of forms, for example any one or more of: cooked meals, prepared meals, meal kits, groceries, and/or retail items. The order specifies a location at which the item(s) should be made available or ready for pick-up at a scheduled item pick-up time or period of time. The orders may specify a condition of an item, e.g., raw, pre-cooked, cooked, warmed, cooled, mixed, dressed, packaged.
[00116] FIG. 9 illustrates a method 900 of operation in a processor-based system to provide combined transportation and item pick-up, according to at least one illustrated implementation. The method 900 may be implemented in addition to or as part of the method 300 (FIG. 3). The method 900 may be executed by one or more components of the processor-based ride hailing and provisioning system 102 (FIGS. 1 and 2).
[00117] At operation 902, at least one component of the processor-based system 102 arranges (e.g., orders) for the requested item(s) to be available at one or more item pick-up locations, typically to be made available within a defined time frame of a time associated with the transportation of the one or more passengers from the first location to the second location. For example, one or more request for various items may be submitted via an item ordering system. The requests may indicate or specify the type of item ( e.g ., food item, cold meal, cooked meal, warm meal, beverage, meal kit, groceries, sundries, retail items), and optionally a condition of the item (e.g., cooked, cool, warm, packaged). The requests may indicate a specific location for the item to be picked up or retrieved, and a window of time during which the item will be picked up or retrieved. The request may also indicate an identity of a vehicle or driver that will pick up or retrieve the item. In some instances, the request may specify an item pick-up location which is different from a location at which the item is prepared or warehoused. For example, an item pick-up location may be a location along a route of a vehicle (e.g, vehicle dispatched to carry passengers or vehicle dispatched to pick up or retrieve item(s), or a vehicle dispatched to both carry passengers and to pick up or retrieve item(s)), and a drone (e.g, airborne quadcopter, land-based drone, water-based drone) may be dispatched from a commissary, restaurant, kitchen, supermarket, grocery store, warehouse, fulfilment center to the specified pick-up location along the route of the vehicle at which the vehicle picks up the requested item(s).
[00118] At operation 904, a vehicle 104 (FIGS. 1, 2) picks up the one or more requested items at the one or more item pick-up locations. Items may be manually loaded into the vehicle or automatically loaded, for example via one or more robotic appendages or a conveyor.
[00119] At operation 906, one or more humans or machines transfers the one or more requested items to an appliance carried by vehicle. The appliance can take a variety of forms, for example a refrigerator, a freezer, or an oven. The machines may take a variety of forms, for example one or more robotic appendages or conveyors (e.g, conveyor belt). The machine may be part of the vehicle itself, or may be separate therefrom. The picking up of the item and loading into the appliance may constitute a single act or operation.
[00120] At operation 908, the appliance on the vehicle may operate on the requested item, for example while traveling to a passenger pick-up location or a passenger drop-off location. For instance, a refrigerator may cool the item, a freezer may freeze the item, or an oven may cook or heat the item. One or more robotic appendages may be employed to mix, assembly or other interact with the item(s) and/or package the item(s).
[00121] Turning to FIGS 10A-10B, a method 1000 of operation is provided in which the system 102 can dispatch two vehicles to meet at a rendezvous location (such as l08g, l08h of FIG. 1) to transfer an item to a vehicle carrying passengers en route to a different drop off location. More particularly, as shown in FIG. 10A after the process starts at operation 1002, at operation 1005 at least one component of the system 102 (FIGS. 1, 2) receives, from a user device, at least one request for transportation of one or more passengers from a first location to a second location and for at least one item to be made available to the one or more passengers during the requested transportation. At operation 1010, at least one component of the system 102 determines multiple vehicles that satisfy criteria including current proximity of the vehicle to a defined location, such as a passenger pick-up location, an item pick-up point, a first rendezvous location, etc. In an implementation, operation 1010 may function similarly to operation 310 as described in connection with FIG. 3, operation 310A as described in connection with FIG. 4, or operation 310B as described in connection with FIG. 6.
[00122] At operation 1015, the system 102 (FIGS. 1, 2) determines a passenger route including the first location, the second location, and a first rendezvous location at which the at least one requested item will be transferred. Also at operation 1015, the system determines an item route that includes an item pick-up location and the first rendezvous location.
[00123] At operation 1020, the system 102 (FIGS. 1, 2) sends first dispatch information to an on-board device of a first one of the vehicles, the dispatch information instructing the vehicle to travel to the first location to pick up the one or more passengers for transport to the second location via a first rendezvous location. The first dispatch information causes the first one of the vehicles to be dispatched to one or more rendezvous locations. The rendezvous locations are locations at which two vehicles meet up, for example to transfer items picked up by one vehicle to another vehicle which carries the passenger(s). The rendezvous location(s) are preferably along a route between the passenger pick-up location(s) and the passenger drop-off location(s).
[00124] At operation 1025, the system 102 (FIGS. 1, 2) sends second dispatch information to an on-board device of a second one of the vehicles, the second dispatch information instructing the vehicle to travel to a first pick-up location to pick up at least a first item and subsequently travel to the first rendezvous location to transfer the at least a first item to the first vehicle.
[00125] The at least one component of the processor-based system 102 can provide information for dispatching the vehicles to the passenger pick-up locations, passenger drop-off locations, item pick-up locations and/or rendezvous locations in a variety of forms. For example, the information may be stored in a data structure which, includes multiple fields or records that inherently encode an order in which the locations are to be traversed. Such may not actually constitute a route, but rather an itinerary defined by a sequence of locations to be visited in a defined order, but advantageously allowing routes between locations to be determined or generated in real time or almost real time, for example using third party mapping services (e.g., Google® maps, Waze®, Garmin®, Apple® maps). The data structure may, for example, take the form of a linked list, in which an entry for each location is successively linked in the list to the next successive location in the itinerary.
[00126] At operation 1030, the system 102 (FIGS. 1, 2) sends instructions that cause an item vendor to make the at least one item available at the first item pick-up location at a time associated with arrival of the second vehicle at the first item pick- up location. In an implementation, operation 1030 may function similarly to operation 325 as described in connection with FIG. 3. [00127] Turning to FIG. 1 OB, the process may sometimes additionally include operations 1035 and 1040, enlisting a third vehicle and a second rendezvous location. In an implementation, at operation 1034 the system 102 (FIGS. 1, 2) sends third dispatch information to a third one of the determined vehicles to be dispatched to at least a second item pick-up location to pick up at least a second one of the requested items, and subsequently travel to the a second rendezvous location to meet with the first one of the determined vehicles and transfer at least the second one of the requested items from the third one of the determined vehicles to the first one of the determined vehicles. At operation 1040, the system 102 (FIGS. 1, 2) sends instructions that cause an item vendor to make the at least the second one of the requested items available at the second item pick-up location at a time associated with arrival of the third vehicle at the second item pick-up location. The process then terminates at end operation 1045.
[00128] In some implementations, the ride sharing logistics and the provisioning logistics may be operated or provided by the same provider or company, for instance with its own backend system(s). In some implementations, the ride sharing logistics may be operated or provided by a first provider or company, for instance with its own backend system(s), while the provisioning may be operated by a second provider or company with its own backend system. The respective backend systems may be communicatively coupled or communicate to coordinate the provisioning with the ride sharing, for instance with respect to locations and times of arrival at given locations.
[00129] In some implementations, the ride sharing logistics may be operated by a first provider or company, for instance with its own backend system. The provisioning may be operated by a second provider or company with its own backend system. Additional Notes and Examples
[00130] The disclosure presented herein may be considered in view of the following examples.
[00131] Example A: A computer-implemented method to provide transportation services, the method comprising: receiving, from a user device, at least one request for transportation of one or more passengers from a first location to a second location and for an item to be made available to the one or more passengers during the requested transportation; determining a route that includes the first location, second location, and at least one item pick-up location; sending dispatch
information to an on-board device of a selected vehicle, the dispatch information instructing the vehicle to the pick-up location, which may include a route to the pick-up location; and sending instructions that cause an item vendor to make the item available at the item pick-up location at a time associated with arrival of the vehicle at the pick-up location.
[00132] Example B: The computer- implemented method of Example A, wherein the route is such that the passenger vehicle arrives at the item pick-up location before the vehicle arrives at the first location.
[00133] Example C: The computer- implemented method of Examples A and B, wherein the route is such that the passenger vehicle arrives at the item pick-up location after the passenger vehicle arrives at the first location and before the vehicle arrives at the second location.
[00134] Example D: The computer- implemented method of Examples A-C, wherein the instructions cause a processor-enabled device of the item vendor to initiate one or more automated operations to retrieve the item.
[00135] Example E: The computer- implemented method of Examples A-D, wherein the item is food, and wherein the instructions cause a processor-enabled device at the item vendor to initiate one or more automated food preparation operations. [00136] Example F: The computer- implemented method of Examples A-E, further comprising: detecting a change in an estimated arrival time of the vehicle to the pick-up location; and sending updated instructions to the item vendor.
[00137] Example G: The computer- implemented method of Examples A-F, further comprising: determining one or more passenger vehicles that satisfy a set of criteria including at least a current proximity of the vehicles to at least one location on the route.
[00138] Example H: The computer- implemented method of Examples A-G, further comprising: sending a bid to at least one of the determined vehicles; and receiving an acceptance of the bid by one of the vehicles.
[00139] Example I: The computer- implemented method of Examples A-H, further comprising: refusing any subsequent acceptances of the bid from other determined vehicles.
[00140] Example J: A ride hailing and provisioning system having a processor, a memory in communication with the processor, the memory having computer- readable instructions stored thereon that, when executed by the processor, cause the processor to: receive, from a user device, at least one request for transportation of one or more passengers from a first location to a second location and for an item to be made available to the one or more passengers during the requested transportation; determine a route that includes the first location, second location, and at least one item pick-up location; send dispatch information to an on-board device of a selected vehicle, the dispatch information instructing the vehicle to the pick-up location, which may include a route to the pick-up location; and send instructions that cause an item vendor to make the item available at the item pick-up location at a time associated with arrival of the vehicle at the pick-up location.
[00141] Example K: The system of Example J, wherein the route is such that the passenger vehicle arrives at the item pick-up location before the passenger vehicle arrives at the first location. [00142] Example L: The system of Examples J and K, wherein the route is such that the passenger vehicle arrives at the item pick-up location after the passenger vehicle arrives at the first location and before the passenger vehicle arrives at the second location.
[00143] Example M: The system of Examples J-L, wherein the item is food, and wherein the instructions cause a processor-enabled device at the item vendor to initiate one or more automated food preparation operations.
[00144] Example N: The system of Examples J-M, wherein the instructions further cause the processor to: detect a change in an estimated arrival time of the vehicle to the pick-up location; and send updated instructions to the item vendor.
[00145] Example O: The system of Examples J-N, wherein the instructions further cause the processor to: determine one or more vehicles that satisfy a set of criteria including at least a current proximity of the passenger vehicles to at least one location on the route.
[00146] Example P: The system of Examples J-O, wherein the instructions further cause the processor to: send a bid to at least one of the determined vehicles; and receive an acceptance of the bid by one of the vehicles.
[00147] Example Q: The computer- implemented method of Examples J-P, further comprising: refusing any subsequent acceptances of the bid from other determined vehicles.
[00148] Example R: A computer- implemented method to provide transportation services, the method comprising: receiving, from a user device, at least one request for transportation of one or more passengers from a first location to a second location and for at least one item to be made available to the one or more passengers during the requested transportation; determining a passenger route that includes the first location, second location, and a first rendezvous location; determining an item route that includes an item pick-up location and the first rendezvous location;
determining multiple vehicles that satisfy a set of criteria at least including current proximities of the vehicles relative to the routes; sending first dispatch information to an on-board device of a first one of the vehicles, the dispatch information instructing the vehicle to travel to the first location to pick up the one or more passengers for transport to the second location via the first rendezvous location; sending second dispatch information to an on-board device of a second one of the vehicles, the second dispatch information instructing the vehicle to travel to a first pick-up location to pick up at least a first item and subsequently travel to the first rendezvous location to transfer the at least a first item to the first vehicle; sending instructions that cause an item vendor to make the at least one item available at the first item pick-up location at a time associated with arrival of the second vehicle at the first item pick-up location.
[00149] Example S: The method of Example R, further comprising: sending third dispatch information to a third one of the determined vehicles to be dispatched to at least a second item pick-up location to pick up at least a second one of the requested items, and subsequently travel to the a second rendezvous location to meet with the first one of the determined vehicles and transfer at least the second one of the requested items from the third one of the determined vehicles to the first one of the determined vehicles; and sending instructions that cause an item vendor to make the at least the second one of the requested items available at the second item pick-up location at a time associated with arrival of the third vehicle at the second item pick- up location.
[00150] Example T: The computer- implemented method of Examples R and S, wherein the item is food, and wherein the instructions cause a processor-enabled device at the item vendor to initiate one or more automated food preparation operations.
[00151] Various embodiments of the devices and/or processes via the use of block diagrams, schematics, and examples have been set forth herein. Insofar as such block diagrams, schematics, and examples contain one or more functions and/or operations, it will be understood by those skilled in the art that each function and/or operation within such block diagrams, flowcharts, or examples can be implemented, individually and/or collectively, by a wide range of hardware, software, firmware, or virtually any combination thereof. In one embodiment, the present subject matter may be implemented via Application Specific Integrated Circuits (ASICs).
However, those skilled in the art will recognize that the embodiments disclosed herein, in whole or in part, can be equivalently implemented in standard integrated circuits, as one or more computer programs running on one or more computers ( e.g ., as one or more programs running on one or more computer systems), as one or more programs running on one or more controllers (e.g., microcontrollers) as one or more programs running on one or more processors (e.g., microprocessors), as firmware, or as virtually any combination thereof, and that designing the circuitry and/or writing the code for the software and or firmware would be well within the skill of one of ordinary skill in the art in light of this disclosure.
[00152] When logic is implemented as software and stored in memory, one skilled in the art will appreciate that logic or information, can be stored on any computer readable medium for use by or in connection with any computer and/or processor related system or method. In the context of this document, a memory is a computer readable medium that is an electronic, magnetic, optical, or other another physical device or means that contains or stores a computer and/or processor program. Logic and/or the information can be embodied in any computer readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions associated with logic and/or information. In the context of this specification, a“computer readable medium” can be any means that can store, communicate, propagate, or transport the program associated with logic and/or information for use by or in connection with the instruction execution system, apparatus, and/or device. The computer readable medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium.
More specific examples (a non-exhaustive list) of the computer readable medium would include the following: an electrical connection having one or more wires, a portable computer diskete (magnetic, compact flash card, secure digital, or the like), a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM, EEPROM, or Flash memory), an optical fiber, and a portable compact disc read-only memory (CDROM). Note that the computer-readable medium could even be paper or another suitable medium upon which the program associated with logic and/or information is printed, as the program can be electronically captured, via for instance optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in memory.
[00153] In addition, those skilled in the art will appreciate that certain techniques disclosed herein are capable of being distributed as a program product in a variety of forms, and that an illustrative embodiment applies equally regardless of the particular type of computer readable media used to actually carry out the
distribution. Examples of computer readable media include, but are not limited to, the following: recordable type media such as floppy disks, hard disk drives, CD ROMs, digital tape, and computer memory; and transmission type media such as digital and analog communication links using TDM or IP based communication links ( e.g ., packet links).
[00154] From the foregoing it will be appreciated that, although specific
embodiments have been described herein for purposes of illustration, various modifications may be made without deviating from the spirit and scope of the teachings. Accordingly, the claims are not limited by the disclosed embodiments.

Claims

WHAT IS CLAIMED IS:
1. A computer- implemented method to provide transportation services, the method comprising:
receiving, from a user device, at least one request for transportation of one or more passengers from a first location to a second location and for an item to be made available to the one or more passengers during the requested transportation;
determining a route that includes the first location, second location, and at least one item pick-up location;
sending dispatch information to an on-board device of a selected vehicle, the dispatch information instructing the vehicle to follow the route; and sending instructions that cause an item vendor to make the item available at the item pick-up location at a time associated with arrival of the vehicle at the pick-up location.
2. The computer- implemented method of claim 1, wherein the route is such that the vehicle arrives at the item pick-up location before the vehicle arrives at the first location.
3. The computer- implemented method of claim 1, wherein the route is such that the vehicle arrives at the item pick-up location after the vehicle arrives at the first location and before the vehicle arrives at the second location.
4. The computer- implemented method of claim 1, wherein the instructions cause a processor-enabled device of the item vendor to initiate one or more automated operations to retrieve the item.
5. The computer- implemented method of claim 1, wherein the item is food, and wherein the instructions cause a processor-enabled device at the item vendor to initiate one or more automated food preparation operations.
6. The computer- implemented method of claim 1, further comprising:
detecting a change in an estimated arrival time of the vehicle to the pick-up location; and
sending updated instructions to the item vendor.
7. The computer- implemented method of claim 1, further comprising: determining one or more passenger vehicles that satisfy a set of criteria including at least a current proximity of the vehicles to at least one location on the route.
8. The computer- implemented method of claim 7, further comprising:
sending a bid to at least one of the determined vehicles; and receiving an acceptance of the bid by one of the vehicles.
9. The computer- implemented method of claim 8, further comprising:
refusing any subsequent acceptances of the bid from other determined vehicles.
10. A ride hailing and provisioning system having a processor, a memory in communication with the processor, the memory having computer- readable instructions stored thereon that, when executed by the processor, cause the processor to:
receive, from a user device, at least one request for transportation of one or more passengers from a first location to a second location and for an item to be made available to the one or more passengers during the requested transportation;
determine a route that includes the first location, second location, and at least one item pick-up location;
send dispatch information to an on-board device of a selected vehicle, the dispatch information instructing the vehicle to follow the route; and
send instructions that cause an item vendor to make the item available at the item pick-up location at a time associated with arrival of the vehicle at the pick-up location.
1 1. The system of claim 10, wherein the route is such that the vehicle arrives at the item pick-up location before the vehicle arrives at the first location.
12. The system of claim 10, wherein the route is such that the passenger vehicle arrives at the item pick-up location after the vehicle arrives at the first location and before the vehicle arrives at the second location.
13. The system of claim 10, wherein the item is food, and wherein the instructions cause a processor-enabled device at the item vendor to initiate one or more automated food preparation operations.
14. The system of claim 10, wherein the instructions further cause the processor to:
detect a change in an estimated arrival time of the vehicle to the pick- up location; and
send updated instructions to the item vendor.
15. The system of claim 10, wherein the instructions further cause the processor to:
determine one or more vehicles that satisfy a set of criteria including at least a current proximity of the vehicles to at least one location on the route.
16. The system of claim 15, wherein the instructions further cause the processor to:
send a bid to at least one of the determined vehicles; and receive an acceptance of the bid by one of the vehicles.
17. The system of claim 16, further comprising:
refusing any subsequent acceptances of the bid from other determined vehicles.
18. A computer- implemented method to provide transportation services, the method comprising:
receiving, from a user device, at least one request for transportation of one or more passengers from a first location to a second location and for at least one item to be made available to the one or more passengers during the requested transportation;
determining a passenger route that includes the first location, second location, and a first rendezvous location;
determining an item route that includes an item pick-up location and the first rendezvous location;
determining multiple vehicles that satisfy a set of criteria at least including current proximities of the vehicles to the routes;
sending first dispatch information to an on-board device of a first one of the vehicles, the dispatch information instructing the vehicle to travel to the first location to pick up the one or more passengers for transport to the second location via a first rendezvous location;
sending second dispatch information to an on-board device of a second one of the vehicles, the second dispatch information instructing the vehicle to travel to a first pick-up location to pick up at least a first item and subsequently travel to the first rendezvous location to transfer the at least a first item to the first vehicle; and
sending instructions that cause an item vendor to make the at least one item available at the first item pick-up location at a time associated with arrival of the second vehicle at the first item pick-up location.
19. The method of claim 18, further comprising:
sending third dispatch information to a third one of the determined vehicles to be dispatched to at least a second item pick-up location to pick up at least a second requested item, and subsequently travel to the a second rendezvous location to meet with the first one of the determined vehicles and transfer at least the second requested item from the third one of the determined vehicles to the first one of the determined vehicles; and
sending instructions that cause an item vendor to make the at least the second requested item available at the second item pick-up location at a time associated with arrival of the third vehicle at the second item pick-up location.
20. The computer-implemented method of claim 18, wherein the item is food, and wherein the instructions cause a processor-enabled device at the item vendor to initiate one or more automated food preparation operations.
PCT/US2019/050264 2018-09-11 2019-09-10 Item provisioning via vehicles WO2020055769A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862729574P 2018-09-11 2018-09-11
US62/729,574 2018-09-11

Publications (1)

Publication Number Publication Date
WO2020055769A1 true WO2020055769A1 (en) 2020-03-19

Family

ID=69776853

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/US2019/050265 WO2020055770A1 (en) 2018-09-11 2019-09-10 Automated food preparation coordination with customer activity
PCT/US2019/050264 WO2020055769A1 (en) 2018-09-11 2019-09-10 Item provisioning via vehicles

Family Applications Before (1)

Application Number Title Priority Date Filing Date
PCT/US2019/050265 WO2020055770A1 (en) 2018-09-11 2019-09-10 Automated food preparation coordination with customer activity

Country Status (1)

Country Link
WO (2) WO2020055770A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200234238A1 (en) * 2019-01-23 2020-07-23 Toyota Jidosha Kabushiki Kaisha Information processing apparatus, method of information processing, and program

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112019007084T5 (en) * 2019-03-25 2022-03-10 Honda Motor Co., Ltd. INFORMATION OFFERING SYSTEM AND INFORMATION OFFERING METHOD
US20220176842A1 (en) * 2020-12-07 2022-06-09 Honda Motor Co., Ltd. Electric vehicle (ev) charging station management
US20240094012A1 (en) * 2022-09-16 2024-03-21 Motional Ad Llc Ride experience enhancements with external services

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140257988A1 (en) * 2013-03-07 2014-09-11 Ford Global Technologies, Llc Method and system for selecting navigation routes and providing on-route advertising
US20150227890A1 (en) * 2014-02-07 2015-08-13 Kristin Kaye Bednarek Communications system and smart device apps supporting segmented order distributed distribution system
US20160244311A1 (en) * 2010-04-14 2016-08-25 Restaurant Technology Inc. Structural food preparation systems and methods
US9469476B1 (en) * 2015-11-24 2016-10-18 International Business Machines Corporation Smart mat for package deliveries
US20160364678A1 (en) * 2015-06-11 2016-12-15 Raymond Cao Systems and methods for on-demand transportation

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030149585A1 (en) * 2001-10-25 2003-08-07 Simon Foster Network-based grocery store
US20090048890A1 (en) * 2007-08-16 2009-02-19 Burgh Stuart G Delivery Management System for Quick Service Restaurants
US20130207605A1 (en) * 2012-02-10 2013-08-15 General Electric Company Plug-in electric vehicle charging station with vending machine payment options
US20130346237A1 (en) * 2012-06-20 2013-12-26 Flybuy Technologies, Inc. Systems and methods for facilitating logistics time savings
US9292889B2 (en) * 2013-06-18 2016-03-22 Zume Pizza, Inc. Systems and methods of preparing food products

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160244311A1 (en) * 2010-04-14 2016-08-25 Restaurant Technology Inc. Structural food preparation systems and methods
US20140257988A1 (en) * 2013-03-07 2014-09-11 Ford Global Technologies, Llc Method and system for selecting navigation routes and providing on-route advertising
US20150227890A1 (en) * 2014-02-07 2015-08-13 Kristin Kaye Bednarek Communications system and smart device apps supporting segmented order distributed distribution system
US20160364678A1 (en) * 2015-06-11 2016-12-15 Raymond Cao Systems and methods for on-demand transportation
US9469476B1 (en) * 2015-11-24 2016-10-18 International Business Machines Corporation Smart mat for package deliveries

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200234238A1 (en) * 2019-01-23 2020-07-23 Toyota Jidosha Kabushiki Kaisha Information processing apparatus, method of information processing, and program
US11507917B2 (en) * 2019-01-23 2022-11-22 Toyota Jidosha Kabushiki Kaisha Apparatus, method, and computer-readable medium for making a product while riding on a mobile object

Also Published As

Publication number Publication date
WO2020055770A1 (en) 2020-03-19

Similar Documents

Publication Publication Date Title
TWI826382B (en) Multi-modal vehicle implemented food preparation, cooking, and distribution systems and methods
CN110944880B (en) Fleet of robotic vehicles for food product preparation
WO2020055769A1 (en) Item provisioning via vehicles
US20200070717A1 (en) Vehicle with context sensitive information presentation
CN111108520B (en) Centralized meal ordering system
US11099562B1 (en) Autonomous delivery device
US10140587B2 (en) Methods of preparing food products
US20240070720A1 (en) Vehicle with context sensitive information presentation
US20040073449A1 (en) Catering mobile pick up station
US20040177008A1 (en) Method and apparatus for mobile pickup stations
WO2019014023A1 (en) Configurable food delivery vehicle and related methods and articles
JP2022511687A (en) Depot dispatch protocol for autonomous last mile delivery
EP3807827A1 (en) Delivery framework for robots
US20210217111A1 (en) En route food product preparation
CN108764780A (en) A kind of food delivery scheduling system and its food delivery dispatching method
WO2020131987A1 (en) Grouping orders in a delivery system
JP7512479B2 (en) Food ordering system
US20230075337A1 (en) Computerised method and system for food order placement and automated fulfilment
US20230289706A1 (en) Automated local delivery center
CN117236836A (en) Unmanned aerial vehicle auxiliary take-out distribution system
CN110291552A (en) Vending system and automatic vending method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19860995

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 22/06/2021)

122 Ep: pct application non-entry in european phase

Ref document number: 19860995

Country of ref document: EP

Kind code of ref document: A1