Controller and code reader system
The controller system dynamically adjusts camera parameters based on workpiece transport state to prevent reading errors, addressing the issue of fixed imaging conditions in code readers.
Patent Information
- Application Number
- JP2024010567
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-01-26
- Publication Date
- 2025-08-07
AI Technical Summary
Existing code readers fail to adapt to changes in the transport state of workpieces during operation, leading to reading errors due to fixed imaging conditions.
A controller system that dynamically adjusts camera control parameters based on the workpiece transport state, using an acquisition unit for detection signals, conveyor information, and installation information to ensure appropriate imaging and decoding even when transport conditions change.
Reduces reading errors by dynamically determining camera control parameters in response to changes in workpiece transport, ensuring accurate code reading.
Smart Images

Figure 2025115870000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a controller and a code reader system. [Background technology]
[0002] For example, a code reader is configured to use a camera to capture an image of a code such as a barcode or two-dimensional code attached to a workpiece being transported by a conveyor, extract the code contained in the resulting image using image processing, digitize it, and decode it to read the information (see, for example, Patent Document 1).
[0003] This type of code reader is used by connecting it to an external control device such as a computer or programmable logic controller (PLC). The user sets various settings for the code reader, such as imaging conditions, image processing, and decoding processing, on the computer, for example, and the setting information set by the user on the computer is transferred to the code reader and applied during operation. During operation, the code reader captures an image of the workpiece and performs decoding processing based on a trigger signal input from the PLC. The decoded results obtained by the decoding processing are then sent to the PLC. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Patent Publication No. 2021-149588 Summary of the Invention [Problem to be solved by the invention]
[0005] However, the state of workpiece transport by the transport device is not always the same and is likely to change over time. In this regard, with the code reader of Patent Document 1, once imaging conditions etc. are set before operation, those settings continue to be applied during operation, so if the state of workpiece transport by the transport device changes, for example, imaging processing etc. will not be performed appropriately, which may lead to a reading error.
[0006] The present disclosure has been made in consideration of the above points, and its purpose is to suppress the occurrence of reading errors even when the transport state of the workpiece changes during operation. [Means for solving the problem]
[0007] In order to achieve the above objective, the present disclosure can be based on a controller connected to one or more cameras that generate images based on reflected light from codes attached to workpieces being transported on a conveyor, and a decoder that performs decoding processing of the codes attached to the workpieces based on the images output from the one or more cameras.
[0008] The controller includes an acquisition unit that acquires a detection signal of the workpiece from a detection sensor, conveyor information including the conveying speed of the conveyor, and installation information indicating the position and orientation of each camera of the one or more cameras in the conveyor coordinate system of the conveyor; a recognition unit that recognizes the conveying state of the workpiece based on the detection signal and the conveying speed; a processing determination unit that determines, for each camera, a control parameter corresponding to the conveying position of the workpiece on the conveyor based on the conveying state and the installation information of each camera; and a communication unit that transmits the control parameter determined by the processing determination unit to each corresponding camera.
[0009] With this configuration, when the camera captures an image of the code attached to a workpiece being transported on the conveyor, the camera's control parameters are dynamically determined based on the workpiece transport state recognized by the recognition unit and the camera's installation information. For example, if the workpiece transport state changes during operation, the camera's control parameters are determined based on the new transport state, allowing the camera to perform image capture processing using control parameters appropriate for the new transport state. This reduces the occurrence of reading errors even if the workpiece transport state changes during operation.
[0010] In another aspect of the present disclosure, a controller may be configured to be connected via communication to one or more code readers, each of which has an illumination control unit that controls an illumination unit that illuminates workpieces transported on a conveyor, a camera that generates an image based on reflected light from a code attached to the workpiece, and a decoder that decodes the code attached to the workpiece based on the image output from the camera. In this case, the controller may be configured to include: an acquisition unit that acquires a detection signal of the workpiece from a detection sensor, a transport speed of the conveyor, and installation information indicating the relative position and orientation of each of the one or more code readers with respect to the conveyor; a recognition unit that recognizes the transport state of the workpiece based on the detection signal and the transport speed; a process determination unit that determines, for each code reader, control parameters corresponding to the transport position of the workpiece on the conveyor based on the transport state and the installation information of each code reader; and a communication unit that transmits the control parameters determined by the process determination unit to each corresponding code reader.
[0011] In yet another aspect of the present disclosure, a code reader system may be provided that reads a code attached to a workpiece downstream of a detection sensor that detects the workpiece being transported on a conveyor based on a detection signal from the detection sensor. The code reader system may include one or more code readers, each having an illumination control unit that controls an illumination unit that illuminates the workpiece, a camera that generates an image based on light reflected from the workpiece, and a decoder that decodes the code attached to the workpiece based on the image generated by the camera, and a controller having: an acquisition unit that acquires the detection signal, a transport speed of the conveyor, and installation information indicating the relative position and orientation of each of the one or more code readers with respect to the conveyor; a recognition unit that recognizes the transport state of the workpiece based on the detection signal and the transport speed; a process determination unit that determines, for each code reader, control parameters corresponding to the transport position of the workpiece on the conveyor based on the transport state and the installation information of each code reader; and a communication unit that transmits the control parameters determined by the process determination unit to each of the corresponding code readers. [Effects of the Invention]
[0012] As described above, the camera control parameters can be dynamically determined during operation, so that the occurrence of reading errors can be suppressed even if the transport state of the workpiece changes. [Brief explanation of the drawings]
[0013] [Figure 1] FIG. 1 is a schematic diagram of a code reader system according to an embodiment of the present invention. [Figure 2] FIG. 2 is a diagram illustrating an operation example 1 of the code reader system. [Figure 3] FIG. 3 is a plan view illustrating an operation example 2 of the code reader system. [Figure 4A] FIG. 4A is a plan view illustrating an operation example 2 of the code reader system. [Figure 4B]FIG. 4B is a side view illustrating an operation example 2 of the code reader system. [Figure 5] FIG. 5 is a block diagram of the code reader. [Figure 6] FIG. 6 is a diagram showing the positional relationship from the trigger point to the output point. [Figure 7] FIG. 7 is a diagram showing an example of a connection configuration between a controller and a code reader. [Figure 8] FIG. 8 is a diagram illustrating the positional relationship between the code reader and the transport device. [Figure 9] FIG. 9 is a block diagram of the controller. [Figure 10] FIG. 10 is a timing chart for when multiple code readers are provided. [Figure 11] FIG. 11 is a diagram for explaining the details of the timing chart shown in FIG. [Figure 12] FIG. 12 is a timing chart for when the illumination units of multiple code readers are turned on simultaneously. [Figure 13] FIG. 13 is a timing chart in which the illumination cycle and image capture cycle are common to all code readers. [Figure 14] FIG. 14 is a timing chart in which the illumination period and image capture period differ for each code reader but are common to all code readers. [Figure 15] FIG. 15 is a timing chart in which the illumination period and the image capturing period differ for each code reader and for each code reader. [Figure 16] FIG. 16 is a diagram illustrating an imaging area when a plurality of workpieces are approaching each other in the conveying direction. [Figure 17] FIG. 17 is a diagram illustrating a mask area when multiple workpieces are close to each other in the transport direction. [Figure 18] FIG. 18 is a diagram showing an imaging area when a custom sensor is used. [Figure 19] FIG. 19 is a diagram showing the readout direction of the custom sensor. [Figure 20]FIG. 20 is a diagram illustrating installation information acquired by an acquisition unit during calibration. [Figure 21] FIG. 21 is a diagram showing the calculation results of the position and installation angle of each code reader in the coordinate system of the transport device. [Figure 22] FIG. 22 is a diagram showing camera information acquired by an acquisition unit during calibration. [Figure 23] FIG. 23 shows a conversion formula used when converting the coordinate system of the transport device into the coordinate system of the imaging unit. [Figure 24] FIG. 24 shows a conversion formula used when converting the coordinate system of the imaging unit into the coordinate system of the image sensor. [Figure 25] FIG. 25 is a diagram illustrating an example of a calibration model. [Figure 26] FIG. 26 is a diagram equivalent to FIG. 25 after a change in the position parameter of the code reader has been accepted. [Figure 27] FIG. 27 is a diagram equivalent to FIG. 25, showing an example in which an image of a transported workpiece is displayed. [Figure 28] FIG. 28 is a view equivalent to FIG. 27 in which the edge indication line is aligned with the workpiece. [Figure 29] FIG. 29 is a view equivalent to FIG. 25 in which a code reader is installed to the side of the workpiece so as to capture an image from the upstream side. [Figure 30] FIG. 30 is a diagram equivalent to FIG. 29, showing an example of a displayed image of a workpiece that has been conveyed. [Figure 31] FIG. 31 is a view equivalent to FIG. 25 in which a code reader is installed to the side of the workpiece so as to capture an image from the downstream side. [Figure 32] FIG. 32 is a diagram equivalent to FIG. 31 showing an example of a displayed image of a transported workpiece. [Figure 33] FIG. 33 is a diagram showing a modified example in which a code reader is installed to the side of the workpiece so as to capture an image from the upstream side. [Figure 34] FIG. 34 is a diagram equivalent to FIG. 33, showing an example in which an image of a transported workpiece is displayed. [Figure 35]FIG. 35 is a diagram showing a modified example in which a code reader is installed to the side of the workpiece so as to capture an image from the downstream side. [Figure 36] FIG. 36 is a diagram equivalent to FIG. 35, showing an example in which an image of a transported workpiece is displayed. [Figure 37] FIG. 37 is a block diagram of the collection and analysis device. [Figure 38] FIG. 38 is a flowchart showing an example of the processing flow from image capture to image storage. [Figure 39] FIG. 39 is a diagram showing an example of a user interface screen for image display. [Figure 40] FIG. 40 is a flowchart showing an example of the procedure from decoding processing to adding a log. [Figure 41] FIG. 41 is a block diagram showing the case where images are stored in each collection and analysis device. [Figure 42] FIG. 42 is a flowchart showing an example of a control flow of the controller when setting up the code reader system. [Figure 43] FIG. 43 is a flowchart showing an example of a control flow of the controller when the code reader system is in operation. DETAILED DESCRIPTION OF THE INVENTION
[0014] Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Note that the following description of the preferred embodiments is merely exemplary in nature and is not intended to limit the present invention, its applications, or its uses.
[0015] FIG. 1 is a diagram showing a schematic configuration of a code reader system S having a code reader 1 according to an embodiment of the present invention. FIGS. 2, 3, 4A, and 4B are diagrams explaining operation examples 1 and 2 of the code reader system S. These operation examples 1 and 2 show cases where the code reader system S is used at a logistics site where multiple workpieces W are handled. A conveying device B is installed at the logistics site for sequentially conveying the multiple workpieces W in a predetermined conveying direction. The conveying direction of the workpieces W is indicated by arrow A in FIG. 2; therefore, the left side of FIGS. 2, 3, 4A, and 4B is the upstream side in the conveying direction, and the right side is the downstream side in the conveying direction.
[0016] As shown in FIG. 2, the conveying device B has multiple conveying mechanisms B1 and B2. Each of the conveying mechanisms B1 and B2 is, for example, a belt conveyor or a roller conveyor, and includes an upstream conveying mechanism B1 and a downstream conveying mechanism B2. The upper surfaces of the upstream conveying mechanism B1 and the downstream conveying mechanism B2 form a conveying surface. In this embodiment, the conveying direction of the workpiece W is defined as the Y direction, the direction perpendicular to the Y direction on the conveying surface is defined as the X direction, and the direction perpendicular to both the X and Y directions is defined as the Z direction. In logistics sites, the X and Y directions are often approximately horizontal, but the Y direction may be inclined relative to the horizontal plane. The X direction can also be referred to as the width direction of the conveying mechanisms B1 and B2, or as the longitudinal direction of the gap between the conveying device B. The Z direction can also be referred to as the height direction (up and down). Note that these direction definitions are for convenience of explanation and do not limit the directions during use.
[0017] The upstream transport mechanism B1 and the downstream transport mechanism B2 are spaced apart in the transport direction. The size (dimension) of the gap between the upstream transport mechanism B1 and the downstream transport mechanism B2 is not particularly limited, but is set so that the smallest workpiece W to be transported does not fall through the gap and is smoothly transferred from the upstream transport mechanism B1 to the downstream transport mechanism B2. The longitudinal dimension of the gap (dimension in the X direction) is approximately the same as the width (dimension in the X direction) of the transport mechanisms B1 and B2, but this is also not particularly limited.
[0018] The code reader system S may have one or more code readers 1. The code reader 1 in this embodiment is a fixed type. When this fixed code reader 1 is in operation, it is performing an operation of sequentially reading the codes of the workpieces W transported by the transport device B. The code reader 1 is fixed to a frame, stand, bracket, etc. (not shown). In this embodiment, a case will be described in which the code reader system S has multiple code readers 1. In operation example 1 shown in FIG. 2, three code readers 1 are used, and the field of view range of each code reader 1 is indicated by the symbol C.
[0019] When multiple code readers 1 are provided, the multiple code readers 1 can be installed to surround the workpiece W. That is, the code reader 1 in Operation Example 1 includes an upstream diagonal reading code reader 1A installed above the workpiece W so as to be able to read the code attached to the workpiece W from the upstream side, a downstream diagonal reading code reader 1B installed above the workpiece W so as to be able to read the code attached to the workpiece W from the downstream side, and a bottom-reading code reader 1C. The bottom-reading code reader 1C is installed below the conveying device B so that the gap between the upstream conveying mechanism B1 and the downstream conveying mechanism B2 falls within the field of view C.
[0020] The gap between the upstream conveying mechanism B1 and the downstream conveying mechanism B2 is included in the field of view C of the bottom surface reading code reader 1C, so when the bottom surface of the workpiece W passes through the gap during conveyance, the code reader 1C can capture an image of the bottom surface. A code may be attached to the bottom surface of the workpiece W. If a code is attached to the bottom surface of the workpiece W, the code reader 1 is installed at an installation position below the conveying surface of the conveying device B, so the code attached to the bottom surface of the workpiece W can be read through the gap from below the conveying surface of the conveying device B.
[0021] The imaging unit 3 of the bottom surface reading code reader 1C is a bottom surface camera that continuously captures images of the bottom surface of the workpiece W that is exposed through a gap in the conveying device B and is included in the depth of field of the imaging unit 3, thereby outputting multiple images that capture part of the code attached to the bottom surface of the workpiece W. After multiple images that capture part of the code in the conveying direction are output sequentially from the image sensor 31b, these images can be combined to obtain an image of the code attached to the bottom surface of the workpiece W.
[0022] A plurality of bottom-reading code readers 1C can be installed. In this case, the system can be configured to include a plurality of imaging units 3 that read the gaps of a common conveying device B from below the conveying surface of the conveying device B, and a plurality of illumination units 2 corresponding to the plurality of imaging units 3.
[0023] FIG. 3 shows the arrangement of code readers 1A, 1B, 1D, 1E, 1F, and 1G in operation example 2. FIG. 4A shows code readers 1D to 1G in operation example 2 as viewed from above conveyor B, and FIG. 4B shows code readers 1A and 1B in operation example 2 as viewed from the side of conveyor B. In operation example 2, six code readers are used. Specifically, code reader 1A images the top and front surfaces of the workpiece W, code reader 1B images the top and rear surfaces of the workpiece W, code reader 1D images the side surfaces (right side in the conveying direction) and rear surfaces of the workpiece W, code reader 1E images the side surfaces (right side in the conveying direction) and front surfaces of the workpiece W, code reader 1F images the side surfaces (left side in the conveying direction) and rear surfaces of the workpiece W, and code reader 1G images the side surfaces (left side in the conveying direction) and front surfaces of the workpiece W.
[0024] The code reader system in this embodiment is not limited to operation examples 1 and 2, and operation examples 1 and 2 can be combined in any way. For example, in operation example 2, a code reader 1C for reading the bottom surface of operation example 1 can be additionally installed. The code reader 1 can also be installed in an installation location other than operation examples 1 and 2. In operation examples 1 and 2, multiple code readers 1 can be used to image different work surfaces of the same work W.
[0025] The code attached to the workpiece W includes both barcodes and two-dimensional codes. Examples of two-dimensional codes include QR Code (registered trademark), Micro QR Code, Data Matrix (Data code), Veri Code, Aztec Code, PDF417, and Maxi Code. Two-dimensional codes are available in stack and matrix types, and the present invention can be applied to any two-dimensional code. The code may be attached by directly printing or engraving it on the workpiece W, or by printing it on a label and then attaching it to the workpiece W; the means and method are not important. Furthermore, when multiple code readers 1 are used, all may be the same code readers, or they may be different code readers. In the following description, it is assumed that all code readers 1 are the same.
[0026] FIG. 5 is a block diagram of the code reader 1. The code reader 1 includes an illumination unit 2, an imaging unit (camera) 3, a control unit 4, a storage unit 5, and a reader-side communication unit 6. The control unit 4 includes an imaging control unit 41 that controls the imaging unit 3, an illumination control unit 42 that controls the illumination unit 2, a code detection unit 43, and a decoding unit (decoder) 44. The storage unit 5 includes a decoding result storage unit 51, an image data storage unit 52, and a setting storage unit 53. The decoding result storage unit 51, the image data storage unit 52, and the setting storage unit 53 can be configured as readable and writable storage devices such as SSDs (solid state drives). Although not shown, the decoding result storage unit 51, the image data storage unit 52, and the setting storage unit 53 may be provided in separate storage devices.
[0027] The reader-side communication unit 6 is a unit that communicates with various external devices (details of which will be described later). The control unit 4 receives setting information and the like transmitted from the external devices via the reader-side communication unit 6. The control unit 4 also receives a reading start trigger signal from the external devices via the reader-side communication unit 6. The decoded result by the code reader 1 is transmitted to the external devices via the reader-side communication unit 6. The reader-side communication unit 6 also receives, for example, the dimensions of the gaps formed between the multiple conveying mechanisms B1 and B2 of the conveying device B and the conveying speed of the conveying device B. The user can input the gap dimensions and conveying speed into the external device in advance. The input gap dimensions and conveying speed are stored in the external device, and after being transmitted from the external device, the reader-side communication unit 6 receives and acquires the gap dimensions and conveying speed.
[0028] The lighting unit 2 is a part that irradiates illumination light onto the workpiece W being transported on the transport device B. In the case of operation example 1 shown in FIG. 2, the bottom surface reading code reader 1C is installed below the transport surface of the transport device B, so the lighting unit 2 irradiates illumination light from below the transport surface toward the gap between the upstream transport mechanism B1 and the downstream transport mechanism B2. As a result, when the bottom surface of the workpiece W being transported passes through the gap between the upstream transport mechanism B1 and the downstream transport mechanism B2, the bottom surface can be illuminated by the lighting unit 2. If a code is attached to the bottom surface of the workpiece W, the code attached to the bottom surface of the workpiece W can be illuminated by the lighting unit 2. The lighting unit 2 is equipped with a light emitting element such as a light emitting diode (LED).
[0029] The illumination unit 2 and the imaging unit 3 may be integrated, or may be separate units. The illumination unit 2 is controlled by an illumination control unit 42, which switches the illumination unit 2 on and off and changes the brightness when it is on. When a reading start trigger signal is input from an external device, the illumination control unit 42 turns on the illumination unit 2 for a predetermined time and turns it off after the predetermined time has elapsed.
[0030] The imaging unit 3 is a part that generates an image based on light reflected from a code attached to a workpiece W being transported on the transport device B. The imaging unit 3 can generate a code image including the code by capturing an image of the workpiece W and output it to the control unit 4. The imaging unit 3 has a lens 31a, an image sensor 31b, and a pre-processing circuit 32. The lens 31a is an imaging lens that focuses light reflected from the workpiece W. The light that enters the lens 31a is emitted toward the light receiving surface of the image sensor 31b and forms an image on the light receiving surface.
[0031] The image sensor 31b includes a light-receiving element, such as a CCD (charge-coupled device) or a CMOS (complementary metal oxide semiconductor), that converts the code image obtained through the lens 31a into an electrical signal. An image including the code is generated based on the amount of light received on the light-receiving surface of the image sensor 31b. The image sensor 31b has multiple image-receiving elements arranged in row and column directions, i.e., multiple pixels arranged in a matrix. In other words, the imaging unit 3 is a so-called area camera. In this embodiment, the image sensor 31b has more pixels in the column direction (U direction) than in the row direction (V direction). The number of pixels, focal length, sensor size, etc. of the image sensor 31b are stored in the memory unit 5 as camera information related to the imaging unit 3. The captured image (hereinafter simply referred to as "image") generated by the image sensor 31b by capturing an image of the workpiece W or the like is input to the preprocessing circuit 32. The preprocessing circuit 32 may be provided as needed and is not essential.
[0032] The preprocessing circuit 32 is configured with an integrated circuit such as an FPGA (Field Programmable Gate Array), and is a part that performs various preprocessing operations on the image output from the image sensor 31b. The preprocessing operations include, for example, various filter processes. The imaging unit 3 outputs the image that has been preprocessed by the preprocessing circuit 32 to the control unit 4. The preprocessing by the preprocessing circuit 32 may be performed as needed, and the image that has not been preprocessed may be output to the control unit 4. The image output to the control unit 4 is stored in the image data storage unit 52.
[0033] The imaging unit 3 is controlled by an imaging control unit 41. When a read start trigger signal is input from an external device, the imaging control unit 41 generates an image by exposing for a preset exposure time. The imaging control unit 41 controls the imaging unit 3 to apply a preset gain to the image generated by the image sensor 31b, and also performs processing to amplify the brightness of the image by digital image processing.
[0034] The control unit 4 controls each unit of the code reader 1, detects the code attached to the workpiece W based on the multiple images output from the imaging unit 3, and executes a decoding process for the detected code. A specific configuration example of the control unit 4 is a configuration example including a processor (which functions as a central processing unit) and a microcomputer having ROM, RAM, etc. The imaging control unit 41, lighting control unit 42, code detection unit 43, and decoding unit 44 are configured by the hardware included in the control unit 4 and the software executed by the control unit 4.
[0035] The code detection unit 43 of the control unit 4 is a part that identifies a code region based on the code image output from the imaging unit 3 and detects a code from the identified code region. The code detection unit 43 generates multiple edge images by applying multiple edge extraction filters to the image generated by the imaging unit 3 to extract edges of different frequencies, and then performs an integration process on the multiple edge images. The code detection unit 43 then determines a code candidate position based on the results of the edge integration process. That is, in the edge-processed image, it is possible to estimate that an area where many pixels with high brightness values are concentrated is a code region.
[0036] For example, the code detection unit 43 can generate a heat map image that indicates the likelihood of a code in order to search for the position of the code within the code image. That is, the code detection unit 43 quantifies the feature values of the code, generates a heat map in which the magnitude of the feature values is assigned to each pixel value, and extracts code candidate regions on the heat map where there is a high probability that a code exists. As a specific example, there is a method of acquiring the feature portions of the code from areas that appear relatively hot (large feature values) in the heat map. When multiple feature portions are acquired, they can be prioritized and extracted, and stored in RAM, etc. Using a heat map image makes it possible to quickly detect code regions.
[0037] The decoding unit 44 of the control unit 4 decodes the code detected by the code detection unit 43. Specifically, since the code is represented as binary black and white data, the decoding unit 44 decodes the binary black and white data. A table showing the correspondence between encoded data can be used for decoding. Furthermore, the decoding unit 44 checks whether the decoded result is correct according to a predetermined check method. If an error is found in the data, an error correction function is used to calculate the correct data. The error correction function differs depending on the type of code.
[0038] 1, the code reader system S includes, in addition to the code reader 1, a dimension measurement unit 90, an encoder 91, a work sensor 92, a data communication device 93, a controller 100, a collection and analysis device 200, a setting device 300, etc. The dimension measurement unit 90, the controller 100, the collection and analysis device 200, etc. are examples of external devices.
[0039] The setting device 300 is configured, for example, by a personal computer, and has a display unit (display device) 301 configured by a liquid crystal display or the like, and an operation unit 302 configured by various input or operation devices such as a keyboard and a mouse. A user can input various information by operating the operation unit 302. If the collection and analysis device 200 is a personal computer, the setting device 300 does not need to be a personal computer and may be a combination of a display and an input device. While the present embodiment describes a code reader system S having a code decoding function, the present invention can also be applied to devices or systems that do not have a decoding function. For example, in a system in which the decoding unit 44 (described later) is omitted or inoperable, the system becomes an image processing device or image processing system that performs various image processing using images generated by capturing an image of the workpiece W.
[0040] The encoder 91 and the work sensor 92 are communicatively connected to the controller 100 via an IO wiring 94. The data communication device 93 is communicatively connected to the controller 100 via a host communication line 95, and is configured as a device that executes communication with an external network, etc. The code reader 1 and the dimension measuring unit 90 are communicatively connected to the controller 100 via a dedicated control communication line 96.
[0041] The code reader 1 has an imaging unit 3 and a decoding unit 44, and therefore the imaging unit 3 and the decoding unit 44 are connected to the controller 100. Furthermore, the code reader 1 has an illumination unit 2 corresponding to the imaging unit 3, and therefore the illumination unit 2 is connected to the controller 100. Details will be described later, but in the case of operation examples 1 and 2, the imaging units 3 of the multiple code readers 1 receive instructions from the control unit 107 (shown in FIG. 9 ) of the controller 100 to capture images of the workpiece W from multiple different directions. The illumination units 2 of the multiple code readers 1 receive instructions from the control unit 107 of the controller 100 to illuminate the workpiece W from multiple different directions.
[0042] The code reader 1 and the dimension measuring unit 90 are also connected to each other via a dedicated control communication line 96 so as to be able to communicate with each other. Furthermore, the code reader 1 is connected to the collection and analysis device 200 via a communication line 97 so as to be able to communicate with the collection and analysis device 200. The setting device 300 is connected to the collection and analysis device 200 via a communication line 98 so as to be able to communicate with the controller 100 via a communication line 99 so as to be able to communicate with the controller 100. The collection and analysis device 200, which will be described in detail later, is a part that collects and stores time-series logs including images transmitted from the controller 100 and the code reader 1, and is typically a personal computer. Note that the above-described connection configuration of the code reader 1, dimension measuring unit 90, encoder 91, work sensor 92, data communication device 93, controller 100, collection and analysis device 200, and setting device 300 is one example, and any connection configuration that can realize each of the functions described below may be used.
[0043] The dimension measuring unit 90 is, for example, an optical dimension measuring device and is an example of a detection sensor capable of detecting workpiece information including at least one of the widthwise position of the workpiece W on the conveying device B and the height of the workpiece W. The optical dimension measuring device constituting the dimension measuring unit 90 may be a conventionally known device. For example, the dimension measuring unit 90 can measure the dimensions of the workpiece W by irradiating measurement light onto the workpiece W and receiving the measurement light reflected from the workpiece W using the principle of triangulation. The dimensions of the workpiece W that can be measured by the dimension measuring unit 90 include, for example, height, width, and depth. Upon receiving a read start trigger signal transmitted from the controller 100 via a dedicated control communication line 96, the dimension measuring unit 90 executes a dimension measurement process. The dimension measuring unit 90 transmits the generated dimension data to the controller 100 or the code reader 1 via the dedicated control communication line 96. By measuring the dimensions of the workpiece W, it is possible to estimate the load capacity for carrying the workpiece W and calculate the transportation volume, for example.
[0044] The encoder 91 is a device for detecting the conveying speed of the conveying device B. As shown in FIG. 2, the encoder 91 is attached to the conveying device B. Furthermore, the work sensor 92 is a device (for example, a photoelectric sensor) for detecting that the work W being conveyed by the conveying device B has reached a predetermined position, and outputs a detection signal when it detects that the work W has reached the predetermined position. The work sensor 92 can also be attached to the conveying device B. The signals output from the encoder 91 and the work sensor 92 are transmitted to the controller 100 via the IO wiring 94.
[0045] 6 is a diagram showing the positional relationships from the trigger point to the output point. The trigger point is the point at which a reading start trigger signal is output to perform imaging and illumination. For example, the trigger point can be the point at which the work sensor 92 detects that the work W has reached a predetermined position, and at the trigger point, a reading start trigger signal can be output to the dimension measuring unit 90 and the code reader 1 via a dedicated control communication line 96. The work sensor 92 is installed upstream of the code reader 1 in the conveying direction. Therefore, the code reader 1 reads the code attached to the work W downstream of the work sensor 92.
[0046] The dimension measuring unit 90 is installed at a dimension measuring unit installation point downstream of the trigger point in the conveying direction. Therefore, it is possible to measure the dimensions of the workpiece W that arrives after the reading start trigger signal is output. The code reader 1 is installed at a code reader installation point downstream of the dimension measuring unit installation point in the conveying direction. Therefore, it is possible to capture an image of the workpiece W after its dimensions have been measured by the dimension measuring unit 90.
[0047] After the read start trigger signal is input, the decoding process of the code of the work W is executed, and this decoding process and the creation of output data including the decoding results, logs, etc. are executed up to the release point. When the work W reaches the output point, the output data is output from the code reader 1 to the data communication device 93 via a dedicated control communication line 96. The output point corresponds to a timing desired by the user that is determined based on the specifications of another system, for example. The output point and the release point may be set to the same timing. Whether the work W has reached the release point and the output point can also be detected by the work sensor, respectively.
[0048] As shown in Fig. 7, when multiple code readers 1 are operated, the controller 100 is communicatively connected to the multiple code readers 1 via a dedicated control communication line 96. In this case, the controller 100 serves as the bus master, and each code reader 1 serves as a bus slave. The dedicated control communication line 96 can also be called a bus used to transmit and receive various data between the bus master and the bus slave. In addition to connecting multiple code readers 1 directly to the controller 100, by directly connecting each code reader 1 to another code reader 1 to form a ring network, even if the direct connection between a certain code reader 1 and the controller 100 is severed, the connection between that code reader 1 and the controller 100 can be maintained via another code reader 1.
[0049] 8 is a diagram illustrating the positional relationship between the code reader 1 and the conveying device B. The coordinate system (conveyor coordinate system) of the conveying device B can be defined, for example, with the position of the work sensor 92 as the origin, the conveying direction as the Y direction, the width direction of the conveyor as the X direction, and the height direction from the conveying surface as the Z direction. The installation angle of the code reader 1 is determined by the angle between the conveying surface (Y direction) and the optical axis. The angle of view of the code reader 1 is determined in advance for each model of code reader 1. The X coordinate, Y coordinate, Z coordinate, installation angle, angle of view, etc. of the code reader 1 are installation information that indicate the position and orientation of the imaging unit 3 in the conveyor coordinate system, and include the installation position and installation angle of the imaging unit 3 in the coordinate system of the conveying device B. The code reader 1 has a Scheimpflug optical system consisting of, for example, a lens 31a that focuses reflected light from the code attached to the workpiece W and an image sensor 31b that has a light-receiving surface inclined with respect to the optical axis of the lens 31a, and is equipped with an imaging unit 3 (camera) that generates and outputs an image including the code based on the amount of light received by the light-receiving surface. The imaging unit 3 has a depth of field DOF suitable for diagonal reading due to the Scheimpflug optical system. However, the optical system of the imaging unit 3 is not limited to the Scheimpflug optical system.
[0050] The controller 100 is configured to be connectable to external controlled devices such as a packaging camera that captures the packaging of the workpiece W, in addition to the code reader 1 and the dimension measuring unit 90, and is a controller that oversees trigger control of the code reader 1, the dimension measuring unit 90, and the external controlled devices. When the controller 100 receives signals output from a workpiece sensor 92 that detects the position of the workpiece W and an encoder 91 used for tracking the workpiece W, it outputs control parameters, a read start trigger signal, and the like to the code reader 1, the dimension measuring unit 90, and the external controlled devices. In addition, it aggregates the decoded results from each code reader 1 and uploads them to the collection and analysis device 200, setting device 300, etc.
[0051] The trigger control logic includes a delay setting from the time when the workpiece sensor 92 detects the workpiece W, and such settings can be made by the controller 100. Furthermore, processing of read data (such as character string manipulation) can be executed by the controller 100. Therefore, the controller 100 has setting and programming elements, and is configured to be compatible with the protocol specifications of upper communication (TCP / IP socket communication, legacy serial) that differ depending on the site where it is installed.
[0052] In actual operation sites, code readers 1 are installed in a variety of locations, which can make it difficult to operate the code reader 1 and change the settings of the code reader 1 after installation. Furthermore, setting an individual ID for each code reader 1 before installing multiple code readers 1 and then arranging them in specified locations places installation constraints on the system, and if the code reader 1 is installed in the wrong location, for example, it is difficult to reset the ID of that code reader 1. Furthermore, the person who installs the code reader 1 may be different from the person who sets up the code reader 1, so it is desirable to eliminate installation constraints as much as possible.
[0053] The same applies to IP addresses, and the problems associated with setting them before installing the code reader 1 are as described above. Even after installing the code reader 1, if the IP address has not yet been set, DHCP can be used, but if a different IP address has already been assigned to the code reader 1, it cannot be addressed until it is returned to an unset state, requiring a physical means such as an IP address initialization button. Furthermore, there are use cases that do not use Ethernet (cases that do not require images), and it is necessary to be able to use the code reader 1 even when no IP address has been assigned.
[0054] In response to these issues, the standard for dedicated control communication using the dedicated control communication line 96 according to this embodiment allows an ID and an IP address to be assigned to the code reader 1 via the dedicated control communication line 96, and also makes it possible to control the code reader 1 using only the dedicated control communication. For example, after the installation and wiring of the code reader 1 are complete, an ID can be assigned to the code reader 1, which is a bus slave, from the controller 100, which is a bus master, via the dedicated control communication line 96, and after the dedicated control communication line 96 becomes communicable, an IP address can be assigned to the code reader 1 and setting information for the code reader 1 can be communicated via the dedicated control communication line 96, as necessary.
[0055] The controller 100 and each code reader 1 are synchronized by a dedicated control system using a dedicated control communication line 96. The controller 100 generates a read start trigger signal and transmits the generated read start trigger signal to each code reader 1. The read start trigger signal can be changed depending on the type of code reader 1, and may be, for example, an edge trigger or a level trigger. The edge trigger is triggered on an imaging unit basis, and the trigger instruction can include the target ID, imaging time, control parameters, etc. The code reader 1 performs decoding on only one work W with one imaging. On the other hand, the level trigger is triggered to start and stop imaging, and the imaging timing is controlled by the code reader 1.
[0056] Upon receiving the read start trigger signal generated by the controller 100, each code reader 1 generates its own illumination timing according to its own time, which is guaranteed to be synchronized. In other words, the controller 100 controls the ON / OFF of the illumination of each code reader 1.
[0057] Each code reader 1 captures images according to the illumination control timing. In operation example 1 shown in Fig. 2, the image capturing cycle of code readers 1A and 1B other than the bottom-reading code reader is set to a cycle that depends on the decoding time of the decoding unit 44, but the bottom-reading code reader 1C captures images at a fixed cycle.
[0058] The specific configuration of the controller 100 will be described with reference to Fig. 9. The controller 100 has an acquisition unit 101, a recognition unit 102, a reception unit 103, a processing determination unit 104, a communication unit 105, an input / output interface 106, a control unit 107, a display processing unit 108, and an output unit 109. The input / output interface 106 is a part to which the encoder 91, the work sensor 92, the data communication device 93, the setting device 300, the code reader 1, the dimension measurement unit 90, external controlled devices, the collection and analysis device 200, etc. are connected. The input / output interface 106 is connected to the communication unit 105.
[0059] The acquisition unit 101 is a part that acquires the detection signal of the workpiece W from the workpiece sensor 92, conveyor information including the conveying speed and conveyor width of the conveying device B, and installation information indicating the position and orientation of the conveying device B in the conveyor coordinate system of each code reader 1. The conveying speed of the conveying device B may be acquired based on the output signal of the encoder 91, or may be acquired from the moving distance in a predetermined time using multiple workpiece sensors, or the conveying speed of the conveying device B set by the user may be acquired. Note that even when the encoder 91 calculates the workpiece conveying distance based on the number of pulses and the moving distance per unit pulse in the elapsed time from when the workpiece W is detected until it is imaged, it can be regarded as acquiring the conveying speed substantially or indirectly and determining the conveying distance based on the elapsed time and the conveying speed.
[0060] The recognition unit 102 is a part that recognizes the transport state of the workpiece W on the transport device B based on the detection signal and transport speed acquired by the acquisition unit 101. The transport state includes, for example, the transport speed and the position of the workpiece W on the transport device B (i.e., the position of the workpiece W in the conveyor coordinate system). By using information acquired from the dimension measurement unit 90, the recognition unit 102 can further recognize the transport state including the dimensions (width, height, depth) of the workpiece W and the position and orientation of the workpiece W in the conveyor coordinate system.
[0061] The reception unit 103 is a part configured to be able to receive from the user a combination of code readers 1 for which lighting interference is desired to be prevented from occurring among the multiple code readers 1 connected to the controller 100. For example, in operation example 1 shown in FIG. 2, if the lighting of code reader 1A for upstream diagonal reading and code reader 1B for downstream diagonal reading were to be turned on at the same time, the lighting would interfere with each other, and the desired code image might not be acquired. When it is desired to prevent such lighting interference, code reader 1A and code reader 1B are the combination of code readers 1 for which lighting interference is desired to be prevented. When the user specifies code reader 1A and code reader 1B, this combination is received by the reception unit 103.
[0062] The process determination unit 104 acquires the transport state of the workpiece W recognized by the recognition unit 102 and the installation information of each code reader 1 acquired by the acquisition unit 101. Based on the transport state of the workpiece W and the installation information of each code reader 1, the process determination unit 104 determines control parameters corresponding to a predetermined transport position of the workpiece W on the transport device B for each code reader 1. The process determination unit 104 can estimate the current position of the workpiece W based on the output signal of the encoder 91 and the detection signal of the workpiece sensor 92. The process determination unit 104 determines the control parameters in advance before the workpiece W reaches the predetermined transport position on the transport device B. In other words, because the type and location of the workpiece W can be acquired as the transport state of the workpiece W, optimal control parameters for each code reader 1 can be updated and prepared in advance. Then, when each code reader 1 becomes ready to capture an image, the code reader 1 performs lighting and image capture control using the latest control parameters at that time. 5, the code reader 1 may have a configuration including a single imaging unit 3 inside the housing of the code reader 1. Furthermore, the code reader 1 may have a configuration including both the imaging unit 3 and the decoding unit 44 inside the housing, and the decoding unit 44 may be provided as a separate device. In these configurations, the processing determination unit 104 determines, for each imaging unit 3, a control parameter corresponding to a predetermined transport position of the workpiece W on the transport device B, based on the transport state of the workpiece W and the installation information of each imaging unit 3.
[0063] The control parameters determined by the process determination unit 104 include, for example, the exposure time of the imaging unit 3, gain, type of code to be decoded, read result output timeout, imaging range (imaging range of the image sensor 31b), and processing parameters by the pre-processing circuit 32. The exposure time can be determined, for example, according to the conveying speed of the conveying device B acquired based on the output signal of the encoder 91. For example, the faster the conveying speed, the shorter the exposure time can be. By automatically optimizing the exposure time by the process determination unit 104, the brightness of the image generated by the imaging unit 3 becomes suitable for decoding processing. In addition, the gain is the gain of the imaging unit 3, and is automatically set to an optimal value by the process determination unit 104 based on the position of the workpiece W on the conveying device B and the installation information of the code reader 1. By optimizing the gain, the brightness of the image generated by the imaging unit 3 becomes suitable for decoding processing.
[0064] The process determination unit 104 is configured to determine the code to be read as a control parameter based on the transport state of the workpiece W and installation information of each code reader 1 for each imaging cycle. The type of code to be decoded is the type of code to be decoded by the decoding unit 44, and multiple types can be specified. For example, the process determination unit 104 determines the type of code to be decoded as a control parameter when excluding codes that do not need to be read based on the reading results of another code reader 1 installed upstream, or when switching the code to be read for each imaging. In addition, the control parameter can also be determined so that a first type of code is read by a first code reader 1 on the upstream side in the transport direction, and a second type of code is read by a second code reader 1 on the downstream side.
[0065] The processing determination unit 104 can also determine, as control parameters, the number of digits in the code, the data format, detailed settings for each code type, etc. The processing determination unit 104 can also determine, as control parameters, an upper limit on the number of codes to search in one image. The processing determination unit 104 can also determine, as control parameters, an image capture prohibition flag. For example, if the decoding process load on the code reader 1 is high and there are insufficient computational resources, the control parameter can be set to temporarily not capture images. This reduces the load on the code reader 1.
[0066] The processing decision unit 104 is configured to be able to determine, as control parameters, the time limit for the decoding process (reading result output timeout) for each imaging cycle based on the transport state of the workpiece W and the installation information of each code reader 1. In the case of an obfuscated code, the decoding process may take a long time, but the decoded result must be output before the workpiece W on the transport device B reaches the output point, and the processing decision unit 104 determines the time from when decoding begins until just before the workpiece W on the transport device B reaches the output point as the time limit for the decoding process.
[0067] The control parameters can be changed for each image capture. The processing parameters of the pre-processing circuit 32 include brightness conversion, heat map parameters, etc. The brightness conversion parameters include parameters related to post-image capture processing such as HDR. The heat map parameters are parameters related to the generation of the heat map image described above.
[0068] Furthermore, the processing decision unit 104 can also determine whether or not to output captured images based on the transport speed of the workpiece W for each imaging cycle as a control parameter. That is, the control parameters can also include a control flag for image output to the collection and analysis device 200. If all captured images were set to be output to the collection and analysis device 200, the load on the network bandwidth for image output would increase. However, if the processing decision unit 104 determines a control flag so that only a portion of the images are output, the load on the network bandwidth for image output can be reduced. For example, this can be used to appropriately thin out images so that the entire view of the workpiece W can be grasped. The control flag can be determined based on the output signal of the encoder 91.
[0069] The processing decision unit 104 decides the imaging cycle for each code reader 1 based on the transport state and installation information of each code reader 1. When multiple code readers 1 are connected, the processing decision unit 104 generates a reference signal that defines a basic cycle common to each code reader 1, and decides the imaging cycle and lighting cycle based on the basic cycle for each code reader 1. The basic cycle is a cycle that serves as a reference for the lighting timing, and by controlling the lighting and imaging in accordance with the basic cycle, it is possible to prevent interference between multiple lights.
[0070] The imaging period and illumination period are composed of one or more basic periods. The illumination period is the period during which the illumination unit 2 performs illumination, and is set as a natural number multiple of the basic period. The imaging period is the period during which the imaging unit 3 performs imaging, and is set as a natural number multiple of the illumination period.
[0071] Furthermore, the processing determination unit 104 determines an offset amount for offsetting the start timing of the imaging cycle and the illumination cycle from the reference signal for each code reader 1, based on the transport state of the workpiece W by the transport device B and the installation information of each code reader 1. The offset amount is set, for example, to delay the start timing of illumination, and is used to prevent interference between multiple illuminations.
[0072] Furthermore, when the receiving unit 103 receives from the user a combination of code readers 1 for which lighting interference is to be prevented, the processing determination unit 104 generates multiple groups for each combination received by the receiving unit 103, and determines, for each group, the offset amount from the reference signal for the start timing of the imaging cycle and the lighting cycle.
[0073] While there are combinations of code readers 1 for which it is desired to prevent illumination interference, there are also cases where it is desired to synchronize the illumination of multiple code readers 1. For example, as described above, in a configuration including multiple image capture units 3 that read a common gap in conveyance device B from below the conveyance surface of conveyance device B and multiple illumination units 2 corresponding to the multiple image capture units 3, it is possible to ensure a large amount of light by synchronizing the multiple illumination units 2. For example, the processing determination unit 104 can determine control parameters so that the multiple illumination units 2 irradiate illumination light at overlapping times.
[0074] The communication unit 105 is a part that communicates with a plurality of code readers 1 in accordance with the dedicated control communication standard, and transmits the control parameters determined by the processing determination unit 104 to each corresponding code reader 1. For example, after the control parameters corresponding to the code reader 1 are determined, the communication unit 105 transmits the corresponding control parameters to each code reader 1 at the timing when the workpiece W reaches a predetermined transport position. Note that the timing of this transmission is preferably the moment when the workpiece W reaches the predetermined transport position, but may be just before or just after the moment of arrival, as long as the control parameters can be effectively used.
[0075] When multiple code readers 1 are connected, the communication unit 105 transmits the imaging cycle determined by the processing determination unit 104 to each corresponding code reader 1, and transmits the illumination cycle determined by the processing determination unit 104 to each corresponding code reader 1. The pre-processing circuit 32 can execute pre-imaging processing and post-imaging processing according to the control parameters.
[0076] 10 is a timing chart for operating the upstream-side diagonal-reading code reader 1A, downstream-side diagonal-reading code reader 1B, and bottom-surface-reading code reader 1C. When the leading edge (tip) of the workpiece W reaches the trigger point, the workpiece sensor 92 outputs a detection signal and turns ON, maintaining the ON state until the trailing edge (rear end) is detected. When the controller 100 receives the detection signal from the workpiece sensor 92, it outputs a read start trigger signal. The upstream-side diagonal-reading code reader 1A, downstream-side diagonal-reading code reader 1B, and bottom-surface-reading code reader 1C that have received the read start trigger signal operate according to a reference signal that defines a basic cycle common to each of the code readers 1A, 1B, and 1C.
[0077] Upon receiving the reading start trigger signal, the bottom-reading code reader 1C repeatedly performs imaging by the imaging unit 3 and illumination by the illumination unit 2. The imaging cycle and illumination cycle at this time may consist of one basic cycle or may consist of multiple basic cycles. The control parameters of the bottom-reading code reader 1C are control parameters determined by the processing determination unit 104.
[0078] The start timing of the imaging cycle and illumination cycle of the upstream diagonal reading code reader 1A that receives the read start trigger signal is offset from the reference signal, and illumination and imaging are performed according to the imaging cycle and illumination cycle. The image generated by the imaging unit 3 of the upstream diagonal reading code reader 1A is transferred to the decoding unit 44. The decoding unit 44 performs a decoding process on the transferred image.
[0079] Furthermore, the start timing of the imaging cycle and illumination cycle of the downstream-side diagonal reading code reader 1B that receives the reading start trigger signal are also offset from the reference signal. The offset amount of the start timing of the imaging cycle and illumination cycle of the downstream-side diagonal reading code reader 1B is set to be larger than the offset amount of the start timing of the imaging cycle and illumination cycle of the upstream-side diagonal reading code reader 1A. The downstream-side diagonal reading code reader 1B also performs imaging and illumination in accordance with the imaging cycle and illumination cycle. The control parameters of the upstream-side diagonal reading code reader 1A and the downstream-side diagonal reading code reader 1B are also control parameters determined by the process determination unit 104. The imaging order of the upstream-side diagonal reading code reader 1A, the downstream-side diagonal reading code reader 1B, and the bottom-surface reading code reader 1C can be set arbitrarily.
[0080] Fig. 11 is a diagram explaining the details of the timing chart shown in Fig. 10. As shown in Fig. 11, synchronization control of the upstream-side diagonal-reading code reader 1A, the downstream-side diagonal-reading code reader 1B, and the bottom-reading code reader 1C is executed based on the starting point of the communication cycle of the dedicated control communication. The illumination timing of the illumination unit 2 and the imaging timing of the imaging unit 3 are set so that imaging is executed between the illumination start timing and the illumination end timing of the bottom-reading code reader 1C. Similarly, the illumination timing of the illumination unit 2 and the imaging timing of the imaging unit 3 are set so that imaging is executed between the illumination start timing and the illumination end timing for the downstream-side diagonal-reading code reader 1B and the bottom-reading code reader 1C.
[0081] FIG. 12 is a timing chart when the illumination units 2 of the first and second code readers are turned on simultaneously. In the example shown in this figure, the first and second code readers are installed so as to image the same surface of the workpiece W. Upon receiving a reading start trigger signal, the first and second code readers perform illumination and imaging at a timing offset from the imaging timing of the code reader 1C that reads the bottom surface. At this time, since the illumination of the first and second code readers is performed simultaneously, the workpiece W is brightly illuminated, and the brightness of the image generated by the imaging unit 3 can be increased.
[0082] 13 is a timing chart when the illumination cycle and imaging cycle are the same for all code readers (shown as the first and second code readers in the figure). The illumination cycles 1-1 and 1-2 of the first code reader are the same as the illumination cycles 2-1 and 2-2 of the second code reader. Also, the imaging cycles 1-1 and 1-2 of the first code reader are the same as the imaging cycles 2-1 and 2-2 of the second code reader.
[0083] 14 is a timing chart for a case in which the illumination period and imaging period differ for each code reader but are common to all code readers. That is, the illumination period 1-1 and illumination period 1-2 of the first code reader are the same, and the imaging period 1-1 and imaging period 1-2 of the first code reader are the same. On the other hand, the illumination period 2-1 of the second code reader is different from the illumination period 1-1 of the first code reader, and the imaging period 2-1 of the second code reader is different from the imaging period 1-1 of the first code reader. Furthermore, the illumination periods 2-1 and 2-2 of the second code reader are the same, and the imaging periods 2-1 and 2-2 of the second code reader are the same. The illumination period and imaging period can be changed midway.
[0084] 15 is a timing chart showing a case where the illumination period and imaging period differ for each code reader and for each code reader. Specifically, the illumination period 1-1 and illumination period 1-2 of the first code reader are the same, and the imaging period 1-1 and imaging period 1-2 of the first code reader are the same. Meanwhile, the illumination period 2-1 of the second code reader is different from the illumination period 1-1 of the first code reader, and the imaging period 2-1 of the second code reader is different from the imaging period 1-1 of the first code reader. Furthermore, the illumination periods 2-1 and 2-2 of the second code reader are different, and the imaging periods 2-1 and 2-2 of the second code reader are also different. At the timing indicated by arrow D in FIG. 15, the imaging unit 3 is not exposed to light, so there is no need to offset the illumination period.
[0085] For example, in the logistics industry, while accurate tracking (linking of workpieces W to read codes) is required, the amount of workpieces W (cargo) being handled is on the rise, and therefore there is a further need to shorten the distance between workpieces W being transported to improve efficiency. Here, because a transport device B transports multiple workpieces W sequentially, as shown in FIG. 16, multiple workpieces W1 and W2 may be close to each other in the transport direction (indicated by arrow A) of the transport device B. That is, in a situation where the workpiece W1 to be read is close to a workpiece W2 in front of it that is located downstream in the transport direction, and both the workpiece W1 to be read and the workpiece W2 in front of it are simultaneously imaged by the imaging unit 3, the code reader 1 cannot determine whether the read code was attached to the workpiece W1 to be read or the workpiece W2 in front of it, and the read code may be erroneously linked to the workpiece.
[0086] To prevent such erroneous association, in this embodiment, the imaging area of the imaging unit 3 is set to a narrow area, as indicated by the symbol E, that can capture only the workpiece W1 to be read. Specifically, the processing decision unit 104 determines the readout area for each imaging cycle based on the transport state and installation information of each code reader 1 as control parameters. When determining the readout area, the position of the code reader 1 is identified, for example, based on the installation information of the code reader 1. Furthermore, the relative positional relationship of the workpiece W1 to be read with respect to the code reader 1 can be identified based on the detection signal of the workpiece sensor 92 and the output signal of the encoder 91. Then, the processing decision unit 104 offsets the imaging area of the imaging unit 3 in the Y direction so that only the workpiece W1 to be read is included in the imaging area E.
[0087] Specifically, the processing determination unit 104 generates a control parameter that offsets the imaging area of the imaging unit 3 in the Y direction (corresponding to the V direction in the UV coordinate system). Furthermore, since the relative positional relationship of the work W1 to be read with respect to the code reader 1 can be identified as described above, the processing determination unit 104 can specify the size of the imaging area E of the imaging unit 3 based on this positional relationship. As a result, the code of the forward work W2 is not imaged, so the code of the forward work W2 is not decoded, and it is possible to avoid linking the decoded result of the forward work W2 to the work W1 to be read. The processing determination unit 104 also generates information regarding the size of the imaging area E of the imaging unit 3 as a control parameter.
[0088] FIG. 17 illustrates a case in which multiple workpieces W1 and W2 approach each other in the conveying direction (indicated by arrow A) of the conveying device B, with the workpiece W1 to be read located on one side of the conveying device B in the width direction, and the workpiece W2 in front located on the other side of the conveying device B in the width direction. In this case, even if the imaging area E is narrow as shown in FIG. 16, at least a portion of the workpiece W2 in front may be included in the imaging area E, which may result in an incorrect association between the read code and the workpiece. To address this issue, the processing determination unit 104 determines a mask area F in which decoding processing is not performed based on the conveying state, workpiece information, and installation information of each code reader 1 as control parameters for each imaging cycle. Information regarding the dimensions of the workpiece W1 to be read as workpiece information can be acquired by the dimension measurement unit 90. The position, size, and shape of the mask area F in the imaging area E can be determined by using the conveying state of the workpiece W1 to be read based on the detection signal of the workpiece sensor 92 and the output signal of the encoder 91, the workpiece information of the workpiece W1 to be read, and the installation information of each code reader 1. The processing determination unit 104 generates control parameters to exclude the determined mask area F from the code search target range and to prevent the decoding unit 44 from executing the decoding process even if a code is found to exist as a result of the code search. This makes it possible to avoid linking the decoded result of the forward work W2 to the work W1 to be read.
[0089] 18 shows an example in which a custom sensor having a greater number of pixels in the column direction than in the row direction is used as the image sensor 31b. When multiple workpieces W1 and W2 approach each other in the conveying direction (indicated by arrow A) of the conveying device B, and the workpiece W1 to be read is located on one side of the conveying device B in the width direction, and the preceding workpiece W2 is located on the other side of the conveying device B in the width direction, it is possible to use a custom sensor without setting the mask area F shown in FIG. 17. In this embodiment, the processing determination unit 104 determines an area in which only pixels arranged in some rows of the image sensor 31b are partially read out based on the conveying state of the workpiece W and the installation information of each code reader 1 for each imaging cycle as control parameters.
[0090] That is, by making the imaging area E corresponding to the imaging field of view of the image sensor 31b have a field of view that is long in the short axis direction rather than the long axis direction of the image sensor 31b, it is possible to prevent the workpiece W2 in front from entering the imaging area E. Since the readout direction of a typical image sensor is along the long axis of the image sensor, it is not possible to read out the imaging area E that is long in the short axis direction as shown in FIG. 18. However, in this embodiment, a custom sensor that can read out in the short axis direction of the image sensor as shown by arrow H in FIG. 19 is used as the image sensor 31b. This speeds up the readout of the imaging area E that is long in the short axis direction of the image sensor. The width of the imaging area E (the length in the long axis direction of the image sensor) is determined by the processing determination unit 104 so as to correspond to the width of the workpiece W.
[0091] (Settings support function) The code reader system S has a setting support function that supports the setting of the code reader 1. The code reader system S can also be called a device that has a setting support function, that is, a setting support device. In the case of a setting support device, the decoding process may be executed by an external device, so the decoding unit 44 may not be provided.
[0092] The setting support function will be described in detail below. First, as a premise, the code reader system S has a tracking function that links the workpiece W with the decoded result of the code attached to the workpiece W. Since the linking of the workpiece W with the decoded result needs to be performed accurately, in order to improve the tracking accuracy, calibration is performed to associate the coordinate system of the transport device B (conveyor coordinate system) with the imaging coordinate system of the code reader 1. The code reader system S has a calibration function that makes it possible to easily perform this calibration.
[0093] The coordinate system of the transport device B can be defined as an XYZ coordinate system as shown in Figures 3, 4A, and 4B. The unit of the coordinate system of the transport device B is mm. The imaging coordinate system of the code reader 1 is also called the camera coordinate system, and is a coordinate system obtained by translating the conveyor coordinate system of the transport device B to the imaging unit 3 and rotating it, with the Z direction coinciding with the optical axis. The unit of the imaging coordinate system of the code reader 1 is mm. The coordinate system of the image sensor 31b (sensor coordinate system) can be defined as the UV coordinate system shown in Figures 18 and 19. The unit of the coordinate system of the image sensor 31b is pixels.
[0094] Camera information including the number of pixels, focal length, sensor size, etc. of the image sensor 31b is known and is stored in the memory unit 5 of the code reader 1. Calibration is performed using this camera information, information input by the user such as the width of the conveying device B, the installation position and orientation of the code reader 1 (X coordinate, Y coordinate, Z coordinate, installation angle), and the movement distance of the workpiece W (= time information x conveying speed). The movement distance of the workpiece W can also be used, for example, for installation confirmation.
[0095] An example of a precondition for the code reader system S to perform calibration is as follows. 1. The transport direction of the workpiece W is the Y direction in the coordinate system of the transport device B. 2. When the code reader 1 is installed so as to read the top surface of the workpiece W (top surface installation), the X direction and U direction approximately coincide, and the V direction is inclined relative to the Y direction. 3. When the code reader 1 is installed so as to read the side surface of the workpiece W (side installation), the Z direction and the U direction approximately coincide, and the V direction is inclined relative to the Y direction.
[0096] Then, the code reader system S generates an initial calibration model (coordinate transformation coefficients) using known camera information and information such as the width of the conveying device B and the installation position and posture of the code reader 1 input by the user. The Y-direction position of the workpiece W at a certain time can be calculated based on the speed conditions using the detection signal of the workpiece sensor 92 as the Y-direction reference, and this calculation result can be used to adjust the initial calibration model. By adjusting the initial calibration model and generating an adjusted calibration model, the position of the workpiece W on the image can be accurately determined.
[0097] The calibration procedure will be described below. First, the acquisition unit 101 acquires installation information indicating the position and orientation of the code reader 1, i.e., the imaging unit 3, in the conveyor coordinate system of the conveyance device B. The installation information includes the X coordinate, Y coordinate, Z coordinate, installation angle, etc. of the code reader 1, which are measured by the user and then input by operating the setting device 300, etc. The width of the conveyance device B is also input by the user operating the setting device 300, etc. An example of each input numerical value is shown in FIG. 20. The acquisition unit 101 also acquires a detection signal of the workpiece W by the work sensor 92. In addition, the acquisition unit 101 also acquires conveyor information including the width and conveyance speed of the conveyance device B.
[0098] 9, the controller 100 has a control unit 107, which defines a coordinate system for the conveying device B based on the position of the work sensor 92. For example, the origin of the Y coordinate of the coordinate system for the conveying device B can be the position of the work sensor 92, but this is not limited to this. In addition, the control unit 107 calculates the conveying device position (conveyor position) in the captured image based on the camera information, conveyor information, and installation information of the code reader 1.
[0099] The control unit 107 calculates the position and installation angle of each code reader 1 in the coordinate system of the transport device B based on the information shown in Fig. 20. An example of calculating the position and installation angle of each code reader 1 is shown in Fig. 21. As shown in this figure, the control unit 107 calculates the X, Y, and Z coordinates of the code reader 1 in the coordinate system of the transport device B, as well as the X-direction roll angle, Y-direction pitch angle, and Z-direction yaw angle.
[0100] The acquisition unit 101 also acquires camera information. The camera information acquired by the acquisition unit 101 is shown in Fig. 22, and includes the focal length of the imaging unit 3, the width (U direction) dimension of the image sensor 31b, the height (V direction) dimension of the image sensor 31b, the number of pixels in the height direction of the image sensor 31b, the number of pixels in the width direction of the image sensor 31b, etc.
[0101] The user can also input the size and code information of the workpiece W. The control unit 107 calculates candidate installation positions for the imaging unit 3 based on, for example, at least one of the size of the workpiece W, the conveyor width, and the code information input by the user. In this case, the acquisition unit 101 acquires the candidate installation positions calculated by the control unit 107 as installation information.
[0102] 23 shows an example of a transformation formula that can be used to transform the conveyor coordinate system of the transport device B into the imaging coordinate system of the code reader 1. This transformation formula includes a rotation matrix for the installation angle of the code reader 1 (for example, in the order of yaw angle, pitch angle, and roll angle) and a translation matrix for the installation position of the code reader 1. The control unit 107 can transform the coordinate system of the transport device B into the imaging coordinate system of the code reader 1 by using the rotation matrix and the translation matrix.
[0103] Fig. 24 shows an example of a conversion formula that can be used to convert the imaging coordinate system of the code reader 1 into the UV coordinate system of the image sensor 31b (corresponding to the XY coordinate system in Fig. 16). This conversion formula includes a matrix that converts mm into a unit pixel, and a matrix that performs scale conversion onto the plane of the image sensor 31b and moves the origin position to the upper left of the image sensor 31b. The control unit 107 can convert the imaging coordinate system of the code reader 1 into the UV coordinate system of the image sensor 31b by using these matrices.
[0104] As shown in Figures 23 and 24, the control unit 107 generates a calibration model that indicates the correspondence between the conveyor coordinate system of the conveying device B and the UV coordinate system of the image sensor 31b based on the camera information, conveyor information, and installation information of the code reader 1 acquired by the acquisition unit 101.
[0105] 25, an installation confirmation image using a calibration model indicating the correspondence between the coordinate system of the transport device B and the UV coordinate system of the image sensor 31b can be displayed on the display unit 301 of the setting device 300. A user interface screen 400 is provided with an image display area 401 that displays the installation confirmation image, a work information display area 402, and a code reader information display area 403. In this example, a conveyor position M (virtual conveyor position) calculated by the calibration model is superimposed on an image of the transport device (an image having multiple horizontal lines) as a captured image.
[0106] Conveyor position M indicates the area estimated to be the conveying device, and may be displayed with the entire area filled in, or may display only the portion corresponding to the edge of the conveying device. Since conveyor position M indicates the area of the conveying device, the area estimated to be the conveying device can be shown to the user by superimposing conveyor position M on the captured image. The image showing conveyor position M in the captured image is an installation confirmation image for confirming installation.
[0107] Instead of or in addition to the image of the conveying device, a line serving as a reference for alignment (alignment reference line), such as the center line of the conveying device, may be displayed. The alignment reference line may also be included as part of the installation confirmation image.
[0108] The work information display area 402 displays the width of the transport device B, the dimensions of the work W, and the position of the work W. The code reader information display area 403 displays the installation position, installation angle, etc. (position parameters) of the code reader 1 calculated based on the installation information. Note that the code reader 1 captures an image of the work W, so it can also be called a scanner, and in the example shown in FIG. 25, "Scanner Position" is displayed in the code reader information display area 403.
[0109] When the position parameters that define the position of the code reader 1 are changed, the change in the position parameters is reflected on the display user interface screen 400 as shown in Fig. 26, and the calibration model is adjusted, so that the conveyor position M calculated by the adjusted calibration model can be matched with the actual position of the transport device on the installation confirmation image. At this time, the X coordinate, Z coordinate, X-direction roll angle, Y-direction pitch angle, and Z-direction yaw angle of the code reader 1 are adjusted.
[0110] 27 is an example of displaying an image of a workpiece W transported by transport device B. The acquisition unit 101 directly or indirectly acquires the transport speed of transport device B, for example, based on the output signal of the encoder 91 or a setting value set by the user. The control unit 107 causes the imaging unit 3 to capture an image of the workpiece W being transported on transport device B and generate a captured image. The display processing unit 108 causes an installation confirmation image showing characteristic parts (edges, etc., described later) of the workpiece W calculated using the adjusted calibration model to be displayed in the image display area 401 within the captured image generated by the imaging unit 3.
[0111] The control unit 107 calculates the position of the characteristic portion of the workpiece W in the coordinate system of the conveyance device B at the time of capturing the captured image based on the detection signal from the workpiece sensor 92 and the conveyance speed. For example, if the elapsed time from when the workpiece W was detected to when the image was captured and the conveyance speed are known, the distance the workpiece moved since detection can be determined. The detection signal includes not only a signal directly transmitted from the workpiece sensor 92 to the controller 100, but also a signal transmitted from the PLC to the controller 100 in response to a detection signal from the workpiece sensor 92, if the workpiece sensor 92 is connected to the controller 100 via a PLC. The characteristic portion of the workpiece W is not particularly limited, but can be, for example, an edge portion of the workpiece W or a code portion of the workpiece W. The edge portion of the workpiece W is easy to detect, which facilitates adjustment accuracy. The method for calculating the characteristic portion of the workpiece W is not limited to one. For example, the control unit 107 can calculate the characteristic portion of the workpiece W in the captured image based on the detection signal from the workpiece sensor 92 and conveyor information.
[0112] A specific example of a method for identifying a characteristic portion of the workpiece W will be described below. The control unit 107 can identify the edge portion of the workpiece W detected by performing edge detection processing on the captured image as a characteristic portion. For example, if the workpiece W is located on the far side, super-resolution processing or optimal edge detection processing can be performed on the assumption that the workpiece W is located on the far side. A code reader 1 installed directly above the workpiece W can determine whether the workpiece W is near or far in the Z direction. Furthermore, a code reader 1 installed to the side of the workpiece W can determine whether the workpiece W is near or far in the X direction.
[0113] The control unit 107 can also identify a detected portion as a characteristic portion by executing a code detection process on the captured image. The code detection process can be similar to the process by the code detection unit 43. The control unit 107 can also identify a portion that has been successfully decoded by executing a decoding process on the captured image as a characteristic portion. The decoding process can be similar to the process by the decoding unit 44. In other words, coordinates identified by executing image processing such as edge detection, code detection, and decoding on the captured image can be set as coordinates of a position corresponding to a characteristic portion of the workpiece W. In addition to the above, image processing also includes object detection processing, etc., and may be rule-based detection processing or detection processing using AI (artificial intelligence).
[0114] The control unit 107 acquires the position of the characteristic part of the workpiece W in the coordinate system of the transport device B and the position corresponding to the characteristic part of the workpiece W in the UV coordinate system of the captured image. Then, the control unit 107 further adjusts the transport direction parameters of the adjusted calibration model based on the position of the characteristic part of the workpiece W in the coordinate system of the transport device B and the position corresponding to the characteristic part of the workpiece W in the UV coordinate system of the captured image.
[0115] That is, the control unit 107 acquires the detection time of the workpiece sensor 92 (the time when the detection signal is output) and the image capture time of the image capture unit 3, and calculates the elapsed time from the detection time to the image capture time. The control unit 107 estimates the leading edge position of the workpiece W based on the calculated elapsed time and the transport speed of the workpiece W, and draws it as an edge display line 404 on the adjustment image.
[0116] When the position parameters of the code reader 1 are changed to align the edge indication line 404 with the corresponding edge portion of the workpiece W, the change in the position parameters is reflected on the display user interface screen 400 as shown in FIG. 28. At this time, the Y coordinate of the code reader 1 is adjusted. In other words, the operation of aligning the edge indication line 404 with the corresponding edge portion of the workpiece W is an operation performed by the user by operating the operation unit 302, etc. via the display unit 301, and is an operation for correcting the installation information. When the display processing unit 108 receives a correction to the installation information from the user via the display unit 301, it changes and displays at least one of the conveyor position and the position of the characteristic portion of the workpiece W on the installation confirmation image in accordance with the correction. The operation for correcting the installation information may be an operation by directly inputting a numerical value included in the installation information, for example, without using the display unit 301.
[0117] The installation information can also be corrected by directly moving the edge display line 404 vertically on the display user interface screen 400. In this way, the coordinates of the position corresponding to the characteristic part of the workpiece W in the UV coordinate system of the captured image can be the coordinates designated by the user as the characteristic part of the workpiece W for that captured image. Furthermore, the installation confirmation image does not need to show both the conveyor position and the characteristic part of the workpiece W, as long as it shows at least one of the conveyor position and the characteristic part of the workpiece W.
[0118] The control unit 107 can cause the imaging unit 3 to capture images of the workpiece W being transported by the transport device B multiple times at different timings. In this case, the control unit 107 can adjust the parameters of the transport direction of the calibration model for each of the multiple captured images of the workpiece W being transported by the transport device B, based on the position of the characteristic part of the workpiece W in the coordinate system of the transport device B and the position corresponding to the characteristic part in the UV coordinate system of each captured image. In other words, since the UV coordinates of the edge part specified by the user and the position detected by image processing may not necessarily accurately represent the characteristic part of the workpiece W, accuracy can be improved by repeating the parameter adjustment multiple times.
[0119] 25 to 28 show the case where the code reader 1 is installed above the workpiece W, but the code reader 1 can also be installed to the side of the workpiece W as shown in Fig. 3 and Fig. 4A. The case where the code reader 1 is installed to the side of the workpiece W will be described.
[0120] FIG. 29 shows an installation confirmation image when the code reader 1 is installed so as to image the workpiece W from the side on the upstream side of the workpiece W. In this example, the long axis direction of the image sensor 31b is aligned with the Z direction in the coordinate system of the conveying device B. Also shown is a case where the workpiece W moves from the downstream side to the upstream side in the conveying direction. The control unit 107 can, for example, acquire the installation angle of the imaging unit 3 in the coordinate system of the conveying device B, and determine the direction of the field of view of the imaging unit 3 based on the acquired installation angle. If the image sensor 31b is a custom sensor that can read in the short axis direction of the image sensor as shown in FIG. 19, the read direction of the image sensor 31b can be aligned with the conveying direction.
[0121] 30 shows an example of displaying an image of the transported workpiece W captured from the upstream side, and an installation confirmation image with edge display lines 404 drawn on the captured image is displayed in the image display area 401. The control unit 107 acquires the detection signal and conveyor information of the workpiece sensor 92, and controls the imaging unit 3 to send a trigger to generate the captured image based on the acquired detection signal and conveyor information so that the characteristic parts of the workpiece W are included in the installation confirmation image.
[0122] Specifically, when the field of view of the imaging unit 3 extends from the upstream side to the downstream side in the conveying direction, the control unit 107 identifies the leading edge of the workpiece W (the edge portion at the upstream end in the conveying direction) as the characteristic part of the workpiece W. When the edge display line 404 is aligned with the corresponding edge portion of the workpiece W (the edge portion at the upstream end in the conveying direction), the Y coordinate of the code reader 1 is adjusted. In this way, when the field of view of the imaging unit 3 extends from the downstream side to the upstream side of the conveying device B, the acquisition unit 101 acquires a designation from the user that the leading edge of the workpiece W is the characteristic part of the workpiece W.
[0123] After the parameters of the calibration model are adjusted in this way, during operation, the control unit 107 determines the area where the image of the workpiece W is captured as a first partial area, from which a signal is read out from the image sensor 31b. Once the first partial area is determined, the signal of the first partial area is read out from the image sensor 31b and can be displayed as shown in FIG.
[0124] When the field of view of the imaging unit 3 moves from the downstream side to the upstream side of the conveying device B, the control unit 107 controls the imaging unit 3 so that the leading edge of the work W is included in the installation confirmation image as a characteristic part of the work W, that is, so that the leading edge of the work W is included in the area from which the signal is read out from the image sensor 31b.
[0125] During operation, the control unit 107 can also determine a second partial region for performing image processing on the image. For example, when performing mask processing as image processing, the part of the image other than the work W is set as the second partial region, and by performing mask processing on this second partial region, it is possible to identify a region for which decoding processing is not to be performed. The second partial region can be set as a range not subject to code search, or even if a code is found as a result of the code search, decoding processing is not performed on the second partial region.
[0126] Furthermore, super-resolution processing can also be performed as image processing. In this case, the portion of the workpiece W in the image is designated as the second partial region, and by performing super-resolution processing on this second partial region, the success rate of reading can be improved even for difficult-to-read codes. In this way, the control unit 107 can recognize the transport state of the workpiece W transported on the transport device B, for example, based on the detection signal of the workpiece sensor 92 and the transport speed of the transport device B, and can determine at least one of the first partial region from which a signal is read from the image sensor 31b and the second partial region from which image processing is performed on the captured image, based on the transport state of the workpiece W and the adjusted calibration model.
[0127] When the field of view (FOV) of the imaging unit 3 includes a target workpiece to be imaged and an adjacent workpiece adjacent to the target workpiece, the control unit 107 can determine at least one of a first partial area that includes the target workpiece but does not include the adjacent workpiece, and a second partial area that includes the adjacent workpiece for which mask processing is to be performed. That is, as shown in FIG. 16, when the target workpiece is a workpiece W1 to be read and the adjacent workpiece is a forward workpiece W2, the control unit 107 determines a first partial area (the same area as area E in FIG. 16) that includes the target workpiece W1 but does not include the forward workpiece W2. In this case, the first partial area is the area from which a signal is read from the image sensor 31b. In addition, as shown in FIG. 17, the control unit 107 can also determine a second partial area (mask area F in FIG. 17) that includes the forward workpiece W2. In this case, the second partial area is the area for which mask processing is to be performed.
[0128] Figure 31 shows the conveyor position M when the code reader 1 is installed downstream of the workpiece W so as to image the workpiece W from the side. In this example, as in the example shown in Figure 29, the long axis direction of the image sensor 31b is aligned with the Z direction in the coordinate system of the conveying device B.
[0129] FIG. 32 shows an example of displaying an image of a transported workpiece W captured from the downstream side, with an edge indication line 404 drawn on the captured image. Specifically, when the field of view of the imaging unit 3 extends from the downstream side to the upstream side in the transport direction, the control unit 107 identifies the trailing edge of the workpiece W (the edge portion at the downstream end in the transport direction) as a characteristic part of the workpiece W. When the edge indication line 404 is aligned with the corresponding edge portion of the workpiece W (the edge portion at the downstream end in the transport direction), the Y coordinate of the code reader 1 is adjusted. In this way, when the field of view of the imaging unit 3 extends from the upstream side to the downstream side of the transport device B, the acquisition unit 101 can also acquire a user's designation of the trailing edge of the workpiece W as a characteristic part of the workpiece W.
[0130] When the characteristic part of the workpiece W is the trailing edge of the workpiece W, the image capturing unit 3 is controlled so that the characteristic part is included in the installation confirmation image, just as in the case of the leading edge. Specifically, when the field of view of the image capturing unit 3 is directed from the upstream side to the downstream side of the conveying device B, the control unit 107 controls the image capturing unit 3 so that the trailing edge of the workpiece W is included in the installation confirmation image as a characteristic part of the workpiece W.
[0131] 33 shows a modification of the example shown in FIG. 29, in which the minor axis direction of the image sensor 31b is aligned with the Z direction in the coordinate system of the conveying device B. If the image sensor 31b is a custom sensor, the readout direction of the image sensor 31b can be aligned with the Z direction. In this modification, an edge indication line 404 is also drawn on the captured image as shown in FIG. 34, and when the edge indication line 404 is aligned with the corresponding edge portion of the workpiece W, the Y coordinate of the code reader 1 is adjusted.
[0132] Fig. 35 shows a modification of the example shown in Fig. 31, in which the minor axis direction of the image sensor 31b is aligned with the Z direction in the coordinate system of the conveying device B. If the image sensor 31b is a custom sensor, the readout direction of the image sensor 31b will be aligned with the Z direction. In this modification as well, an edge indication line 404 is drawn on the captured image as shown in Fig. 36, and when the edge indication line 404 is aligned with the corresponding edge portion of the workpiece W, the Y coordinate of the code reader 1 is adjusted.
[0133] Even if code readers are installed at multiple installation positions as shown in Figure 3, according to the above configuration, during calibration, by simply transporting the workpiece W once by the transport device B, images such as those shown in Figures 27, 30, 32, 34 and 36, which are used to adjust the transport direction parameters of the calibration model of each code reader, can be obtained all at once, thereby reducing the burden on the user during calibration.
[0134] As shown in FIG. 9, the controller 100 includes an output unit 109. The output unit 109 is a unit that outputs an installation confirmation report including an installation confirmation image showing the conveyor position and characteristic parts of the workpiece W in the captured image. The installation confirmation report may include, in addition to the installation confirmation image, any one or more of the code reading test results by the decoding unit 44, the installation date and time, the installation location, installation information, camera information, workpiece information, etc. The installation confirmation report may be output in the form of an electronic file (electronic data) or may be output by being printed on a paper medium. By creating an installation confirmation report, the basis for the reading test results can be shown in an image.
[0135] The controller 100 generates image output parameters and transmits them to the code reader 1. When the code reader 1 receives the image output parameters transmitted from the controller 100, it executes image output processing in accordance with the received image output parameters. The image output parameters can be used to output an image for settings and an image for collection.
[0136] The setting image is output to the setting device 300 or the like for user confirmation, and is a test image used in a code reading test during setting, and a captured image used in installation adjustment, and an installation confirmation image is generated based on the captured image.
[0137] The collection images are output to the collection and analysis device 200 and are used as analysis images for the error analysis function described below, as learning images, and for user confirmation when an error occurs.
[0138] (Error analysis function) During operation of the code reader system S, code reading may fail. This is called an error, and since the causes of the error are diverse, it may be difficult for the user to identify the cause. In response to this, the code reader system S of this embodiment has an error analysis function that estimates the cause of the error based on an image associated with the workpiece ID assigned to each workpiece W, making it easier for the user to resolve the error. The error analysis function identifies when and where the workpiece W on the conveying device B is located on the conveying device B, enabling error analysis on a workpiece W basis. This makes it easy to identify which workpiece W could not be read and the cause of the error. The error analysis function can be implemented by the collection and analysis device 200, which is a personal computer as described above. An example of a configuration of the personal computer is a microcomputer having a processor (including a CPU and GPU), ROM, RAM, etc.
[0139] When the control unit 107 of the controller 100 acquires a detection signal from the work sensor 92, it generates a work ID for each work W based on the acquired detection signal. The work ID is identification information for identifying the work W, and is different for each work W. The work ID generated by the control unit 107 is associated with the image generated by the imaging unit 3, and is also associated with the result of the decoding process by the decoding unit 44.
[0140] As shown in Figures 3, 4A, and 4B, in operation examples 1 and 2 in which a common work W is imaged by multiple code readers 1, multiple images are generated by the imaging units 3 of the multiple code readers 1. The image storage unit 201 (e.g., SSD or HDD) of the collection and analysis device 200 stores the multiple images (collection images) generated by the imaging units 3 of the multiple code readers 1 in association with the corresponding work ID. Furthermore, as a result of the decoding process of the code of each image by the decoding unit 44, there are cases where reading is successful and cases where reading is unsuccessful, and a work ID is associated with each of the images of the work W that were successfully read and the images of the work W that were unsuccessfully read.
[0141] As shown in FIG. 37, the collection and analysis device 200 has an analysis unit 202 that estimates the cause of the error, and the analysis unit 202 is realized by a processor (e.g., a GPU). Based on the results of the decoding process corresponding to each work ID, the analysis unit 202 identifies the work ID associated with the image that failed to be read as an error work ID, and leaves the work IDs associated with the other images, i.e., the images that were successfully read, as they are. This allows the analysis unit 202 to automatically classify the images associated with the error work ID from the other images. The analysis unit 202 also estimates the cause of the error based on multiple images associated with the error work ID.
[0142] Specifically, the analysis unit 202 has a first determination unit 202a that determines the presence or absence of a code using an image associated with the error work ID, and a second determination unit 202b that determines the presence or absence of a work using an image associated with the error work ID. The first determination unit 202a is a part that identifies a code area based on an image associated with the error work ID and detects a code from the identified code area, and can determine the presence or absence of a code by, for example, processing similar to that of the code detection unit 43. When the first determination unit 202a detects a code in at least one of the images associated with the error work ID, it determines that a code has been attached to the work W associated with that error work ID.
[0143] The first determination unit 202a has a machine learning model that has been trained in advance using multiple code images, and is configured to determine the presence or absence of a code in an image corresponding to an error work ID using the machine learning model. Since the code itself does not vary significantly from user to user, unlike the detection of the work W, code detection can be pre-trained to reduce the user's effort. For example, the machine learning model of the first determination unit 202a can be a machine learning model using a convolutional neural network (CNN). Note that the first determination unit 202a may also perform rule-based detection.
[0144] If the second determination unit 202b detects a workpiece W in at least one image associated with the error workpiece ID, it determines that the workpiece W corresponding to the error workpiece ID was transported normally. The determination result of the second determination unit 202b can also determine that the workpiece W was not transported. The second determination unit 202b has a machine learning model that learns from transport device images (conveyor images) captured by multiple code readers 1 installed around the transport device B when the workpiece W is not included in the field of view. For example, the code reader 1 can acquire a background image of the transport device B when the workpiece W is not included in the field of view. Inputting the background image into the machine learning model as a learning image enables learning of the machine learning model. The machine learning model of the second determination unit 202a can be, for example, a machine learning model using a convolutional neural network (CNN). For example, the second determination unit 202a learns only the background image and then detects differences between the features of the background image and the features of the image input during operation (i.e., a workpiece on the transport device B). Furthermore, the second determination unit 202a may learn not only background images but also images showing the workpiece W on the transport device B. This can improve the accuracy of determining whether or not a workpiece is present if there is little variation in the appearance or size of the workpiece W being transported.
[0145] The second determination unit 202b uses a machine learning model to determine whether or not a workpiece W is present in an image corresponding to an error workpiece ID. By inputting an image corresponding to an error workpiece ID into the machine learning model of the second determination unit 202b, it is possible to accurately determine whether or not a workpiece W is present in the image. By training the machine learning model of the second determination unit 202b with images of a transport device corresponding to the installation status of the transport device B and code reader 1 used by the user, the model becomes less susceptible to scratches on the transport device B and changes in exposure timing, improving the detection accuracy of the workpiece W.
[0146] The second determination unit 202b is configured to be able to train the machine learning model of the second determination unit 202b using new transport device images at predetermined time intervals or at a timing specified by the user. In other words, since the transport device B deteriorates over time, by periodically re-training or additionally training the machine learning model of the second determination unit 202b, detection that corresponds to the current status of the transport device B becomes possible, making it less likely that an erroneous determination will occur. The predetermined time interval is, for example, every few days, every few weeks, or every few months. Note that the second determination unit 202b may perform rule-based detection.
[0147] The analysis unit 202 estimates the cause of the error for each error work ID using the first determination unit 202a and the second determination unit 202b. The order of determination by the analysis unit 202 can also be specified. For example, the analysis unit 202 determines the presence or absence of work W for images associated with the error work ID that are determined to have no code by the first determination unit 202a using the second determination unit 202b. Note that the determination by the first determination unit 202a may be performed after the determination by the second determination unit 202b, but performing the determination by the second determination unit 202b after the determination by the first determination unit 202a can shorten processing time. For example, if a code is present, work W is present, but even if work W exists, it is not clear whether a code is attached. Therefore, if a code is detected, processing time can be shortened by determining that work W also exists and terminating processing.
[0148] The error causes include a first type, in which a code is present in the image associated with the error work ID but reading failed, and a second type, in which a code is not present in the image associated with the error work ID but the work W corresponding to the error work ID was transported normally. When determining whether the error belongs to the first or second type, the determination results of the first determination unit 202a and the second determination unit 202b can be used. This makes it possible to identify whether the error is due to the code itself or the absence of a code on the work W. For example, assuming that approximately eight code readers 1 are installed, if five images are taken per work W, there will be as many as 40 images per work W. This makes it a burden for the user to check each image one by one. However, by determining whether the image belongs to the first or second type and presenting the result to the user, it becomes easier for the user to take measures against the error.
[0149] The causes of the error may include a third type, in which the workpiece W corresponding to the error workpiece ID does not exist or was not transported properly. When determining whether the error belongs to the third type, the judgment result of the second judgment unit 202b can be used, for example. By including the third type as the cause of the error, it is possible to determine whether the workpiece W itself was not in the field of view of the imaging unit 3, making it easier for the user to take measures against the error. An example of a third type error is when the position or transport speed of an object detected by the workpiece sensor 92 or encoder 91 no longer corresponds to the time of the code reader 1 due to some factor, including a program defect or machine failure, and the workpiece W cannot be imaged. Another example of a third type error is when only a workpiece ID is generated even though the workpiece W is not being transported due to a malfunction of the workpiece sensor 92 or encoder 91.
[0150] The analysis unit 202 can use the number of successfully decoded images among multiple images associated with a work ID as a threshold for determining that a work ID has been successfully read. If the number of successfully decoded images is equal to or greater than a predetermined number, the work ID of that work W is determined to be a successfully read work ID. The analysis unit 202 is configured to vary the number of images that serves as the threshold for determining that a work ID has been successfully read. Because the threshold number can be changed, the level of reading stability can be adjusted. For example, when there are multiple codes, the determination can be made by dividing them into code types or by work. If even one type of code among multiple types does not exceed the threshold, the work W can be determined to have failed to be read. Furthermore, if there are five decoding opportunities for one work W, and two out of three types are successfully decoded five times, even if one type is successfully decoded only once, the reading stability is low and the work W can be determined to have failed to be read.
[0151] The collection and analysis device 200 has a display processing unit 203, which is realized by a processor. The display processing unit 203 acquires the cause of the error estimated by the analysis unit 202 together with an error work ID, and displays an image associated with the error work ID along with the cause of the error corresponding to the acquired error work ID on the display unit 301. The display unit 301 may be configured as a display device that can be installed separately from the main body of the setting device 300, or may be integrated with the main body of the setting device 300.
[0152] The collection and analysis device 200 has an image generation unit 204. The image generation unit 204 is a part that generates a packaging image showing the appearance of the work W by synthesizing multiple images associated with each work ID. The packaging image may be generated by the collection and analysis device 200 or by the control unit 4 of the code reader 1.
[0153] When the image capturing unit 3 captures images of the workpiece W being transported by the transport device B multiple times at regular time intervals (regular distance intervals), partial images of the workpiece W are generated, captured in order from the upstream portion of the workpiece W to the downstream portion in the transport direction. Since these partial images are images of the same workpiece W, they are associated with the same workpiece ID. The image generating unit 204 generates a single package image by combining the multiple partial images associated with the same workpiece ID so that they are arranged in the order in which they were captured. The date and time information based on the capture date and time of the images used to generate the package image is added with an internal time, such as the internal clock of the code reader 1. Here, the collection and analysis device 200 can convert the date and time information of the image into external time by receiving from the controller 100 the correspondence between the internal time of the code reader 1 and an external time, such as UTC.
[0154] When the image generation unit 204 generates a packaging image, it transmits the generated packaging image to the image storage unit 201. The image storage unit 201 stores the packaging image generated by the image generation unit 204 in association with the corresponding work ID. At this time, the image storage unit 201 stores the packaging image together with date and time information based on the date and time when the image used to generate the packaging image was captured. The date and time information stored in the image storage unit 201 is also associated with the work ID.
[0155] Furthermore, when multiple code readers 1 are used in operation, the image generation unit 204 generates a packaging image for each code reader 1. For example, the image generation unit 204 extracts multiple images corresponding to each workpiece W for each code reader 1 of the multiple code readers 1. At this time, the image generation unit 204 can extract multiple images corresponding to each workpiece W based on the workpiece ID. The image generation unit 204 can generate a packaging image for each workpiece W by combining the multiple extracted images.
[0156] The packaging image for each code reader 1 generated by the image generation unit 204 is stored in the image storage unit 201 in association with the corresponding work ID. At this time, each packaging image can also be stored in the image storage unit 201 in association with specific information that identifies the captured code reader 1. Even when a packaging image corresponding to each work is generated for each code reader 1 of multiple code readers 1, each packaging image can be stored in the image storage unit 201.
[0157] The code reader system S further includes a search unit 205 that searches for the packaging image based on date and time information specified by the user, and the search unit 205 is realized by a processor. The search unit 205 may be provided in the collection and analysis device 200 or the setting device 300. When a user operates the operation unit 302 of the setting device 300 to specify date and time information, the specified date and time information is accepted by the search unit 205. Upon accepting the date and time information, the search unit 205 searches the multiple packaging images stored in the image storage unit 201 for a packaging image composed of images captured on the imaging date and time specified by the date and time information. The display processing unit 203 displays the retrieved packaging image on the display unit 301. At this time, the display unit 301 may also display the workpiece ID associated with the packaging image. Because the code reader system S has the ability to store and search packaging images, for example, when a person who finally receives the workpiece W after transportation inquires about damage to the workpiece W, it is possible to later confirm the timing and condition of the workpiece W.
[0158] The search unit 205 can also search for a packaging image from a work ID. When a user operates the operation unit 302 of the setting device 300 to input a work ID, the input work ID is accepted by the search unit 205. Upon accepting the work ID, the search unit 205 searches for a packaging image identified by the work ID from among the multiple packaging images stored in the image storage unit 201. The display processing unit 203 displays the searched packaging image on the display unit 301.
[0159] FIG. 38 is a flowchart showing an example of the process flow from image capture to image storage. The controller 100 executes a code reader control process (step SA1) for controlling the code reader 1, a code identification process (step SA2) for identifying the code, a reading test process (step SA3) for executing a code reading test, and an online adjustment process (step SA4) during operation. First, the controller 100 executes the code reader control process SA1 and transmits a reading start trigger signal and control parameters to the code reader 1. Upon receiving the reading start trigger signal, the code reader 1 executes illumination and image capture processes in step SA5. A captured image is generated by executing step SA5. The captured image is then transmitted to the controller 100 as a setting image by executing image output process in step SA6. The controller 100 executes a reading test process in step SA3 and an online adjustment process in step SA4 based on the setting image. The captured image is also transmitted to the collection and analysis device 200 as a collection image and stored in the image storage unit 201.
[0160] In step SA7, the decoder 44 performs a decoding process on the captured image. The identification data for code identification generated by the decoding process is transmitted to the controller 100 and used in the code identification process in step SA2.
[0161] The controller 100, the code reader 1, and the dimension measurement unit 90 have a log function that accumulates logs in each device and outputs them to the collection and analysis device 200. The collection and analysis device 200 collects and accumulates the logs output from the controller 100, the code reader 1, and the dimension measurement unit 90.
[0162] The format of the log data is not particularly limited, but for example, a line protocol can be used. The line protocol includes multiple fields, such as a field indicating the log type, an identifier field, a log data field, and a transmission time field. This allows the collection and analysis device 200 to determine what kind of log it is, from which device, and when it was transmitted.
[0163] The logs collected and accumulated by the collection and analysis device 200 include a package log, an image collection log, a system log, etc. The package log is a log for collecting detailed information on the work W in chronological order. The controller 100 outputs the package log at the timing (release point) when tracking of the work W is completed. The image collection log is an image generated by the imaging unit 3 described above, and the controller 100 outputs the image generated by the imaging unit 3 as the image collection log. The system log is a log related to changes in the status of the entire system and events, and includes logs output not only from the controller 100 but also from the code reader 1 and the dimension measurement unit 90.
[0164] FIG. 39 shows an image display user interface screen 500 that the display processing unit 203 displays on the display unit 301. The image display user interface screen 500 is provided with a code reader display area 501, a workpiece image display area 502, and a check box 503 for displaying only errors. In the example shown in FIG. 39, six code readers 001 to 006 are in use as code readers, and the six code readers 001 to 006 are displayed in the code reader display area 501. The workpiece image display area 502 displays packaging images based on images captured by each of the six code readers 001 to 006. The packaging images displayed in the workpiece image display area 502 are thumbnail images, and displaying the thumbnail images reduces the calculation load. The code reader 1 is not limited to the configuration including one imaging unit 3 shown in FIG. 5, but may be configured to include multiple imaging units 3 inside the housing of the code reader 1. In this configuration, the code reader display area 501 shows that different code readers are used for each imaging unit 3 even though they share a common housing, and the work image display area 502 may display a package image based on the image captured by each imaging unit 3.
[0165] In this example, six code readers 001 to 006 capture images of the workpiece W from different directions, resulting in different packaging images being displayed in the workpiece image display area 502. When the user checks the checkbox 503 for displaying only errors, the search unit 205 detects this. The search unit 205 then searches for packaging images corresponding to the error workpiece IDs whose codes could not be read, and the display processing unit 203 displays only the packaging images corresponding to the error workpiece IDs in the workpiece image display area 502.
[0166] The display processing unit 203 can display, for each workpiece ID, a packaging image corresponding to that workpiece ID and the cause of the error on the display unit 301. That is, the image display user interface screen 500 is provided with an error cause display area 504 that displays the cause of the error. The error cause display area 504 displays the analysis results by the analysis unit 202. For example, if the analysis unit 202 determines that there is no code, a message indicating that there is no code is displayed in the error cause display area 504. Also, if the analysis unit 202 determines that there is no workpiece W, a message indicating that there is no workpiece W is displayed in the error cause display area 504. In this way, by displaying a packaging image showing the appearance of the workpiece W together with the cause of the error, it becomes easier for the user to resolve the error.
[0167] The display processing unit 203 can display statistical information based on the causes of errors corresponding to multiple error work IDs on the display unit 301. The statistical information includes, for example, the overall reading success rate, the effective reading rate excluding errors that are not caused by the code reader, and a breakdown of errors that are not caused by the code reader. The breakdown includes, for example, errors caused by the absence of the work itself, errors caused by damage to the work, etc.
[0168] The display processing unit 203 can also display on the display unit 301 a packaging image corresponding to an error work ID whose code failed to be read and a packaging image corresponding to other work IDs in a manner that allows comparison. The "other work IDs" include work IDs whose codes were successfully read. For example, the display processing unit 203 generates a user interface screen for image display, and provides on this user interface screen for image display an area for displaying a packaging image corresponding to the error work ID and an area for displaying packaging images corresponding to other work IDs. By having the display processing unit 203 display the user interface screen for image display on the display unit 301, the user can visually compare the packaging image whose code failed to be read with the packaging image whose code was successfully read, making it easier to visually identify the cause of the error.
[0169] FIG. 40 is a flowchart showing the procedure from the decoding process until the log is added. In step SB1 after the start, the collection and analysis device 200 determines whether the code was successfully read. Whether the code was successfully read is determined based on the results of the decoding process. In addition, if the distance between adjacent works W is narrower than a predetermined interval, there is a high risk that the information read in the decoding process will be linked to the wrong work, so it may be considered that the reading has failed regardless of the results of the decoding process.
[0170] If the code reading is successful, proceed to step SB2, add a note to the log that the code reading was successful, and then end the process. "Adding" means that the collection and analysis device 200 stores the log. If the code reading is unsuccessful (step SB3), add a note to the log that the code reading was unsuccessful, and then proceed to step SB4.
[0171] In step SB4, the first judgment unit (code detection AI) 202a of the analysis unit 202 executes a judgment process for determining whether a code is present. In step SB5, it judges whether a code is present or not. If a code is present, proceed to step SB6, add a note to the log that a code is present, and end the process. If a code is not present, proceed to step SB7. In step SB7, the second judgment unit (workpiece detection AI) 202b of the analysis unit 202 executes a judgment process for whether a workpiece W is present or not. In step SB8, it judges whether a workpiece W is present or not. If a workpiece W is present, proceed to step SB9, add a note to the log that a workpiece W is present, and end the process. If a workpiece W is not present, proceed to step SB10, add a note to the log that a workpiece W is not present, and end the process. The method for estimating the cause of the error based on the added log is as described above. If a workpiece W is present, it may be determined whether the workpiece W is a box-shaped workpiece or a bag-shaped workpiece, or whether the workpiece W is damaged.
[0172] 41, the code reader system S may include multiple collection and analysis devices 200A and 200B. In the case shown in FIG. 41, the first collection and analysis device 200A and the second collection and analysis device 200B each constitute an image storage device, and multiple images and logs captured by multiple code readers 1 are distributed and stored among the multiple collection and analysis devices 200A and 200B. For example, as the image data size per image increases, the processing load also increases accordingly, which may cause delays in storage processing in a single collection and analysis device 200. In such cases, by distributing and storing multiple images among the multiple collection and analysis devices 200A and 200B, the processing load can be distributed among the multiple collection and analysis devices 200A and 200B, thereby eliminating delays in storage processing. The collection and analysis devices 200A and 200B may be provided for each code reader 1, or for each set of multiple code readers 1. Furthermore, a plurality of images sequentially generated by the code reader 1 may be distributed and stored in a plurality of collection and analysis devices 200A, 200B in the order in which they were generated. The number of collection and analysis devices 200 is not limited to two.
[0173] If multiple collection and analysis devices 200A, 200B are provided, the analysis unit 202 can acquire multiple images related to the error work ID stored in a distributed manner across the multiple collection and analysis devices 200A, 200B, and can estimate the cause of the error based on the acquired images.
[0174] The first collection and analysis device 200A can be the primary collection and analysis device, and the second collection and analysis device 200B can be the secondary collection and analysis device. In this case, the first collection and analysis device 200A executes main functions such as generating a log display screen and collecting logs. At the timing of log acquisition, the first collection and analysis device 200A transmits an image processing trigger signal to the second collection and analysis device 200B.
[0175] The second collection and analysis device 200B collects and stores images output from the code reader 1, but stops major functions such as generating a log display screen and collecting logs. When the second collection and analysis device 200B receives an image processing trigger signal from the first collection and analysis device 200A, it executes processing to generate packaging images and automatic image classification processing. It also updates the log data of the first collection and analysis device 200A based on the analysis results of the analysis unit 202.
[0176] 42 is a control flowchart of the controller 100 when generating and adjusting the above-described calibration model of the code reader system S. Details of each step correspond to the explanations in the above-described embodiments.
[0177] In step SC1 after starting, the controller 100 acquires camera information, conveyor information, and installation information. In step SC2, the controller 100 generates an initial calibration model that indicates the correspondence between the conveyor coordinate system and the UV coordinate system based on the camera information, conveyor information, and installation information. After generating the initial calibration model, the calibration model is adjusted by transporting the workpiece W on the conveyor.
[0178] In step SC3, the controller 100 acquires a detection signal of the workpiece W being transported on the conveyor from the detection sensor 92. In step SC4, the controller 100 sends a trigger to the imaging unit 3 to generate a captured image at the timing when it is estimated, based on the initial calibration model, that the workpiece W has entered the camera's field of view. In step SC5, the controller 100 calculates the conveyor position in the captured image based on the initial calibration model. In step SC6, the controller 100 calculates the position of the characteristic parts of the workpiece W in the conveyor coordinate system at the time of capturing the captured image based on the initial calibration model. In step SC7, the controller 100 displays an installation confirmation image on the display device, showing the conveyor position M and the positions of the characteristic parts of the workpiece W in the captured image. In step SC8, the controller 100 acquires information from the user regarding correction of the installation information or correction of the conveyor position and the positions of the characteristic parts of the workpiece in the installation confirmation image. Here, an example is shown in which the conveyor position and the positions of the characteristic parts of the workpiece W are displayed in the same captured image, but this is not limiting. In other words, parameters other than the transport direction may be adjusted using an image of only the conveyor that does not include the workpiece W, and then the transport direction parameters may be adjusted using another image that includes the workpiece W being transported on the conveyor.
[0179] In step SC9, the controller 100 adjusts the initial calibration model based on the information about the correction acquired in step SC8, generates an adjusted calibration model, and ends the generation and adjustment of the calibration model.
[0180] Fig. 43 is a control flowchart of the controller 100 from when the code reader system S detects one workpiece to when it transmits the reading result to the outside, using the adjusted calibration model generated in Fig. 42. Details of each step correspond to the explanation in the above embodiment.
[0181] In step SD1 after starting, the controller 100 acquires a detection signal of the workpiece W being transported on the conveyor from the detection sensor 92. In step SD2, the controller 100 assigns a workpiece ID to the workpiece W based on the detection signal and sends a trigger to the dimension measuring unit 90. In step SD3, the controller 100 acquires dimensional information of the workpiece W being transported on the conveyor from the dimension measuring unit 90. In step SD4, the controller 100 recognizes the transport state of the workpiece W based on the detection signal, the dimensional information, and the adjusted calibration model. In step SD5, the controller 100 determines control parameters corresponding to the transport position of the workpiece W on the conveyor for each code reader 1 based on the transport state and installation information. In step SD6, the controller 100 transmits the control parameters and the trigger to the corresponding code reader 1. In step SD7, the controller 100 acquires an image and decoded results obtained based on the control parameters from the corresponding code reader 1. In step SD8, the controller 100 associates the image and / or the decoded result with the corresponding work ID and transmits it to the outside (data communication device 93, collection and analysis device 200, setting device 300), and ends the control flow for one work W. Then, the code reader system S repeats the above-described flow for each work W being transported sequentially on the conveyor.
[0182] The above-described embodiment is merely illustrative in all respects and should not be construed as limiting. Furthermore, all modifications and variations within the scope of equivalents of the claims are within the scope of the present invention. In this embodiment, the code reader 1 and the controller 100 are described as being physically separate, but a portion of the controller 100 may be incorporated into the code reader 1. For example, by incorporating the acquisition unit 101, control unit 107, and display processing unit 108 of the controller 100 into the code reader 1, the code reader 1 can be configured to have the acquisition unit 101, control unit 107, and display processing unit 108. [Industrial Applicability]
[0183] As described above, the present invention can be used in a site where workpieces are transported by a conveyor or the like, for example. [Explanation of symbols]
[0184] 1 Code reader 2. Lighting section 3. Imaging unit (camera) 92 Work sensor (detection sensor) 100 Controllers 101 Acquisition Department 102 Recognition part 103 Reception 104 Processing decision unit 105 Communications Department 108 Display processing unit 200 Collection and Analysis Equipment 300 Setting device 301 Display section (display device) B. Conveyor device S Code Reader System double work
Claims
1. A controller connected to one or more cameras that generate images based on light reflected from a code attached to a workpiece transported on a conveyor, and a decoder that performs a decoding process for the code attached to the workpiece based on the images output from the one or more cameras, an acquisition unit that acquires a detection signal of the workpiece by a detection sensor, conveyor information including a transport speed of the conveyor, and installation information indicating a position and orientation of each of the one or more cameras in a conveyor coordinate system of the conveyor; a recognition unit that recognizes the conveyance state of the workpiece based on the detection signal and the conveyance speed; a processing determination unit that determines, for each camera, a control parameter corresponding to a transport position of the work on the conveyor based on the transport state and the installation information of each camera; a communication unit that transmits the control parameters determined by the processing determination unit to the corresponding cameras.
2. 2. The controller of claim 1, the processing determination unit determines an image capturing period for each of the cameras based on the transportation state and the installation information of each of the cameras; The communication unit transmits the image capturing cycle determined by the processing determination unit to each of the corresponding cameras.
3. 2. The controller of claim 1, the controller is connected to a plurality of lighting units corresponding to the plurality of cameras via a communication unit; The processing determination unit generating a reference signal that defines a fundamental period common to each of the cameras and each of the lighting units, and determining an imaging period and an illumination period for each of the cameras and each of the lighting units based on the fundamental period; The communication unit transmits the imaging cycle determined by the processing determination unit to each of the corresponding cameras, and transmits the illumination cycle determined by the processing determination unit to each of the corresponding illumination units.
4. 4. The controller of claim 3, The imaging cycle and the illumination cycle are configured by one or more of the fundamental cycles.
5. 4. The controller of claim 3, The processing determination unit determines, based on the transportation state and the installation information of each of the cameras, an offset amount by which the start timing of the imaging cycle and the illumination cycle are offset from the reference signal for each of the cameras and each of the illumination units.
6. 2. The controller of claim 1, The plurality of cameras are configured to capture an image above the conveying surface of the conveyor and to capture an image of different work surfaces from each other.
7. 6. The controller of claim 5, a receiving unit configured to receive from a user a combination of cameras and lighting units for which interference is to be prevented from being detected among the plurality of cameras and the plurality of lighting units connected to the controller, The processing determination unit generates a plurality of groups for each combination received by the reception unit, and determines the offset amount for each group.
8. 2. The controller of claim 1, The controller is connected to a plurality of bottom cameras that read a common conveyor gap from below the conveying surface of the conveyor and a plurality of lighting units corresponding to the plurality of bottom cameras, and causes the plurality of lighting units to emit illumination light at overlapping times.
9. 2. The controller of claim 1, the processing determination unit determines in advance a control parameter corresponding to a transfer position of the work on the conveyor based on the transfer state and the installation information of each of the cameras before the work reaches the transfer position; The communication unit transmits the corresponding control parameters to each of the cameras after the corresponding control parameters are determined.
10. 2. The controller of claim 1, The process determination unit determines a readout area for each imaging cycle based on the transportation state and the installation information of each of the cameras as the control parameters.
11. 2. The controller of claim 1, The process determination unit is a controller that determines, as the control parameters, the code to be read for each imaging period based on the transport state and the installation information of each of the cameras.
12. 2. The controller of claim 1, The process determination unit determines, as the control parameters, a time limit for the decoding process for each imaging period based on the transportation state and the installation information of each of the cameras.
13. 2. The controller of claim 1, The process determination unit determines whether or not to output a captured image for each imaging cycle based on the transport speed as the control parameter.
14. 2. The controller of claim 1, The detection sensor is a dimension measuring unit that further detects work information including at least one of the position of the work in the conveyor width direction and the height of the work, or the detection sensor further includes a dimension measuring unit that detects the work information and is separate from the detection sensor, The acquisition unit further acquires a width of the conveyor as the conveyor information, The process determination unit determines the control parameter corresponding to the transport position of the workpiece on the conveyor in the conveyor width direction based on the workpiece information.
15. 15. The controller of claim 14, The processing determination unit is a controller that determines a mask area in which decoding processing is not executed based on the transport state, the workpiece information, and the installation information of each of the cameras for each imaging period as the control parameters.
16. 2. The controller of claim 1, the one or more cameras have an image sensor in which a plurality of pixels are arranged in a matrix, with the number of pixels in the column direction being greater than the number of pixels in the row direction; The processing determination unit determines, as the control parameters, an area in which only pixels arranged in some rows of the image sensor are partially read out based on the transport state and the installation information of each of the cameras for each imaging cycle.
17. A controller connected to one or more code readers, each of which has an illumination control unit that controls an illumination unit that illuminates a workpiece being transported on a conveyor, a camera that generates an image based on reflected light from a code attached to the workpiece, and a decoder that performs decoding processing of the code attached to the workpiece based on the image output from the camera, and controls the code reader, an acquisition unit that acquires a detection signal of the workpiece by a detection sensor, a transport speed of the conveyor, and installation information indicating a position and orientation of each of the one or more code readers in a conveyor coordinate system of the conveyor; a recognition unit that recognizes the conveyance state of the workpiece based on the detection signal and the conveyance speed; a process determination unit that determines, for each code reader, a control parameter corresponding to a transport position of the work on the conveyor based on the transport state and the installation information of each code reader; a communication unit that transmits the control parameters determined by the process determination unit to the corresponding code readers.
18. A code reader system that reads a code attached to a workpiece downstream of a detection sensor that detects the workpiece being transported on a conveyor, based on a detection signal from the detection sensor, One or more code readers each having an illumination control unit that controls an illumination unit that illuminates the workpiece, a camera that generates an image based on the light reflected from the workpiece, and a decoder that performs a decoding process of the code attached to the workpiece based on the image generated by the camera; a controller having an acquisition unit that acquires the detection signal, the conveying speed of the conveyor, and installation information that indicates the position and orientation of each code reader of the one or more code readers in the conveyor coordinate system of the conveyor; a recognition unit that recognizes the conveying state of the work based on the detection signal and the conveying speed; a processing determination unit that determines, for each code reader, control parameters that correspond to the conveying position of the work on the conveyor based on the conveying state and the installation information of each code reader; and a communication unit that transmits the control parameters determined by the processing determination unit to each corresponding code reader.
Citation Information
Patent Citations
Optical reader
JP2021149588A