Label application system with a label printer that can be attached to a robotic arm
The label application system with a robotic arm-mounted printer efficiently applies labels by printing and positioning directly on the conveyor path, addressing delays and resource waste in existing systems.
Patent Information
- Application Number
- JP2024505557
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-07-30
- Filing Date
- 2022-07-18
- Publication Date
- 2025-10-03
- Estimated Expiration
- 2042-07-18
AI Technical Summary
Existing label application systems in logistics face delays in printing, retrieving, and applying labels due to the need for robotic devices to move to and from separate printers, leading to waste of resources and inefficiencies.
A label application system with a robotic arm-mounted label printer that prints and applies labels directly to objects in the conveyor path, eliminating the need for the robotic device to move to retrieve labels, using image processing to determine object position and align the printer for efficient label application.
Reduces the duration required to print and apply labels, preventing system downtime and resource waste by allowing continuous label application without interrupting conveyor movement.
Smart Images

Figure 0007749102000001 
Figure 0007749102000002 
Figure 0007749102000003
Abstract
Description
[Background technology]
[0001] Supply chain processes in logistics systems, such as warehouse systems or transportation systems, typically involve the use of labels (e.g., printed labels and / or radio frequency identification (RFID) tags) to mark, track, locate, and / or route objects stored at a location and / or objects being transported between locations. Objects may have different sizes, shapes, and / or be configured in different locations on a conveyor used to process and / or distribute the objects for labeling. Thus, a need exists for a label application system that can adapt to the different and / or unique configurations of objects that are to receive labels. [Brief explanation of the drawings]
[0002] [Figure 1A] 1A-1E are schematic diagrams of one or more example implementations described herein. [Figure 1B] 1A-1E are schematic diagrams of one or more example implementations described herein. [Figure 1C] 1A-1E are schematic diagrams of one or more example implementations described herein. [Figure 1D] 1A-1E are schematic diagrams of one or more example implementations described herein. [Figure 1E] 1A-1E are schematic diagrams of one or more example implementations described herein.
[0003] [Figure 2] FIG. 2 is a schematic diagram of an exemplary implementation of the label application system described herein.
[0004] [Figure 3] FIG. 3 is a schematic diagram of an example implementation of the label printer and robotic arm configuration described herein.
[0005] [Figure 4] FIG. 4 is a schematic diagram of an exemplary implementation of the label printer described herein.
[0006] [Figure 5] FIG. 5 is another schematic diagram of an exemplary implementation of the label printer of FIG.
[0007] [Figure 6] FIG. 6 is a schematic diagram of an example environment in which the systems and / or methods described herein may be implemented.
[0008] [Figure 7] FIG. 7 is a schematic diagram of example components of one or more devices of FIG.
[0009] [Figure 8] 8 and 9 are flow charts of exemplary processes associated with a label application system that utilizes a label printer that can be mounted on a robotic arm. [Figure 9] 8 and 9 are flow charts of exemplary processes associated with a label application system that utilizes a label printer that can be mounted on a robotic arm. DETAILED DESCRIPTION OF THE INVENTION
[0010] The following detailed description of exemplary implementations refers to the accompanying drawings, in which the same reference numbers in different drawings may identify the same or similar elements.
[0011] In an automated labeling system, labels may be applied to objects or items (e.g., objects or items to be stored, tracked, and / or transported) via a robotic device. For example, a system (e.g., a warehouse or shipping center automation system) may cause a printer to print a label, and (e.g., via a robot command) cause a robotic device to retrieve the label from the printer (e.g., using a gripping mechanism on the robotic arm), and apply the label to the object using the robotic device's label applicator (e.g., a label application mechanism on the end of the robotic arm). In some cases, a conveyor or other type of object movement system may move objects to a position near the robotic device and / or printer. The robotic device may be programmed and / or configured (e.g., in conjunction with a camera or other device in the automated labeling system) to identify the object, determine and / or track the object's position on the conveyor, and apply a label when the object is in the label application area. A label application area can be a space (or area) through which objects can pass on a conveyor and be reached by a label application mechanism of a robotic device. In such cases, the speed at which the conveyor can supply objects to the robotic device to receive a label can depend on the duration for the system to print a label, have the robotic device retrieve the label, and move the robotic device into position to apply the label to the object.
[0012] Delays or prolongations in printing, obtaining, and / or applying labels can increase waste within the system. For example, power resources may be wasted by powering idle devices or components of the system waiting for a label to be applied to an object, computing resources (e.g., processor resources and / or memory resources) may be wasted by monitoring the status of the system during delays, network or communication resources used to communicate that status may be wasted during delays, etc. Thus, a need exists for a label application system that reduces the duration required to print, obtain, and / or apply a label to an object.
[0013] The present disclosure generally relates to labeling systems, such as label application systems with label printers that can be attached to robotic arms. Some implementations described herein enable automated systems to quickly and efficiently apply labels to objects processed and / or transported by the automated systems. For example, the label application system may utilize a robotic device, such as a robotic arm with a label printer that can print and apply labels to objects (e.g., using a label printer tamp activated via power from the robotic arm). Accordingly, the robotic arm may position the label printer within a label application area near a conveyor transporting the objects (e.g., a space above the conveyor and / or within a threshold distance of the conveyor). While the label printer is within the label application area, the label application system may cause the label printer to print a label that can then be applied to the object as the conveyor passes through the label application area.
[0014] In this manner, a label application system may utilize a robotic device and a printer configuration that does not require the robotic device to move to retrieve a printed label from a separate printer and / or to position the label within a label application area to allow the label to be applied to an object. This may reduce the duration of time to print, retrieve, and apply a label to an object (e.g., because the time required to move the robotic device to retrieve the label and to reposition the robotic device to apply the label between applications on the object is eliminated). As a result, the label application systems described herein may more quickly and efficiently label objects being processed and / or transported (e.g., within a logistics system).
[0015] As described herein, a label application system may receive an image from a camera depicting an object on a conveyor, and based on an image processing model indicating that the image depicts the object, may cause a robotic arm to attach to a label printer, may use the image processing model to determine an object position of the object on the conveyor, may cause the robotic arm to move the label printer to an application position corresponding to the object position on the conveyor, may cause the label printer to print a label, and may cause the label printer to apply a label to the object based on the conveyor aligning the object position with the application position.
[0016] Although some examples herein are described in connection with printed labels produced by a label printer, such examples may equally apply to other types of physical markers, such as radio frequency identification (RFID) tags produced by an RFID printer.
[0017] 1A-1E are schematic diagrams of an example implementation 100 associated with the label application system described herein. As shown in FIGS. 1A-1E, the example implementation 100 includes a label application system and a label management system. In the example implementation 100, the label application system includes a controller, a camera, a docking station, one or more label printers (shown as "label printer 1" and "label printer 2"), and a robotic arm. These devices are described in more detail below in connection with FIGS. 6 and 7.
[0018] 1A-1E and described below in connection with example implementation 100, objects can be transported into a label application area where a label application system can apply (affix) labels to the objects as described herein. In some implementations, a conveyor can be associated with and / or included within the label application system. In such cases, the label application system can control the speed and / or direction of the conveyor to control the speed and / or direction of objects on the conveyor.
[0019] As shown in FIG. 1A by reference numeral 102, the label application system may receive an image of an object. A controller of the label application system may receive the image (or a video including multiple image frames) from a camera. In some implementations, the label application system may include or receive images from multiple cameras mounted at various locations throughout the physical environment of the label application system. For example, a camera may be mounted to a support structure (e.g., a gantry) of the conveyor, to a robotic arm, and / or to one or more label printers to allow the label application system to monitor a desired portion of the conveyor and / or track the position of an object on the conveyor. In example implementation 100, the camera (and / or one or more other cameras) may be configured to stream images depicting a portion of the conveyor that will receive an object before the object reaches a label application area on the conveyor. In this manner, as described elsewhere herein, the label application system may monitor the portion of the conveyor via the streaming images and detect incoming objects that will receive a label.
[0020] In some implementations, the camera may be associated with an actuatable mounting system that allows the camera to capture images of various portions of the conveyor. In some implementations, the camera is configured to capture images and / or provide images to a controller based on detection of motion and / or detection of an object on the conveyor. For example, the camera and / or controller may use a motion sensor and / or optical flow analysis, including comparison of images in an image stream. In this manner, based on an indication of motion from the motion sensor and / or certain differences between images, the camera and / or label application system may detect that an object is approaching the label application area.
[0021] As further indicated by reference numeral 104 in FIG. 1A , the label application system may process images of objects. For example, the label application system may process the images using an image processing model configured to identify one or more features of the objects. The image processing model may utilize any suitable computer vision technique to identify objects in the images and / or determine one or more features of the objects, as described herein. For example, the computer vision technique of the image processing model may include one or more of image recognition techniques (e.g., the Inception framework, the ResNet framework, and / or the Visual Geometry Group (VGG) framework), object detection techniques (e.g., the Single Shot Decector (SSD) framework and / or the You Only Look Once (YOLO) framework), object-in-motion techniques (e.g., the optical flow framework), and optical character recognition (OCR) techniques, among others.
[0022] For example, the one or more characteristics may include, among others, the object's position on the conveyor, the object's size, the object's shape, the object's type, the object's identifier, and / or the object's label receiving area. The object's position (or pose) (which may also be referred to herein as "object position (or pose)") may include or be defined by the object's orientation (e.g., relative to the conveyor's central axis or other reference point, relative to the camera's position, and / or relative to the robot arm's position) and / or the object's location on the conveyor's surface (e.g., relative to the conveyor's reference point, relative to the camera's position, and / or relative to the robot arm's position). The object's position may be based on and / or relative to a conveyor reference point (e.g., a portion of the conveyor defined by unique coordinates relative to a reference grid associated with the conveyor's surface and / or conveyor rollers). For example, an object's position in space (or within the physical environment of the label application system) may change as the conveyor transports the object, but the object's position relative to the conveyor may be constant (e.g., because the object's position is defined by a reference point on the conveyor). The reference point may be determined based on and / or correspond to one or more features of the conveyor. For example, a feature may include a conveyor edge, a conveyor rail, a conveyor gantry, and / or a marking associated with the conveyor. Thus, based on processing one or more images from a camera depicting the reference point or feature, the label application system (e.g., via a controller and / or image processing model) may determine the object's position relative to the conveyor.
[0023] The image processing model may be configured to output and / or generate one or more features of the object to allow the controller to control the robotic arm to print and / or apply a label to the object, as described elsewhere herein. For example, the controller may use any suitable motion analysis technique to track the position (pose) of the object (e.g., according to captured and / or analyzed timestamps) and, correspondingly, may utilize any suitable robot control technique to calculate robot coordinates (e.g., spatial or three-dimensional coordinates associated with the robotic arm) that are used to control the robotic arm according to the tracked position (and / or other features) of the object.
[0024] In some implementations, the image processing model can be configured to analyze one or more images to detect distinctive and / or unique features associated with particular objects. For example, because individual objects may be configured to receive different labels (rather than the same label being applied to all objects), the objects may include object identifiers, such as text identifiers, barcodes, or other unique markings known and / or associated with the label application system and / or label management system. As shown in FIG. 1A , a first object may be identified by object identifier “1-X,” and a second object may be identified by object identifier “2-Z.” In some implementations, individual characters may be associated with specific mappings and / or codes that can be interpreted by a controller to identify content to be printed on a label for the object, to identify the type of label to be applied to the object, to identify the type of printer to be selected to print and / or apply the label to the object, etc. Thus, the label application system and / or image processing model can be configured to identify and / or detect object identifiers on objects depicted in the image.
[0025] In some implementations, the image processing model and / or label application system may be configured to identify a label receiving area of the object. The label receiving area may be marked on the object (e.g., via a label border, a label receiving area identifier, or other type of marking) to allow the image processing model and / or label application system to identify the label receiving area. Additionally or alternatively, the label receiving areas for individual boxes may be unmarked and / or may differ from one another because individual objects may have previously received other labels or markings in various locations and / or may have damaged areas (e.g., dents, holes, etc. that may not be conducive to label acceptance). For example, the label receiving areas may be located in various positions on the object or in various orientations on the object and / or may have different sizes. Accordingly, the label application system and / or image processing model may be configured to identify label receiving areas of the object that may be best suited to accept the label. In such cases, the label application system and / or image processing model may analyze the object to find portions of the object that are capable of accepting labels having a particular size. Thus, a label receiving area may correspond to an area on the surface of an object that is at least the size of a label to be applied to the object. Additionally or alternatively, the label receiving area may be an area on the surface of an object that does not include any other labels or any damaged portions of the object (e.g., to ensure that the label can likely be applied to the object without obstructing access to other labels or other markings and / or to ensure that the label is not peeled off the object by being applied to a damaged area of the object).
[0026] Thus, using the image processing model, the label application system can analyze images depicting objects in order to apply labels to the objects using a robotic arm, as described elsewhere herein.
[0027] As further indicated by reference numeral 106 in FIG. 1A , the label application system may receive print commands from the label management system. The print commands may indicate content to be printed on a label by one or more label printers. In some implementations, the print commands may be the same for multiple objects. For example, the print commands may be the same for all objects. Additionally or alternatively, the label application system may receive individual print commands for each object (or type of object) being fed by the conveyor for label application. For example, the print commands may indicate that an object having a particular characteristic (e.g., a particular identifier or a particular type) is to receive a label with corresponding content. Thus, as described herein, the label application system may determine the content associated with the object identifier based on identification and / or detection of the object's object identifier, allowing the label application system to print the content on a label and apply the label to the object.
[0028] In some implementations, the printing instructions may specify which label printer among a plurality of printers should be used to print and / or apply the label to the object. For example, the printing instructions may include a printer identifier or other indication that allows the label application system to select a corresponding printer for printing content on a label and applying the label to the object.
[0029] 1B by reference numeral 108, the label application system may select a label printer. In some implementations, the label application system may select a label printer based on the status of each available label printer. For example, the status may correspond to the operational state of the label printer. More specifically, the label application system may select a label printer that has a minimum threshold amount of print media loaded (e.g., a minimum amount of paper labels, a minimum length of a roll of labels, etc.). Additionally or alternatively, the label application system may select a default label printer and / or a label printer that is not experiencing or is not known to be experiencing a printing error (e.g., a printhead error, a print media jam, etc.).
[0030] In some implementations, the label application system may select a printer based on an object identifier detected on the object. For example, if an object is to receive a particular type of label (e.g., a label having a particular size, adhesive, or other particular characteristic), the object identifier may be mapped (e.g., via a print command from a label management system) to the particular label printer that will be used to print and / or apply the label to the object.
[0031] Based on the selection of the first label printer (label printer 1), the label application system may cause the robotic arm to attach to the label printer to print and / or apply a label to an object, as described herein. For example, the label application system may control the robotic arm to attach to the label printer via a coupler on the robotic arm and / or an electromechanical coupling on the label printer using any suitable technique. The coupler on the robotic arm and / or the electromechanical coupling on the label printer may include one or more electrical terminals that facilitate communication between the robotic arm and the label printer. Additionally or alternatively, the coupler and / or the electromechanical coupling may be configured for the transmission of power from the robotic arm to one or more components of the label printer. In this manner, power may be supplied from the robotic arm to the label printer, allowing the label printer to utilize the power to perform a printing operation to print a label and / or to apply the label to an object using a tamp on the label printer. Additionally or alternatively, the coupler and / or electromechanical coupling of the label printer may include one or more mechanical connectors that allow the robotic arm to actuate mechanical components (e.g., tamps) of the label printer.
[0032] Thus, the label application system may couple a robotic arm to an electromechanical coupling of a label printer to allow the robotic arm to position the label printer for printing and / or applying a label to an object.
[0033] 1B by reference numeral 110, the label application system can position the label printer. For example, the controller can control one or more devices (e.g., sensors, drives, motors, etc.) of the robotic arm to move the label printer to an application position that corresponds to an object position on the conveyor. For example, the application position can correspond to an expected position of a first object within the label application area (e.g., when the object position is within the label application area).
[0034] The application position may be aligned with the path of the object's position on the conveyor. The path of the object's position on the conveyor may correspond to the path of the object's movement as the conveyor transports the object through the physical environment of the label application system. The controller may cause the robot arm to move to a position determined and / or calculated based on the determined position of the object relative to the conveyor (e.g., a position determined using an image processing model) and / or the path of the object's position on the conveyor. For example, the controller may convert image-based coordinates of the approaching object into robot coordinates used to control the position of the robot arm. In this way, the label application system may move the label printer to an application position that is aligned with the path of the object and / or the object's position on the conveyor.
[0035] In some implementations, the robotic arm may remove the label printer from a dock of a docking station that previously supported the label printer. For example, the dock of the docking station may include a dock interface that may facilitate communication between a controller of the label application system and the label printer (e.g., to communicate status information associated with the label printer, print commands, and / or print settings for a print operation). Additionally or alternatively, the dock interface may allow the docking station to provide power to the label printer while the label printer is docked. In this manner, the label printer may perform a print operation (e.g., a test print operation) and / or activate one or more components (e.g., an actuator of a print media door of the label printer that enables print media to be fed to rollers of the label printer) while the label printer is docked.
[0036] Thus, the label application system may position the label printer to print and / or apply a label to the object.
[0037] 1C by reference numeral 112, the label application system may print and / or apply a label to an object. For example, the controller may cause a label printer to print a label according to a print command from the label management system. The controller may communicate the print command and / or control the label printer to perform a printing operation via a wireless communication link between the controller and the label printer and / or a wired communication link of the robotic arm.
[0038] Once the label is printed and / or output from the label printer, the controller may cause the label printer to apply the label to the object. For example, the controller may cause the printer to use a tamp to apply the label to the object. The controller may activate the tamp via an actuator on the label printer and / or an actuator on the robotic arm. Additionally or alternatively, the controller may cause the robotic arm to move along a trajectory as the object passes along the conveyor path, the trajectory enabling the label printer to apply the label to the label receiving area of the object. Similar to moving the robotic arm as described above, the controller may convert image-based coordinates indicating the movement of the identified label receiving area into robot coordinates corresponding to the expected movement of the label receiving area within the label application area. The label application system can determine a trajectory of the robotic arm corresponding to the expected movement of the label receiving area, allowing the label printer (and / or robotic arm) to apply (apply) a label to the object as it passes through the label receiving area (e.g., without stopping the conveyor and / or stopping the object within the label application area). As shown in FIG. 1C , the movement of the robotic arm can correspond to alignment with an axis (e.g., a central axis, a longitudinal axis, and / or a lateral axis) of the object and / or alignment of the object with the label receiving area. Thus, the label application system, via a controller, can control the robotic arm to move the label printer across the label receiving area (so that a label is peeled, tamped, and / or adhered to the object within the label receiving area).
[0039] In this manner, the label application system, as described herein, allows labels to be printed and applied to objects without interfering with the progress of the objects. Additionally, the label application system may allow labels to be printed and applied to objects by a robotic arm (or a label printer attached to the robotic arm) without the label application mechanism (e.g., the label printer and / or the label printer tamp) of the robotic arm being removed from the label application area.
[0040] 1C by reference numeral 114, the label application system may detect a next object. Similar to detecting the first object (identified by "1-X"), the label application system may detect a next object (identified by "2-Z") based on receiving an image depicting the next object.
[0041] 1C by reference numeral 116, the label application system may receive the next print command. For example, the label application system may use the object identifier (e.g., "2-Z") on the object to obtain the next print command from the label management system. For example, the label application system may send a request to the label management system indicating the object identifier to allow the label management system to respond with corresponding print commands for the object. In this way, the label application system may receive print commands including content to be printed on the label for the next object.
[0042] The label application system may reposition the label printer, as shown in Figure 1D by reference numeral 118. For example, the label application system may move the label printer to a position that corresponds to the expected position of the object on the conveyor when the object reaches or is within the label application area, without removing the label printer from the label application area.
[0043] 1D by reference numeral 120, the label application system may print and / or apply a next label to the next object. For example, the label application system may print and / or apply a label to the next object based on the determined position of the next object within the label application area, as described elsewhere herein.
[0044] 1E by reference numeral 122, the label application system may detect a trigger to use a different label printer. For example, such a trigger may include the initial label printer running out of print media or reaching a threshold amount of print media. Additionally or alternatively, the trigger may include the initial label printer experiencing an error (e.g., a print head error, a print media jam, etc.). In some implementations, the trigger may include detecting that an incoming object is destined to receive a label from a different label printer (e.g., because the object is destined to receive a different size label and / or type of label printed by a label printer other than the initial label printer).
[0045] As further indicated by reference numeral 124 in FIG. 1E , the label application system may return the label printer to the dock. For example, based on detection of the trigger, the label application system may return the label printer to the dock and allow the label application system to select another label printer from the docking station. Thus, if the label printer runs out of print media and / or experiences an error, instead of the label application system having to shut down the conveyor and / or stop the movement of objects, the label application system may control the robotic arm to return the first label printer to the dock and allow the label application system to select another label printer to print and / or apply labels for other objects (e.g., the object identified by "3-A"). Furthermore, if the first label printer runs out of print media or experiences an error, the first label printer may be resupplied with print media while at the docking station and / or undergo maintenance to address the error (without having to shut down the label application system).
[0046] 1E by reference numeral 126, the label application system may select another label printer for label application. For example, the label application system may select a second label printer based on its availability to print and apply labels for other detected objects. Additionally or alternatively, the second label printer may be selected based on being associated with or mapped to the detected object (e.g., based on an object identifier on the object).
[0047] In this manner, the label application system allows labels to be printed and applied to objects more quickly in systems configured for automated processing of objects. Additionally, the label application system may include multiple label printers (and / or multiple robotic arms) to reduce or prevent the possibility of shutting down such automated systems. Thus, as described herein, the label application system may prevent waste caused by delays in printing and applying labels to objects.
[0048] As mentioned above, FIGS. 1A-1E are provided as an example. Other embodiments may differ from those described with respect to FIGS. 1A-1E. The number and arrangement of devices shown in FIGS. 1A-1E are provided as an example. In practice, there may be additional devices, fewer devices, different devices, or differently arranged devices compared to those shown in FIGS. 1A-1E. Furthermore, two or more devices shown in FIGS. 1A-1E may be implemented within a single device, or a single device shown in FIGS. 1A-1E may be implemented as multiple distributed devices. Additionally or alternatively, a set of devices (e.g., one or more devices) shown in FIGS. 1A-1E may perform one or more functions described as being performed by other sets of devices shown in FIGS. 1A-1E.
[0049] 2-5 are schematic diagrams of one or more implementations of one or more components of a label application system described herein (e.g., exemplary implementation of label application system 100). FIG. 2 is a schematic diagram of an exemplary implementation of label application system 200 described herein. As shown in FIG. 2, label application system 200 includes a camera 202, a first label printer 204, a second label printer 206, a docking station 208, a robotic arm 210, a conveyor 212, and an operator station 214. A controller 216 of label application system 200 may be configured to control components or devices of label application system 200 via wireless and / or wired communication. Operator station 214 may include one or more user interfaces that allow an operator of label application system 200 to configure settings of label application system 200 (e.g., processing settings, print settings, etc.). Additionally or alternatively, the operator station 214 may allow an operator to provide printing instructions to the label application system, as described elsewhere herein, causing the label application system to print and apply labels to objects in accordance with the printing instructions.
[0050] 2, the camera 202 may be positioned on a support upstream (with respect to the movement of the conveyor 212) from the robotic arm 210. Thus, the camera's field of view may be upstream from the robotic arm 210, allowing the controller 216 to detect when an object approaches the robotic arm 210. As shown, the label application area 218 corresponds to a space within the physical environment of the label application system 200 within which the conveyor 212 can transport objects and within which the robotic arm 210 can position the first label printer 204 and / or the second label printer 204.
[0051] 3 is a schematic diagram of an example implementation 300 of the configuration of the first label printer 204 and the robotic arm 210 described herein. As shown in FIG. 3, the first label printer 204 includes an electromechanical coupling 302 and a tamp 304. The robotic arm 210 includes a coupler 306 at a label application end 308 (e.g., a distal end) of the robotic arm 210. As further indicated by reference numeral 310, when the robotic arm 210 is attached to the first label printer 204, the coupler 306 may electromechanically connect to the electromechanical coupling 302, allowing the robotic arm 210 to communicate with and / or power the first label printer 204, as described elsewhere herein. In some implementations, the controller 216 may be configured to communicate with and / or facilitate the provision of power to the first label printer 204 based on whether the coupler 306 is electromechanically coupled with the electromechanical coupling 302. For example, the controller 216 may detect that the coupler 306 is electromechanically coupled with the electromechanical coupling 302 using a sensor (e.g., a sensor that detects contact between the coupler 306 and the electromechanical coupling 302) and may detect communication, such as between the first label printer and the robotic arm 210.
[0052] In this manner, the robotic arm 210 may be attached to the first label printer 204, allowing that label printer to be used to print and apply labels to objects from the label application end 308 of the robotic arm 210.
[0053] 4 is a schematic diagram of an example implementation of a label printer 400 described herein. The label printer 400 may correspond to the first label printer 204 and / or the second label printer 206. As shown in FIG. 4, the label printer includes an electromechanical coupling 302 and a tamp 304. The tamp 304 may be positioned toward an output side 402 of the label printer 400, where the printed label is output from the label printer 400.
[0054] The label printer 400 includes a print media door 404 that facilitates access to print media receiving components (e.g., print media rollers of the label printer 400). In some embodiments, the print media door 404 may be opened via an actuator on the label printer 400. The label printer 400 of Figure 4 includes a dock terminal 406 configured to mate with a dock interface of the docking station 208. The dock terminal 406 may enable the controller 216 to communicate with the label printer 400 and / or to provide power to the label printer via the dock interface and / or the docking station 208. In some implementations, the controller 216 may cause the actuator to automatically open the print media door when the label printer 400 is docked back into the docking station 208 and / or when the label printer 400 receives power from the dock interface of the docking station 208 via the dock terminal 406 (e.g., to allow print media to be replenished to the label printer 400 after being depleted by printing operations and / or label application, as described herein). In some embodiments, the label printer 400 may include a battery. For example, the battery may store electricity that is used to power one or more components of the label printer 400. The electricity may be received via the dock terminal 406 when the label printer 400 is placed in the dock of the docking station 208 and / or via the electromechanical coupling 302 when the label printer 400 is attached to the robotic arm 210.
[0055] The label printer 400 may be configured and / or designed to have a size and / or mass that meets a size threshold and / or mass threshold, respectively, that allows the label printer 400 to be attached to the label application end 308 of the robotic arm 210 and moved by the robotic arm 210 without slowing or impeding the movement of the robotic arm 210 within design thresholds or within specified tolerances. Additionally or alternatively, the size and / or mass of the label printer 400 may be configured according to a threshold speed at which the label application system will process objects and / or accept applied labels, as described herein.
[0056] FIG. 5 is another schematic diagram of an exemplary implementation of a label printer 400. As shown in FIG. 5, the label printer 400 includes a print media roller 502 that holds a print media supply 504 (e.g., a roll of paper labels), a print head 506, a label remover 508, a liner spool 510, and a tamp head 512. The print media roller 502 can hold the print media supply 504 and allow labels on the print media supply 504 to receive content via the print head 506. The labels can be peeled from the liner of the print media supply 504 and output from the label printer 400 toward the output side 402. The liner can be spooled by the liner spool 510 (e.g., until all labels on the print media supply 504 have been printed by (or received content from) the print head 506).
[0057] The tamp head 512 may apply (apply) a label output from the label printer 400 by contacting or pressing the label against an object via actuation of the tamp 304. The tamp 304 and / or tamp head 512 may be hydraulically actuated (e.g., using an air-driven vacuum generator) and / or electronically actuated (e.g., using a motor).
[0058] In this manner, the label printer can be configured to be located at the label application end of the robotic arm, allowing the label application system to quickly and efficiently print and apply labels to objects processed within the automated system.
[0059] As mentioned above, Figures 2-5 are provided as an example. Other embodiments may differ from those described with respect to Figures 2-5. The number and arrangement of devices shown in Figures 2-5 are provided as an example. In practice, there may be additional devices, fewer devices, different devices, or differently arranged devices compared to those shown in Figures 2-5. Furthermore, two or more devices shown in Figures 2-5 may be implemented within a single device, or a single device shown in Figures 2-5 may be implemented as multiple distributed devices. Additionally or alternatively, a set of devices (e.g., one or more devices) shown in Figures 2-5 may perform one or more functions described as being performed by other sets of devices shown in Figures 2-5.
[0060] Figure 6 is a schematic diagram of an example environment 600 in which the systems and / or methods described herein may be implemented. As shown in Figure 6, environment 600 may include a label application system 610, a label management system 620, an operator station 630, and a network 640. The devices in environment 600 may be interconnected via wired connections, wireless connections, or a combination of wired and wireless connections.
[0061] The label application system 610 includes one or more devices capable of receiving, generating, storing, processing, providing, and / or routing information associated with printing and applying labels to objects using a label printer that can be attached to a robotic arm, as described elsewhere herein. The label application system 610 may include a communication device and / or a computing device. For example, the label application system 610 may include a server, such as an application server, a client server, a web server, a database server, a host server, a proxy server, a virtual server (e.g., running on computing hardware), or a server in a cloud computing system. In some implementations, the label application system 610 includes computing hardware used in a cloud computing environment. In some implementations, the label application system 610 may include a controller, a camera, a robotic arm, a label printer, and / or a conveyor, as described elsewhere herein.
[0062] The label management system 620 includes one or more devices capable of receiving, generating, storing, processing, providing, and / or routing information associated with printing instructions used by the label application system 610 to print and apply labels to objects, as described elsewhere herein. The label management system 620 may include communications devices and / or computing devices. For example, the label management system 620 may include a server, such as an application server, a client server, a web server, a database server, a host server, a proxy server, a virtual server (e.g., running on computing hardware), or a server in a cloud computing system. In some implementations, the label management system 620 includes computing hardware used in a cloud computing environment.
[0063] The operator station 630 includes one or more devices capable of receiving, generating, storing, processing, and / or providing information associated with managing the label application system 610, as described elsewhere herein. The operator station 630 may include a communication device and / or a computing device. For example, the operator station 630 may include a wireless communication device, a mobile phone, a user equipment, a laptop computer, a tablet computer, a desktop computer, a wearable communication device (e.g., a smart watch, smart glasses, a head-mounted display, a virtual reality headset), or a similar type of device.
[0064] Network 640 may include one or more wired and / or wireless networks. For example, network 640 may include a wireless wide area network (e.g., a cellular network or a public land mobile network), a local area network (e.g., a wired local area network or a wireless local area network (WLAN) such as a WiFi network), a personal area network (e.g., a Bluetooth network), a near field communication network, a telephone network, a private network, the Internet, and / or a combination of these or other types of networks. Network 640 enables communication between devices in environment 600.
[0065] The number and arrangement of devices and networks shown in Figure 6 are provided as an example. In practice, there may be additional, fewer, different, or differently arranged devices and / or networks compared to those shown in Figure 6. Furthermore, two or more devices shown in Figure 6 may be implemented within a single device, or a single device shown in Figure 6 may be implemented as multiple distributed devices. Additionally or alternatively, a set of devices (e.g., one or more devices) of environment 600 may perform one or more functions described as being performed by another set of devices in environment 600.
[0066] 7 is a schematic diagram of example components of a device 700 that may correspond to a label application system 610, a label management system 620, and / or an operator station 630. In some implementations, the label application system 610, the label management system 620, and / or the operator station 630 may include one or more devices 700 and / or one or more components of the devices 700. As shown in FIG. 7 , the device 700 may include a bus 710, a processor 720, a memory 730, an input component 740, an output component 750, and a communication component 760.
[0067] The bus 710 includes one or more components that enable wired and / or wireless communication between the components of the device 700. The bus 710 may couple two or more components of FIG. 7 together, such as via operational, communicative, electronic, and / or electrical couplings. The processor 720 includes a central processing unit (CPU), a graphics processing unit, a microprocessor, a controller, a microcontroller, a digital signal processor, a field programmable gate array, an application-specific integrated circuit, and / or another type of processing component. The processor 720 is implemented in hardware, firmware, or a combination of hardware and software. In some implementations, the processor 720 includes one or more processors that can be programmed to perform one or more operations or processes described elsewhere herein.
[0068] Memory 730 may include volatile and / or nonvolatile memory. For example, memory 730 may include random access memory (RAM), read-only memory (ROM), a hard disk drive, and / or another type of memory (e.g., flash memory, magnetic memory, and / or optical memory). Memory 730 may include internal memory (e.g., RAM, ROM, or a hard disk drive) and / or removable memory (e.g., removable via a Universal Serial Bus (USB) connection). Memory 730 may be a non-transitory computer-readable medium. Memory 730 stores information, instructions, and / or software (e.g., one or more software applications) associated with the operation of device 700. In some implementations, memory 730 includes one or more memories coupled to one or more processors (e.g., processor 720), such as via bus 710.
[0069] The input component 740 enables the device 700 to accept input, such as user input and / or sensed input. For example, the input component 740 may include a touchscreen, a keyboard, a keypad, a mouse, buttons, a microphone, switches, sensors, a global positioning system (GPS) sensor, an accelerometer, a gyroscope, and / or actuators. The output component 750 enables the device 700 to provide output, such as via a display, a speaker, and / or a light-emitting diode. The communication component 760 enables the device 700 to communicate with other devices via wired and / or wireless connections. For example, the communication component 760 may include a receiver, a transmitter, a transceiver, a modem, a network interface card, and / or an antenna.
[0070] Device 700 may perform one or more operations or processes described herein. For example, a non-transitory computer-readable medium (e.g., memory 730) may store a set of instructions (e.g., one or more instructions or code) for execution by processor 720. Processor 720 may execute the set of instructions to perform one or more operations or processes described herein. In some implementations, execution of a set of instructions by one or more processors 720 causes the one or more processors 720 and / or device 700 to perform one or more operations or processes described herein. In some implementations, hardwired circuitry may be used in place of or in combination with instructions to perform one or more operations or processes described herein. Additionally or alternatively, processor 720 may be configured to perform one or more operations or processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.
[0071] The number and arrangement of components shown in Figure 7 are provided as an example. Device 700 may include additional components, fewer components, different components, or differently arranged components compared to that shown in Figure 7. Additionally or alternatively, one set of components (e.g., one or more components) of device 700 may perform one or more functions described as being performed by another set of components of device 700.
[0072] FIG. 8 is a flowchart of an example process 800 associated with the label application system described herein. In some implementations, one or more process blocks in FIG. 8 may be performed by the label application system (e.g., label application system 610 and / or a controller of the label application system). In some implementations, one or more process blocks in FIG. 8 may be performed by a device or group of devices separate from (or including) the label application system, such as a label management system (e.g., label management system 620) and / or an operator station (e.g., operator station 630). Additionally or alternatively, one or more process blocks in FIG. 8 may be performed by one or more components of device 700, such as processor 720, memory 730, input component 740, output component 750, and communication component 760.
[0073] 8, process 800 may include detecting objects on the conveyor based on the image (block 810). For example, the label application system may detect objects on the conveyor based on the image, as described above. The objects may be detected using an image processing model configured to identify the objects on the conveyor depicted in the image.
[0074] 8, process 800 may include printing a label associated with the object via a label printer (block 820). For example, the label application system may print the label associated with the object via a label printer, as described above.
[0075] A label printer may be selected from a plurality of label printers to apply the label based on printing instructions associated with the object and the label, and the label may be printed to include content associated with the object identifier indicated on the object.
[0076] 8, process 800 may include determining an object position of the object relative to the conveyor (block 830). For example, the label application system may determine the object position of the object relative to the conveyor as described above.
[0077] 8, process 800 may include moving, via the robotic arm, the label printer to an application position aligned with the path of the object locations on the conveyor (block 840). For example, the label application system may move, via the robotic arm, the label printer to an application position aligned with the path of the object locations on the conveyor, as described above.
[0078] In some implementations, the label application system may move the label printer to the application position by causing the robotic arm to remove the label printer from a docking station that controls the robotic arm. The docking station is configured to provide power to the label printer when the label printer is docked to the docking station. The label printer is adapted to receive power from the robotic arm based on its attachment to the robotic arm.
[0079] The robotic arm may be attachable to the label printer via a coupler on the robotic arm and an electromechanical coupling on the label printer, which may be configured to transfer power from the robotic arm to one or more components of the label printer.
[0080] 8, process 800 may include applying a label to the object at the application location via a robotic arm and a label printer (block 850). For example, the label application system may apply a label to the object at the application location via a robotic arm and a label printer, as described above.
[0081] In some implementations, process 800 may include analyzing an object using an image processing model to identify a label receiving area on the object that is to receive a label. The label may be applied to the label receiving area based on controlling a robotic arm to move a label printer across the label receiving area. In some implementations, the label receiving area is identified based on the size of the label.
[0082] 8 illustrates example blocks of process 800, in some implementations, process 800 may include additional blocks, fewer blocks, different blocks, or blocks arranged differently compared to those shown in FIGURE 8. Additionally or alternatively, two or more of the blocks of process 800 may be performed in parallel.
[0083] FIG. 9 is a flowchart of an example process 900 associated with the label application system described herein. In some implementations, one or more process blocks in FIG. 9 may be performed by the label application system (e.g., label application system 610 and / or a controller of the label application system). In some implementations, one or more process blocks in FIG. 9 may be performed by a device or group of devices separate from (or including) the label application system, such as a label management system (e.g., label management system 620) and / or an operator station (e.g., operator station 630). Additionally or alternatively, one or more process blocks in FIG. 9 may be performed by one or more components of device 700, such as processor 720, memory 730, input component 740, output component 750, and communication component 760.
[0084] 9, process 900 may include receiving an image from a camera depicting an object on a conveyor (block 910). For example, the label application system may receive an image from a camera depicting an object on a conveyor, as described above.
[0085] 9, process 900 may include printing, via a label printer, a label associated with the object based on detecting the object in the image using the image processing model (block 920). For example, the label application system may print, via a label printer, a label associated with the object based on detecting the object in the image using the image processing model, as described above.
[0086] In some implementations, the label application system may process the image to identify an object identifier associated with the object, and a label printer may be selected from a plurality of label printers based on being associated with the object identifier.
[0087] 9, process 900 may include determining an object position of the object relative to the conveyor using the image processing model (block 930). For example, the label application system may determine an object position of the object relative to the conveyor using the image processing model, as described above.
[0088] 9, process 900 may include moving, via the robotic arm, the label printer to an application position aligned with the path of the object locations on the conveyor (block 940). For example, the label application system may move, via the robotic arm, the label printer to an application position aligned with the path of the object locations on the conveyor, as described above.
[0089] In some implementations, the robotic arm can be attached to the label printer via a coupler on the robotic arm that couples to an electromechanical coupling on the label printer. The electromechanical coupling can be configured to transfer power from the robotic arm to one or more components of the label printer.
[0090] The label application system may have the robotic arm move the label printer from the docking station to the label application position. The docking station may be configured to provide power to the label printer before the label printer is coupled to the robotic arm.
[0091] The label application system may use an image processing model to analyze an object and identify label receiving areas on the object that are to receive a label. The robotic arm is controlled to apply the label to the label receiving areas on the object. In some implementations, the label receiving areas are identified based on the size of the label.
[0092] 9, process 900 may include applying a label to the object at the application location via a robotic arm and a label printer (block 950). For example, the label application system may apply a label to the object at the application location via a robotic arm and a label printer, as described above.
[0093] 9 illustrates example blocks of process 900, in some implementations, process 900 may include additional blocks, fewer blocks, different blocks, or blocks arranged differently compared to those shown in FIG 9. Additionally or alternatively, two or more of the blocks of process 900 may be performed in parallel.
[0094] The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementations to the precise forms disclosed. Modifications and variations may be made in light of the foregoing disclosure or acquired from practice of the implementations.
[0095] As used herein, the term "component" is intended to be broadly interpreted as hardware, firmware, and / or a combination of hardware and software. As used herein, the terms "tangible machine-readable medium," "non-transitory machine-readable medium," and "machine-readable storage" are each expressly defined as a storage medium (e.g., a hard disk drive, a digital versatile disk (DVD), a compact disk (CD), flash memory, a read-only memory (ROM), a random access memory (RAM), etc.) on which machine-readable instructions (e.g., code in the form of software and / or firmware) may be stored. The instructions may be stored for any suitable period of time (e.g., permanently, for a long period of time (e.g., while a program associated with the instructions is executing), or for a short period of time (e.g., while the instructions are cached, during a buffering process, etc.)). Furthermore, as used herein, each of the terms "tangible machine-readable medium," "non-transitory machine-readable medium," and "machine-readable storage" are expressly defined to exclude propagating signals. That is, when used in the claims, terms such as "tangible machine-readable medium," "non-transitory machine-readable medium," and "machine-readable storage device" should not be construed as being implemented as a propagating signal.
[0096] As used herein, meeting a threshold may refer to a value being greater than the threshold, a value being greater than or equal to the threshold, a value being less than the threshold, a value being less than or equal to the threshold, a value being equal to the threshold, a value not equal to the threshold, etc., depending on the context.
[0097] It will be apparent that the systems and / or methods described herein may be implemented in different forms of hardware, firmware, or a combination of hardware and software. The actual specific control hardware or software code used to implement these systems and / or methods is not intended to limit the implementation. Thus, the operation and behavior of the systems and / or methods are described herein without reference to specific software code—it will be understood that software and hardware can be designed to implement the systems and / or methods based on the description herein.
[0098] Although particular combinations of features are recited in the claims and / or disclosed in the specification, these combinations are not intended to limit the disclosure of various implementations. Indeed, many of these features may be combined in ways not specifically recited in the claims and / or specifically disclosed in the specification. While each dependent claim listed below may depend directly on only one claim, the disclosure of various implementations includes each dependent claim in combination with every other claim in the claim set. As used herein, the phrase "at least one" of a list of items refers to any combination of those items, including single members. As an example, "at least one of a, b, or c" is intended to include a, b, c, ab, ac, bc, and abc, as well as any combination with multiple identical items.
[0099] No element, act, or instruction used herein should be construed as required or essential unless explicitly stated as such. Also, as used herein, the articles "a" and "an" are intended to include one or more items (referenced in association with the article) and may be used interchangeably with "one or more" (items). Also, as used herein, the article "the" is intended to include one or more items (referenced in association with the article) and may be used interchangeably with "one or more" (items). Also, as used herein, the term "set" is intended to include one or more items (e.g., related items, unrelated items, or a combination of related and unrelated items) and may be used interchangeably with "one or more." Where only one item is intended, the phrase "only one" or similar language is used. Also, as used herein, the term "comprising" is intended to be open-ended. Additionally, the phrase "based on" is intended to mean "based at least in part on," unless expressly stated otherwise. Also, as used herein, the term "or" is intended to be inclusive when used in tandem and can be used interchangeably with "and / or" unless expressly stated otherwise (e.g., when used in combination with "either" or "only one of").
Claims
1. detecting, by the device, an object on the conveyor based on the image; printing, by the device via a label printer, a label associated with the object; determining, by the device, an object position of the object relative to the conveyor; moving, by the device, via a robotic arm, the label printer to an application position aligned with a path of the object location on the conveyor; applying the label to the object at the application location by the device via the robotic arm and the label printer; Equipped with moving the label printer to the application position includes causing the robotic arm to remove the label printer from a docking station; the docking station is configured to provide power to the label printer when the label printer is docked to the docking station; The label printer is adapted to receive power from the robotic arm upon being attached to the robotic arm. A method characterized by:
2. The label printer is selected from a plurality of label printers to apply the label based on printing instructions associated with the object and the label.
2. The method of claim 1 .
3. The label is printed to include content associated with an object identifier shown on the object.
3. The method of claim 2.
4. The object is detected using an image processing model configured to identify the object on the conveyor depicted in the image.
2. The method of claim 1 .
5. analyzing the object using an image processing model to identify label-receiving areas on the object that are to receive the labels; Further provided with The label is applied to the label receiving area based on controlling the robotic arm to move the label printer across the label receiving area.
2. The method of claim 1 .
6. The label receiving area is identified based on the size of the label.
6. The method of claim 5.
7. The robotic arm is attachable to the label printer via a coupler on the robotic arm and an electromechanical coupling on the label printer.
2. The method of claim 1 .
8. one or more memories; one or more processors coupled to the one or more memories; Equipped with the one or more processors: receiving an image from the camera depicting an object on the conveyor; printing, via a label printer, a label associated with the object based on detecting the object in the image using an image processing model; determining an object position of the object relative to the conveyor using the image processing model; moving the label printer via a robotic arm to an application position aligned with a path of the object location on the conveyor; applying the label to the object at the application position via the robotic arm and the label printer; It is structured as follows: the one or more processors are configured to cause the robotic arm to move the label printer to the application position from a docking station to cause the robotic arm to move the label printer to the application position; The docking station is configured to provide power to the label printer before the label printer is coupled to the robotic arm. A device characterized by:
9. the one or more processors are further configured to process the image to identify an object identifier associated with the object; The label printer is selected from a plurality of label printers based on being associated with the object identifier.
9. The device of claim 8.
10. the one or more processors are further configured to analyze the object using the image processing model to identify label receiving areas on the object that are to receive the labels; The robotic arm is controlled to apply the label to the label receiving area on the object.
9. The device of claim 8.
11. The label receiving area is identified based on the size of the label.
11. The device of claim 10.
12. the robotic arm is attachable to the label printer via a coupler on the robotic arm that couples to an electromechanical coupling on the label printer; The electromechanical coupling is configured to transfer power from the robotic arm to one or more components of the label printer.
9. The device of claim 8.
13. A label printer and A camera and A robotic arm, A controller; Equipped with The controller receiving an image from the camera depicting an object on the conveyor; printing, via the label printer, a label associated with the object based on detecting the object in the image using an image processing model; determining an object position of the object relative to the conveyor using the image processing model; moving the label printer via the robotic arm to an application position aligned with a path of the object location on the conveyor; applying the label to the object at the application position via the robotic arm and the label printer; It is structured as follows: the controller is configured to cause the robotic arm to move the label printer from a docking station to the application position to move the label printer to the application position; The docking station is configured to provide power to the label printer before the label printer is coupled to the robotic arm. A system characterized by:
14. the controller is further configured to use the image processing model to identify an object identifier depicted on the object; The label printer is selected based on being associated with the object identifier.
14. The system of claim 13.
15. the controller is further configured to analyze the object using the image processing model to identify label receiving areas on the object that are to receive the labels; The robotic arm is controlled to apply the label to the label receiving area on the object.
14. The system of claim 13.
16. The label receiving area is identified based on the size of the label.
16. The system of claim 15.
17. the robotic arm is attachable to the label printer via a coupler on the robotic arm that couples to an electromechanical coupling on the label printer; The electromechanical coupling is configured to transfer power from the robotic arm to one or more components of the label printer.
14. The system of claim 13.
Citation Information
Patent Citations
The invention discloses an original single coverage type online printing and labeling robot
CN208897531U
labeling machine
JP1995503216A
Physical distribution management system
JP2003104554A
Label affixing machine
JP2004262520A
Label printer applicator system
US20180203650A1