Modern inventory systems, such as those in container yards, warehouses, superstores, mail-order, e-commerce warehouses and larger manufacturing facilities, use dedicated crane and gantry storage. Such environments also utilize retrieval systems that require dedicated space and large capital investment or vertical pallet or container stacking served by manually driven fork or container hauling trucks. The former provides fast, accurate responses to requests for load, unloading and inventory of items in transit but is a large integrated capital and space investment. On the other hand, manually driven container vertical lift truck based storage systems or yards can cause delays and backlogs in the process of responding to load, unload and inventory requests, and furthermore require drivers and loaders and their salaries, benefits, and management burden.
Historically, most loading, unloading and inventory systems are based around vertical storage stacking using pallets or other standardized containers. This arrangement offers a compromise between easy access and three-dimensional storage to reduce area footprint. This type of storage is accessed by forklifts and container handlers of various configurations. The typical way this type of three-dimensional storage is automated is through gantry style S&R or crane units that provide three-dimensional access to the pallet storage locations along a fixed set of travels (i.e., row selection, perhaps through an automated conveyor; column selection with a pallet transport device moving along a preplaced rail, and vertical pallet/container retrieval or storage along an elevator lift mechanism).
The type of automation just described is expensive, requires rework of the entire storage/retrieval space, and is an all or nothing proposition—one cannot practically partially automate a space—it either is automated or remains manually retrieved with forklifts or container handlers.
The invention disclosed in our prior U.S. Pat. No. 8,965,561, Jacobus et al. describes an approach that assumes use of conventional forklifts and similar container transport platforms, some of which may be equipped with automation enabling them to operate safely along with manually drive lifts into and out of the warehouse. The '561 Patent discloses manual systems enhanced with automation to support more productive automated load acquisition and placement, as well as to improve operator safety by cueing proximal obstacles to the operator in real time.
The '561 Patent, further describes pallet engagement and disengagement as beginning with inventory requests; i.e., requests to place palletized material into storage at a specified lot location or requests to retrieve palletized material from a specified lot. These requests are resolved into missions for autonomous fork trucks, equivalent mobile platforms, or manual fork truck drivers (and their equipment) that are autonomously or manually executed to effect the request. Automated trucks plan their own movements to execute the mission over the warehouse aisles or roadways, sharing this space with manually driven trucks. Automated units drive to planned speed limits, manage their loads (stability control), stop, go, and merge at intersections according human driving rules. The automated units also use on-board sensors to identify static and dynamic obstacles and people and either avoid them or stop until potential collision risk is removed. Safety enhance manual trucks use the same sensors to provide the operator with collision alerts and optionally automate load localization and acquisition behaviors for productivity enhancement.
Automated or partially automated trucks have the ability to execute task specific behaviors as they progress along the mission, including visiting palletizing/depalletizing, refueling, based upon locations in the order defined by the mission. The vehicles have the ability to drive into or through tight openings using sensor-based driving guidance algorithms, and perform pallet finding and engagement and disengagement onto pallet stacks and into shelving units. Load control automated trucks also can identify pallet locations and pallet identification codes by standard commercial means including but not limited to RFID, barcode, UID, optical characters on printed labels through computer vision/camera, and RF code readers. Each automated truck can be placed into manual drive mode at anytime, and along with unmodified manual fork trucks can be driven over the shared space concurrently used by automated trucks. The automated lift can sense pallets or load positions to control the loading and unloading (or stacking/unstacking) operation, can read pallet identifications (barcodes, RFID, printed labels), can identify moving and fixed obstacles, and can plan from-to paths through using data in the warehouse map.
Manually driven trucks can also be enhanced to include obstacle proximity sensing systems that, instead of directly changing the truck path behavior, alert the operator as to presence or unsafe proximity to the obstacle, indicating a collision risk and even partial automation that might change the trucks speed or cause it to initiate automated braking. Similarly, partial or complete automation of the load acquisition or placement function of a manual truck can be included that operate as indicated for fully automated trucks in the previous paragraph to support more automated and efficient load pick-up and placement operations.
The actual load pick-up and placement operations (palletizing and depalletizing) are described as utilizing two front mounted laser sensors are shown in FIG. 1 (FIG. 6 in U.S. Pat. No. 8,965,561). One sensor is mounted on the mast near the floor (34). This unit can be scanned up and down at a small angle by tilting the mast forward and reverse (35). This sensor is primarily tasked with detecting forward driving obstacles, but can also be used to find pallets and pallet stacks. A second sensor is fixed to the fork elevator (36) and sweeps a half cylindrical area (37) as the lift moves up and down the mast. This sensor is tasked primarily for detecting pallet fork openings and the top pallet in a pallet stack, but it too can aid system in sensing obstacles when driving forward. It is noted that between these two sensors the automated truck has almost 100% unobstructed obstacle visibility and is thus, far superior to a human driver's visibility because he/she has to sight through the front forks.
FIG. 2 shows placement of several video based sensors used to find and read a pallet identifier. The top camera (39) images the entire side of the pallet (40) and uses image processing to identify the gross placement of the bar code, UID, Character notations (OCR) or other identification markers. Then the two smaller field cameras (41) are used to hone in and read the code identifier at sufficient resolution to achieve reliable code deciphering. Alternatively, or in addition, these sensors could include a short range RFID reader or any alternative pallet identification method. An advantage of using cameras is that they can also be used to place roadway or path segment signage up in the warehouse.
FIG. 3 shows a two-dimensional type of barcode (42) that is in the public domain [Artool Kit, 2012] that can code both content data (the internal bit pattern codes the content) and location of the lift truck relative to the sign placement location. For this code a camera (43) and simple image processing algorithm finds the black square frame, resolving the location of its corners. It then reads the internal bit pattern adjusted for perspective skew. If the deciphered code is “correct”, i.e. can be validated as having been assigned to a known location, its location when added to the offset from the code to the lift truck provides the truck automation controller an exact fix within the warehouse area. These codes could also be placed on the floor as easily as anywhere other known location in the warehouse.
In FIG. 4, summarizing automated truck functions, pallet engagement (73) and disengagement (74) as described use range data sets, but in an engagement task specific manner. Pallet engagement is performed in three steps. First the lift truck approaches the approximate position of the pallet stack provided to it as the source or destination location (with orientation) defined by the system controller and provided to the truck in the mission definition. In the second step the truck stops and evaluates its local obstacle map (FIG. 10) for the nearest pallet stack at or beyond its stop position, which it then aligns to. In the third step, the truck uses its mast-controls-by-wire (75) and sensors to:                1. Scan and capture the pallet stack from bottom to top (or to a predefined maximum height)        2. Determine the precision position of the pallet stack face        3. Move the forks to the correct position for stack approachment (for picking a pallet this is alignment with the fork holes of the topmost pallet; for placing a pallet this is alignment to the space just above the topmost pallet)        4. If a pick operation, it optionally uses the wide area camera (39) to find the pallet identification barcode and one of the narrow angle cameras (41) to identify the pallet by reading its pallet identifier. If placing a pallet, lot identification is done on any pallet that is down from the topmost pallet in the stack. Alternative means of identification can be use with or instead of these methods, including RFID, etc.        5. Upon pallet or lot identification, the lift moves forward to align the payload pallet to the stack (or to insert the forks into the topmost pallet holes)        6. To engage, the lift truck lifts the topmost pallet up and pulls back away from the stack; to disengage, it lowers the forks until the pallet rests on the top of the stack and then the lift slightly lifts up and pulls back away from the stack.        7. It then lowers it forks to the predetermined safe travel level above the floor, plans its next movement, and executes the plan, to take the lift and its payload to the next destination (or back to the source location).