IP Library Granted Patent US 11,378,949
Granted Patent B2
US 11,378,949 · App. 16/447,322 · Granted Jul 5, 2022

Systems and methods for autonomously controlling movement of delivery vehicles

Inventors: Maxwell Cabell Moore (Chicago, IL); Christopher Harlan Hove (Alexandria, VA)
Assignee: OMNITRACS, LLC
G05D1/0027G05D1/0088G05D1/0212B60W2050/0005B60W2050/009B60W2050/0075B60W2556/45
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,378,949
App. No.
16/447,322
Granted
Jul 5, 2022
Kind
B2
Abstract

The disclosure provides a system and method for autonomously routing delivery vehicles. An autonomous routing system may generate, a plurality of routing passes, each routing pass including a set of parameters, by a processor using one or more business rules that describe a set of allowed values for one or more of the parameters. The autonomous routing system may Execute each the plurality of routing passes on a routing platform configured to generate a routing plan corresponding to a single routing pass. autonomous routing system may select, by the processor, one of the plurality of routing passes according to a comparison rule set that assigns a score to each routing plan corresponding to a respective one of the plurality of routing passes. The autonomous routing system may dispatch the selected routing pass via the routing platform.

Claims (47)

1. A method of autonomously controlling movement of a plurality of delivery vehicles, comprising:

generating, by a processor, a plurality of different routing passes for a set of orders to be delivered by the plurality of delivery vehicles according to a routing plan specifying a plurality of stops for each delivery vehicle to deliver the orders, each routing pass including a set of parameters having different values, using one or more business rules that describe a set of allowed values for one or more of the parameters;

executing, by the processor, each of the plurality of routing passes on a routing platform configured to generate a routing plan for the plurality of delivery vehicles corresponding to a single routing pass for the set of orders, wherein executing each of the plurality of routing passes on the routing platform comprises concurrently executing multiple routing passes;

applying, by the processor, a comparison rule set that assigns a score to each routing plan corresponding to a respective one of the plurality of routing passes;

selecting, by the processor, one of the plurality of routing passes based on the score of the corresponding routing plan; and

dispatching the selected routing pass via the routing platform for the set of orders.

2. The method of claim 1 , wherein the comparison rule set includes one or more mandatory conditions that exclude the routing plan from the selecting if the condition is not met.

3. The method of claim 1 , wherein the comparison rule set includes one or more balancing conditions that adjust the score based on whether the condition is met.

4. The method of claim 1 , wherein the comparison rule assigns a cost score to each routing pass, wherein the selecting the routing pass comprises selecting the routing pass with a lowest cost score.

5. The method of claim 1 , further comprising:

receiving a data feed from an external system, the data feed including a status of one or more of the delivery vehicles;

converting the data feed to a format compatible with the routing platform; and

updating the routing platform with a number of vehicles available for the routing plan based on the data feed.

6. The method of claim 5 , further comprising updating the external system based on the selected routing pass.

7. The method of claim 5 , wherein the business rules are based on a combination of information from the routing platform and the external system.

8. The method of claim 1 , wherein the business rules identify at least two classes of deliveries to be routed, each class having a priority level, the method comprising associating a class with each order in the set of orders.

9. The method of claim 8 , wherein executing each the plurality of routing passes comprises sequentially executing the routing pass for the orders associated with each class in order of the priority level.

10. The method of claim 1 , wherein generating the plurality of routing passes using one or more business rules comprises:

determining a time and date to generate the plurality of routing passes based on the one or more business rules; and

selecting at least one value for the set of parameters based on the time and date according to the one or more business rules.

11. The method of claim 1 , wherein generating the plurality of routing passes comprises generating a routing pass for each distinct combination of the set of allowed values for the one or more parameters.

12. A system for routing a plurality of delivery vehicles, comprising:

a memory storing computer-executable instructions;

a communications interface; and

a processor communicatively coupled with the memory and the communications interface and configured to execute the computer-executable instructions to:

generate a plurality of different routing passes for a set of orders to be delivered by the plurality of delivery vehicles according to a routing plan specifying a plurality of stops for each delivery vehicle to deliver the orders, each routing pass including a set of parameters having different values, using one or more business rules that describe a set of allowed values for one or more of the parameters;

execute each of the plurality of routing passes on a routing platform configured to generate a routing plan for the plurality of delivery vehicles corresponding to a single routing pass for the set of orders, wherein executing each of the plurality of routing passes on the routing platform comprises concurrently executing multiple routing passes;

apply a comparison rule set that assigns a score to each routing plan corresponding to a respective one of the plurality of routing passes;

select one of the plurality of routing passes based on the score of the corresponding routing plan; and

dispatch the selected routing pass via the routing platform for the set of orders.

13. The system of claim 12 , wherein the comparison rule set includes:

one or more mandatory conditions that exclude the routing plan from the selecting if the mandatory condition is not met; and

one or more balancing conditions that adjust the score based on whether the balancing condition is met.

14. The system of claim 12 , wherein the comparison rule assigns a cost score to each routing pass, wherein the selecting the routing pass comprises selecting the routing pass with a lowest cost score.

15. The system of claim 12 , wherein the processor is configured to execute the instructions to: receive a data feed from an external system, the data feed including a status of one or more of the delivery vehicles;

convert the data feed to a format compatible with the routing platform; and

update the routing platform with a number of vehicles available for the routing plan based on the data feed.

16. The system of claim 15 , wherein the processor is configured to execute the instructions to update the external system based on the selected routing pass.

17. The system of claim 12 , wherein the business rules identify at least two classes of deliveries to be routed, each class having a priority level, wherein the processor is configured to execute the instructions to:

associate one or the classes with each order in the set of orders; and

sequentially execute the routing pass for the orders associated with each class in order of the priority level.

18. A non-transitory computer-readable medium storing computer-executable instructions, comprising instructions to:

generate a plurality of different routing passes for a set of orders to be delivered by a plurality of delivery vehicles according to a routing plan specifying a plurality of stops for each delivery vehicle to deliver the orders, each routing pass including a set of parameters having different values, using one or more business rules that describe a set of allowed values for one or more of the parameters;

execute each of the plurality of routing passes on a routing platform configured to generate a routing plan for the plurality of delivery vehicles corresponding to a single routing pass for the set of orders, wherein executing each of the plurality of routing passes on the routing platform comprises concurrently executing multiple routing passes;

apply a comparison rule set that assigns a score to each routing plan corresponding to a respective one of the plurality of routing passes;

select one of the plurality of routing passes based on the score of the corresponding routing plan; and

dispatch the selected routing pass via the routing platform for the set of orders.

Assignments (7)
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT PATENT NUMBER D856640 PREVIOUSLY RECORDED ON REEL 056601 FRAME 0630. ASSIGNOR(S) HEREBY CONFIRMS THE FIRST LIEN PATENT SECURITY AGREEMENT. Recorded Nov 17, 2021
From: OMNITRACS, LLC; ROADNET TECHNOLOGIES, INC.; SMARTDRIVE SYSTEMS, INC.; XRS CORPORATION; HYPERQUEST, LLC (F/K/A HYPERQUEST, INC.); AUDATEX NORTH AMERICA, LLC (F/K/A AUDATEX NORTH AMERICA, INC.); CLAIMS SERVICES GROUP, LLC; DMEAUTOMOTIVE LLC; ENSERVIO, LLC (F/K/A ENSERVIO, INC.); MOBILE PRODUCTIVITY, LLC; SEE PROGRESS, LLC (F/K/A SEE PROGRESS, INC.); SOLERA HOLDINGS, LLC (F/K/A SOLERA HOLDINGS, INC.); EDRIVING FLEET LLC; FINANCE EXPRESS LLC
To: GOLDMAN SACHS LENDING PARTNERS LLC, AS COLLATERAL AGENT
Reel/Frame 058174/0907 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT PATENT NUMBER D856640 PREVIOUSLY RECORDED ON REEL 056598 FRAME 0059. ASSIGNOR(S) HEREBY CONFIRMS THE SECOND LIEN PATENT SECURITY AGREEMENT. Recorded Nov 17, 2021
From: OMNITRACS, LLC; ROADNET TECHNOLOGIES, INC.; SMARTDRIVE SYSTEMS, INC.; XRS CORPORATION; HYPERQUEST, LLC (F/K/A HYPERQUEST, INC.); AUDATEX NORTH AMERICA, LLC (F/K/A AUDATEX NORTH AMERICA, INC.); CLAIMS SERVICES GROUP, LLC; DMEAUTOMOTIVE LLC; ENSERVIO, LLC (F/K/A ENSERVIO, INC.); MOBILE PRODUCTIVITY, LLC; SEE PROGRESS, LLC (F/K/A SEE PROGRESS, INC.); SOLERA HOLDINGS, LLC (F/K/A SOLERA HOLDINGS, INC.); EDRIVING FLEET LLC; FINANCE EXPRESS LLC
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 058175/0775 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jun 16, 2021
From: OMNITRACS, LLC; ROADNET TECHNOLOGIES, INC.; SMARTDRIVE SYSTEMS, INC.; XRS CORPORATION; HYPERQUEST, LLC (F/K/A HYPERQUEST, INC.); AUDATEX NORTH AMERICA, LLC (F/K/A AUDATEX NORTH AMERICA, INC.); CLAIMS SERVICES GROUP, LLC; DMEAUTOMOTIVE LLC; ENSERVIO, LLC (F/K/A ENSERVIO, INC.); MOBILE PRODUCTIVITY, LLC; SEE PROGRESS, LLC (F/K/A SEE PROGRESS, INC.); SOLERA HOLDINGS, LLC (F/K/A SOLERA HOLDINGS, INC.); EDRIVING FLEET LLC; FINANCE EXPRESS LLC
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 056598/0059 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 16, 2021
From: OMNITRACS, LLC; ROADNET TECHNOLOGIES, INC.; SMARTDRIVE SYSTEMS, INC.; XRS CORPORATION; HYPERQUEST, LLC (F/K/A HYPERQUEST, INC.); AUDATEX NORTH AMERICA, LLC (F/K/A AUDATEX NORTH AMERICA, INC.); CLAIMS SERVICES GROUP, LLC; DMEAUTOMOTIVE LLC; ENSERVIO, LLC (F/K/A ENSERVIO, INC.); MOBILE PRODUCTIVITY, LLC; SEE PROGRESS, LLC (F/K/A SEE PROGRESS, INC.); SOLERA HOLDINGS, LLC (F/K/A SOLERA HOLDINGS, INC.); EDRIVING FLEET LLC; FINANCE EXPRESS LLC
To: GOLDMAN SACHS LENDING PARTNERS LLC, AS COLLATERAL AGENT
Reel/Frame 056601/0630 →
SECURITY INTEREST RELEASE (REEL/FRAME: 050210/0807) Recorded Jun 8, 2021
From: BARCLAYS BANK PLC, AS GRANTEE
To: OMNITRACS, LLC; XRS CORPORATION
Reel/Frame 056517/0044 →
SECURITY INTEREST Recorded Aug 29, 2019
From: OMNITRACS, LLC; XRS CORPORATION
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 050210/0807 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2019
From: MOORE, MAXWELL CABELL; HOVE, CHRISTOPHER HARLAN
To: OMNITRACS, LLC
Reel/Frame 049540/0594 →