Coordination of mobile drive units
First Claim
Patent Images
1. A computer-implemented method, comprising:
- accessing a first path of a first mobile drive unit within a workspace, the first mobile drive unit having a first initial location along the first path;
accessing a second path of a second mobile drive unit within the workspace, the second mobile drive unit having a second initial location along the second path;
determining an intersection point of the first path and the second path within the workspace;
determining a set of potential yield rules applicable to the first mobile drive unit and the second mobile drive unit, each potential yield rule indicating that, prior to arriving at the intersection point, (a) the first mobile drive unit yield, (b) the second mobile drive unit yield, (c) the first mobile drive unit and the second mobile drive unit yield, or (d) neither the first mobile drive unit nor the second mobile drive unit yield;
determining, based at least in part on the set of potential yield rules, a first plurality of velocity sets, each velocity set comprising at least a first velocity value corresponding to the first mobile drive unit and a second velocity value corresponding to the second mobile drive unit, wherein movement in accordance with any velocity set from the first plurality of velocity sets causes the first mobile drive unit and the second mobile drive unit to avoid a potential collision event at the intersection point;
determining, based at least in part on a second intersection, a second plurality of velocity sets corresponding to the first mobile drive unit and the second mobile drive unit;
searching a space of discrete event states at which velocities are applied at discrete event states to find sequences of discrete event states, with each sequence of discrete event states forming a corresponding sequence of velocity sets, each sequence of velocity sets comprising at least one velocity set from the first plurality of velocity sets and at least one velocity set from the second plurality of velocity sets;
evaluating each sequence of velocity sets at corresponding sequences of discrete event states using a scoring metric;
selecting, based at least in part on evaluating each sequence, a particular sequence of velocity sets; and
controlling the first mobile drive unit and the second mobile drive unit by instructing the first mobile drive unit and the second mobile drive unit to move in accordance with the particular sequence of velocity sets.
1 Assignment
0 Petitions
Accused Products
Abstract
In one example, an intersection of a first path and a second path may be determined. The first path may be associated with a first mobile drive unit and the second path may be associated with a second mobile drive unit. A plurality of velocity sets may be determined based on the intersection. A velocity set may be selected from the plurality of velocity sets. The velocity set may include velocity values that correspond to the first mobile drive unit and the second mobile drive unit. The selected velocity set may be provided to at least one of the first mobile drive unit or the second mobile drive unit.
18 Citations
20 Claims
-
1. A computer-implemented method, comprising:
-
accessing a first path of a first mobile drive unit within a workspace, the first mobile drive unit having a first initial location along the first path; accessing a second path of a second mobile drive unit within the workspace, the second mobile drive unit having a second initial location along the second path; determining an intersection point of the first path and the second path within the workspace; determining a set of potential yield rules applicable to the first mobile drive unit and the second mobile drive unit, each potential yield rule indicating that, prior to arriving at the intersection point, (a) the first mobile drive unit yield, (b) the second mobile drive unit yield, (c) the first mobile drive unit and the second mobile drive unit yield, or (d) neither the first mobile drive unit nor the second mobile drive unit yield; determining, based at least in part on the set of potential yield rules, a first plurality of velocity sets, each velocity set comprising at least a first velocity value corresponding to the first mobile drive unit and a second velocity value corresponding to the second mobile drive unit, wherein movement in accordance with any velocity set from the first plurality of velocity sets causes the first mobile drive unit and the second mobile drive unit to avoid a potential collision event at the intersection point; determining, based at least in part on a second intersection, a second plurality of velocity sets corresponding to the first mobile drive unit and the second mobile drive unit; searching a space of discrete event states at which velocities are applied at discrete event states to find sequences of discrete event states, with each sequence of discrete event states forming a corresponding sequence of velocity sets, each sequence of velocity sets comprising at least one velocity set from the first plurality of velocity sets and at least one velocity set from the second plurality of velocity sets; evaluating each sequence of velocity sets at corresponding sequences of discrete event states using a scoring metric; selecting, based at least in part on evaluating each sequence, a particular sequence of velocity sets; and controlling the first mobile drive unit and the second mobile drive unit by instructing the first mobile drive unit and the second mobile drive unit to move in accordance with the particular sequence of velocity sets. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer-implemented method, comprising:
-
determining a first intersection of a first path and a second path, the first path being associated with a first mobile drive unit, and the second path being associated with a second mobile drive unit; determining, based at least in part on the first intersection, a first plurality of velocity sets corresponding to the first mobile drive unit and the second mobile drive unit, each velocity set of the first plurality of velocity sets comprising at least a first velocity value corresponding to the first mobile drive unit and a second velocity value corresponding to the second mobile drive unit, wherein movement in accordance with any velocity set from the first plurality of velocity sets causes the first mobile drive unit and the second mobile drive unit to avoid a potential collision event at the first intersection; determining, based at least in part on a second intersection, a second plurality of velocity sets corresponding to the first mobile drive unit and the second mobile drive unit; searching a space of discrete event states at which velocities are applied at discrete event states to find sequences of discrete event states, with each sequence of discrete event states forming a corresponding sequence of velocity sets, each sequence of velocity sets comprising at least one velocity set from the first plurality of velocity sets and at least one velocity set from the second plurality of velocity sets; evaluating each sequence of velocity sets at corresponding sequences of discrete event states using a scoring metric; selecting, based at least in part on evaluating each sequence, a particular sequence of velocity sets, the particular sequence of velocity sets comprising first particular velocity values corresponding to the first mobile drive unit and second particular velocity values corresponding to the second mobile drive unit; and controlling at least one of the first mobile drive unit or the second mobile drive unit by instructing at least one of the first mobile drive unit or the second mobile drive unit to move in accordance with the particular sequence of velocity sets. - View Dependent Claims (7, 8, 9, 10, 11, 12, 20)
-
-
13. A system, comprising:
-
a plurality of mobile drive units disposed within a workspace and in communication with a management module; and the management module comprising a memory and a processor configured to; access a plurality of drive paths corresponding to a set of the plurality of mobile drive units, the plurality of drive paths located within the workspace; determine a plurality of initial positions corresponding to the set of the plurality of mobile drive units; determine a first intersection of at least two of the plurality of drive paths; determine, based at least in part on the first intersection, a first plurality of velocity sets, wherein each velocity set of the first plurality of velocity sets includes at least two velocity values with a first velocity value applicable to a first mobile drive unit of the set of the plurality of mobile drive units and a second velocity value applicable to a second mobile drive unit of the set of the plurality of mobile drive units, wherein moving in accordance with any velocity set of the first plurality of velocity sets causes the first mobile drive unit and the second mobile drive unit to avoid a first potential collision at the first intersection; determine, based at least in part on a second intersection, a second plurality of velocity sets corresponding to the first mobile drive unit and the second mobile drive unit; search a space of discrete event states at which velocities are applied at discrete event states to find sequences of discrete event states, with each sequence of discrete event states forming a corresponding sequence of velocity sets, each sequence of velocity sets comprising at least one velocity set from the first plurality of velocity sets and at least one velocity set from the second plurality of velocity sets; evaluate each sequence of velocity sets at corresponding sequences of discrete event states using a scoring metric; select based at least in part on evaluating each sequence, a particular sequence of velocity sets, the particular sequence of velocity sets comprising two or more velocity profiles corresponding to the first and second mobile drive units; and control the first and second mobile drive units by providing the particular sequence of velocity sets to the first and second mobile drive units to move in accordance with the particular sequence of velocity sets. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
Specification