The disclosed embodiments relate generally to methods and systems for assembling packages.
Assembly lines require a strict processing order to manufacture goods, such as packaging products. Assembly lines that produce packages are adjusted based on the structure of the package being assembled. Each package assembly process utilizes specialized equipment, possibly including robotic machinery and/or a team of workers. The equipment requires a specific set of instructions for each type of package assembled and workers are given instructions on how to manually perform the steps necessary to create a given type of package. As such, packaging assembly systems are designed to accommodate specific predetermined package structures.
However, such systems are often adapted to permit customization or alteration of the package based on customer desires. For example, while an automobile production line could be configured to produce a particular make and model of car, the assembled cars typically have different specifications, such as leather or cloth seating, a standard CD player or a multidisc CD changer, and exterior paint color. Similarly, packaging systems can produce packages with different designs colors and/or labels.
These variations in packaging can cause significant delays in assembly time. As such, it is time consuming and expensive to personalize packages or change the design of a package for a short production run.
In an embodiment, a method of automatically assembling a package includes: (i) maintaining a data structure that includes a dynamic rule set for package productions (ii) selecting a desired package for assembly; (iii) automatically developing an assembly sequence to create a three dimensional package from the dynamic rule set based on the desired package; and (iv) assembling the desired package using the assembly sequence.
In an alternate embodiment, a system for automatically assembling a package includes: (i) a knowledge base configured to maintain a dynamic rule set for package production; (ii) a computing device configured to select a desired package for assembly and automatically develop an assembly sequence to create a three dimensional package from the dynamic rule set based on the desired package; and (iii) one or more assembly devices configured to assemble the desired package using the assembly sequence.
In an alternate embodiment, a method of automatically assembling a package includes (i) maintaining a data structure comprising a dynamic rule set for package production, receiving a selection of a desired package for assembly; (ii) accessing the rule set to automatically develop a sequence of cuts, creases and folds to create a three dimensional package containing multiple facets from the dynamic rule set based on the desired package, wherein the sequence is dynamically created and not pre-defined; and (iii) assembling the three-dimensional package using the sequence of cuts, creases and folds.
Aspects, features, benefits and advantages of the embodiments described herein will be apparent with regard to the following description, appended claims, and accompanying drawings where:
Before the present methods are described, it is to be understood that this invention is not limited to the particular systems, methodologies or protocols described as these may vary. It is also to be understood that the terminology used herein is for the purpose of describing particular embodiments only, and is not intended to limit the scope of the present disclosure which will be limited only by the appended claims.
As used herein and in the appended claims, the singular forms “a,” “an,” and “the” include the plural reference unless the context clearly dictates otherwise. Thus, for example, reference to a “document” is a reference to one or more documents and equivalents thereof known to those skilled in the art, and so forth. Unless defined otherwise, all technical and scientific terms used herein have the same meanings as commonly understood by one of ordinary skill in the art. As used herein, the term “comprising” means “including, but not limited to.”
An “assembly device” is a device or machine used in an assembly line that performs an operation. For example, an assembly device may be used in a package construction process. An assembly device may perform operations such as, but not limited to, printing, scanning, faxing, folding, sealing, creasing and/or perforating.
A “computing device” processes data to perform one or more functions. A computing device may be any processor-based device such as, for example, a server, a personal computer, a personal digital assistant, a web-enabled phone, a smart terminal, a dumb terminal and/or other electronic device capable of communicating in a networked environment.
A “facet” is a part of the structure of a package. For example, a facet may be a flap or side of the desired package.
A “facet identifier” is used to identity a particular facet on the package. Facet identifiers may include, but are not limited to, alphanumeric characters.
A “knowledge base” is an electronic repository of searchable data. A knowledge base may refer to a software component, such as, but not limited to, a database or a table. Alternatively, a knowledge base may refer to a hardware component, such as, but not limited to, a tangible storage medium.
A “node” is a branch of a tree in a tree representation. Each node represents a facet of the package.
An “adjacent arc” is a connection element depicted in a tree representation that connects two nodes when the facets corresponding to the node are adjacent to each other. For example, if node B has an adjacent arc to node C, then facet B is adjacent to facet C.
An “origination node” is a node where an arc begins.
A “destination node” is a node where an arc ends. As depicted in the figures herein, an arrow of an arc points at a destination node.
A “dependency arc” is a connection element depicted in a tree representation that connects an origination node to a destination node. A dependency are indicates that an origination node must be processed before a destination node, or dependent node, is processed. For example, if a dependency arc connects node B to node A, node B must be processed prior to node A.
A “dependency relationship pair” is an origination node and a destination node of a particular dependency arc. In an embodiment, a dependency relationship pair may refer to node values that are added to a dependency sequence.
A computing device 110 may function as an assembly orchestrator. As such, the computing device 110 may provide assembly coordination of one or more assembly devices 120, 130, 140, including, but not limited to, assembly planning and assembly management. Assembly planning may include, but is not limited to, determining an assembly sequence. Assembly management may include, but is not limited to, ensuring assembly integrity, quality control, error recovery, status and/or reporting.
An assembly device 120, 130, 140 may access a knowledge base 150. Alternatively, the knowledge base 150 may be contained within one or more of the assembly devices 120, 130, 140. In an embodiment, the knowledge base 150 may include assembly capabilities for each assembly device. Assembly capabilities may include, but are not limited to, the ability to fold, crease, seal, perforate and/or print. Assembly capabilities may also include the amount of time it takes for an assembly device to fold, crease, seal, perforate and/or print.
The knowledge base 150, the computing device 110 and the one or more assembly devices 120, 130, 140 may communicate via a network 100, such as a local area network (LAN), a wide area network (WAN), the Internet, a universal serial bus (USB) network, a Bluetooth network and/or any other communications network. In an embodiment, the knowledge base 150 may be distributed across a plurality of devices including, but not limited to, the computing device 110 and/or the one or more assembly devices 120, 130, 140. If the knowledge base 150, or a portion thereof, is contained within the one or more assembly devices 120, 130, 140 or the computing device 110, the knowledge base may directly communicate with the computing device or the assembly devices instead of via the network 100.
A desired package may be selected 210 for assembly. In an embodiment, the package may be automatically selected 210. In an embodiment, a package may he selected 210 by a user. In an embodiment, a user may select 210 a package from a predetermined set of packages. In an embodiment, a user may create or design 210 a package.
Based on the desired package and the assembly capabilities for one or more assembly devices, an assembly sequence may be automatically developed 215. Automatically developing an assembly sequence 215 may include applying the dynamic rule set to a knowledge base of assembly capabilities for one or more assembly devices. Various operations may be performed to assemble the package. For example, the packaging material may be folded, sealed, creased and/or perforated during assembly.
A facet identifier may be used to identify each facet of the desired package. In
Referring back to
In an embodiment, automatically developing 215 an assembly sequence may include automatically developing 220 a folding sequence. Assembling the desired package may include automatically applying, using the folding sequence, a plurality of folds. Folding may include simply creating an angle and or overlapping one or more facets, optionally in a manner such that the facets are mated (i.e., joined or attached) such as by a tab/slot, overlap, or other joining feature.
In an embodiment, automatically developing 215 an assembly sequence may include automatically developing 225 a sealing sequence. Assembling the desired package may include automatically applying, using the sealing sequence, a plurality of seals. Sealing may include, but is not limited to, gluing, taping, stapling, sticking, pasting, bonding and/or other adhesive materials.
In an embodiment, automatically developing 215 an assembly sequence may include automatically developing 230 a crease application sequence. Assembling the desired package may include automatically applying, using the crease application sequence, a plurality of creases.
In an embodiment, automatically developing 215 an assembly sequence may include automatically developing 235 a perforating sequence. Assembling the desired package may include automatically applying using the perforating sequence, a plurality of perforations.
Dependency folds are constraints that define an order for the assembly sequence. A dependency fold is a type of dependency arc. Based on the operation being performed, the dependency arcs may be referred to as dependency perforations, dependency folds and/or dependency seals. Accordingly, the term “dependency folds” may be used in place of dependency arcs.
Dependency folds may be used to define the order in which folds are performed during a package assembly. For example, if facet A is dependent on facet B, then facet A may overlap facet B when the package is assembled. In an embodiment, the dependency folds may be calculated based on the inter-related facets that provide structural attachment. In an alternate embodiment, the dependency folds may be determined by a structural designer. In an embodiment, the dependency folds may determine constraints used in the assembly algorithm for deriving the appropriate sequence for folding operations performed by an assembly line.
After the root of the assembly tree is determined, the various facets of the package may be added to the tree. Each facet of the package may be depicted by a node. The nodes of the tree may be connected by adjacent arcs, which are depicted in
Based on the layout of the tree representation, such as the one shown in
The process may continue with the next highest node in the tree, node F5505. Two dependency arcs originate from Node F5505 The dependent node F2502 may be processed by adding the dependency relationship pair to the dependency sequence and removing the dependency arc from the tree representation. Also the dependent node F8508 may be processed by adding the dependency relationship pair to the dependency sequence and removing the dependency arc from the tree representation.
After node F5505 is processed the processing may continue to node F7507. As node F7507 has no dependency arcs, the processing may continue to node F2502. As node F2502 has no dependency arcs, the process may continue to node F3503. The processing of each node may continue until all dependency arcs on the tree representation are removed from the tree representation and the dependency relationship pairs are added to the dependency sequence.
When all dependency arcs have been removed from the tree representation, the dependency sequence may be completely described and may be processed.
Returning to
As shown in
It will be appreciated that various of the above-disclosed and other features and functions, or alternatives thereof, may be desirably combined into many other different systems or applications. Also that various presently unforeseen or unanticipated alternatives, modifications, variations or improvements therein may be subsequently made by those skilled in the art which are also intended to be encompassed by the following claims.