Sign In to Follow Application
View All Documents & Correspondence

Automated Placement Of Objects In Bins Using Look Ahead Information By Virtual Sorting And Packing

Abstract: Online 3-dimensional bin packing problem (O3DBPP) is getting renewed prominence due to the industrial automation brought by Industry 4.0. However, due to limited attention in the past and its challenging nature, a good approximate technique is in scarcity as compared to 1D or 2D problems. Present disclosure provides system and method that considers real-time O3D-BPP of cuboidal boxes with partial information (look-ahead) in an automated robotic sorting center. System presents two rolling-horizon mixed-integer linear programming (MILP) cum-heuristic based algorithms wherein a framework is provided that adapts and improves performance of BP heuristics by utilizing information in an online setting with look-ahead.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
03 October 2021
Publication Number
14/2023
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
Parent Application

Applicants

Tata Consultancy Services Limited
Nirmal Building, 9th Floor, Nariman Point, Mumbai - 400021, Maharashtra, India

Inventors

1. SARKAR, Chayan
Tata Consultancy Services Limited, Block -1B, Eco Space, Plot No. IIF/12 (Old No. AA-II/BLK 3. I.T), Street 59 M. WIDE (R.O.W.) Road, New Town, Rajarhat, P.S. Rajarhat, Dist - N. 24 Parganas, Kolkata - 700160, West Bengal, India
2. AGARWAL, Marichi
Tata Consultancy Services Limited, Block -1B, Eco Space, Plot No. IIF/12 (Old No. AA-II/BLK 3. I.T), Street 59 M. WIDE (R.O.W.) Road, New Town, Rajarhat, P.S. Rajarhat, Dist - N. 24 Parganas, Kolkata - 700160, West Bengal, India
3. SINGHAL, Aniruddha
Tata Consultancy Services Limited, Galaxy Business Park, Plot no. A-44 & A45, Block A Industrial Area, Sector 62, Noida - 201309, Uttar Pradesh, India
4. SINHA, Rajesh
Tata Consultancy Services Limited, Galaxy Business Park, Plot no. A-44 & A45, Block A Industrial Area, Sector 62, Noida - 201309, Uttar Pradesh, India
5. OJHA, Ankush
Tata Consultancy Services Limited, Galaxy Business Park, Plot no. A-44 & A45, Block A Industrial Area, Sector 62, Noida - 201309, Uttar Pradesh, India
6. GHOSH, Supratim
Tata Consultancy Services Limited, Galaxy Business Park, Plot no. A-44 & A45, Block A Industrial Area, Sector 62, Noida - 201309, Uttar Pradesh, India

Specification

Claims:
1. A processor implemented method, comprising:
iteratively performing, for each object being received:
receiving, via one or more hardware processors, (i) an object to be placed in a bin from a plurality of bins, (ii) a look ahead information corresponding to a set of subsequent objects to be placed in the bin or in at least one another bin among the plurality of bins (202);
performing, via the one or more hardware processors, a virtual sorting of the object and the set of subsequent objects to be placed in the bin or in the at least one another bin among the plurality of bins based on the look ahead information to obtain a sorted list of objects (204);
performing, via the one or more hardware processors, a virtual packing of one or more objects from the sorted list of objects in the bin or the another bin among from the plurality of bins to obtain (i) a correct order of objects from the sorted list of objects along with a physical constraint associated with the bin or the at least one another bin among the plurality of bins, and (ii) a position of the one or more objects from the correct order of objects in the bin or in the at least one another bin from the plurality of bins (206); and
placing, via the one or more hardware processors, the one or more objects in the bin or in the at least one another bin from the plurality of bins based on the determined position (208),
until one of (i) a look ahead information is available, or (ii) a last object is placed in a corresponding bin.

2. The processor implemented method of claim 1, wherein size and shape of one or more bins in the plurality of bins are identical to each other.

3. The processor implemented method of claim 1, wherein size and shape of one or more bins in the plurality of bins are different from each other.

4. The processor implemented method of claim 1, wherein size and shape of the object and the set of subsequent objects are identical to each other.

5. The processor implemented method of claim 1, wherein size and shape of the object and the set of subsequent objects are different from each other.

6. The processor implemented method of claim 1, wherein the bin and the at least one another bin are one of an empty bin, or a partially filled bin.

7. A system (100), comprising:
a memory (102) storing instructions;
one or more communication interfaces (106); and
one or more hardware processors (104) coupled to the memory (102) via the one or more communication interfaces (106), wherein the one or more hardware processors (104) are configured by the instructions to:
iteratively perform, for each object being received:
receiving (i) an object to be placed in a bin from a plurality of bins, (ii) a look ahead information corresponding to a set of subsequent objects to be placed in the bin or in at least one another bin among the plurality of bins;
performing a virtual sorting of the object and the set of subsequent objects to be placed in the bin or in the at least one another bin among the plurality of bins based on the look ahead information to obtain a sorted list of objects;
performing a virtual packing of one or more objects from the sorted list of objects in the bin or the another bin among the plurality of bins to obtain (i) a correct order of objects from the sorted list of objects along with a physical constraint associated with the bin or the at least one another bin among the plurality of bins, and (ii) a position of the one or more objects from the correct order of objects in the bin or in the at least one another bin among the plurality of bins; and
placing the one or more objects in the bin or in the at least one another bin among the plurality of bins based on the determined position,
until one of (i) a look ahead information is available, or (ii) a last object is placed in a corresponding bin.

8. The system of claim 7, wherein size and shape of one or more bins in the plurality of bins are identical to each other.

9. The system of claim 7, wherein size and shape of one or more bins in the plurality of bins are different from each other.

10. The system of claim 7, wherein size and shape of the object and the set of subsequent objects are identical to each other.

11. The system of claim 7, wherein size and shape of the object and the set of subsequent objects are different from each other.

12. The system of claim 7, wherein the bin and the at least one another bin are one of an empty bin, or a partially filled bin.
, Description:FORM 2

THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENT RULES, 2003

COMPLETE SPECIFICATION
(See Section 10 and Rule 13)

Title of invention:
AUTOMATED PLACEMENT OF OBJECTS IN BINS USING LOOK AHEAD INFORMATION BY VIRTUAL SORTING AND PACKING

Applicant:
Tata Consultancy Services Limited
A company Incorporated in India under the Companies Act, 1956
Having address:
Nirmal Building, 9th Floor,
Nariman Point, Mumbai 400021,
Maharashtra, India

The following specification particularly describes the invention and the manner in which it is to be performed.
TECHNICAL FIELD
The disclosure herein generally relates to sorting and packing mechanism of objects for placement, and, more particularly, to automated placement of objects in bins using look ahead information by virtual sorting and packing.

BACKGROUND
With the advent of industrial robotics, automated sorting and packaging has received a lot of attention. Packaging problems arise in various industries such as logistics, retail, e-commerce, postal service, etc. One of the main tasks in an automated sorting center involves packing an incoming stream of boxes into large containers or bins in real-time with a high packing efficiency. This task is an evolved version of the online 3-dimensional bin packing problem (3D-BPP) where a robot/robotic arm has to make decisions in a quick time to pick up a box from the conveyor and place it in its final position within a bin. These bins are then closed and sent to various destinations.
The problem of packing boxes optimally into a large container, also known as bin-packing is well known to be nondeterministic polynomial time hard (NP-hard) even in one dimension in the offline setting. In the offline 3-D setting, the information about the dimensions of all the boxes to be packed is available a priori. A number of fast and nearly optimal heuristics are available for offline bin packing such as best-fit, first-fit, floor/column building, etc. (e.g., “X. Zhao, J. A. Bennell, T. Bektas, and K. Dowsland, “A comparative review of 3d container loading algorithms.” International Transactions in Operational Research, vol. 23, no. 1–2, pp. 287–320, 2010. – referred as Zhao et al.”, “B. Mahvash, A. Awasthi, and S. Chauhan, “A column generation-based heuristic for the three-dimensional bin packing problem with rotation,” Journal of the Operational Research Society, pp. 1–13, 2017. – referred as Mahvash et al.”, and “S. Elhedhli, F. Gzara, and B. Yildiz, “Three-dimensional bin packing and mixed-case palletization,” INFORMS Journal of Optimization, vol. 1, no. 4, pp. 323–352, 2019. – referred as Elhedhli et al.”), including some robotic packing systems (e.g., “S. Martello, D. Pisinger, D. Vigo, D. E. Boef, and J. Korst, “Algorithm 864: General and robot-packable variants of the three-dimensional bin packing problem,” ACM Transactions on Mathematical Software, vol. 33, no. 1, pp. 7–es, 2007. – referred as Martello et al.”, “D. E. Boef, J. Korst, S. Martello, D. Pisinger, and D. Vigo, “A note on robot-packable and orthogonal variants of the three-dimensional bin packing problem,” in Diku-rapport 03/02. n, 2003. – referred as Boef et al.”).
On the other hand, in the online setting, the packer has information about only the next upcoming box and thus, has to work with this partial information to obtain tight and efficient packing arrangement, therefore, making the problem much harder. This problem has received attention in the past (e.g., “H. I. Christensen, A. Khan, S. Pokutta, and P. Tetali, “Approximation and online algorithms for multidimensional bin packing: A survey,” Computer Science Review, vol. 24, pp. 63–79, 2017. – referred as Christensen et al.”, “M. Burcea, “Online dynamic bin packing,” Ph.D Dissertation; University of Liverpool, 2014.”, and “L. Epstein and M. Levy, “Dynamic multi-dimensional bin-packing,” Journal of Discrete Algorithms, vol. 8, no. 4, pp. 356–372, 2010. – referred as Epstein et al.”). However, O3D-BPP with partial information in an industrial setting with robot packable constraints still remains very challenging. A further problem ensues when the boxes arriving are of mixed sizes with no underlying pattern.
The problem of limited information in the online setting is alleviated to some extent if a “look-ahead” is available, i.e., partial information may be available about the boxes in the immediate vicinity of the packer (e.g., “E. F. Grove, “Online bin packing with lookahead,” in Proceedings of the ACM-SIAM Symposium on Discrete Algorithms, vol. 95, 1995, pp. 430–436.”). The packing algorithm’s job is to utilize this extra information and make complex decisions so that its efficiency can be improved. Existing heuristics for O3D-BPP lack this capability and thus, need to be adapted to the settings with look-ahead. According to various surveys, the space utilization of bins is the most important metric for defining the success of an automation algorithm. An automated packer does not have the flexibility of reshuffling that the humans have, and hence, is expected to perform worse. This results in more number of bins being used, and therefore, increases the cost.

SUMMARY
Embodiments of the present disclosure present technological improvements as solutions to one or more of the above-mentioned technical problems recognized by the inventors in conventional systems. For example, in one aspect, there is provided a processor implemented method for automated placement of objects in bins using look ahead information by virtual sorting and packing. The method comprises iteratively performing, for each object being received: receiving, via one or more hardware processors, (i) an object to be placed in a bin from a plurality of bins, (ii) a look ahead information corresponding to a set of subsequent objects to be placed in the bin or in at least one another bin among the plurality of bins; performing a virtual sorting of the object and the set of subsequent objects to be placed in the bin or in the at least one another bin among the plurality of bins based on the look ahead information to obtain a sorted list of objects; performing a virtual packing of one or more objects from the sorted list of objects in the bin or the another bin among the plurality of bins to obtain (i) a correct order of objects from the sorted list of objects along with a physical constraint associated with the bin or the at least one another bin among the plurality of bins, and (ii) a position of the one or more objects from the correct order of objects in the bin or in the at least one another bin among the plurality of bins; and placing, via the one or more hardware processors, the one or more objects in the bin or in the at least one another bin among the plurality of bins based on the determined position, until one of (i) a look ahead information is available, or (ii) a last object is placed in a corresponding bin.
In an embodiment, size and shape of one or more bins in the plurality of bins are identical to each other.
In an embodiment, size and shape of one or more bins in the plurality of bins are different from each other.
In an embodiment, size and shape of the object and the set of subsequent objects are identical to each other.
In an embodiment, size and shape of the object and the set of subsequent objects are different from each other.
In an embodiment, the bin and the at least one another bin are one of an empty bin or a partially filled bin.
In another aspect, there is provided a processor implemented system for automated placement of objects in bins using look ahead information by virtual sorting and packing. The system comprises: a memory storing instructions; one or more communication interfaces; and one or more hardware processors coupled to the memory via the one or more communication interfaces, wherein the one or more hardware processors are configured by the instructions to: iteratively perform, for each object being received: receiving (i) an object to be placed in a bin from a plurality of bins, (ii) a look ahead information corresponding to a set of subsequent objects to be placed in the bin or in at least one another bin among the plurality of bins; performing a virtual sorting of the object and the set of subsequent objects to be placed in the bin or in the at least one another bin among the plurality of bins based on the look ahead information to obtain a sorted list of objects; performing a virtual packing of one or more objects from the sorted list of objects in the bin or the another bin among the plurality of bins to obtain (i) a correct order of objects from the sorted list of objects along with a physical constraint associated with the bin or the at least one another bin among the plurality of bins, and (ii) a position of the one or more objects from the correct order of objects in the bin or in the at least one another bin among the plurality of bins; and placing the one or more objects in the bin or in the at least one another bin among the plurality of bins based on the determined position, until one of (i) a look ahead information is available, or (ii) a last object is placed in a corresponding bin.
In an embodiment, size and shape of one or more bins in the plurality of bins are identical to each other.
In an embodiment, size and shape of one or more bins in the plurality of bins are different from each other.
In an embodiment, size and shape of the object and the set of subsequent objects are identical to each other.
In an embodiment, size and shape of the object and the set of subsequent objects are different from each other.
In an embodiment, the bin and the at least one another bin are one of an empty bin or a partially filled bin.
In yet another aspect, there are provided one or more non-transitory machine-readable information storage mediums comprising one or more instructions which when executed by one or more hardware processors cause a method for automated placement of objects in bins using look ahead information by virtual sorting and packing. The method comprises iteratively performing, for each object being received: receiving, via one or more hardware processors, (i) an object to be placed in a bin from a plurality of bins, (ii) a look ahead information corresponding to a set of subsequent objects to be placed in the bin or in at least one another bin among the plurality of bins; performing a virtual sorting of the object and the set of subsequent objects to be placed in the bin or in the at least one another bin among the plurality of bins based on the look ahead information to obtain a sorted list of objects; performing a virtual packing of one or more objects from the sorted list of objects in the bin or the another bin among the plurality of bins to obtain (i) a correct order of objects from the sorted list of objects along with a physical constraint associated with the bin or the at least one another bin among the plurality of bins, and (ii) a position of the one or more objects from the correct order of objects in the bin or in the at least one another bin among the plurality of bins; and placing, via the one or more hardware processors, the one or more objects in the bin or in the at least one another bin among the plurality of bins based on the determined position, until one of (i) a look ahead information is available, or (ii) a last object is placed in a corresponding bin.
In an embodiment, size and shape of one or more bins in the plurality of bins are identical to each other.
In an embodiment, size and shape of one or more bins in the plurality of bins are different from each other.
In an embodiment, size and shape of the object and the set of subsequent objects are identical to each other.
In an embodiment, size and shape of the object and the set of subsequent objects are different from each other.
In an embodiment, the bin and the at least one another bin are one of an empty bin or a partially filled bin.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate exemplary embodiments and, together with the description, serve to explain the disclosed principles:
FIG. 1 depicts an exemplary system for automated placement of objects in bins using look ahead information by virtual sorting and packing, in accordance with an embodiment of the present disclosure.
FIG. 2 depicts an exemplary flow chart illustrating a method for automated placement of objects in bins using look ahead information by virtual sorting and packing, using the system 100 of FIG. 1, in accordance with an embodiment of the present disclosure.
FIG. 3A depicts a graphical representation illustrating a comparison of computation times for long-distance containers (LDCs), in accordance with an embodiment of the present disclosure.
FIG. 3B depicts a graphical representation illustrating effect of constraints on efficient packing (CEP), in accordance with an embodiment of the present disclosure.

DETAILED DESCRIPTION OF EMBODIMENTS
Exemplary embodiments are described with reference to the accompanying drawings. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. Wherever convenient, the same reference numbers are used throughout the drawings to refer to the same or like parts. While examples and features of disclosed principles are described herein, modifications, adaptations, and other implementations are possible without departing from the scope of the disclosed embodiments.
Referring now to the drawings, and more particularly to FIGS. 1 through 3B, where similar reference characters denote corresponding features consistently throughout the figures, there are shown preferred embodiments and these embodiments are described in the context of the following exemplary system and/or method.
FIG. 1 depicts an exemplary system 100 for automated placement of objects in bins using look ahead information by virtual sorting and packing, in accordance with an embodiment of the present disclosure. In an embodiment, the system 100 includes one or more hardware processors 104, communication interface device(s) or input/output (I/O) interface(s) 106 (also referred as interface(s)), and one or more data storage devices or memory 102 operatively coupled to the one or more hardware processors 104. The one or more processors 104 may be one or more software processing components and/or hardware processors. In an embodiment, the hardware processors can be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, the processor(s) is/are configured to fetch and execute computer-readable instructions stored in the memory. In an embodiment, the system 100 can be implemented in a variety of computing systems, such as laptop computers, notebooks, hand-held devices (e.g., smartphones, tablet phones, mobile communication devices, and the like), workstations, mainframe computers, servers, a network cloud, and the like.
The I/O interface device(s) 106 can include a variety of software and hardware interfaces, for example, a web interface, a graphical user interface, and the like and can facilitate multiple communications within a wide variety of networks N/W and protocol types, including wired networks, for example, LAN, cable, etc., and wireless networks, such as WLAN, cellular, or satellite. In an embodiment, the I/O interface device(s) can include one or more ports for connecting a number of devices to one another or to another server.
The memory 102 may include any computer-readable medium known in the art including, for example, volatile memory, such as static random-access memory (SRAM) and dynamic-random access memory (DRAM), and/or non-volatile memory, such as read only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes. In an embodiment, a database 108 is comprised in the memory 102, wherein the database 108 comprises information related to objects to be placed in bin(s). The database 108 further comprises look ahead information of subsequent objects with respect to current object under consideration, list of sorted objects, list of correct order of objects to be placed in various available bin(s), shape and size of bin(s), shape and size of objects, and the like. The memory 102 further comprises one or more techniques (e.g., virtual sorting technique(s), virtual packing technique(s), and the like. The memory 102 further comprises (or may further comprise) information pertaining to input(s)/output(s) of each step performed by the systems and methods of the present disclosure. In other words, input(s) fed at each step and output(s) generated at each step are comprised in the memory 102 and can be utilized in further processing and analysis.
FIG. 2, with reference to FIG. 1, depicts an exemplary flow chart illustrating a method for automated placement of objects in bins using look ahead information by virtual sorting and packing, using the system 100 of FIG. 1, in accordance with an embodiment of the present disclosure. In an embodiment, the system(s) 100 comprises one or more data storage devices or the memory 102 operatively coupled to the one or more hardware processors 104 and is configured to store instructions for execution of steps of the method by the one or more processors 104. The steps of the method of the present disclosure will now be explained with reference to components of the system 100 of FIG. 1, and the flow diagram as depicted in FIG. 2. The steps 202 through 208 described herein are iteratively performed for each object being received until one least one of (i) a look ahead information (or last look ahead information) is available, or (ii) a last object (from a conveyor belt) is placed in a corresponding bin. In an embodiment of the present disclosure at step 202, the one or more hardware processors 104 receive (i) an object to be placed in a bin from a plurality of bins, (ii) a look ahead information corresponding to a set of subsequent objects to be placed in the bin or in at least one another bin among (or amongst) the plurality of bins. In other words, the system 100 receives (i) an object to be placed in a bin from a plurality of bins, (ii) a look ahead information corresponding to a set of subsequent objects to be placed in the bin or in at least one another bin from (or amongst) the plurality of bins. For instance, say Object 1 is an item to be placed in a bin or at least one another bin, and data related to objects 2, 3 and 4 constitutes the look ahead information. Another example may include, say Object 1 is an item to be placed in a bin or at least one another bin then the look ahead information may indicate that objects 2, 3 and 4 are to be packed following the placement of Object 1 in the bin. In an embodiment, size and shape of one or more bins in the plurality of bins are identical to each other. In another embodiment, the size and shape of one or more bins in the plurality of bins are different from each other. In an embodiment, the size and shape of the object and the set of subsequent objects are identical to each other. In another embodiment, the size and shape of the object and the set of subsequent objects are different from each other. Further, the bin and the at least one another bin are one of an empty bin, or a partially filled bin, in one example embodiment of the present disclosure. The above step 202 is better understood by way of following description.
In an automated packaging terminal, the arriving boxes are first scanned to capture their dimensions. Very large boxes (colloquially known as “uglies”) are usually handled manually and/or by multiple robots. Present disclosure provides systems and method for online packaging of boxes (e.g., small/medium boxes) in large bins. Separating boxes based on dimensions has the following advantages. Firstly, it helps keep the number of bins low by avoiding the situation of an ugly arriving within a stream of small-medium boxes; secondly, the same robotic arm may not be suitable for picking boxes of highly varying dimensions. After the scanning process, the boxes are placed onto the “pick conveyor” for placement into the open bins by a robotic arm (placed at the end of the conveyor). In a conventional pick-up model, the bins can either be long-distance containers (LDCs), pallets, or roller-cages (RCs) depending upon their dimensions and use-cases. There is always a fixed number of open bins at a given time due to space constraints. Hence, before opening a new bin, one of the already open ones needs to be closed.
Depending on the pick conveyor’s length, maximum box dimension to be packed, and inter-box gap, the number of boxes available to the robot in look-ahead is fixed. Many warehouses, manufacturers who are responsible for packaging use a fixed meter length-based pick conveyor where a look-ahead of up to specific boxes is possible. The packing algorithm decides which box to pick considering the available boxes on the pick conveyor and the current state of the bin and the robotic arm packs the box accordingly before a new box arrives (typically 5-6 seconds). The following assumptions are made by the present disclosure.
The conveyor belt is circular or oval so that the boxes circulate on it until they are placed.
The boxes are cuboidal and non-deformable.
Whenever a box is picked up, one more box gets added to the conveyor so that the look-ahead remains the same.
Volume (single box) <= Volume (single bin).
Additionally, there are some robotic packing constraints:
The number of orientations available for placing a box is limited by the degree of freedom (DOF) of the robotic arm. The following constraint was imposed during experiments by the present disclosure, wherein the box’s largest dimension cannot be aligned along the arm’s vertical axis.
To ensure stability and tight packing, a box is placed on top of another (inside the bin), if the surface area of the bottom box is greater or equal to that of the top box.
Once a box is placed inside a container, it cannot be reshuffled to a new position (imposed to ensure real-time and quick decision making to ensure unclogged chutes).
The robotic arm has a sensitivity of say x cm (e.g., 1cm), and thus, any decimal dimensions are rounded off to the next cm.
Let L, B, H and l_i, b_i, and h_i denote the length, breadth, and height of a bin and the ith box, respectively. The bins are chosen to be of uniform size. To impose the packability assumption, max?{l_i, b_i, h_i} = min{L, B, H} are provided for every i. The front-left-bottom corner of the bin is treated as the origin and the interior of the bin is thus, treated as R^3. For each box i placed inside a bin, the coordinates (x_i, y_i, z_i) and (x ¯_i, y ¯_i, z ¯_i) denote the front-left-bottom and the back right-top corners, respectively. These two points uniquely determine the position of a box inside a bin.
The objective of the O3D-BPP technique as implemented by the system and method of the present disclosure is to minimize N where N denotes the number of bins used for packing the boxes. However, since there is a steady online stream of boxes arriving on a given day, it is very difficult to estimate the number of bins required for optimal packing of these boxes a priori. Therefore, space utilization of the packed bins is taken as an alternate measure by the present disclosure. Formally, it is:
Definition 1: The fill-rate efficiency of an algorithm (e.g., the O3D-BPP technique) for a closed bin is the ratio of total volume of all the boxes placed inside the bin to the volume of the bin. In other words,
fill-rate=(total volume of boxes inside a bin)/(volume of bin)×100(%) (1)
For an experiment, the overall fill-rate efficiency of the algorithm is described for only closed bins, i.e., if NC bins are closed during the experiment, the overall efficiency of the experiment equals the average of the fill-rates of these NC bins. The fill-rate efficiency also acts as an indirect measure for asymptotic competitive (approximation) ratio (ACR), which is the metric typically used for evaluating bin-packing algorithms. ACR is a direct measure of how many bins are used to pack the boxes in a dataset (e.g., for dataset refer “Christensen et al.”).
Referring to steps of FIG. 2, in an embodiment of the present disclosure at step 204, the one or more hardware processors 104 perform a virtual sorting of the object and the set of subsequent objects to be placed in the bin or in the at least one another bin among (or amongst) the plurality of bins based on the look ahead information to obtain a sorted list of objects. In other words, the system 100 performs virtual sorting of the object and the set of subsequent objects to be placed in the bin or in the at least one another bin from (or amongst) the plurality of bins based on the look ahead information to obtain the sorted list of objects. For instance, for the above-mentioned objects the sorted list of objects may be in the order say Object 3, Object 4, Object 1, and Object 2 respectively. At step 206, the one or more hardware processors 104 perform a virtual packing of one or more objects from the sorted list of objects in the bin or the another bin among (or amongst) the plurality of bins to obtain (i) a correct order of objects from the sorted list of objects along with a physical constraint (e.g., physical constraint may include bin dimension, ability of a specific bin to fit or accommodate a specific object, etc.) associated with the bin or the at least one another bin among (or amongst) the plurality of bins, and (ii) a position of the one or more objects from the correct order of objects in the bin or in the at least one another bin among (or amongst) the plurality of bins. For instance, Object 4, Object 3, Object 1, and Object 2 is the correct order of objects and their position identified would be say Object 4 to be placed in bin 1 below object x. Similarly, Object 3 to be placed in bin 1 above Object 4. It may be observed that after performing virtual packing, that objects 1 and 2 are to be positioned in left and right bottom corners of another bin say bin y. At step 208, the one or more hardware processors 104 place the one or more objects in the bin or in the at least one another bin among (or amongst) the plurality of bins based on the determined position. In other words, the system 100 performs places the one or more objects in the bin or in the at least one another bin from (or amongst) the plurality of bins based on the determined position. Based on the above positions being determined in step 206 (refer example above), the objects 1, 2, 3 and 4 are accordingly placed. The placement of objects may also be performed by one or more users once the virtual packing output is obtained using output from the virtual sorting, in one example embodiment of the present disclosure. Furthermore, in the context of the present disclosure, the system (or the one or more hardware processors 104) may be a robot, a humanoid, a drone, an unmanned aerial vehicle (UAV), or any other machine capable of carrying out complex series of actions as described herein. In another embodiment, the placement of objects in respective bins post virtual sorting and virtual packing may be performed with a combination of user(s)/system. The above steps of virtual sorting of objects, virtual packing and placing of objects in various bins are better understood by way of following illustrative description:
The first approach virtual sorting is based on multi-objective optimization and combines the best features of several heuristics within the ambit of mixed integer linear programming (MILP) to produce superior solutions.
Objective function: The objective function tries to capture the essence of the standard heuristics as,
min?{?_(i?P_L)¦(w_1 (x_i+y_i )+w_2.z ¯_i+w_3 ?_(j=1)^(N_B)¦?p(i,j).k?) } (2)
where P_L denotes the set of boxes on the conveyor serving as the look-ahead; l=|P_L |; p(i,j)?{0,1} is such that p(i,j)=1 if and only if, box i is placed in bin j, and finally N_B denotes the total number of currently open bins. Each currently open bin is given an index j?{1,…,N_B} where a smaller index implies that the bin was opened earlier.
The objective function comprises of three distinct components. Minimizing x_i and y_i for box i amounts to minimizing the spread of the boxes on the floor (column-building). Similarly, minimizing z ¯_i aims to reduce the overall height of the packing arrangement (floor-building). The third component mimics first fit where earlier opened bins are preferred.
Remark 1: The first and second components in the objective function act as countermeasures to each other. The non-negative weights w_1 and w_2 denote which component is given more importance and these seem to depend on the ratio of the bin’s height to its base area. For instance, if the bins in use have large height to surface area ratio; then w_1 should be greater than w_2, and vice versa. An analytic way to determine the optimal choice of weights corresponding to a height to surface area ratio is currently under consideration. On the other hand, w_3 is chosen very high (between 10 and 100) since the usual values of x_i, y_i, z ¯_i in cms are 2 orders of magnitude higher than p(i,j).
Constraints: The algorithm/technique discussed herein converts O3D-BPP with look-ahead into a sequence of offline bin packing problems. It is assumed that at time t with |P_L |=l, N_B bins are currently open, and N boxes already placed in the open bins. The offline (virtual) bin packing problem is to minimize the

packing,” INFORMS Journal on Computing, vol. 20, no. 3, pp. 368–384, 2008.” – also referred as Crainic et al.), and Jampack (using corner points (e.g., “M. Agarwal, S. Biswas, C. Sarkar, S. Paul, and H. S. Paul, “Jampacker: An efficient and reliable robotic bin packing system for cuboid objects.” IEEE Robotics and Automation Letters, vol. 6, no. 2, pp. 319–326, 2020.” – also referred as Agarwal et al.) to yield object packing, O-FF, O-BF, and O-JP, respectively. It should be noted that while FF and BF are online heuristics, they are not equipped to deal with additional information in the form of look-ahead. On the other hand, first-fit decreasing (FFD) and best-fit decreasing (BFD) use pre-sorted list of boxes which arrive one by one; and thus, are not online heuristics (e.g., “J. Balogh, J. Bekesi, G. Dosa, L. Epstein, and A. Levin, “A new and improved algorithm for online bin packing,” in 26th Annual European Symposium on Algorithms. Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, 2018, pp. 5:1–5:14.” – referred as Balogh et al.).
By applying the framework to algorithm 1, the system and method obtain a real-time deployable algorithm: wherein three subroutines in this algorithm are:
SORT: Sort boxes in P_L by decreasing volumes with ties broken by decreasing heights.
PACKRULE: Evaluate ?Loc?_(B_count ) for B_count ?P_L by minimizing (2) subject to constraints described earlier.
The input parameters are P ~_B and ?Loc?_(P ~_B ).
BOXPACK: Select and pack one box in P ~_B satisfying stand-alone stability and selection rule described earlier.
Since the above real-time deployable algorithm decomposes a problem of look-ahead l to a sequence of l problems with look-ahead of size 1 (with dependencies between them), the growth of computation time/box grows linearly for this compared to exponential for earlier technique mentioned above. To speed up real-time deployable algorithm further, the constraints on efficient packing (CEP) are dropped, since they do not offer any distinct advantage for a problem with look-ahead of size 1. The objective function (which captures floor and column building) and the constraints are enough to ensure that the packing arrangement is tight without any gaps.
EXPERIMENTS AND RESULTS
System and method of the present disclosure compare the performance of framework and algorithm as implemented herein against two baseline heuristics – First-fit (FF) and Best-fit (BF)) along with their adaptation with object packing (referred as OPack), i.e., OPack-FF (O-FF) and OPack-BF(O-BF). Additionally, these were also compared with OPack adaptation of Jampack (O-JP), which is a state-of-the-art offline bin packing algorithm. Experiments were performed with two types of data.
Industrial data: This data contained dimensions of boxes from their sorting center. 100 collections of boxes were generated by random sampling (25 for each industrial bin type): Long Distance Container (LDC) - 120 × 80 × 80?cm?^3, Roller-cage (RC) -120×70×160?cm?^3, Pallet (PAL) - 220×120×80?cm?^3, and Equal - 80×80×80?cm?^3. The total volume of each collection would fill 4 bins. The number of boxes in collections varied according to the bin dimensions. In addition, the box dimensions are not integers and hence, a ceiling function was used while placing the boxes. However, the fill-rate was calculated based on actual values.
Synthetic data: 30 collections of boxes were generated such that each collection would optimally fill 10 bins with dimensions 80 × 45 × 45?cm?^3. The box dimensions are integers; thus, accurate placement can be achieved. The boxes in each collection were sent on the conveyor in a completely random order. All 6 rotations were allowed, and at any time, up to 3 bins were open (bin with highest fill-rate is closed in case a new bin is required to be opened).
Results:
The experiments were run on an 8-core laptop with i7-6820HQ processor (2.7 GHz speed/16GB memory). The weights w_1, w_2, and w_3 in Equation (2) were set to 1, 1, and 100, respectively, for MPack (also referred as Present disclosure’s algorithm/ algo Present disclosure’s algorithm version1/v1 and interchangeably used herein) and MPackLite (also referred as Present disclosure’s algorithm/algo lite or Present disclosure’s algorithm version2/v2 and interchangeably used herein). The results for mean fill-rates (MFRs) and mean computation time/box are captured in Table 1. Whenever experiments were stopped either due to enormous computation time or lack of ability to provide new information, their entries are marked using “—”. The robotic arm is assumed to have a resolution of 1cm and hence, decimal box dimensions are rounded off to the next integer for placement.
The framework described and implemented by the present disclosure performed the best, at the cost of increased computation time; and hence, is used for benchmarking. Among the others, algorithm described herein performed the best against heuristics (for all datasets and bin-sizes); however, its computation time is between 10 and 30 times higher. However, all the computation times for algorithm are within the bounds of robot operation (5-6 seconds/box) and hence, it can be deployed in real-time. The MFRs for synthetic datasets is higher than real datasets for all algorithms because its boxes have integral dimensions. Also, it can be observed that while algorithm performs marginally lower than framework in terms of MFRs; its computation time growth is linear compared to exponential for algorithm (FIG. 3A). Additionally, as FIG. 3B shows, CEPs do not offer any advantage to algorithm. More specifically, FIG. 3A, with reference to FIGS. 1-2, depicts a graphical representation illustrating a comparison of computations times for long-distance containers (LDCs), in accordance with an embodiment of the present disclosure. FIG. 3B, with reference to FIGS. 1-2, depicts a graphical representation illustrating effect of constraints on efficient packing (CEP), in accordance with an embodiment of the present disclosure.
A comparison between FF/BF and O-FF/O-BF reveals the benefits of using Object Packing (OPack) with virtual packing. While the mean fill-rates (MFRs) for FF and BF are stagnant with increasing l; the same show an increasing trend for O-FF and O-BF. For instance, for the case of Pallet: the MFR of FF and O-FF vary from 67.43% to 67.69% and from 67.43% to 70.24%, respectively, from l = 1 to l = 5 (resulting in a relative improvement of ˜ 4.2% for O-FF over FF). Similar behavior can be observed across bin dimensions. This clearly shows how virtual packing helps utilize information from PL. On the other hand, due to the extra steps of virtual packing, the computation time/box also increases with respect to l. Table 1 shows that O-FF performs better than O-BF and O-JP. This is due to the setup where the bins opened earlier with highest-fill rates have to be closed for new ones to be opened. Thus, preferring the earliest opened bins (rule of FF) yields highest efficiency. One can conjecture that if all the available bins are opened concurrently, then O-BF and O-FF would have similar efficiencies since ACR(FF) =ACR(BF) = 1.7.

[062] In the present disclosure, a generalized framework OPack has been presented for solving the online robotic bin-packing problem in an automated sorting center setup with partial information about upcoming boxes. The framework OPack can adapt baseline algorithms (online or offline) to this setup by extracting and utilizing the extra information in the look-ahead; thus, improving the algorithms' performance. Applying OPack to integer-programming method MPack (also referred as Present disclosure’s algorithm/algo Present disclosure’s algorithm version1/v1 and interchangeably used herein) yields MPackLite (also referred as Present disclosure’s algorithm/algo lite or Present disclosure’s algorithm version2/v2 and interchangeably used herein) which is receding horizon MILP-based algorithm which performs superior to baseline heuristic approaches while maintaining a computational time within bounds of robot operation.
[063] The written description describes the subject matter herein to enable any person skilled in the art to make and use the embodiments. The scope of the subject matter embodiments is defined by the claims and may include other modifications that occur to those skilled in the art. Such other modifications are intended to be within the scope of the claims if they have similar elements that do not differ from the literal language of the claims or if they include equivalent elements with insubstantial differences from the literal language of the claims.
[064] It is to be understood that the scope of the protection is extended to such a program and in addition to a computer-readable means having a message therein; such computer-readable storage means contain program-code means for implementation of one or more steps of the method, when the program runs on a server or mobile device or any suitable programmable device. The hardware device can be any kind of device which can be programmed including e.g., any kind of computer like a server or a personal computer, or the like, or any combination thereof. The device may also include means which could be e.g., hardware means like e.g., an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a combination of hardware and software means, e.g., an ASIC and an FPGA, or at least one microprocessor and at least one memory with software processing components located therein. Thus, the means can include both hardware means and software means. The method embodiments described herein could be implemented in hardware and software. The device may also include software means. Alternatively, the embodiments may be implemented on different hardware devices, e.g., using a plurality of CPUs.
[065] The embodiments herein can comprise hardware and software elements. The embodiments that are implemented in software include but are not limited to, firmware, resident software, microcode, etc. The functions performed by various components described herein may be implemented in other components or combinations of other components. For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can comprise, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
[066] The illustrated steps are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope of the disclosed embodiments. Also, the words “comprising,” “having,” “containing,” and “including,” and other similar forms are intended to be equivalent in meaning and be open ended in that an item or items following any one of these words is not meant to be an exhaustive listing of such item or items, or meant to be limited to only the listed item or items. It must also be noted that as used herein and in the appended claims, the singular forms “a,” “an,” and “the” include plural references unless the context clearly dictates otherwise.
[067] Furthermore, one or more computer-readable storage media may be utilized in implementing embodiments consistent with the present disclosure. A computer-readable storage medium refers to any type of physical memory on which information or data readable by a processor may be stored. Thus, a computer-readable storage medium may store instructions for execution by one or more processors, including instructions for causing the processor(s) to perform steps or stages consistent with the embodiments described herein. The term “computer-readable medium” should be understood to include tangible items and exclude carrier waves and transient signals, i.e., be non-transitory. Examples include random access memory (RAM), read-only memory (ROM), volatile memory, nonvolatile memory, hard drives, CD ROMs, DVDs, flash drives, disks, and any other known physical storage media.
[068] It is intended that the disclosure and examples be considered as exemplary only, with a true scope of disclosed embodiments being indicated by the following claims.

Documents

Application Documents

# Name Date
1 202121044808-STATEMENT OF UNDERTAKING (FORM 3) [03-10-2021(online)].pdf 2021-10-03
2 202121044808-FORM 1 [03-10-2021(online)].pdf 2021-10-03
3 202121044808-FIGURE OF ABSTRACT [03-10-2021(online)].jpg 2021-10-03
4 202121044808-DRAWINGS [03-10-2021(online)].pdf 2021-10-03
5 202121044808-DECLARATION OF INVENTORSHIP (FORM 5) [03-10-2021(online)].pdf 2021-10-03
6 202121044808-COMPLETE SPECIFICATION [03-10-2021(online)].pdf 2021-10-03
7 Abstract1.jpg 2021-12-06