The present disclosure generally relates to singulating items, and more specifically, to an automated system that uses multiple conveyor belts for singulating items.
Many companies store, package, and ship items and/or groups of items from different types of facilities (e.g., warehouse, plant, distribution center, storehouse, factory, etc.). These various activities and the overall flow or movement of items within the facility (e.g., from receiving the item(s) to storing the item(s), from storing the item(s) to shipping the item(s), etc.) is often labor intensive. The process of singulating generally involves separating (or isolating) an item from a larger group of items (e.g., in a container, on a conveyor belt, etc.) for downstream processing.
Various embodiments in accordance with the present disclosure will be described with reference to the drawings, where like designations denote like elements.
FIG. 8C1 further illustrates a portion of the example singulation tool illustrated in
FIG. 8D1 further illustrates a portion of the example singulation tool illustrated in
FIG. 9A1 further illustrates a portion of the example divert tool illustrated in
Embodiments herein describe an automated system for singulating items, e.g., for shipping, sorting, etc. The system includes a singulation tool (or machine) that singulates items to a specified gap distance (e.g., to achieve a certain processing rate of units per hour (UPH)), a scan tool that scans and processes items output from the singulation tool, and a kickback (or divert) tool that is configured to divert (or re-direct) non-singulated items (output from the singulation tool) back to the singulation tool via a recirculation line of conveyor belts. The singulation tool is a multi-tier conveyor belt system with multiple identical conveyor belts arranged at different orientations and heights. Each of the conveyor belts is equipped with multiple sensors to detect (e.g., presence and position of) item(s) on the conveyor belt. Items may transition onto an initial upstream conveyor belt and subsequently move through several (intermediary) downstream conveyor belts until reaching a last downstream conveyor belt of the singulation tool. As items are transitioned into the singulation tool, some of the items may be touching, partially overlapping, and/or laying on one another. As described further below, each of the conveyor belts in the singulation tool is independently controlled such that the items are singulated (e.g., separated in distance with respect to one another such that the items are no longer touching, overlapping, and/or laying on one another) as they move from the initial upstream conveyor belt to the last downstream conveyor belt in the singulation tool.
After exiting the singulation tool, items are transitioned through the scan tool. The scan tool captures identifying information (e.g., radio frequency identification (RFID) tag, barcodes, such as universal product code (UPC), stock keeping unit (SKU), etc.) associated with each item and verifies the item based on the information. In one embodiment, the scan tool can determine whether an item output from the singulation tool is properly singulated (e.g., separated by a determined gap distance from another item) based on the verification. After passing through the scan tool, items are transitioned through the divert tool, which is configured to divert items that are not singulated to a recirculation line. For example, items that the scan tool is unable to read and/or that fail verification are recirculated back to the singulation tool to undergo singulation again.
In this particular embodiment, the equipment area 110 includes a loading area 112, singulation tool 114, scan tool 116, divert tool 118, and junction segments 120, 122, 124, 126, 128, and 132. The junction segments 120, 122, 124, 126, 128, and 132 generally represent sections of the automated singulation system 100 in which items are moved (or transitioned) within the equipment area 110. The junction segments 120, 122, 124, 126, 128, and 132 can have a variety of different configurations (e.g., shape, material, angle, height (or elevation), etc.) suitable for a given equipment area 110 within a facility. For example, one or more of the junction segments 120, 122, 124, 126, 128, and 132 can be oriented horizontally, tilted (e.g., with an inclination), etc. In some examples, one or more of the junction segments 120, 122, 124, 126, 128, and 132 may be at a different height (or elevation) than another one or more of the junction segments 120, 122, 124, 126, 128, and 132. In some examples, one or more of the junction segments 120, 122, 124, 126, 128, and 132 can have a surface shape that is substantially planar, crowned, domed, concave, convex, irregular, or any other shape or combination of shapes. Additionally, the material(s) that forms the top surface of the junction segments 120, 122, 124, 126, 128, and 132 may be formed of one or more of a variety of materials (e.g., metal, plastic, rubber, fabric, carpet, wood, tile, etc.). In one embodiment, one or more of the junction segments 120, 122, 124, 126, 128, and 132 includes a conveyor belt or a series of conveyor belts (that may have different configurations).
The loading area 112 generally represents an area in which non-singulated items are received by the automated singulation system 100. In one embodiment, the non-singulated items may be received through loaded totes (or containers) (e.g., totes filled with multiple non-singulated items). For example, the loading area 112 may receive a pallet or cart with multiple totes, each including multiple items. In some examples, the totes may include items that were picked from an inventory area and that correspond to various shipment sets. The totes may be of various sizes and shapes. In one embodiment, the non-singulated items may be received at the loading area 112 as individual items. The loading area 112 may receive loaded totes and/or individual items using mechanical movement (e.g., using conveyor belts), motorized movement (e.g., using forklifts or carts), robotic movement, manual placement, and so forth.
The loading area 112 may be any space or configuration suitable for operation(s) in a given facility. That is, the loading area 112 can have a variety of shapes, sizes, surface materials, and/or other properties. In one particular embodiment, at least a portion of the loading area 112 may be at a different height (or elevation) than the entrance to the singulation tool 114. For example, the loading area 112 can include an incline (cleated) conveyor belt that transitions items from the ground floor of a facility to the singulation tool 114. In another example, the loading area 112 can include a series of conveyor belts at the elevated height of the singulation tool 114 that transition items to the singulation tool 114 from another location within the facility.
From the loading area 112, loaded totes and/or individual items transition to the singulation tool 114 via junction segment 132. The singulation tool 114 includes multiple singulation modules 130 (also referred to as conveyor belts) deployed in multiple tiers (or levels or hierarchies). As described further below, each singulation module 130 is a conveyor belt equipped with multiple sensors for detecting items on the conveyor belt. In one embodiment, each singulation module 130 within the singulation tool 114 has an identical physical structure (e.g., size, shape, material), but a different orientation and/or placement within the singulation tool 114. The singulation tool 114 may have various configurations (or shapes), e.g., depending on how the singulation modules 130 are deployed. In one embodiment, the singulation modules 130 may be mounted in a spiral configuration. For example,
Within a given configuration of the singulation tool 114, each singulation module 130 is placed at a different height with respect to another singulation module 130, such that the singulation tool 114 includes a series (or sequence) of singulation modules 130 waterfalling from one to the next. That is, each singulation module 130 is an upstream singulation module and/or a downstream singulation module 130 with respect to another singulation module 130. As shown in
As shown in
The (local) controller 150 can be a processor or a micro-controller which receives commands from the master controller 140 (e.g., using the network interface 156) and issues corresponding commands to the motor 152, which controls the conveyor belt of the singulation module 130. In addition to receiving information from the master controller 140, the controller 150 can transmit information to the master controller 140 using the network interface 156. For example, the controller 150 can send information from sensors 154 (e.g., indicating detection and/or position of items on the singulation module 130), information from motor 152 (e.g., regarding current speed of the singulation module), and the like to the master controller 140. As described further below, the master controller 140 may use the information received from each controller 150 to determine which commands (e.g., stop command, start command, etc.) to send to the controllers 150. The controller 150 can include solely hardware and firmware or can include combinations of hardware and software elements. The network interface 156 may communicate using a wired communication protocol (e.g., Ethernet), a wireless communication protocol (e.g., WiFi), etc.
Note that while
The motor 152 controls the on/off operation and speed of the singulation module 130, based on commands received from the controller 150 and/or master controller 140. The motor 152 can include, for example, an alternating current (AC) motor, direct current (DC) motor, motor driven roller, servo motor (e.g., integrated servo motor), etc. Sensors 154 are generally used for detecting items and/or location (or position) of items on the singulation module 130. The sensors 154, for example, can include proximity sensors, infrared (IR) sensors, laser (detection) sensors, array sensors, etc. In one embodiment, each singulation module 130 includes a position sensor (e.g., array sensor) for detecting presence and position (or location) of items on the singulation module 130. In addition to the presence sensor, in some embodiments, each singulation module can include a presence sensor (e.g., laser sensor) for detecting low profile (or thin) items, such as envelopes, letters, etc. In one embodiment, the position sensor (e.g., array sensor) is a light curtain array with multiple zones for item detection and position determination.
As shown in
As shown in
Note that while
Based on the identifying information, the master controller 140 and/or the cloud computing service 160 can determine whether the item associated with the identifying information was successfully singulated within the singulation tool 114. For example, if the master controller 140 and/or the cloud computing service 160 receives multiple valid barcodes from the scan tool 116 for a single item, the master controller 140 and/or the cloud computing service 160 can determine that the item was not successfully singulated within the singulation tool 114. In another example, if the master controller 140 and/or the cloud computing service 160 receives valid barcodes for different items within a predetermined amount of time, the master controller 140 and/or the cloud computing service 160 can determine that the items were not successfully singulated (e.g., since they are within a specified gap distance).
As items exit the scan tool 116, the items are transitioned through the divert tool 118. The divert tool 118 is configured to pass through singulated items via junction segments 120 (e.g., to other phases of the facility) and divert (or re-circulate) non-singulated items back to the singulation tool 114 via junction segments 122, 124, 126, 128, and 132. As shown in
Note that while
In some cases, horizontal divert systems (also referred to as horizontal diverting systems, horizontal recirculating systems, etc.) may not be suitable for diverting a wide variety of different items (e.g., different sizes, different shapes, etc.) at a high rate. As such, in some embodiments, the divert tool 118 may be implemented as a vertical divert system (e.g., as opposed to a horizontal divert system). Assuming the vertical divert system includes two conveyor belts, each of the conveyor belts may pivot vertically (in different directions) around an end hinge point. A first of the two conveyor belts may pivot vertically around a first hinge point in a first direction (e.g., downwards) and a second of the two conveyor belts may pivot vertically around a second hinge point in a second direction (e.g., upwards). Upon detecting an item (e.g., via sensors 174), the divert tool 118 may determine whether the item is a singulated item or a non-singulated item based on information received from the master controller 140 (e.g., via network interface 176). If the item is singulated, the controller 170 and/or master controller 140 may refrain from actuating the motor 172 to pivot the conveyor belts. Instead, the controller 170 and/or master controller 140 may control the conveyor belts to transition the item through the divert tool 118. On the other hand, if the item is non-singulated, the controller 170 and/or master controller 140 may control the motor 172 to pivot the conveyor belts. When pivoted, the item may fall from the dual conveyor belts to another conveyor belt (e.g., junction segment 122) beneath junction segment 120 that transitions the item back to the singulation tool 114 for another singulation attempt.
The apparatus 500 includes a frame 530, which provides a structure for housing and/or mounting various components (e.g., sensors, motors, locking mechanisms, belt, rollers, etc.) of the apparatus 500. In one embodiment, the frame 530 includes a lightweight metallic material (e.g., aluminum, aluminum alloy, etc.) that enables the apparatus 500 to have a modular structure. For example, the frame 530 allows for apparatus 500 to be easily handled for maintenance and transportation, components of the apparatus 500 to be removed/replaced, and the like. The frame 530 includes a first side member 532 and a second side member 534, which are connected to each other via connecting members 536 and 538. As shown, e.g., in
The apparatus 500 includes a (front) roller 520, a (rear) roller 522, and a belt 512 (collectively referred to as a conveyor belt) that rotates around the rollers 520 and 522. As shown, each end of the rollers 520 and 522 is attached to a different side of the frame 530 (e.g., via screws, bolts, brackets, etc.). For example, one end of the roller 520 is attached to the side member 534 of the frame 530 and the opposite end of the roller 520 is attached to the side member 532 of the frame 530. Similarly, one end of the roller 522 is attached to the side member 534 of the frame 530 and the opposite end of the roller 520 is attached to the side member 532 of the frame 530. A guide rail 516 is attached to the side member 532 of the frame 530 and a guide rail 514 is attached to the side member 534 of the frame 530. The frame 530 houses a motor 550 (e.g., servo motor) and pulley drive system 580 for rotating the belt 512 around the rollers 520 and 522. In particular, the motor 550 is attached to the side member 534 of the frame 530 below the belt 512. In one embodiment, the pulley drive system 580 is a tooth belt drive system. A power port 590 and a network interface 570 (e.g., Ethernet interface) for the apparatus 500 are attached to the connecting member 538 of the frame 530. The network interface 570 is one example of the network interface 156 of the singulation module 130 depicted in
In some embodiments, the belt 512 may include multiple layers, e.g., in order to reduce likelihood of items being damaged when they impact the surface of the belt 512. As shown in
As shown, the apparatus 500 also includes magnetic locks 502 A-C that are fixed to the frame 530 (e.g., via screws, bolts, brackets, etc.). In particular, magnetic locks 502A and 502B are attached to a bottom portion of the side member 532 of the frame 530 and magnetic lock 502C is attached to a bottom portion of the side member 534 of the frame 530. As described further below, the magnetic locks 502 A-C are used to secure the apparatus 500 to the (frame of the) singulation tool 114. For example, the magnetic locks 502 A-C provide a quick mechanism for engaging/disengaging the apparatus 500 to/from a (horizontal) mounting location of the singulation tool 114. This allows for the apparatus 500 to be quickly changed out for maintenance, relocated to a different location of the singulation tool 114, etc. Note, that the magnetic locks 502 A-C are just one example of a suitable locking mechanism for securing the apparatus 500 to the singulation tool 114. In general, the apparatus 500 can be secured to the singulation tool 114 via a variety of mechanical locking mechanisms (e.g., clamps, pins, etc.) and electric locking mechanisms that allow the apparatus 500 to have modularity.
In addition to the magnetic locks 502 A-C, the apparatus 500 includes four locating pins 560 for aligning the apparatus to the particular mounting location of the singulation tool 114. Two locating pins 560 are attached to the bottom of side member 532 of the frame 530 and two locating pins 560 are attached to the bottom of side member 534 of the frame 530. As described further below, the singulation tool 114 may include a set of frame members (or connectors) that define a particular mounting location for each apparatus 500. The set of frame members may include holes with locations corresponding to the locating pins 560, such that the locating pins 560 can drop into the holes when the apparatus 500 is aligned over the hole locations. This feature allows the apparatus 500 to sit in place within the frame 530 of the singulation tool 114 and provides a fail-safe during operation of the apparatus 500. For example, the locating pins 560 can reduce the likelihood of the apparatus 500 coming out of position during operation in situations where the apparatus 500 is not properly secured to the frame via the magnetic locks 502 A-C.
As noted, the singulation module 130 may include multiple sensors for detecting items placed on the singulation module 130. Here, the apparatus 500 includes an array sensor 508 housed within the guide rails 514 and 516. The array sensor 508 is used for detecting items that may be present on the belt 512, e.g., along sensing length 592. The array sensor 508 includes multiple emitter elements 508A housed within the guide rail 514 and multiple receiver elements 508B housed within the guide rail 516. The multiple emitter elements 508A and the multiple receiver elements 508B are closely spaced apart (e.g., on the order of millimeters) along the sensing length 592. The array sensor 508 can detect item(s) on the belt 512, based on the particular beams blocked by the item(s). As described further below with reference to
In addition to the array sensor 508, the apparatus 500 includes a laser sensor 504 with a transmitting element 504A and a receiving element 504B. The transmitting element 504A is attached to a track 506A, which is attached to the side member 532 of the frame 530 (e.g., via screws, bolts, brackets, etc.). The receiving element 504B is attached to a track 506B, which is attached to the side member 534 of the frame 530 (e.g., via screws, bolts, brackets, etc.). The tracks 506A and 506B allow for adjusting the position of the laser sensor 504 (e.g., along a length of the tracks 506A and 506B). The laser sensor 504 is used for detecting thin (or low profile or low height) items (e.g., envelopes, credit cards, giftcards, mail, etc.) that may not be detected by the array sensor 508.
The apparatus 500 includes a sensor configuration module 524 attached to the side member 523 of the frame 530. The sensor configuration module 524 provides easy accessibility to the laser sensor 504, e.g., for sensor calibration. The apparatus 500 also includes a plate 510 attached between the side members 532 and 534 of the frame 530 at the front of the apparatus 500. The plate 510 helps to reduce jams that may occur in the gaps between the apparatus and another (downstream) apparatus 500 when items transition from the apparatus 500 to the other (downstream) apparatus 500. As shown in
By using the apparatus 500 for the structure of the singulation module 130, the singulation module 130 can be quickly changed out with any other singulation module 130 within the singulation tool 114 in cases of, e.g., failure of a singulation module 130, maintenance of a singulation module 130, etc. In this manner, embodiments provide a modular singulation tool with multiple identical singulation modules 130.
The frame members 610 provide a flat horizontal mounting surface for attaching to a singulation module 130. Here, each frame member 610 includes one or more clamp plates 612 that provides a flat mounting surface for magnetic lock(s) 502 of the apparatus 500. In general, the number of frame members 610 attached to a vertical support member 606 and/or the number of clamp plates attached to a frame member 610 may depend on the particular configuration (e.g., spiral, whirlpool, etc.) of the singulation tool 114.
In this embodiment, a mounting location for each singulation module 130 (e.g., apparatus 500) is provided by two frame members 610. Referring to
In some embodiments, the frame structure 600 can include an internal guard structure (or shielding) 620 to protect vertical support members 606 E-G (e.g., from damage), prevent items from falling out of the singulation modules 130 into an interior of the frame structure 600, etc. The guard structure 620 can include any suitable material, e.g., plastic, metal, etc. In one particular embodiment, the guard structure 620 includes a polycarbonate material housed within a metallic (e.g., aluminum) frame. In some embodiments, the frame structure 600 can include pockets 622 integrated within the base 602 for transporting the singulation tool 114. For example, in one embodiment, the base 602 can be a pallet base with forklift pockets 622 (e.g., for easy transportation and reconfiguration on site).
As shown in
In this particular embodiment, the apparatus 800 includes multiple identical apparatuses 500 A-N (e.g., singulation modules 130) deployed in a spiral configuration. Each apparatus 500 is an upstream singulation module and/or a downstream singulation module with respect to another apparatus 500 in the apparatus 800. That is, each apparatus 500 is disposed adjacent to another apparatus 500, such that the belt 512 of the apparatus 500 is at a height above or below the belt 512 of the other apparatus. For example, the first apparatus 500A is an upstream singulation module with respect to apparatus 500B, apparatus 500B is a downstream singulation module with respect to apparatus 500A and an upstream singulation module with respect to apparatus 500C, and so on. FIG. 8C1 shows one reference example of the waterfall height difference between apparatus 500M and apparatus 100N. FIG. 8D1 shows another reference example of the waterfall (corner) height difference between apparatus 500C and apparatus 500D.
The apparatus 800 may include apparatuses 500 deployed in multiple levels (or tiers) (e.g., as shown in
The apparatus 900 includes a first conveyor belt 902 and a second conveyor belt 904, each configured to rotate vertically around an end hinge point at the same time. For example, the first conveyor belt 902 is configured to rotate around roller 906 in a first vertical direction (e.g., negative z direction) and the second conveyor belt 904 is configured to rotate around roller 908 in a second vertical direction (e.g., positive z direction). The apparatus 900 includes a motor (e.g., servo motor) that drives two pulleys 910 and 920, e.g., in order to actuate both conveyor belts 902 and 904 simultaneously. As shown in FIG. 9A1, in some embodiments, the apparatus 900 can use a clamping mechanism 924 to suspend the end of the conveyor belt 904, e.g., in order to create identical ranges of motion between the two conveyor belts 902 and 904.
In one embodiment, the apparatus 900 can be used to pass through successfully singulated items that exit the scan tool 116 and/or divert unsuccessfully singulated (e.g., non-singulated) items back to the singulation tool 114. As shown in
In some embodiments, the apparatus 1100 includes stops (e.g., rubber stops) 1102 and 1104 as an additional fail-safe, e.g., to prevent the over-travel of the switching motion of conveyor belts 904 and 902, respectively. As shown, the motor 930 and control system 1006 (e.g., similar to controller 170) are mounted outside of the switch frame to improve access for maintenance.
As discussed above, each singulation module 130 can include multiple sensors (e.g., array sensors, laser sensors, etc.) for detecting items on the singulation module 130. In some embodiments, the singulation module 130 can use position (e.g., array) sensors to detect position of items on the singulation module 130.
In this particular embodiment, the singulation module 130 can determine which of the zones 1-5 a particular item is located in based on the particular beams (e.g., in the zone) that are blocked by an item. Using item 1208 as an example, the singulation module 130 can detect that item 1208 is in zone 5 based on the beams that are blocked by item 1208 (e.g., in zone 5). In another example, the singulation module can detect that an item (e.g., item 1206) is in multiple zones 3 and 4.
In some cases, the singulation module 130 may be unable to determine if there are multiple items present on the singulation module from the array sensor. For example, items 1202 and 1204 may appear as a single item to the array sensor, since at least a portion of the items 1202 and 1204 are in parallel. Additionally, in some cases, the array sensor may not be able to detect low-profile items (e.g., item 1210) on the singulation module. In these cases, the singulation module can use a laser sensor to detect low-profile items, such as item 1210. While the singulation module 130 can use the array sensor to detect position of items along length 1220, the array sensor may not be able to determine position of items along width 1222.
The master controller 140 independently controls the speed of each singulation module 130 within the singulation tool 114, based on sensor feedback from one or more of the singulation modules 130, the configuration of the singulation modules 130 (e.g., linear or perpendicular orientation with respect to other singulation modules 130), etc. In some embodiments, the master controller 140 controls the singulation modules 130, so that items are singulated to a specified gap distance in order to maintain a predetermined rate (e.g., UPH). In one example, the rate may be a predetermined number of units that exit the singulation tool 114 in a given time period. In another example, the rate may be a predetermined number of units that are scanned by the scan tool 116 (e.g., after exiting the singulation tool 114). As described below, to maintain the rate, the master controller 140 can control the singulation modules 130 to increase gaps between items as they transition through the singulation tool 114 and/or decrease gaps between items as they transition through the singulation tool 114.
Here, as shown in
Because the master controller 140 may not be able to determine the exact position of the item 1602 on singulation module 130A along the width 1622, the master controller 140 may refrain from running singulation module 130A (e.g., when item 1602 is detected by the laser sensor on singulation module 130A) until it can determine that the item 1604 (and other items that may be present on singulation module 130B) has cleared the predefined region and the minimum gap distance 1624 from the predefined region. Doing so allows the master controller 140 to ensure that at least a minimum gap distance 1624 exists between items on the singulation module 130B and the singulation module 130A, e.g., in cases where the item 1602 is located on the bottom side edge of the singulation module 130A. Thus, as shown in
The method 1900 begins at block 1902, where the control system 102 detects a first item on a first singulation module (e.g., singulation module 130B). At block 1904, the control system 102 detects a second item on a second singulation module (e.g., singulation module 130A). The first singulation module is a downstream singulation module relative to the second singulation module. At block 1906, the control system 102 determines an orientation (or configuration) of the first singulation module relative to the second singulation module. For example, in one embodiment, the control system 102 determines whether the first and second singulation modules are in a perpendicular orientation or in a linear orientation.
If, at block 1908, the control system 102 determines the first and second singulation modules are not in a perpendicular orientation (e.g., the control system 102 determines the first and second singulation modules are in a linear configuration), the control system 102 determines a distance between the first item and the second item (block 1910). In some embodiments, the control system 102 can determine the distance between the first item and the second item based on at least one of: (1) the speed of each of the first singulation module and the second singulation module and (2) the particular zones triggered by the items (e.g., zone 1 of the first singulation module may have a predefined distance to zone 3 of the second singulation module, etc.). At block 1914, the control system 102 controls the first singulation module and the second singulation module based on the distance between the first item and the second item.
If, at block 1908, the control system 102 determines the first and second singulation modules are in a perpendicular orientation, the control system 102 determines the position of the first item on the first singulation module and the position of the second item on the second singulation module (block 1912). For example, as discussed above with regard to
The method 2000 begins at block 2002, where the control system 102 determines a current rate of items exiting the singulation tool (e.g., singulation tool 114). In one embodiment, the control system 102 can determine the current rate based on a number of items detected by the last downstream singulation module (e.g., apparatus 100N) of the singulation tool 114 within a time period. At block 2004, the control system 102 determines if the current rate is equal to the desired rate (or, in some embodiments, within a threshold range of the desired rate). If so, the method ends.
If the current rate is not equal to the desired rate (or is not within a threshold range of the desired rate), the control system 102 determines if the singulation tool is below the desired rate (or above the desired rate) (block 2006). If the singulation tool is below the desired rate, the control system 102 controls the first and second singulation modules to reduce the distance between the first and second items (e.g., in order to increase the current rate) (block 2008). If the singulation tool is not below the desired rate (e.g., the singulation tool is above the desired rate), the control system 102 controls the first and second singulation modules to increase the distance between the first and second items (e.g., in order to reduce the current rate) (block 2010).
The method 2100 begins at block 2102, where the control system 102 determines whether the position of the first item on the first singulation module is within a predefined region on the first singulation module. For example, in one embodiment, the predefined region may have an area approximately equal to the width of the second singulation module times the width of the first singulation module. The predefined region on the first singulation module may start from a first end of the belt on the first singulation module and extend along a length of the belt on the first singulation module. If, at block 2102, the control system 102 determines the first item is within the predefined region, the control system 102 determines whether the second item has been detected by the laser sensor on the second singulation module (e.g., whether the position of the second item has reached the laser sensor on the second singulation module) (block 2104). If the second item is detected by the laser sensor, the control system 102 stops the second singulation module and continues to run the first singulation module (block 2106).
If the control system 102 determines the second item has not been detected by the laser sensor (block 2104), the method proceeds to block 2106. In one embodiment, the control system 102 may continue to run the second singulation module if the second item has not been detected by the laser sensor on the second singulation module. Similarly, if the control system 102 determines that the first item is not within the predefined region, the method proceeds to block 2108. At block 2108, the control system 102 determines the current rate of items exiting the singulation tool.
If, at block 2110, the control system 102 determines that the current rate is equal to the desired rate (or within a threshold range of the desired rate), the method ends. If, at block 2110, the control system 102 determines that the current rate is not equal to the desired rate (or is not within a threshold range of the desired rate), the control system 102 determines if the singulation tool 114 is below the desired rate (or above the desired rate) (block 2112). If the singulation tool is below the desired rate, the control system 102 controls the first and second singulation modules to reduce the distance between the first item and the predefined region (e.g., in order to increase the current rate) (block 2114). If the singulation tool is not below the desired rate (e.g., the singulation tool is above the desired rate), the control system 102 controls the first and second singulation modules to increase the distance between the first item and the predefined region (e.g., in order to reduce the current rate) (block 2116). When controlling the first and second modules, the control system 102 may ensure that the first item and the second item are separated by at least the minimum gap distance (e.g., minimum gap distance 1624) on the first singulation module (e.g., singulation module 130B).
In some cases, different totes may be associated with different types of items. For example, a first tote may include items having a first size (e.g., 50 textbooks), and a second tote may include items having a second size (e.g., 50 giftcards). In such cases, the operating settings (e.g., speed settings) of the different singulation modules 130 within the singulation tool 114 that are used for singulating items from the first tote may not be suitable for singulating items from the second tote. As such, embodiments provide techniques that can configure operating parameters (e.g., speed, gap distance, etc.) of the singulation modules 130 within the singulation tool 114, based on the type of items that enter the singulation tool 114.
The method 2200 begins at block 2202, where the control system 102 determines a type of items associated with the incoming tote. In one embodiment, the control system 102 can determine the type of items based on information obtained from a scan of the incoming tote. In one example, the scan may be performed by an operator (e.g., human, machine, etc.) prior to the items being received in the loading area 112.
At block 2204, the control system 102 selects a configuration model for the singulation tool (e.g., singulation tool 114) from a plurality of configuration models, based on the type of items. In one embodiment, the configuration models can be stored in a database, e.g., in the cloud computing service 160. The cloud computing service 160, for example, can use machine learning techniques to continually update the configuration models based on input from other singulation tools 114 (e.g., in the facility). The control system 102 can request the particular configuration model to use for the type of items from the cloud computing service, and receive a response indicating the configuration model. In another embodiment, the configuration model can be selected based on a predefined association between the type of items and a configuration model. In this embodiment, the control system 102 can revert to a default configuration model, e.g., in cases where a predefined association does not exist for a given type of items. At block 2206, the control system 102 configures the singulation modules of the singulation tool according to the selected configuration model.
The method 2300 begins at block 2302, where the control system 102 detects a first item (e.g., item 1502) on a first singulation module (e.g., singulation module 130A), based on an indication received from a first sensor on the first singulation module. At block 2304, the control system 102 detects a second item (e.g., item 1502) on a second singulation module (e.g., singulation module 130B) after detecting the first item on the first singulation module. At block 2306, the control system 102 determines if there has been a change in the indication from the first sensor after a predetermined amount of time. If so, the control system 102 stops the first singulation module and runs the second singulation module (block 2310). On the other hand, if there has not been a change, the control system 102 refrains from stopping the first singulation module and runs the second singulation module (block 2308).
The method 2400 may be performed for each item exiting the singulation tool. In one embodiment, the control system 102 can receive an indication of each item exiting the singulation tool. In one example, the control system 102 may receive sensor feedback from the last downstream singulation module (e.g., apparatus 100N) indicating presence of an item. In another example, the control system 102 may receive sensor feedback from the scan tool (e.g., scan tool 116) indicating presence of an item.
At block 2402, the control system 102 scans the at least one item, e.g., using the scan tool. At block 2404, the control system 102 determines, based on the scan, if a divert condition is present. The divert condition can include at least one of: (1) detecting multiple valid identifying information (e.g., barcodes) on the item; (2) detecting multiple items within a predetermined time period (or within a specified gap distance); and (3) failure to read identifying information on the item.
In response to detecting a divert condition (block 2404), the control system 102, at block 2406, controls the divert tool (e.g., divert tool 118, such as apparatus 900, apparatus 1000, etc.) to recirculate the item back to the singulation tool 114. For example, in one embodiment, the control system 102 can trigger the divert tool to simultaneously rotate conveyor belts 902 and 904 around their respective hinge points in opposite vertical directions. In this manner, the item can be transitioned from the conveyor belt 902 onto junction segment 122 to be recirculated back through the singulation tool 114.
If the control system 102 determines that a divert condition is not present, the control system 102, at block 2408, controls the divert tool to pass the item through, e.g., to a catch bin, to another conveyor belt system, etc. In one embodiment, the control system 102 can trigger the divert tool to pass the item through conveyor belts 902 and 904 onto junction segment 120 (e.g., as illustrated in
The descriptions of the various embodiments of the present invention have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.
In the preceding, reference is made to embodiments presented in this disclosure. However, the scope of the present disclosure is not limited to specific described embodiments. Instead, any combination of the features and elements described herein, whether related to different embodiments or not, is contemplated to implement and practice contemplated embodiments. Furthermore, although embodiments disclosed herein may achieve advantages over other possible solutions or over the prior art, whether or not a particular advantage is achieved by a given embodiment is not limiting of the scope of the present disclosure. Thus, the aspects, features, embodiments and advantages described herein are merely illustrative and are not considered elements or limitations of the appended claims except where explicitly recited in a claim(s). Likewise, reference to “the invention” shall not be construed as a generalization of any inventive subject matter disclosed herein and shall not be considered to be an element or limitation of the appended claims except where explicitly recited in a claim(s).
Aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, microcode, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.”
The present invention may be a system, a method, and/or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
While the foregoing is directed to embodiments of the present invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof, and the scope thereof is determined by the claims that follow.
Number | Name | Date | Kind |
---|---|---|---|
4527937 | Tomasello, Jr. | Jul 1985 | A |
5314055 | Gordon | May 1994 | A |
5950800 | Terrell et al. | Sep 1999 | A |
6199684 | Huth | Mar 2001 | B1 |
6478138 | Edwards et al. | Nov 2002 | B1 |
6491154 | Ydoate et al. | Dec 2002 | B2 |
6609607 | Woltjer et al. | Aug 2003 | B2 |
9038810 | Schroader | May 2015 | B2 |
9527672 | Batchelder et al. | Dec 2016 | B2 |
9540174 | Josserond et al. | Jan 2017 | B2 |
10053299 | Vadakkanmaruveedu et al. | Aug 2018 | B1 |
10239690 | Battles et al. | Mar 2019 | B2 |
10315859 | Zhao et al. | Jun 2019 | B1 |
10494179 | Alspaugh et al. | Dec 2019 | B1 |
10501269 | Walter et al. | Dec 2019 | B2 |
20090152074 | Wolf | Jun 2009 | A1 |
20170362036 | Hartmann et al. | Dec 2017 | A1 |
20170369244 | Battles et al. | Dec 2017 | A1 |
Entry |
---|
U.S. Appl. No. 16/219,682 entitled Automated Singulation System filed Dec. 13, 2018. |