Automated guided vehicle for transporting shelving units

Information

  • Patent Grant
  • 11084410
  • Patent Number
    11,084,410
  • Date Filed
    Wednesday, August 7, 2019
    5 years ago
  • Date Issued
    Tuesday, August 10, 2021
    3 years ago
Abstract
An automated guided vehicle (AGV) is described. In an example implementation, the AGV may include a lift platform and an AGV controller configured to control one or more operations of the AGV. The lift platform of the AGV may include a support surface adapted to contact a surface of a shelving unit and provide support from underneath the shelving unit when the support surface is in an elevated position and the shelving unit is situated on the support surface, and a lifting mechanism including motor(s) coupled to the support surface and providing a first lifting force via a first portion of the support surface and a second lifting force via a second portion of the support surface, the first lifting force and the second lifting force vertically lifting or lowering the shelving unit via the support surface based on a weight distribution of the shelving unit on the support surface.
Description
BACKGROUND

This present disclosure relates to automated guided vehicles (AGVs). In a more particular example, this present disclosure relates to automated guided vehicles that automatically transport shelving units between different locations.


Storage facilities usually rely on human workers to transport shelving units between different locations in the storage facility. For example, the human workers may enter a delivery truck docked at the storage facility, manually move the shelving unit out of its original position in the delivery truck, and drag the shelving unit from the delivery truck onto the floor of the loading/unloading dock in the storage facility. The shelving unit may be heavy due to multiple containers storing various items placed on the shelving unit. This existing solution is generally inefficient and often quickly causes fatigue to the human workers due to the significant physical effort to move and balance the heavy shelving unit. Some modern storage facilities use robotic devices to assist the human workers in operations of the shelf-transporting process. However, these robotic devices often require a large space to maneuver and perform their operations. Therefore, it is typically impossible or impractical for these robotic devices to handle and transport the shelving units located in tight or narrow areas (e.g., inside the delivery truck, at the corners in the storage facility, etc.).


SUMMARY

An automated guided vehicle (AGV) can be configured to perform particular operations or actions by virtue of having software, firmware, hardware, or a combination thereof installed on the AGV that in operation cause the AGV to perform the operations or actions. According to one innovative aspect of the subject matter described in this disclosure, an AGV includes: a lift platform including a support surface adapted to contact a surface of a shelving unit and provide support from underneath the shelving unit when the support surface is in an elevated position and the shelving unit is situated on the support surface, and a lifting mechanism including one or more motors coupled to the support surface and providing a first lifting force via a first portion of the support surface and a second lifting force via a second portion of the support surface, the first lifting force and the second lifting force vertically lifting or lowering the shelving unit via the support surface based on a weight distribution of the shelving unit on the support surface; and an AGV controller configured to control one or more operations of the AGV.


In general, another innovative aspect of the subject matter described in this disclosure may be embodied in methods comprising: aligning an automated guided vehicle (AGV) to a shelving unit at a first position relative to the shelving unit; relocating the AGV from the first position to a second position underneath a surface of the shelving unit; lifting the shelving unit using a lift platform of the AGV, the lift platform including a support surface coupled to a lifting mechanism, the lifting mechanism elevating the support surface to an elevated position to situate the shelving unit on the support surface, the lifting mechanism providing a first lifting force via a first portion of the support surface and a second lifting force via a second portion of the support surface, the first lifting force and the second lifting force vertically lifting the shelving unit on the support surface based on a weight distribution of the shelving unit on the support surface; and transporting the shelving unit situated on the support surface to a target position in an operating environment.


In general, another innovative aspect of the subject matter described in this disclosure may be embodied in methods comprising: aligning an automated guided vehicle (AGV) to a shelving unit in a vehicle at a first position relative to the shelving unit; relocating the AGV from the first position to a second position underneath a surface of the shelving unit; lifting the shelving unit using a lift platform of the AGV, the lift platform including a support surface coupled to a lifting mechanism, the lifting mechanism elevating the support surface to an elevated position to situate the shelving unit on the support surface, the lifting mechanism providing a first lifting force via a first portion of the support surface and a second lifting force via a second portion of the support surface, the first lifting force and the second lifting force vertically lifting the shelving unit on the support surface based on a weight distribution of the shelving unit on the support surface; transporting the shelving unit situated on the support surface to a target position in a facility; determining that the AGV reached the target position; and responsive to determining that the AGV reached the target position, lowering the support surface on which the shelving unit is situated from the elevated position to place the shelving unit at the target position in the facility.


These and other implementations of the AGV may each optionally include one or more of the following features: a first sensor coupled to the first portion of the support surface and a second sensor are coupled to the second portion of the support surface, the first sensor and the second sensor detecting the weight distribution of the shelving unit when the shelving unit is supported by the support surface; that the surface of the shelving unit is a bottom surface of the shelving unit, and the support surface is extended along at least a portion of the bottom surface of the shelving unit, the portion of the bottom surface of the shelving unit satisfying a length threshold associated with a length of the shelving unit; a drive unit includes one or more multi-directional wheels that are coupled to the lifting platform and rotatable around two or more axes to move the AGV; that the lift platform and the drive unit form a low-elevated and elongated body of the AGV, the low-elevated and elongated body of the AGV satisfy a dimension threshold associated with a space underneath the surface of the shelving unit; a guidance unit includes one or more sensors that detect one or more graphic markers in an operating environment to navigate the AGV in the operating environment; that the support surface is a flat, rectangular surface; aligning the AGV to the shelving unit at a first position relative to the shelving unit, relocating the AGV from the first position to a second position underneath the surface of the shelving unit, lifting the shelving unit using the first lifting force provided via the first portion of the support surface and the second lifting force provided via the second portion of the support surface, and transporting the shelving unit situated on the support surface to a target position; that aligning the AGV to the shelving unit includes detecting a first graphic marker associated with the first position relative to the shelving unit; that relocating the AGV from the first position to the second position includes determining the second position underneath the surface of the shelving unit at which a center point of the support surface of the lift platform is proximate to a center point of the surface of the shelving unit, and relocating the AGV from the first position to the second position; that transporting the shelving unit includes, responsive to lifting the shelving unit, starting to move the AGV at an initial acceleration rate satisfying an acceleration rate threshold; determining that the AGV reached the target position, and responsive to determining that the AGV reached the target position, lowering the support surface on which the shelving unit is situated from the elevated position to place the shelving unit at the target position; and that the support surface is adaptively adjustable to a slope of the surface of the shelving unit.


These and other implementations of the method may each optionally include one or more of the following features: detecting, using a first sensor coupled to the first portion of the support surface and a second sensor coupled to the second portion of the support surface, the weight distribution of the shelving unit when the shelving unit is supported by the support surface; adjusting the support surface to a slope of the surface of the shelving unit; that the surface of the shelving unit is a bottom surface of the shelving unit, and the support surface supports the shelving unit from underneath the shelving unit when the shelving unit is situated on the support surface, the support surface extended along at least a portion of the bottom surface of the shelving unit and the portion of the bottom surface of the shelving unit satisfying a length threshold; that the AGV includes a drive unit comprising one or more multi-directional wheels that are coupled to the lifting platform and rotatable around two or more axes to move the AGV, and the lift platform and the drive unit form a low-elevated and elongated body of the AGV, the low-elevated and elongated body of the AGV satisfying a dimension threshold associated with a space underneath the surface of the shelving unit; that aligning the AGV to the shelving unit at the first position includes detecting a first graphic marker associated with the first position relative to the shelving unit, and transporting the shelving unit to the target position includes detecting one or more graphic markers in the operating environment to navigate the AGV to the target position.


Other implementations of one or more of these aspects include corresponding systems, apparatus, and computer programs, configured to perform the actions of the methods, encoded on computer storage devices.


It should be understood that the language used in the present disclosure has been principally selected for readability and instructional purposes, and not to limit the scope of the subject matter disclosed herein.





BRIEF DESCRIPTION OF THE DRAWINGS

The disclosure is illustrated by way of example, and not by way of limitation in the figures of the accompanying drawings in which like reference numerals are used to refer to similar elements.



FIGS. 1A-1D respectively illustrate a top-view diagram, a front-view diagram, a side-view diagram, and a perspective diagram of an example shelf-transport AGV.



FIG. 1E illustrates an exploded-view diagram of an example shelf-transport AGV.



FIG. 1F is a block diagram of an example computing device.



FIG. 2 is a block diagram of an example system for automatically transporting a shelving unit using a shelf-transport AGV.



FIG. 3 is a flowchart of an example method for transporting the shelving unit.



FIG. 4A-4K illustrate an example scenario in which an example shelf-transport AGV transports the shelving unit to a target position of the shelving unit.





DESCRIPTION

The technology presented in this disclosure improves upon existing approaches and is advantageous in a number of respects. For example, the Automated Guided Vehicle (AGV) described herein may have a low-elevated and elongated design that enables the AGV to slide underneath the shelving unit, lift the shelving unit up, and transport the shelving unit to a target position. The AGV only requires a limited space to operate and is therefore capable of handling and transporting shelving units located in tight or narrow areas (e.g., inside a fully loaded delivery vehicle). Furthermore, the AGV may also have one or more multi-directional wheels capable of rotating around multiple axes to move the AGV in multiple directions, and thus the AGV can flexibly maneuver in a compact space. As discussed above, the AGV can lift the shelving unit up to transport the shelving unit, and therefore the friction between the shelving unit and the floor surface during transportation can be avoided. In some implementations, the AGV can lift the shelving unit, so the present technology can also eliminate the need to provide the shelving unit with wheels, thereby avoiding unexpected rolling of the shelving unit, especially in case the shelving unit is placed inside a moving vehicle. As a further example, the AGV described herein may provide lifting forces via the support surface to vertically lift or lower the shelving unit based on the weight distribution of the shelving unit on the support surface. When the shelving unit is lifted, the AGV may start moving at a relatively low acceleration rate to transport the shelving unit. The AGV may also monitor a balance condition of the shelving unit during lifting, lowering, and transportation and adjust the lifting forces based on the balance condition. Accordingly, in some implementations, the AGV can advantageously balance a shelving unit situated on the AGV as the shelving unit is lifted and transported to its target position.


The technology described herein includes an example AGV that automatically transports the shelving unit between different locations. The AGV may be a robotic vehicle operating in the storage facility. As the AGV can transport a shelving unit, the AGV may be referred to herein as a shelf-transport AGV, although it should be understood that the AGV may transport other types of objects (e.g., pallets, containers, inventory items, etc.). In some embodiments, the shelving unit may be an object that is capable of accommodating items. In some embodiments, the shelving unit may include one or more shelves on which containers (e.g., storage boxes, mini-pallets, totes, etc.), which may hold various inventory items may be placed. Non-limiting examples of the shelving unit include, but are not limited to, a shelf, a rack, a cart, etc. In some embodiments, the shelving unit, when positioned on a floor surface, may have a space underneath the shelving unit that is in between the bottom surface of the shelving unit and the floor surface (e.g., the ground, floor, floor of the delivery vehicle, etc.). Depending on the embodiment, the shelving unit may or may not have wheels.


An example shelf-transport AGV 100 is depicted in FIGS. 1A-1D. FIG. 1A illustrates a top-view diagram 102, FIG. 1B illustrates a front-view diagram 104, FIG. 1C illustrates a side-view diagram 106, and FIG. 1D illustrates a perspective diagram 108 of the shelf-transport AGV 100. As illustrated in FIGS. 1A-1D, the shelf-transport AGV 100 may include a lift platform coupled to a drive unit. The lift platform may include a support surface 130 coupled to a lifting mechanism 132, and the drive unit may include one or more multi-directional wheels 110. In some embodiments, the shelf-transport AGV 100 may also include one or more indicators 120, a guidance unit (not shown), and/or an AGV controller 160 (not shown). Other components of the shelf-transport AGV 100 are also possible and contemplated.


In some embodiments, the components of the shelf-transport AGV 100 (e.g., the lift platform, the drive unit, etc.) may form a low-elevated and elongated body of the shelf-transport AGV 100. The low-elevated and elongated body of the shelf-transport AGV 100 may satisfy one or more dimension thresholds associated with the space underneath the shelving unit. For example, the shelf-transport AGV 100 may have the length, the width, and/or the height respectively lesser than the length, the width, and/or the height of the space underneath the bottom surface of the shelving unit being transported. As a result, the shelf-transport AGV 100 may have sufficient clearance between the bottom surface of the shelving unit and the shelf-transport AGV 100 to fit into the space underneath the shelving unit. Thus, the shelf-transport AGV 100 may slide between the legs and/or the wheels of the shelving unit to position itself underneath the shelving unit, lift the shelving unit to situate the shelving unit on the shelf-transport AGV 100, and transport the shelving unit situated on the shelf-transport AGV 100 to the target position. In some embodiments, the length and/or the width of the shelf-transport AGV 100 may substantially equal to the length and/or the width of the bottom surface of the shelving unit (e.g., 70% to 80% of the corresponding dimensions) in order to reliably support the shelving unit from underneath the shelving unit. As an example of the dimensions of the shelf-transport AGV 100, the shelf-transport AGV 100 may have a length of approximately 46 inches, a width of approximately 13 inches, and a height of approximately 6 to 7 inches. Other implementations of the dimensions of the shelf-transport AGV 100 are also possible and contemplated.


As discussed elsewhere herein, the shelf-transport AGV 100 may include a lift platform that comprises the support surface 130 coupled to the lifting mechanism 132. In some embodiments, the support surface 130 may be a flat surface on which the shelving unit may be situated and rest against the support surface 130. To support the shelving unit, the support surface 130 may be adapted to contact a surface of the shelving unit. In some embodiments, the surface of the shelving unit may be a bottom surface of the shelving unit. Thus, as the shelving unit is situated on the support surface 130, the support surface 130 may provide support to the shelving unit from underneath the shelving unit. In some embodiments, the lifting mechanism 132 may include one or more motors (not shown) coupled to the support surface 130. To support the shelving unit, the lifting mechanism 132 may actuate the one or more motors to elevate the support surface 130 to the elevated position at which the support surface 130 comes into contact with the bottom surface of the shelving unit, thereby situating the shelving unit on the support surface 130. As discussed above, when the support surface 130 is in the elevated position and the shelving unit is situated on the support surface 130, the support surface 130 may support the shelving unit from underneath the shelving unit via the bottom surface of the shelving unit, although other implementations are possible and contemplated herein.


In some embodiments, the lifting mechanism 132 may adjust the position of the support surface 130 to adapt to the shelving unit being transported. For example, the lifting mechanism 132 may adaptively adjust the support surface 130 to a slope of the surface of the shelving unit. In some embodiments, as the lifting mechanism 132 elevates the support surface 130 to an elevated position, the lifting mechanism 132 may also adjust the slope angle between the support surface 130 and the floor surface to be compatible with the slope angle between the bottom surface of the shelving unit and the floor surface, for example by lifting different portions of the support surface 130 different distances, as described in further detail elsewhere herein. These implementations may be advantageous because they may increase the stability of the shelving unit situated on the support surface 130.


As depicted in FIGS. 1A, 1B, and 1D, the support surface 130 may have an elongated shape, and thus the support surface 130 may be extended along at least a portion of the bottom surface of the shelving unit when the shelving unit is situated on the support surface 130. For example, when a shelving unit has a rectangular shape, the support surface 130 (and/or, in some instances, the shelf-transport AGV 100) may be elongated corresponding to the length of the shelving unit. For example, in order to stably support the shelving unit, the support surface 130 may be extended along at least a portion of the bottom surface of the shelving unit, and such portion of the bottom surface of the shelving unit may satisfy a length threshold (e.g., at least 1.2 m, 80% of the shelving unit length, etc.). In some embodiments, the shelf-transport AGV 100 may adjust the length of the support surface 130 to flexibly adapt to the length of the shelving unit being transported. For example, the support surface 130 may include one or more retractable portions at one or more distal ends of the support surface 130. The shelf-transport AGV 100 may project these retractable portions outward or retract these retractable portions inward to increase or decrease the length of the support surface 130 according to the length of the shelving unit. Other adjustments of the support surface 130 are also possible and contemplated.


As discussed elsewhere herein, the lifting mechanism 132 may include one or more motors coupled to the support surface 130. For example, the lifting mechanism 132 may be a dual-motor lift mechanism that includes two motors (e.g., stepper motors). Other numbers or types of motors (e.g., servo motors, brushless motors, etc.) are also possible and contemplated. In some embodiments, the one or more motors of the lifting mechanism 132 may have a motor size satisfying a motor size threshold (e.g., the height of each motor is lower than 5 inches) and have a motor power satisfying a motor power threshold (e.g., higher than 1 kW). As a result, the shelf-transport AGV 100 may be able to fit into the space underneath the shelving unit, while being capable of lifting and transporting a shelving unit with items placed thereon. It should be understood that instead of using motors, the lifting mechanism 132 may use a different mechanical or hydraulic lifting device to provide the lifting forces to the shelving unit.


In some embodiments, when the shelving unit is situated on the support surface 130, the one or more motors of the lifting mechanism 132 may provide a first lifting force via a first portion of the support surface 130 and a second lifting force via a second portion of the support surface 130. The first and second lifting forces may vertically lift or lower the shelving unit via the support surface 130 based on a weight distribution of the shelving unit on the support surface 130. In some embodiments, to detect the weight distribution of the shelving unit on the support surface 130, the lifting mechanism 132 may include a first sensor coupled to the first portion of the support surface 130 and a second sensor coupled to the second portion of the support surface 130. The sensors may be pressure sensors, resistance (e.g., electrical or mechanical resistance to the motor) sensors, etc.


An exploded-view diagram 112 of an example shelf-transport AGV 100 is depicted in FIG. 1E to illustrate example components of the shelf-transport AGV 100 in which the sensor(s), etc., may be integrated. As depicted in FIG. 1E, the support surface 130 may include a protrusion 144 at a first portion 141 that is proximate to a first end of the support surface 130, and a protrusion 146 at a second portion 143 that is proximate to a second end of the support surface 130. The lifting mechanism 132 may include a receiving channel 140 for receiving the protrusion 144 and a receiving channel 142 for receiving the protrusion 146, thereby engaging the support surface 130 with the lifting mechanism 132. In some embodiments, one or more motors and sensors may be integrated with or housed within each protrusion 144 or 146 and/or channel 140 or 142. For instance, a first sensor may be integrated in the receiving channel 140 of the lifting mechanism 132, and a second sensor may be integrated in the receiving channel 142 of the lifting mechanism 132. Alternatively, the first sensor may be integrated in the first portion 141 and/or the protrusion 144 of the support surface 130, and the second sensor may be integrated in the second portion 143 and/or the protrusion 146 of the support surface 130. The first sensor and the second sensor may be pressure sensor, motor load sensor, balance sensor, etc. Other types of sensors are also possible and contemplated. Similarly, the shelf-transport AGV 100 may have any number of motors, sensors, protrusions, channels, or lifting portions.


In some embodiments, the first sensor may monitor the weight of the shelving unit applied to the first portion 141 of the support surface 130, and the second sensor may monitor the weight of the shelving unit applied to the second portion 143 of the support surface 130, thereby detecting the weight distribution of the shelving unit on the support surface 130. The lifting mechanism 132 may then provide the first lifting force via the first portion 141 of the support surface 130, and provide the second lifting force via the second portion 143 of the support surface 130 based on the weight distribution of the shelving unit on the support surface 130. In some embodiments, the lifting force provided to the shelving unit via a particular portion of the support surface 130 may be directly proportional to the weight of the shelving unit applied to that portion. In some instances, the shelf transport AGV 100 may vary the lifting force to match a shifting weight balance of the shelving unit, for example, when the shelf transport AGV 100 accelerates or navigates up or down a slope.


As an example, the first sensor may detect the weight of the shelving unit applied to the first portion 141 of the support surface 130 to be 100 kg, and the second sensor may detect the weight of the shelving unit applied to the second portion 143 of the support surface 130 to be 250 kg. The shelf-transport AGV 100 may determine the weight difference between the weight of the shelving unit applied to the first portion 141 and the weight of the shelving unit applied to the second portion 143 (e.g., 150 kg). The shelf-transport AGV 100 may determine that the weight difference satisfies a weight difference threshold (e.g., higher than 50 kg), and thus determine that the shelving unit is situated on the support surface 130 in an unbalance manner. In this example, the lifting mechanism 132 may provide a first lifting force via the first portion 141 of the support surface 130, and provide a second lifting force via the second portion 143 of the support surface 130. The first lifting force may be proportional to the weight of the shelving unit applied to the first portion 141 of the support surface 130, and the second lifting force may be proportional to the weight of the shelving unit applied to the second portion 143 of the support surface 130, whether by matching the forces with the weights or by applying more force to a heavier side of the shelving unit. In some embodiments, the lifting mechanism 132 may lift a heavier side of the shelving unit farther than a lighter side of the shelving unit in order to shift the weight, and therefore the balance, of the shelving unit into a more stable position (e.g., where a center of gravity of the shelving unit is near the center of the support surface 130). As a result, the lifting mechanism 132 may lift the shelving unit in a balanced manner with the first lifting force and the second lifting force.


In some embodiments, during the transportation of the shelving unit to the target position, the first sensor and the second sensor may continue monitoring the weight of the shelving unit applied to the first portion and the second portion of the support surface 130. Thus, the shelf-transport AGV 100 may detect a change in the weight distribution of the shelving unit on the support surface 130, and dynamically adapt the first lifting force and the second lifting force during the transportation. For example, as the shelving unit is carried by the shelf-transport AGV 100, the shelf-transport AGV 100 may determine that the weight of the shelving unit applied to the second portion 143 of the support surface 130 increases while the weight of the shelving unit applied to the first portion 141 of the support surface 130 decreases (e.g., due to tilt of the shelving unit towards the second end of the support surface 130 that is proximate to the second portion 143, acceleration, etc.). In this example, the shelf-transport AGV 100 may decrease the first lifting force and/or lifting height (e.g., by changing the lifting force) provided via the first portion 141 of the support surface 130, and increase the second lifting force and/or lifting height provided via the second portion 143 of the support surface 130, thereby regaining the balance of the shelving unit situated on the support surface 130.


Referring back to FIGS. 1A-1D, as discussed elsewhere herein, the shelf-transport AGV 100 may include the drive unit comprising one or more multi-directional wheels 110, one or more power motors (not shown), and one or more driving actuators (not shown) that control the movement of the one or more multi-directional wheels 110. The multi-directional wheels 110 may be driven by the power motors and/or the driving actuators of the drive unit, and may be coupled to the lifting platform to move the shelf-transport AGV 100. In some embodiments, the multi-directional wheels 110 are capable of rotating around two or more axis. As a result, the multi-directional wheels 110 can move in any direction, thereby enabling the shelf-transport AGV 100 to perform various maneuvers to flexibly move and change direction in areas having limited space (e.g., inside a loaded box of a box truck or trailer). In some embodiments, the multi-directional wheels 110 may be Mecanum wheels; although, other types of wheel are also possible and contemplated.


In some embodiments, the shelf-transport AGV 100 may include a guidance unit (not shown) to allow the shelf transport AGV 100 to reposition itself or navigate in the operating environment. For example, the shelf-transport AGV 100 may rely on guidance provided by guidance unit to reposition itself relative to the shelving unit being transported. In another example, the shelf-transport AGV 100 may rely on the guidance unit to navigate from the initial position at which the shelving unit is initially placed to the target position of the shelving unit in the storage facility. In some embodiments, the guidance unit may include one or more sensors. Examples sensors of the guidance unit include, but are not limited to, vision sensors (e.g., camera, etc.), optical reader devices (e.g., marker scanner, etc.), radio beacon or tag readers, etc. Other types of sensors are also possible and contemplated.


In some embodiments, the optical sensors may be image sensors capable of recording images (e.g., video or still images), recording frames of a video stream, etc. In some embodiments, the optical sensors may be mounted on the shelf-transport AGV 100 and capture images of the surrounding environment within their optical range. In some embodiments, the shelf-transport AGV 100 may analyze the captured images to determine its current position and/or to detect various objects present in the surrounding environment (e.g., shelving units, human workers, other AGVs, etc.). The shelf-transport AGV 100 may then adaptively reposition itself relative to the detected object, and/or determine a travel path to navigate through the detected objects to a target position.


In some embodiments, the reader devices may be optical scanners capable of performing read operations to read graphic markers. Non-limiting examples of a graphic marker include, but are not limited to, a barcode, Quick Response (QR) code, Radio Frequency Identification (RFID) label, etc. In some embodiments, the graphic marker may be attached to various objects and/or various locations in the operating environment. For example, the graphical marker may be attached to shelving units, containers, inventory items, AGVs, the floor, walls, etc. In another example, the graphical marker may be attached to the designated position (e.g., on the floor, wall, ceiling, etc.) at which shelving units are placed in a delivery vehicle, the target position to which the shelving unit is transported in the storage facility, etc. In some embodiments, the reader devices may read the graphic marker to obtain the unique identifier (ID) of the object and/or location to which the graphical marker is attached. The shelf-transport AGV 100 may then rely on these unique ID to identify the shelving unit to be transported, align itself to the shelving unit, determine whether the target position of the shelving units is reached, navigate between different locations in the storage facility, etc.


In some embodiments, the shelf-transport AGV 100 may include an indicator coupled to the lift platform. The indicator may project a signal that indicates the shelf-transport AGV 100 in an operating environment, thereby notifying the presence and/or the current operation of the shelf-transport AGV 100 to other entities located proximate to the shelf-transport AGV 100 in the operating environment. The indicator may allow the human workers and other AGVs located nearby to be aware of the shelf-transport AGV 100 despite its low-elevated and elongated body that may not attract attention. For example, the shelf-transport AGV 100 may include the light indicators 120 coupled to the lifting mechanism 132 as depicted in FIGS. 1B and 1D. The light indicators 120 may be Light Emitting Diode (LED) indicators that emit various types of light (e.g., blinking light, light in different colors) corresponding to various types of motion performed by the shelf-transport AGV 100 (e.g., proceeding straight, turning left, rotating, etc.). Other types of indicators may transmit their signals using sound, lasers, radio transmission to another device (e.g., a vibrating belt, smart phone, wearable smart device), etc., are also possible and contemplated.



FIG. 1F illustrates a computing device 150 representing an example architecture of a shelf-transport AGV 100. As depicted, the computing device 150 may include a processor 152, a memory 154, a data store 156, a communication unit 158, the AGV controller 160, one or more input devices 170, and one or more output devices 180. The components of the computing device 150 may be communicatively coupled by a bus 190. The computing device 150 depicted in FIG. 1F is provided by way of example and it should be understood that it may take other forms and include additional or fewer components without departing from the scope of the present disclosure. For example, various components of the computing device 150 may be coupled for communication using a variety of communication protocols and/or technologies including, for example, communication buses, software communication mechanisms, computer networks, etc. While not shown, the computing device 150 may include various operating systems, sensors, additional processors, and other physical configurations. Although FIG. 1F only illustrates a single processor 152, memory 154, data store 156, etc., it should be understood that the computing device 150 may include a plurality of instances of one or more of these components.


The processor 152 may execute software instructions by performing various input, logical, and/or mathematical operations. The processor 152 may have various computing architectures to process data signals including, for example, a complex instruction set computer (CISC) architecture, a reduced instruction set computer (RISC) architecture, and/or an architecture implementing a combination of instruction sets. The processor 152, which may include one or more processors, may be physical and/or virtual, and may include a single core or plurality of processing units and/or cores. In some embodiments, the processor 152 may be capable of generating and providing electronic signals to other computing entities (e.g., servers, other AGVs, etc.), performing complex tasks such as image processing, AGV alignment and/or navigation, etc. In some embodiments, the processor 152 may be coupled to the memory 154 via the bus 190 to access data and instructions therefrom and store data therein. The bus 190 may couple the processor 152 to the other components of the computing device 150 including, for example, the AGV controller 160, the memory 154, the data store 156, the communication unit 158, the input devices 170, and/or the output devices 180.


The memory 154 may store and provide access to data to the other components of the computing device 150. The memory 154 may be included in a single computing device or a plurality of computing devices. In some embodiments, the memory 154 may store instructions and/or data that may be executed by the processor 152. For example, the memory 154 may store computer logic executed by the AGV controller 160, depending on the configuration. The memory 154 is also capable of storing other instructions and data, including, for example, an operating system, hardware drivers, software applications, databases, etc. The memory 154 may be coupled to the bus 190 for communication with the processor 152 and other components of computing device 150. The memory 154 may include a non-transitory computer-usable (e.g., readable, writeable, etc.) medium, which can be any non-transitory apparatus or device that can contain, store, communicate, propagate, or transport instructions, data, computer programs, software, code, routines, etc., for processing by or in connection with the processor 152. In some embodiments, the memory 154 may include one or more of volatile memory and non-volatile memory (e.g., RAM, ROM, hard disk, optical disk, etc.). It should be understood that the memory 154 may be a single device or may include multiple types of devices and configurations.


The bus 190 may include a communication bus for transferring data between components of a computing device or between computing devices, a network bus system including a network or portions thereof, a processor mesh, a combination thereof, etc. In some embodiments, the server, the AGV controller 160, and various other components operating on the computing device 150 (operating systems, device drivers, etc.) may cooperate and communicate via a communication mechanism included in or implemented in association with the bus 190. The software communication mechanism may include and/or facilitate, for example, inter-method communication, local function or procedure calls, remote procedure calls, an object broker (e.g., CORBA), direct socket communication (e.g., TCP/IP sockets) among software modules, UDP broadcasts and receipts, HTTP connections, etc. In some embodiments, any or all of the communication can be secure (e.g., SSH, HTTPS, etc.).


The communication unit 158 may include one or more interface devices (I/F) for wired and wireless connectivity among the computing entities of the system (e.g., the server, the AGVs, etc.). For example, the communication unit 158 may include, but is not limited to, various types known connectivity and interface options. The communication unit 158 may be coupled to other components of the computing device 150 via the bus 190. The communication unit 158 may be coupled to a network (e.g., the Internet, an intranet, etc.), depending on the configuration. In some embodiments, the communication unit 158 may link the processor 152 to the network, which may in turn be coupled to other processing systems. The communication unit 158 may provide other connections to a network, servers, and/or computing devices using various standard communication protocols.


The data store 156 may include a non-transitory storage medium that stores various types of data and provides access to the data. The data stored by the data store 156 may be organized and queried using various criteria. For example, the data store 156 may include data tables, databases, or other organized collections of data. In some embodiments, the data store 156 may be included in the computing device 150 or in another computing system and/or storage system distinct from but coupled to or accessible by the computing device 150. In some embodiments, the data store 156 may be incorporated with the memory 154 or may be distinct therefrom. In some embodiments, the data store 156 may store data associated with a database management system (DBMS) operable on the computing device 150. For example, the DBMS could include a structured query language (SQL) DBMS, a NoSQL DBMS, various combinations thereof, etc. In some instances, the DBMS may store data in multi-dimensional tables comprised of rows and columns, and manipulate, e.g., insert, query, update and/or delete, rows of data using programmatic operations.


In some embodiments, the data stored by the data store 156 may include, but is not limited to, AGV data, shelving unit data, location data, map data, guidance marker data, etc. For example, the data store 156 may store the AGV ID of the shelf-transport AGV 100, the shelving unit ID of the shelving unit transported by the shelf-transport AGV 100, dimensions of the shelving unit, an initial position and a target position of the shelving unit, etc. The data store 156 may also store the current location of the shelf-transport AGV 100, the current location of other AGVs in the operating environment, the map data describing the operating environment (e.g., the facility map of the storage facility), etc. Other types of data are also possible and contemplated.


The input devices 170 may include any device for inputting information into the computing device 150. The input devices 170 may be coupled to the computing device 150 directly or through intervening Input/Output (I/O) controllers. In some embodiments, the input devices 170 may include one or more peripheral devices such as a touch-screen display, a keyboard (e.g., a virtual keyboard), a pointing device (e.g., a virtual mouse device), a microphone for receiving user input via speech, etc. As depicted in FIG. 1F, the input devices 170 may include one or more sensors 172. Non-limiting examples of the sensors 172 include, but are not limited to, vision sensors (e.g., camera and/or other image/video capture devices), obstacle sensors, distance sensors, pressure sensors, motor load sensors, balance sensors, etc. As depicted in FIG. 1F, the input device 170 may also include a reader device 174, which, as discussed elsewhere herein, may be a marker scanner that can read the graphic markers attached to various objects and/or locations. Non-limiting examples of the reader device 174 include, but are not limited to, a barcode scanner, QR code scanner, RFID reader, etc. Other types of input device are also possible and contemplated.


The output devices 180 may include any device capable of outputting information from the computing device 150. The output devices 180 may be coupled to the computing device 150 directly or through intervening I/O controllers. In some embodiments, the output devices 180 may include one or more peripheral devices such as a display (e.g., touch-screen display, Liquid Crystal Display (LCD), etc.), an audio reproduction device (e.g., a speaker), etc. As depicted in FIG. 1F, the output device 180 may include one or more indicators 120. As discussed elsewhere herein, the indicators 120 may project one or more signals to indicate the presence and/or the current operation of the shelf-transport AGV 100 to other entities located proximate to the shelf-transport AGV 100. Non-limiting examples of the indicators 120 include, but are not limited to, lights, speakers, etc. Other types of output device are also possible and contemplated.


The AGV controller 160 may include computer logic executable by the processor 152 or by the server to control one or more operations of the shelf-transport AGV 100. For example, the AGV controller 160 may control the operations of the shelf-transport AGV 100 to transport the shelving unit between different locations. In some embodiments, the AGV controller 160 may be implemented using software executable by one or more processors of one or more computer devices, using hardware, such as, but not limited to a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), etc., and/or a combination of hardware and software, etc. In some embodiments, the AGV controller 160 may communicate with other components of the computing device 150 via the bus 190 and/or the processor 152, and communicate with other entities of the system via the network. In some embodiments, the AGV controller 160 may be a set of instructions executable by the processor 152 to provide its functionality. In further embodiments, the AGV controller 160 may be storable in the memory 154 and accessible and executable by the processor 152 to provide its functionality. In any of the foregoing embodiments, the AGV controller 160 may be adapted for cooperation and communication with the processor 152 and other components of the computing device 150. For example, the AGV controller 160 may receive input data from one or more input devices 170 (e.g., a captured image, shelving unit ID, initial position or target position of the shelving unit, graphic marker ID, etc.), process the input data, and provide one or more outputs via one or more output devices 180 (e.g., indication signal, transportation complete notification, etc.). Example operations of the AGV controller 160 are described in detail below with reference to at least FIGS. 2-4K.



FIG. 2 is a block diagram of an example system 200 for automatically transporting a shelving unit using a shelf-transport AGV 100. In FIG. 2, and the other figures, a letter after a reference number, e.g., “100a,” represents a reference to the element having that particular reference number. A reference number in the text without a following letter, e.g., “100,” represents a general reference to instances of the element bearing that reference number. As depicted, the system 200 includes a server 230, one or more shelf-transport AGVs 100, and one or more container-transport AGVs 240 coupled for electronic communication via a network 220. It should be understood that the system 200 depicted in FIG. 2 is provided by way of example, and that the system 200 may include additional and/or fewer components, combine components, and/or divide one or more of the components into additional components, etc. For example, the system 200 may include any number of servers 230, shelf-transport AGVs 100, or container-transport AGVs 240. In some embodiments, the shelf-transport AGVs 100 may transport the shelving units in the operating environment as discussed elsewhere herein. The container-transport AGVs 240 may transport the containers (e.g., box, tote, mini-pallet, etc.) in the operating environment. It should be understood that the system 200 may also include other types of AGVs that perform other tasks in the operating environment.


The network 220 may be a conventional type, wired and/or wireless, and may have numerous different configurations including a star configuration, token ring configuration, or other configurations. Furthermore, the network 220 may include one or more local area networks (LAN), wide area networks (WAN) (e.g., the Internet), personal area networks (PAN), cellular networks, public networks, private networks, virtual networks, virtual private networks, peer-to-peer networks, near field networks (e.g., Bluetooth, NFC, etc.), and/or other interconnected data paths across which multiple devices may communicate.


The network 220 may also be coupled to or include portions of a telecommunications network for sending data in a variety of different communication protocols. Example protocols include, but are not limited to, transmission control protocol/Internet protocol (TCP/IP), user datagram protocol (UDP), transmission control protocol (TCP), hypertext transfer protocol (HTTP), secure hypertext transfer protocol (HTTPS), dynamic adaptive streaming over HTTP (DASH), real-time streaming protocol (RTSP), real-time transport protocol (RTP) and the real-time transport control protocol (RTCP), voice over Internet protocol (VOW), file transfer protocol (FTP), WebSocket (WS), wireless access protocol (WAP), various messaging protocols (SMS, MMS, XMS, IMAP, SMTP, POP, WebDAV, etc.), or other suitable protocols. In some embodiments, the network 220 is a wireless network using a connection such as DSRC (Dedicated Short Range Communication), WAVE, 802.11p, a 3G, 4G, 5G+ network, WiFi™, satellite networks, or other suitable networks. Although FIG. 2 illustrates a single block for the network 220 that couples to the server 230, the shelf-transport AGVs 100, and the container-transport AGVs 240, it should be understood that the network 220 may in practice comprise any number of combination of networks, as noted above.


As depicted in FIG. 2, the server 230, the shelf-transport AGVs 100, and the container-transport AGVs 240 may be communicatively coupled to the network 220, as respectively represented by signal lines 202, 204, and 206. Thus, the server 230, the shelf-transport AGVs 100, and the container-transport AGVs 240 may send and receive data to and from other entities of the system 200 via the network 220. As illustrated, the AGV controller 160 may be implemented in a shelf-transport AGV 100 and/or in the server 230. In some embodiments, if the AGV controller 160 is implemented in the shelf-transport AGV 100, the AGV controller 160 may be configured to communicate with other components of the shelf-transport AGV 100 to control various operations of the shelf-transport AGV 100 via the bus 190 and/or the processor 152. If the AGV controller 160 is implemented in the server 230, the AGV controller 160 may be configured to communicate with the shelf-transport AGV 100 to control various operations of the shelf-transport AGV 100 via the network 220. In some embodiments, the AGV controller 160 implemented in the server 230 may control and/or coordinate the operations of multiple shelf-transport AGVs 100 in the operating environment.



FIG. 3 illustrates an example method 300 for transporting a shelving unit between different locations in an operating environment. In some embodiments, the method 300 may be performed by the shelf-transport AGV 100 as it is controlled by the AGV controller 160. In block 302, the AGV controller 160 may optionally determine the shelving unit to be transported by the shelf-transport AGV 100. In some embodiments, the reader device 174 of the shelf-transport AGV 100 may scan the graphic markers (e.g., QR codes) attached to the shelving units to obtain the shelving unit IDs of the shelving units. The AGV controller 160 may then determine a particular shelving unit to be transported among these shelving units based on the shelving unit IDs. In some embodiments, the AGV controller 160 may determine to transport a shelving unit that has a lowest distance to a point of reference. As an example, the shelf-transport AGV 100 may unload multiple shelving units from a delivery vehicle to the target positions of the shelving units on the floor surface of the storage facility. In this example, as the shelf-transport AGV 100 enters the delivery vehicle and relocates to the designated area at which the shelving units are placed in the delivery vehicle, the AGV controller 160 may determine the shelving unit that has the lowest distance to the entrance door of the delivery vehicle, and determine the shelving unit being transported to be this shelving unit. Other implementations for determining the shelving unit being transported by the shelf-transport AGV 100 are also possible and contemplated.



FIGS. 4A-4K illustrate an example scenario in which a shelf-transport AGV 100 transports a shelving unit from an initial position to a target position, and the operations illustrated in FIGS. 4A-4K are described along with the method 300 in FIG. 3. In this example, as depicted in stage 400 in FIG. 4A, the AGV controller 160 may determine that the shelving unit 402a has the lowest distance to the current position of the shelf-transport AGV 100, and thus determine that the shelving unit to be transported is the shelving unit 402a.


In block 304, the AGV controller 160 may align the shelf-transport AGV 100 to the shelving unit at a first position relative to the shelving unit. In some embodiments, the first position may be located along an edge of the shelving unit and have a distance between the first position and the edge of the shelving unit satisfying a distance threshold (e.g., less than 15 cm). In some embodiments, the first position may be indicated by a first graphic marker (e.g., QR code), and thus the reader device 174 of the shelf-transport AGV 100 may detect the first graphic marker associated with the first position to align the shelf-transport AGV 100 to the shelving unit. The first graphic marker may be attached to the shelving unit or to the floor surface proximate to the shelving unit (e.g., the vehicle floor of the delivery vehicle, the ground surface of the loading dock, etc.) such that when the reader device 174 of the shelf-transport AGV 100 detects the first graphic marker, the shelf-transport AGV 100 is at the first position relative to the shelving unit. In other embodiments, the vision sensor of the shelf-transport AGV 100 may capture one or more images of the shelving unit from the perspective of the shelf-transport AGV 100. The AGV controller 160 may then determine the first position relative to the shelving unit based on the captured images, and relocate the shelf-transport AGV 100 to the first position to align the shelf-transport AGV 100 to the shelving unit. Other implementations for aligning the shelf-transport AGV 100 to the shelving unit are also possible and contemplated.


Continuing the example depicted in FIGS. 4A-4K, in the stage 410 illustrated in FIG. 4B, the AGV controller 160 may relocate the shelf-transport AGV 100 from its original position towards the shelving unit 402a. In the stage 420 illustrated in FIG. 4C, the AGV controller 160 may align the shelf-transport AGV 100 to the shelving unit 402a at the first position along the length of the shelving unit 402a and proximate to the shelving unit 402a.


In block 306, the AGV controller 160 may relocate the shelf-transport AGV 100 from the first position to a second position underneath the shelving unit. In some embodiments, the AGV controller 160 may determine the second position underneath the surface of the shelving unit at which a center point of the support surface 130 of the lift platform is proximate to a center point of the surface of the shelving unit. The AGV controller 160 may then relocate the shelf-transport AGV 100 from the first position to the second position. This configuration may be advantageous, because the balance of the shelving unit on the support surface 130 can be improved due to the proximity between the center point of the surface of the shelving unit and the center point of the support surface 130 on which the shelving unit will be situated.


In some embodiments, to determine the second position underneath the shelving unit, the AGV controller 160 may retrieve or determine the size of the bottom surface of the shelving unit, estimate the center point of the bottom surface of the shelving unit, and determine the second position at which the distance between the center point of the bottom surface of the shelving unit and the center point of the support surface 130 of the shelf-transport AGV 100 satisfies a proximity threshold (e.g., less than 2 cm). In some embodiments, the second position may be indicated by a second graphic marker attached to the bottom surface of the shelving unit such that when the reader device 174 of the shelf-transport AGV 100 detects the second graphic marker, the shelf-transport AGV 100 is at the second position at which the center point of the bottom surface of the shelving unit is proximate to the center point of the support surface 130 of the shelf-transport AGV 100. Other implementations for determining the second position underneath the shelving unit are also possible and contemplated.


Continuing the example depicted in FIGS. 4A-4K, in the stage 430 illustrated in FIG. 4D, the AGV controller 160 may relocate the shelf-transport AGV 100 from the first position along the length of the shelving unit 402a and proximate to the shelving unit 402a to the second position underneath the shelving unit 402a.


In block 308, when the shelf-transport AGV 100 is relocated to the second position underneath the shelving unit, the shelf-transport AGV 100 may lift the shelving unit using the lift platform of the shelf-transport AGV 100. In some embodiments, to lift the shelving unit, the lifting mechanism 132 may actuate its motors to elevate the support surface 130 to the elevated position at which the support surface 130 comes into contact with the bottom surface of the shelving unit, thereby situating the shelving unit on the support surface 130. In some embodiments, the lifting mechanism 132 may adjust the support surface 130 to the slope of the bottom surface of the shelving unit to eliminate the gap that may exist between the support surface 130 and the bottom surface of the shelving unit, which embodiment may be advantageous because the shelving unit can stably rest against the support surface 130, especially in case the bottom surface of the shelving unit is tilted. In some embodiments, the lifting mechanism 132 may also adjust the support surface 130 to the length of the bottom surface of the shelving unit. For example, the lifting mechanism 132 may project or retract one or more retractable portions of the support surface 130 to adjust the length of the support surface 130 relative to the length of the bottom surface of the shelving unit. As the shelving unit is situated on the support surface 130, the support surface 130 may support the shelving unit from underneath the shelving unit via the bottom surface of the shelving unit. The support surface 130 may also be extended along at least a portion of the bottom surface of the shelving unit, and such portion of the bottom surface of the shelving unit may satisfy a length threshold (e.g., at least 80% of the length of the shelving unit, etc.), which embodiment may be advantageous because it can improve the stability of the shelving unit on the support surface 130.


In some embodiments, when the shelving unit is situated on the support surface 130, the AGV controller 160 may detect the weight distribution of the shelving unit on the support surface 130 using the first sensor coupled to the first portion of the support surface 130 and the second sensor coupled to the second portion of the support surface 130. As discussed elsewhere herein, the first sensor may monitor the weight of the shelving unit applied to the first portion of the support surface 130, and the second sensor may monitor the weight of the shelving unit applied to the second portion of the support surface 130. The AGV controller 160 may detect the weight distribution of the shelving unit on the support surface 130 based on the weight of the shelving unit applied to these different portions. In some embodiments, to lift the shelving unit, the lifting mechanism 132 may actuate its motors to provide a first lifting force via the first portion of the support surface 130 and a second lifting force via the second portion of the support surface 130. The first lifting force and the second lifting force may vertically lift the shelving unit via the support surface 130 based on the weight distribution of the shelving unit on the support surface 130, as described in detail above. In some embodiments, the first lifting force may be directly proportional to the weight of the shelving unit applied to the first portion of the support surface 130, and the second lifting force may be directly proportional to the weight of the shelving unit applied to the second portion of the support surface 130. As a result, the first lifting force and the second lifting force may lift the shelving unit up in a balanced manner. In some embodiments, the first lifting force and the second lifting force may lift the shelving unit completely off the floor surface.


Continuing the example depicted in FIGS. 4A-4K, in the stage 440 illustrated in FIG. 4E, the shelf-transport AGV 100 may lift the shelving unit 402a. As depicted, the shelving unit 402a may be lifted to the elevated position having a higher distance to the floor surface as compared to the shelving unit 402b that is not transported. As illustrated in FIG. 4E, the shelf-transport AGV 100 may support the shelving unit 402a from underneath the shelving unit 402a as the shelving unit 402a is situated on the support surface 130 of the shelf-transport AGV 100.


In block 310, the shelf-transport AGV 100 may transport the shelving unit situated on the support surface 130 to the target position of the shelving unit in the operating environment. In some embodiments, in order to transport the shelving unit, responsive to the shelf-transport AGV 100 lifting the shelving unit up, the AGV controller 160 may actuate one or more power motors of the shelf-transport AGV 100 to start moving the shelf-transport AGV 100 at an initial acceleration rate satisfying an acceleration rate threshold (e.g., less than 0.5 m/s2). For instance, the shelf-transport AGV 100 may start moving slowly with the shelving unit situated on the support surface 130, thereby reducing the likelihood of the shelving unit being tipped over. In some embodiments, the AGV controller 160 may gradually increase the acceleration rate and/or the moving speed of the shelf-transport AGV 100 as the shelf-transport AGV 100 proceeds towards the target position of the shelving unit.


In some embodiments, the AGV controller 160 may monitor the weight distribution of the shelving unit on the support surface 130 during the transportation of the shelving unit, and flexibly adapt the first and/or second lifting forces and/or lifting heights to lift the shelving unit based on the changing weight distribution. As an example, the first sensor may detect that the weight of the shelving unit applied to the first portion 141 of the support surface 130 increases from 100 kg to 200 kg, and the second sensor may detect that the weight of the shelving unit applied to the second portion 143 of the support surface 130 decreases from 250 kg to 150 kg (e.g., due to an incline of the shelving unit towards the first end of the support surface 130 that is proximate to the first portion 141). In this example, the lifting mechanism 132 may actuate its motors to increase the first lifting force provided via the first portion 141 of the support surface 130, and decrease the second lifting force provided via the second portion 143 of the support surface 130, thereby regaining the balance of the shelving unit on the support surface 130. In some embodiments, the lifting mechanism 132 may adjust the first lifting force proportionally to the weight of the shelving unit currently applied to the first portion 141 of the support surface 130 (e.g., 200 kg), and adjust the second lifting force proportionally to the weight of the shelving unit currently applied to the second portion 143 of the support surface 130 (e.g., 150 kg).


In some embodiments, to transport the shelving unit, the guidance unit may navigate the shelf-transport AGV 100 to the target position of the shelving unit in the operating environment from the second position at which the shelf-transport AGV 100 lifts the shelving unit up. In some embodiments, the guidance unit may reference the map of the operating environment (e.g., the facility map of the storage facility), and determine a navigation path from the second position to the target position. To follow the navigation path to the target position, the reader device 174 may detect the graphic markers on the floor surface as the shelf-transport AGV 100 proceeds in the operating environment. The guidance unit may map these graphic markers to the navigation path, generate navigating instructions to follow the navigation path, and provide the navigating instructions to the drive unit. The drive unit may actuate its power motors and/or its driving actuators to move the shelf-transport AGV 100 based on the navigating instructions. As a result, the shelf-transport AGV 100 may follow the navigation path to transport the shelving unit situated on the support surface 130 from the second position to the target position of the shelving unit. Other implementations for navigating the shelf-transport AGV 100 to the target position of the shelving unit are also possible and contemplated.


In some embodiments, as the shelf-transport AGV 100 proceeds towards the target position of the shelving unit, the indicator 120 may project one or more signals that indicate the presence and/or the operation performed by the shelf-transport AGV 100 to other entities located proximate to the shelf-transport AGV 100 in the operating environment. For example, the indicator 120 may emit different light signals in different light colors depending on the operation currently performed by the shelf-transport AGV 100 (e.g., slowing down, speeding up, turning left, turning right, etc.), which embodiment may be advantageous because it enables the human workers and other AGVs located nearby to be aware of the shelf-transport AGV 100 and the operations performed by the shelf-transport AGV 100, especially in case the low-elevated and elongated body of the shelf-transport AGV 100, which may not be visible due to the shelving unit situated on the support surface 130 of the shelf-transport AGV 100.


Continuing the example depicted in FIGS. 4A-4K, in the stage 450 illustrated in FIG. 4F, the shelf-transport AGV 100 may transport the shelving unit 402a out of the second position at which the shelf-transport AGV 100 lifted the shelving unit 402a off the floor surface and situated the shelving unit 402a on its support surface 130. In the stage 455 illustrated in FIG. 4G, the shelf-transport AGV 100 may transport the shelving unit 402a situated on the support surface 130 to the target position of the shelving unit 402a.


In block 312, the guidance unit may determine that the shelf-transport AGV 100 reached the target position of the shelving unit. In some embodiments, the reader device 174 may detect a graphic marker on the floor surface. The guidance unit may map this graphic marker to the navigation path, determine that this graphic marker corresponds to the target position of the shelving unit, and thus determine that the shelf-transport AGV 100 reached the target position to which the shelving unit is transported. The drive unit may then stop the shelf-transport AGV 100 at the target position of the shelving unit.


In block 314, responsive to determining that the shelf-transport AGV 100 reached the target position of the shelving unit, the shelf-transport AGV 100 may lower the shelving unit from the elevated position to place the shelving unit at the target position of the shelving unit. In some embodiments, to lower the shelving unit, the lifting mechanism 132 may actuate its motors to lower the support surface 130 on which the shelving unit is situated from the elevated position to the position at which the shelving unit comes into contact with the floor surface (e.g., ground floor, vehicle floor, etc.). As a result, the shelving unit is placed on the floor surface at the target position of the shelving unit, and thus the transportation of the shelving unit to its target position is completed. In some embodiments, once the lifting mechanism 132 lowers the support surface 130 to the position at which the shelving unit comes into contact with the floor surface, the lifting mechanism 132 may further lower the support surface 130 to the position at which the clearance space between the bottom surface of the shelving unit and the shelf-transport AGV 100 satisfies a clearance threshold (e.g., more than 1 cm), which may allow the shelf-transport AGV 100 to safely relocate out of the space underneath the shelving unit.


Continuing the example depicted in FIGS. 4A-4K, in the stage 460 illustrated in FIG. 4H, as the shelf-transport AGV 100 reaches the target position of the shelving unit 402a, the shelf-transport AGV 100 may stop at the target position of the shelving unit 402a. In the stage 465 illustrated in FIG. 4I, the shelf-transport AGV 100 may lower the support surface 130 on which the shelving unit is situated to place the shelving unit 402a on the floor surface at the target position of the shelving unit 402a. In the stage 470 illustrated in FIG. 4J, after placing the shelving unit on the floor surface at its target position, the shelf-transport AGV 100 may relocate out of the space underneath the shelving unit 402a. In the stage 475 illustrated in FIG. 4K, the shelf-transport AGV 100 may relocate away from the target position of the shelving unit 402a as the transportation of the shelving unit 402a to its target position is completed.


In some embodiments, once the shelf-transport AGV 100 transports the shelving unit to the target position of the shelving unit, one or more other AGVs in the operating environment may relocate towards the shelving unit that is placed at its target position and unload one or more containers from the shelving unit. As depicted in the stage 470 illustrated in FIG. 4J and the stage 475 illustrated in FIG. 4K, a container-transport AGV 240 may relocate to a position proximate to the shelving unit 402a and transport the containers from the shelves of the shelving unit 402a, e.g., to the floor surface.


It should be understood that the shelf-transport AGV 100 can advantageously transport the shelving unit in any operating environment. For example, the shelf-transport AGV 100 may perform the method 300 described above with reference to FIG. 3 to transport a shelving unit from the initial position of the shelving unit in a delivery vehicle to the target position of the shelving unit in the storage facility. As discussed elsewhere herein, the shelf-transport AGV 100 may align itself to a shelving unit located in the delivery vehicle at a first position relative to the shelving unit, relocate from the first position to a second position underneath the bottom surface of the shelving unit, lift the shelving unit up using a first lifting force and a second lifting force provided via a first portion and a second portion of the support surface on which the shelving unit is situated, and transport the shelving situated on the support surface to the target position of the shelving unit in the storage facility. The shelf-transport AGV 100 may determine that the shelf-transport AGV 100 reached the target position of the shelving unit, and lower the support surface on which the shelving unit is situated to place the shelving unit at its target position in the storage facility. Thus, the shelf-transport AGV 100 may automatically unload the shelving unit from the delivery vehicle onto the floor surface of the storage facility. Other example scenarios are also possible and contemplated.


It should be noted that the components described herein may be further delineated or changed without departing from the techniques described herein. For example, the processes described throughout this disclosure may be performed by fewer, additional, or different components.


It should be understood that the methods described herein are provided by way of example, and that variations and combinations of these methods, as well as other methods, are contemplated. For example, in some implementations, at least a portion of one or more of the methods represent various segments of one or more larger methods and may be concatenated or various steps of these methods may be combined to produce other methods which are encompassed by the present disclosure. Additionally, it should be understood that various operations in the methods are iterative, and thus repeated as many times as necessary generate the results described herein. Further the ordering of the operations in the methods is provided by way of example and it should be understood that various operations may occur earlier and/or later in the method without departing from the scope thereof.


In the above description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. However, it should be understood that the technology described herein can be practiced without these specific details in various cases. Further, various systems, devices, and structures are shown in block diagram form in order to avoid obscuring the description. For instance, various implementations are described as having particular hardware, software, and user interfaces. However, the present disclosure applies to any type of computing device that can receive data and commands, and to any peripheral devices providing services.


In some instances, various implementations may be presented herein in terms of algorithms and symbolic representations of operations on data bits within a computer memory. An algorithm is here, and generally, conceived to be a self-consistent set of operations leading to a desired result. The operations are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.


It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussion, it is appreciated that throughout this disclosure, discussions utilizing terms such as “processing,” “computing,” “calculating,” “determining,” “displaying,” or the like, refer to the action and methods of a computer system that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.


A data processing system suitable for storing and/or executing program code, such as the computing system and/or devices discussed herein, may include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories that provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution. Input and/or output devices can be coupled to the system either directly or through intervening I/O controllers. The data processing system may include an apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer.


The foregoing description has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the specification to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the disclosure be limited not by this detailed description, but rather by the claims of this application. As will be understood by those familiar with the art, the specification may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. Likewise, the particular naming and division of the modules, routines, features, attributes, methodologies and other aspects may not be mandatory or significant, and the mechanisms that implement the specification or its features may have different names, divisions, and/or formats.


Furthermore, the modules, routines, features, attributes, methodologies and other aspects of the disclosure can be implemented as software, hardware, firmware, or any combination of the foregoing. The technology can also take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. Wherever a component, an example of which is a module or engine, of the specification is implemented as software, the component can be implemented as a standalone program, as part of a larger program, as a plurality of separate programs, as a statically or dynamically linked library, as a kernel loadable module, as firmware, as resident software, as microcode, as a device driver, and/or in every and any other way known now or in the future. Additionally, the disclosure is in no way limited to implementation in any specific programming language, or for any specific operating system or environment. Accordingly, the disclosure is intended to be illustrative, but not limiting, of the scope of the subject matter set forth in the following claims.

Claims
  • 1. An automated guided vehicle (AGV) comprising: a lift platform including: a support surface adapted to contact a surface of a shelving unit and provide support from underneath the shelving unit when the support surface is in an elevated position and the shelving unit is situated on the support surface; anda lifting mechanism including one or more motors coupled to the support surface and providing a first lifting force via a first portion of the support surface and a second lifting force via a second portion of the support surface, the first lifting force and the second lifting force vertically lifting or lowering the shelving unit via the support surface;one or more marker sensors adapted to detect one or more markers; andan AGV controller configured to control one or more operations of the AGV, the one or more operations including: detecting a first marker of the one or more markers on a floor proximate to the shelving unit;aligning a longitudinal dimension of the AGV with a longitudinal dimension of the shelving unit at a first position using the first marker;detecting a second marker of the one or more markers on the shelving unit; andadaptively relocating the AGV from the first position to a second position under the shelving unit using the second marker on the shelving unit.
  • 2. The AGV of claim 1, further comprising: a first sensor coupled to the first portion of the support surface and a second sensor coupled to the second portion of the support surface, the first sensor and the second sensor detecting a weight distribution of the shelving unit when the shelving unit is supported by the support surface.
  • 3. The AGV of claim 1, wherein: the surface of the shelving unit is a bottom surface of the shelving unit; andthe support surface is extended along at least a portion of the bottom surface of the shelving unit, the portion of the bottom surface of the shelving unit satisfying a length threshold associated with a length of the shelving unit.
  • 4. The AGV of claim 1, further comprising: a drive unit including one or more multi-directional wheels that are coupled to the lift platform and rotatable around two or more axes to move the AGV.
  • 5. The AGV of claim 4, wherein: the lift platform and the drive unit form a low-elevated and elongated body of the AGV; andlow-elevated indicates that the elongated body of the AGV has a height that satisfies a dimension threshold associated with a space underneath the surface of the shelving unit.
  • 6. The AGV of claim 1, further comprising: a guidance unit including the one or more marker sensors that detect the one or more markers in an operating environment to navigate the AGV in the operating environment.
  • 7. The AGV of claim 1, wherein the support surface is a flat surface.
  • 8. The AGV of claim 1, wherein the AGV controller executes one or more instructions that cause the AGV to: align the AGV to the shelving unit at the first position relative to the shelving unit;relocate the AGV from the first position to the second position underneath the surface of the shelving unit;lift the shelving unit using the first lifting force provided via the first portion of the support surface and the second lifting force provided via the second portion of the support surface; andtransport the shelving unit situated on the support surface to a target position.
  • 9. The AGV of claim 8, wherein aligning the AGV to the shelving unit includes detecting the first marker associated with the first position relative to the shelving unit, the first marker including a graphic marker.
  • 10. The AGV of claim 8, wherein relocating the AGV from the first position to the second position includes: determining the second position underneath the surface of the shelving unit at which a center point of the support surface of the lift platform is proximate to a center point of the surface of the shelving unit.
  • 11. The AGV of claim 8, wherein transporting the shelving unit includes: responsive to lifting the shelving unit, starting to move the AGV at an initial acceleration rate satisfying an acceleration rate threshold.
  • 12. The AGV of claim 8, wherein the one or more instructions, when executed by the AGV controller, cause the AGV to: determine that the AGV reached the target position; andresponsive to determining that the AGV reached the target position, lower the support surface on which the shelving unit is situated from the elevated position to place the shelving unit at the target position.
  • 13. The AGV of claim 1, wherein the support surface is adaptively adjustable to a slope of the surface of the shelving unit.
  • 14. A method comprising: detecting a first marker on a floor proximate to a shelving unit;aligning a length of an automated guided vehicle (AGV) to a length of the shelving unit at a first position relative to the shelving unit based on the first marker, the AGV including one or more marker sensors adapted to detect one or more markers, the one or more markers including the first marker;detecting a second marker of the one or more markers on the shelving unit;adaptively relocating the AGV from the first position to a second position underneath a surface of the shelving unit based on the second marker on the surface of the shelving unit, the one or more markers including the second marker;lifting the shelving unit using a lift platform of the AGV, the lift platform including a support surface coupled to a lifting mechanism, the lifting mechanism elevating the support surface to an elevated position to situate the shelving unit on the support surface, the lifting mechanism providing a first lifting force via a first portion of the support surface and a second lifting force via a second portion of the support surface, the first lifting force and the second lifting force vertically lifting the shelving unit on the support surface based on a weight distribution of the shelving unit on the support surface; andtransporting the shelving unit situated on the support surface to a target position in an operating environment.
  • 15. The method of claim 14, further comprising: detecting, using a first sensor coupled to the first portion of the support surface and a second sensor coupled to the second portion of the support surface, the weight distribution of the shelving unit when the shelving unit is supported by the support surface.
  • 16. The method of claim 14, further comprising: adjusting the support surface to a slope of the surface of the shelving unit.
  • 17. The method of claim 14, wherein: the surface of the shelving unit is a bottom surface of the shelving unit; andthe support surface supports the shelving unit from underneath the shelving unit when the shelving unit is situated on the support surface, the support surface extended along at least a portion of the bottom surface of the shelving unit and the portion of the bottom surface of the shelving unit satisfying a length threshold.
  • 18. The method of claim 14, wherein: the AGV includes a drive unit comprising one or more multi-directional wheels that are coupled to the lift platform and rotatable around two or more axes to move the AGV; andthe lift platform and the drive unit form a low-elevated and elongated body of the AGV, the low-elevated and elongated body of the AGV satisfying a dimension threshold associated with a space underneath the surface of the shelving unit.
  • 19. The method of claim 14, wherein: aligning the AGV to the shelving unit at the first position includes detecting the first marker associated with the first position relative to the shelving unit, the first marker including a graphic marker; andtransporting the shelving unit to the target position includes detecting one or more graphic markers in the operating environment to navigate the AGV to the target position.
  • 20. A method comprising: detecting a first marker on a floor proximate to a shelving unit;aligning a length of an automated guided vehicle (AGV) to a length of the shelving unit in a vehicle at a first position relative to the shelving unit based on the first marker, the AGV including one or more marker sensors adapted to detect one or more markers, the one or more markers including the first marker;detecting a second marker of the one or more markers on the shelving unit;adaptively relocating the AGV from the first position to a second position underneath a surface of the shelving unit based on the second marker on the surface of the shelving unit, the one or more markers including the second marker;lifting the shelving unit using a lift platform of the AGV, the lift platform including a support surface coupled to a lifting mechanism, the lifting mechanism elevating the support surface to an elevated position to situate the shelving unit on the support surface, the lifting mechanism providing a first lifting force via a first portion of the support surface and a second lifting force via a second portion of the support surface, the first lifting force and the second lifting force vertically lifting the shelving unit on the support surface based on a weight distribution of the shelving unit on the support surface;transporting the shelving unit situated on the support surface to a target position in a facility;determining that the AGV reached the target position; andresponsive to determining that the AGV reached the target position, lowering the support surface on which the shelving unit is situated from the elevated position to place the shelving unit at the target position in the facility.
US Referenced Citations (385)
Number Name Date Kind
3450276 Ferrari Jun 1969 A
3474877 Wesener Oct 1969 A
3628624 Wesener Dec 1971 A
3970840 De Bruine Jul 1976 A
4010409 Waites Mar 1977 A
4215759 Diaz Aug 1980 A
4258813 Rubel Mar 1981 A
4278142 Kono Jul 1981 A
4465155 Collins Aug 1984 A
4496274 Pipes Jan 1985 A
4524314 Walker Jun 1985 A
4530056 MacKinnon et al. Jul 1985 A
4556940 Katoo et al. Dec 1985 A
4562635 Carter Jan 1986 A
4566032 Hirooka et al. Jan 1986 A
4593238 Yamamoto Jun 1986 A
4593239 Yamamoto Jun 1986 A
4652803 Kamejima et al. Mar 1987 A
4653002 Barry Mar 1987 A
4657463 Pipes Apr 1987 A
4678390 Bonneton et al. Jul 1987 A
4700302 Arakawa et al. Oct 1987 A
4711316 Katou et al. Dec 1987 A
4714399 Olson Dec 1987 A
4716530 Ogawa et al. Dec 1987 A
4727492 Reeve et al. Feb 1988 A
4742283 Bolger et al. May 1988 A
4751983 Leskovec et al. Jun 1988 A
4764078 Neri Aug 1988 A
4772832 Okazaki et al. Sep 1988 A
4773018 Lundstrom Sep 1988 A
4777601 Boegli Oct 1988 A
4780817 Lofgren Oct 1988 A
4790402 Field et al. Dec 1988 A
4802096 Hainsworth et al. Jan 1989 A
4811227 Wikstrom Mar 1989 A
4811229 Wilson Mar 1989 A
4817000 Eberhardt Mar 1989 A
4846297 Field et al. Jul 1989 A
4847769 Reeve Jul 1989 A
4847773 van Helsdingen et al. Jul 1989 A
4847774 Tomikawa et al. Jul 1989 A
4852677 Okazaki Aug 1989 A
4857912 Everett, Jr. et al. Aug 1989 A
4858132 Holmquist Aug 1989 A
4862047 Suzuki et al. Aug 1989 A
4863335 Herigstad et al. Sep 1989 A
4875172 Kanayama Oct 1989 A
4890233 Ando et al. Dec 1989 A
4918607 Wible Apr 1990 A
4924153 Toru et al. May 1990 A
4926544 Koyanagi et al. May 1990 A
4935871 Grohsmeyer Jun 1990 A
4939650 Nishikawa Jul 1990 A
4939651 Onishi Jul 1990 A
4942531 Hainsworth et al. Jul 1990 A
4947324 Kamimura et al. Aug 1990 A
4950118 Mueller et al. Aug 1990 A
4954962 Evans, Jr. et al. Sep 1990 A
4982329 Tabata et al. Jan 1991 A
4990841 Elder Feb 1991 A
4993507 Ohkura Feb 1991 A
4994970 Noji et al. Feb 1991 A
4996468 Field et al. Feb 1991 A
5000279 Kondo et al. Mar 1991 A
5002145 Wakaumi et al. Mar 1991 A
5005128 Robins et al. Apr 1991 A
5006988 Borenstein et al. Apr 1991 A
5020620 Field Jun 1991 A
5023790 Luke, Jr. Jun 1991 A
5040116 Evans, Jr. et al. Aug 1991 A
5052882 Blau et al. Oct 1991 A
5053969 Booth Oct 1991 A
5073749 Kanayama Dec 1991 A
5109940 Yardley May 1992 A
5111401 Everett, Jr. et al. May 1992 A
5125783 Kawasoe et al. Jun 1992 A
5134353 Kita et al. Jul 1992 A
5138560 Lanfer et al. Aug 1992 A
5154249 Yardley Oct 1992 A
5164648 Kita et al. Nov 1992 A
5170351 Nemoto et al. Dec 1992 A
5170352 McTamaney et al. Dec 1992 A
5179329 Nishikawa et al. Jan 1993 A
5187664 Yardley et al. Feb 1993 A
5191528 Yardley et al. Mar 1993 A
5192903 Kita et al. Mar 1993 A
5199524 Ivancic Apr 1993 A
5202832 Lisy Apr 1993 A
5211523 Andrada Galan et al. May 1993 A
5213176 Oroku May 1993 A
5216605 Yardley et al. Jun 1993 A
5239249 Ono Aug 1993 A
5249157 Taylor Sep 1993 A
5281901 Yardley et al. Jan 1994 A
5305217 Nakamura et al. Apr 1994 A
5341130 Yardley et al. Aug 1994 A
5387853 Ono Feb 1995 A
5488277 Nishikawa et al. Jan 1996 A
5510984 Markin et al. Apr 1996 A
5525884 Sugiura et al. Jun 1996 A
5545960 Ishikawa Aug 1996 A
5548512 Quraishi Aug 1996 A
5564890 Knudsen, Jr. Oct 1996 A
5568030 Nishikawa et al. Oct 1996 A
5650703 Yardley et al. Jul 1997 A
5669748 Knudsen, Jr. Sep 1997 A
5875408 Bendett et al. Feb 1999 A
5911767 Garibotto et al. Jun 1999 A
5923270 Sampo et al. Jul 1999 A
5961559 Shimbara et al. Oct 1999 A
6049745 Douglas et al. Apr 2000 A
6058339 Takiguchi et al. May 2000 A
6092010 Alofs et al. Jul 2000 A
6246930 Hori Jun 2001 B1
6256560 Kim et al. Jul 2001 B1
6345217 Zeitler et al. Feb 2002 B1
6370452 Pfister Apr 2002 B1
6377888 Olch Apr 2002 B1
6459966 Nakano et al. Oct 2002 B2
6477463 Hamilton Nov 2002 B2
6493614 Jung Dec 2002 B1
6602037 Winkler Aug 2003 B2
6615108 Peless et al. Sep 2003 B1
6629028 Paromtchik et al. Sep 2003 B2
6654647 Kal Nov 2003 B1
6721638 Zeitler Apr 2004 B2
6748292 Mountz Jun 2004 B2
6772062 Lasky et al. Aug 2004 B2
6882910 Jeong Apr 2005 B2
6885912 Peless et al. Apr 2005 B2
6895301 Mountz May 2005 B2
6904343 Kang Jun 2005 B2
6950722 Mountz Sep 2005 B2
6971464 Marino et al. Dec 2005 B2
7050891 Chen May 2006 B2
7110855 Leishman Sep 2006 B2
7155309 Peless et al. Dec 2006 B2
7305287 Park Dec 2007 B2
7333631 Roh et al. Feb 2008 B2
7349759 Peless et al. Mar 2008 B2
7402018 Mountz et al. Jul 2008 B2
7403120 Duron et al. Jul 2008 B2
7437226 Roh et al. Oct 2008 B2
7460016 Sorenson, Jr. et al. Dec 2008 B2
7505849 Saarikivi Mar 2009 B2
7548166 Roeder et al. Jun 2009 B2
7557714 Roeder et al. Jul 2009 B2
7609175 Porte et al. Oct 2009 B2
7613617 Williams et al. Nov 2009 B2
7616127 Sorenson, Jr. et al. Nov 2009 B2
7634332 Williams et al. Dec 2009 B2
7639142 Roeder et al. Dec 2009 B2
7648329 Chilson et al. Jan 2010 B2
7656296 Runyon et al. Feb 2010 B2
7681796 Cato et al. Mar 2010 B2
7689001 Kim et al. Mar 2010 B2
7693757 Zimmerman Apr 2010 B2
7765027 Hong et al. Jul 2010 B2
7826919 DAndrea et al. Nov 2010 B2
7835821 Roh et al. Nov 2010 B2
7840328 Baginski et al. Nov 2010 B2
7845560 Emanuel et al. Dec 2010 B2
7850413 Fontana Dec 2010 B2
7873469 DAndrea et al. Jan 2011 B2
7890228 Redmann, Jr. et al. Feb 2011 B2
7894932 Mountz et al. Feb 2011 B2
7894933 Mountz et al. Feb 2011 B2
7894939 Zini et al. Feb 2011 B2
7894951 Norris et al. Feb 2011 B2
7912574 Wurman et al. Mar 2011 B2
7912633 Dietsch et al. Mar 2011 B1
7920962 DAndrea et al. Apr 2011 B2
7925514 Williams et al. Apr 2011 B2
7953551 Park et al. May 2011 B2
7980808 Chilson et al. Jul 2011 B2
7991521 Stewart Aug 2011 B2
7996109 Zini et al. Aug 2011 B2
8010230 Zini et al. Aug 2011 B2
8020657 Allard et al. Sep 2011 B2
8031086 Thacher et al. Oct 2011 B2
8068978 DAndrea et al. Nov 2011 B2
8072309 Kraimer et al. Dec 2011 B2
8075243 Chilson et al. Dec 2011 B2
8146702 Schendel et al. Apr 2012 B2
8160728 Curtis Apr 2012 B2
8170711 DAndrea et al. May 2012 B2
8192137 Ross et al. Jun 2012 B2
8193903 Kraimer et al. Jun 2012 B2
8196835 Emanuel et al. Jun 2012 B2
8200423 Dietsch et al. Jun 2012 B2
8204624 Zini et al. Jun 2012 B2
8210791 Chilson et al. Jul 2012 B2
8220710 Hoffman et al. Jul 2012 B2
8229619 Roh et al. Jul 2012 B2
8239291 Hoffman et al. Aug 2012 B2
8265873 DAndrea et al. Sep 2012 B2
8269643 Chou Sep 2012 B2
8271132 Nielsen et al. Sep 2012 B2
8280546 DAndrea et al. Oct 2012 B2
8280547 DAndrea et al. Oct 2012 B2
8311902 Mountz et al. Nov 2012 B2
8369981 Dunsker et al. Feb 2013 B2
8381982 Kunzig et al. Feb 2013 B2
8406949 Kondo Mar 2013 B2
8412400 DAndrea et al. Apr 2013 B2
8417444 Smid et al. Apr 2013 B2
8418919 Beyda Apr 2013 B1
8433442 Friedman et al. Apr 2013 B2
8433469 Harvey et al. Apr 2013 B2
8444369 Watt et al. May 2013 B2
8452464 Castaneda et al. May 2013 B2
8457978 Williams et al. Jun 2013 B2
8473140 Norris et al. Jun 2013 B2
8483869 Wurman et al. Jul 2013 B2
8498734 Dunsker et al. Jul 2013 B2
8515612 Tanaka et al. Aug 2013 B2
8538692 Wurman et al. Sep 2013 B2
8571781 Bernstein et al. Oct 2013 B2
8577551 Siefring et al. Nov 2013 B2
8587455 Porte et al. Nov 2013 B2
8594834 Clark et al. Nov 2013 B1
8606392 Wurman et al. Dec 2013 B2
8626332 Dunsker et al. Jan 2014 B2
8626335 Wurman et al. Jan 2014 B2
8639382 Clark et al. Jan 2014 B1
8649899 Wurman et al. Feb 2014 B2
8653945 Baek et al. Feb 2014 B2
8670892 Yang Mar 2014 B2
8676426 Murphy Mar 2014 B1
8700502 Mountz et al. Apr 2014 B2
8718814 Clark et al. May 2014 B1
8725286 DAndrea et al. May 2014 B2
8725317 Elston et al. May 2014 B2
8725362 Elston et al. May 2014 B2
8725363 Elston et al. May 2014 B2
8731777 Castaneda et al. May 2014 B2
8751063 Bernstein et al. Jun 2014 B2
8751147 Colwell Jun 2014 B2
8755936 Friedman et al. Jun 2014 B2
8760276 Yamazato Jun 2014 B2
8761989 Murphy Jun 2014 B1
8788121 Klinger Jul 2014 B2
8798784 Clark et al. Aug 2014 B1
8798786 Wurman et al. Aug 2014 B2
8798840 Fong et al. Aug 2014 B2
8805573 Brunner et al. Aug 2014 B2
8805574 Stevens et al. Aug 2014 B2
8825257 Ozaki et al. Sep 2014 B2
8831984 Hoffman et al. Sep 2014 B2
8862397 Tsujimoto et al. Oct 2014 B2
8874300 Allard et al. Oct 2014 B2
8874360 Klinger et al. Oct 2014 B2
8880416 Williams et al. Nov 2014 B2
8886385 Takahashi et al. Nov 2014 B2
8892240 Vliet et al. Nov 2014 B1
8892241 Weiss Nov 2014 B2
8909368 DAndrea et al. Dec 2014 B2
8930133 Wurman et al. Jan 2015 B2
8948956 Takahashi et al. Feb 2015 B2
8954188 Sullivan et al. Feb 2015 B2
8965561 Jacobus et al. Feb 2015 B2
8965562 Wurman et al. Feb 2015 B1
8965578 Versteeg et al. Feb 2015 B2
8970363 Kraimer et al. Mar 2015 B2
8972045 Mountz et al. Mar 2015 B1
8983647 Dwarakanath et al. Mar 2015 B1
8988285 Smid et al. Mar 2015 B2
8989918 Sturm Mar 2015 B2
9002506 Agarwal et al. Apr 2015 B1
9002581 Castaneda et al. Apr 2015 B2
9008827 Dwarakanath et al. Apr 2015 B1
9008828 Worsley Apr 2015 B2
9008829 Worsley Apr 2015 B2
9008830 Worsley Apr 2015 B2
9009072 Mountz et al. Apr 2015 B2
9014902 Murphy Apr 2015 B1
9020679 Zini et al. Apr 2015 B2
9026301 Zini et al. May 2015 B2
9043016 Filippov et al. May 2015 B2
9046893 Douglas et al. Jun 2015 B2
9052714 Creasey et al. Jun 2015 B2
9056719 Tanahashi Jun 2015 B2
9067317 Wurman et al. Jun 2015 B1
9073736 Hussain et al. Jul 2015 B1
9082293 Wellman et al. Jul 2015 B2
9087314 Hoffman et al. Jul 2015 B2
9090214 Bernstein et al. Jul 2015 B2
9090400 Wurman et al. Jul 2015 B2
9098080 Norris et al. Aug 2015 B2
9110464 Holland et al. Aug 2015 B2
9111251 Brazeau Aug 2015 B1
9114838 Bernstein et al. Aug 2015 B2
9120621 Curlander et al. Sep 2015 B1
9120622 Elazary et al. Sep 2015 B1
9122276 Kraimer et al. Sep 2015 B2
9129250 Sestini et al. Sep 2015 B1
9134734 Lipkowski et al. Sep 2015 B2
9146559 Kuss et al. Sep 2015 B2
9147173 Jones et al. Sep 2015 B2
9150263 Bernstein et al. Oct 2015 B2
9152149 Palamarchuk et al. Oct 2015 B1
9185998 Dwarakanath et al. Nov 2015 B1
9188982 Thomson Nov 2015 B2
9193404 Bernstein et al. Nov 2015 B2
9202382 Klinger et al. Dec 2015 B2
9206023 Wong et al. Dec 2015 B2
9207673 Pulskamp et al. Dec 2015 B2
9207676 Wu et al. Dec 2015 B2
9211920 Bernstein et al. Dec 2015 B1
9213934 Versteeg et al. Dec 2015 B1
9216745 Beardsley et al. Dec 2015 B2
9218003 Fong et al. Dec 2015 B2
9218316 Bernstein et al. Dec 2015 B2
9242799 OBrien et al. Jan 2016 B1
9244463 Pfaff et al. Jan 2016 B2
9248973 Brazeau Feb 2016 B1
9260244 Cohn Feb 2016 B1
9266236 Clark et al. Feb 2016 B2
9268334 Vavrick Feb 2016 B1
9274526 Murai et al. Mar 2016 B2
9280153 Palamarchuk et al. Mar 2016 B1
9280157 Wurman et al. Mar 2016 B2
9290220 Bernstein et al. Mar 2016 B2
9304001 Park et al. Apr 2016 B2
9310802 Elkins et al. Apr 2016 B1
9317034 Hoffman et al. Apr 2016 B2
9329078 Mundhenke et al. May 2016 B1
9329599 Sun et al. May 2016 B1
9330373 Mountz et al. May 2016 B2
9341720 Garin et al. May 2016 B2
9342811 Mountz et al. May 2016 B2
9346619 OBrien et al. May 2016 B1
9346620 Brunner et al. May 2016 B2
9352745 Theobald May 2016 B1
9355065 Donahue May 2016 B2
9365348 Agarwal et al. Jun 2016 B1
9367827 Lively et al. Jun 2016 B1
9367831 Besehanic Jun 2016 B1
9371184 Dingle et al. Jun 2016 B1
9378482 Pikler et al. Jun 2016 B1
9389609 Mountz et al. Jul 2016 B1
9389612 Bernstein et al. Jul 2016 B2
9389614 Shani Jul 2016 B2
9394016 Bernstein et al. Jul 2016 B2
9395725 Bernstein et al. Jul 2016 B2
9404756 Fong et al. Aug 2016 B2
9405016 Yim Aug 2016 B2
9427874 Rublee Aug 2016 B1
9429940 Bernstein et al. Aug 2016 B2
9429944 Filippov et al. Aug 2016 B2
9436184 DAndrea et al. Sep 2016 B2
9440790 Mountz et al. Sep 2016 B2
9448560 DAndrea et al. Sep 2016 B2
9451020 Liu et al. Sep 2016 B2
9452883 Wurman et al. Sep 2016 B1
9457730 Bernstein et al. Oct 2016 B2
9823662 Mecklinger Nov 2017 B2
10328836 Purwin Jun 2019 B2
10589940 Yang Mar 2020 B2
10627829 Lin Apr 2020 B2
10628790 Aggarwal Apr 2020 B1
20060245893 Schottke Nov 2006 A1
20100300841 OBrien Dec 2010 A1
20120321423 MacKnight et al. Dec 2012 A1
20130058743 Rebstock Mar 2013 A1
20130302132 DAndrea Nov 2013 A1
20140124462 Yamashita May 2014 A1
20140247116 Davidson Sep 2014 A1
20150073589 Khodl et al. Mar 2015 A1
20150117995 DAndrea Apr 2015 A1
20150125252 Berzen Ratzel May 2015 A1
20150307278 Wickham et al. Oct 2015 A1
20160090283 Svensson Mar 2016 A1
20160176637 Ackerman et al. Jun 2016 A1
20160203543 Snow Jul 2016 A1
20160232477 Cortes et al. Aug 2016 A1
20160347545 Lindbo et al. Dec 2016 A1
20170043953 Battles et al. Feb 2017 A1
20170174431 Borders et al. Jun 2017 A1
20170182924 Lendo Jun 2017 A1
20180141752 Nakanishi May 2018 A1
20180208398 Haveman Jul 2018 A1
20190016573 D'Andrea Jan 2019 A1
20200103916 Tu Apr 2020 A1
Foreign Referenced Citations (92)
Number Date Country
1196712 Nov 1985 CA
1210367 Aug 1986 CA
1228142 Oct 1987 CA
1238103 Jun 1988 CA
1264490 Jan 1990 CA
1267866 Apr 1990 CA
1269740 May 1990 CA
1271544 Jul 1990 CA
1275721 Oct 1990 CA
1276264 Nov 1990 CA
2029773 May 1991 CA
1291725 Nov 1991 CA
2036104 Nov 1991 CA
2042133 Jan 1992 CA
2049578 Feb 1992 CA
2296837 Feb 1992 CA
2094833 Apr 1992 CA
1304043 Jun 1992 CA
2095442 Jun 1992 CA
1304820 Jul 1992 CA
1323084 Oct 1993 CA
2189853 Nov 1995 CA
2244668 Mar 1999 CA
2469652 Jun 2003 CA
2514523 Aug 2004 CA
2565553 Nov 2005 CA
2577346 Apr 2006 CA
2613180 Jan 2007 CA
2921584 Jan 2007 CA
2625885 Apr 2007 CA
2625895 Apr 2007 CA
2837477 Apr 2007 CA
2864027 Apr 2007 CA
2636233 Jul 2007 CA
2640769 Aug 2007 CA
2652114 Dec 2007 CA
2654258 Dec 2007 CA
2654260 Dec 2007 CA
2654263 Dec 2007 CA
2654295 Dec 2007 CA
2654336 Dec 2007 CA
2654471 Dec 2007 CA
2748398 Dec 2007 CA
2748407 Dec 2007 CA
2750043 Dec 2007 CA
2781624 Dec 2007 CA
2781857 Dec 2007 CA
2838044 Dec 2007 CA
2866664 Dec 2007 CA
2921134 Dec 2007 CA
2663578 Apr 2008 CA
2860745 Apr 2008 CA
2671955 Jul 2008 CA
2673025 Jul 2008 CA
2674241 Jul 2008 CA
2691710 Dec 2008 CA
2721345 Oct 2009 CA
2760127 Nov 2009 CA
2760225 Nov 2009 CA
2743706 Jun 2010 CA
2754626 Sep 2010 CA
2765565 Jan 2011 CA
2932535 Jan 2011 CA
2932537 Jan 2011 CA
2770139 Feb 2011 CA
2773963 Mar 2011 CA
2778111 May 2011 CA
2784874 Jul 2011 CA
2868578 Jul 2011 CA
2806852 Feb 2012 CA
2823715 Jul 2012 CA
2827281 Aug 2012 CA
2827735 Aug 2012 CA
2770715 Sep 2012 CA
2770918 Sep 2012 CA
2831832 Oct 2012 CA
2836933 Dec 2012 CA
2851774 Apr 2013 CA
2799871 Jun 2013 CA
2866708 Sep 2013 CA
2938894 Sep 2013 CA
2813874 Dec 2013 CA
2824189 Feb 2014 CA
2870381 Apr 2014 CA
2935223 Apr 2014 CA
2894546 Jun 2014 CA
2845229 Sep 2014 CA
2899553 Oct 2014 CA
2882452 Aug 2015 CA
2886121 Oct 2015 CA
2012154872 Nov 2012 WO
2016015000 Jan 2016 WO
Non-Patent Literature Citations (7)
Entry
US 7,460,017 B2, 12/2008, Roeder et al. (withdrawn)
US 9,050,932 B2, 06/2015, Bernstein et al. (withdrawn)
US 9,342,073 B2, 05/2016, Bernstein et al. (withdrawn)
Warehouse Robots at Work, IEEE Spectrum,. Jul. 21, 2008, YouTube https://www.youtube.com/watch?v=IWsMdN7HMuA.
International Search Report and Written Opinion, PCT/US2017/054627, dated Jan. 5, 2018 (15 pages).
International Search Report and Written Opinion, PCT/US2018/012645, dated Mar. 7, 2018 (13 pages).
International Search Report and Written Opinion, PCT/US2018/012641, dated Mar. 7, 2018 (17 pages).
Provisional Applications (1)
Number Date Country
62715755 Aug 2018 US