System and method for managing mobile drive units
Abstract
This record has no abstract on file.
Term
0.7 yearsto projected expiry
Projected expiry 1 June 2027, counted from filing; an application has no term until it is granted.
- Priority
- Filed
- Published
- Today
- Projected expiry
1 claim: 1 independent, 0 dependent
- 1Zastrzeżenia patentowe 1. Automatyczny system magazynowy (10) do transportowania pozycji magazynowych obejmujący:mobilną jednostkę napędową (20) posiadającą własne zasilanie, która może służyć do: odbierania odpowiedzi na żądanie wyznaczenia trasy (24) określające ścieżkę (16) pomiędzy pierwszym punktem a drugim punktem, przy czym: ścieżka (16) obejmuje co najmniej segment (17) początkowy i jeden lub większą liczbę segmentów (17) dodatkowych, segment początkowy (17) obejmuje część ścieżki (16) przylegającą do pierwszego punktu, a co najmniej jeden z segmentów (17) dodatkowych obejmuje część ścieżki (16) przylegającą do drugiego punktu;zapisywania ścieżki (16);nadawania żądania rezerwacji segmentu (17) początkowego ścieżki (16);odbierania odpowiedzi na żądanie rezerwacji informujące, że segment początkowy został zarezerwowany;oddalania się od pierwszego punktu wzdłuż segmentu (17) początkowego po zarezerwowaniu segmentu początkowego;po rozpoczęciu ruchu wzdłuż segmentu (17) początkowego — do zarezerwowania każdego z dodatkowych segmentów (17) ścieżki (16) poprzez wysyłanie kolejnych żądań rezerwacji po rozpoczęciu ruchu wzdłuż zarezerwowanego segmentu;oraz w odpowiedzi na zarezerwowanie każdego segmentu — przemieszczenia się w kierunku drugiego punktu wzdłuż każdego dodatkowego segmentu (17), gdy ten segment (17) jest zarezerwowany;moduł planowania trasy (94), który może służyć do nadawania odpowiedzi na żądanie wyznaczenia trasy (24) do mobilnej jednostki napędowej (20), przy czym odpowiedź na żądanie wyznaczenia trasy (24) określa ścieżkę (16) w obrębie obszaru roboczego (70) pomiędzy pierwszym punktem a drugim punktem;moduł rezerwacji segmentów (96), który może służyć do: otrzymywania żądania rezerwacji (26) z mobilnej jednostki napędowej (20), przy czym żądanie rezerwacji (26) określa żądany segment (17), który ma zostać zarezerwowany;w odpowiedzi na otrzymanie żądania rezerwacji (26) ustalić, czy żądany segment (17) może zostać zarezerwowany przez wysyłającą żądanie mobilną jednostkę napędową (20) bez ryzyka kolizji z innymi mobilnymi jednostkami napędowymi (20) podczas przemieszczania się po zarezerwowanym segmencie;oraz nadawania odpowiedzi na żądanie rezerwacji (28) do wysyłającej żądanie mobilnej jednostki napędowej (20), przy czym odpowiedź na żądanie rezerwacji (28) wskazuje, czy żądany segment (17) został zarezerwowany, przy czym mobilna jednostka napędowa jest skonfigurowana tak, aby mogła: nadać żądanie rezerwacji do modułu rezerwacji segmentów (96) dla każdego dodatkowego segmentu podczas przemieszczania się po zarezerwowanym segmencie, gdy mobilna jednostka napędowa ustali, że część pozostała do końca zarezerwowanego segmentu jest mniejsza niż wstępnie ustalona część i konieczne jest przemieszczanie się po segmencie dodatkowym ścieżki;przemieszczać się wzdłuż zarezerwowanego segmentu i segmentu dodatkowego, jeżeli segment dodatkowy zostanie pomyślnie zarezerwowany;ponownie podejmować próbę rezerwacji segmentu dodatkowego w przypadku przemieszczania się po zarezerwowanym segmencie przez wstępnie ustaloną ilość czasu, jeżeli segment dodatkowy nie został zarezerwowany;oraz jeżeli segment dodatkowy nie został zarezerwowany przed dotarciem przez mobilną jednostkę napędową do końca zarezerwowanego segmentu, zatrzymywać się na końcu zarezerwowanego segmentu do czasu rezerwacji segmentu dodatkowego lub otrzymania informacji o wyznaczeniu alternatywnej ścieżki. 2. Automatyczny system magazynowy (10) według zastrzeżenia 1 obejmujący ponadto: moduł planowania trasy (94), który może służyć do: generowania ścieżki (16) pomiędzy pierwszym punktem a drugim punktem, przy czym: ścieżka (16) obejmuje segment (17) początkowy i jeden lub większą liczbę segmentów (17) dodatkowych;segment (17) początkowy obejmuje część ścieżki (16) przylegającą do pierwszego punktu;oraz co najmniej jeden segment (17) dodatkowy obejmuje część ścieżki (16) przylegającą do drugiego punktu;zapisywania ścieżki (16);nadać odpowiedź na żądanie wyznaczenia trasy (24) określającą segment (17) początkowy do mobilnej jednostki napędowej (20);otrzymać jedno lub większą liczbę kolejnych żądań (26) od mobilnej jednostki napędowej (20);a po otrzymaniu jednego lub większej liczby kolejnych żądań (22) od mobilnej jednostki napędowej (20) nadać dodatkową odpowiedź na żądanie wyznaczenia trasy (24) określającą dodatkowy segment (17) ścieżki (16). 3. Automatyczny system magazynowy (10) według zastrzeżenia 2, przy czym moduł planowania trasy (94) może ponadto służyć do: w odpowiedzi na żądanie wyznaczenia kolejnego segmentu (17) wysłane przez mobilną jednostkę napędową (20) — określania, czy wygenerować nową ścieżkę (16) dla mobilnej jednostki napędowej (20);w odpowiedzi na decyzję o niegenerowaniu nowej ścieżki (16) — nadawania informacji na temat drugiego segmentu (17) pierwszej ścieżki (16);oraz w odpowiedzi na decyzję o wygenerowaniu nowej ścieżki (16): wygenerowania drugiej ścieżki (16) pomiędzy bieżącą lokalizacją mobilnej jednostki napędowej (20) a drugim punktem;oraz nadawania informacji określającej segment (17) początkowy drugiej ścieżki (16) do mobilnej jednostki napędowej (20). 4. Automatyczny system magazynowy (10) według zastrzeżenia 3, przy czym moduł planowania trasy (94) może służyć do generowania drugiej ścieżki (16) na podstawie algorytmu wykorzystującego informacje o pierwszej ścieżce (16) jako dane wejściowe;i/lub przy czym moduł planowania trasy (94) może ponadto służyć do: wykrywania zmian stanu systemu magazynowego (10) powiązaną z mobilną jednostką napędową (20);oraz podejmowania decyzji dotyczącej wygenerowania nowej ścieżki (16) dla mobilnej jednostki napędowej (20) na podstawie wykrytej zmiany, i/lub przy czym moduł planowania trasy (94) może służyć do wykrywania zmiany stanu systemu magazynowego (10) poprzez wykrycie zmiany w natężeniu ruchu powiązanego z systemem magazynowym (10) i/lub poprzez otrzymanie informacji wskazujących na obecność przeszkody w obszarze roboczym (70) powiązanym z systemem magazynowym (10). 5. System (10) według zastrzeżenia 1, przy czym moduł rezerwacji segmentów (96) może służyć do ustalania, czy zarezerwować co najmniej żądany segment (17) poprzez: ustalenie zmodyfikowanego segmentu (17) do rezerwacji na podstawie żądanego segmentu (17) oraz marginesu błędu w celu kompensacji potencjalnych niepewności lub błędów w obliczonym położeniu mobilnej jednostki napędowej (20);oraz podjęcie decyzji dotyczącej rezerwacji zmodyfikowanego segmentu (17) dla wysyłającej żądanie mobilnej jednostki napędowej (20);i/lub przy czym moduł rezerwacji segmentów (96) może służyć do określania zmodyfikowanego segmentu (17) obejmującego żądany segment (17) oraz komórkę przylegającą do żądanego segmentu (17). 6. System (10) według zastrzeżenia 1 lub zastrzeżenia 5, przy czym mobilna jednostka napędowa (20) obejmuje pierwszą mobilną jednostkę napędową (20), a moduł rezerwacji segmentów (96) może ponadto służyć do: ustalania rodzaju rezerwacji żądanej dla co najmniej pierwszej części żądanego segmentu (17);w odpowiedzi na ustalenie, że dla pierwszej części żądanego segmentu (17) żądana jest rezerwacja obrotu: zatwierdzania żądania rezerwacji (26) obrotu otrzymanego z drugiej mobilnej jednostki napędowej (20) wysyłaj ącej żądanie rezerwacji pierwszej części w celu umożliwienia drugiej mobilnej jednostce napędowej (20) obrócenia pojemnika magazynowego (30) w obszarze przylegającym do pierwszej części;oraz odrzucenia żądania rezerwacji (26) innego rodzaju dotyczącego pierwszej części, gdy pierwsza mobilna jednostka napędowa (20) zarezerwowała pierwszą część;i/lub przy czym mobilna jednostka napędowa (20) może ponadto służyć do zwolnienia rezerwacji segmentu (17) początkowego po przemieszczeniu się przez segment (17) początkowy;i/lub przy czym mobilna jednostka napędowa (20) może ponadto zwolnić część segmentu (17) początkowego po przemieszczeniu się przez tę część, przy czym ta część jest mniejsza niż segment (17) początkowy;i/lub przy czym moduł rezerwacji segmentów (96) może ponadto: określenia stanu mobilnej jednostki napędowej (20);oraz podjąć decyzję, czy zwolnić rezerwację segmentu (17) początkowego na podstawie stanu mobilnej jednostki napędowej (20);i/lub przy czym mobilna jednostka napędowa (20) może przemieszczać się wzdłuż segmentu (17) początkowego poprzez: zadokowanie się do pojemnika magazynowego (30);i przeniesienie pojemnika magazynowego (30) wzdłuż segmentu początkowego (17) po zadokowaniu się do pojemnika magazynowego (30);i/lub przy czym mobilna jednostka napędowa (20) może przemieszczać się wzdłuż segmentu (17) końcowego jednego lub większej liczby segmentów (17) dodatkowych poprzez: przeniesienie pojemnika magazynowego (30) wzdłuż segmentu (17) końcowego do drugiego punktu;oddokowanie się od pojemnika magazynowego (30);oraz oddalenie się od pojemnika magazynowego (30). 7. Sposób działania mobilnej jednostki napędowej (20) posiadającej własne zasilanie w obrębie obszaru roboczego (70) automatycznego systemu magazynowego, obejmujący: odbiór przez mobilną jednostkę napędową (20) ścieżki (16) pomiędzy pierwszym punktem a drugim punktem, przy czym: ścieżka (16) obejmuje segment (17) początkowy i jeden lub większą liczbę segmentów (17) dodatkowych, segment (17) początkowy obejmuje część ścieżki (16) przylegającą do pierwszego punktu, a co najmniej jeden z segmentów (17) dodatkowych obejmuje część ścieżki (16) przylegającą do drugiego punktu;zapisanie ścieżki (16) przez mobilną jednostkę napędową (20);rezerwację przez mobilną jednostkę napędową (20) segmentu (17) początkowego ścieżki (16) poprzez nadanie żądania rezerwacji określającego segment początkowy i odbiór odpowiedzi na żądanie rezerwacji informującej, że segment początkowy został zarezerwowany dla mobilnej jednostki napędowej;oddalenie się mobilnej jednostki napędowej (20) od pierwszego punktu wzdłuż segmentu (17) początkowego;po rozpoczęciu ruchu wzdłuż segmentu (17) początkowego rezerwację przez mobilną jednostkę napędową (20) każdego z segmentów (17) dodatkowych ścieżki (16) poprzez nadanie żądania rezerwacji określającego segmenty dodatkowe i otrzymanie odpowiedzi na żądanie rezerwacji informującej, że segmenty dodatkowe zostały zarezerwowane dla mobilnej jednostki napędowej;oraz przemieszczenie się mobilnej jednostki napędowej (20) w kierunku drugiego punktu wzdłuż segmentów (17) dodatkowych, gdy ten segment (17) jest zarezerwowany, przy czym moduł planowania trasy (94) nadaje odpowiedź na żądanie wyznaczenia trasy (24) do mobilnej jednostki napędowej (20), a odpowiedź na żądanie wyznaczenia trasy (24) określa ścieżkę (16) w obrębie obszaru roboczego (70) pomiędzy pierwszym punktem a drugim punktem, moduł rezerwacji segmentów (96) otrzymuje żądanie rezerwacji (26) z mobilnej jednostki napędowej (20), przy czym żądanie rezerwacji (26) określa żądany segment (17), który ma zostać zarezerwowany, i po otrzymaniu żądania rezerwacji (26) moduł rezerwacji segmentów (96) ustala, czy żądany segment (17) może zostać zarezerwowany przez wysyłającą żądanie mobilną jednostkę napędową (20) bez ryzyka kolizji z innymi mobilnymi jednostkami napędowymi (20) podczas przemieszczania się po zarezerwowanym segmencie oraz nadaje odpowiedź na żądanie rezerwacji (28) do wysyłającej żądanie mobilnej jednostki napędowej (20), przy czym odpowiedź na żądanie rezerwacji (28) wskazuje, czy żądany segment (17) został zarezerwowany, przy czym mobilna jednostka napędowa może: nadać żądanie rezerwacji do modułu rezerwacji segmentów (96) dla każdego dodatkowego segmentu podczas przemieszczania się po zarezerwowanym segmencie, gdy mobilna jednostka napędowa ustali, że część pozostała do końca zarezerwowanego segmentu jest mniejsza niż wstępnie ustalona część i konieczne jest przemieszczanie się po segmencie dodatkowym ścieżki;przemieszczać się wzdłuż zarezerwowanego segmentu oraz segmentu dodatkowego, gdy segment dodatkowy został pomyślnie zarezerwowany;ponownie podjąć próbę rezerwacji segmentu dodatkowego podczas przemieszczania się wzdłuż zarezerwowanego segmentu i po upływie określonego czasu, jeżeli segment dodatkowy nie został zarezerwowany;oraz jeżeli segment dodatkowy nie został zarezerwowany przed dotarciem przez mobilną jednostkę napędową do końca zarezerwowanego segmentu, zatrzymać się na końcu zarezerwowanego segmentu do czasu rezerwacji segmentu dodatkowego lub otrzymania informacji o wyznaczeniu alternatywnej ścieżki. 8. Sposób według zastrzeżenia 7, przy czym proces ustalania, czy zarezerwować co najmniej żądany segment (17) obejmuje: ustalenie zmodyfikowanego segmentu (17) do rezerwacji na podstawie żądanego segmentu (17) oraz marginesu błędu w celu kompensacji potencjalnych niepewności lub błędów w obliczonym położeniu mobilnej jednostki napędowej (20);oraz podjęcie decyzji dotyczącej rezerwacji zmodyfikowanego segmentu (17) dla wysyłającej żądanie mobilnej jednostki napędowej (20);i/lub przy czym moduł rezerwacji segmentów (96) może służyć do określania zmodyfikowanego segmentu (17) obejmującego żądany segment (17) oraz komórkę przylegającą do żądanego segmentu (17). 9. Sposób według dowolnego z poprzednich zastrzeżeń 7 lub 8 obejmujący ponadto: ustalenie rodzaju rezerwacji żądanej dla co najmniej pierwszej części żądanego segmentu (17);w odpowiedzi na ustalenie, że dla pierwszej części żądanego segmentu (17) żądana jest rezerwacja obrotu: zatwierdzenie żądania rezerwacji (26) obrotu otrzymanego z drugiej mobilnej jednostki napędowej (20) wysyłającej żądanie rezerwacji pierwszej części w celu umożliwienia drugiej mobilnej jednostce napędowej (20) obrócenia pojemnika magazynowego (30) w obszarze przylegającym do pierwszej części;oraz odrzucenie żądania rezerwacji (26) innego rodzaju dotyczącego pierwszej części, gdy pierwsza mobilna jednostka napędowa (20) zarezerwowała pierwszą część;i/lub przy czym mobilna jednostka napędowa (20) może ponadto służyć do zwolnienia rezerwacji segmentu (17) początkowego po przemieszczeniu się przez segment (17) początkowy;i/lub przy czym mobilna jednostka napędowa (20) może ponadto służyć do zwolnienia części segmentu (17) początkowego po przemieszczeniu się przez tę część, przy czym ta część jest mniejsza niż segment (17) początkowy;i/lub obejmujący ponadto: określenie stanu mobilnej jednostki napędowej (20);oraz podjęcie decyzji, czy zwolnić rezerwację segmentu (17) początkowego na podstawie stanu mobilnej jednostki napędowej (20);i/lub przy czym mobilna jednostka napędowa (20) może przemieszczać się wzdłuż segmentu (17) początkowego poprzez: zadokowanie się do pojemnika magazynowego (30);i przeniesienie pojemnika magazynowego (30) wzdłuż segmentu początkowego (17) po zadokowaniu się do pojemnika magazynowego (30);i/lub przy czym mobilna jednostka napędowa (20) może przemieszczać się wzdłuż segmentu (17) końcowego jednego lub większej liczby segmentów (17) dodatkowych poprzez: przeniesienie pojemnika magazynowego (30) wzdłuż segmentu (17) końcowego do drugiego punktu;oddokowanie się od pojemnika magazynowego (30);oraz oddalenie się od pojemnika magazynowego (30). 10. Sposób według dowolnego z poprzednich zastrzeżeń od 7 do 9 obejmujący ponadto: wygenerowanie pierwszej ścieżki (16) pomiędzy pierwszym punktem a drugim punktem, przy czym pierwsza ścieżka (16) obejmuje wiele segmentów (17);nadanie informacji do mobilnej jednostki napędowej (20) określających segment (17) początkowy pierwszej ścieżki (16);otrzymanie odpowiedzi (26) dotyczącej kolejnego segmentu (17) z mobilnej jednostki napędowej (20);w odpowiedzi na otrzymanie żądania (26) dotyczącego kolejnego segmentu (17), podjęcie decyzji dotyczącej generowania nowej ścieżki (16) dla mobilnej jednostki napędowej (20);w odpowiedzi na decyzję o niegenerowaniu nowej ścieżki (16), nadanie informacji o drugim segmencie (17) pierwszej ścieżki (16);oraz w odpowiedzi na decyzję o wygenerowaniu nowej ścieżki (16): wygenerowanie drugiej ścieżki (16) pomiędzy bieżącą lokalizacją mobilnej jednostki napędowej (20) a drugim punktem;oraz nadanie informacji określających segment (17) początkowy drugiej ścieżki (16) do mobilnej jednostki napędowej (20). 11. Sposób według zastrzeżenia 10, przy czym proces generowania drugiej ścieżki (16) obejmuje generowanie drugiej ścieżki (16) na podstawie algorytmu wykorzystującego informacje o pierwszej ścieżce (16) jako informacje wejściowe;i/lub sposób ponadto obejmuje: wykrycie zmiany stanu systemu magazynowego (10) powiązanej z mobilną jednostką napędową (20);oraz podjęcie decyzji dotyczącej generowania nowej ścieżki (16) dla mobilnej jednostki napędowej (20) na podstawie wykrytej zmiany, przy czym korzystnie wykrycie zmiany stanu systemu magazynowego (10) obejmuje wykrycie zmiany w natężeniu ruchu powiązanego z systemem 100 magazynowym (10), i/lub otrzymanie informacji o lokalizacji przeszkody w obszarze roboczym (70) powiązanym z systemem magazynowym (10);i/lub przy czym rezerwacja segmentu (17) początkowego pierwszej ścieżki (16) obejmuje nadanie żądania rezerwacji (26) przez mobilną jednostkę napędową (20) do modułu rezerwacji segmentów (96), przy czym żądanie rezerwacji (26) określa segment (17) początkowy, i ponadto obejmuje: otrzymanie przez moduł rezerwacji segmentów (96) żądania rezerwacji (26);po otrzymaniu żądania rezerwacji (26) podjęcie decyzji dotyczącej rezerwacji co najmniej żądanego segmentu (17) dla wysyłającej żądanie mobilnej jednostki napędowej (20);oraz nadanie odpowiedzi na żądanie rezerwacji (28) z modułu rezerwacji segmentów (96) do wysyłającej żądanie mobilnej jednostki napędowej (20), przy czym odpowiedź na żądanie rezerwacji (28) wskazuje, czy żądany segment (17) został zarezerwowany. 101 Rys. 1 102 Rys. 2 Moduł interfejsu Rys. 3A 126 126;!”b 120 Rys. 3B 150-% 110 ‘Ί 130 120 170-'160-'' 140 162 1____ 122 ^124 126 124 FI 103 Rys. 4 312 104 Rys. 5 105 RYS. 6 ( POCZĄ —i 602604606MOBILNA JEDNOSTKA NAPĘDOWA (MDU) I V ( KONIEC 630 MOBILNA JEDNOSTKA NAPĘDOWA NADAJE ŻĄDANIE WYZNACZENIA MODUŁ PLANOWANIA TRASY GENERUJE ŚCIEŻKĘ Z BIEŻĄCEJ LOKALIZACJI MOBILNEJ JEDNOSTKI NAPĘDOWEJ DO LOKALIZACJI MOBILNA JEDNOSTKA NAPĘDOWA PODEJMUJE PRÓBĘ REZERWACJI SEGMENTU WYZNACZONEJ 610-^ ŚCIEŻKI POPRZEZ NADANIE ŻĄDANIA REZERWACJI DO MODUŁU REZERWACJI SEGMENTÓW 612614MODUŁ REZERWACJI SEGMENTÓW PODEJMUJE PRÓBĘ REZERWACJI ŻĄDANEGO SEGMENTU DLA MODUŁ REZERWACJI SEGMENTÓW NADAJE ODPOWIEDŹ NA ŻĄDANIE REZERWACJI INFORMUJĄCĄ MOBILNĄ JEDNOSTKĘ NAPĘDOWĄ, CZY REZERWACJA SIĘ POWIODŁA CZY MOBILNA JEDNOSTKA NAPĘDOWA POMYŚLNIE C 616 TAK 106 ο UD Δ ο Lrt Δ V Ο ΙΛ V Rys. 7 107 RYS 8 ( POCZĄ ) ( KONIE ) RYS. 13 ( POCZĄ ) 108 Rys. 9 109 Rys. 10 110 RYS. 11 111 RYS. 12A RYS. 12B RYS. 12D RYS. 12E 112 RYS. 14 -712 -714 KONIE 113 FIG. 15 114 115 116 ο Rys. 18 117 118 119 RYS. 20A RYS. 20C RYS. 20D 110- RYS. 20E 120 Lista publikacji cytowanych przez wnioskującego stanowi jedynie udogodnienie dla czytelnika. Nie jest częścią dokumentu patentu europejskiego. Pomimo zachowania dużej staranności przy sporządzaniu wykazu źródeł nie można wykluczyć błędów ani pominięć. Europejski Urząd Patentowy (European Patent Office, EPO) zrzeka się wszelkiej odpowiedzialności w tym zakresie. PUBLIKACJE CYTOWANE W OPISIE Dokumenty patentowe cytowane w opisie • US 5625559 A [0003] 121
292 paragraphs in 2 sections, as filed
[0001] The present invention relates generally to storage systems, and in particular to a method and system for efficiently managing mobile propulsion units in a storage system.
BACKGROUND OF THE INVENTION [0002] Modern warehouse systems, such as those in dispatch warehouses, supply chain distribution centers, airport baggage systems and manufacturing plants that execute custom orders, face significant challenges in ordering warehouse items. As storage systems grow, the simultaneous performance of many tasks related to packaging, storage and maintenance of a warehouse becomes more and more difficult. In warehouse systems, whose task is the implementation of a wide variety of warehouse orders, inefficient use of system resources, including space, equipment and workforce, can lead to reduced throughput, unacceptably long response time, an increasing number of outstanding unfinished tasks, and overall low system performance.
In addition, increasing or limiting the size or capacity of storage systems often requires significant changes to existing infrastructure and devices. As a result, the cost of gradual changes in capacity or functionality may be too high, limiting the system's ability to adapt to changes in system capacity.
[0003] US Patent Publication No. 5,625,559 discloses a system for controlling the transport of unmanned vehicles on a running grid formed of multiple nodes and routes connecting these nodes, whereby the driving routes are searched so that one unmanned vehicle does not travel on the same connecting route in the opposite direction to another unmanned vehicle.
SUMMARY OF THE INVENTION [0004] According to the present invention, an automatic storage system is provided for transporting inventory items, as well as a method of operating mobile propulsion units having their own power supply within a working area, in accordance with the attached patent claims.
[0005] According to the present disclosure, the disadvantages and problems associated with inventory storage have been significantly reduced or eliminated. In particular, a mobile storage system has been developed that includes one or more mobile propulsion units capable of moving one or more storage containers between locations in physical space associated with the mobile storage system.
[0006] According to the present disclosure, a method of moving a mobile drive unit in a work area includes receiving information about a designated path between the first point and the second point. The path includes the start segment and one or more additional segments. The start segment includes the path portion adjacent to the first point, and at least one of the additional segments includes the path portion adjacent to the second point. The method further includes saving the path, reserving the initial path segment, and offsetting from the first point along the initial segment. After starting the movement along the initial segment, the method involves booking each of the additional path segments and moving to the second point along each of the additional segments when that segment is reserved.
[0007] According to the present disclosure, the warehouse item transport system includes a route planning module, segment booking module and a mobile drive unit. The route planning module sends the mobile power unit a response to a route request which determines the path between the first and second points.
The segment reservation module receives a segment reservation request from the mobile drive unit. The booking request specifies the segment to be booked. In response to receiving a reservation request, the segment reservation module decides whether to reserve at least the desired segment for the mobile drive unit sending the request and transmits the response to the reservation request to the mobile drive unit. The response to the booking request determines whether the requested segment has been reserved.
[0008] The mobile drive unit receives a path determination request response. The path includes the start segment and one or more additional segments. The start segment includes the path portion adjacent to the first point, and at least one of the additional segments includes the path portion adjacent to the second point. In addition, the mobile drive unit records the path, reserves the start segment of the path and moves away from the first point along the start segment. After starting the movement along the initial segment, the mobile drive unit reserves one or more additional path segments and moves towards the second point along each segment when that segment is reserved.
[0009] The technical advantages of some of the examples disclosed herein include the ability to optimize the use of space and devices to perform warehouse maintenance tasks. In addition, specific examples can use multiple independently operated drive units, each of which can access and move a specific storage item stored anywhere in the storage system. This configuration allows the storage system to gain access to any item stored in the system in any order and allows the simultaneous performance of many tasks related to the storage system in the system, which is easily scalable and portable. Other technical advantages of some examples include providing a flexible and scalable storage solution that can be easily adapted when expanding and modifying the system, as well as allocating resources at the system level in an efficient manner to accomplish individual tasks.
[0010] Other technical advantages of the present invention will be readily apparent from the following drawings, descriptions and claims to those skilled in the art. In addition, although some advantages have been mentioned above, various examples may include all or some of these advantages or none of them.
BRIEF DESCRIPTION OF THE DRAWINGS [0011] In order to allow a more complete understanding of the present invention and its advantages, the following is a brief description as an example with accompanying drawings in which:
FIGURE 1 shows elements of the storage system according to a specific example;
FIGURE 2 details the elements of an example management module that can be used in specific examples of the storage system shown in FIGURE 1;
FIGURES 3A and 3B show in detail an exemplary mobile propulsion unit that can be used in specific examples of the storage system shown in FIGURE 1;
FIGURE 4 shows in detail an exemplary storage container that can be used in specific examples of the storage system depicted in
FIGURE 1;
FIGURE 5 shows an example of route mapping and booking techniques that can be used by the management module in specific examples of the storage system shown in FIGURE 1;
FIGURE 6 is a diagram showing an example of how a specific example of a management module works when managing the movement of mobile propulsion units in a storage system;
FIGURE 7 illustrates an exemplary storage system that allows path planning for a requesting mobile drive unit based on the current state of the mobile drive unit;
FIGURE 8 is a diagram illustrating an example of how a particular example of a management module operates when applying the techniques described in FIGURE 7;
FIGURE 9 shows an example of a storage system that optimizes the deployment of mobile propulsion units based on their allocation status; FIGURE 10 shows an example of a storage system that allows optimization of the deployment of mobile propulsion units based on their performance status; FIGURE 11 is a diagram illustrating how a particular example of a management module operates when applying the techniques described in FIGURE 9;
FIGURES 12A-12E show an example of coordinated traffic that can be performed by specific examples of a mobile propulsion unit;
FIGURE 13 is a diagram illustrating an example of how the management module operates to enable coordinated traffic as shown in FIGURES 12A-12E;
FIGURE 14 is a diagram illustrating an example of how a mobile power unit operates while performing the coordinated motion depicted in
FIGURES 12A-12E;
FIGURE 15 is an example of a storage system that includes a transfer device enabling transportation of mobile drive units between separate parts of the working area;
FIGURE 16 presents techniques that can be used by the storage system to allocate tasks based on the availability and characteristics of transfer devices;
FIGURE 17 is a diagram illustrating how a specific example of a resource planning module works when selecting paths for mobile propulsion units in a work area in which mobile jacks are used;
FIGURE 18 is an example of a storage system that includes one or more rotation areas intended for rotating storage containers;
FIGURES 19A-19E show an example of how a particular example of a mobile drive unit using a pivot area operates; and FIGURES 20A-20F show an exemplary method of operating a specific example of a mobile propulsion unit during transportation of storage containers out of the pivot areas shown in FIGURES 18 and 19A-19E.
DETAILED DESCRIPTION [0012] FIGURE 1 shows the contents of the storage system 10. The storage system 10 comprises a management module 15, one or more mobile propulsion units 20, one or more storage containers 30 and one or more storage stations 50. Mobile propulsion units 20 transport storage containers 30 between points within work area 70 in response to commands sent by management module 15. One or more types of warehouse items are stored in each storage container 30. This allows the storage system 10 to transfer inventory items between locations within workspace 70 to allow the entry of inventory items into the storage system 10, their processing and / or deletion from the system, as well as performing other tasks related to inventory items.
[0013] The management module 15 assigns tasks to the respective elements of the storage system 10 and coordinates the work of various elements during the execution of tasks. These tasks may relate not only to the handling and processing of inventory items, but also to the management and maintenance of elements of the warehouse system 10. For example, the management module 15 may allocate portions of the work area 70 as parking spaces for mobile propulsion units 20, planned battery charging or replacement of mobile propulsion units, storage of empty storage containers 30 or any other operations related to functions supported by the storage system 10 and its various elements. The management module 15 may select the elements of the storage system 10 that will perform these tasks and send the appropriate commands and / or data to the selected elements to enable these operations. Although FIG. 1 shows the management module 15 as a single continuous element, the management module may consist of multiple elements and may be or include parts of mobile drive units 20 or other components of the storage system 10. As a result, some or all of the interactions described below between the particular mobile propulsion unit 20 and the management module 15 may, in certain examples, be equivalent communication between this mobile propulsion unit 20 and one or more other mobile propulsion units 20.
The elements and operation of the exemplary management module are discussed below with reference to FIGURE 2.
[0014] Mobile propulsion units 20 move storage containers 30 between locations within the working area 70. Mobile propulsion units 20 can be any devices or components suitable for use in the storage system 10 based on the characteristics and configuration of the storage containers 30 and / or other components storage system 10. In a particular example of a storage system, mobile drive units 20 are independent devices having their own power supply, configured to move freely within the working area 70. In alternative examples, mobile propulsion units 20 are components of a storage system 10 equipped with a track system, configured to carry the storage container 30 along tracks, rails, conduits, crane system or other guide or support elements passing through the work area 70. In this example, the mobile drive units 20 can be powered and / or supported by connection to guide elements such as a powered rail. Furthermore, in certain examples of the storage system 10, the mobile drive units 20 can be configured to use alternative transfer devices to move within the work area 70 and / or between separate parts of the work area 70. Elements and operation of the exemplary mobile drive unit 20 are discussed below with reference to FIGURES 3A and 3B.
[0015] Furthermore, the mobile drive units 20 may communicate with the management module 15 to receive information defining selected storage containers 30, to transmit location data of the mobile drive units 20 or to exchange any other relevant information used by the management module 15 or the mobile drive units 20 during work. Mobile propulsion units 20 can communicate with the management module 15 wirelessly, via wired connections between the mobile propulsion units 20 and the management module 15 and / or in any other suitable manner. For example, mobile drive units 20 can communicate with the management module 15 and / or with each other via 802.11, Bluetooth or IrDA (Infrared Data Association) connectivity or any other wireless communication protocol. In another example, in a storage system 10 equipped with a track system, the tracks or other guide elements on which the mobile drive units 20 move can be wired to allow communication between the mobile drive units 20 and other elements of the storage system 10. In addition, as mentioned above , the management module 15 may include components of individual mobile drive units
twenty. Thus, for the purposes of this description and the following claims, communication between the management module 15 and a particular mobile propulsion unit 20 can be communication between elements of a particular mobile propulsion unit 20. In general, the mobile propulsion units 20 can be powered, driven and controlled in any suitable manner based on configuration and characteristics of the storage system 10.
[0016] Storage items are stored in storage containers. In a specific example, the storage containers 30 comprise a plurality of storage baskets, each basket being able to contain one or more types of storage items. Storage containers 30 can be moved, rolled and / or moved in a different way by means of mobile drive units 20. In certain examples, the storage containers 30 may provide an additional complementary drive to the drive provided by the mobile drive unit 20 when moving the storage container 30.
[0017] Furthermore, each storage container 30 may comprise a plurality of surfaces, and access to each basket may be possible through one or more surfaces of the storage container 30. For example, in a specific example, the storage container 30 comprises four surfaces. In this example, the bins on the corner of two surfaces can be accessed through either of these two surfaces, while the remaining baskets can be accessed through holes in one of the four surfaces. The mobile drive unit 20 can be configured to rotate the storage container 30 at appropriate times to direct a specific surface and baskets associated with that surface to the operator or other components of the storage system 10. The elements and operation of the exemplary storage container 30 are discussed below with reference to FIGURE 4.
[0018] Stock items are any items suitable for storage, retrieval and / or processing in an automated storage system 10. For the purpose of this description, "inventory items" can be one or more items of a particular type stored in the storage system 10.
A specific storage container 30 currently "stores" a specific storage item if one or more units of this type are in the storage container 30. In one example, the warehouse system 10 may be a shipping warehouse, and the warehouse items may be goods stored in that warehouse. During operation, mobile drive units 20 may pick up storage containers 30 containing one or more storage items listed in the order to be packaged for shipment to the customer or storage containers 30 containing pallets with sets of storage items for shipment. In addition, in a specific example of a warehouse system, 10 warehouse items can be boxes containing completed orders.
[0019] In another example, the storage system 10 may be a unit for the return of goods. In this example, inventory items can be items returned by customers. Individual pieces of these storage items may be stored in storage containers after they have been received in this unit. At appropriate time points, a large number of items can be removed from a specific storage container 30 and packed for dispatch to a warehouse or other unit.
For example, individual items of a specific inventory item may be received and stored in storage containers until a specific number of items of that inventory is received. The mobile drive unit 20 may be tasked with picking up the storage container 30 in this state. The pallet can then be packed with storage items removed from this storage container 30 and sent to another unit, such as a shipping warehouse.
[0020] In another example, the storage system 10 may be a baggage unit at an airport. In this example, the storage items may be items of baggage stored in this baggage storage unit. Mobile propulsion units 20 may retrieve storage containers 30 in which luggage is stored from arriving and / or departing aircraft or luggage to be subjected to specific operations, such as x-rays or manual searches.
[0021] In yet another example, the storage system 10 may be a production unit, and the storage items may be individual components of a production kit. Stock items can be items to be used in the assembled product, such as electronic components for a non-standard computer system. In this example, the inventory system 10 may retrieve certain items specified in the specification associated with the product order to construct a custom version of that product. Although many examples have been described, the storage system 10 may generally be any suitable unit or any suitable system for storing and processing storage items, and the storage items may be any type of items suitable for storage, retrieval and / or processing in a particular storage system 10.
[0022] In certain examples, the storage system 10 may also include one or more storage stations 50. The storage stations 50 are locations designed to perform specific tasks associated with storage items. Such tasks may include removing storage items from storage containers 30, entering storage items to storage containers 30, counting storage items in storage containers 30, spreading storage items (e.g. from sets in the size of pallets or crate to individual storage items), and / or processing or moving inventory items in any other appropriate way. In certain examples, the storage stations 50 may simply be physical locations at which a specific task associated with the warehouse items within the workspace 70 can be performed. In alternative examples, storage stations 50 may include both a physical location and any suitable equipment for processing or handling storage items, such as scanners for monitoring the flow of storage items to and from the storage system 10, communication interfaces for communication with the management module 15 and / or any other relevant elements. Storage stations 50 can be fully or partially controlled by operators or they can be fully automated. In addition, automatic devices or storage station operators 50 can perform specific tasks related to storage items, such as packing or counting storage items as part of operating the storage system 10.
[0023] The working area 70 is the area associated with the storage system 10 in which the mobile drive units 20 can move and / or in which the storage containers 30 can be stored. For example, the working area 70 can cover the entire floor or part of a floor of a shipping warehouse, in which the warehouse system works 10. Although FIGURE 1 illustrates, for illustrative purposes, an example of a storage system 10 in which the work area 70 includes a fixed, predetermined and finite physical space, in certain examples the storage system 10 may include mobile propulsion units 20 and storage containers 30 configured to operated within workspace 70 with variable dimensions and / or any shape. FIGURE 1 shows a specific example of a storage system 10 in which the work area 70 is entirely in a building, however alternative examples may use work areas 70 in which part or all of the work area 70 is outside the building or on a vehicle (e.g. cargo ship) or otherwise not constrained by any fixed structure.
[0024] Furthermore, in certain examples, the work area 70 may include a plurality of parts that are physically separated from each other, including separate floors, rooms, buildings, and / or parts divided in any other suitable manner. Mobile propulsion units 20 can be configured to use alternative transfer devices, such as vertical or horizontal conveyors, carts, ferries, gondolas, escalators and / or other suitable devices for transferring mobile drive units 20 between separate parts of the working area 70.
[0025] In certain examples, as discussed in detail below with reference to FIGURE 5, the work area 70 is associated with a grid (shown in FIGURE 5 as a grid 12) that connects multiple points within the work area 70. This grid can divide the work area 70 into many parts referred to as cells 14. Cells 14 may have the shape of a square, rectangle, polygon and / or any other suitable shape. In certain examples, the working area 70 can be divided into parts so that the cells 14 have slightly larger dimensions than the storage containers 30. In this way, the storage system 10 can use the working area 70 of the minimum size without the risk of collision between storage containers 30 transported by adjacent cells 14. In general, however, cells 14 may be of any size suitable for the configuration and characteristics of elements of the storage system 10. In addition, the work area 70 may use an irregular mesh 12 in which the size and / or shape of cells 14 may be different for individual cells 14.
[0026] During operation, the management module 15 selects the appropriate elements to perform specific tasks and assigns task 18 to selected elements to trigger the implementation of the respective tasks. Each task assignment 18 specifies one or more tasks to be performed by a specific element. These tasks may include collecting, storing, replenishing and counting inventory items and / or managing mobile propulsion units 20, storage containers 30, storage stations 50 and other elements of the storage system 10. Depending on the item and task to perform a specific task assignment 18 may specify locations, elements and / or activities associated with the respective task and / or any other relevant information that will be used by the relevant element to perform the assigned task.
[0027] In certain examples, the management module 15 generates task assignments 18 in part based on inventory orders received by the management module 15 from other elements of the warehouse system 10 and / or from external elements communicating with the managed module 15. These warehouse orders indicate the specific operations to be performed in connection with the warehouse items that are or will be stored in the warehouse system 10, and can be any suitable form of communication. For example, in certain examples, a warehouse order may be a shipping order indicating specific warehouse items that have been purchased by the customer and are to be picked from the warehouse system 10 for shipment to the customer. The management module 15 may also generate task assignments 18 independently of such warehouse orders as part of operations related to the general management and maintenance of the warehouse system 10. For example, the management module 15 may generate task assignments 18 in response to a specific event (e.g. in response to a parking space request sent by the mobile drive unit 20) according to a predetermined schedule (e.g. as part of the daily start-up procedure) or at any appropriate time in accordance with the configuration and characteristics of the storage system 10. After generating one or more task assignments 18, the management module 15 transmits the generated task assignments 18 to the appropriate components to perform the corresponding task. The appropriate items then perform the assigned tasks.
[0028] In particular with respect to mobile propulsion units 20, the management module 15 may, in certain examples, send task assignments 18 to selected mobile propulsion units 20 that specify one or more locations of the target mobile propulsion units 20. The management module 15 may select the mobile drive unit 20 to allocate the appropriate task based on: the location or state of the selected mobile drive unit 20, information that the selected mobile drive unit 20 has completed its previous assigned task, a pre-set schedule and / or any other condition. These target locations can be associated with a warehouse order implemented by management module 15 or a management goal that the management module attempts to fulfill 15. For example, the task assignment may specify the location of the storage container 30 to be downloaded, the destination storage station 50, the location in the warehouse where the mobile drive unit 20 should park until receiving the next task, or the location associated with any other suitable task based on configuration, characteristics and / or the state of the entire storage system 10 or individual elements of the storage system 10. For example, in certain examples, such decisions may be based on the frequency of retrieving specific inventory items, the number of personnel of a particular storage station 50, the task currently assigned to mobile power unit 20, and / or any other conditions.
[0029] In carrying out these tasks, mobile drive units 20 may dock into storage containers 30 and transport them within the working area 70.
Mobile propulsion units 20 can dock to storage containers 30 by connecting to storage containers 30, lifting them or interacting with them in any other suitable way so that when docked mobile propulsion units 20 are connected to storage containers 30 and / or they supported them and were able to move storage containers 30 within work area 70. Although the description below focuses on mobile propulsion units 20 and storage containers 30 that are configured for docking in a particular manner, in alternative examples the mobile propulsion units 20 and storage containers 30 can be configured for docking in any other suitable manner that allows mobile drive units 20 moving storage container 30 within work area 70.
In addition, as mentioned below, in the individual examples, the mobile propulsion units 20 form all or part of the storage containers 30. In such examples, the mobile propulsion units 20 do not need to dock to the storage containers 30 before transporting the storage containers 30 and / or the mobile propulsion units 20 may be permanently docked in the specified storage container 30.
[0030] When the respective components of the storage system 10 perform their assigned tasks, the management module 15 may interact with the relevant components to ensure efficient use of space, devices, labor and other resources available in the storage system 10. In one particular example of such interaction, the management module 15 is responsible for planning the paths of the mobile drive units 20 within the work area 70 and for allocating a specific portion of the work area 70 for use by the specific mobile drive unit to perform the assigned task. In such examples, mobile drive units 20 may, in response to an assigned task, request a path to a specific destination associated with that task. In addition, although the description below focuses on one or more examples in which the mobile drive unit 20 requests path determination by the management module 15, the mobile drive unit 20 can, in alternative examples, generate its own paths.
[0031] The management module 15 may choose a path between the current location of the requesting mobile drive unit 20 and the desired destination and then send information defining this path to the mobile drive unit 20. The management module 15 may use information on current traffic volumes, historical traffic trends, task priorities and / or other appropriate conditions to select the optimal path for the requesting mobile drive unit 20 to enable it to reach its destination. In addition, when planning the path (or assigning tasks), the management module 15 may make data-based decisions regarding the use of elevators, conveyors, ramps, tunnels and / or other handling devices or features of the work area 70 to allow movement of a particular mobile drive unit 20, as discussed below with reference to FIGURES 15-17.
[0032] After receiving the path from the management module 15, the requesting mobile drive unit 20 can move to the destination location, moving along the path segment by segment. Before moving on the respective segment, the mobile drive unit 20 may request the management module 15 to allow the use of the segment. As a result, the management module 15 can reserve this segment for this mobile drive unit 20. As a result, management module 15 may also be responsible for resolving conflicts of requests regarding the use of a specific portion of workspace 70. An example of how to do this is discussed in detail below with reference to FIGURE 5.
[0033] In addition, elements of the storage system 10 may provide information to the management module 15 regarding their current state, other elements of the storage system 10 with which they interact and / or other conditions relevant to the operation of the storage system 10. This allows the management module 15 to use feedback from the appropriate elements to update algorithm parameters, adjust rules, or otherwise modify the decision making process to respond appropriately to changes in operating conditions or the occurrence of specific events.
[0034] Furthermore, although the management module 15 may be configured to manage various aspects of the operation of the elements of the storage system 10, in certain examples these elements may also be responsible for making decisions related to certain aspects of their operation, which will reduce the processing load associated with data management module 15. In particular, individual components can be configured to independently respond to specific local conditions in a way that increases the efficiency of these components without adversely affecting the overall performance of the storage system 10. For example, under certain conditions, the management module 15 may change segment booking rules to allow multiple mobile propulsion units 20 to move simultaneously in a particular cell 14 of workspace 70 and allow respective mobile propulsion units 20 to work closer to each other than would be normally allowed. When operating under such conditions, the management module 15 may rely on the independent decision making process of the mobile drive units 20 to prevent collisions.
FIGURES 12A-12E, 13 and 14 show an example of mobile propulsion units 20 operating in such conditions.
[0035] Based on the location information, current status and / or other features of the various components of the storage system 10 and data on all tasks being carried out at a given moment, the management module 15 can generate tasks, allocate the use of system resources, and otherwise manage the performance of tasks by individual elements in a way that allows optimization of the entire system. In addition, by relying on a centralized system-wide management process in conjunction with the local decision-making process for individual components in specific examples, the storage system 10 may allow the use of many techniques to efficiently perform various operations related to the operation of the storage system 10. As a result, in certain examples, the management module 15 may, by using one or more of the management techniques described below, increase the efficiency of the storage system 10 and / or provide other benefits in terms of system operation.
[0036] FIGURES 2-4 show in detail the content of specific examples of the management module 15, the mobile drive unit 20 and the storage container 30, respectively. FIGURES 5-20 show examples of specific management techniques that may be supported in specific examples of the storage system
10. Although FIGURES 2-4 show specific examples of management module 15, mobile drive unit 20 and storage container 30, the techniques described with reference to FIGURES 5-20 can be used in storage systems 10 using any suitable types of elements.
[0037] FIGURE 2 details in detail the elements of a particular example of a management module 15. As shown, this example includes resource planning module 92, route planning module 94, segment booking module 96, communication interface module 98, processor 90 and memory 91. Management module 15 may include one element, many elements grouped in a central location in the storage system 10 or many elements arranged in the storage system 10. For example, the management module 15 may be components of one or more mobile propulsion units 20 that can transfer information between the mobile propulsion units 20 and coordinate the movement of the mobile propulsion units 20 within the work area 70. Generally, the management module 15 may include any suitable combination of devices and / or software providing the described functionality.
[0038] The processor 90 may be used to perform commands associated with the functionality provided by the management module 15. The processor 90 may include one or more general purpose computers, dedicated microprocessors or other processing devices that can send information in electronic form. Examples of processors 90 include one or more specialized integrated circuits (ASICs), user programmable gate arrays (FP-GAs), digital signal processors (DSPs), and any other suitable special or general purpose processors.
[0039] Memory 91 stores processor instructions, warehouse orders, reservation information, information regarding the state of various elements of the warehouse system 10 and / or any other relevant values, parameters or information used by the management module 15 during operation. Memory 91 can be any set and arrangement of permanent or non-durable, local or remote devices suitable for storing data. Examples of memory 91 include random access memory (RAM) devices, read-only memory devices (ROMs), magnetic mass storage devices, optical mass storage devices, or any other suitable mass storage device.
[0040] The resource planning module 92 processes the received warehouse orders and generates one or more allocated tasks to be performed by the elements of the warehouse system 10. The resource planning module 92 can also select one or more suitable elements to perform the assigned tasks and, for using the communication interface module 98, send the assigned tasks to the appropriate elements. In addition, resource planning module 92 can also be responsible for generating assigned tasks associated with various management operations, such as sending prompts to mobile drive units 20 to charge or replace batteries, sending 20 parking commands to a mobile drive unit at a location outside the intended traffic area or at a location close to the intended place of future tasks and / or directing the mobile drive units 20 selected for repair or maintenance to a designated service station.
[0041] The route planning module 94 receives routing requests from the mobile propulsion units 20. These routing requests specify one or more destination locations associated with the task performed by the requesting mobile propulsion unit 20. In response to receiving the routing request, the route planning module 94 generates a path to one or more destination specified in the route request. Route planning module 94 may apply any appropriate algorithms using all relevant parameters, factors and / or conditions to determine the appropriate path. After generating the appropriate path, the route planning module 94 transmits a route request response specifying the generated path to the requesting mobile drive unit using the communication interface module 98. This process is discussed in detail below with reference to FIGURE 5.
[0042] The segment booking module 96 receives reservation requests from mobile drive units 20 attempting to follow the paths generated by the route planning module 94. These booking requests relate to the use of a specific portion of the work area 70 (referred to herein as the "segment") to prevent a collision that sends the request of the mobile drive unit 20 to other mobile drive units 20 when traveling through the reserved segment. In response to the reservation requests received, the segment reservation module 96 transmits the reservation request in which it approves or rejects the reservation request sent by the requesting mobile drive unit 20 using the communication interface module 98. This process is also discussed in detail below with reference to FIGURE 5.
[0043] The communication interface module 98 allows communication between the management module 15 and other elements of the storage system 10, including the transmission of responses to reservation requests, reservation requests, route requests, route response requests and assigned tasks. These reservation request responses, reservation requests, routing requests and task assignment responses may constitute communication in any form suited to the capabilities of the management module 15 and may include any relevant information. Depending on the configuration of the management module 15, the communication interface module 98 may be responsible for enabling wired or wireless communication between the management module 15 and various elements of the storage system 10. In certain examples, the management module 15 may communicate using communication protocols such as 802.11 connectivity , Bluetooth or IrDA (Infrared Data Association). In addition, the management module 15 may, in certain examples, be part of the mobile drive unit 20 or other components of the storage system 10. In such examples, the communication interface module 98 may allow communication between the management module 15 and other parts of the same system element.
[0044] In general, the resource planning module 92, route planning module 94, segment booking module 96 and communication interface module 98 may be any suitable device and / or software providing the described functionality. In addition, as mentioned above, the management module 15 may, in certain examples, include many different continuous elements, and the resource planning module 92, route planning module 94, segment booking module 96 and communication interface module 98 may be physically separated from the other elements of the module manager 15.
In addition, any two or more items, such as the resource planning module
92, route planning module 94, segment booking module 96 and communication interface module 98 may have common components. For example, in certain examples, the resource planning module 92, route planning module 94, segment booking module 96 are computer processes performed on processor 90, and communication interface module 98 includes a wireless transmitter, wireless receiver, and associated computer process performed on processor 90.
[0045] FIGURES 3A and 3B show in detail the elements of a specific example of the mobile drive unit 20. In particular, FIGURES 3A and 3B show a front and side view of an example of the mobile drive unit 20. The mobile drive unit 20 includes a docking head 110, drive module 120, docking cylinder 130 and control module 170. Furthermore, the mobile drive unit 20 may include one or more sensors configured to detect or locate the location of the mobile drive unit 20, storage container 30, and / or other suitable components of the storage system 10. In the example shown, the mobile drive unit 20 includes a position sensor 140 , container sensor 150, obstacle sensor 160 and identification signal transmitter 162.
[0046] The docking head 110, in certain examples of the mobile drive unit 20, connects the mobile drive unit 20 to the storage container 30 and / or supports the storage container 30 when the mobile drive unit 20 is docked into the storage container 30. The docking head 110 can further enable mobile drive unit 20 maneuvering storage container 30, e.g. by lifting the storage container 30, driving the storage container 30, rotating the storage container 30 and / or moving the storage container 30 in any other suitable manner. Docking head 110 may also include any suitable combination of elements such as ribs, spikes and / or creasing to allow such manipulation of storage container 30. For example, in certain examples, docking head 110 may include a high friction portion that adheres to a portion of the storage container 30 when the mobile drive unit 20 is docked to the storage container 30. In such examples, the frictional forces generated between the high friction docking portion 110 and the surface of the storage container 30 can cause translational and rotational movement in the storage container 30 when the docking head 110 moves and rotates accordingly. As a result, the mobile drive unit 20 can manipulate the storage container 30 by moving or rotating the docking head 110, independent of or during the movement of the entire mobile drive unit 20.
[0047] The drive module 120 drives the mobile drive unit 20, and when the mobile drive unit 20 is docked to the storage container 30 also the storage container 30. The drive module 120 can be any suitable set of elements that can be used to drive the mobile drive unit 120. For example in the example shown, the drive module 120 includes a motorized axle 122, a pair of motorized wheels 124 and a pair of stabilizing wheels 126. At each end of the motorized axle 122 there is one motorized wheel 124, and at each end of the mobile drive unit 20 there is one stabilizing wheel 126.
[0048] The docking cylinder 130 moves the docking head 110 towards the storage container 30 to allow docking of the mobile drive unit 20 and the storage container 30. The docking cylinder 130 can also allow the position or orientation of the docking head 110 to be adjusted in another suitable way to allow docking. The docking cylinder 130 may include any suitable components compatible with the configuration of the mobile drive unit 20 and storage container 30 intended to move the docking head 110 or otherwise adjust the position or orientation of the docking head 110. For example, in the example shown, the docking cylinder 130 includes a motor-driven shaft ( not shown) attached to the center of the docking head 110. The motor-driven shaft can be used to lift the docking head 110 to dock into the storage container 30.
[0049] The drive module 120 may be configured to drive the mobile drive unit 20 in any suitable manner. For example, in the example shown, the motor-driven wheels 124 can rotate in the first direction to drive the mobile drive unit 20 in the forward direction. The motor-driven wheels 124 can also rotate in a second direction to drive the mobile drive unit 20 in a reverse direction. In the example shown, the drive module 120 is also configured to rotate the mobile drive unit 20 by rotating individual motor-driven wheels 124 in different directions or by rotating individual motor-driven wheels 124 at different speeds.
[0050] The position sensor 140 is one or more sensors, detectors or other components suitable for determining the location of the mobile drive unit 20 in an appropriate manner. For example, in certain examples, the work area 70 associated with the storage system 10 includes a predetermined number of base markers that mark the points on a two-dimensional grid covering all or part of the work area 70. In such examples, the position sensor 140 may include a camera and image and / or video image processing means, such as a suitably programmed digital signal processor, to allow the position sensor 140 to detect base marks in the camera's field of view. The control module 170 may store location information updated by the position sensor 140 upon detection of base marks by the position sensor 140. As a result, the position sensor 140 may use base markers to provide an accurate indication of the location of the mobile drive unit 20 and to assist its navigation when moving within the work area 70.
[0051] The container sensor 150 is one or more sensors, detectors or other components suitable for detecting the storage container 30 and / or determining, in any suitable way, the location of the storage container 30 as an absolute or relative position to the mobile drive unit 20. The sensor container 150 can detect the position of a specific portion of storage container 30 or the entire storage container 30. The mobile drive unit 20 can then use the detected information to dock into the storage container 30 or interact with it in other ways.
[0052] The obstacle sensor 160 is one or more sensors detecting objects located in one or more different directions in which the mobile drive unit 20 can move. The obstacle sensor 160 may use appropriate components and techniques, including optical, radar, sonar, pressure sensing devices and / or other types of detection devices suitable for detecting objects in the direction of motion of the mobile drive unit 20. In certain examples, the obstacle sensor 160 may transmit information describing the objects it detects to the control module 170 for use by the control module 170 to identify obstacles and take appropriate corrective actions to prevent the mobile drive unit 20 from colliding with obstacles and / or other objects.
[0053] The obstacle sensor 160 may also detect signals transmitted by other mobile propulsion units 20 operating in the vicinity of the illustrated mobile propulsion unit 20.
For example, in certain examples of the storage system 10, one or more mobile drive units 20 may include an identification signal transmitter 162 that transmits a travel identification signal. The drive identifier signal indicates to other mobile drive units 20 that the object transmitting the drive identifier is a mobile drive unit. The identification signal transmitter 162 can transmit signals by infrared, ultraviolet radiation, sound signals, visible light signals, radio signals and / or other appropriate signals indicating to recipients that the signal transmitting device is a mobile drive unit 20.
[0054] In addition, in certain examples, the obstacle sensor 160 may also detect status information transmitted by other mobile drive units 20. For example, in certain examples, the identification signal transmitter 162 may transmit status information of the mobile drive unit 20 along with the transmitted identification signal. This status information may include, but is not limited to, information regarding the position, speed, direction and braking capability of the transmitting mobile propulsion unit 20. In certain examples, the mobile propulsion unit 20 may use status information transmitted by other mobile propulsion units to avoid collision when operating close to those other mobile propulsion units . FIGURES 12A-12E show an example of implementing this process in specific examples of the storage system 10.
[0055] The control module 170 monitors and / or controls the operation of the drive module 120 and the docking actuator 130. The control module 170 can also receive information from sensors such as position sensor 140 and the container sensor 150, and regulate the operation of the drive module 120, docking actuator 130 and / or other components of the mobile drive unit 20 based on this information. In addition, in certain examples, the mobile drive unit 20 may be configured to communicate with the storage system management device 10, and the control module 170 may receive commands transmitted to the mobile drive unit 20 and send information back to the management device using appropriate components to mobile power unit communication 20. The control module 170 may include any suitable device and / or software providing the described functionality. In certain examples, the control module 170 includes a general purpose microprocessor programmed to provide the described functionality. Furthermore, the control module 170 may include all or parts of the docking actuator 120, drive module 130, position sensor 140 and / or container sensor 150 and / or have common components with any of these components of the mobile drive unit 20.
[0056] Furthermore, in certain examples, the control module 170 may include devices and software residing in elements that are physically separate from the device in which the drive module 120, docking cylinder 130 and / or other components of the mobile drive unit 20 described above are located. For example, in certain examples, each mobile drive unit 20 operating in the storage system 10 may be associated with a software process (referred to herein as the "drive intermediary process") performed on a server communicating with the device in which drive module 120 is located, actuator docking 130 and other relevant components of the mobile power unit 20. This propulsion mediation process can send job assignment requests and receive jobs, send route requests and receive designated routes, transmit status information related to mobile power unit 20 and / or otherwise interact with management module 15 and other components of the storage system 10 for a device in which the drive module 120 is physically located, docking cylinder 130 and other relevant components of the mobile drive unit 20. As a result, for the purposes of this specification and claims, the term "mobile propulsion unit" includes software and / or devices, such as intermediary processes, that provide the described functionality to the mobile propulsion unit 20, but which may be contained in devices physically separate from drive module 120, docking cylinder 130 and / or other components of the mobile drive unit 20 described above.
[0057] Although FIGURES 3A and 3B show a specific example of a mobile propulsion unit 20 comprising specific components and configured to operate in a particular manner, the mobile propulsion unit 20 may be any suitable component and / or set of components configured to transport and / or made it possible to transport storage containers 30. In another example, the mobile drive unit 20 may be part of a bridge crane system in which one or more crane assemblies can slide in a network of ducts or rails to a docking position in a suitable storage container 30. After docking into storage container 30, the crane assembly he can then pick up the storage container 30 and move the storage items to another location to perform the assigned task.
[0058] Furthermore, in certain examples, the mobile drive unit 20 may form all or part of the storage container 30. The storage container 30 may include motor-driven wheels or any other means suitable to enable the storage container 30 to be driven. In one specific example, the portion of the storage container 30 may react on magnetic field. The storage system 10 may generate one or more controlled magnetic fields to drive the storage container, maneuver it, and / or otherwise control the position of the storage container 30 due to the responsive portion of the storage container 30. In such examples, the mobile drive unit 20 may be the responsive portion of the storage container. And / or elements of a storage system 10 responsible for generating and controlling these magnetic fields. Although several specific examples are given herein, the mobile drive unit 20 may generally be any suitable item and / or collection of items configured to transport and / or allow storage containers 30 to be transported.
[0059] FIGURE 4 shows in detail the elements of a particular example of a storage container 30. In particular, FIGURE 4 shows the structure and content of one side of an exemplary storage container 30. In a specific example, the storage container 30 may include any number of surfaces with similar or different structure. As shown, the storage container 30 includes a frame 310, a plurality of legs 328, and a docking surface 350.
[0060] The frame 310 maintains storage positions 40. The frame 310 provides space for storing storage positions 40 outside or inside the frame 310. The storage space provided by the frame 310 can be divided into a plurality of storage baskets 320 in which storage positions 40 can be stored. Storage baskets 320 may include any storage items such as baskets, compartments or hooks.
[0061] In a specific example, the frame 310 consists of a plurality of trays 322 stacked on top of each other and attached to or stacked on the base 318. In this example, the storage baskets 320 may be formed of a plurality of adjustable dividing elements
324 that can be moved to resize one or more storage baskets 320. In alternative examples, the frame 310 may be a single storage basket 320, which includes a single tray 322 and without adjustable dividing elements 324. In addition, in certain examples, the frame 310 may be bearing surface on movable element 330. Storage positions 40 may be stored in such storage container 30 after being placed on frame 310. Generally, the frame 310 may include an inner and / or outer storage surface divided into any number of storage baskets 320 in any suitable manner.
[0062] Furthermore, in a specific example, the frame 310 may include a plurality of device openings 326 that allow the mobile drive unit 20 to position the docking head 110 at the docking surface 350. The size, shape and arrangement of the openings for devices 326 may depend on size, shape and other features a particular example of mobile propulsion unit 20 and / or storage containers 30 used by the storage system 10. For example, in the example shown, the frame 310 includes four legs 328 that form openings for devices 326 and allow the mobile drive unit 20 to position the mobile drive unit 20 under the frame 310 so that it adheres to the docking surface 350. Leg length 328 may depend on the height of the mobile unit propulsion 20.
[0063] The docking surface 350 includes a portion of the storage container 30 that is connected to, adjoins and / or rests against the docking head portion 110 when the mobile drive unit 20 is docked to the storage container 30. In addition, the docking surface 350 supports the portion or the entire weight of the storage container 30 when the storage container 30 is docked to the mobile drive unit 20. The composition, shape and / or structure of the docking surface 350 may allow the storage container 30 to be maneuvered by the mobile drive unit 20. For example, as mentioned above, in certain examples, the docking surface 350 may include a high friction portion. When the mobile drive unit 20 and storage container 30 are docked, the friction forces generated between the docking head 110 and this high friction portion may allow the mobile drive unit 20 to maneuver the storage container 30. In addition, in certain examples, the docking surface 350 may include appropriate components into which a portion of the docking head 110 is inserted that connects the storage container 30 to the mobile drive unit 20 and / or that allow the storage container 30 to be controlled by the mobile drive unit 20.
[0064] The container identifier 360 defines a predetermined portion of the storage container 30, and the mobile drive unit 20 may use the container identifier 360 to align with the storage container 30 during docking and / or to determine the location of the storage container 30. In certain examples, the mobile drive unit 20 may be equipped with components such as the container sensor 150 that can detect the container identifier 360 and determine its location relative to the mobile drive unit 20. As a result, the mobile drive unit 20 can determine the location of the entire storage container 30. For example, in certain examples, the container identifier 360 may be a reflective tag located at a predetermined location on the storage container 30 that can be optically detected by the container sensor 150 using a properly configured camera.
[0065] FIGURES 5 and 6 show a technique for planning and directing the movement of mobile propulsion units 20 while the mobile propulsion unit 20 performs the assigned tasks. FIGURE 5 shows an example of how the mobile drive unit 20 requests the management module 15 to determine the path to the destination associated with the assigned task and to interact with the management module 15 to allow the mobile drive unit 20 to travel through this path. FIGURE 6 is a diagram of an exemplary method of operating the exemplary mobile drive unit 20 while it is moving to a destination in accordance with the techniques shown in FIGURE 5.
[0066] FIGURE 5 shows routing and booking techniques that can be used in specific examples of the storage system 10. FIGURE 5 shows an example in which the mobile drive unit 20 receives the assigned task 18 from the management module 15 according to which the mobile drive unit 20 must take storage container 30a from the storage cell in which storage container 30a is currently located. The mobile drive unit 20 then sends a path request to the location of the storage container 30a and travels along the designated path to the appropriate location.
[0067] In the illustrated example of the storage system 10, the working area 70 is associated with a grid 12 comprising a plurality of cells 14, and the mobile drive units 20 are configured to move within the working area 70 by moving from the center of one cell 14 to the center of another cell. However, in alternative examples, the mobile drive units 20 may be configured to move across the grid 12 in any suitable manner, and the starting points, destination locations, and any intermediate points along the path of the mobile drive unit 20 may or may not be center of cell 14 or any other part of the grid 12. In addition, although FIG. 5 shows an example of a mesh based storage system 10, alternative examples of a storage system 10 can utilize a work area without a mesh of any shape and structure.
[0068] As shown in FIGURE 5, the route calculation process begins with the management module 15 assigning task assignment 18 to the mobile drive unit 20.
Task 18 assigns one or more destination locations associated with the appropriate task. Task assignment 18 may specify appropriate target locations directly or by reference to a known location of specific items (e.g., specific storage container 30 or storage station 50) or specific portion of the work area 70. Task assignment 18 may also include any additional information suitable for use by mobile drive unit 20 to perform the assigned task.
[0069] After receiving the task assignment 18, the mobile drive unit 20 sends a path request to the location specified in the task assignment 18 or, if the task assignment 18 specifies multiple locations, to the first location specified in the task assignment
18. In the example shown, the mobile drive unit 20 transmits a path request by sending a route request to the route planning module 94. In certain examples, the route request 22 may include information about one or more destination locations and the current location of the mobile drive unit 20 or predicted location mobile power unit 20, in which it will find itself after completing the current segment 17. In alternative examples, the management module 15 may independently monitor the location or task allocated to each mobile drive unit 20 and as a consequence one or more of these locations may be omitted in the routing request 22.
[0070] After receiving the routing request 22 by the route planning module 94, the route planning module 94 generates a path 16 for the requesting mobile drive unit 20 that will travel along this path from its current location to the desired destination. As mentioned above, route planning module 94 may use any suitable techniques to generate, select or determine the appropriate path 16 for the requesting mobile drive unit 20. Route planning module 94 may then send path determining information 16 to the requesting mobile drive unit 20 in reply to route request 24. For example, route planning module 94 may send information indicating specific points along path 16, determining the direction and distance of travel, determining known path segments that will be used when traveling to the desired destination, identifying other devices (e.g. hoist, conveyor or trolley) or working area features (such as a ramp or tunnel) that will be used and / or indicating, in any other appropriate way, the part of the working area 70 that the mobile drive unit 20 should move when traveling from the current location to the desired destination. In certain examples, the route planning module 94 sends path information 16 to the mobile drive unit 20 in response to a routing request 24.
[0071] After the route planning module 94 sends information defining one or more paths 16, this information is received by the mobile drive unit 20. In certain examples, the mobile drive unit 20 can then save this information for later use when traveling to the destination. The mobile drive unit 20 then attempts to reserve a segment 17 or other appropriate part of the path 16. Mobile propulsion unit 20 may reserve path segment 17 by following appropriate steps, in accordance with the configuration of storage system 10, to ensure that no other mobile propulsion unit 20 or other type of device that can move within the working area 70 is moving will not move around the reserved segment 17, is not positioned on the reserved segment 17 and / or otherwise does not inhibit movement along the reserved segment 17 when this segment 17 is reserved for the corresponding mobile drive unit 20.
[0072] In certain examples, the route planning module 94 may, in response to a specific routing request 22, generate multiple paths to a specific destination. In addition, the management module 15 can then transmit information about all generated paths 16 to the requesting mobile drive unit 20.
In addition, route planning module 94 or mobile drive unit 20 may assign priority to each generated path 16. As a result, in such examples, the requesting mobile drive unit 20 may store multiple paths 16 generated by route planning module 94 and then attempt to reserve path segments 17 16 with the highest priority. If the reservation request is rejected, the sending mobile request drive unit 20 may then attempt to send the segment request 17 belonging to path 16 with the second highest priority. The requesting mobile drive unit 20 may then send a reservation request for segments 17 belonging to each designated path 16 in order of priority until the requesting mobile drive unit 20 reserves the segments 17 belonging to one of the designated paths 16.
[0073] Furthermore, in certain examples or under certain conditions, a plurality of mobile drive units 20 may use a particular segment 17 simultaneously. In such examples, mobile propulsion unit 20 may reserve segment 17 by taking any appropriate steps to ensure that only mobile propulsion units 20 that meet certain conditions will benefit from that segment at the same time. For example, in certain examples, the segment booking module 96 may reserve a particular segment by taking appropriate steps to ensure that a given segment 17 can only reserve mobile propulsion units 20 that move in the same direction as the mobile propulsion unit 20. For example, in certain examples, the storage system 10 may be configured to allow a predetermined maximum number or set of mobile propulsion units 20 to use a given segment 17, and the mobile propulsion unit 20 may reserve a given segment 17 by sending a reservation request for that segment 17. The management module 15 may then conditionally allow reservations depending on whether the current number or set of mobile propulsion units 20 using the desired segment 17 are less than a predefined maximum value.
[0074] In the example shown, the mobile drive unit 20 reserves the segment 17 by sending a reservation request 26 to the segment reservation module 96. The reservation request 26 defines the segment 17 that the mobile drive unit 20 wants to reserve. The reservation request 26 may determine the appropriate segment 17 in any suitable manner depending on the configuration and capabilities of the mobile drive unit 20 and segment reservation module 96. For example, in certain examples, the reservation request 26 determines the corresponding segment 17 by indicating the coordinates of the start and end point of this segment 17, by determining the direction and distance from the current location of the mobile drive unit 20, or by including any other relevant information on the basis of which the desired segment 17 can be identified independently or based on other information stored by the segment booking module 96 during operation.
[0075] The segment reservation module 96 receives the reservation request 26 and obtains information identifying the requested segment 17 from the reservation request 26. The segment reservation module 96 then determines whether the requesting mobile drive unit 20 can reserve the desired segment 17. In certain examples, the segment reservation module 96 it determines solely on the basis of information whether another mobile drive unit 20 has reserved the requested segment 17. However, in alternative examples, the segment booking module 96 can determine whether the requesting mobile drive unit 20 can reserve the requested segment 17 both on the basis of information or whether the other mobile drive unit 20 has reserved the requested segment 17 and based on the priority level associated with the sending mobile request. drive unit 20 or task that the mobile drive unit 20 is currently performing. Consequently, the segment booking module 96 may not allow the use of some segments 17 (or segments 17 exceeding a certain size) to mobile drive units 20 with insufficient priority level. Generally, the segment booking module 96 may rely on any appropriate conditions to determine whether the reservation request 26 received can be validated.
[0076] Furthermore, in certain examples, the segment reservation module 96 may be configured to compensate for potential uncertainty about the location of the mobile drive unit 20. In particular, the segment reservation module 96 may attempt to reserve a modified segment that includes and is larger than the desired segment 17.
As a result, if the actual location of the requesting mobile drive unit 20 differs from the value calculated by the mobile drive unit 20 and / or the management module 15 by less than a predetermined value, the segment booking module 96 can prevent collisions by reserving a larger segment. Segment reservation module 96 can be configured to always modify reservation requests 26 so that it modifies reservation requests 26 after the management module 15 determines that the actual location of the requesting mobile drive unit 20 is different from the calculated location, or to modify requests booking 26 at any other appropriate time.
[0077] Furthermore, in certain examples of the storage system 10, mobile propulsion units 20 may make booking attempts and / or the resource planning module 92 may accept reservations of various types depending on how the requesting mobile propulsion units 20 use the requested segment 17. In addition, resource planning module 92 may apply different rules for approving or rejecting these different types of reservations. For example, in certain examples, mobile drive units 20 may be configured to request a segment 17 that includes one or more cells 14 adjacent to cells 14 through which path 16 passes. Consequently, when the requesting mobile drive unit 20 plans to rotate the storage container 30 during movement to complete a particular segment 16, the requesting mobile drive unit 20 may attempt to send a rotation reservation request in cells 14 adjacent to cell 14 in which the mobile drive unit 20 plans to spin. Depending on the size of the storage containers 30 relative to the cells 14 used in the respective work area 70, the requesting mobile drive unit 20 does not need to occupy the entire area of the adjacent cell 14 for rotation. As a result, the segment reservation module 96 may allow other mobile propulsion units 20 to send reservation requests to a particular neighbor cell 14 at the same time that the first requesting mobile propulsion unit 20 has reserved that cell 14. In certain examples, the resource planning module 92 may allow other mobile propulsion units 20 to reserve an adjacent cell 14 to occupy part of that cell 14 when rotating storage containers 30 in other cells 14 that border an adjacent cell 14. This may limit the number of delays of mobile units drive 20 during attempts to reserve a sufficiently large portion of the working area 70 to rotate storage containers 30.
[0078] If the segment booking module 96 determines that the requesting mobile drive unit 20 cannot reserve the requested segment 17, the segment reservation module 96 may inform the requesting mobile drive unit 20 of the failed attempt to reserve the requested segment 17.
For example, in the example shown, the segment reservation module 96 sends a response to the reservation request 28 in which it indicates that the reservation failed.
Alternatively, in certain examples, the segment booking module 96 does not inform the requesting mobile drive unit 20 of the booking failure, and the requesting mobile drive unit 20 is configured to determine if the reservation failed if the mobile drive unit 20 does not receive a confirmation response in the predefined time.
[0079] Furthermore, in certain examples, the segment reservation module 96 may be configured to take specific remedial action if the segment reservation module 96 cannot approve a specific reservation request 26. For example, in certain examples, the segment reservation module 96 may add unconfirmed reservation requests 26 to the queue and attempt to confirm them when the current pending reservation of the requested segment 17 is completed. Alternatively, the segment booking module 96 may be configured to remove unapproved reservation requests 26 after one attempt to complete them, after a predetermined number of failed attempts, or after an unsuccessful attempt to complete such requests for a predetermined period of time. The requesting mobile power unit 20 may resend another reservation request 26 later if it still wants to reserve the requested segment 17. In addition, the segment booking module 96 can be configured to attempt to reserve a portion of the requested segment 17 or a modified version of the requested segment 17 if the segment reservation module 96 cannot successfully reserve the segment 17 initially requested by the requesting mobile drive unit 20. Generally, however, depending on the configuration of the storage system 10, the segment reservation module 96 may be configured to take all appropriate remedial action or, alternatively, not to take any remedial action if the segment reservation module 96 cannot approve the specific reservation request 26.
[0080] Similarly, depending on the configuration of the mobile drive unit 20, the mobile drive unit 20 may perform appropriate remedial action after determining that the segment reservation module 96 has not validated the reservation. In certain examples, the mobile drive unit 20 may wait a predetermined amount of time and attempt to book the same segment 17 again. In alternative examples, the mobile propulsion unit 20 may be configured to request a new path 16 to be determined by the route planning module 94 if the mobile propulsion unit 20 fails to reserve the requested segment 17 or if the mobile propulsion unit 20 fails to reserve it after taking a predetermined number trials. Furthermore, in certain examples, mobile propulsion units 20 may also adjust the size of the segments 17 requested by the mobile propulsion units 20. As a result, the requesting mobile propulsion unit 20 may, in response to determining that the booking has failed, attempt to book a smaller portion of the same requested segment 17. In such examples, the requesting mobile drive unit 20 may then request reservations or automatically receive booking approval for the growing portions of the requested initial segment 17 when the requesting mobile drive unit 20 moves and / or the remaining parts become free. Generally, however, the mobile drive unit 20 may respond in any suitable way to a failed booking attempt.
[0081] If the segment reservation module 96 determines that the received reservation request 26 can be confirmed, the segment reservation module 96 reserves the requested segment 17 for the requesting mobile drive unit 20. As part of booking the requested segment, the segment reservation module 96 stores information indicating the reserved state of the corresponding segment 17 and takes all appropriate steps to ensure that the requesting mobile drive unit 20 can use the requested segment 17 until the reservation is completed. The segment reservation module 96 notifies the requesting mobile drive unit 20 of successful reservation of the requested segment 17. For example, in the example shown, the segment booking module 96 transmits confirmation, e.g., a response to a reservation request 28, in which it informs the requesting mobile drive unit 20 that the reservation was successful. When the requesting mobile propulsion unit 20 receives a response to the reservation request 28 informing that the reservation attempt has been successful, the requesting mobile propulsion unit 20 begins to move along the reserved segment 17.
[0082] In the example shown in FIGURE 5, when the mobile drive unit 20a receives a response to the reservation request 28 informing that the mobile drive unit 20a has successfully booked segment 17a, the mobile drive unit 20 begins to move along segment 17a. In FIGURE 5 this is illustrated by the outline of the mobile drive unit 20 drawn in dashed lines. At a certain point after the start of movement along segment 17a, mobile drive unit 20a attempts to book the next path segment that mobile drive unit 20a received from route planning module 94, i.e. segment 17b. In certain examples, the mobile drive unit 20a may wait for the mobile drive unit 20a to reach the end of the reserved segment (i.e. when the mobile power unit 20a reaches the second outline) and then request the reservation of the next segment 17.
[0083] Alternatively, mobile drive unit 20a may attempt to book segment 17b before segment 17a is completed. In certain examples, the mobile drive unit 20a may request the reservation of segment 17b at an appropriate point while traveling through segment 17a. For example, mobile drive unit 20a may request segment booking 17b after completing a predetermined portion of segment 17a (e.g., after completing 75% of segment 17a). In another example, mobile propulsion unit 20 may request segment booking 17b when a predetermined portion of segment 17a remains to be completed (e.g., when mobile propulsion unit 20a still needs to complete a portion of segment 17a corresponding to half the cell width). Generally, however, in certain examples, the mobile propulsion unit 20 or any suitable component of the storage system 10 responsible for booking the segments 17 to the mobile propulsion unit 20 can be configured to reserve the next segment of the current track at any appropriate time as the mobile propulsion unit 20 moves along the reserved segment 17. The remainder of the description assumes that the mobile drive unit 20 is configured to attempt to book a new segment 17 before the end of the current segment 17.
[0084] In addition, as discussed above with reference to FIGURES 3A and 3B, in certain examples, the mobile drive unit 20a may include one or more sensors capable of detecting certain types of obstructions, barriers or other factors obstructing the movement of the mobile drive unit 20. In response to detection obstacles mobile drive unit 20 may stop and / or take appropriate steps to accomplish the assigned task. For example, the mobile drive unit 20 may stop and periodically send queries to the appropriate sensor to determine if the obstacle has been removed. In another example, the mobile drive unit 20a may request a new path when an obstacle is detected on the segment or near segment 17 of its current path 16. In yet another example, the mobile drive unit 20 may inform the management module 15 or the storage system operator 10 about the need to take appropriate action to remove the obstacle. In certain examples, the mobile drive unit 20a may be configured to disable obstacle detection to allow the use of certain types of special navigation techniques. Examples of such techniques are discussed in detail below with reference to FIGURES 12A-12E, 13 and 14.
[0085] In certain examples, when the mobile drive unit 20a leaves a specific cell 14 of the segment 17a, the mobile drive unit 20a may release the reservation of that cell 14. Alternatively, in certain examples, the mobile drive unit 20a may wait until it reaches the end of segment 17a (i.e. until the mobile drive unit 20a reaches the second outline) to complete the booking of all 14 cells in segment 17a. The mobile drive unit 20a may release the reservation of all or part of the segment 17a by sending a reservation completion message (not shown) to the segment reservation module 96 or by taking any other appropriate steps to terminate use of segment 17a. Alternatively, in certain examples, the mobile drive unit 20a may not be configured to take any confirmation steps to complete the booking. The segment booking module 96 can automatically detect that the mobile drive unit 20a has completed segment 17a, and in response terminate the reservation or the segment reservation module 96 can terminate the reservation after a specified period of time if the mobile drive unit 20a does not renew the reservation within a predetermined time. Generally, the segment booking module 96 may monitor any particular aspect of the operation of the mobile drive unit 20a, including e.g. its location, speed, last renewal request, and / or any other relevant aspect of the state of mobile power unit 20a, and may terminate the booking at any appropriate time based on the state of mobile power unit 20a.
[0086] If the mobile drive unit 20a successfully reserved the segment 17b before the mobile drive unit 20a reached the end of the segment 17a, the mobile drive unit 20a may begin to move along the segment 17b. If the mobile propulsion unit 20a has not successfully booked segment 17b before the mobile propulsion unit 20a reaches the end of segment 17a, the mobile propulsion unit 20a may stop at the intersection of segment 17a and segment 17b and take appropriate steps depending on the configuration of the mobile propulsion unit 20a . For example, as mentioned above, mobile propulsion unit 20a may make multiple attempts to book segment 17b, up to the successful booking of the segment, may make a predetermined number of reservation attempts, and then request a new path 16 or take any other steps to continue traffic to destination location.
[0087] When the mobile drive unit 20a successfully reserves the segment 17b, the mobile drive unit 20a passes through the segment 17b in a similar manner. In due time, as it moves through segment 17b, mobile drive unit 20a attempts to reserve segment 17c and repeats the above process. Mobile propulsion unit 20a reserves and passes through successive segments (as shown by the dashed outlines) until the mobile propulsion unit 20a reaches its destination. Mobile propulsion unit 20a may then take appropriate action to perform the assigned task. For example, according to FIGURE 5, the performance of the assigned task may include the mobile drive unit 20a docking into a specific storage container 30 located at the destination. If the current assigned task includes multiple destination locations, mobile drive unit 20a may request path 16 to the next step by sending a new route request 22 to route planning module 94 and repeating the above process for the next destination. If the task assignment 18 received by the mobile propulsion unit 20a does not specify additional destination locations, the mobile propulsion unit 20a may request the assignment or receive the assigned task from the resource planning module 92 or otherwise inform the management module 15 that the mobile propulsion unit 20a is available for performing new tasks.
[0088] Although the example shown uses only straight segments 17, certain examples of the storage system 10 may be configured to generate paths including segments with bends, curves and other non-linear parts. In addition, although in the example shown, the segments 17 extend unrestricted between turns on track 16, in certain examples the storage system 10 may be configured to generate paths 16 having an upper segment length limit or to allow only a specified segment length to be reserved in a single reservation request. As a result, a relatively long straight segment, such as segment 17c, may actually include a series of smaller, connected segments 17 extending in the same direction.
[0089] Furthermore, although the mobile drive unit 20a uses a single path in the example shown, the mobile drive unit 20 can, in certain examples, be configured to request new paths 16 to be determined to a specific location when traveling along the previously requested path 16 to the same location. As mentioned above, mobile propulsion units 20 can be configured to request a new path 16 if they fail to reserve a specific segment 17 on current path 16. In general, however, mobile propulsion units 20 can be configured to request a new path 16 to the specified destination at any appropriate time while navigating the existing path 16 to the same destination. For example, in a particular example, the mobile drive unit 20 may request a new path 16 to be determined after a predetermined time has elapsed since the first path request has been sent, the completion of individual segments 17, or at any other appropriate time. In such examples, the mobile drive unit 20 may transmit the initially designated path 16 to route planning module 94 to use it as a starting point to determine an improved path 16 to the same destination.
[0090] Furthermore, the management module 15 may send new paths 16 to the mobile drive unit 20 when this mobile drive unit 20 implements a pre-determined path
16. For example, in certain examples, the management module 15 can be configured to manage congestion by giving new paths 16 to mobile propulsion units 20 that are in or near the congestion, or that follow paths passing through congestion or in congestion its near. In another example, the management module 15 may be configured to increase the efficiency of the storage system 10 by broadcasting 20 new tracks 16 to the mobile drive units, which have been optimized based on the attributes of the storage containers 30 or storage stations 50 associated with the respective mobile drive units 20 or tasks that these units perform. Generally, each mobile propulsion unit 20 or route planning module 94 may determine that the mobile propulsion unit 20 should receive a new path 16 based on changes in any relevant conditions, circumstances, properties or condition of the storage system 10 or any individual components of the storage system 10.
[0091] Furthermore, although the example shown describes an example in which the route planning module 94 transmits the entire path 16 to the mobile drive unit 20a simultaneously, in certain examples the route planning module 94 can be configured to transmit the path 16 in parts. For example, in a particular example, route planning module 94 may be configured to transmit path 16 to the requesting mobile drive unit 20 one segment 17 at a time. After passing through the specified segment 17, the requesting mobile drive unit 20 may then request the reservation of another segment 17 belonging to path 16. At this point, the route planning module 94 can determine, based on changes in conditions in workspace 70 and / or based on any other relevant circumstances, whether to reserve another segment 17 of start path 16 or whether to generate a new path 16 to the target location requesting the mobile drive unit twenty. Route planning module 94 then sends information about another segment 17 belonging to the start path 16 or to the new path 16 to the requesting mobile power unit 20. This process can be repeated until the requesting mobile power unit 20 reaches the destination .
[0092] Furthermore, although the example shown focuses on the example of the storage system 10 in which the mobile drive units 20 themselves actively request the reservation of specific segments 17, in alternative examples the management module 15 or other relevant elements of the storage system 10 may be directly or indirectly responsible for booking start. For example, in certain examples, the management module 15 can monitor the location and current path of the mobile propulsion units 20, and can reserve the relevant segments 17 for the mobile propulsion units 20 at the right time during the movement of the mobile propulsion units 20. In yet other specific examples, the storage system 10 may include signaling devices, such as traffic signals, that allow traffic management within the work area 70. As a result, the management module 15 or other elements that control the signaling devices can directly reserve a specific segment 17 for the mobile drive unit 20 by sending a signal to other mobile drive units 20 that they are not authorized to use the segment 17 at a given time.
[0093] Consequently, the storage system 10 allows the use of a number of techniques that allow efficient mapping of mobile drive units 20, navigation and management within the work area 70. Because the storage system 10 allows the use of techniques to resolve conflicting reservation requests of a particular segment 17 sent by two different mobile propulsion units 20, the management module 15 may also allow limiting or eliminating collisions between the mobile propulsion units 20 performing tasks at the same time. As a result, the techniques described can provide one or more benefits in terms of system operation.
[0094] FIGURE 6 is a flowchart of how a particular example of the mobile drive unit 20 operates when passing through the path 16 to the designated location. FIGURE 6 shows the process by which the mobile drive unit 20, in specific examples of the storage system 10, requests a path to a specific destination and then reserves and passes through subsequent segments 17 of this path 16. Any of the steps shown in FIGURE 6 can be combined, changed or deleted as appropriate, and additional steps can be added to the steps shown in the diagram. In addition, the steps described can be performed in any appropriate order.
[0095] The exemplary method of operation starts in step 602 after the mobile drive unit 20 receives task allocation 18 from the resource planning module 92. Task allocation 18 defines one or more locations associated with the task assigned to the mobile drive unit 20. In response to task assignment 18 mobile drive unit 20 requests route planning module 94 to determine a path to one of the destination locations specified in task assignment 18. In certain examples, mobile drive unit 20 transmits a path request by sending a route request 22 to route planner 94 in step 604. Route request 22 determines the destination and current location of mobile drive unit 20.
[0096] At step 606, the route planning module 94 generates, selects or determines the path 16 from the current location of the mobile drive unit 20 to the destination. The route planning module 94 then transmits path 16 to the mobile drive unit 20. In certain examples, route planning module 94 transmits path 16 to mobile drive unit 20 by sending, in step 608, route response request 24 to mobile drive unit 20, which determines path 16 in an appropriate manner based on the performance of mobile drive unit 20. W In certain examples, path 16 includes multiple segments 17, including at least an initial segment 17 and one or more additional segments 17. The initial segment 17 is associated with a portion of the work area 70 adjacent to the current location of the mobile drive unit 20 when the mobile drive unit 20 sends a path request and at least one of the additional segments 17 is associated with a portion of the work area 70 adjacent to the destination. The path 16 may include any number of additional segments 17.
[0097] After receiving path information from the route planning module 94, the mobile drive unit 20 attempts to book the segment 17 of the initial designated path 16. In certain examples, the mobile drive unit 20 attempts to reserve the segment 17 of the initial by sending a reservation request 26 to the segment reservation module 96 at step 610. Reservation request 26 specifies the requested segment 17.
[0098] Upon receipt of the reservation request 26, the segment reservation module 96 attempts to reserve the desired segment 17 for the mobile drive unit 20 in step 612. In certain examples, the segment reservation module 96 may change the desired segment 17 to compensate for potential uncertainties or errors in the calculated mobile position power unit 20. As a result, in certain examples, the segment reservation module 96 may reserve a portion of the work area 70 other than the segment specified in the reservation request 26 received. For example, the segment reservation module 96 may, under appropriate conditions, expand, relocate and / or otherwise modify the desired segment, to create a modified segment more suitable for use by the requesting mobile power unit 20. In certain examples, the segment reservation module 96 may be configured to modify the desired segment based on the error margin used by the storage system 10. The segment reservation module may as a result attempt to reserve a portion of the work area 70 that has been expanded, moved or otherwise modified relative to reserved segment 17 by a value determined based on the margin of error. For example, in certain examples that utilize a work area 70 based on a grid of multiple cells 14, the segment booking module 96 may attempt to reserve a segment 17 that includes one or more cells 14, in addition to cells in the desired segment 17 that extend in the direction of travel of the requesting mobile drive unit 20. In addition, in certain examples, the segment reservation module 96 may attempt to reserve a segment that has been moved by a certain number of cells in a particular direction.
[0099] The segment booking module 96 may then notify the mobile drive unit 20 whether the mobile drive unit 20 has successfully reserved the segment 17 for the mobile drive unit 20. Alternatively, the segment booking module 96 may notify the mobile drive unit 20 only of successfully completed booking attempts. In certain examples, the segment reservation module 96 notifies the mobile drive unit 20 by responding to the reservation request 28 to the mobile drive unit 20 in step 614.
[0100] At step 616, the mobile drive unit 20 determines whether the mobile drive unit 20 has successfully reserved the initial segment 17. If the mobile drive unit 20 has not successfully reserved the initial segment 17, the mobile drive unit 20 may take appropriate steps to continue the assigned task. For example, in the example shown, the mobile drive unit 20 waits for a predetermined amount of time to pass and attempts to reserve the start segment again in step 618. Furthermore, in the example shown, the mobile drive unit 20 determines in step 620 whether the second attempt has been completed successfully. If the second attempt was successful, the job continues with step 622. If the second attempt is not completed successfully, it returns to step 604, in which the mobile drive unit 20 sends a request to determine a new path 16.
[0101] If the mobile propulsion unit 20 has successfully reserved the initial segment 17, the mobile propulsion unit 20 begins to move from the initial location along the path initial segment in step 622. In step 624, the mobile propulsion unit 20 determines that the portion of the initial segment 17 to be completed is smaller than the pre-set part. As a result, the mobile drive unit 20 determines in step 626 whether there are any additional segments 17 to be completed in the current path 16.
[0102] If there are segments 17 to be completed in the current track 16, the mobile drive unit 20 attempts to book the next segment 17 and returns to step 610. If the mobile drive unit 20 successfully reserves the next segment, the mobile drive unit 20 moves along the next segment 17 If the mobile drive unit does not reserve the next segment 17, operation continues with step 622. If the mobile drive unit 20 reaches the end of the initial segment 17 before reserving the next segment, the mobile drive unit 20 may stop at the end of the initial segment and remain stationary until the mobile drive unit 20 reserves the next segment or receives an alternative path.
[0103] If there are no remaining segments 17 of the current path to be completed, the mobile drive unit 20 determines whether it is necessary to reach any of the other target locations within task assignment 18 in step 628. If so, returns to step 604. If not, the mobile drive unit 20 may inform the resource planning module 92 that the mobile drive unit 20 has completed the current task in step 630. Work on the current task may be terminated as shown in FIGURE 6.
[0104] FIGURES 7 and 8 show a path planning technique based on the current state of the requesting mobile drive unit 20. FIGURE 7 shows an example of using such techniques in a specific storage system 10, and FIGURE 8 is a diagram illustrating an example of how the management module 15 works when using a specific an example of these techniques. An exemplary method of applying such a technique in the storage system 10 can be illustrated by specific examples of the storage system 10 in which the mobile drive units 20 not docked to the storage container 30 can move on the surfaces occupied by the stored storage containers 30, but the mobile drive units 20, which are docked into storage containers 30, cannot move on such surfaces. As a result, when not docked, mobile drive units 20 can travel through cells 14 housing storage containers 30 by tunneling, which will allow more efficient use of system resources.
[0105] FIGURE 7 shows techniques that can be used by the management module 15 to generate corresponding paths 16 for mobile drive units 20. In certain examples, when the mobile drive unit 20 requests path determination 16, route planning module 94, management module 15 or other relevant components of the storage system 10 determine the state of the requesting mobile drive unit 20. As used herein and in the claims, the term "condition" may refer to transient, temporary conditions, such as the current task assignment, which are associated with the requesting mobile power unit 20, as well as to permanent features and properties, such as height and width, associated with the requesting mobile power unit 20.
[0106] The route planning module 94 then generates, selects or determines the path partly based on the state of the requesting mobile drive unit 20. Based on the state of the mobile drive unit 20, cells can be determined through which the mobile drive unit 20 can move and the planning module routes 94 may generate a path 16 that uses the appropriate cells 14. To illustrate this, FIGURE 7 shows an example of two alternative paths 16, paths 16a and 16b, which can be generated by route planning module 94 based on a particular aspect of the state of the requesting mobile drive unit 20b. FIGURE 7 shows two paths 16 that can be generated depending on whether the mobile drive unit 20b is currently docked in storage container 30.
[0107] Mobile drive unit 20b first receives task allocation 18, as explained above with reference to FIGURE 5. Task assignment 18 defines a destination associated with the respective task allocated to mobile drive unit 20b. In response to task assignment 18, mobile drive unit 20b requests path 16 from route planning module 94. In this example, the mobile drive unit 20b requests path 16 by sending a route request 22 that specifies the appropriate destination, in this case cell 14b.
[0108] In response to the routing request 22, the route planning module 94 generates path 16 to the destination by defining, selecting and / or otherwise generating the appropriate path 16. When generating path 16, the route planning module 94 takes into account the specific state of mobile drive unit 20b , in this case its docking status. Based on the respective state aspect of the requesting mobile propulsion unit, route planning module 94 may determine that mobile propulsion unit 20b cannot travel on specific cells 14, cannot travel on specific paths 16, and / or cannot use specific devices (e.g. mobile trolley) within the working area 70 and / or that the condition of the mobile propulsion unit 20b imposes some constraint on the path 16 that can be correctly generated by the route planning module 94 for the mobile propulsion unit 20b.
[0109] In certain examples, the requesting mobile drive unit 20 may independently indicate the status information of the route planning module 94. For example, in the example shown, the mobile drive unit 20b may provide information about the docking status in the routing request 22. In alternative examples, the route planning module 94 may monitor the operation of one or more mobile propulsion units 20 within work area 70 and may store appropriate status information as part of normal operation. In addition, in the respective examples, the route planning module 94 may retrieve appropriate status information from other components of the storage system 10 when a particular mobile drive unit 20 requests path determination 16. For example, in certain examples, when the route planning module 94 receives a routing request 22 from a particular mobile propulsion unit 20, the route planning module 94 can communicate with the resource planning module 92 to determine if the requesting mobile propulsion unit 20 is currently assigned a task .
[0110] In the example shown, it is assumed that mobile drive units 20 that are currently docked to storage container 30 cannot move through cells 14 of work area 70 designated for storage containers 30 (referred to as storage cells 64). Consequently, if the mobile drive unit 20b is currently docked to the storage container 30, the route planning module 94 may generate a path for the mobile drive unit 20 that bypasses all designated storage cells, such as the path shown in
FIGURE 7 as path 16a. On the other hand, if the mobile drive unit 20 is not currently docked to the storage container 30, the route planning module 94 may generate a path that includes designated storage cells 64, such as the path shown in FIGURE 7 as path 16b.
[0111] After the route planning module 94 generates the appropriate path 16, the route planning module 94 sends path information 16 to the requesting mobile drive unit 20. In the example shown, the route planning module 94 sends a response to the route request 24 to the mobile drive unit 20b, which defines path 16. The mobile drive unit 20b then travels along designated path 16, as discussed above.
[0112] By considering the state of the requesting mobile drive unit 20 during path generation 16, route planning module 94 can make more data-based decisions with respect to paths 16 that route planning module 94 generates for this mobile drive unit 20. In certain examples, the route planning module 94 may take into account the state of the requesting mobile drive unit 20 to allow the route planning module 94 to selectively use cells, paths or devices that the mobile drive units 20 in a particular state cannot use. Similarly, in certain examples, the route planning module 94 may take into account the state of the requesting mobile propulsion unit 20 to limit the use of specific cells, paths or devices by the mobile propulsion units 20 in a particular state so that they are available for use by the mobile propulsion units 20 in a state suitable for using the cell, path or device.
[0113] For example, route planning module 94 may, as discussed earlier, consider the docking status of the requesting mobile drive unit 20 when generating the path. Similarly, in certain examples (e.g., where mobile drive units 20 do not dock to transported storage containers 30), route planning module 94 may, when generating the path, alternatively take into account whether the requesting mobile drive unit 20 carries the load. As a result, the route planning module may selectively use cells 14 that could not be used for routing because docked or loaded mobile propulsion units 20 cannot pass through cell 14 due to the presence of the stored storage container 30, the location of suspended stairs or other physical restrictions, which prevent the mobile drive unit 20 from passing through the cell 14. Consequently, cells 14 that would otherwise be not allowed to be used on all paths can be selectively used in paths for the respective mobile propulsion units 20, thus increasing the available space for the route planning module 94 when determining the desired paths 16.
[0114] Furthermore, the route planning module 94 may use information regarding the docking or loading status of the requesting mobile drive unit 20 to determine the urgency of the need to determine the path 16 requested by the mobile drive unit 20. The route planning module 94 may decide not to determine the path for unaddressed and unloaded mobile propulsion units 20 by high-traffic cells, even if the resulting path 16 is much longer. Similarly, route planning module 94 may decide not to generate paths for unloaded and unloaded mobile power units 20 that require the use of limited hardware resources, such as travel jacks, to complete paths. Consequently, the route planning module 94 may generate higher priority routes for specific mobile propulsion units 20 based on the docking status or loading of these mobile propulsion units 20.
[0115] In another example, the route planning module 94 may consider the power or fuel level of the requesting mobile drive unit 20 when generating the path 16. As a result, the route planning module 94 can, based on the battery level or fuel level requesting the mobile drive unit 20, generate a path 16 that is shorter than the maximum length to ensure that the mobile drive unit 20 does not stop at a random location, even if this path increases the likelihood of delay of the mobile drive unit 20 due to congestion. Similarly, route planning module 94 may decide, based on the fuel level or battery charge of the mobile power unit 20 requesting, to generate a path that runs near the charging or filling station to allow battery charging or fueling of mobile power unit 20 on the route to the destination.
[0116] In yet another example, route planning module 94 may also take into account the current allocation status of the requesting mobile drive unit 20 when generating path 16 for this mobile drive unit 20. The status of the assignment may refer to whether the mobile drive unit 20 is currently assigned a task, to the priority of that task and / or any other conditions related to the task currently or previously assigned to this mobile drive unit 20. As a result, route planning module 94 can route only for mobile power units 20 to which high priority tasks are currently assigned, and these routes lead through high-traffic cells 14. Similarly, route planning module 94 may decide to generate a path that requires the use of limited hardware resources, such as travel jacks, only when the requesting mobile drive unit 20 is currently assigned a task or, alternatively, a high priority task. Consequently, route planning module 94 generates paths 16 that can be completed faster by mobile drive units 20 to which a task is currently assigned or to units to which a high priority task is currently assigned.
[0117] In yet another example, the storage system 10 may use mobile drive units 20 with different physical characteristics such as height or width. In such examples, route planning module 94 may be configured to take into account the physical characteristics of the requesting mobile drive unit 20 when generating path 16. As a result, the fact that for some mobile propulsion units 20 traveling through specific cells 14, following specific paths 16 may be physically impossible to use specific devices, does not necessarily mean that route planning module 94 will not use such cells 14 , tracks 16 or devices when generating tracks for all 20 mobile drive units.
[0118] In general, however, the route planning module 94 may, in certain examples, take into account any one or more aspects of the state of mobile power unit 20 or the load carried by this mobile power unit 20 when generating the desired path 16. Consequently, the route planning module 94 may optimize the use of resources in the storage system 10 by adapting the path 16 to the requirements of the mobile drive unit 20 requesting. In addition, by considering both the destination given by the mobile propulsion unit 20 and the status of the requesting mobile propulsion unit 20 when generating the path 16, the route planning module 94 can enable the second goal (e.g., charging) to be accomplished with little or no effect on the ability to perform the assigned tasks by mobile power unit 20. As a result, certain examples of the storage system 10, in which the techniques described in relation to FIGURE 7 are used, can provide a number of performance benefits.
[0119] FIGURE 8 is a diagram illustrating the operation of an exemplary route planning module 94 while applying some or all of the techniques described in reference to FIGURE 7. Although FIGURE 8 focuses on a specific example of a storage system 10 that takes into account a particular aspect of the condition of mobile drive unit 20 when generating path 16 to a specific destination for this mobile drive unit 20, in alternative examples the storage system 10 can be configured to include the appropriate aspect of the state of mobile propulsion units 20 during path generation 16. In addition, any of the steps shown in FIGURE 8 can be combined, changed or deleted as appropriate, and additional steps can be added to the steps shown in the diagram. In addition, the steps described can be performed in any appropriate order.
[0120] Operation starts in step 640 after the route planning module 94 receives a routing request 22 from the mobile drive unit 20. The routing request 22 defines a destination within the work area 70. In certain examples, the work area 70 includes at least one cell 14 associated with the first cell attribute, and at least one cell not associated with the first cell attribute. For example, in certain examples, cells 14 that can be tunneled are associated with the tunneling attribute, while cells that do not require tunneling are not associated with the tunneling attribute. In the example shown, all the storage cells 64 in the work area 70 are associated with the tunneling attribute, so that the mobile drive unit 20 can pass through them by tunneling. In contrast, all cells 14 that are not storage cells 64 ("non-storage cells") in workspace 70 are not associated with the tunneling attribute and you can go through those non-storage cells 64 without tunneling.
[0121] In step 642, the route planning module 94 determines the state of the mobile drive unit 20. As discussed above, route planning module 94 may determine the state of mobile drive unit 20 based on information included in route mapping request 22 or other information exchanged with the requesting mobile drive unit 20, information stored by route planning module 94, information received from another element storage system 10 and / or any other relevant information. In response to determining that the requesting mobile drive unit 20 is associated with the first state, the route planning module 94 generates a path 16 to the target location of the mobile drive unit 20 that can run through cells 14 associated with the first cell attribute in step 644. In this case, the generated path 16 can run through both cells that are associated with the first cell attribute and cells that are not associated with the first cell attribute. In response to determining that the mobile drive unit 20 is not associated with the first state, the route planning module 94 generates a path 16 to the target location of the mobile drive unit 20 that does not run through the cells 14 associated with the first cell attribute in step 646. In this case, the generated path 16 only runs through cells that are not associated with the first cell attribute. Although in certain examples, the generated path 16 may allow a particular mobile drive unit 20 to enter and leave the cell associated with the first cell attribute from the same direction (e.g. unloading the storage container 30 in an empty storage cell 64), the generated path 16, in such examples, will not allow or require passing through the requesting mobile drive unit 20 through such cells 14.
[0122] For example, in certain examples, the route planning module 94 may determine whether mobile drive unit 20 is currently docked or undocked. If the route planning module 94 determines in step 642 that the requesting mobile drive unit 20 is currently docked, the route planning module 94 will generate a path 16 between the first destination and the second location comprising only cells
14, which are not designated as storage cells 64, such as path 16a on
FIGURE 7. If the route planning module 94 determines that the requesting mobile drive unit 20 is not currently docked, the route planning module 94 may generate a path 16 comprising only cells 14, which are designated as storage cells 64, as well as cells 14 that are designated as non-storage cells, such as lane 16b in FIGURE 7.
[0123] After generating the corresponding path 16, the route planning module 94 sends path information 16 to the requesting mobile drive unit 20. In the example shown, the route planning module 94 sends information about the generated path 16 to the requesting mobile drive unit 20 by responding to the request. route 24 to the requesting mobile drive unit 20 that determines the generated path 16 in step 648. The response to the routing request 24 includes information defining the generated path 16. Upon receipt of the response to the route 24 request, the mobile drive unit 20 may then begin to travel through the generated path 16 to the destination, and the work of the route planning module 94 in relation to the generation of this path 16 is completed as shown in FIGURE 8.
[0124] FIGURES 9-11 show techniques for selecting the location of the target mobile drive unit 20 based on the state of the respective mobile drive unit 20. FIGURE 9 shows an example of how the management module 15 uses such techniques to select target locations for mobile power units 20 based on their task allocation, while FIGURE 10 shows an example of how the management module 15 uses such techniques to select a mobile destination 20 power units based on their ability to perform tasks. In addition, FIGURE 11 is a diagram illustrating an example of how the management module 15 works when using these techniques. An exemplary method of applying such a technique in the storage system 10 can be illustrated by specific examples of the storage system 10 in which the mobile drive units 20 and storage containers 30 may have a size and shape that allow the undocked mobile drive unit 20 and storage container 30 to occupy the same part work area 70, e.g., storage cells 64. As a result, the management module 15 can issue commands to mobile drive units 20, which currently do not perform any assigned tasks, to park in a place where the storage container 30 is stored. Thus, the idle mobile drive unit 20 will not be an obstacle in the working area 70 and more space will be available for traffic. In addition, these techniques allow idle mobile propulsion units 20 to be directed to a selected location in order to set the appropriate mobile propulsion unit 20 in the best position for the next task.
[0125] The process shown in FIGURE 9 begins with the resource planning module 92 determining the condition of mobile drive unit 20c. In particular in this example, the resource planning module 92 determines the allocation status of the mobile drive unit 20c. The status of the assignment may refer to information whether one or more tasks are currently allocated to the respective mobile power unit 20, one or more tasks are being performed, or just one or more tasks previously assigned and / or any other conditions related to tasks that have been have been allocated to and / or made by the mobile power unit 20c.
[0126] Furthermore, the resource planning module 92 may determine the allocation status of the particular mobile drive unit 20 in any suitable manner. In certain examples, the mobile drive units 20, after completing the task, notify the resource planning module 92 that they have completed the assigned tasks. In the example shown, mobile drive unit 20c notifies resource planning module 92 by sending a message about task 192. Task 192 message informs the resource planning module that the mobile drive unit 20 that transmitted the task 192 message completed the assigned task. Task completion message 192 may include the idle mobile drive unit 20 identifier and / or other information that will enable resource planning module 92 to determine that the corresponding mobile drive unit 20 has completed its task. As a result, resource planning module 92 determines the allocation status of mobile drive unit 20c based on the received task 192 message. In alternative examples, resource planning module 92 can monitor the operation of one or more mobile drive units 20 within workspace 70 and can store relevant information regarding the state of normal work.
[0127] In response to determining that the mobile drive unit 20c has performed the assigned task, the resource planning module 92 selects a destination for the mobile drive unit 20c based on the information of the inactivity of the mobile drive unit 20c. Depending on the configuration of the storage system 10, the resource planning module 92 can use the inactivity information of the mobile drive unit 20c in any suitable way when selecting the appropriate destination for the mobile drive unit 20c. By specifically treating idle mobile propulsion units 20, resource planning module 92 can selectively deploy these mobile propulsion units 20 to improve the overall performance of the storage system 10.
[0128] In certain examples, the resource planning module 92 may direct mobile drive units 20c to low traffic locations to prevent congestion by mobile drive units 20c waiting for the next job. For example, resource planning module 92 may select a destination from storage cells 64 in which storage container 30 is currently located. 64c, 64d and 64e storage cells in FIGURE 9 are examples of such locations.
[0129] In another example, the resource planning module 92 may direct the mobile propulsion unit 20c to the low traffic destination by selecting the cell 14 to which otherwise the mobile propulsion units 20 docked to the storage container 30 have no access as the destination and / or a transition point. For example, in certain examples, the resource planning module 92 can designate a target location from cells 14 in workspaces where suspended tasks are located. , narrow entrances, low ceilings, and / or which are otherwise inaccessible to mobile drive units 20 docked into containers warehouse 30 used in this example of a warehouse system 10. Thus, mobile propulsion units 20 transporting storage containers 30 will not have to use the cell 14 selected as parking space for mobile propulsion unit 20c. The work area 70 shown in FIGURE 9 includes a staircase 890 that prevents mobile drive units 20 transporting storage containers 30 from traveling through at least cells 14c-14g. As a result, 14c-14g cells in FIGURE 9 show an example of an unavailable cell of this type.
[0130] In yet other specific examples, the resource planning module 92 may direct the mobile drive unit 20c to a low traffic destination based on the actual traffic flow in the respective area. For example, resource planning module 92 may consider the frequency of including a specific cell 14 in paths 16 generated by route planning module 94, the frequency of requesting segment reservations including this cell 14 and / or any other relevant traffic flow indicators, and may then select a destination for the mobile drive unit 20c among 14 cells rarely used by mobile power units 20. For the purposes of this example, it is assumed that the 14h-14j cells shown in FIGURE 9 are rarely used by mobile propulsion units 20 and are therefore an example of this type of location.
[0131] Furthermore, the resource planning module 92 may attempt to improve the operation of the storage system 10 by setting the mobile drive unit 20c in an optimal position to respond to subsequent tasks assigned to the mobile drive unit 20c. For example, in certain examples, the resource planning module 92 may select a destination for the mobile drive unit 20c that is near the stored storage containers 30. 14k-14l cells in FIGURE 9 provide general examples of this type of location.
[0132] In addition, in certain examples, the resource planning module 92 may select a destination for the mobile drive unit 20c that is near the frequently requested storage containers 30. For example, in a shipping warehouse, the resource planning module 92 may choose a destination for the mobile drive unit 20c which is located near the storage containers 30 that store the most-sold storage items 40. As a result, in such examples, the resource planning module 92 can take into account the frequency of using specific storage containers 30 to respond to storage orders and select a location for mobile drive unit 20c that is near the often desired storage container 30. In addition, in certain examples, resource planning module 92 may attempt to achieve both goals by selecting a destination location for mobile drive unit 20c that is located in storage cell 64 often containing the desired storage container 30. As a result, mobile drive unit 20c may be outside of the flow of traffic and be set in an optimal position to react to subsequent tasks that will be allocated to the mobile power unit 20. For the purposes of this example, 30m and 30n storage containers are assumed to be often desired storage containers. As a result, due to the fact that each of the 64m and 64n storage cells now has a storage container 30, which is often the desired storage container 30, is stored, the 64m and 64n storage cells in FIGURE 9 show exemplary locations that meet both purposes.
[0133] Generally, resource planning module 92 may select any type of location as the destination of mobile drive unit 20 with a specific allocation state. In addition, although FIGURE 9 shows an example of a configuration in which specific types of cells 14 that can be selected as destinations are located in specific locations of the workspace 70, the resource planning module 92 can use any type of locations located anywhere in the workspace 70.
[0134] After selecting the destination for the mobile drive unit 20c, the resource planning module 92 sends the destination information to the mobile drive unit 20c. In the example shown, the resource planning module 92 assigned a task assignment 18 that specifies the selected destination. In certain examples, the mobile drive unit 20c may then request a path and move to the destination as described in reference to FIGURE 5. In certain examples, the mobile drive unit 20 may then wait at the destination location to receive another task assignment 18.
[0135] Thus, by selecting a parking location for idle mobile propulsion units 20 in low traffic areas in a specific example, resource planning module 92 can reduce the likelihood of congestion by such mobile propulsion units 20 waiting for subsequent tasks. In addition, by placing idle mobile propulsion units 20 near storage containers 30 or other relevant components of the storage system 10, resource planning module 92 can reduce the time to perform subsequent tasks that will be allocated to idle mobile propulsion units 20. Generally, in a specific example, the storage system 10 can be configured to use the idle information of a particular mobile drive unit 20 in any suitable way to select a destination for this mobile drive unit 20. By strategically arranging unused mobile drive units 20, the resource planning module 92 can increase the overall performance and throughput of the storage system 10.
[0136] FIGURE 10 shows another example of how the resource planning module 92 can use various aspects of the state of mobile drive unit 20 to determine the location for this mobile drive unit 20. FIGURE 10 shows an example of how the resource planning module 92 may use the performance status of the mobile power unit 20 to determine the location for this mobile power unit 20. By determining the appropriate destination for the mobile propulsion unit 20 based on the state of repair, energy supply status and / or any other condition regarding the ability of the mobile propulsion unit 20 to perform assigned tasks in general and / or to perform a specific task the resource planning module 92 can optimize the deployment of mobile power units requiring repair, recharging and / or other types of maintenance to improve or restore their ability to perform assigned tasks.
[0137] The process depicted in FIGURE 10 begins with the resource planning module 92 determining the state or specific aspect of the state of mobile drive unit 20d. In particular in this example, the resource planning module 92 determines the performance status of the mobile drive unit 20d. Performance status may refer to repair status, power status, maintenance status, and / or any other aspect of the current or anticipated ability of mobile power units to perform assigned tasks.
[0138] Resource planning module 92 may determine the performance status of mobile drive unit 20d in any suitable manner. In the example shown, the mobile drive unit 20d is configured to transmit a 990 performance message in the event of a change in its performance and / or an event affecting its capacity. For example, the mobile power unit 20 may broadcast a performance message 990 when its fuel level or battery level drops, when parts or components of the mobile power unit 20d become damaged or become unusable, when the scheduled maintenance period of the mobile drive unit 20d has expired, or when any other event occurs that affects or potentially affects the ability of the mobile drive unit 20d to perform assigned tasks and / or remain active. In alternative examples, the resource planning module 92 may monitor various features of the mobile drive units 20 or events associated with the mobile drive units 20 as part of normal operation and determine the performance status of the mobile drive units 20 based on monitored information. In yet other examples, the resource planning module 92 may receive information from other components of the storage system 10 on the basis of which the resource planning module 92 determines the performance status of the mobile propulsion units 20. In general, however, the resource planning module 92 can determine the performance status of a particular mobile propulsion unit 20 on based on any relevant information received from any appropriate source.
[0139] In the example shown, the resource planning module 92, after determining the performance status of the mobile drive unit 20d based on the performance message 990, selects a location for the mobile drive unit 20d in accordance with this performance message. The resource planning module 92 then generates the task assignment 18 determining the selected location and assigns the task assignment 18 to the mobile drive unit 20. By selecting a destination suitable for the mobile drive unit 20 based on its performance status, the resource planning module 92 can reduce the effects of damage, decrease in energy level or other circumstances adversely affecting congestion, capacity and responsiveness of the storage system 10.
[0140] For example, in certain examples, the performance condition of the mobile drive unit 20d may refer to its repair condition. If any of the components or specific components of the mobile drive unit 20d fail or become unusable, the mobile drive unit 20 may send a performance message 990 to the resource planning module 92. The resource planning module 92 can then select a destination for the mobile drive unit 20 based on the information that the mobile drive unit 20d needs repair. In certain examples, the storage system 10 may include automated repair stations 992 that allow certain types of failure to be repaired or certain types of parts replaced. For example, the storage system 10 may include an automatic repair station 992 that allows tire replacement, sensor cleaning, or other types of repair with limited or no human intervention. In such examples, the resource planning module 92 may select a destination in the appropriate automatic repair station 992 or in the vicinity, e.g. in cells 14m, 14n and 14o, in response to determining that the mobile drive unit 20d requires repair, or in response to determining that the mobile drive unit 20d requires repair of a certain type.
[0141] In other examples, the storage system 10 may include cells 14, such as cells 14p and 14q, which allow easy access for operators repairing mobile propulsion units 20, and resource planning module 92 may be configured to direct mobile propulsion units 20 to these cells at least to perform a certain type of repair. In certain examples, e.g. in the example shown in FIGURE 10, the work area 70, in whole or in part, may be enclosed by a wall, handrail or other barrier that prevents or restricts access to the work area 70, and the resource planning module 92 can select a destination near the access points to working area 70 (such as door 998 on
FIGURE 10). Alternatively or additionally, resource planning module 92 may select a destination that is away from high traffic areas and is intended for repair work, or that is in a different location allowing operators safe and / or easy access to mobile drive units requiring repair. Thus, in response to determining that the mobile drive unit 20d needs repair, or in response to determining that the mobile drive unit 20d requires a specific type of repair (e.g., a type of repair that is too complex for an automatic repair station 994), resource planning module 92 can choose a destination, e.g. 14p and 14q cells, for the mobile drive unit 20d, which is easily accessible to operators.
[0142] In yet other specific examples, the performance status of the mobile drive unit 20d may relate to its fuel level or battery charge level. For example, in certain examples, the mobile drive unit 20d may broadcast a performance message 990 communicating information about its fuel level, battery level or other appropriate form of energy level to the resource planning module 92. Resource planning module 92 can then select the appropriate destination for mobile drive unit 20d based on this information. In certain examples, the storage system 10 may include one or more energy charging stations 996 at which it is possible to recharge the battery or top up the fuel level of the mobile drive units 20, replace their battery or otherwise provide additional energy enabling them to respond to their assigned tasks. Thus, in response to the determination that the mobile drive unit 20d requires refueling or recharging the battery, the resource planning module 92 can select a destination location, such as cells 14r, 14s or 14t, which are located near the respective energy charging station 996.
[0143] In yet other specific examples, the resource planning module 92 may be configured to send mobile propulsion units 20, which require repair, refueling or battery charging, to low-traffic cells 14. Consequently, in such examples, the mobile units drive 20, which cannot perform assigned tasks, will not hinder movement while waiting for repair or removal from the storage system 10. In this way, the resource planning module 92 may take into account the frequency of including a specific cell 14 into paths 16 generated by the route planning module 94, the frequency of requesting the reservation of segments including that cell 14 and / or any other relevant traffic flow indicators and may then select a target location for the mobile unit 20d propulsion among 14 cells rarely used by mobile propulsion units 20. In addition, when selecting the destination for such mobile propulsion units 20, the resource planning module 92 may take into account the fact that due to physical constraints, system policies and / or any other relevant conditions, a specific cell 14 is not normally available as a destination for mobile units propulsion and / or as a crossing point for mobile propulsion units 20. For the purposes of this example, it is assumed that the 14u-14v cells shown in FIGURE 10 are rarely used by mobile propulsion units 20 and are therefore an example of this type of location. Thus, in response to determining that the mobile drive unit 20d needs repair, or in response to determining that the mobile drive unit 20d requires a certain type of repair, resource planning module 92 may select a destination location in a low traffic area, e.g. 14u and 14v cells
[0144] In yet another example, the resource planning module 92 may select a specific task or tasks for the mobile drive unit 20 based on the reduced performance of the mobile drive unit 20. Thus, after the resource planning module 92 detects that the mobile drive unit 20 needs repair, has a low battery or fuel charge, or has otherwise reduced performance, the resource planning module 92 can assign the mobile drive unit 20 a task associated with lighter storage containers 30, 30 storage containers, which are closer to the position of the mobile propulsion unit 20 or are otherwise better placed to be transported by the mobile propulsion unit 20 with reduced capacity than storage containers 30 associated with other tasks. As a result, the resource planning module 92 can select a destination associated with such storage containers 30 for the respective mobile drive unit 20.
[0145] Generally, resource planning module 92 may select any type of location as the destination of mobile drive unit 20 with a specified performance state. In addition, although FIGURE 10 shows an example of a configuration in which specific types of cells 14 that can be selected as destinations are located in specific locations of the workspace 70, the resource planning module 92 can use any type of locations located anywhere in the workspace 70.
[0146] After the resource planning module 92 for the mobile drive unit 20d has selected the appropriate destination based on its performance status, the resource planning module 92 sends the destination information to the mobile drive unit 20d. In the example shown, the destination information is transmitted by assigning task 18 to the mobile drive unit 20d, which specifies the selected destination. Mobile propulsion unit 20d then requests path 16 to the selected destination and moves along the path to the selected destination as described above with reference to FIGURE 5. In certain examples, mobile propulsion unit 20 may then remain in the selected destination until it is repaired or carry out appropriate maintenance on it. Mobile propulsion unit 20 may then become available to receive subsequent assignments from the resource planning module 92.
[0147] Although the above description has focused on the example in which the mobile drive unit 20d transmits information indicating the state of its capability to the resource planning module 92, in certain examples the resource planning module 92 may instead determine the performance status of the specific mobile drive unit 20 based on for information retrieved by the resource planning module 92 from a source other than the corresponding mobile propulsion unit 20. For example, in certain examples, the mobile drive unit 20 may be repaired or maintained according to a repair or maintenance schedule, and the resource planning module 92 may determine the performance status of a particular mobile drive unit 20 based on that schedule and stored information indicating when the corresponding mobile drive unit 20 have recently undergone repair or maintenance.
[0148] Thus, by selecting parking spaces for mobile propulsion units 20 that accelerate or facilitate repair, refueling, battery charging, maintenance or otherwise restoring the performance of mobile propulsion units 20, resource planning module 92 can limit the adverse impact of mobile units propulsion 20 that is damaged, worn or otherwise unable to perform the assigned tasks. In addition, by selecting parking spaces in low traffic areas for such mobile propulsion units 20 in specific examples, the resource planning module 92 can reduce the likelihood of congestion caused by such mobile propulsion units 20 waiting for repair or maintenance. Generally, in a specific example, the storage system 10 can be configured to use information that a particular mobile propulsion unit 20 is damaged, worn, or otherwise unable to perform the assigned tasks in any suitable manner to select a destination for this mobile propulsion unit 20. By strategically deploying mobile drive units 20 in this state, the resource planning module 92 can increase the overall performance and throughput of the storage system 10.
[0149] FIGURE 11 is a diagram illustrating the operation of a specific example of a resource planning module 92 when selecting a destination for a mobile drive unit 20. FIGURE 11 shows a process by which the resource planning module 92, in certain examples of a storage system 10, selects a destination of a specific mobile power unit 20 based on the state of this mobile power unit 20. Although FIGURE 11 focuses on the example in which the resource planning module 92 selects the destination for the mobile drive unit 20 based on the allocation status of the mobile drive unit 20, in certain examples, the resource planning module 92 can be configured to select a destination based on the state performance or other aspect of the general condition of the respective mobile power unit 20. In addition, any of the steps shown in FIGURE 11 can be combined, changed or deleted as appropriate, and additional steps can be added to the steps shown in the diagram. In addition, the steps described can be performed in any appropriate order.
[0150] Operation in this example starts when the resource planning module 92 determines the allocation status of the particular mobile drive unit 20 at step 650. As mentioned above, the allocation status may refer to whether the mobile drive unit 20 is currently allocated one or more tasks, performs one or more tasks, and / or has just completed one or more previously allocated tasks and / or any other aspects tasks that have been assigned to and / or performed by the mobile power unit 20. At step 652, the resource planning module 92 determines, based on this allocation status, whether the mobile drive unit 20 is currently performing any assigned tasks. If the resource planning module 92 determines that the mobile drive unit 20 is currently performing the assigned task, the resource planning module 92 may allow the mobile drive unit 20 to perform the assigned task, and the operation of the resource planning module 92 with respect to selecting the destination for this mobile drive unit 20 it can be completed as shown in FIGURE 11.
[0151] Conversely, if the resource planning module 92 determines that the mobile drive unit 20 is currently not performing any assigned tasks, the resource planning module 92 selects the destination for the mobile drive unit 20 in step 654, based on the allocation status of the mobile drive unit 20. Depending on the configuration of the resource planning module 92, the resource planning module 92 may select any suitable destination for the mobile drive unit 20 based on its allocation status. In certain examples, the resource planning module 92 may select a low traffic destination or a destination near the locations associated with the predicted future tasks. Thus, in response to determining that the mobile drive unit 20 is in an idle state, the resource planning module 92 may select a location based on the level of traffic associated with the destination, based on the distance from the storage containers 30, or based on any other appropriate condition associated with condition of the mobile power unit 20.
[0152] At step 656, the resource planning module 92 transmits information defining the selected destination to the mobile drive unit 20. In certain examples, the resource planning module 92 assigns a task assignment 18 that specifies the selected destination. At step 658, the mobile drive unit 20 moves to the selected destination.
[0153] The mobile drive unit 20 then waits for it to receive the next allocated task in step 660. In step 662, the mobile drive unit 20 determines whether the mobile drive unit 20 has received the next allocated task. If so, the mobile drive unit 20 begins the assigned task in step 664, and the resource planning module 92 with respect to selecting the destination for the mobile drive unit 20 ends as shown in FIGURE 11.
[0154] When the mobile drive unit 20 waits for another assigned task, the resource planning module 92 may determine in step 666 that a portion of the work area 70 associated with the selected destination, such as cell 14, which contains the selected destination, is required for another purpose. As a result, the resource planning module 92 may select a different destination for the mobile drive unit 20 in step 668 and may return to step 656 in which the resource planning module 92 transmits information determining the newly selected location to the mobile drive unit 20.
[0155] FIGURES 12A-12E, 13 and 14 show a technique for coordinated traffic management or "branch management" of mobile power units 20. In particular, FIGURES 12A-12E show an example of implementing and using traffic coordination techniques in a specific example of a warehouse system 10. FIGURE is a diagram showing an example of how the management module 15 works when a particular implementation of these techniques is used, while FIGURE 14 is a diagram showing an example of how a mobile drive unit 20 works when a specific implementation of these techniques is used.
[0156] In one exemplary method of applying such a technique in the storage system 10, the management module 15 may use modified booking rules for a group of mobile propulsion units 20 that are moving in the same direction. In particular, one or more mobile propulsion units 20 at the rear of the group may be able to reserve a segment 17 comprising a specific cell occupied by the mobile propulsion unit 20 in front of this mobile propulsion unit 20 before the mobile propulsion unit 20 at the front leaves the corresponding cell
14, in expectation that the mobile propulsion units 20 located in the front will move at the same time as the mobile propulsion units 20 located in the rear, so that no collision will occur despite the loosening of the reservation rule.
[0157] FIGURES 12A-12B show an example of how to apply these principles to mobile propulsion units 20 that do not move in the same direction. FIGURES 12A-12B illustrate an example in which the mobile drive unit 20e attempts to book a path segment 17x to move in the direction of arrow 401. In the example shown, the 17x segment is currently reserved and occupied by the mobile drive unit 20f. In addition, mobile propulsion unit 20e attempts to move toward mobile propulsion unit 20f, as indicated by arrow 402. FIGURES 12A and 12B also show driving identification signal 430 generated by mobile propulsion unit 20f, which is described in detail below with reference to FIGURES 12C-12E .
[0158] FIGURE 12A shows the location of mobile propulsion units 20e and 20f in this example when the mobile propulsion unit 20e attempts to reserve a 17x segment. As shown in FIGURE 12A, the mobile drive unit 20e attempts to book a segment 17x by sending a reservation request 26 to the management module 15. As with the reservation rules described above for FIGURE 5, this reservation request 26 will be rejected even with the modified reservation rules used in this example, because the mobile drive unit 20f already occupies cell 14xx in the requested segment 17x, and the mobile drive unit 20e 20f mobile drive unit do not move in the same direction. In the example shown, the management module 15 notifies the mobile drive unit 20e of the reservation attempt failure by responding to the reservation request 28 indicating that the reservation failed, as shown in FIGURE 12B.
[0159] Furthermore, in certain examples, the mobile drive units 20e may be equipped with an obstacle sensor that detects objects on the path of the mobile drive unit 20e, including other mobile drive units 20e. As a result, the mobile drive unit 20e may stop if the mobile drive unit 20e detects the mobile drive unit 20f on its path during movement or may refrain from sending a reservation request if the mobile drive unit 20e detects the mobile drive unit 20f on the segment 17, such as a 17x segment that the mobile drive unit 20e is trying to reserve. Consequently, in certain examples, the mobile drive unit 20e may not attempt to reserve a 17x segment if the mobile drive unit 20e detects a mobile drive unit 20f on the 17x segment, as shown in this example.
[0160] FIGURES 12C-12E show an example of how to apply the modified rules to mobile propulsion units 20 that are moving in the same direction. As shown in FIGURES 12C-12E, the mobile drive unit 20e attempts again to reserve a segment of 17x path to move in the direction of arrow 401. As in the previous drawings, the 17x segment is already reserved and occupied by the mobile drive unit 20f. In this case, however, the mobile drive unit 20f attempts to move away from the mobile drive unit 20e, as indicated by arrow 403.
[0161] FIGURE 12C shows the location of mobile propulsion units 20e and 20f when the mobile propulsion unit 20e attempts to reserve a segment 17x. As shown in FIGURE 12C, the mobile drive unit 20e attempts again to book the 17x segment by sending a reservation request 26 to the management module 15. In this case, however, the segment reservation module 96 (or other suitable member of the management module 15) determines that the mobile drive unit 20f moves in the same direction as the mobile drive unit 20e. As a result, the segment reservation module 96 decides that it may allow mobile drive unit 20e to reserve a segment 17x earlier than mobile drive unit 20e normally would. As a result, the management module 15 may send a response to the reservation request 28 indicating that the mobile drive unit 20f has successfully reserved the segment 17, as shown in FIGURE 12D.
[0162] Consequently, in certain examples, the mobile drive unit 20e can successfully send reservation requests that coincide with the reservation requests of the mobile drive unit 20f, because the mobile drive units 20e and 20f move in the same direction. In addition, depending on the specific principles used in the respective example of the storage system 10, the mobile drive unit 20e may also be allowed to move to a given cell 14 earlier than would normally be allowed. As a result, the mobile drive unit 20e may, at certain points in time while traveling along the segment 17x, occupy a portion of the same cell 14 as the mobile drive unit 20e, as shown in FIGURE 12E. Thus, the modified booking rules shown in FIGURES 12C-12E allow mobile propulsion units moving in the same direction to follow each other at a much smaller distance than would normally be allowed.
[0163] Furthermore, as mentioned above, the mobile drive unit 20e may also include a collision detector enabling detection of obstacles along its route. If the collision detector detects an obstacle in the path of the mobile drive unit 20e, the collision detector may prevent the mobile drive unit 20e from moving, even when the mobile drive unit 20e has successfully reserved segments 17 in its path. Thus, in the examples of the storage system 10 in which the mobile drive units 20 use such collision detectors, the mobile drive units 20 can also be configured to transmit a drive identification signal 430 as shown in FIGURES 12A-12E.
[0164] The drive identifier 430 may be any form of signal that informs other mobile drive units 20 that the drive identifier 430 is also a mobile drive unit 20. Examples of the drive identifier signals include sound, visible, radio, infrared and ultraviolet signals. In certain examples, the driving identification signals 430 may include a visual line signal, and the mobile drive units 20 may transmit the driving identification signal 430 in a direction opposite to the direction in which they are moving. As a result, only the mobile propulsion units 20 behind the transmitting mobile propulsion unit 20 (relative to the direction of travel of the transmitting mobile propulsion unit 20) will be able to detect the travel identification signal 430. Consequently, the mobile drive units 20 that detect the driving identification signal 430 can determine, based on the detection of this signal, that the detected obstacle is in fact a mobile drive unit 20 moving away from them and these mobile drive units 20 can turn off their collision detectors after determining this information.
[0165] In addition to identifying information transmitting mobile propulsion unit 20 as a mobile propulsion unit, the driving identification signal 430 may include additional information about the transmitting mobile propulsion unit 20 to allow a nearby mobile propulsion unit 20 to change its movement based on traffic or planned motion transmitting mobile power unit 20. For example, driving identifier 430 may include information about current speed, current acceleration / deceleration, destination location, size and / or location transmitting mobile power unit 20 and / or any other information that will be used by mobile power units 20 moving in near the transmitting mobile power unit 20. As a result, when the transmitting mobile propulsion unit 20 adapts its speed or direction, the mobile propulsion units 20 following it can detect this change based on the information contained in the driving identification signal 430. The following mobile propulsion units 20 can then adjust their own speed in response to avoid collision when the transmitting mobile power unit 20 brakes or slows down.
[0166] Thus, in the example shown in FIGURES 12C-12E, the mobile drive unit 20f transmits a drive identification signal 430 that informs the mobile drive unit 20e that the mobile drive unit 20f is the mobile drive unit 20 and that it moves at a certain speed. When the mobile drive unit 20e detects a driving identification signal 430 transmitted by the mobile drive unit 20f, the mobile drive unit 20e determines that the object detected by its collision detector is actually a mobile drive unit 20 moving in the opposite direction. As a result, the mobile propulsion unit 20e turns off its collision detector and continues to move towards the mobile propulsion unit 20f, as shown by the outline drawn in broken lines in FIGURE 12E. When the mobile drive unit 20f adjusts its speed, the mobile drive unit 20e detects the change based on the information contained in the travel identification signal 430 and adjusts its own speed accordingly. As a result, the mobile drive unit 20e can move a short distance behind the mobile drive unit 20f when they are moving in the same direction, with the risk of collision between the mobile drive units 20e and 20f being limited or eliminated.
[0167] FIGURE 13 is a diagram illustrating an example of operation of the segment reservation module 96 when applying the techniques described above. In particular on
FIGURE 13 illustrates the operation of a specific example of the segment reservation module when managing the motion of the first mobile drive unit 20 and the second mobile drive unit 20 that can operate at a short distance from each other. Any of the steps shown in FIGURE 13 can be combined, changed or deleted as appropriate, and additional steps can be added to the steps shown in the diagram. In addition, the steps described can be performed in any appropriate order.
[0168] Operation starts in step 670, in which the resource planning module 92 receives from the first mobile drive unit 20 a reservation request 26, in which the unit requests permission to use path segment 17 to move in the first direction. Before or after receiving the reservation request 26, the resource planning module 92 determines that the second mobile drive unit 20 is currently on the requested path segment 17 in step 672. Because the second mobile drive unit 20 is currently on the desired path segment 17, the resource planning module 92 determines whether the second mobile drive unit 20 moves in the first direction in step 674.
[0169] If the resource planning module 92 determines that the second mobile drive unit 20 is moving in the first direction, the resource planning module 92 allows reservation. As a result, the resource planning module 92 reserves the path segment 17 in step 676. In step 678, the resource planning module 92, in certain examples, then sends a response to the reservation request 28 indicating that the requested reservation was successful.
[0170] If the resource planning module 92 determines that the second mobile drive unit 20 is not moving in the first direction, the resource planning module 92 does not allow reservation. In certain examples, the resource planning module 92 can then send a response to the reservation request 28 to the first mobile drive unit 20 in step 680 indicating that the first mobile drive unit 20 has failed to reserve the requested segment 17. The operation of the resource planning module 92 in relation to responding to the booking request 26 may then be terminated as shown in FIGURE 13.
[0171] FIGURE 14 is a diagram illustrating an example of operation of mobile drive unit 20 when applying the techniques described above. In particular on
FIGURE 14 shows the decision making process used in specific examples of the storage system 10 by the first mobile propulsion unit 20 operating a short distance from the second mobile propulsion unit 20. Any of the steps shown in FIGURE 14 can be combined, changed or deleted as appropriate, and add additional steps to the steps shown in the diagram. In addition, the steps described can be performed in any appropriate order.
[0172] Operation begins at step 702 in which the first mobile drive unit 20 receives a command to move in the first direction. This command may be a task assignment 18 in which the mobile drive unit 20 receives a task associated with the destination in the first direction, a response to the route 24 request specifying the path 16 leading in the first direction, and / or any other form of command ordering the first mobile unit propulsion 20 displacement in the first direction. At step 704, the first mobile drive unit 20 begins to move in a first direction along path segment 16.
[0173] In step 706, the first mobile drive unit 20 detects an object located on the path segment 16 in the first direction. In certain examples, the mobile propulsion units 20 include an obstacle sensor 160 that allows detecting objects on the paths of the mobile propulsion units 20. Thus, in such examples, the obstacle sensor 160 of the first mobile propulsion unit 20 can detect the object.
[0174] In step 708, the first mobile drive unit 20 determines whether the detected object is another mobile drive unit 20 moving in the first direction. In certain examples, the mobile drive units 20 transmit travel identification signals 430, which identify them as the mobile driving units 20. In addition, in certain examples, the mobile drive units 20 transmit the driving identification signal 430 in the opposite direction to their direction of movement. As a result, only the mobile propulsion units 20 located behind the transmitting mobile propulsion units 20 (relative to the direction of motion of the transmitting mobile propulsion unit 20) receive the travel identification signal 430 transmitted by the transmitting mobile propulsion unit 20. Thus, in such examples, the first mobile drive unit 20 can determine if the detected object is the second mobile drive unit 20 moving in the first direction by determining whether the first mobile drive unit 20 detects a driving identification signal 430 transmitted by that object.
[0175] If the first mobile drive unit 20 determines that the detected object is not the second mobile drive unit 20 moving in the second direction, the first mobile drive unit 20 may stop moving in the first direction in step 710. The first mobile drive unit 20 may then wait until the first mobile drive unit 20 stops detecting an obstacle on the path, bypass the detected obstacle, request a new path, and / or take any other appropriate remedial action in accordance with the configuration of the first mobile drive unit 20. for this particular movement of the first mobile drive unit 20 can then be terminated as shown in FIGURE 14.
[0176] If the first mobile drive unit 20 determines that the detected object is the second mobile drive unit 20 moving in the first direction, the first mobile drive unit 20 may still move in the first direction. In addition, in certain examples, the second mobile drive unit 20 may send information regarding its current state to the first mobile drive unit 20. For example, in certain examples, the drive identification signal 430 transmitted by the second mobile drive unit 20 may include information determining the current speed of the second mobile drive unit 20, its location, and the maximum speed reduction time it can currently achieve. At step 712, the first mobile drive unit 20 can calculate the speed at which it can safely follow the second mobile drive unit 20. In certain examples, the first mobile drive unit 20 may calculate this speed based on the state of the first mobile drive unit 20 and / or the state of the second mobile drive unit 20, as described above. At step 714, the first mobile drive unit 20 may continue to move in the first direction at the calculated speed. Operation with respect to this particular movement of the first mobile drive unit 20 may then be terminated as shown in FIGURE 14.
[0177] FIGURES 15 and 16 show how a particular example of route planning module 94 operates when different types of devices are used in the storage system 10 to allow movement of mobile propulsion units 20. FIGURE 15 shows a specific example of a storage system 10 that includes transfer devices that complement the functions of mobile propulsion units 20 when transporting storage containers 30, while FIGURE 16 shows an example of how to plan paths through route planning module 94 for mobile propulsion units 20, which such devices. In addition, FIGURE 17 is a diagram illustrating an example of how the storage system 10 works when certain types of transfer devices are used to transport storage containers 30.
[0178] FIGURE 15 shows an example of a storage system 10 including specific types of transfer devices that route planning module 94 may include on paths 16 generated by route planning module 94 for requesting mobile drive units 20. In general, storage system 10 may include any an appropriate form of carrying equipment complementary to the transport functions provided by mobile propulsion units 20. Such transfer devices may include, but are not limited to, vertical lifts, horizontal lifts, conveyors, escalators, trolleys, ferries and / or any other device enabling the transport of storage containers 30 and / or mobile propulsion units 20 carrying storage containers 30. As a result, in certain examples, the storage system 10, which includes such conveying devices, can provide alternative conveying methods that are not achievable with the particular type of mobile drive unit 20 used in such an example of the storage system 10 (e.g. transport between floors of a multi-storey work area 70 or transport between buildings of a work area 70 covering multiple buildings) or may allow for more efficient transport of storage containers 30 under certain conditions (e.g., planned transport of groups of storage containers 30 along paths 16 or high traffic segments 17) .
[0179] To optimize the use of such transfer devices, the management module 15 may use specific path planning techniques, segment reservations and / or techniques related to other aspects of managing the warehouse system 10 that take into account the characteristics, advantages and / or limitations of the transfer devices available in this particular example of a storage system 10. FIGURE 15 shows one example of techniques that the management module 15 can use to reserve access to and use specific types of transfer devices for requesting mobile drive units 20. FIGURE 15 shows an example of how the management module 15 travel platforms 790 can be booked in a multi-story workspace 70 to allow mobile drive units 20 to enter, use and lower the travel platforms 790.
[0180] Certain examples of storage system 10, such as that shown in FIGURE 15, may use a work area 770 extending over many floors, rooms and / or areas of a building and or other structure that are physically separated from each other. In such examples, storage containers 30, storage stations 50 and / or other components of the storage system 10 can be arranged on other floors, in other rooms and / or areas, and mobile propulsion units 20 can move between these separate parts of the working area 770 to performing assigned tasks. In addition, such examples may include alternative handling devices that complement the transport functions provided by mobile drive units 20 for moving storage containers 30 between different parts of the working area 770. For example, FIGURE 15 shows a storage system 10 that includes mobile jacks 790a-c for moving mobile drive units 20 and storage containers 30 between different floors 772 of work area 770. As a result, the resource planning module 92, route planning module 94, and / or other elements of the management module 15 may take into account the multi-storey workspace structure 770 and the presence of 790 mobile elevators when assigning tasks to mobile drive units 20, path planning to perform specific tasks or perform any other tasks related to warehouse system management 10.
[0181] In the example shown, the storage system 10 uses a plurality of mobile jacks 790 that connect floors 772a-c of the multi-storey working area 770. Mobile jacks 790a-c connect the first floor 772a with the second floor 772b and the third floor 772c, as indicated by arrows 792a, respectively c. Route planning module 94 can generate paths 16 for mobile propulsion units 20 that use traveling jacks 790 to allow mobile propulsion units 20 to move between different floors 772 of work area 770. In certain examples, mobile propulsion units 20 can then travel on these paths 16, as shown above with reference to FIGURE 5, and also reserve and use travel jacks 790 to move on designated paths 16.
[0182] For the purposes of the example shown, it is assumed that the mobile drive unit
20g is on floor 772a and has received a path of 16m to target cell 14 located on floor 772c. It is assumed that on the 16m path, the 790b travel jack is used to transport the 20g mobile drive unit to floor 772c. After receiving information about the designated path 16m, the mobile drive unit 20 can begin to move along the designated path 16m, reserve the segments and move as described in relation to FIGURE 5. At a suitable point along the path 16m, for example while traveling through the 17m segment, the mobile drive unit 20 may attempt to reserve the segment 17n associated with the traveling elevator 790b.
[0183] Since the use of the traveling jacks 790 may require certain conditions to be met to ensure that mobile drive units 20 can be safely inserted into and out of the jacks 790, the segment booking module 96 can be configured to take into account that the specific desired cell 14 or segment 17 adjoins or is associated with mobile elevator 790 when handling the reservation request of that cell 14 or segment 17. For example, in certain examples, the resource planning module 92 may group cells 14 adjacent to a particular elevator 790 on different floors 772 of work area 770 into a single group. In such examples, the resource planning module 92 may allow the use of cells 14 and associated travel jack 790 to one mobile drive unit 20 at a time. As a result, the resource planning module 92 can ensure that the requesting mobile drive unit 20 after reserving a particular mobile lift 790 can lower the drive lift 790 on any floor 772 without the risk of blocking by the other mobile drive unit 20 the output of the requesting mobile drive unit 20 from the respective lift drive 790, physically or by reserving cell 14, which the requesting mobile power unit 20 must use, to exit the appropriate 790 travel jack.
[0184] Thus, in the example shown, cells 14w, 14x, 14y and 14z (shaded cells 14 in FIGURE 15) are considered as part of the cell group associated with the mobile elevator 790b. When the 20g mobile drive unit approaches the 790b mobile lift while traveling through the 16m track, the mobile drive unit
20g attempts to book a 14x cell by sending a reservation request 26 specifying segment 17n. The segment reservation module 96 receives a reservation request 26 and determines that segment 17n includes a cell 14w containing a travel elevator 790b. As a result, the segment booking module 96 attempts to fulfill the reservation request 26 by reserving all cells 14 in the group associated with the mobile lift 790b. In particular, the segment booking module 96 attempts to reserve 14x, 14y and 14z cells, as well as the desired 14w cells. In this example, if the segment reservation module 96 determines that the mobile drive 20g cannot reserve all 14w-14z cells, the segment reservation module 96 transmits a reservation request 28 stating that the reservation request 28 has been rejected. Mobile propulsion unit 20 can then take appropriate corrective action as described above with reference to FIGURE 5. If the segment reservation module 96 determines that the mobile propulsion unit 20g can reserve all 14w-14z cells, the segment reservation module 96 responds to the reservation request 28 informing that the requested reservation has been confirmed.
[0185] Furthermore, in certain examples, the travel jack 790 may include only a single platform or wagon, and the ability of the mobile drive unit to access the travel jack 790 at a given time may depend on the floor 772 on which the wagon or platform is at that moment. Thus, when determining whether the requesting mobile drive unit 20 can reserve a specific mobile lift 790, the segment booking module 96 can determine whether the platform or the wagon is currently on the same floor 772 as the requesting mobile drive unit 20. If not, the segment reservation module 96 may, depending on the configuration of the storage system 10, reject the reservation request, approve the reservation request, but indicate that the mobile drive unit 20 must wait a certain amount of time before attempting to enter the corresponding 790 mobile lift or approve the request bookings and rely on interactions between the appropriate travel jack 790 and the requesting mobile power unit 20 (e.g. on the traffic signals transmitted by the travel jack 790) to ensure that the mobile drive unit 20 waits for the travel jack 790 to be properly adjusted before entering it.
[0186] Furthermore, in certain examples, to increase the performance of the mobile lifts 790, the segment booking module 96 may take into account the current position of the wagon or platform of the specific travel lifter 790 when determining which of the competing mobile propulsion units 20 allow the use of the travel lifter 790. For example, in certain examples, the segment booking module 96 can limit the movement of an empty wagon or platform by giving mobile power units 20 on the same floor as the wagon or platform priority in booking that wagon or platform. Therefore, if two mobile propulsion units 20 request the use of the same travel jack 790 at about the same time, the segment booking module 96 may give priority to the mobile drive unit 20, which is located on the same floor as the wagon or platform of the corresponding travel jack 790.
[0187] In this example, the travel drive 790b is suitably configured for use by the mobile drive unit 20g, whereby the mobile drive unit 20g can enter the mobile drive 790b. The 790b travel jack can then transport the 20g mobile drive unit to floor 772c. The mobile drive unit 20g can then lower the travel jack 790b and go to cell 14z, which, in this example, the mobile drive 20g has already reserved by reserving the 14w cell and / or using the travel jack 790b.
[0188] Furthermore, in certain examples, mobile drive units 20 may receive new tasks and / or paths 16 when being transported between floors 772. As a result, the fact that mobile propulsion units 20 when using a particular travel elevator 790 reserve the appropriate cell group 14 to allow entry and exit of this travel elevator 790 on any floor 772 may, in certain examples, allow the mobile drive unit 20 to quickly adapt to a new task or track 16 and lower the appropriate travel jack 790 on another floor 772 without the risk of being blocked by other mobile drive units 20 on the new floor 772. For example, a mobile drive unit 20g may receive a new task and / or track 16 requiring the mobile drive unit 20 to leave the travel jack 790 on floor 772b. Since the mobile drive unit 20g has reserved all cells 14 in the group associated with the mobile lift 790b, the other mobile drive unit 20 will not block cells 14y physically or by booking if the mobile drive unit 20g attempts to change the path and lower the elevator on floor 772b. This in turn may prevent the 20g mobile power unit from locking the 772b despite its sudden change of route.
[0189] In the example shown, when the travel elevator 790b transports the mobile drive unit 20g to floor 772c, the mobile drive unit 20g leaves the travel elevator 790b. As mentioned above, in certain examples, the mobile drive unit 20 has already reserved cell 14z as part of the initial booking. In such examples, this reservation ensures that the cell 14z is free and the mobile drive unit 20 can immediately lower the travel lift 790. Mobile propulsion unit 20 can then continue traveling along the 16m path as described above with reference to FIGURE 5.
[0190] By reserving the input and the many possible exits from the mobile jacks 790 for mobile propulsion units 20 using these mobile jacks 790, the segment booking module 96 can reduce congestion and reduce the waiting time required by mobile propulsion units 20 before leaving the mobile jacks 790. Furthermore, such a reservation system may prevent a blocked mobile drive unit 20 from delaying the use of the mobile lift 790 by other mobile drive units 20. In addition, by taking into account the current location of the wagon or hoist that is part of the 790 mobile hoist when confirming the booking, the segment booking module 96 can limit the number of journeys of the wagon or platform between 772 floors without loading and can increase the capacity of the 790 trolley lifts. 790 mobile and 20 mobile power units.
[0191] FIGURE 16 further illustrates specific techniques that can be used in specific examples of the storage system 10 to optimize the use of conveying devices, such as 790 mobile jacks, and to complement the functions of mobile propulsion units 20 in transporting storage containers thirty. In particular, FIGURE 16 presents some techniques that specific examples of the storage system 10 can use to ensure that the advantages and disadvantages of using a particular type of transfer equipment are balanced when planning the tasks to be allocated, and the routes along which mobile power units 20 will move within workspace 70. As a result, in certain examples of the storage system 10, performance can be further increased by providing availability and the possibility of using transfer devices to assist mobile drive units 20 in transporting storage containers 30.
[0192] For example, in certain examples of a multi-story storage system 10, the resource planning module 92 may associate the cost with using individual cells 14 in workspace 770. This cost may represent travel time through cell 14, historical level of congestion in cell 14 or in neighboring cells 14, number of storage containers 30 adjacent to cell and / or any other condition that may reflect cost over time, space and / or other resources and which is associated with the mapping of the mobile drive unit 20 through the respective cell 14.
Similarly, resource planning module 92 may associate cost by using traveling jacks 790 and / or other devices used to enable mobile drive units 20 such as conveyors, escalators and / or overhead cranes to move.
For example, for 790 mobile hoists, this cost may represent the travel time of the 790 mobile hoist between specific floors 772, energy consumed by the 790 mobile hoist, the frequency with which paths covering this 790 mobile hoist and passing through multiple floors are generated by the resource planning module 92 and / or other condition that may reflect this cost over time, space and / or other resources of the system and which is associated with providing the mobile drive unit 20 with path 16 using the respective travel jack 790.
[0193] When the management module 15 receives a storage order indicating e.g. a specific storage item 40 to be retrieved, the resource planning module 92 can select the storage container 30, at least in part, based on the cheapest route to each storage container 30 in which the desired storage is currently stored inventory item 40. Consequently, in certain examples, the resource planning module 92 can add up the total cost associated with each possible path 16 between the current location of the respective mobile drive unit 20 and the specific storage container 30 storing the corresponding storage position 40. The resource planning module 92 can then compare the cost of the cheapest path between mobile drive unit 20 and each storage container 30 and select storage container 30, at least in part, based on the cheapest path 16 between the selected mobile drive unit and each storage container 30.
[0194] FIGURE 16 shows an example in which the management module 15 selects a storage container 30 to be used to perform a warehouse order for a particular type of warehouse item 40. In this example, the resource planning module 92 has already selected a mobile drive unit 20h based on the respective criteria to pick up a storage container 30 containing the desired storage item 40. Storage containers 30p and 30q are the only storage containers 30 currently holding the desired storage position 40. In addition, for the purposes of this example, it is assumed that path 16p and path 16q are the cheapest paths 16 between mobile drive unit 20h and storage containers 30p and 30q, respectively. As a result, the resource planning module 92 selects one storage container 30p and 30q, at least in part, based on the cost associated with paths 16p and 16q.
[0195] Consequently, if the cost associated with path 16p is greater than the cost associated with path 16q, the resource planning module 92 will select the storage container 30q, and the mobile drive unit 20h, in this example, will have to use the mobile lift 790 to get to to floor 772b while picking up a 30q storage container. However, if the cost associated with using the mobile lift 790 and passing through cells 14 on path 16q exceeds the cost of going through cells 14 on path 16p, resource planning module 92 will select storage container 30p. Thus, the resource planning module 92, in certain examples, may consider that due to one or more costs of using the 790 mobile lift, the use of the 790 lift is less advantageous in many cases, but at the same time, in some circumstances, the benefits of using the mobile lift 790 outweigh the costs.
[0196] After selecting the storage container 30 to download, the resource planning module 92 sends the location information of the selected storage container 30 to the mobile drive unit 20h, e.g. as part of the task assignment 18 as described above. Assuming, for the purposes of this example, that the resource planning module 92 has selected a storage container 30q, the mobile drive unit 20h requests the path 16 to the storage container 30q be determined by the route planning module 94. In response, route planning module 94 sends path 16q information or, if route mapping conditions have changed since the selection of the 30q storage container, another path 16 to the 30q storage container.
[0197] After receiving information about the path 16 for the storage container 30q, the mobile drive unit 20h reserves the first segment 17 of the designated path 16 and begins to move towards the storage container 30q as described above with reference to FIGURE 5. If the mobile propulsion unit 20h has received information about determining the path 16q from the route planning module 94, the mobile propulsion unit 20h will move towards the traveling elevator 790c along the path 16q. When the mobile drive unit 20h approaches the 790c mobile lift, the mobile drive 20h may attempt to book the 790c mobile lift. In certain examples, the mobile drive unit 20h may reserve a mobile lift 790c in a similar manner as described above for booking segments
17. Thus, if another mobile drive unit 20h has booked a travel lift 790c and / or is currently on a travel lift 790c, the mobile drive unit 20h may not be able to reserve a lift 790c.
[0198] Once the mobile drive unit 20h successfully reserves the travel jack 790c, the mobile drive unit 20h can position itself on the travel jack 790c. The 790c mobile lift can then transport the mobile drive unit 20h to the floor
772b. As mentioned above, the work of 790 mobile lifts can be controlled by mobile drive units 20, management module 15 or any other suitable elements of the storage system 10. After transporting the mobile drive unit 20h to floor 790c on floor 772, the mobile drive unit 20h moves to the location of the storage container 30q and dock into a 30q storage container. Mobile drive unit 20h may then request route planning module 94 to determine path 16 to storage station 50 associated with the warehouse order. After receiving information about the determination of such a path 16, the mobile drive unit 20h can use the mobile lift 790 specified in the information on determining the path 16 to return to floor 772a, and then move the storage container 30q to the appropriate storage station 50 to carry out the assigned task.
[0199] As a result, the storage system 10 may use mobile jacks 790 to raise and lower the mobile drive units 20 to allow the use of multi-storey work areas 770. In addition, the management module 15 and its various components can be configured to take into account the cost and benefits of using 790 travel platforms and can as a result make data-based decisions regarding the use of 790 travel platforms to perform specific tasks. Similarly, the storage system 10 and the management module 15 can be configured to use other devices (such as conveyors, escalators, overhead cranes or ferries) or features (such as ramps, tunnels or staircases) to allow the movement of mobile propulsion units 20 in within workspace 770. In addition, the use of such devices in the storage system 10 may allow greater flexibility in terms of size, shape and configuration of the 770 working area and / or provide other benefits.
[0200] FIGURE 17 is a diagram illustrating the operation of a specific example of resource planning module 92 when determining paths for mobile propulsion units 20 in a working area 70 that uses conveying devices in connection with mobile propulsion units 20 to transport storage containers 30. Although FIGURE 17 shows a specific example of a storage system 10 that uses a specific technique for reserving transfer devices, alternative examples of a storage system 10 can be configured to use the transfer devices in any suitable manner. In addition, any of the steps shown in FIGURE 17 can be combined, changed or deleted as appropriate, and additional steps can be added to the steps shown in the diagram. In addition, the steps described can be performed in any appropriate order.
[0201] As shown in FIGURE 17, work begins in step 720, in which the mobile drive unit 20 moves to the first point in the working area 70. In the example described, the storage container 30 is stored in the first cell 14 at the first point. Upon reaching the first point, the mobile drive unit 20 is docked, in step 722, to a storage container 30 stored at the first point.
[0202] After docking into the storage container 30, the mobile drive unit 20 moves with the storage container towards a second point within the working area in step 724. In the example shown, the second point is located in the second cell 14 that is associated with the transfer device . The second cell 14 may be a cell in which the transfer device is located, a cell to enter the transfer device, a cell to be retrieved by the transfer device, or a cell associated with the transfer device in any other manner. Furthermore, in the example described, the transfer device is associated with a group of many cells 14, to which the second cell 14 belongs.
[0203] When the mobile drive unit 20 moves to the second point or when the mobile drive unit 20 reaches the second point, the mobile drive unit 20 reserves the second cell 14. In the example described, the mobile drive unit 20 reserves the second cell 14 by issuing a reservation request 26 second cell 14 to segment reservation module 96 in step 726. In step 728 segment reservation module 96 receives reservation request 26.
[0204] Upon receipt of the reservation request 26, the segment reservation module 96 determines that the second cell 14 belongs to the group of cells 14 that are associated with the transfer device in step 730. As a result, the segment reservation module 96 attempts to receive the reservation request 26. reserving all cells 14 from the group of cells 14 associated with the transfer device in step 732. The segment booking module 96 then informs the requesting mobile drive unit 20 whether the segment reservation module 96 has reserved a second cell and / or all cells 14 in the group associated with the transfer device. In the described example, the segment reservation module 96 sends the result information to the mobile drive unit 20 by responding to the reservation request 28 in step 734.
[0205] After successfully reserving the group of cells 14 associated with the transfer device, the mobile drive unit 20 enters the second cell 14 in step 736. In step 738 in the example described, the transfer device moves the storage container 30 and the mobile drive unit 20 to the third point. In alternative examples, the transfer device may move the storage container 30 without transferring the mobile drive unit 20, and the mobile drive unit 20 may be undocked from the storage container 30 at a second point.
[0206] After being moved by the storage container transfer device 30 and, where applicable, the mobile drive unit 20 to the third point, the mobile drive unit 20 or other suitable element of the storage system 10 complete the reservation of the group of cells 14 associated with the transfer device in step 740. In certain examples, the group of cells 14 may include, at or near the third point, one or more output cells 14, discharge cells 14 and / or other suitable cells 14 that belong to the group of cells 14 associated with the transfer device, and the reservation it can last until the mobile drive unit 20 leaves these cells 14.
[0207] In step 742, the original mobile drive unit 20 or other mobile drive unit 20 moves the storage container 30 to the fourth point. The fourth point may be a storage location, storage station 50, or other suitable destination associated with the respective storage container 30. For example, in the example described, the fourth point is in the storage cell 64 for storage container 30. Thus, in this example, the mobile drive unit 20 is undocked from storage container 30 and moves away from storage container 30 in step 744. In this example, the operation of storage system 10 with respect to moving storage container 30 is then terminated as shown in FIGURE 17.
[0208] FIGURES 18-20 illustrate an example of how the storage system 10 operates, which utilizes appropriate techniques for rotating storage containers 30 when transporting storage containers 30 within the storage system 10. These techniques can, e.g., direct a specific surface of the storage container 30 to the operator storage station 50. The described techniques and system configuration may in some examples of the storage system 10 allow the use of a limited-sized work area 70 and facilitate the coordination of the movement of mobile drive units. In certain examples of storage system 10 that utilize storage stations 50, the arrangement of pivot areas 790 near storage stations 50 may allow the management module 15 to delay the choice of space, which should be appropriately set at a specific storage station 50 until the mobile drive unit 20 finds near the storage station
50. Thanks to this, the management module 15 can optimize the process of selecting a space based on the current state of the storage system 10.
[0209] FIGURE 18 shows an example of a storage system 10 that includes a management module 15, one or more mobile propulsion units 20, one or more storage containers 30 and one or more storage stations 50 that operate within the work area 870 in a similar manner to the operation of the elements described in relation to FIGURE 1. In addition, work area 870 includes a plurality of pivot areas 892 in which mobile drive units 20 perform specific operations associated with the rotation of storage containers 30. By providing the ability to perform some or all operations associated with the rotation of storage containers 30 in rotation areas 892 in certain examples, the storage system 10 it can be configured to operate within a smaller workspace.
[0210] The rotation areas 892 are part of the work area 870 comprising a plurality of cells 14. In certain examples of the storage system 10, the number and arrangement of cells 14 in a particular rotation area 892 are selected depending on the size and shape of the storage containers 30, as well as the type of rotational movement performed by mobile propulsion units 20. For example, the storage system 10 uses storage containers 30 having four surfaces of similar dimensions, the width of each surface being substantially the same or slightly smaller than the width of the cell 14 in the working area 870. Certain examples may also use mobile propulsion units 20 that can perform three hundred and sixty degrees turn when standing still. In such examples, the work area 870 may include rotation areas 892, which are part of the work area 870 with dimensions of two cells by two cells. Although FIGURE 18 provides a specific example in which the rotation areas are a size equal to a multiple of the size of the individual cell 14, alternative examples of the storage system 10 may use rotation areas 892 of any suitable size larger than the size of the individual cell 14. In addition, although FIGURE 18 shows a particular example of a storage system 10 in which pivot areas 892 adjoin individual storage stations 50, in alternative examples of inventory items 40, any number of pivot areas 892 can be used at any suitable location within workspace 870.
[0211] In the storage system 10 shown, mobile drive units 20 interact with the management module 15 to receive task assignments, send path requests 16 and reserve segments 17 on the route to perform tasks in a manner similar to the method described above with respect to FIGURE 5. During transport of storage containers 30 between locations within the working area 870, the mobile drive unit 20 maintains the storage containers 30 in the same orientation regardless of the direction of movement of the mobile drive unit 20. Consequently, in the example shown, when the mobile drive unit 20 changes the direction of travel, the orientation of the storage container 30 transported by this mobile drive unit 20 remains the same despite the change of direction.
[0212] This can be achieved in a number of ways depending on the configuration and capabilities of the mobile drive units 20. For example, the mobile drive unit 20 can move forward and backward relative to a certain surface of the mobile drive unit 20, and also rotate to change direction. movement. In such examples, the mobile drive unit 20 may be undocked from the transported storage container 30 before turning, and the storage container 30 may as a result be kept in the same orientation regardless of the direction of travel of the mobile drive unit 20. In another example, the mobile drive unit 20 may move in any of the four directions and can change the direction of movement without rotation.
[0213] Because storage containers 30 of many different shapes require more space between adjacent storage containers 30 to allow rotation of one or more of such storage containers 30, reducing the need to rotate storage containers 30 can reduce the amount of space required for transporting storage containers 30 within work area 870 without collision risk between storage containers 30. However, the ability to rotate storage containers 30 by mobile drive units 20 can have many benefits. For example, the storage system 10 may allow to reduce the time and effort of the storage station operator 50 associated with retrieving storage items 40 from a specific basket of the storage container 30 if the storage container 30 is rotated so that the corresponding surface of this storage container 30 faces the operator .
[0214] Mobile propulsion units 20 can therefore be configured to allow rotation of storage containers 30, with some or all of such rotation operations being performed in rotation areas 892. In particular, mobile drive units 20 that have been assigned tasks associated with transporting storage containers 30 to storage stations 50 can move storage containers 30 towards storage station 50 while maintaining the orientation of storage containers 30 as described above. Mobile propulsion units 20 may then, if appropriate, take one or more steps to enable a particular form of rotation of the storage container 30 so that the corresponding surface of the downloaded storage container 30 faces the storage station 50. FIGURES 19A to 19E show examples of steps that mobile drive units 20 may perform to allow certain types of rotation of storage containers 30. After making the appropriate rotation, the mobile drive unit 20 can then position the storage container 30 in front of the storage station 50 to allow the storage station operator 50 to access the required surface of the storage container 30.
[0215] Consequently, by limiting or eliminating the possibility of the storage containers 30 being rotated by the mobile drive units 20 outside the pivot areas 892, the storage system 10 can use smaller cells 14 without the risk of collision. As a result, such examples allow the system to operate in a smaller workspace. By using pivot areas 892 in the storage system 10, the required space can be reduced and / or additional operational benefits can be provided.
[0216] FIGURES 19A-19E illustrate exemplary maneuvers that can be performed by the mobile drive unit 20 when rotating the storage container 30 in the pivot area 892. In particular, FIGURES 19A-19D show various maneuvers that can be performed by the mobile drive unit 20 to enter the pivot area 892 from the first cell 14 and exit the pivot area 892 to the second cell 14 when rotating the storage container 30 so that one of the four surfaces of the 30z storage container was directed to storage station 50. FIGURE 19E illustrates various maneuvers that can be performed by the mobile drive unit 20z to allow the mobile drive unit 20 from exiting the pivoting area 892 to any cell 14 adjacent to the pivoting area 892. Thus, as shown in FIGURES 19A-19E, the mobile drive unit 20 can enter the pivoting area 892 from any adjacent cell 14, make a suitable rotation so that any surface of the storage container 30 is facing a certain direction, then exit to any cell 14 adjacent to pivot area 892.
[0217] FIGURE 19A illustrates an example in which the mobile drive unit 20 enters the pivot area 892 from cell 14aa, rotates and exits the pivot area 892 to cell 14dd. In certain examples, pivot areas 892 may be associated with a queue in which mobile propulsion units 20 have to wait before accessing pivot area 892, as well as with storage station 50 where the appropriate storage container 30 will be set after leaving the pivot area 892. As a result, the number of cells 14 from which mobile propulsion units 20 can enter the pivot areas 892 may be limited, as well as the number of cells 14 to which they can come out from the pivot area 892. FIGURES 19A-19D therefore show an example in which the mobile unit drive 20z can enter the pivot area 892 only from cell 14aa and exit the pivot area 892 only to cell 14dd.
[0218] In the example shown in FIGURE 19A, the mobile drive unit 20 has a designated path 16 to a rotation area 892 through cell 14aa. Mobile drive unit 20 moves to cell 14aa along straight segment 917a, with the first surface of storage container 30 (referred to as "920a" in FIGURE 19A) facing in the direction of movement, referred to as the "first" direction. As the mobile drive unit 20 moves through the cell 14aa, the mobile drive unit 20 begins to change direction to the left or right such that the mobile drive unit 20 moves the arc-shaped segment 918a to the pivoting area 892. When the mobile drive unit 20 moves along of the arc-shaped segment 918a, the orientation of the first surface follows the direction of movement as shown in FIGURE 19A. As a result, when the mobile drive unit 20 reaches the center of the rotation area 892, in the example shown the orientation of the first surface will change so that it will be oriented in the direction (referred to herein as the "second" direction) between the first direction and the third direction perpendicular to the first direction . In certain examples, setting in the second direction is equivalent to a rotation of about forty-five degrees from the first direction.
[0219] Upon reaching the center of the pivoting area 892, the mobile drive unit 20 can perform any number of maneuvering maneuvers to enable proper alignment of the specific surface of the storage container 30. FIGURES 19A-19D show examples of these pivoting maneuvers. In particular, FIGURE 19A shows an example in which the mobile propulsion unit 20 rotates ninety degrees (as arrow 901 a shows) in the opposite direction to the changed direction of the mobile propulsion unit 20 when traveling on the arc-shaped segment 918b to position the storage container 30 so that the first surface is directed to the 50 station operator. The mobile drive unit 20 then moves towards the cell 14dd along the arc-shaped segment 918b and changes direction in the same way as before. As a result of ninety degrees rotation, the second surface (referred to as "920b" in FIGURE 19A) of the storage container 30 is now directed in the direction of movement, and the mobile drive unit 20 maintains the orientation of the second surface so that it follows the direction of movement of the mobile drive unit 20 after segment in the shape of an arc 918b.
[0220] Furthermore, when the mobile drive unit 20 moves on the arc-shaped segment 918b, this arc-shaped path causes an additional rotation of the storage container 30, which complements the rotation of the storage container 30 as the mobile drive unit 20 moves on the arc-shaped segment 17a. In certain examples, this rotation is about forty-five degrees. As a result, the total rotation of the storage container 30 when the mobile drive unit 20 travels along the arc-shaped segments 918a and 918b is about ninety degrees. As shown in FIGURE 19A, this rotation counterbalances the rotation performed by the mobile propulsion unit 20 in the center of the pivoting area 892, and when the mobile propulsion unit 20 completes its movement on the arc-shaped segment 918b, the first surface of the storage container 30 is again directed in the first direction. The mobile drive unit 20 can then travel along another straight path segment 17 to the storage station 50. As a result, as shown in FIGURE 19A, the first surface of the storage container 30 is directed to the storage station operator 50.
[0221] FIGURE 19B shows a similar example in which the second surface is directed to the storage station operator 50. As shown in FIGURE 19B, the mobile drive unit 20 travels along the straight segment 17a of path to cell 14a and travels along the arc-shaped segment 918a to pivot area 892, as described with reference to FIGURE 19A. Upon reaching the center of the rotation area 892, the mobile drive unit 20 rotates one hundred and eighty degrees (as indicated by the arrow)
901b). The mobile drive unit 20 then travels along an arc-shaped segment 918b to a cell 14dd. As a result of the rotation made in the center of the rotation area 892, the third surface of the storage container 30 (referred to as "920c" in FIGURE 19B) is now directed in the direction of movement, and the mobile drive unit 20 maintains the orientation of this third surface so that it follows the direction of movement mobile power unit 20 along an arc-shaped segment 17b.
[0222] When the mobile drive unit 20 moves along the arc-shaped segment 918b, the arc-shaped path causes an additional rotation of the storage container 30, as described with reference to FIGURE 19A. As shown in FIGURE 19B, this rotation partially counteracts the rotation made by the mobile propulsion unit 20 in the center of the pivoting area 892 and when the mobile propulsion unit 20 completes its movement in the arc-shaped segment 17b, the second surface of the storage container 30 is now facing in the first direction . The mobile drive unit 20 can then travel along straight segment 917b to storage station 50. As a result, as shown in FIGURE 19B, the second surface of the storage container 30 faces the operator of the storage station 50.
[0223] FIGURE 19C also shows an example in which the third surface is directed to the storage station operator 50. As shown in FIGURE 19C, the mobile drive unit 20 travels along the straight segment 917a of path to cell 14aa and travels along the arc-shaped segment 918a to trading area 892, as described with reference to FIGURES 19A and 19B. After reaching the center of the pivoting area 892, the mobile drive unit 20 rotates by one hundred and seventy degrees. The mobile drive unit 20 then travels along an arc-shaped segment 918b to a cell 14dd. As a result of the rotation in the center of the 892 rotation area, the fourth surface of the storage container 30 (referred to as "920e" on
FIGURE 19C) is now directed in the direction of movement, and the mobile propulsion unit 20 maintains the orientation of this fourth surface to follow the direction of movement of the mobile propulsion unit 20 along the arc-shaped segment 918b.
[0224] When the mobile drive unit 20 moves along the arc-shaped segment 918b, the arc-shaped path causes an additional rotation of the storage container 30, as described with reference to FIGURES 19A and 19B. As shown in FIGURE 19C, this rotation partially counteracts the rotation made by the mobile propulsion unit 20 in the center of the pivoting area 892, and when the mobile propulsion unit 20 finishes traveling along the arc-shaped segment 918b, the third surface of the storage container 30 is now directed in the first direction . The mobile drive unit 20 can then travel along the straight path segment 918b to the storage station 50. As a result, as shown in FIGURE 19C, the third surface of the storage container 30 faces the operator of the storage station 50.
[0225] FIGURE 19D also shows an example in which the fourth surface is directed to the storage station operator 50. As shown in FIGURE 19D, the mobile drive unit 20 travels along straight segment 917a of path to cell 14aa and travels along arc-shaped segment 918a to trading area 892, as described with reference to FIGURES 19A and 19B. After reaching the center of the rotation area 892, the mobile drive unit 20 does not rotate in the example shown in FIGURE 19D. The mobile drive unit 20 travels along an arc-shaped path 918b to a cell 14dd. Since no rotation was made in the center of the rotation area 892, the first surface of the storage container 30 is still directed in the direction of movement, and the mobile drive unit 20 maintains the orientation of the first surface so that it follows the direction of movement of the mobile drive unit 20 on the arc-shaped segment 918b .
[0226] When the mobile drive unit 20 moves along the arc-shaped segment 918b, the arc-shaped path causes an additional rotation of the storage container 30, as described with reference to FIGURES 19A-19C. Consequently, when the mobile drive unit 20 finishes traveling along the arc-shaped segment 918b, the fourth surface of the storage container 30 is directed in the first direction. The mobile drive unit 20 can then move along the straight path segment 917b to the storage station 50. As a result, as shown in FIGURE 19D, the fourth surface of the storage container 30 is directed to the storage station operator 50.
[0227] Thus, by performing the selected rotation maneuver (including, in some circumstances, not performing any rotation) within the rotation area 892, the mobile drive unit 20 can position the storage container 30 in any required orientation upon reaching the storage station 50. In addition, when used in a storage system 10 that restricts or disallows rotation in other parts of the working area 870, the use of 892 rotation areas at selected locations in the 870 working area allows the storage containers 30 of the storage system 10 to be positioned in any orientation, with significantly smaller dimensions work area. As a result, the use of these rotation maneuvers can save space and other benefits.
[0228] FIGURE 19E illustrates a method of configuring mobile propulsion units 20 to provide access to pivot areas 892 using any suitable configuration of adjacent cells 14 as entry and exit points. As shown in FIGURE 19E, the mobile drive unit 20 can be configured to move along an arc-shaped segment 918a to a rotation area 892, perform a corresponding rotation maneuver, and then follow an arc-shaped segment 918b, an arc-shaped segment 918c, 918d arc-shaped segment, 918e arc-shaped segment, 918f arc-shaped segment, 918g arc-shaped segment or 918h arc-shaped segment to exit to 14bb cells, 14cc cells, 14dd cells, 14ee cells, 14ff cells, 14gg cells and 14hh cells, respectively. In addition, the mobile drive unit 20 can be configured to exit the pivoting area 892 along the same path that the mobile drive unit 20 has moved to enter the pivoting area 892, i.e. the arc-shaped segment 918a. FIGURE 19E illustrates this with a curve, drawn with dashed lines, marked as 918aa.
[0229] Also, although FIGURE 19E illustrates an example in which the mobile drive unit 20 is configured to enter the pivot area 892 through a specific cell 14, specifically cell 14aa, the exemplary arc-shaped segment 918a shown in FIGURE 19E may be shown generally as an arc-shaped segment 918 leading to a rotation area 892 from any of the adjacent cells 14aa-dd. As a result, mobile propulsion units 20 can be configured to enter and exit from rotation area 892 and from rotation area 892 to any suitable cell 14 adjacent to rotation area 892. On the other hand, storage system 10 that uses rotation areas 892 can also limit the number of cells 14 that can be used to enter and exit a specific pivot area 892, e.g., to control the flow of traffic around the pivot area 892. Thus, although the storage system 10 may include a pivot area 892 that can be used by mobile drive units 20 without restrictions on entry and exit points, the same or different storage system 10 may include pivot areas 892 where mobile drive units 20 must use specific adjacent cells 14 as entry and exit points.
[0230] Thus, to position the selected surface in the selected direction and to provide flexibility in the choice of entry points to and exit points from the pivot areas 892, the mobile drive units 20 can enter the working areas 892 and then rotate to rotate both the mobile drive unit 20 as well as the storage container 30, and / or rotation enabling only the mobile drive unit 20 to be rotated in any suitable order. This may enable the mobile drive unit 20 to be positioned in the correct orientation enabling the mobile drive unit 20 to use the selected exit point from the pivot area 892, and to position the storage container 30 in the appropriate orientation to direct the selected surface in the selected direction after the exit of the mobile drive unit 20 and the storage container 30 from the rotation area of 892. As a result, the mobile drive unit 20 can use any selected entry points to and exit points from the pivot area 892 and can direct any selected surface of the storage container 30 in any direction.
[0231] FIGURES 20A-20G show an example of a method of passing through mobile drive unit 20 through portions of work area 870 outside of designated pivot areas 892 without rotating storage containers 30. In particular, FIGURES 20A-20G show how the mobile drive unit 20 operates when the mobile drive unit 20 moves the storage container 30 from the first position to the second position along a portion of the path 16 that includes rotation ninety degrees. Since the mobile drive unit 20 can turn without turning the storage container 30, it is possible to avoid overlapping of the storage container 30 on adjacent cells 14 and / or its collision with the storage containers 30 in adjacent cells 14 when the mobile drive unit 20 changes direction. As a result, the storage system 10 can operate in a smaller working area, whereby mobile drive units 20 configured to operate as described in FIGURES 20A-20G, can provide space saving benefits.
[0232] FIGURE 20A shows the start location of the mobile drive unit 20i and storage container 30i. Initially, the storage container 30i is located at point 910a in the respective working area 870, and the mobile drive unit 20i is located at point 910b. As shown in FIGURE 20B, the mobile drive unit 20i moves to the location of the storage container 30i at point 910a. At this point, the mobile drive unit 20i must dock into the storage container 30i.
[0233] In the example shown, the mobile drive unit 20i is configured to dock into the storage container 30i by positioning under the storage container 30i and raising the docking head of the mobile drive unit 20i. FIGURE 20C shows the outline of the docking head 110 to show how to dock the mobile drive unit 20 to the storage container 30i. The mobile drive unit 20i then moves with the storage container 30i in the first direction to point 910b, as shown in FIGURE 20D.
[0234] At 910b, the mobile drive unit 20 rotates from a first direction to a second direction, as shown in FIGURE 20E. As shown by the outline of the docking head 110, the mobile drive unit 20, in the example shown, remains docked at all times in the storage container 30 during rotation. For example, the mobile drive unit 20i may, after docking into storage container 30i, transport the storage container 30i with the rotation lock engaged to prevent rotation of the mobile drive unit 20 independent of the storage container 30i. In such examples, when the mobile drive unit 20i makes a twist test, the mobile drive unit 20i may release the rotation lock to allow the remaining components of the mobile drive unit 20 to rotate independently of the docking head 110. The mobile drive unit 20 may therefore rotate when it docked into the container storage 30 without turning the storage container
30.
[0235] After rotating the mobile drive unit 20i, the mobile drive unit 20i moves in the second direction along with the storage container 30i. As a result, the mobile drive unit 20 moves to point 910c as shown in
FIGURE 20F. Depending on the task performed by the mobile propulsion unit 20i, the mobile propulsion unit 20 may then undock from the storage container 30i, rotate the storage container 30i within the designated pivot area 892 to properly set a specific surface and / or perform any other actions to perform the assigned task .
[0236] Although the present invention has been described on the basis of several embodiments, one of ordinary skill in the art can propose many changes, variants, patches, transformations and modifications, such changes, variants, patches, transformations and modifications are within the scope of the present invention and the appended claims .
Contents2
17 members in 7 offices
Priority claims8
| Document | Office | Kind | Date |
|---|---|---|---|
| 42504206 | United States of America | A | |
| 42504206 | United States of America | A | |
| 07795621 | European Patent Office (EPO) | A | |
| 2007012976 | United States of America | W | |
| 2007012976 | United States of America | W | |
| EP20070795621 | – | – | – |
| US20060425042 | – | – | – |
| WO2007US12976 | – | – | – |
Members17
| Document | Office | Kind | |
|---|---|---|---|
| US2007294029A1 | United States of America | A1 | |
| CA2654258A1 | Canada | A1 | |
| WO2007149196A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2007149196A3 | World Intellectual Property Organization (WIPO) | A3 | |
| EP2036014A2 | European Patent Office (EPO) | A2 | |
| JP2009541850A | Japan | A | |
| EP2036014A4 | European Patent Office (EPO) | A4 | |
| US7873469B2 | United States of America | B2 | |
| US2011112758A1 | United States of America | A1 | |
| US8068978B2 | United States of America | B2 | |
| US2012041677A1 | United States of America | A1 | |
| US8265873B2 | United States of America | B2 | |
| JP5143133B2 | Japan | B2 | |
| CA2654258C | Canada | C | |
| EP2036014B1 | European Patent Office (EPO) | B1 | |
| ES2553185T3 | Spain | T3 | |
| PL2036014T3This record | Poland | T3 |
Numbers
- Publication, DOCDB
- 2036014
- Publication, EPODOC
- PL2036014T
- Application
- 795621
- Application, DOCDB
- 07795621
- Application, EPODOC
- PL20070795621T
Titles2
- English
- SYSTEM AND METHOD FOR MANAGING MOBILE DRIVE UNITS
- Polish
- System i sposób zarządzania mobilnymi jednostkami napędowymi
Classification
- CPC, 2
- G01C21/005
- G05D1/0246
- IPC, 3
- G01C21 00
- G06Q10 08
- G05D1 02