The present disclosure relates generally to object handling, and more particularly, to an apparatus for handling objects in a storage facility.
Modern storage facilities handle a large number of inventory items on a daily basis. Examples of such inventory items may include groceries, apparels, or the like. The storage facilities typically store the inventory items on shelves of storage units, and utilize mobile robots to transport the inventory items or the storage units between various locations in the storage facilities for order fulfilment and/or inventory management. For example, for fulfilment of an order, the mobile robots may transport one or more storage units storing the corresponding inventory items to an operation station in the storage facility. At the operation station, an operator may handle (i.e., pick and put-down) the inventory items for the order fulfilment. Such systems, however, rely on manual intervention of the operators which is time-consuming. Further, manual operationality has limited applicability in a large-scale facility that aims to fulfil a large number of orders within a short duration of time.
Robotic manipulators are widely deployed in the storage facilities to solve the aforementioned problem and to ensure efficient management of the inventory items. However, the robotic manipulators exhibit certain performance drawbacks. For example, when existing end effectors of such robotic manipulators are utilized to handle objects, the robotic manipulators fail to maintain a form factor of the object. Such change in an existing form factor may affect a quality of the object and a storage design of the object. The change in the form factor of the object may also modify an appearance of the object as well as a storage plan of the storage facility. Robotic picking technologies are thus unable to handle such objects while maintaining original form factors of the object (i.e., a form factor in which the object was stored originally) and the rest of the stack.
In light of the foregoing, there exists a need for a reliable solution that prevents deformation of the object when being handled by a robotic manipulator at storage facilities.
Limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of described systems with some aspects of the present disclosure, as set forth in the remainder of the present application and with reference to the drawings.
Robotic manipulators and systems for handling objects is provided substantially as shown in, and described in connection with, at least one of the figures and claims. The robotic manipulator includes a first robotic arm and a first end effector coupled to the first robotic arm. A movement of the first robotic arm orients the first end effector with respect to the object for handling of the object. The first end effector includes a housing, a first conveyor, a second conveyor, and a first actuation mechanism enclosed in the housing. The first conveyor is operably coupled to the housing. The second conveyor is operably coupled to the housing at an angle with respect to the first conveyor. The first conveyor and the second conveyor are arranged to form a spatula-shaped base. The first conveyor forms a top surface of the spatula-shaped base and the second conveyor forms a bottom surface of the spatula-shaped base. The first actuation mechanism is configured to operate the first conveyor and the second conveyor in one of a first direction and a second direction to manipulate the object. The operation of the first conveyor is independent of the operation of the second conveyor.
In an embodiment, a system for handling an object is provided. The system includes a robotic manipulator and a control server. The robotic manipulator includes a first robotic arm and a first end effector coupled to the first robotic arm. A movement of the first robotic arm orients the first end effector with respect to the object for handling of the object. The first end effector includes a housing, a first conveyor, a second conveyor, and a first actuation mechanism enclosed in the housing. The first conveyor is operably coupled to the housing. The second conveyor is operably coupled to the housing at an angle with respect to the first conveyor. The first conveyor and the second conveyor are arranged to form a spatula-shaped base. The first conveyor forms a top surface of the spatula-shaped base and the second conveyor forms a bottom surface of the spatula-shaped base. The first actuation mechanism, enclosed in the housing, operates the first conveyor and the second conveyor in one of a first direction and a second direction to manipulate the object. The operation of the first conveyor is independent of the operation of the second conveyor. The control server is configured to detect the object to handled. The control server is further configured to determine a sequence of a plurality of actions to be performed by the robotic manipulator for handling the object. The control server is further configured to control, based on the determined sequence of the plurality of actions, the first robotic arm to orient the first end effector with respect to the object. The control server is further configured to control, based on the determined sequence of the plurality of actions, the first actuation mechanism to operate the first conveyor and the second conveyor in the first direction or the second direction to handle the object.
In an embodiment, the robotic manipulator further includes a second robotic arm and a second end effector coupled to the second robotic arm, wherein the second robotic arm and the second end effector assist the first end effector to handle the object.
In another embodiment, the object is placed separately or included in a stack of a plurality of objects.
In an embodiment, the object is one of a deformable object and a non-deformable object.
In an embodiment, the first end effector includes a roller, coupled to the housing, that transitions between a gripping position and a release position based on the movement of the first conveyor in one of the first direction and the second direction.
In another embodiment, the first end effector includes a third actuation mechanism, enclosed in the housing, that controls the transition of the roller between the gripping position and the release position.
In an embodiment, the first end effector includes a flange that extends from the housing and coupled to the first robotic arm, whereby the first robotic arm rotates the first end effector along a defined number of degrees of freedom.
In another embodiment, the first actuation mechanism includes two or more motors configured to operate the first and second conveyors.
In an embodiment, the first actuation mechanism is configured to operate the first conveyor and the second conveyor at a first speed and a second speed, respectively.
In another embodiment, first ends of the first conveyor and the second conveyor are spaced apart by a threshold distance.
In another embodiment, the robotic manipulator further includes comprising one or more image sensors configured to capture one or more images, wherein the object to be handled is detected based on the one or more images.
In an embodiment, the system for handling the object further includes a database associated with the control server. The control server is further configured to store, upon successful handling of the object, the sequence of the plurality of actions in the database.
In another embodiment, the control server is further configured to determine the sequence of the plurality of actions based on historical data associated with the object. The historical data includes at least one of a set of physical attributes of the object and information associated with previous handling of the object. The set of physical attributes of the object includes at least one of a shape, a size, a weight, a set of dimensions, a count of folds, a depth information, of the object.
In another embodiment, the system for handling the object further includes a storage unit and a mobile robot. The storage unit has a plurality of shelves such that the object is arranged in a stack of a plurality of objects on a first shelf of the plurality of shelves. The mobile robot is configured to transport to the storage unit from a first location to a second location that is within an operational range of the robotic manipulator.
The accompanying drawings illustrate the various embodiments of systems, methods, and other aspects of the disclosure. It will be apparent to a person skilled in the art that the illustrated element boundaries (e.g., boxes, groups of boxes, or other shapes) in the figures represent one example of the boundaries. In some examples, one element may be designed as multiple elements, or multiple elements may be designed as one element. In some examples, an element shown as an internal component of one element may be implemented as an external component in another, and vice versa.
Various embodiments of the present disclosure are illustrated by way of example, and not limited by the appended figures, in which like references indicate similar elements:
Further areas of applicability of the present disclosure will become apparent from the detailed description provided hereinafter. It should be understood that the detailed description of exemplary embodiments is intended for illustration purposes only and is, therefore, not intended to necessarily limit the scope of the disclosure.
The present disclosure is best understood with reference to the detailed figures and description set forth herein. Various embodiments are discussed below with reference to the figures. However, those skilled in the art will readily appreciate that the detailed descriptions given herein with respect to the figures are simply for explanatory purposes as the methods and systems may extend beyond the described embodiments. In one example, the teachings presented and the needs of a particular application may yield multiple alternate and suitable approaches to implement the functionality of any detail described herein. Therefore, any approach may extend beyond the particular implementation choices in the following embodiments that are described and shown.
References to “an embodiment”, “another embodiment”, “yet another embodiment”, “one example”, “another example”, “yet another example”, “for example”, and so on, indicate that the embodiment(s) or example(s) so described may include a particular feature, structure, characteristic, property, element, or limitation, but that not every embodiment or example necessarily includes that particular feature, structure, characteristic, property, element or limitation. Furthermore, repeated use of the phrase “in an embodiment” does not necessarily refer to the same embodiment.
Certain embodiments of the disclosure may be found in disclosed robotic manipulators and systems for handling an object. Exemplary aspects of the disclosure provide robotic manipulator and system for handling an object.
The robotic manipulators and systems of the disclosure provide a solution for handling of objects within a storage facility. The disclosed robotic manipulators and systems allow for handling of the objects while preserving its corresponding form factor (i.e., a contour). The robotic manipulators disclosed herein allow for a precise handling of the objects without disturbing one or more objects present in its vicinity. The robotic manipulators disclosed herein are fast and require significantly less amount of time for handling of the objects. Hence, the robotic manipulators disclosed herein increases a throughput of the storage facility.
The storage facility 102 stores multiple inventory items for order fulfillment and/or selling of one or more inventory items stored in the storage facility 102. Examples of the storage facility 102 may include, but are not limited to, a forward warehouse, a backward warehouse, a manufacturing facility, an item sorting facility, or a retail store (e.g., a supermarket, an apparel store, or the like). The inventory items include objects such as apparels, sheets, cartons, or the like, and are stored in the storage area 104 of the storage facility 102. The storage area 104 may be of any shape, for example, a rectangular shape.
The storage area 104 includes a plurality of storage units (e.g., a storage unit 114) for storing the objects. Examples of the storage unit 114 may include, but are not limited to, multi-tier racks, pallet racks, portable mezzanine floors, vertical lift modules, horizontal carousels, or vertical carousels. In an embodiment, the storage unit 114 may correspond to mobile storage units that are movable from one location to another location in the storage facility 102. In such a scenario, the movement of the storage unit 114 may be enabled by mobile robots (e.g., the mobile robot 107) or any other mechanism known in the art.
The storage unit 114 includes various shelves, and each shelf may be empty or may store the objects separately or collectively in a stack. For example, the storage unit 114 includes first through seventh shelves 116a-116g that store various objects, and eighth and ninth shelves 116h and 116i that are empty. Hereinafter, the shelves 116a-116i of the storage unit 114 are referred to as “the shelves 116”. The shelves 116 may have different shapes, sizes, and dimensions. The storage facility 102 may be marked with various fiducial markers (not shown). Examples of the fiducial markers may include, but or not limited to, barcodes, quick response (QR) codes, radio frequency identification device (RFID) tags, or the like. The mobile robots may be configured to read the fiducial markers.
For the sake of brevity, the storage facility 102 is shown to include the storage unit 114. In other embodiments, the storage facility 102 may include a plurality of storage units having identical or different architecture.
The robotic manipulator 106 may include suitable logic, instructions, circuitry, interfaces, and/or code, executable by the circuitry, for executing various operations, such as handling objects. In an embodiment, the robotic manipulator 106 may be a dual-arm robotic manipulator that handles objects stored separately or arranged in stacks. The robotic manipulator 106 may be configured to execute different object handling operations, such as, pick, hold, grab, transfer, sort, put away, adjust alignment, or reverse put inventory items. For example, the object may be transported from an operation station (i.e., pick-and-put station, PPS) to a shelf of a storage unit. In another example, the object may be transported from a shelf of a storage unit to another shelf of the same storage unit, to a shelf of another storage unit, or to the operation station. The storage unit 114 is transported to a location that is within an operational range of the robotic manipulator 106 by the mobile robots. In one example, the robotic manipulator 106 may be deployed in a vicinity of the operation station.
The robotic manipulator 106 includes first and second robotic arms 118 and 120, and a first end effector 122 (i.e., a spatula gripper) and a second end effector 124 coupled to the first and second robotic arms 118 and 120, respectively. The first end effector 122 may further include a flange (shown in
The first end effector 122 may include a housing, a first conveyor (shown in
The second end effector 124 may be configured to grip the object to enable the handling of the object by the first end effector 122. In an embodiment, the second end effector 124 may include a vacuum gripper (shown in
For facilitating the handling of the objects, the robotic manipulator 106 may execute a pick operation on the object, followed by a put-down operation. The pick operation corresponds to gripping and partially lifting the object by way of the second end effector 124, and holding and lifting the partially lifted object in entirety by way of the first end effector 122. The put-down operation corresponds to placing the lifted object at a destination location.
In an embodiment, the robotic manipulator 106 may further include a plurality of image sensors configured to capture one or more images of a vicinity of the robotic manipulator 106 such that the object that is to be handled is detected based on the one or more images. The robotic manipulator 106 may further include a plurality of position sensors configured to detect real-time positions of the first and second robotic arms 118 and 120.
The robotic manipulator 106 may receive various commands from the control server 108 for handling the object, and under control of the received commands, the robotic manipulator 106 may execute the handling of the object. For example, the robotic manipulator 106 may receive various commands from the control server 108 to place an object, arranged in a stack at the platform of the operation station, on a shelf. Under the control of the received commands, the robotic manipulator 106 may pick the object from the stack, and put down the picked object on the shelf. Various components of the robotic manipulator 106 are explained in detail in conjunction with
The mobile robot 107 is a robotic device (for example, an autonomous mobile robot (AMR), an autonomous guided vehicle (AGV), or a combination thereof) in the storage facility 102. The mobile robot 107 may include suitable logic, instructions, circuitry, interfaces, and/or codes, executable by the circuitry, for automatically transporting payloads (e.g., the storage unit 114) in the storage facility 102 based on commands received from the control server 108. For example, the mobile robot 107 may carry and transport the storage unit 114 from the storage area 104 to the operation station. The mobile robot 107 may include various sensors (e.g., image sensors, RFID sensors, and/or the like) for determining a relative position thereof within the storage facility 102 and/or identifying the storage unit 114.
In some embodiments, the mobile robot 107 may include different functional components, such as a lifting mechanism, an adaptive payload management system, and an autonomous guidance system, by use of which a payload (e.g., a storage unit or an inventory palette) may be moved through different locations in the storage facility 102. The mobile robot 107 may be equipped with suitable components to enable a multi-floor transfer of goods, for example, the mobile robot 107 may move within different floors and fulfil the requirements of the control server 108 by picking different storage units from one floor and transferring it to the operation stations. In addition, the mobile robot 107 may be configured to adapt to different functional parameters, e.g., payload weight, transfer path, cycle time, or the like, in accordance with seamlessly changing of inventory profiles, demand patterns, and order peaks. The storage facility 102 may include multiple mobile robots that may be functionally same or different from each other, with possible variations in payload capacity (in pounds (lbs) or kilograms (Kgs)). For the sake of brevity, the storage facility 102 is shown to include one mobile robot 107. It will be apparent to those of skill in the art that the storage facility 102 may engage any number of transport vehicles without deviating from the scope of the disclosure.
The control server 108 may be a network of computers, a software framework, or a combination thereof, that may provide a generalized approach to create a server implementation. Examples of the control server 108 may include, but are not limited to, personal computers, laptops, mini-computers, mainframe computers, any non-transient and tangible machine that can execute a machine-readable code, cloud-based servers, distributed server networks, or a network of computer systems. The control server 108 may be realized through various web-based technologies such as, but not limited to, a Java web-framework, a .NET framework, a personal home page (PHP) framework, or any other web-application framework.
In some embodiments, the control server 108 is a physical or cloud data processing system on which a server program runs. The control server 108 may be implemented in hardware or software, or a combination thereof. In one embodiment, the control server 108 may be implemented in computer programs executing on programmable computers, such as personal computers, laptops, or a network of computer systems.
The control server 108 may be configured to implement a goods-to-person (GTP) setup in the storage facility 102, where the storage unit 114 storing different inventory items are picked up from the storage area 104 and transported to the operation station. The control server 108 may be further configured to control execution of different operations associated with replenishment of the storage unit 114, an order sorting operation, palletization and/or de-palletization of inventory items, or the like. The control server 108 may be further configured to determine a sequence of a plurality of actions to be performed by the robotic manipulator 106 for handling the object while performing one or more operations for one of the order fulfillment, the inventory management, or the like. The control server 108 may be maintained by a warehouse management authority or a third-party entity that facilitates inventory management operations for the storage facility 102. Various components of the control server 108 and their functionalities are described later in conjunction with
In one example, the control server 108 may receive, from a management server at the storage facility 102, a handling request for handling an object that is arranged in a stack. The handling request may be associated with an order fulfilment, an inventory management operation, or the like. The handling request may include a source location of the object, a destination location of the object, fiducial markers of shelves associated with the source and/or destination locations, a unique identifier of the object, or the like. In various other embodiments, the functionalities of the management server may be integrated into the control server 108, without deviating from the scope of the disclosure. In such a scenario, the source and destination locations, the fiducial markers, the unique identifier, or the like, the object to be handled are identified by the control server 108 for the order fulfilment, the inventory management operation, or the like. The control server 108 may communicate the source and destination locations to the robotic manipulator 106.
The database 110 may include suitable logic, instructions, circuitry, interfaces, and/or code to store historical data and a set of commands corresponding to each action in the sequence of actions planned by the control server 108. Examples of the database 110 may include a random-access memory (RAM), a read-only memory (ROM), a removable storage drive, a hard disk drive (HDD), a flash memory, a solid-state memory, and the like. In one embodiment, the database 110 may be realized through various database technologies such as, but not limited to, Microsoft® SQL, Oracle®, IBM DB2®, Microsoft Access®, PostgreSQL®, MySQL® and SQLite®. It will be apparent to a person skilled in the art that the scope of the disclosure is not limited to realizing the database 110 in form of an external database or a cloud storage working in conjunction with the control server 108, as described herein. In other embodiments, the database 110 may be realized in the control server 108, without departing from the scope of the disclosure.
The communication network 112 is a medium (for example, multiple network ports and communication channels) through which content and messages are transmitted between the robotic manipulator 106 and the control server 108. Examples of the communication network 112 may include, but are not limited to, a Wi-Fi network, a light fidelity (Li-Fi) network, a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a satellite network, the Internet, a fiber optic network, a coaxial cable network, an infrared (IR) network, a radio frequency (RF) network, and combinations thereof. Various entities in the environment 100 may connect to the communication network 112 in accordance with various wired and wireless communication protocols, such as Transmission Control Protocol and Internet Protocol (TCP/IP), User Datagram Protocol (UDP), Long Term Evolution (LTE) communication protocols, Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), Simple Mail Transfer Protocol (SMTP), Domain Network System (DNS), Common Management Interface Protocol (CMIP), or any combination thereof.
In operation, the control server 108 may receive a handling request. Based on the received handling request, the control server 108 is configured to detect an object that is to be handled. The handling of the object may include picking the object from a first location (for example, top of a first stack) and putting the object at a second location (for example, top of a second stack). The control server 108 may detect the object based on one or more image captured by the plurality of image sensors of the robotic manipulator 106. In an embodiment, the plurality of image sensors may be external to the robotic manipulator 106. The control server 108, based on the detection of the object, may determine a sequence of a plurality of actions to be performed by the robotic manipulator 106 for handling the object. The control server 108 is further configured to communicate the determined sequence of the plurality of actions to the robotic manipulator 106. Based on the received sequence of the plurality of actions, the third actuation mechanism is configured to operate the second end effector 124 to orient the second end effector 124 with respect to the object. The orientation of the second end effector 124 allows the vacuum gripper of the second end effector 124 to grip the object at a gripping end of the object. Upon gripping the object at the gripping end, the second end effector 124 is configured to lift the gripping end of the object to a predetermined height (for example, 1 centimeter, 2 centimeters, or the like). Based on the gripping and lifting of the gripping end of the object, the first actuation mechanism is configured to operate the first end effector 122 to orient the first end effector 122 with respect to the object. The first end effector 122 then slides beneath a lifted surface of the gripping end of the object. Once the first end effector 122 is positioned beneath the lifted surface, the third actuation mechanism is configured to cause the vacuum gripper to release its grip on the gripping end of the object, as a result the lifted surface of the object comes in contact with the first end effector 122. Further, based on such orientation of the first end effector 122, the first actuation mechanism is configured to actuate (or operate) the first and second conveyors to move in a first direction. The first direction may be an anti-clockwise direction of movement of the first and second conveyor. Such movement of the first conveyor allows the object to slide on the top of the spatula-shaped base. Further, movement of the second conveyor in the first direction pushes another object that is placed beneath the object being handled in an opposite direction, and hence prevents the other object from falling or losing a form factor thereof. In an embodiment, the first actuation mechanism may selectively operate the first conveyor at the first speed and the second conveyor at the second speed such that the second speed is less than the first speed.
Thus,
The first and second robotic arms 118 and 120 may include actuators that enable movement of the first and second robotic arms 118 and 120, along a defined number of degrees of freedom, such as six degrees of freedom. The first end effector 122 and the second end effector 124 are tools, assemblies, or apparatus that may be coupled to arm portions at free ends of the first and second robotic arms 118 and 120, respectively. The first end effector 122 and the second end effector 124 may be operated by way of the first actuation mechanism and the third actuation mechanism, respectively.
In one embodiment, the second end effector 124 includes the vacuum gripper that includes a support arm 214 and a suction cup 216 connected to the support arm 214. The suction cup 216 generates vacuum pressure to grip the gripping end of the object to be handled, and the support arm 214 provides support to the suction cup 216. Further, the first end effector 122 acts as the spatula gripper for easy picking and lifting of the object. Various components of the first end effector 122 are explained in detail in conjunction with
The robotic manipulator 106 may further include a movement controller that is connected to the control server 108 for receiving various commands corresponding to various actions that are to be performed by the robotic manipulator 106. The movement of the first and second carriages 206 and 208, the first and second robotic arms 118 and 120, the first end effector 122, the second end effector 124 may be controlled by the movement controller such that the first and second robotic arms 118 and 120 and the first end effector 122 and the second end effector 124 do not collide with each other.
In an embodiment, the robotic manipulator 106 includes a power storage (not shown) configured to store power for one or more operations thereof. Examples of the power storage may include, but are not limited to, a battery, a supercapacitor, or the like.
In another embodiment, the robotic manipulator 106 may include a plurality of wheels, or any other means of movement that enables the robotic manipulator 106 to move from a first location to a second location, within the storage facility 102.
It will be apparent to a person skilled in the art that the robotic manipulator 106 shown in
The first end effector 122 includes the first conveyor (hereinafter, “the first conveyor” is referred to and designated as “the first conveyor 306”), the second conveyor (hereinafter, “the second conveyor” is referred to and designated as “the second conveyor 308”), a gripper arm 310, the roller (hereinafter, “the roller” is referred to and designated as “the first roller 312”) attached to the gripper arm 310, and the plurality of image sensors depicted as a first optical sensor 314a and a second optical sensor 314b. The first conveyor 306 and the second conveyor 308 are operatively attached to the housing 300. The first conveyor 306 and the second conveyor 308 are disposed at an angle 307 (i.e., acute angle) between each other to form the spatula-shaped base. The first conveyor 306 forms the top surface of the spatula-shaped base of the first end effector 122. The second conveyor 308 forms the bottom surface of the spatula shaped base of the first end effector 122. The first conveyor 306 includes a conveyor belt that is driven on second and third rollers (shown in
The second and fourth rollers may be coupled to first and second motors (not shown), respectively. The second and fourth rollers may be engaged with the first and second motors to actively rotate the conveyor belts of the first and second conveyors 306 and 308. In one embodiment, the first and second side casings 304a and 304b may house the first and second motors, respectively. In another embodiment, the main casing 302 may house the first and second motors. In an embodiment, the first and second motors may be induction motors or electric motors. It is apparent to a person skilled in the art that the first and second motors may be coupled to the second and fourth rollers via gear boxes, as is known in the art. In another embodiment, the first motor may alone be used to control the rotation of both the first and second conveyors 306 and 308. The first and second motors may be controlled based on commands from the control server 108 such that the rotating speeds of the first and second conveyors 306 and 308 may be adjusted according to objects encountered in the storage area 104. Typically, the first conveyor 306 may rotate at higher speed than the second conveyor 308. In an instance, the first and second conveyors 306 and 308 may rotate in same direction (i.e., anti-clockwise direction or clockwise direction). In another instance, the first conveyor 306 and the second conveyor 308 may operate in different directions. The anti-clockwise rotation of the first conveyor 306 facilitates the movement of an object onto the first conveyor 306, whereas the anti-clockwise rotation of the second conveyor 308 ensures that remaining objects in a stack are unaffected. Similarly, the clockwise rotation of the first conveyor 306 facilitates placement of a picked object on a desired location, whereas the clockwise rotation of the second conveyor 308 ensures that other objects at the desired location are unaffected during placement.
In an embodiment, the first conveyor 306 and the second conveyor 308 may operate with a same speed of rotation. In another embodiment, the first conveyor 306 and the second conveyor 308 may operate different speeds. In another embodiment, the first conveyor 306 may operate with a non-zero speed and the second conveyor 308 may operate with a zero speed that is to say the second conveyor 308 may not move.
Referring back to
The first end effector 122 further includes first and second input/output (I/O) ports 322a and 322b for power supply and wired communication. The first end effector 122 may also include a set of pressure sensors (not shown) coupled underneath the first conveyor 306. The set of pressure sensors records pressure exerted by a lifted object on the first conveyor 306, and communicate pressure data corresponding to the recorded pressure to the control server 108.
In an embodiment, the first end effector 122 further includes a plurality of position sensors configured to detect a position of one of gripper arm 310 and the first roller 312 with respect to the first conveyor 306.
Referring to
Though the first object 402a is shown to be included in a stack of a plurality of objects. In other embodiments, the first object 402a may be placed separately and may not be stacked with other objects. Further, though the first object 402a is shown to be a deformable object. In other embodiments, the first object 402a may be a non-deformable object.
The handling request may be for adjusting the alignment of the first object 402a in the fifth shelf 116e or transporting the first object 402a from a source location in the storage facility 102 to a destination location in the storage facility 102 (e.g., another shelf of the same storage unit, a shelf of another storage unit, the operation station, or the like). The handling request may include the source and destination locations of the first object 402a, fiducial markers associated with the source and/or destination locations, and the unique identifier of the first object 402a. For the sake of brevity, it is assumed that the handling request corresponds to transporting the first object 402a from the fifth shelf 116e of the storage unit 114 to the operation station.
Upon reception of the handling request, the control server 108 may use the mobile robot 107 for transporting the storage unit 114 from a first location in the storage area 104 to a second location that is within the operational range of the robotic manipulator 106 for catering to the handling request. When the storage unit 114 is transported to the second location, the control server 108 may communicate the source and destination locations to the robotic manipulator 106 (i.e., the movement controller). Based on the source location, the movement controller may generate and communicate various control signals for controlling the movement of the robotic manipulator 106 such that the robotic manipulator 106 is oriented in front of the storage unit 114.
Referring now to
If the two identifiers match, the control server 108 may determine whether the orientation of the first object 402a with respect to the remaining objects 402b and 402c is such that the first object 402a is aligned with the remaining stack (i.e., the second and third objects 402b and 402c). For the sake of brevity, it is assumed that the first object 402a is aligned with the remaining stack. The control server 108 may further retrieve, from the database 110 of the control server 108, historical data (physical attributes of the objects, such as shape, size, weight, number of folds, or the like) associated with the first through third objects 402a-402c. When the control server 108 determines that the first object 402a is aligned with the remaining stack, the control server 108 may plan the sequence of actions to be performed by the robotic manipulator 106 to handle the first object 402a whilst maintaining the original form factors of the first object 402a and the remaining stack. The control server 108 may determine the sequence of the plurality of actions based on the historical data (physical attributes of the objects, such as shape, size, weight, number of folds, or the like) associated with the first object 402a or the first through third objects 402a-402c.
A first action in the sequence of actions may correspond to gripping the first object 402a from the gripping end (shown in
If the control server 108 determines that the griping end of the first object 402a is on an end that is opposite to the one facing the robotic manipulator 106, the control server 108 may communicate various commands to the mobile robot 107 to rotate the storage unit 114 such that the gripping end of the first object 402a is facing the robotic manipulator 106. In an embodiment, the robotic manipulator 106 may move or change its position with respect to the storage unit 114 in a way that it faces the gripping end of the first object 402a. The control server 108 may then communicate information associated with the gripping end and a first set of commands corresponding to the first action to the robotic manipulator 106. The control server 108 may additionally communicate grip force and pressure details to the robotic manipulator 106.
Referring now to
Referring now to
The control server 108 uses the first and second optical sensors 314a and 314b to determine whether the first object 402a is partially positioned on the first conveyor 306. When the control server 108 determines that the first object 402a is partially positioned on the first conveyor 306, the control server 108 communicates, to the robotic manipulator 106, a third set of commands corresponding to a third action in the sequence of actions. The third action may correspond to the release of the grip of the suction cup 216 on the gripping end 404.
When the control server 108 determines that the gripping end 404 of the first object 402a is released, the control server 108 communicates, to the robotic manipulator 106, a fourth set of commands corresponding to a fourth action in the sequence of actions. The fourth action may correspond to control movement of the first and second conveyors 306 and 308 via the first actuation mechanism. Based on the fourth set of commands, the first actuation mechanism operates one or more motors and/or rotors to rotate the first and second conveyors 306 and 308 in anti-clockwise direction (as shown in enlarged view 406) at variable speeds. The movement of the first conveyor 306 allows the first object 402a to move onto the first conveyor 306. Whereas, the movement of the second conveyor 308 ensures that the form factor of remaining stack (i.e., the second and third objects 402b and 402c) is intact. The control server 108 uses the first and second optical sensors 314a and 314b to determine whether the first object 402a is accurately positioned (i.e., the first object 402a is accurately aligned with respect to the first conveyor 306). When the control server 108 determines that the first object 402a is accurately positioned on the first conveyor 306, the control server 108 communicates, to the robotic manipulator 106, a fifth set of commands corresponding to a fifth action in the sequence of actions. Based on the fifth set of commands, the first and second motors receive a stop signal which causes the first and second conveyors 306 and 308 to come to resting positions.
For the sake of brevity, the robotic manipulator 106 is shown to handle the first object 402a. In other embodiments, the robotic manipulator 106 may handle multiple objects simultaneously. In an example, the robotic manipulator 106 may handle the first, second, and the third objects 402a-402c simultaneously. In such an embodiment, a different end effector may be used instead of the second end effector 124 such that the other end effector is able to partially lift the first, second, and the third objects 402a-402c at the same time, thereby enabling the first end effector 122 to slide partially beneath the bottommost object, i.e., the third object 402c. Subsequently, based on the movement of the first conveyor 306 and the second conveyors 308 as described above, the first, second, and the third objects 402a-402c are transferred onto the first conveyor 306.
In an embodiment, the first object 402a to be handled may be a non-deformable parcel positioned on top of a stack including a plurality of non-deformable parcels. In such an embodiment, the control server 108 may cause the first conveyor 306 to move with the first speed in the first direction. Such movement of the first conveyor 306 may cause the first object 402a to slide on top of the first conveyor 306. Further, the control server 108 may prevent the second conveyor 308 from operating, as operation of the second conveyor 308 may cause deformation of the stack including the plurality of non-deformable objects.
In another embodiment, the control server 108 may cause the first conveyor 306 to operate with the first speed and the second conveyor 308 with the second speed. The first speed may be higher than the second speed. In such an embodiment, a pace of handling the first object 402a may be increased due to high speed of operation of the first conveyor 306. The second conveyor 308 is operated with the second speed to prevent remaining objects such as second and third objects 402b and 402c from losing its form factor and disturbing an arrangement of the stack.
In another embodiment, another end effector that is different from the second end effector 124 may be coupled to the second robotic arm 120. Based an anti-clockwise movement of the first end effector 122, the object may slide on top of the first end effector 122. Further, the object may be placed on a destination location based on a clock-wise movement of the first end effector 122
The sequence of the plurality of actions are shown herein to be received from the control server 108 that is external to the robotic manipulator 106. However, in other embodiments, one or more operations of the control server 108 may be performed by a processing circuitry (not shown) of the robotic manipulator 106.
When the control server 108 determines that the first and second conveyors 306 and 308 are in the resting positions (i.e., stopped), the control server 108 communicates, to the robotic manipulator 106, a sixth set of commands corresponding to a sixth action in the sequence of actions. Based on the sixth set of commands, the control server 108 actuates the third actuator that controls rotation of the axial member 316 to transition the first roller 312 from the release position to the gripping position. The third actuator rotates the axial member 316 to adjust the height of the gripper arm 310 with respect to the first object 402a on the first conveyor 306 such that the first roller 312 is firmly in contact with the first object 402a. In one embodiment, the height of the gripper arm 310 may be adjusted based on dimensions of the first object 402a. For example, if a height of the first object 402a is 10 centimeters (cm), the actuator rotates the axial member 316 to adjust the gripper arm 310 at a height of 10 cm above the first conveyor 306. In another embodiment, the first roller 312 may include one or more pressure and touch sensors. In such a scenario, the actuator may rotate the axial member 316 to adjust the height of the gripper arm 310 until the pressure and touch sensors on the first roller 312 detects a contact with the first object 402a. Thus, the gripper arm 310 with the first roller 312 holds the first object 402a on the first conveyor 306. The first roller 312 assists in maintaining the form factor of the first object 402a when the first object 402a is lifted and moved by the first end effector 122.
When the first conveyor 306 is rotated to accurately position the first object 402a thereon, the one or more pressure sensors may record a pressure exerted by the first object 402a on the first conveyor 306. The control server 108 determines whether the first object 402a is accurately positioned on the first conveyor 306 based on pressure data received from the set of pressure sensors 228.
When the control server 108 determines that the first object 402a is inaccurately positioned, the control server 108 may communicate a second alert notification to the operator device of the operator located at the operation station. The operator may then adjust the positioning of the first object 402a on the first end effector 122, place the first object 402a back in the fifth shelf 116e, or transport the first object 402a to the destination location. Alternatively, when the control server 108 determines that the first object 402a is inaccurately positioned, the first and second robotic arms 118 and 120 may be controlled by the movement controller (based on various commands received from the control server 108) to place the first object 402a back in the fifth shelf 116e, and to release the grip of the suction cup 216 on the first object 402a, respectively. In such an instance, the control server 108 may again communicate the sequence of the plurality of actions to the robotic manipulator 106 to handle the object.
Referring now to
Referring now to
After the successful handling of the first object 402a, the control server 108 may store the plan information of the planned sequence of actions as feedback in the database 110 to update the historical data associated with the first object 402a and reduce the computation time during the subsequent handling of the first object 402a (or a similar object) that is arranged in a similar stack.
It will be apparent to a person skilled in the art that an object may be transported from a stack arranged on a shelf of a storage unit to another shelf of the same storage unit or from a stack arranged on a shelf of one storage unit to a shelf of another storage unit in a similar manner as described above for transporting the first object 402a as described above. Further, an object may be transported from a stack arranged at the operation station to a shelf of a storage unit in a similar manner as described above for transporting the first object 402a. Further, when the handling corresponds to adjusting the alignment of the first object 402a in the fifth shelf 116e, the first object 402a may be lifted by the first end effector 122 that is oriented parallel to the alignment of the first object 402a. Upon lifting, the orientation of the first end effector 122 may be adjusted such that the first end effector 122 is parallel to the remaining stack. The first end effector 122 may then put-down the first object 402a on top of the second object 402b. The first object 402a is lifted and put-down in a similar manner as described above. In such a scenario, the source and destination locations are same (i.e., the fifth shelf 116e). Additionally, when the handling corresponds to the transport of an object that is misaligned in the stack, the first end effector 122 may lift the misaligned object in the afore-mentioned manner, and put-down the lifted object at the destination location.
Although
The processing circuitry 602 executes various operations, such as inventory or warehouse management operations, procurement operations, or the like. The processing circuitry 602 executes the inventory management operations, such as planning the sequence of actions to be performed by the robotic manipulator 106 for handling objects (as described in the foregoing descriptions of
The inventory manager 610 includes suitable logic, instructions, circuitry, interfaces, and/or code for managing an inventory list that includes a list of objects stored in the storage facility 102, a number of units of each object stored in the storage facility 102, and a source location (i.e., a shelf and/or a storage unit) where each object is stored. For example, the inventory manager 610 may add new objects to the inventory list when the new objects are stored in the storage area 104 and may update the inventory list whenever there is any change in regards to the objects stored in the storage area 104 (e.g., when items are retrieved from the storage unit 114 for fulfilment of orders).
The request handler 612 includes suitable logic, instructions, circuitry, interfaces, and/or code for processing all handling requests received by the control server 108. The request handler 612 may identify objects pertinent to the handling requests, and the shelves 116 that store the objects associated with the handling requests. The request handler 612 may further communicate, for fulfilment of the handling requests, details regarding the objects (such as the source location, the destination location, the fiducial markers, the unique identifiers, or the like) to the robotic manipulator 106. Additionally, the request handler 612 may merge various handling requests when objects to be handled are stored in the same storage unit.
The image processor 614 includes suitable logic, instructions, circuitry, interfaces, and/or code for receiving the first and second image data from the first and second optical sensor 314a and 314b. By utilizing one or more image processing techniques on the first and second image data, the image processor 614 detects length of the first object 402a that is positioned on the first conveyor 306 and identifies the gripping end 404 of the first object 402a that is to be handled. The image processor 614 further identifies the gap developed between the partially lifted first object 402a and the remaining fifth shelf 116e, and determines if the gap is equal to the predetermined height (i.e., whether the gripping end 404 is lifted to the predetermined height).
The action planner 616 includes suitable logic, instructions, circuitry, interfaces, and/or code for planning various actions to be performed by the robotic manipulator 106 and the first end effector 122. For example, the action planner 616 may plan the sequence of actions to be performed by the robotic manipulator 106 and the first end effector 122 to handle the first object 402a whilst maintaining the original form factors of the first object 402a. The control server 108 may plan the sequence of actions in real-time based on data of the first object 402a that is to be handled, and the historical data. The action planner 616 also executes various other operations such as determining whether the orientation of the first object 402a with respect to the remaining stack is such that the first object 402a is aligned with the remaining stack, determining whether the first object 402a is accurately positioned on the first conveyor 306, generating the first through second alert notifications, or the like. The action planner 616 may further store the planned sequence of actions in the memory 604 or the database 110 for future use, e.g., handling the second and third objects 402b and 402c in the fifth shelf 116e.
The command handler 618 includes suitable logic, instructions, circuitry, interfaces, and/or code for generating various commands corresponding to the actions planned by the action planner 616. For example, the command handler 618 generates the first through seventh sets of commands corresponding to the first through seventh actions in the sequence of actions, respectively.
Examples of the inventory manager 610, the request handler 612, the image processor 614, the action planner 616, and the command handler 618 may include, but are not limited to, an application-specific integrated circuit (ASIC) processor, a reduced instruction set computing (RISC) processor, a complex instruction set computing (CISC) processor, a field-programmable gate array (FPGA), a microcontroller, a combination of a central processing unit (CPU) and a graphics processing unit (GPU), or the like.
The memory 604 includes suitable logic, instructions, circuitry, interfaces to store one or more instructions that are executed by the inventory manager 610, the request handler 612, the image processor 614, the action planner 616, and the command handler 618 for performing one or more operations. Additionally, the memory 604 may store the inventory list, the map or the layout of the storage facility 102, or the like. In one embodiment, the information stored in the database 110 may be stored in the memory 604, without deviating from the scope of the disclosure. Examples of the memory 604 may include a RAM, a ROM, a removable storage drive, an HDD, a flash memory, a solid-state memory, and the like.
The network interface 606 transmits and receives data over the communication network 112 using one or more communication network protocols. The network interface 606 may transmit various messages and commands to the robotic manipulator 106 and the first end effector 122 and receive data from the first and second optical sensors 314a and 314b. Examples of the network interface 606 may include, but are not limited to, an antenna, a radio frequency transceiver, a wireless transceiver, a Bluetooth transceiver, an ethernet based transceiver, a universal serial bus (USB) transceiver, or any other device configured to transmit and receive data.
Referring to
The control server 108 may further communicate, to the robotic manipulator 106, a thirteenth set of commands that correspond to transporting the picked fourth and fifth objects 706a and 706b to an operation station, a shelf of a storage unit, another mobile robot, or any other destination location. Under the control of the thirteenth set of commands, the movement controller controls the first robotic arm 118 to move the first end effector 122 holding the fourth and fifth objects 706a and 706b away from the mobile robot 702 and towards the operation station, the shelf of the storage unit, or the other mobile robot. The first end effector 122 may then place the fourth and fifth objects 706a and 706b at the operation station, on the shelf of the storage unit, or the other mobile robot. The control server 108 may control the first and second conveyers 306 and 308 and the gripper arm 310 for placing the fourth and fifth objects 706a and 706b at the operation station in a similar manner as described in the foregoing description of
The robotic manipulator 106 thus successfully completes the put-down operation, and thereby successfully handling the fourth and fifth objects 706a and 706b.
It will be apparent to a person skilled in the art that handling of object described in conjunction with
The computer system 800 may include a processor 802 that may be a special purpose or a general-purpose processing device. The processor 802 may be a single processor or multiple processors. The processor 802 may have one or more processor “cores.” Further, the processor 802 may be coupled to a communication infrastructure 804, such as a bus, a bridge, a message queue, the communication network 112, multi-core message-passing scheme, or the like. The computer system 800 may further include a main memory 806 and a secondary memory 808. Examples of the main memory 806 may include RAM, ROM, and the like. The secondary memory 808 may include a hard disk drive or a removable storage drive (not shown), such as a floppy disk drive, a magnetic tape drive, a compact disc, an optical disk drive, a flash memory, or the like. Further, the removable storage drive may read from and/or write to a removable storage device in a manner known in the art. In an embodiment, the removable storage unit may be a non-transitory computer readable recording media.
The computer system 800 may further include an input/output (I/O) port 810 and a communication interface 812. The I/O port 810 may include various input and output devices that are configured to communicate with the processor 802. Examples of the input devices may include a keyboard, a mouse, a joystick, a touchscreen, a microphone, and the like. Examples of the output devices may include a display screen, a speaker, headphones, and the like. The communication interface 812 may be configured to allow data to be transferred between the computer system 800 and various devices that are communicatively coupled to the computer system 800. Examples of the communication interface 812 may include a modem, a network interface, i.e., an Ethernet card, a communication port, and the like. Data transferred via the communication interface 812 may be signals, such as electronic, electromagnetic, optical, or other signals as will be apparent to a person skilled in the art. The signals may travel via a communications channel, such as the communication network 112, which may be configured to transmit the signals to the various devices that are communicatively coupled to the computer system 800. Examples of the communication channel may include a wired, wireless, and/or optical medium such as cable, fiber optics, a phone line, a cellular phone link, a radio frequency link, and the like. The main memory 806 and the secondary memory 808 may refer to non-transitory computer readable mediums that may provide data that enables the computer system 800 to implement the system for handling the object.
The process proceeds to step 904, where the control server 108 may identify the mobile robot 107 for transporting the storage unit 114 from the first location in the storage area 104 to the second location that is within the operational range of the robotic manipulator 106 for catering to the handling request. The identification of the mobile robot 107 may be based on an availability of the mobile robot 107, a proximity of the mobile robot 107 to the storage unit 114, or the like. The process proceeds to step 906, where the control server 108 communicates, to the mobile robot 107, the first location of the storage unit 114, the fiducial marker of the storage unit 114, and a path information of various paths to be followed by the mobile robot 107 to reach the first location from the current location, and from the first location to the second location. The mobile robot 107 may then approach the first location, lift the storage unit 114, and transport the storage unit 114 from the storage area 104 to the second location that is within the operational range of the robotic manipulator 106.
The process proceeds to step 908, where the control server 108 communicates the source and destination locations of the first object 402a to the robotic manipulator 106 (i.e., the movement controller) when the storage unit 114 is transported to the second location. Based on the source location, the movement controller generates and communicates various control signals to the actuators for controlling the movement of the robotic manipulator 106 such that the robotic manipulator 106 is oriented to face the storage unit 114.
The process proceeds to step 910, where the control server 108 receives first and second image data from the first and second optical sensors 314a and 314b. The process proceeds to step 912, where based on the first and second image data, the control server 108 detects the first through third objects 402a-402c arranged in the stack in the fifth shelf 116e.
The process proceeds to step 914, where the control server 108 retrieves the historical data associated with the stack. The control server 108 retrieves, from the database 110, historical data (physical attributes of the objects, such as shape, size, weight, number of folds, or the like) associated with the first through third objects 402a-402c. The process proceeds to step 916, where the control server 108 determines the orientation of the first object 402a with respect to the stack. The process proceeds to step 918, where the control server 108 plans the sequence of actions (i.e., the sequence of the plurality of actions) to be performed by the robotic manipulator 106 for handling the first object 402a. The process proceeds to step 920, where the control server 108 identifies the gripping end 404 of the first object 402a. The process then proceeds to process A as shown in
Referring now to
The process proceeds to step 934, where the control server 108 determines whether the first object 402a is partially placed on the first conveyor 306. If at step 934, the control server 108 determines that the first object 402a is partially placed on the first conveyor 306, the process proceeds to step 936. At step 936, the control server 108 communicates the fourth set of commands corresponding to the fourth action to the robotic manipulator 106. The fourth action may correspond to control movement of the first and second conveyors 306 and 308 via the first actuation mechanism. Based on the fourth set of commands, the first actuation mechanism operates one or more motors and/or rotors to rotate the first and second conveyors 306 and 308 in anti-clockwise direction (as shown in enlarged view 406) at variable speeds. The movement of the first conveyor 306 allows the first object 402a to move onto the first conveyor 306. Whereas, the movement of the second conveyor 308 ensures that the form factor of the remaining stack (i.e., the second and third objects 402b and 402c) is intact. The process then proceeds to process B as shown in
Referring now to
If at step 934, the control server 108 determines that the first object 402a is not accurately placed on the first conveyor 306, the process proceeds to step 948. If at step 942, the control server 108 determines that the first object 402a is not accurately lifted in entirety, the process proceeds to step 948. At 948, the control server 108 communicates alert notification to an operator device of the operator. Based on the alert notification, the operator may correct the placement or orientation of the first object 402a on the first conveyor 306.
Techniques consistent with the present disclosure provide, among other features a method and system for handling one or more objects arranged in a stack. While various exemplary embodiments of the disclosed system and method have been described above, it should be understood that they have been presented for purposes of example only, not limitations. It is not exhaustive and does not limit the disclosure to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practicing of the disclosure, without departing from the width or scope.
The robotic manipulator 106 and the system for handling the object disclosed herein provide numerous advantages. The robotic manipulator 106 disclosed herein provides for an easy and swift handling of objects while maintaining a form factor and contour of the corresponding objects. The robotic manipulator 106 disclosed herein does not require any human intervention. Hence, a requirement of manual labor while handling the objects is significantly reduced. Since the first and second conveyors 308 and 308 are operated independently, the robotic manipulator 106 ensures that while handling an object no other objects gets affected. Hence, a probability of causing physical or qualitative damage to other objects while handling the object is significantly reduced. Moreover, a process of handling the object by way of the robotic manipulator 106 is seamless and hence does not fault frequently. The robotic manipulator 106 disclosed herein is robust and portable. The robotic manipulator 106 may significantly increase a throughput of the storage facility 102 by reducing a cumulative time for handling one or more objects while facilitating an order fulfilment as well as while executing inventory management operations. Thus, the handling of the objects as described in the disclosure is more efficient as compared to other known object handling methods.
A person having ordinary skill in the art will appreciate that embodiments of the disclosed subject matter can be practiced with various computer system configurations, including multi-core multiprocessor systems, minicomputers, mainframe computers, computers linked or clustered with distributed functions, as well as pervasive or miniature computers that may be embedded into virtually any device. Further, the operations may be described as a sequential process, however some of the operations may in fact be performed in parallel, concurrently, and/or in a distributed environment, and with program code stored locally or remotely for access by single or multiprocessor machines. In addition, in some embodiments the order of operations may be rearranged without departing from the spirit of the disclosed subject matter.
Techniques consistent with the present disclosure provide, among other features, systems and methods for handling objects in a storage facility using a robotic manipulator. While various embodiments of the present disclosure have been illustrated and described, it will be clear that the present disclosure is not limited to these embodiments only. Numerous modifications, changes, variations, substitutions, and equivalents will be apparent to those skilled in the art, without departing from the spirit and scope of the present disclosure, as described in the claims.
This application claims priority to U.S. Patent Provisional Application No. 63/052,626, filed Jul. 16, 2020, the entire contents of which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
63052626 | Jul 2020 | US |