IP Library Granted Patent US 11,501,248
Granted Patent B2
US 11,501,248 · App. 16/777,459 · Granted Nov 15, 2022

Validation of routes in automatic route design

Inventors: Jing Huang (San Jose, CA); Minghui Liu (San Bruno, CA); Mingang Fu (Palo Alto, CA)
Assignee: WALMART APOLLO, LLC
G06Q10/08355G01C21/3484G06F16/29
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,501,248
App. No.
16/777,459
Granted
Nov 15, 2022
Kind
B2
Abstract

A system including one or more processors and one or more non-transitory computer-readable media storing computing instructions configured to run on the one or more processors and perform certain acts. The acts can include obtaining a sequence of stops and service time windows for the stops. The acts also can include generating a sequence of driver states that satisfies the sequence of the stops. The acts further can include determining, for each pair of respective sequential driver states from the sequence of driver states, whether to generate a respective recommendation to add a respective additional driver state within the respective sequential driver states in order to satisfy a set of rules. The acts additionally can include updating the sequence of driver states based on the respective recommendations, such that the sequence of driver states is feasible in view of the service time windows and the set of rules. The acts further can include outputting the sequence of driver states. Other embodiments are described.

Claims (48)

1. A system comprising:

one or more processors; and

one or more non-transitory computer-readable media storing computing instructions configured to run on the one or more processors and perform:

obtaining a sequence of stops and service time windows for the stops;

generating a sequence of driver states that satisfies the sequence of the stops;

determining, for each pair of respective sequential driver states from the sequence of driver states, whether to generate a respective recommendation to add a respective additional driver state within the respective sequential driver states in order to satisfy a set of rules, wherein the set of rules comprises one or more duration rules, wherein each of the one or more duration rules comprises a respective rule identifier, a respective minimum duration, a respective maximum duration, and a respective applied driver state type, and wherein determining whether to generate the respective recommendation to add the respective additional driver state within the respective sequential driver states in order to satisfy the set of rules further comprises:

applying a respective duration rule of the one or more duration rules by:

iterating through the sequence of driver states to determine a cumulative duration for the respective applied driver state type of the respective duration rule until a respective driver state of the sequence of driver states is not within the respective applied driver state type of the respective duration rule; and

automatically validating the respective duration rule when the cumulative duration is between the respective minimum duration of the respective duration rule and the respective maximum duration of the respective duration rule;

updating the sequence of driver states based on the respective recommendations, such that the sequence of driver states is feasible in view of the service time windows and the set of rules; and

outputting the sequence of driver states.

2. The system of claim 1 , wherein updating the sequence of driver states based on the respective recommendations further comprises:

for each of the respective recommendations, determining whether the respective additional driver state can be added at a specified time, and if not, whether to replace the respective additional driver state with a different respective additional driver state.

3. The system of claim 1 , wherein outputting the sequence of driver states further comprises:

outputting a respective start time and a respective end time for each driver state of the sequence of driver states.

4. The system of claim 1 , wherein the set of rules further comprises one or more cumulative rules.

5. The system of claim 4 , wherein each of the one or more cumulative rules comprises a respective rule identifier, a respective minimum duration, a respective maximum duration, a respective applied driver state type, and a respective stop driver state type.

6. The system of claim 5 , wherein determining whether to generate the respective recommendation to add the respective additional driver state within the respective sequential driver states in order to satisfy the set of rules further comprises:

applying a respective cumulative rule of the one or more cumulative rules by:

iterating through the sequence of driver states to determine a cumulative duration for the respective applied driver state type of the respective cumulative rule until a respective driver state of the sequence of driver states is within the respective applied stop driver type of the respective cumulative rule; and

validating the respective cumulative rule when the cumulative duration is between the respective minimum duration of the respective cumulative rule and the respective maximum duration of the respective cumulative rule.

7. The system of claim 1 , wherein driver state types that apply to the set of rules are defined hierarchically based on hours of service rules.

8. The system of claim 7 , wherein a service state, a drive state, and a wait state or defined hierarchically under an on-duty state.

9. The system of claim 8 , wherein the on-duty state and a break state are defined hierarchically under a non-sleep state.

10. The system of claim 1 , wherein the respective additional driver state comprises one of a break state, a layover state, or a wait state.

11. A method being implemented via execution of computing instructions configured to run at one or more processors and stored at one or more non-transitory computer-readable media, the method comprising:

obtaining a sequence of stops and service time windows for the stops;

generating a sequence of driver states that satisfies the sequence of the stops;

determining, for each pair of respective sequential driver states from the sequence of driver states, whether to generate a respective recommendation to add a respective additional driver state within the respective sequential driver states in order to satisfy a set of rules, wherein the set of rules comprises one or more duration rules, wherein each of the one or more duration rules comprises a respective rule identifier, a respective minimum duration, a respective maximum duration, and a respective applied driver state type, and wherein determining whether to generate the respective recommendation to add the respective additional driver state within the respective sequential driver states in order to satisfy the set of rules further comprises:

applying a respective duration rule of the one or more duration rules by:

iterating through the sequence of driver states to determine a cumulative duration for the respective applied driver state type of the respective duration rule until a respective driver state of the sequence of driver states is not within the respective applied driver state type of the respective duration rule; and

automatically validating the respective duration rule when the cumulative duration is between the respective minimum duration of the respective duration rule and the respective maximum duration of the respective duration rule;

updating the sequence of driver states based on the respective recommendations, such that the sequence of driver states is feasible in view of the service time windows and the set of rules; and

outputting the sequence of driver states.

12. The method of claim 11 , wherein updating the sequence of driver states based on the respective recommendations further comprises:

for each of the respective recommendations, determining whether the respective additional driver state can be added at a specified time, and if not, whether to replace the respective additional driver state with a different respective additional driver state.

13. The method of claim 11 , wherein outputting the sequence of driver states further comprises:

outputting a respective start time and a respective end time for each driver state of the sequence of driver states.

14. The method of claim 11 , wherein the set of rules further comprises one or more cumulative rules.

15. The method of claim 14 , wherein each of the one or more cumulative rules comprises a respective rule identifier, a respective minimum duration, a respective maximum duration, a respective applied driver state type, and a respective stop driver state type.

16. The method of claim 15 , wherein determining whether to generate the respective recommendation to add the respective additional driver state within the respective sequential driver states in order to satisfy the set of rules further comprises:

applying a respective cumulative rule of the one or more cumulative rules by:

iterating through the sequence of driver states to determine a cumulative duration for the respective applied driver state type of the respective cumulative rule until a respective driver state of the sequence of driver states is within the respective applied stop driver type of the respective cumulative rule; and

automatically validating the respective cumulative rule when the cumulative duration is between the respective minimum duration of the respective cumulative rule and the respective maximum duration of the respective cumulative rule.

17. The method of claim 11 , wherein driver state types that apply to the set of rules are defined hierarchically based on hours of service rules.

18. The method of claim 17 , wherein a service state, a drive state, and a wait state or defined hierarchically under an on-duty state.

19. The method of claim 18 , wherein the on-duty state and a break state are defined hierarchically under a non-sleep state.

20. The method of claim 11 , wherein the respective additional driver state comprises one of a break state, a layover state, or a wait state.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2020
From: HUANG, JING; LIU, MINGHUI; FU, MINGANG
To: WALMART APOLLO, LLC
Reel/Frame 052306/0053 →
Continuity (3)
Continuation In Part 16712783 · Dec 12, 2019
Provisional Application 62798911 · Jan 30, 2019
Related Publication 20200242554A1 · Jul 30, 2020