INTEROPERABLE ROBOTIC SYSTEM TO LOAD/UNLOAD TRUCKS AND OTHER CONTAINERS

A robotic system is disclosed comprising a communication interface and a processor coupled to the communication interface and configured to: receive via the communication interface an indication to establish a conveyance path to convey one or more items from a source location at an originating end of the conveyance path to a destination location at a terminating end of the conveyance path; determine programmatically a plan to arrange and configured one or more conveyance structures to provide the conveyance path; and invoke one or more robots to position, couple as needed, and configure as needed the one or more conveyance structures to provide the conveyance path.

BACKGROUND OF THE INVENTION

Robotic systems have been used to automate warehouse, shipping, and order fulfillment operations. Increasingly, robots work autonomously to perform tasks, such as to pick and place items in a box or other receptacle for shipment.

Typically, different mixes of installed, portable, and/or variable geometry equipment have been used in warehouses, distribution centers, etc. to load boxes or other items to or from trucks or other containers. For example, typically human workers load boxes or other items onto a chute or conveyor, and items are moved to or from a loading area, such as a loading dock, by one or more of gravity; electrical motor driven belts, wheels, or rollers; and manual pushing or pulling, such as by a human worker.

At the truck or container, typically human workers receive items via a conveyor or similar structure and load them into the truck or container, or human workers unload items manually from the truck and place them on a conveyor or similar structure to be moved into the warehouse and towards a downstream destination, such as a shelf or other storage location within the warehouse.

Often, a mix of dissimilar, manually placed, configured, and operated conveyance structures are used to move items to or from trucks or other containers.

DETAILED DESCRIPTION

An autonomous, integrated robotic system is disclosed to move items to and from and/or into and out of trucks or other containers for loading and unloading operations. In various embodiments, a system as disclosed herein incorporates a plurality of dissimilar conveyance structures, including without limitation one or more chutes, gravity-based roller conveyors, and/or other gravity-based conveyance structures; electrically driven conveyor belts or other powered conveyance structures; and variable length or other variable geometry conveyances structures, such as gravity based conveyance structures and compress or extend and/or conveyor belts that extend or retract, manually or under power, such as from a loading dock into a truck or other container.

In various embodiments, a robotic system as disclosed herein is configured to assemble and adjust one or more conveyance structures, as needed, to assemble an operable and continuous path from a source or items to a destination within a warehouse or similar facility, such as from a storage and/or staging area to a truck or other container for loading or from a truck or other container to a receiving area for unloading.

In some embodiments, a conveyance structure may be required to be positioned and configured manually, such as by moving the structure to a starting location and extending or otherwise positioning the ends and/or intermediate structures of the conveyance structure in desired positions, and configuring the ends and/or intermediate structures as needed to assemble the path, such as by adjusting the height to ensure items move along the conveyance as a result of the force of gravity and/or to align the end of one conveyance structure with the start of another.

In some embodiments, one or more conveyance structures may be movable and/or configurable under their own motive force. For example, an end or each end of the conveyance structure may be on wheels or treads or other mobile base. A robotic system as disclosed herein may determine a location and configuration for such a conveyance and control the conveyance to position and configure the conveyance.

In some embodiments, a robotic system as disclosed herein may use one or more mobile robots to pull or push or otherwise place a conveyance structure into position. A robot may be used to connect a terminal end of one conveyance structure to the beginning end of the next. A robot may be used to configure a conveyance structure, such as by adjusting the height at one end or both ends. For example, a robot may be equipped with a tool to insert into a receiver associated with mechanical adjustment of height and may rotate the receiver to raise or lower the height. Or a robot or remote robotic control computer may actuate a pneumatic or electrical mechanism of the conveyance structure that is provided and configured to raise and lower the height.

In various embodiments, a robotic system as disclosed herein includes a control computer configured to determine a need to move a set of items from a storage and/or staging location to a truck or other container, or vice versa, develop a plan to position and configure a set of one or more conveyance structures to move the items, and use robots and/or robotically controlled facilities of the conveyance structures to position and configure the conveyance structures, as needed, to assemble and configure the path between the storage/staging area(s) and the truck or other container.

FIG.1illustrates an embodiment of a robotic system and environment100. In the example shown, a box102to be loaded into a truck104starts its journey by being slid down a chute106to a belt type conveyor108having an extendable end110comprising gravity (or motor driven) rollers positioned between accordion-style extendable sides. The extendable end110of conveyor108has been positioned to be aligned with and at the same height as a receiving end of extendable and bendable gravity roller112, a far end of which is shown to have been extended into (or near) the opening of truck104. In the example shown, the box114has traveled the entire path (chute106, conveyor108and end110, and roller112) and is ready to be loaded into the truck104, e.g., by a human worker or a robot.

In the example shown inFIG.1, in various embodiments, one or more of the chute106, conveyor108, end110, and roller112may have been positioned and/or configured by control computer116. For example, control computer116may have operated robotically controlled capabilities of the chute106, conveyor108, end110, and roller112to positioned and/or configure them, such as by adjusting heights to facilitate the flow of items by gravity from the start end of rollers112to the destination end. In some embodiments, the control computer116may have operated one or more robots, such as mobile robot118in the example shown, to position and/or configure one or more of the chute106, conveyor108, end110, and roller112. In various embodiments, the control computer116uses images from cameras in the workspace, such as camera120, to locate, position, and configure conveyance structures, such as the chute106, conveyor108, end110, and roller112, and/or to load, unload, or move items along the path comprising the chute106, conveyor108, end110, and roller112.

FIGS.2A and2Billustrate an example of an extendable roller type conveyance structure, such as roller type conveyance112ofFIG.1. In the example shown, in upperFIG.2Aroller200is shown in an un-extended or compressed state, scissor type extendable sides204are in the compressed position and legs206are relatively near each other. Rollers or wheels202ride on transverse axles positioned between the sides204and in the state shown inFIG.2Aare nearly adjacent. To deploy the roller200, the right side may be pulled out while the left side remains stationary, as indicated by the arrow208. In this example, a handle or hitch210is provided, to facilitate a human worker, a robot, or another robotically controlled instrumentality to be used to extend the roller200, e.g., into the extended state shown inFIG.2B.

In some embodiments, the legs206on at least the ends of roller200may be equipped with manual, mechanical, electrical, and/or pneumatic structures to adjust the height of the associated end of roller200, e.g., to facilitate translation along the roller200by force of gravity. For example, one or more of the angle (if any) of the floor (i.e., difference in height between the wheels), the length to which the roller200has been extended, the (average/median/maximum/minimum) weight of items to be moved along the roller200, etc., may be taken into account to determine and adjust the height at one or both ends, in addition to the height of adjacent conveyance structures or other structures or instrumentalities.

FIGS.3A and3Billustrate an example of an extendable belt type conveyor300. In the upperFIG.3A, the conveyor300is shown in a retracted state (length L1), while inFIG.3Bthe conveyor300is shown in an extended state (length L2). The conveyor300includes a belt302driven by motor powered rollers or wheels302a,302b. A stationary base304houses nested extendable segments306,308, and310, which extend telescopically, as shown inFIG.3B, to extend the right end of conveyor300, as shown, e.g., into a truck or other container that has pulled up to and/or otherwise been positioned on or adjacent to a loading dock. \

In the retracted state shown inFIG.3A, for example, excess conveyor belt material is held in a spool312. As the conveyor300is extended, additional belt material is deployed from the spool312, as shown inFIG.3B.

In various embodiments, an extendable conveyor, such as conveyor300, may be operated under robotic control. For example, a control computer, such as control computer116ofFIG.1, may use image or other sensor data to determine that a truck has been positioned at a loading bay with which the conveyor300is associated, and may send a command or other signal to cause the conveyor300to extend, e.g., to the state shown inFIG.3B, to an extent such that the right end of the conveyor300is in or near the truck or other container.

In some embodiments, a conveyor such as conveyor300includes structures to adjust the height of one or both ends of the conveyor300, such as by raising or lower one or both ends of the base304or by adjusting the relative height and/or position of structures comprising and/or supporting belt302, e.g., to place one or both ends at a desired height.

FIGS.4A and4Bshow a side view of a conveyor402and a robotic truck loader comprising a mobile and/or repositionable base404, one or more robotic arms406, a suction or other end effector408, and integrated conveyor belt410, and one or more cameras412. In some embodiments, the robotic truck loader includes one or more of the structures and features disclosed and described in Appendix A.

In various embodiments, a control computer comprising and/or configured to control the robotic truck loader ofFIGS.4A and4Buses image data from camera412and/or other sensor data, user input, and/or context data to configure the robotic truck loader to load or unload, as appropriate, including by adjusting a tilt angle of the conveyor410to align the end of conveyor410that is adjacent to conveyor402at a height determined at least in part on the perceived height of the adjacent end of conveyor402. For example, to unload, the control computer may adjust the angle (and/or height) of conveyor410to the relative position shown inFIG.4A, so that items grasped from within the truck or other conveyor, e.g., using robotic arm406and end effector408, and placed on the conveyor410at the right end and then moved along the conveyor410to the left end will, upon exiting conveyor410slide onto the receiving end of conveyor402. Conversely, to load, the control computer may adjust the angle (and/or height) of conveyor410to the relative position shown inFIG.4B, so that items arriving via the conveyor402will slide onto the left end of conveyor410and can be conveyed by the conveyor410to the right end of conveyor410, as shown, enabling the robotic arm406and end effector408to be used to pick the item from the conveyor410and load it into the truck or other container.

In various embodiments, sensors other than or in addition to a camera, such as camera412, may be used to determine the absolute and/or relative positions of various conveyance structures, and/or to adjust the position and/or configuration as needed to assemble a desired end-to-end path. For example, RF tags and readers, GPS transponders and receivers, LIDAR or other sensing technologies may be used.

While in the example shown inFIGS.4A and4Ba robotic truck loader includes an integrated conveyor410that runs between two robotic arms and is mounted on the same mobile chassis as the robotic arms, in other embodiments there is no conveyor mounted on the chassis. Instead, the robotic truck loader is positioned in a truck or container to be loaded or unloaded and a conveyor or other conveyance structures in positioned between the robotic arms, enabling the robotic arms to pick items from and/or place items on the non-integrated conveyance structure.

FIG.4Cis a diagram illustrating an embodiment of a system configured to use one or more robots and/or robotically controlled instrumentalities to plan, assemble, and configure a conveyance path. In the example shown, a conveyance path420has been assembled, e.g., by one or more robots, comprising an extendable conveyor belt300of the type shown inFIGS.3A and3Bextended from a loading dock422into an adjacent truck (shown in dashed lines) and extending through and between the robotic arms of a robotic truck loader424comprising two robotic arms between which the conveyor300has been extended, enabling the truck loader424to place items directly on or pick items directly from the conveyor300. In the example shown, the conveyor300has been configured/positioned at least in part, e.g., by a robot, to tilt upward from the loading dock422at an angle such that a bottom of the conveyor300clears both the loading dock422and the truck bottom edge and extends through the robotic truck loader424at a height such that the conveyor300clears the mobile chassis of the robotic truck loader424and extends through and between the robotic arms of the robotic truck loader424. In various embodiments, the angle of the conveyor300required to clear all structures would be computed by a robot participating in configuring the conveyance path420and/or the conveyor300would be configured and/or positioned by one or more robots participating in configuring the conveyance path420.

FIG.5is a flow diagram illustrating an embodiment of a process to use one or more robots and/or robotically controlled instrumentalities to plan, assemble, and configure a conveyance path. In various embodiments, the process500ofFIG.5may be performed by one or more control computers, such as control computer116in the example shown inFIG.1. In the example shown, at502an indication is received to establish and configure a conveyance path. For example, an indication may be received that a truck or other container has been positioned or will at a specified or approximate future time be positioned at a specific unloading area, such as at a loading/unloading dock area. The information received at502may include and/or may be used to obtain one or more of information concerning the items to be loaded or unloaded; the order in which items will be loaded or unloaded; destinations to which items to be unloaded are to be provided, in the case of an operation to unload; source from which items to be loaded are to be obtained, in the case of an operation to load; etc.

At504, a plan is developed to provide the required conveyance path by obtaining, positioning, coupling, and otherwise configuring one or more conveyance structures, e.g., conveyance structures such as those shown inFIGS.1,2A,2B,3A,3B,4A and4B. The plan may include an identification of which (types of) conveyance structure(s) to use, in which order, and how each will be positioned, configured, and/or otherwise deployed to provide a continuous conveyance path, e.g., from a truck, container, pallet, or other source of items to an internal location within a warehouse or other logistics facility, in the case of an operation to unload, or from a source of items to a truck, container, palletization area, or other destination location, in the case of an operation to load, pack, or palletize, for example.

At506, one or more robots and/or robotically controlled instrumentalities is/are used to position and configure conveyance structure(s) according to the plan developed at504. For example, a mobile robot, such as robot118ofFIG.1, may be used to move a conveyance structure into position. In the case of an extending conveyance structure, such as conveyance structure112ofFIG.1and the example shown inFIGS.2A and2B, a robot may position a first end of the conveyance structure at a first location, locking the first end in place, such as by locking a set of wheels, affixing a connector structure to an anchor point or an adjacent conveyance structure, etc., and then pull the opposite end to a second location.

In various embodiments, conveyance structures may be deployed and/or configured in a variety of ways suitable for a given conveyance structure and/or the adjacent structures with which the conveyance structure will interoperate to provide the conveyance path. For example, the respective heights of the adjacent ends of a pair of conveyance structures may be adjusted to provide for the flow of items from a destination or egress end of a first conveyance structure to a source/ingress end of an adjacent conveyance structure. Bridges, connectors, and/or similar structures may be deployed, adjusted, and/or otherwise configured to provide a continuous path between the two conveyance structures.

In some embodiments, a conveyance structure may facilitate movement of items along a conveyance path, rather than comprising part of the path. For example, a robotically controlled conveyance structure may be used to push items along the conveyance path, as/if needed. Camera or other sensor information may be used to monitor the flow of items along the conveyance path. If an item is observed to not being moving along the conveyance path, or is not moving at an expected or desired rate, a robotically controlled conveyance structure may be used to push the item, with a computed degree of force, along the path. In another example, a conveyance structure may be used to gate items, e.g., to space them apart as the flow along the conveyance path, e.g., to not overload one or more robots and/or other workers or equipment handling items at the far end (or other downstream point) of the conveyance path.

In various embodiments, one or more tasks to position, connect, and/or configure one or more conveyance structures to provide a conveyance path may be assigned to one or more human workers. A human worker may be scheduled to perform a given task at a given time and/or upon completion of a task on which the task to be performed by the human worker depends. For example, a mobile robot may position an ingress end of a first conveyance structure adjacent to the egress end of a second conveyance structure, and a human worker may be used to connect the conveyance structures, such as by manually manipulating a coupling or other structure to connected them and/or by deploying a bridge or other connector between them. In another example, a human worker may be used to adjust the height of one or the other of the two conveyance structures, to facilitate the transfer of items between them. A human worker may be scheduled to perform a task or, in some embodiments, assistance from a human worker may be invoked as a need arises, e.g., a robot assigned to perform a task is not able to complete the task.

In various embodiments, the plan developed at504may include one or more events, triggers, or other contingencies, which must occur prior to a next set of tasks being performed. For example, the system may be configured to wait until it receives a notification, e.g., from a mobile robot, that a specific conveyance structure has been positioned before dispatching another robot and/or a human worker to perform a related task, such as connecting the conveyance structure to another structure or otherwise configuring the conveyance structure to operate. In some embodiments, the system may use cameras or other sensors (e.g., contact, force, pressure, electrical continuity) to detect that a prerequisite task on which another task is contingent has been completed. For example, computer vision may be used to detect that a conveyance structure has been placed in a position in which the conveyance structure is required to be to enable a subsequent task to be completed.

While in a number of examples described herein a mobile or other robot positions, connects, and/or configures a conveyance structure, in various embodiments a robotically controlled instrumentality comprising a conveyance structure may be used. For example, a conveyance structure may include an electromechanical mechanism to adjust the height of its egress and/or ingress end. Examples of an electromechanical mechanism to adjust the height include, without limitation, hydraulics, pneumatic actuators, jacks, motor operated cables or gears, and linear actuators, A mobile robot, human worker, or remote robotic application process may control the electromechanical mechanism to configure the conveyance structure.

In some embodiments, a mobile robot may operate a crank, level, knob, handle, or other physical control structure of a conveyance structure to adjust the height of the conveyance structure and/or to otherwise configure the conveyance structure to operate. In some embodiments, a mobile robot may grasp, insert, and use a tool to configure the conveyance structure, such as a tool on or near the conveyance structure or a tool carried by the mobile robot or integrated into an end effector of the mobile robot.

FIG.6is a flow diagram illustrating an embodiment of a process to assemble and configure a conveyance path. In various embodiments, the process600ofFIG.6may be performed by one or more control computers, such as control computer116in the example shown inFIG.1. In the example shown, at602, a conveyance structure comprising a segment of a conveyance path is positioned. At604, the conveyance structure positioned at602is coupled to/with one or more adjacent conveyance structures, as/if needed. At606, the conveyance structure is configured, as/if needed, to interoperate with one or more other conveyance structures to provide the conveyance path.

The process600is repeated for each conveyance structure comprising a conveyance path, until the entire conveyance path has been established. In various embodiments, a mobile robot and/or a robotic instrumentality comprising a conveyance structure may act, entirely or in part autonomously, to perform one or more of the steps of process600with respect to a given conveyance structure.

FIG.7is a flow diagram illustrating an embodiment of a process to disassemble a conveyance path. In various embodiments, the process700ofFIG.7may be performed by one or more control computers, such as control computer116in the example shown inFIG.1. In the example shown, at702, an indication is received that a conveyance path is no longer needed. For example, a truck or container that was loaded or unloaded may have become fully loaded or unloaded. At704, conveyance structures comprising the conveyance path are decoupled and/or de-configured, as/if required. For example, one or more mobile robots may be deployed to disconnect adjacent conveyance structures, stow bridges or other connecting structures, and restore conveyance structure mechanisms to default or stow settings, such as lowest or other default height. At706, conveyance structures are stowed, e.g., in a staging or storage area, and/or redeployed for use to provide other conveyance paths, if needed.

FIG.8is a flow diagram illustrating an embodiment of a process to learn to use and/or better use one or more robots and/or robotically controlled instrumentalities to plan, assemble, and configure a conveyance path. In various embodiments, the process800ofFIG.8may be performed by one or more control computers, such as control computer116in the example shown inFIG.1. In the example shown, at802, the planning (selection of conveyance structures and how to arrange, connect, and configured them), composition (e.g., which conveyance structures are used), positioning (how conveyance structures are positioned or arranged to form a path), coupling (how conveyance structures are connected), configuring (how conveyance structures are configured to provide a conveyance path), etc. are observed. For example, lists of conveyance structures and the order, positions, and orientations in which they are used may be received, or video or other image data showing the conveyance path being assembled and/or used may be received. At804, machine learning and/or artificial intelligence techniques are used to generate and/or update a model and/or otherwise learn how to (better) make and implement a plan to provide a conveyance path using one or more conveyance structures. Use of a conveyance path may be observed to discern how well a plan and its implementation supported successful completion of a set of tasks, such as unloading a truck or other container. In some embodiments, conveyance paths established by human workers may be observed, enabling a robotic system as disclosed herein to learn to generate and implement a plan to select, arrange, position, connect, configure, and/or operate one or more conveyance structures to provide a conveyance path as disclosed herein.

In various embodiments, the machine learning model or other representation or repository of learn knowledge may be used by a robotic system as disclosed herein to generate and implement, with full or maximal autonomy, a plan to select, arrange, position, connect, configure, and/or operate one or more conveyance structures to provide a conveyance path in a given context for a given set of inputs, such as the loading dock at which a truck will be parked, the nature, number, size, weight, fragility, etc. of the contents to be unloaded, and the destination(s) to which the contents are to be provided, etc.

In some embodiments, such as to unload a truck or other container, a conveyance path as disclosed herein may include at the truck/container and one or more robot loaders/unloaders, such as those shown inFIGS.4A and4B. In some embodiments, a robotic loader/unloader may be deployed under its own power, such as by driving itself on a robotically controlled power chassis into the truck or container to be loaded/unloaded. Other elements comprising the conveyance path, such as extender-type conveyances, may next be deployed or extended to a position adjacent to the robotic loader/unloader, and so on, until a continuous path from/to the truck or other container to/from an opposite end of the conveyance path has been established.

In some embodiments, a system as disclosed herein may be configured to use one or more test loads of known size, weight, etc. to test the operation of a conveyance path created as described herein. For example, in the truck unloading context, a test item may be placed on the conveyance path at the truck end and sent to the far end of the path, to ensure a smooth and continuous pathway has been provided. If not, a robotic system as disclosed herein may deploy one or more mobile robots to make adjustments or address failures, and/or may invoke the assistance of one or more human workers if adjustments/corrections cannot be made fully autonomously.

While in some embodiments a fully automated and autonomous robotic system is used to position and configure a conveyance path for truck or other container loading and unloading, in various embodiments the efforts of human workers may be incorporated. For example, humans may position manually movable conveyance structures, may connect one structure to another, may adjust the height of structures to align them, etc.

In various embodiments, techniques disclosed herein may be used to provide an interoperable, integrated, and in some embodiments fully automated system to position and configure conveyance structures to move boxes or other items between locations within a warehouse, distribution, or similar facility, such as from storage or staging locations to a truck or other container, or from a truck or other container to storage or staging locations.