Change symbology or frame rate based on target distance
The scanning device addresses challenges in optical data reading by adjusting illumination patterns and symbology types based on distance, improving image capture quality and reducing power consumption.
Patent Information
- Application Number
- JP2023130839
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2022-08-25
- Filing Date
- 2023-08-10
- Publication Date
- 2025-08-20
- Estimated Expiration
- 2043-08-10
AI Technical Summary
Optical data reading systems face challenges in obtaining high-quality images of symbols on varying parts due to size and surface variations, leading to inefficient image capture and unnecessary power consumption in continuous read modes.
A scanning device that measures distance to a target object and adjusts illumination patterns and symbology types based on the measured distance, activating read cycles only when the distance changes, reducing unnecessary power usage and improving image capture efficiency.
The device enhances image capture quality and reduces power consumption by tailoring illumination patterns and symbology types to specific distance ranges, increasing productivity and user satisfaction.
Smart Images

Figure 0007726250000001 
Figure 0007726250000002 
Figure 0007726250000003
Abstract
Description
[Technical Field]
[0001] (Related Applications) This application is related to the following applications, each of which is incorporated herein by reference in its entirety: (i) U.S. Patent Application No. (Attorney Docket No. 121866-5122-US), filed August 25, 2022, entitled "Scanning Device Utilizing Separate Light Pattern Sequences Based on Measured Distance to Scanned Objects" (ii) U.S. Patent Application No. (Attorney Docket No. 121866-5124-US), filed August 25, 2022, entitled "Using Distance Sensor Delta to Determine When to Enter Presentation Mode" (iii) U.S. Patent Application No. 13 / 233,535, filed September 15, 2011, entitled "Methods for Providing Diffuse Light," now U.S. Patent No. 8,224,174, issued June 27, 2012. (iv) U.S. Patent Application No. 14 / 298,659, filed June 6, 2014, entitled “Combination Dark Field and Bright Field Illuminator,” now U.S. Patent No. 8,989,569, issued March 24, 2015
[0002] The disclosed embodiments relate generally to optical data reading devices (e.g., scanning devices), and more particularly to systems, apparatus, and methods for reading and decoding symbols. [Background technology]
[0003] Optical data reading systems and apparatus (e.g., scanning devices) enable part identification and tracking by capturing a two-dimensional image of a symbol (e.g., a bar code, label, or part marking) contained on the part and analyzing the image to extract the information contained in the symbol. Summary of the Invention
[0004] One of the challenges in optical data reading systems is obtaining a high-quality image that can be decoded. For example, symbols used in the automotive industry tend to be directly milled, punched, or etched into parts that vary in size and surface (e.g., smooth, rough, reflective, shiny, dull, or wavy). In some cases, adjacent parts can create shadow effects that make the symbol difficult to scan and read. Due to the wide range of sizes and surfaces, the camera settings (e.g., lighting type, exposure, and / or gain settings) of optical data reading systems tend to be specific to the part being imaged.
[0005] Another challenge in optical reading systems is read cycle activation. Often, systems operate in continuous capture / read mode, whereby the imaging system continuously acquires images and searches for data labels within them, even when there are no objects and / or symbols in the vicinity. As a result, systems operating in this mode consume unnecessary power and generate a lot of heat. Additionally, users may find the continuous flashing of the camera annoying.
[0006] Therefore, there is a need for improved devices, methods and systems that can efficiently capture high quality images of barcodes while improving user satisfaction.
[0007] The present disclosure describes a scanning device that increases the effectiveness of image capture by measuring the distance between the device and a target object (eg, a part containing a barcode).
[0008] According to some embodiments, the disclosed device automatically selects an illumination pattern sequence configured for a distance range corresponding to the measured distance and illuminates the target object with the illumination pattern sequence. In some embodiments, the illumination pattern sequence includes one or more illumination patterns arranged according to the probability (e.g., decreasing probability) of a successful read. In some embodiments, if the disclosed device obtained a good read in a previous read cycle and determines that the current read cycle is in the same distance range as the previous read cycle, the device starts with the illumination pattern used to obtain the good read in the previous cycle.
[0009] According to some embodiments, based on the measured distance, the disclosed apparatus automatically identifies a subset of symbology types from a predefined set of symbology types that corresponds to the measured distance. The disclosed apparatus acquires an image of the object and decodes the image using the subset of symbology types.
[0010] According to some embodiments, instead of operating in a continuous capture / read mode, the disclosed device is in a default idle state (e.g., presentation mode), enables a read cycle when the measured distance changes (e.g., changes from the baseline depth), and disables the read cycle when it detects that the measured distance has returned substantially to the original baseline depth.
[0011] Thus, the devices and / or methods disclosed herein advantageously improve the device and its operation in the following ways:
[0012] First, by automatically activating individual lighting pattern sequences based on target distance, the disclosed device is able to read more label markings because the lighting patterns in the sequence are tailored for specific distance ranges, leading to higher productivity and greater user satisfaction.
[0013] Second, reducing the candidate symbology types to a subset of symbology types can improve device performance because every symbology type enabled on a device uses a finite amount of processing time (e.g., by increasing the amount of data the processor must identify and / or match to decode the markings). Therefore, reducing the number of symbology types allows more processing power to be directed to the image capture and decoding portions of the pipeline.
[0014] Third, by keeping the disclosed devices idle and enabling read cycles when there is an object in view, the disclosed devices use less power and are less likely to overheat, improving the user experience by eliminating the need for users to deal with continuous flashing lights from the image capture system.
[0015] The apparatus and methods of the present disclosure each have several innovative aspects, no single one of which is solely responsible for the desirable properties disclosed herein.
[0016] According to some embodiments of the present disclosure, an apparatus includes a distance sensor, a plurality of light sources, one or more processors, and a memory coupled to the one or more processors. The memory stores one or more programs configured to be executed by the one or more processors. The one or more programs include instructions for determining a distance between an object and the apparatus via the distance sensor. When the distance between the object and the apparatus is within a first distance range of a plurality of predetermined distance ranges, the one or more programs include instructions for activating a first sequence of illumination patterns corresponding to the first distance range to illuminate the object via the plurality of light sources.
[0017] In some embodiments, the device further includes an image sensor. The one or more programs further include instructions for repeating the determining and validating steps until an image of the object is captured by the image sensor.
[0018] In some embodiments, the first sequence of lighting patterns includes a plurality of lighting patterns. The one or more programs further include instructions for determining that a first lighting pattern of the plurality of lighting patterns is enabled when an image of the object is captured. The one or more programs reorder the plurality of lighting patterns in the first sequence of lighting patterns such that the first lighting pattern is activated first during subsequent operation of the device.
[0019] In some embodiments, the apparatus of claim 1 further comprises a camera having a lens and an image sensor for capturing one or more images of the object.
[0020] In some embodiments, the first sequence of lighting patterns includes a plurality of lighting patterns, each of which uses a distinct combination of light sources and / or lighting characteristics to illuminate the object, and the one or more programs include instructions for activating the plurality of lighting patterns according to a predetermined order, the predetermined order being based on a probability that each lighting pattern will create a contrast between light and dark areas of the object.
[0021] In some examples, the predetermined order is based on descending probability.
[0022] In some embodiments, the plurality of light sources includes a long range light source, a low angle light source, and / or a dome light source.
[0023] In some embodiments, the plurality of light sources includes an inward-facing light source and an outward-facing light source.
[0024] In some embodiments, the plurality of light sources includes a first light source having a first color and a second light source having a second color different from the first color.
[0025] In some embodiments, the plurality of distance ranges includes a proximal region distance range, a mid-region distance range, and a distal region distance range.
[0026] In some embodiments, each distance range of the plurality of distance ranges corresponds to a unique sequence of illumination patterns.
[0027] In some embodiments, the distance sensor is a time-of-flight sensor, an ultrasonic sensor, a radar sensor, or a LiDAR sensor.
[0028] According to some embodiments, a method is performed by an apparatus. The apparatus has a distance sensor and a plurality of light sources. The method includes determining a distance between an object and the apparatus via the distance sensor. The method includes enabling a first sequence of illumination patterns when the distance between the object and the apparatus is within a first distance range of a plurality of predetermined distance ranges. The first sequence of illumination patterns corresponds to the first distance range. The first sequence of illumination patterns illuminates the object via the plurality of light sources.
[0029] In some embodiments, the device includes an image sensor. The method includes repeating the determining and validating steps until an image of the object is captured by the image sensor.
[0030] In some embodiments, the first sequence of lighting patterns includes a plurality of lighting patterns. The method includes determining that a first lighting pattern of the plurality of lighting patterns is enabled when an image of the object is captured. The method includes reordering the plurality of lighting patterns in the first sequence of lighting patterns such that the first lighting pattern is enabled first during subsequent operation of the device.
[0031] In some embodiments, the first sequence of lighting patterns includes a plurality of lighting patterns, each of which illuminates the object using a distinct combination of light sources and / or lighting characteristics, and the method includes enabling the plurality of lighting patterns according to a predetermined order based on a probability that each lighting pattern will create a contrast between light and dark portions of the object.
[0032] According to some embodiments of the present disclosure, a system includes a distance sensor, a plurality of light sources, one or more processors, and a memory coupled to the one or more processors. The memory stores one or more programs configured to be executed by the one or more processors. The one or more programs include instructions for determining a distance between an object and the system via the distance sensor. When the distance between the object and the system is within a first distance range of a plurality of predetermined distance ranges, the one or more programs include instructions for activating a first sequence of lighting patterns corresponding to the first distance range to illuminate the object via the plurality of light sources. The system includes a camera for capturing one or more images of the object.
[0033] According to some embodiments of the present disclosure, an apparatus includes a distance sensor, an image sensor, one or more processors, and a memory coupled to the one or more processors. The memory stores one or more programs configured for execution by the one or more processors. The one or more programs include instructions for determining a distance between an object and the apparatus via the distance sensor. The one or more programs include instructions for, when the distance between the object and the apparatus is within a first distance range of a plurality of predetermined distance ranges, identifying a subset of symbology types from a plurality of predetermined symbology types corresponding to the first distance range. The one or more programs also include instructions for acquiring one or more images of the object and decoding the one or more images based on the identified subset of symbology types.
[0034] In some embodiments, the plurality of distance ranges includes two or more of a proximal region distance range, a medial region distance range, and a distal region distance range.
[0035] In some embodiments, the one or more programs further include instructions for adjusting an image acquisition rate for acquiring the one or more images based on a distance between the device and the object.
[0036] In some embodiments, the instructions for adjusting the image capture rate include instructions for increasing the image capture rate when the distance between the device and the object increases.
[0037] In some embodiments, the instructions for decoding one or more images based on the identified subset of symbology types include instructions for identifying one or more object features from the one or more images, instructions for comparing the object features with each feature of a symbology type in the subset of symbology types, instructions for determining, according to the comparison, that the object corresponds to a first symbology type in the subset of symbology types, and instructions for decoding the one or more object features based on the first symbology type.
[0038] In some embodiments, the distance sensor is a time-of-flight sensor, an ultrasonic sensor, a radar sensor, or a LiDAR sensor.
[0039] In some embodiments, the device includes a plurality of light sources, and the one or more programs further include instructions for, when a distance between the object and the device is within a first distance range of a plurality of predetermined distance ranges, activating a first sequence of illumination patterns corresponding to the first distance range to illuminate the object via the plurality of light sources.
[0040] In some embodiments, multiple symbology types are stored locally on the device.
[0041] In some embodiments, the plurality of symbol types are stored on a computing device separate from the apparatus.
[0042] In some embodiments, the image sensor is part of a camera, which further includes a lens.
[0043] In some embodiments, the plurality of symbology types includes linear symbology and two-dimensional (2D) symbology.
[0044] According to some embodiments of the present disclosure, a method is performed by an apparatus. The apparatus includes a distance sensor and an image sensor. The method includes determining a distance between an object and the apparatus via the distance sensor. The method includes, when the distance between the object and the apparatus is within a first distance range of a plurality of predetermined distance ranges, identifying a subset of symbology types from a plurality of predetermined distance ranges that corresponds to the first distance range. The method includes acquiring one or more images of the object. The method includes decoding the one or more images based on the identified subset of symbology types.
[0045] In some embodiments, the method further includes adjusting an image acquisition rate for acquiring the one or more images based on a distance between the device and the object.
[0046] In some examples, adjusting the image acquisition rate includes increasing the image acquisition rate when the distance between the device and the object increases (e.g., decreasing the image acquisition rate when the distance between the device and the object decreases).
[0047] In some embodiments, decoding one or more images based on the identified subset of symbology types includes (i) identifying one or more object features from the one or more images; (ii) comparing the object features with each feature of the symbology types in the subset of symbology types; (iii) determining, according to the comparison, that the object corresponds to a first symbology type in the subset of symbology types; and (iv) decoding the one or more object features based on the first symbology type.
[0048] In some embodiments, the device includes a plurality of light sources, and the method further includes, when a distance between the object and the device is within a first distance range of a plurality of predetermined distance ranges, illuminating the object via the plurality of light sources by activating a first sequence of illumination patterns corresponding to the first distance range.
[0049] According to some embodiments of the present disclosure, a method is performed by an apparatus. The apparatus includes a distance sensor, an image sensor, one or more processors, and a memory. The method includes measuring a baseline depth. The method includes measuring a first depth after measuring the baseline depth. The method includes determining that the first depth is different from the baseline depth. The method includes enabling a read cycle in response to the determination. The method includes measuring a second depth following enabling the read cycle. The method includes detecting that the second depth is within a threshold range of the baseline depth. The method also includes disabling the read cycle in response to the detection.
[0050] In some embodiments, the first depth is less than the baseline depth.
[0051] In some embodiments, the method further includes capturing an image with an image sensor while the read cycle is enabled.
[0052] In some embodiments, the captured image comprises an image having a barcode. In some embodiments, the barcode comprises a one-dimensional (1D) barcode. In some embodiments, the barcode comprises a two-dimensional (2D) barcode.
[0053] In some embodiments, the method further comprises decoding the barcode.
[0054] In some embodiments, the threshold range comprises an interval based on a percentage range relative to the baseline depth.
[0055] In some embodiments, the threshold range comprises an interval based on an absolute range for the baseline depth.
[0056] In some embodiments, the threshold range has a finite lower bound and no upper bound.
[0057] In some embodiments, disabling the read cycle includes disabling the image sensor.
[0058] In some embodiments, the method further includes determining a rate of change from the baseline depth to the first depth, and enabling the read cycle is further pursuant to determining that the rate of change exceeds a minimum rate of change.
[0059] In some embodiments, the rate of change is determined over a predetermined period of time.
[0060] According to some embodiments of the present disclosure, an apparatus includes a distance sensor, an image sensor, one or more processors, and a memory coupled to the one or more processors. The memory stores one or more programs configured for execution by the one or more processors. The one or more programs include instructions for measuring a baseline depth. The one or more programs include instructions for measuring a first depth following measurement of the baseline depth. The one or more programs include instructions for determining that the first depth is different from the baseline depth. The one or more programs include instructions for enabling a read cycle in response to the determination. The one or more programs include instructions for measuring a second depth following enablement of the read cycle. The one or more programs include instructions for detecting that the second depth is within a threshold range of the baseline depth. The one or more programs also include instructions for disabling the read cycle in response to the detection.
[0061] In some embodiments, the one or more programs include instructions for capturing an image using the image sensor while the read cycle is enabled.
[0062] In some embodiments, the one or more programs include instructions for decoding a barcode (eg, a one-dimensional barcode or a two-dimensional barcode).
[0063] In some embodiments, the instructions to disable the read cycle include instructions to disable the image sensor.
[0064] In some embodiments, the one or more programs include instructions for determining a rate of change from the baseline depth to the first depth, and enabling the read cycle is further subject to determining that the rate of change exceeds a minimum rate of change.
[0065] In some embodiments, the distance sensor is one of a time-of-flight sensor, an ultrasonic sensor, an infrared (IR) sensor, a radar sensor, and a LiDAR sensor.
[0066] In some embodiments, the device is mounted on a stand.
[0067] In some embodiments, the device is part of a label scanning station.
[0068] According to some embodiments, an electronic device includes one or more processors, a memory, and one or more programs stored in the memory, the programs configured to be executed by the one or more processors, the one or more programs including instructions for performing any of the methods described herein.
[0069] According to some embodiments, a non-transitory computer-readable storage medium stores one or more programs configured to be executed by an electronic device having one or more processors and a memory, the one or more programs including instructions for performing any of the methods described herein.
[0070] Thus, a method, system and apparatus are disclosed that enables optimal design, execution and performance of a barcode scanner.
[0071] The various embodiments described above can be combined with other embodiments described herein. The features and advantages described herein are not all-inclusive, and many additional features and advantages will be apparent to those skilled in the art, particularly in light of the drawings, specification, and claims. Furthermore, the language used herein has been selected primarily for ease of reading and explanation, and may not be selected to define or encompass inventive subject matter. [Brief explanation of the drawings]
[0072] [Figure 1] FIG. 1 is a perspective view of an apparatus according to some embodiments. [Figure 2] FIG. 2 is a diagram illustrating a light source of an apparatus according to some embodiments. [Figure 3]FIG. 3 is a block diagram of an apparatus according to some embodiments. [Figure 4A] FIG. 4A illustrates a graphical user interface displayed on a computing device according to some embodiments. [Figure 4B] FIG. 4B illustrates a graphical user interface displayed on a computing device according to some embodiments. [Figure 5] FIG. 5 is a diagram illustrating the distance field and distance range of a device according to some embodiments. [Figure 6A] FIG. 6A illustrates an exemplary operation of an apparatus according to some embodiments. [Figure 6B] FIG. 6B illustrates an exemplary operation of the device according to some embodiments. [Figure 7A] FIG. 7A is a flowchart of a method according to some embodiments. [Figure 7B] FIG. 7B is a flowchart of a method according to some embodiments. [Figure 8A] FIG. 8A is a flowchart of a method according to some embodiments. [Figure 8B] FIG. 8B is a flowchart of a method according to some embodiments. [Figure 9A] FIG. 9A is a flowchart of a method according to some embodiments. [Figure 9B] 9B is a flowchart of a method according to some embodiments. Reference is made to the embodiments illustrated in the accompanying drawings. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that the present invention may be practiced without these specific details. DETAILED DESCRIPTION OF THE INVENTION
[0073] FIG. 1 is a perspective view of an apparatus 100 (e.g., an electronic device) according to some embodiments. According to some embodiments of the present disclosure, the apparatus 100 is a scanning device. In some embodiments, the apparatus 100 may also be referred to as a code reader, a barcode scanner, a label scanner, an optical scanner, or an image capture system. In some embodiments, the apparatus 100 is a handheld device. In some embodiments, the apparatus 100 is mounted on a stand. In some embodiments, the apparatus 100 is part of an optical data reading system (e.g., a label scanning station).
[0074] 1 shows that device 100 includes a housing 101 (e.g., a body or outer case) for protecting components disposed inside device 100. In some embodiments, housing 101 includes integrated fittings or brackets for holding the internal components in place. FIG. 1 also shows that device 100 includes a cover 102 (e.g., a transparent or partially transparent cover) located at the front end of device 100.
[0075] According to some embodiments of the present disclosure, device 100 includes one or more distance sensors 104 (e.g., internal distance sensors) located within device 100. For example, Figure 1 shows distance sensors 104 located internally of device 100 (e.g., adjacent cover 102) and facing the front end of device 100.
[0076] In some embodiments, the distance sensor 104 is a time-of-flight (TOF) sensor. A TOF sensor measures the time elapsed between the emission of a signal (e.g., a wave pulse, an LED pulse, a laser pulse, or infrared light) from the sensor and the reflection from an object back to the sensor. Distance is calculated using the speed of light in air and the time between the transmission and reception of the signal.
[0077] In some embodiments, distance sensor 104 is an ultrasonic sensor. Ultrasonic or sonar sensors detect distance to an object by emitting high frequency sound waves. The ultrasonic sensor emits high frequency sound waves toward the target object and starts a timer. The target object reflects the sound waves back toward the sensor. A receiver picks up the reflected waves and stops the timer. The time it takes for the waves to return is calculated based on the speed of sound to determine the distance traveled.
[0078] In some embodiments, distance sensor 104 is a radar sensor. A radar sensor (e.g., a radar distance sensor) transmits high frequency radio waves (e.g., microwaves) and calculates the distance to an object by measuring the reflection of the radio waves from the object.
[0079] In some embodiments, distance sensor 104 is a LiDAR sensor that measures the distance of a target object through light waves from a laser (e.g., instead of radio or sound waves).
[0080] In some embodiments, distance sensor 104 is an infrared (IR) distance sensor. IR distance sensors work on the principle of triangulation and measure distance based on the angle of a reflected beam.
[0081] In some embodiments, device 100 includes two or more distance sensors 104, each of the same type (e.g., each of the two or more distance sensors is a TOF sensor). In some embodiments, device 100 includes two or more distance sensors of different types (e.g., device 100 includes a TOF distance sensor and a radar sensor).
[0082] FIG. 1 shows that the device 100 includes a button 106 (eg, a trigger) for activating (activating) the device 100 (eg, activating one or more light sources 110 and initiating a read cycle).
[0083] FIG. 2 illustrates light sources (eg, lighting sources, illumination sources, or illuminators) of apparatus 100 according to some embodiments.
[0084] In some embodiments, light source 110 is part of an illumination system of device 100, which also includes illuminators, such as brightfield and darkfield illuminators, reflectors, and lighting modules. Details of brightfield and darkfield illuminators, reflectors, and lighting modules are described in U.S. patent application Ser. No. 14 / 298,659, entitled "Combination Darkfield and Brightfield Illuminator," filed June 6, 2014 (now U.S. Pat. No. 8,989,569, issued March 24, 2015), which is incorporated herein by reference in its entirety.
[0085] In some embodiments, the light source 110 comprises one or more lighting types, such as an LED light source, a laser light source, or an LCD light, each of which has its own lighting characteristics, such as color (blue, red, or green) and / or intensity.
[0086] In some embodiments, as shown in Figure 2, the light source 110 is mounted (e.g., soldered) to a printed circuit board (e.g., PCB) 111 located within the device 100 (e.g., behind the cover 102). The PCB 111 includes a front side 112 facing the front end of the device 100 and a back side 114 facing the rear end of the device 100. Figure 2 shows that the front side 112 of the PCB includes long-distance light sources 116 (e.g., 116-1, 116-2) and low-angle light sources 118 (e.g., 118-1, 118-2). The back side 114 of the PCB includes a dome light source 120.
[0087] In some embodiments, the long-distance light source 116 is used to illuminate a distal field distance range (e.g., determined using the distance sensor 104). In some embodiments, the distal field distance range includes distances of, for example, ≧50 mm, ≧60 mm, 50 mm to 300 mm, or 60 mm to 250 mm.
[0088] 2 shows that the long-distance light sources include a first long-distance light source 116-1 located on the left side of the front side 112 of the PCB and a second long-distance light source 116-2 located on the right side of the front side 112 of the PCB. In some embodiments, the first long-distance light source 116-1 and the second long-distance light source 116-2 have the same lighting type (e.g., both are LED lights having the same color, intensity, and / or lighting characteristics). In some embodiments, the first long-distance light source 116-1 and the second long-distance light source 116-2 have different lighting types, each with its own color and / or intensity (e.g., the first long-distance light source 116-1 is a blue LED and the second long-distance light source 116-2 is a red LED, or the first long-distance light source 116-1 is an LED light and the second long-distance light source 116-2 is an LCD light).
[0089] In some embodiments, the lighting characteristics of the first long-distance light source 116-1 and the second long-distance light source 116-2 can be adjusted independently (e.g., via application 230). In some embodiments, the first long-distance light source 116-1 and the second long-distance light source 116-2 have predetermined (e.g., fixed and non-adjustable) intensities (e.g., predetermined by hardware or user specifications). In some embodiments, the first long-distance light source 116-1 and the second long-distance light source 116-2 are both enabled or disabled (e.g., turned on or off).
[0090] In some embodiments, the light source 110 includes low-angle light sources 118. FIG. 2 shows that the low-angle light sources 118 include low-angle north light sources 118-1 located in the upper half of the front side 112 of the PCB and low-angle south light sources 118-2 located in the lower half of the front side 112 of the PCB. The low-angle light sources 118 are also known as dark-field illuminators. Details of dark-field illuminators are described in U.S. Patent Application No. 14 / 298,659, entitled "Combination Dark-Field and Bright-Field Illuminator," filed June 6, 2014 (now U.S. Patent No. 8,989,569, issued March 24, 2015), which is incorporated herein by reference in its entirety.
[0091] The low-angle light source 118 shines light at a relatively low angle of incidence (e.g., 10, 15, or 30 degrees), and most of the reflected light is not reflected back into the camera 211. The scattered light, eliminating individual surface details that happen to reflect back to the camera, creates feature-specific contrast. In some implementations, the low-angle light source 118 can be used to effectively inspect specular surfaces for defects or to read / verify barcodes under specular surfaces, such as plastic covers, that are unreadable using standard brightfield illumination.
[0092] 2 shows that in some embodiments, the light source 110 includes a dome light source 120 mounted on the backside 120 of the PCB. In some embodiments, the device 100 includes a curved reflector having a curved reflective surface. Incident light from the dome light source 120 is directed onto the curved reflector of the device 100, and the light reflected from the reflector is used to illuminate a target object. Details of the reflector are described in U.S. patent application Ser. No. 14 / 298,659, entitled "Combination Dark Field and Bright Field Illuminator," filed June 6, 2014 (now U.S. Patent No. 8,989,569, issued March 24, 2015), which is incorporated herein by reference in its entirety.
[0093] In the exemplary embodiment, long-distance light source 116 has two LEDs, one corresponding to first long-distance light source 116-1 and the other corresponding to second long-distance light source 116-2, and both the first long-distance light source and the second long-distance light source are simultaneously enabled or disabled.
[0094] In some embodiments, the low-angle north light source 118-1 includes multiple LEDs (eg, 4, 6, or 8), all of which are simultaneously enabled or deactivated.
[0095] In some embodiments, the low-angle south light source 118-2 includes multiple LEDs (eg, 4, 6, or 8), all of which are simultaneously enabled or deactivated.
[0096] In some embodiments, the dome light source 120 includes multiple LEDs (eg, 6, 8, or 10), all of which are simultaneously enabled or deactivated.
[0097] FIG. 3 shows a block diagram of an apparatus 100 according to some embodiments.
[0098] The device 100 includes one or more distance sensors 104, as described above with respect to Figure 1. In some embodiments, the one or more distance sensors include one or more of a time-of-flight sensor, an ultrasonic sensor, a radar sensor, or a LiDAR sensor.
[0099] In some embodiments, device 100 includes one or more proximity sensors for sensing (e.g., detecting) the presence or absence of an object within a sensing area in which the proximity sensors are designed to operate.
[0100] In some embodiments, the device 100 uses distance measurement techniques such as an image focus finder, analog-to-digital conversion (ADC), and / or digital-to-analog conversion (DAC) to determine the distance between the target object and the device 100 itself.
[0101] Apparatus 100 includes a light source 110. In some embodiments, light source 110 includes a long-distance light source 116, a low-angle light source 118, and / or a dome light source 120, as described in FIG. 2 and in U.S. patent application Ser. No. 14 / 298,659, entitled "Combination Dark-Field and Bright-Field Illuminator," filed June 6, 2014 (now U.S. Pat. No. 8,989,569, issued March 24, 2015, which is incorporated by reference herein in its entirety).
[0102] In some embodiments, apparatus 100 includes a decoder 214 for decoding data contained in the barcode and transmitting the data to a computing device (e.g., computing device 300 of FIGS. 4A and 4B). In some embodiments, decoder 214 is part of a software application (e.g., application 230 of FIG. 3). Details of decoder 214 are described in U.S. patent application Ser. No. 14 / 298,659, entitled "Combination Dark-Field and Bright-Field Illuminator," filed June 6, 2014 (now U.S. Pat. No. 8,989,569, issued March 24, 2015), which is incorporated herein by reference in its entirety.
[0103] In some embodiments, device 100 includes one or more input interfaces 210 to facilitate user input, such as buttons 106 of FIGURE 1. In some embodiments, device 100 is a battery-operated device and includes a rechargeable battery. In this case, input interface 216 may include a charging port for charging the battery.
[0104] In some embodiments, device 100 includes a camera 211 that includes an image sensor 212 and a lens 213. The lens 213 directs the path of light rays and focuses them onto the image sensor 212 to recreate an image on the image sensor as accurately as possible. The image sensor 212 converts light (e.g., photons) into an electrical signal that device 100 can interpret. In some embodiments, the lens 213 is an optical lens made from glass or other transparent material. In some embodiments, the lens 213 is a liquid lens composed of an optical liquid material that changes its shape, focal length, and / or working distance when a current or voltage is applied to the liquid lens. In some embodiments, device 100 (e.g., via one or more processors 202) uses distance information obtained by distance sensor 104 to determine the optimal current or voltage to apply to the liquid lens 213 to have an optimal focal length for decoding barcode data contained in the image.
[0105] In some embodiments, camera 211 is configured to capture images in color. In some embodiments, camera 211 is configured to capture images in black and white.
[0106] The device 100 also includes one or more processors (e.g., CPUs) 202, one or more communication interfaces 204 (e.g., network interfaces), memory 206, and one or more communication buses for interconnecting these components (sometimes referred to as a chipset).
[0107] In some embodiments, device 100 includes radio 220. Radio 220 enables one or more communication networks to allow device 100 to communicate with other devices, such as computer devices (e.g., computing device 300 of FIGS. 4A and 4B) or servers. In some implementations, the radio 220 may communicate data using any of a variety of custom or standard wireless protocols (e.g., IEEE 802.15.4, Wi-Fi, ZigBee, 6LoWPAN, Thread, Z-Wave, Bluetooth Smart, ISA100.5A, WirelessHART, MiWi, Ultrawide Band (UWB), and / or software defined radio (SDR)), custom or standard wired protocols (e.g., Ethernet or HomePlug), and / or other suitable communication protocols, including communication protocols yet to be developed as of the filing date of this application.
[0108] Memory 206 includes high-speed random-access memory such as DRAM, SRAM, DDR RAM, or other random-access solid-state memory devices. In some embodiments, memory includes non-volatile memory such as one or more magnetic disk storage devices, one or more optical disk storage devices, one or more flash memory devices, or one or more other non-volatile solid-state storage devices. In some embodiments, memory 206 includes one or more storage devices located remotely from one or more processors 202. Memory 206 or the non-volatile memory within memory 206 includes a non-transitory computer-readable storage medium. In some embodiments, memory 206 or the non-transitory computer-readable storage medium of memory 206 stores the following programs, modules, and data structures, or a subset or superset thereof: · Operational logic 222, including procedures for handling various basic system services and performing hardware-dependent tasks. A communications module 224 (e.g., a radio communications module) that connects to and communicates with other network devices (e.g., local networks such as routers providing Internet connectivity, networked storage devices, network routing devices, server systems, computing device 300, and / or other connected devices) coupled to one or more communications networks via one or more communications interfaces 204 (e.g., wired or wireless). An application 230 that acquires an image containing a label (e.g., a barcode), decodes the label, and controls one or more components of apparatus 100 and / or other connected devices according to the determined state of the eye. In some embodiments, application 230 comprises: An illumination module 232 selects and deploys a sequence of one or more light sources 110 and / or illumination patterns 234 for the current read cycle (e.g., based on distance measurements, such as direct or indirect measurements from the distance sensor 104). In some embodiments, the distance sensor 104 is monitored by the illumination module 232. When a user starts a current read cycle, the distance sensor 104 identifies a distance field (e.g., near field, medium field, or far field) corresponding to the target object's location. The illumination module 232 selects an illumination sequence corresponding to the distance field for execution. If a good read was achieved in the previous read cycle (e.g., the third illumination pattern in the near-field illumination sequence) and the current read cycle has the same distance field as the previous read cycle, the application 230 starts the current read cycle from the beginning, using the values of the previous good read (e.g., the third illumination pattern in the near-field illumination pattern, the previous focus position, exposure, and / or gain) before starting the illumination sequence. The idea here is that users typically read many similar parts, and starting with known good settings from the last decode allows the device to achieve a good read more quickly. If the previous setting did not give a good reading, the illumination sequence for the current distance field starts from the beginning, and each sequence is repeated for each capture. A distance module 236 that determines (eg, selects) which sequence of focal lengths to use during the current read cycle based on distance measurements from one or more distance sensors 104 . An exposure and gain module 238 that extracts samples from images 244 captured by the camera 211. In some embodiments, the exposure and gain module 238 rejects images that do not fall within predetermined attribute ranges for "brightness" and / or "sharpness" (e.g., rejected images are not processed by the image acquisition and processing module 240). In some embodiments, the exposure and gain module 238 updates the image acquisition settings (e.g., exposure and gain) for the next image capture to provide optimal "brightness" for image processing. An image acquisition and processing module 240 for acquiring and processing images. A decoder 214 for decoding the data contained in the barcode and transmitting the data to a computer device (eg, computing device 300 of FIGS. 4A and 4B). Device 100 data 242, including but not limited to: Image data 244 (e.g., camera data). Symbology data 246 (e.g., type of code, such as a barcode). Device settings 248 of the apparatus 100, such as default options, image acquisition settings (e.g., exposure and gain settings), and preferred user settings. User settings 250, such as a preferred humidity level and / or a preferred shade of lens 108 (e.g., photochromic lens). Sensor data 252 obtained (e.g., measured) from the distance sensor 104 and / or other sensors that may be included in the device 100.
[0109] In some embodiments, after an image is captured (e.g., using camera 211), device 100 (e.g., via application 230) evaluates the quality of the captured image. For example, device 100 reads (e.g., determines) the image's sharpness value, average light value, and / or average dark value and determines whether to accept or reject the image. If the result does not meet or exceed predetermined targets, the image is rejected and another image is recaptured. If the result meets or exceeds predetermined targets, the image is processed (e.g., by image acquisition and processing module 240).
[0110] As an example, in some embodiments, a good quality image is an image sample having a light average score of 100-170 (out of 0-255), a dark average score of 20-80 (out of 0-255), and a sharpness score of over 6000 (out of 0 to approximately 12,000).
[0111] In some embodiments, data collected during image sampling (eg, evaluation) is captured and added (eg, as data 242).
[0112] In some embodiments, after qualifying an image, device 100 (e.g., via application 230) determines whether to adjust exposure or gain settings (e.g., using a light average correction path or a dark average correction path) for the next image. If it decides to do so, device 100 collects target light average and target dark average values for comparison, develops a proportional-integral (PI) controller transfer function, and computes the necessary changes to exposure to obtain the ideal exposure for the next image.
[0113] In some embodiments, once an image is successfully decoded, the exposure, gain, and focus values are fed back to application 230. On the next read cycle, application 230 checks whether these decode settings are pending. If so, device 100 attempts to load the camera settings and any previous settings rather than calculating the next setting configuration. If the previous decode settings are used, application 230 extracts samples from the image of data but does not adjust the values of the feedback controllers.
[0114] Each of the above-identified executable modules, applications, or sets of procedures may be stored in one or more of the aforementioned memory devices and correspond to sets of instructions for performing the functions described above. The above-identified modules or programs (i.e., sets of instructions) need not be implemented as separate software programs, procedures, or modules; various subsets of these modules may be combined or otherwise rearranged in various implementations. In some implementations, memory 206 stores a subset of the above-identified modules and data structures. Additionally, memory 206 may store additional modules or data structures not described above. In some embodiments, a subset of the programs, modules, and / or data stored in memory 206 is stored on and / or executed by a server system and / or an external device (e.g., computing device 300).
[0115] 4A and 4B illustrate a graphical user interface 302 displayed on a computing device 300 according to some embodiments. The computing device 300 is communicatively connected to the apparatus 100. The computing device 300 may be a tablet, a mobile phone, a laptop, a display assistant device, or any electronic device including a display screen. The graphical user interface 302 is part of an application program executing on the computing device 300. FIG. 4A illustrates that in some embodiments, the graphical user interface 302 displays an image 304 (e.g., images 304-1 through 304-5) of a barcode captured (e.g., decoded) by the apparatus 100. In some embodiments, the image 304 includes an indication 306 (e.g., indications 306-1 through 306-5) of each of one or more light sources 110 used (e.g., enabled) by the apparatus 100 to capture the image 304. FIG. 4B illustrates that in some embodiments, the graphical user interface 302 is used to set the read cycle and change settings, such as camera settings and lighting settings. Settings (e.g., user input) are sent from computing device 300 to device 100 for execution by device 100. In some embodiments, device 100 is preloaded with factory parameters and configuration settings. A user can change the settings via graphical user interface 302.
[0116] (individual lighting pattern sequences based on target distance) One of the challenges of decoding part markings is that they require very specific scanner settings (e.g., exposure and / or gain settings) to successfully illuminate the markings and acquire images containing the markings. Modern scanning devices are equipped with differential light sources and / or illuminators that help highlight features up close. However, even when differential light sources are provided, scanning devices tend to only perform well for "on contact" reading (e.g., when the part is directly next to the scanner). Their performance degrades as the distance between the object and the device increases.
[0117] Some aspects of the present disclosure provide a technical solution to a technical problem by providing a scanning device 100 that includes one or more distance sensors 104 for determining the distance between the device and a target object. Depending on the measured distance, the scanning device automatically and without user intervention projects (e.g., activates or selects) a respective illumination pattern sequence designed for a particular distance range to the target object.
[0118] In some embodiments, the illumination pattern sequence includes one or more illumination patterns arranged according to a predetermined order, which in some embodiments is based on the probability (e.g., decreasing probability) of obtaining a successful read.
[0119] In one usage scenario, when the scanning device determines that the distance between the device and the target object corresponds to an "on contact" reading (e.g., near field), the device avoids (e.g., does not enable) the use of light sources designed for "at a distance" reading (e.g., far field). The device enables an "on contact" illumination sequence of illumination patterns, starting with the illumination pattern that has the highest probability of resulting in a successful reading. If this does not result in successful extraction of image data, the next most likely illumination pattern is tried. This continues until all illumination patterns in the "on contact" illumination sequence of illumination patterns have been tried (e.g., in descending order of probability). In some embodiments, after attempting an "on contact" illumination sequence once, the scanning device repeats the same illumination sequence. In some embodiments, after attempting an illumination sequence once, the scanning device measures the distance between the device and the target object (e.g., using a distance sensor) and selects an illumination pattern sequence that corresponds to the measured distance.
[0120] In some embodiments, if the device obtained a good reading in the previous read cycle and determines that the current read cycle has the same distance field as the previous read cycle, the device starts with the illumination pattern that was used to obtain the good reading. As an example, in the previous read cycle, corresponding to the "on contact" distance, the device obtains a good reading using illumination pattern B of an "on contact" illumination sequence that includes illumination pattern A, illumination pattern B, and illumination pattern C in that order. If the device determines that the current read cycle is also "on contact," the device starts with illumination pattern B. The idea here is that the user has likely read many similar parts, and starting with a known good setting from a previous decode allows the device to achieve a good read more quickly.
[0121] Enabling individual illumination pattern sequences based on target distance has several advantages. First, by automatically selecting an illumination pattern sequence optimized for a particular distance range, the scanning device can produce more "good reads," leading to higher productivity and greater user satisfaction. Second, starting with an illumination pattern that was used to obtain a good read in the previous read cycle increases the likelihood of achieving a good read, which also leads to higher productivity and greater user satisfaction. Third, because the illumination pattern sequence is predetermined for the distance field, the user can avoid selecting an illumination pattern that is not optimized for the current measurement distance. This saves time and improves user satisfaction.
[0122] FIG. 5 illustrates the distance field and range of the device 100 according to some embodiments.
[0123] In some embodiments, device 100 is configured to operate in multiple distance fields. The distance fields correspond to respective distance ranges (e.g., working distance ranges). Figure 5 shows that in some embodiments, device 100 is configured to operate in a near field corresponding to near-field distance range 292. Typical ranges for the near field are 0-10 mm, 0-20 mm, or 0-25 mm.
[0124] 5 shows that in some embodiments, device 100 is configured to operate in a medium field, corresponding to a medium field distance range 294. Typical ranges for the medium field are 10 mm to 40 mm, 20 mm to 50 mm, or 20 mm to 60 mm.
[0125] 5 also shows that in some embodiments, device 100 is configured to operate in the far field, corresponding to far-field distance range 296. Typical ranges for far-field distance are 50 mm to 300 mm, >60 mm, or 60 mm to 250 mm.
[0126] In some embodiments, the camera 211 has one or more predetermined focus positions that correspond to a distance field. For example, in some embodiments, a near field corresponds to a camera focus position of 0 mm, 5 mm, 10 mm, 15 mm, and / or 20 mm. In some embodiments, a medium field corresponds to a camera focus position of 40 mm, 50 mm, and / or 15 mm greater than the distance measured by the distance sensor.
[0127] Although FIG. 5 shows three distance fields, it will be apparent to one skilled in the art that device 100 may include any number of distance fields (e.g., 2, 3, 5, or 6) corresponding to respective distance ranges.
[0128] In some embodiments, the distance fields and their corresponding distance ranges can be modified based on camera specifications and / or user specifications.
[0129] According to some embodiments of the present disclosure, when the image capture setting is prepared for the next image capture, device 100 measures the distance between device 100 and the target object using distance sensor 104. In some embodiments, device 100 correlates (e.g., maps or compares) the measured distance with a number of predetermined distance fields and / or distance ranges to identify the distance field and / or distance range to which the measured distance corresponds.
[0130] In some embodiments, each distance field (eg, distance range) has its own (eg, unique or distinct) illumination pattern sequence (eg, illumination pattern 234).
[0131] In some embodiments, in the "near field," apparatus 100 executes a near-field illumination pattern sequence having, for example, the following illumination patterns: (i) Dome (e.g., dome light source 120)—Red (color), (ii) Dome—Blue, (iii) Low Angle (South only) (e.g., low-angle South light source 118-2), (iv) Low Angle (both North and South) (e.g., low-angle North light source 118-1 and low-angle South light source 118-2), and (v) Low Angle (both North and South) combined with Dome Red (e.g., low-angle North light source 118-1, low-angle South light source 118-2, and red dome light source).
[0132] In some embodiments, in the "medium field," the device 100 executes a medium field lighting pattern sequence having, for example, (i) Low Angle (South only), (ii) Low Angle (both North and South), and (iii) Long Range lighting patterns.
[0133] In some embodiments, in the "far field," the apparatus 100 executes a far-field illumination pattern sequence having only the following illumination patterns: Long range (eg, long-distance light source 116).
[0134] In some embodiments, the order of the illumination patterns in the illumination sequence is essentially ranked from most likely to least likely to decode the image.
[0135] In some embodiments, for an illumination pattern, the average time to acquire an image is about 35 milliseconds, and the average time to process an image is about 100 milliseconds, so the average time to iteratively process a near-field illumination pattern sequence having five illumination patterns is about 675 milliseconds.
[0136] In some embodiments, the dome light source 120 and the low-angle light sources 118 (e.g., the low-angle north light source 118-1 and the low-angle south light source 118-2) are enabled simultaneously (e.g., by the processor 202) to read very large codes that may be on rounded surfaces. The combination of the dome light source 120 and the low-angle light source 118 produces more uniform illumination across the entire image, increasing the likelihood of obtaining a successful read. This leads to greater user satisfaction, as the user no longer needs to perfectly align the code within the illumination footprint to obtain a successful read.
[0137] (Symbology or frame rate changes based on target distance) Some aspects of the present disclosure are directed to scanning devices (e.g., apparatus 100) used to read and decode data contained in barcodes. Barcodes are associated with respective symbology types (e.g., barcode type or barcode symbology type). Examples of symbology types include Code39 (linear barcode), Code128 (e.g., supports both alphanumeric characters), UPC (Universal Product Code), DotCode (also known as Dot-Peen), Data Matrix, and Direct Part Marking (DPM) / Automotive. DPMs used in the automotive industry tend to be directly planed, stamped, or etched into parts of different sizes and surfaces.
[0138] Every symbology type enabled in device 100 uses a finite amount of processing time (e.g., by increasing the amount of data that processor 202 must identify and / or match before arriving at a decode).
[0139] In practical terms, symbology types can be correlated with the distance between the scanning device and the target object. This is because a camera's ability to resolve image details and elements in a label imposes a physical limit on the distance from the target object at which a scanning device can operate. Beyond this physical limit, it is reasonable to disable symbologies that typically become smaller in size. For example, MicroQR Code, a symbology type whose area can be less than one square centimeter, would not typically be selected as a label symbology printed on the side of a pallet of goods, but would be ideal for small electronic devices or electronic components. Therefore, when a scanning device is operating at long distances, MicroQR Code types can be disabled, improving the overall performance of the code reader (e.g., by reducing data processing and avoiding meaningless code types).
[0140] According to some embodiments, scanning device 100 includes one or more distance sensors. The device measures the distance between a target object and the device and determines that the measured distance corresponds to a (e.g., predetermined) distance field and / or distance range. The device identifies (e.g., automatically and without user intervention) a subset of symbology types from a plurality of predetermined symbology types (e.g., symbology data 246) that corresponds to the determined distance field and / or distance range. The device acquires an image of the object and decodes the image using the subset of symbology types.
[0141] In some embodiments, reducing symbology types based on distance has the advantage of reducing processing time, resulting in faster and more capable devices.
[0142] According to some aspects of the present disclosure, the scanning device 100 is configured to change the image acquisition rate (e.g., frame rate) based on the distance between the device and the target object. In some embodiments, the device increases the image acquisition rate when the distance between the device and the target object increases (e.g., when the target object moves away from the device). In some embodiments, the device decreases the image acquisition rate when the distance between the device and the target object decreases (e.g., when the target object moves closer to the device).
[0143] For example, when a device captures an image at a long distance (e.g., 100 mm or more), the area of the image occupied by the symbol is typically smaller (e.g., less than 50%) compared to an image captured at a shorter distance (e.g., 20 mm or less). There is a limit to the balance between symbol size, the distance between the scanning device and the target object, and the amount of data that can be read. If the device is moved further from the target object, the feature size of the label becomes smaller. Because cameras have a fixed resolution and the feature size of the label becomes smaller at long distances, it may be difficult for the camera to resolve individual features on the label at long distances. This relationship leads users to reduce the amount of data when printing very large labels on products. Because it is easier to process and extract image data from images captured at long distances, image capture speed increases when the distance between the device and the target object decreases.
[0144] In contrast, during close-range reading (e.g., near-field), the feature size can be very large. For example, the symbol may occupy 90% or more of the image frame. Therefore, when a device reads a label closely, the image acquisition rate may be slowed down to allow the camera sensor enough time to resolve the smaller features of the dense code.
[0145] (Uses distance sensor delta to determine when to enter presentation mode) Some aspects of the present disclosure are directed to a scanning device that measures the distance between the device and an object, and the device enables or disables an operating mode (e.g., continuous reading mode or presentation mode) based on the measured distance.
[0146] Scanning devices can be configured to operate in continuous capture / read mode and presentation mode. In continuous capture / read mode, the device continuously acquires images and searches for data labels within the images (even though there may not be any objects and / or barcodes near the device). Continuous capture / read mode therefore generates a lot of heat and consumes unnecessary power. From the user's perspective, continuous capture / read mode can be annoying because the light from the device's image capture system is constantly flashing, which can be irritating to the user's eyes. In contrast, in presentation mode, the device remains idle until it detects an object in the device's field of view. After the object leaves the field of view, the device returns to its idle state.
[0147] According to some embodiments, the scanning device 100 includes an internal distance sensor. The scanning device determines whether an object (e.g., a part, component, or part marking) is present in the device's field of view via the distance sensor. For example, in some embodiments, the device measures a baseline depth (e.g., via the distance sensor). Following the measurement of the baseline depth, the device measures a first depth (e.g., via the distance sensor). The device determines that an object is present in the field of view if the first depth differs from the baseline depth (e.g., the difference exceeds a threshold difference). The device enables a read cycle in response to the determination. In some embodiments, after enabling the read cycle, the device measures a second depth. The device detects that the second depth is within a threshold range of the baseline depth. In response to the detection, the device disables the read cycle (e.g., the device determines that an object is not present in the device's field of view).
[0148] Thus, the devices and / or methods disclosed herein advantageously improve the device and its operation. Specifically, by keeping the device idle and enabling read cycles when an object is in the field of view, the device uses less power and is less prone to overheating. Also, the user experience is improved because the user no longer has to deal with a constant flashing light from the image capture system.
[0149] 6A and 6B illustrate an exemplary operation of the device 100 according to some embodiments.
[0150] FIG. 6A shows device 100 facing (e.g., facing) surface 402. Device 100 is in a (e.g., substantially) stationary position. For example, device 100 may be held by a user or fixed (e.g., attached) (e.g., mounted on a stand). Surface 402 may be a fixed surface such as a tabletop. FIG. 6A shows that there is no object in the field of view of device 100. In some embodiments, device 100 is in a "non-reading state" (e.g., presentation mode). Element 404 represents the distance between device 100 and surface 402 (e.g., as measured by distance sensor 104). In some embodiments, distance 404 is also referred to as a "return-to-home" distance or baseline depth.
[0151] 6B shows an object 406 within the field of view of device 100. In some examples, object 406 comes into the field of view of device 100 due to a user moving object 406. In some examples, object 406 comes into the field of view of device 100 due to a movement of device 100.
[0152] In some embodiments, device 100 detects distance 408 between device 100 and object 406 via distance sensor 104. Device 100 determines that there is a change (e.g., a decrease) in the measured distance (e.g., from distance 404 to distance 408).
[0153] In some embodiments, the change in distance represents a "rising edge detected" event. The distance before the object appeared (e.g., distance 404) is recorded as the "return to home" distance or baseline depth. When distance 404 or a predetermined threshold of distance 404 is detected again (e.g., by distance sensor 104), device 100 determines that the object has been removed from the field of view and stops taking readings.
[0154] In some embodiments, in response to a change in the measured distance, device 100 enables a read cycle (e.g., device 100 enters a read state). If an object appearing in the field of view of device 100 has a label marking, the label marking is decoded. A "read done" timer is reset, allowing the label marking to be read again (e.g., repeatedly).
[0155] In some embodiments, if the code is not read (e.g., not detected) at the end of the read cycle, the device 100 stops capturing images and returns to a non-reading state (e.g., presentation mode). This also avoids a situation where an object is accidentally placed in the device's field of view, causing the read state to continue indefinitely.
[0156] In some embodiments, when object 406 is no longer in the field of view of device 100 (e.g., if either object 406 or device 100 is moved), distance sensor 104 reports distance 404 (e.g., or a distance within a threshold of distance 404) captured in FIG. 6A. When distance 404 (or a distance within a threshold of distance 404) is reported, device 100 transitions to a "no-read" state (e.g., presentation mode) and stops image capture and image processing. In some embodiments, removal of object 406 from the field of view of device 100 triggers a "falling edge" state transition to the no-read state.
[0157] In some embodiments, device 100 may be held by a user and still be able to transition from presentation mode to a read state. For example, the user can hold device 100 and bring device 100 close to an object to cause a "rising edge" or distance decrease that activates a read cycle. Or, the user can hold device 100 and bring an object close to device 100 to activate a read cycle.
[0158] In some embodiments, there is a tolerance (e.g., 2%, 3%, 2 mm, or 5 mm) applied to the "return to home" distance 404. For example, if the "return to home distance" is 100 mm and the device 100 reads 98 mm or more, this may be enough to stop operation of the device.
[0159] In some embodiments, device 100 terminates a read cycle if the current distance (e.g., as measured by distance sensor 104) is within a predetermined vicinity of the recorded "return to home" distance (e.g., within 5 mm of the recorded home distance). In some embodiments, device 100 (e.g., one or more processors 202) adds 5 mm to the current distance when monitoring the "return to home" distance because the distance sensor can toggle between two values when putting the reported value into integer format.
[0160] In some embodiments, the device 100 terminates the read cycle if the distance sensor 104 detects a distance greater than "return to home" or a distance greater than the limits of the distance sensor 104.
[0161] In some embodiments, instead of (or in addition to) a distance sensor, device 100 includes image processing algorithms for detecting "rising edge" or "falling edge" events. For example, the device can acquire a baseline image including surface 402, acquire an image including object 408, and use image subtraction techniques to detect "rising edge" or "falling edge" events (e.g., by measuring the distance between surface 402 and object 406 from the images).
[0162] In some embodiments, a "rising edge" or "falling edge" event may be detected via a change in focus of a camera (e.g., camera 211). For example, device 100 may detect an object via a change in diopter focus of the camera.
[0163] (flowchart) 7A and 7B provide a flowchart of method 700. Method 700 may also be referred to as a process. Method 700 is performed by (e.g., executed on or using) apparatus 100 (e.g., an electronic device or scanner) having one or more distance sensors 104, multiple light sources 110, one or more processors 202 (e.g., processor circuitry), and memory 206. Memory 206 stores one or more programs configured to be executed by one or more processors 202. In some embodiments, the operations illustrated in FIGS. 1, 2, 3, 4A, 4B, 5, 6A, and 6B correspond to instructions stored in memory 206 or other non-transitory computer-readable storage medium. The computer-readable storage medium may include a magnetic or optical disk storage device, a solid-state storage device such as flash memory, or one or more other non-volatile memory devices. The instructions stored on the computer-readable storage medium may include one or more of source code, assembly language code, object code, or other instruction formats interpreted by one or more processors. Some operations of method 700 may be combined and / or the order of some operations may be changed.
[0164] In some embodiments, the distance sensor 104 is one of a time-of-flight (TOF) sensor, an ultrasonic sensor, a radar sensor, or a LiDAR sensor.
[0165] In some embodiments, the plurality of light sources 110 includes a long-distance light source 116, a low-angle light source 118 (e.g., a dark field light source), and / or a dome light source 120. In some embodiments, the light sources include one or more respective lighting characteristics, such as lighting color and uniformity. In some embodiments, the plurality of light sources includes light sources that are LEDs having one color (e.g., blue or red). In some embodiments, the plurality of light sources includes light sources that are LEDs combining two or more colors (e.g., blue and red) that can be selectively enabled to illuminate a target.
[0166] In some embodiments, each of the light sources may be classified as an internal light source or an external light source, as described in U.S. Patent No. 8,989,569, entitled "Combination Dark-Field and Bright-Field Illuminator," which is incorporated herein by reference in its entirety. As explained in the '569 patent, the terms "internal" and "external" do not refer to where the respective light source is mounted within or on the illuminator, but rather to the general direction from which the light source emits light. An "internal" light source emits light generally toward the interior of the reflector, while an "external" light source emits light in a direction other than toward the interior of the reflector.
[0167] In some embodiments, the multiple light sources include inward-facing light sources (eg, directed towards the image sensor 212 of the device 110) and outward-facing light sources (eg, directed away from the image sensor).
[0168] In some embodiments, the plurality of light sources includes a first light source having a first color (eg, red, infrared, blue, or green) and a second light source having a second color different from the first color.
[0169] In some embodiments, the device 100 includes an image sensor 212 .
[0170] In some embodiments, the device 100 includes a camera 211 having a lens. The camera is used to capture one or more images of a target object. In some embodiments, the image sensor is part of the camera.
[0171] 7A, device 100 determines (702) a distance (e.g., directly) between an object (e.g., a label, a barcode, a code) and device 100 (e.g., a distance sensor) via distance sensor 104. In some embodiments, the object is a part (e.g., a component) that includes a label, a barcode, a code, or a part marking. In some embodiments, the object is any material and / or surface (e.g., a reflective surface, a dull surface, a smooth surface, or a rough surface).
[0172] In some embodiments, the device 100 determines the distance between the object and the device 100 by direct measurement from the distance sensor 104 .
[0173] In some embodiments, device 100 determines the distance between the object and device 100 by indirect measurement. For example, device 100 may determine the distance between the object and device 100 using distance measurement techniques such as an image focus finder, analog-to-digital conversion (ADC), and / or digital-to-analog conversion (DAC).
[0174] If the distance (e.g., spacing) between the object and the device is within a first distance range of a plurality of predetermined distance ranges, the device 100 (automatically and without user intervention) enables (e.g., uses, selects, and deploys) a first sequence of (e.g., distinctive) illumination patterns corresponding to the first distance range and illuminates the object via a plurality of light sources.
[0175] In some embodiments, the illumination patterns in the first sequence of illumination patterns have a predetermined order.
[0176] In some embodiments, the first lighting sequence is one of a plurality of lighting sequences, each lighting sequence of the plurality of lighting sequences corresponding to a respective distance range.
[0177] In some embodiments, the plurality of distance ranges includes a near-field distance range, a medium-field distance range, and a far-field distance range (706). For example, in some embodiments, objects in the near-field distance range are located between 0 mm and 20 mm from the device 100. In some embodiments, objects in the medium-field distance range are located between approximately 20 mm and 60 mm from the device 100. In some embodiments, objects in the far-field distance range are located beyond 60 mm from the device 100 (e.g., between 60 mm and 250 mm or between 60 mm and 300 mm).
[0178] In some embodiments, each distance range of the plurality of distance ranges corresponds to a unique sequence of illumination patterns (708).
[0179] For example, in some embodiments, the near-field distance range corresponds to the following sequence of illumination patterns: (i) dome light source (red), (ii) dome light source (blue), (iii) low-angle light source (south only), (iv) low-angle light source (both north and south), and (v) low-angle light source (both north and south) combined with dome light source (red). In some embodiments, in the medium-field distance range, the sequence of illumination patterns is (i) low-angle (south only), (ii) low-angle (both north and south), and (iii) long distance. In some embodiments, in the far-field distance range, the sequence of illumination patterns is long distance only.
[0180] In some embodiments, the first sequence of lighting patterns includes multiple lighting patterns 710. For example, as described above, a sequence of lighting patterns corresponding to a medium field distance range includes three lighting patterns: (i) low angle (south only), (ii) low angle (both north and south), and (iii) long distance.
[0181] In some embodiments, each illumination pattern of the illumination patterns uses a distinct combination of light source and / or illumination characteristics (e.g., intensity, uniformity, intensity, and / or angle of illumination) (712). For example, as described above, the sequence of illumination patterns corresponding to the near-field distance range includes five illumination patterns (numbered (i) through (v) above). A first illumination pattern (e.g., dome light source (red)) uses the dome light source 120 and red light (e.g., red LEDs). A second illumination pattern (e.g., dome light source (blue)) uses the dome light source 120 and blue light (e.g., blue LEDs).
[0182] In some embodiments, the first sequence of lighting patterns includes lighting patterns that utilize an external light source (eg, an ambient light source).
[0183] In some embodiments, the lighting characteristics of the light source can be adjusted by the user. For example, the user can change the lighting intensity and / or angle of the light source. In some embodiments, the lighting characteristics / settings are predetermined by the system and cannot be changed by the user.
[0184] Continuing with reference to FIG. 7A, in some embodiments, device 100 enables (714) multiple lighting patterns in a predetermined order based on the probability that each lighting pattern will create contrast between light and dark portions of the object (e.g., that each lighting pattern will reflect light from the object to an image sensor of device 100).
[0185] In some embodiments, the predetermined order is based on descending probability (716).
[0186] In some embodiments, the device 100 repeats the steps of determining and validating (718) until an image of the object is captured by the image sensor.
[0187] For example, in some embodiments, if the distance between the object and the device 100 is within a first distance range, the device 100 repeats a first sequence of illumination patterns corresponding to the first distance range multiple times until it successfully acquires an image of the object.
[0188] In some embodiments, device 100 is configured to detect (e.g., determine) the distance between the object and the device (e.g., at time t=0) and activate a lighting pattern corresponding to the detected distance range. At the end of one or several (e.g., three or five) lighting pattern cycles, device 100 re-checks the distance between device 100 and the object. If the device determines that the distance between the object and the device is still within the previously determined distance range, the device repeats the sequence of lighting patterns corresponding to the previously (and currently) determined distance range. If the device determines that the distance between the object and the device corresponds to a different distance range than the previously determined one, the device activates another sequence of lighting patterns corresponding to the newly determined distance range to illuminate the object.
[0189] In some embodiments, after the device operator is trained to hold the device and scan an object (instead of moving the device and attempting to scan the object), the distance sensor 104 detects the distance once to obtain a first distance range, and then the device repeatedly activates a sequence of illumination patterns corresponding to the distance range (e.g., without re-establishing the distance).
[0190] In some embodiments, device 100 determines 720 that a first lighting pattern of the plurality of lighting patterns is enabled when an image of the object is captured (e.g., when an image of the object is captured by illuminating the object with the first lighting pattern). During subsequent operation of the device, device 100 reorders 722 the plurality of lighting patterns in the first sequence of lighting patterns so that the first lighting pattern is enabled first.
[0191] 8A and 8B provide a flowchart of method 800. Method 800 is performed by (e.g., on or using) device 100 having one or more distance sensors 104, multiple light sources 110, one or more processors 202, and memory 206. Memory 206 stores one or more programs configured to be executed by one or more processors 202. In some embodiments, the operations illustrated in FIGS. 1, 2, 3, 4A, 4B, 5, 6A, and 6B correspond to instructions stored in memory 206 or other non-transitory computer-readable storage media. The computer-readable storage medium may include a magnetic or optical disk storage device, a solid-state storage device such as flash memory, or one or more other non-volatile memory devices. The instructions stored in the computer-readable storage medium may include one or more of source code, assembly language code, object code, or other instruction formats interpreted by one or more processors. Some operations in method 800 may be combined and / or the order of some operations may be changed.
[0192] The device 100 determines 802 the distance between the object (eg, a label, barcode, or code) and the device using the distance sensor 104.
[0193] If the distance (e.g., spacing) between the object and device 100 is within a first distance range of a plurality of predetermined distance ranges, device 100 identifies (e.g., automatically and without user intervention) a subset of one or more symbology types (e.g., barcode types or barcode symbology types) from the plurality of predetermined symbology types that correspond to the first distance range (804).
[0194] In some embodiments, the multiple distance ranges include two or more of a near-field distance range (e.g., 0-20 mm), a medium-field distance range (e.g., 20 mm-60 mm), and a far-field distance range (e.g., >60 mm or 60 mm-250 mm).
[0195] In some embodiments, multiple symbology types are stored locally on device 100 (808).
[0196] In some embodiments, the multiple symbology types are stored (810) on a computing device separate from the apparatus (eg, communicatively coupled to the apparatus 100).
[0197] In some embodiments, the plurality of symbology types includes linear (e.g., one-dimensional) symbology and 2D symbology (e.g., QR code) (812).
[0198] In some embodiments, if the distance between the object and device 100 is within a first distance range, device 100 activates (e.g., automatically, without user intervention) a first sequence of illumination patterns corresponding to the first distance range to illuminate the object via the multiple light sources (814). In some embodiments, the illumination patterns in the first sequence of illumination patterns have a predetermined order. Details of the illumination patterns and the sequence of illumination patterns are described with reference to Figures 7A and 7B and will not be repeated for brevity.
[0199] In some embodiments, the device 100 acquires (816) (e.g., captures) one or more images of the object.
[0200] In some embodiments, device 100 adjusts (e.g., varies, determines, or selects from predetermined rates) the image acquisition rate (e.g., frame rate) for acquiring one or more images based on the distance between the device and the object (818).
[0201] In some examples, the device 100 increases the image acquisition rate (820) when the distance between the device and the object increases.
[0202] For example, in some embodiments, image acquisition speed increases (e.g., is faster) at longer distances because the code is expected to contain less data, and in some embodiments, image acquisition speed increases at longer distances because the code has larger sized elements, thereby resulting in faster processing times.
[0203] In some embodiments, device 100 reduces the image acquisition speed as the distance between the device and the object decreases. For example, the frame rate decreases (e.g., becomes slower) while reading a label close to device 100 as the image sensor resolves smaller elements of a dense code.
[0204] 8B, the device 100 decodes 822 one or more images based on the identified subset of symbology types. For example, the device 100 resolves information about the object, including details of the object, elements or features within the object, such as the presence of lines and their corresponding thicknesses.
[0205] In some embodiments, identifying the subset of symbology types from the plurality of symbology types includes disabling (e.g., not testing) one or more other symbology types from the plurality of symbology types that are not typically used for the determined distance.
[0206] For example, in some situations, a particular symbology may not be found for applications requiring long-range reading. As an example, MicroQR Code is not typically chosen as a label symbology to be printed on the side of a pallet of goods, but is suitable for small electronic devices or electronic components. Thus, in some embodiments, when the distance between the device and the object is long (e.g., in the far-field range), the device 100 excludes the MicroQR Code type from the list of possible symbology candidates.
[0207] As another example, for code types that have very wide (or very long) codes, device 100 needs to be positioned far enough from the code so that the entire code can fit into the field of view of image sensor 212. Thus, when device 100 is located near an object (e.g., in the near-field range), symbology types associated with long or wide codes may be excluded.
[0208] In some embodiments, decoding the one or more images based on the identified subset of symbology types includes identifying one or more object characteristics from the one or more images 824. For example, in some embodiments, the object is a barcode and the object characteristics include the width of the bars of the barcode, the width of the spaces between the bars of the barcode, the length of the barcode, the width of the barcode, and / or the ratio between the length and width of the barcode.
[0209] In some embodiments, the decoding includes comparing the characteristics of the object to each characteristic of a symbology type in the subset of symbology types (826), determining that the object corresponds to a first symbology type in the subset of symbology types according to the comparison (828), and decoding one or more characteristics of the object based on the first symbology type (830).
[0210] 9A and 9B provide a flowchart of method 900. Method 900 is performed by (e.g., on or using) device 100, which has one or more distance sensors 104, image sensor 212, one or more processors 202, and memory 206. Memory 206 stores one or more programs configured by one or more processors 202. In some embodiments, the operations illustrated in FIGS. 1, 2, 3, 4A, 4B, 5, 6A, and 6B correspond to instructions stored in memory 206 or other non-transitory computer-readable storage medium. The computer-readable storage medium may include a magnetic or optical disk storage device, a solid-state storage device such as flash memory, or other non-volatile memory device. The instructions stored in the computer-readable storage medium may include one or more of source code, assembly language code, object code, or other instruction formats interpreted by one or more processors. Some operations of method 900 may be combined and / or the order of some operations may be changed.
[0211] In some embodiments, the distance sensor 104 is one of a time-of-flight sensor, an ultrasonic sensor, an infrared (IR) sensor, a radar sensor, or a LiDAR sensor.
[0212] In some embodiments, the device 100 is mounted on a stand 901. In some embodiments, the device 100 is part of a label scanning station.
[0213] The device 100 measures (e.g., obtains) 902 a baseline depth (e.g., using a distance sensor). In some embodiments, the baseline depth is also referred to as a "distance" or a "return-to-home" distance. For example, the baseline depth may be 100 mm, 150 mm, 220 mm, or 250 mm.
[0214] Following the baseline depth measurement, the device 100 measures 904 a first depth (eg, using the distance sensor 104).
[0215] The device 100 determines (906) that the first depth is different from the baseline depth.
[0216] In some embodiments, the first depth is less than the baseline depth (907) (e.g., the baseline depth is 100 mm and the first depth is 20 mm). In some embodiments, the decrease in reported distance represents a "rising edge detected" event.
[0217] In response to the determination, device 100 enables a read cycle (908).
[0218] In some embodiments, while the read cycle is enabled, device 100 captures images using an image sensor (910). For example, device 100 uses camera 211, which includes image sensor 212, to capture images of objects within the field of view of the image sensor.
[0219] In some embodiments, the captured image includes an image having a barcode (e.g., a label or part marking) (912).
[0220] In some embodiments, during a read cycle, device 100 captures an image and evaluates the quality of the image. Depending on the image quality, the device processes (e.g., decodes) the image or recaptures another image.
[0221] In some embodiments, the method 900 further includes decoding the barcode (914).
[0222] In some embodiments, the device 100 determines (916) the rate of change from the baseline depth to the first depth (e.g., according to signals from the distance sensor 104). Enabling the read cycle is further subject to determining that the rate of change exceeds (or is at least equal to) a minimum rate of change (e.g., 10 mm / sec or greater).
[0223] In some embodiments, the device 100 determines a rate of change from the baseline depth to the first depth, and enabling the read cycle is further subject to determining that the rate of change from the baseline depth to the first depth is within (e.g., between) a threshold range (e.g., between 20 mm / sec and 100 mm / sec).
[0224] In some embodiments, the rate of change is determined (918) (e.g., by device 100) over a predetermined period of time. For example, in some embodiments, distance sensor 104 is configured to measure distance at a predetermined time interval (e.g., every 30 milliseconds or every 50 milliseconds). If the rate of change over the predetermined time interval is small (e.g., if the user moves the object toward the device very slowly), a read cycle will not be initiated. On the other hand, if the rate of change over the predetermined time interval is too large, this may be due to other reasons, such as the user accidentally hitting the table on which the device is mounted.
[0225] With continued reference to FIG. 9B, in some embodiments, following enabling the read cycle, the device 100 measures (920) a second depth.
[0226] The device 100 detects (924) that the second depth is within a threshold range of the baseline depth.
[0227] In some embodiments, the threshold range comprises an interval based on a percentage range (e.g., ±2%, ±3%, ±5%, or ±8%) about the baseline depth (926).
[0228] In some embodiments, the threshold range comprises an interval based on an absolute range around the baseline depth (e.g., ±2 mm or ±5 mm) (928).
[0229] In some embodiments, the threshold range has a finite lower limit and no upper limit 930. For example, the threshold range may be one-sided (e.g., have a single-sided range) (e.g., 95 mm or greater, or 99 mm or greater).
[0230] In response to the detection, device 100 disables (930) read cycles.
[0231] In some embodiments, disabling the read cycle includes disabling (932) the image sensor.
[0232] In some embodiments, the read cycle can have a predetermined amount of time or a predetermined number of cycles (eg, 1, 3, or 10).
[0233] In some embodiments, the read cycle includes a continuous read cycle (eg, continuous mode) in which the camera continuously captures images for evaluation and / or processing.
[0234] In some embodiments, the read cycle comprises a one-time loop in which the device acquires one image, evaluates the image, and determines whether to process or ignore the image based on the evaluation.
[0235] Each of the above-identified executable modules, applications, or sets of procedures may be stored in one or more of the aforementioned memory devices and correspond to sets of instructions for performing the functions described above. The above-identified modules or programs (i.e., sets of instructions) need not be implemented as separate software programs, procedures, or modules; thus, various subsets of these modules may be combined or otherwise rearranged in various implementations. In some implementations, memory 206 stores a subset of the above-identified modules and data structures. Additionally, memory 206 may store additional modules or data structures not described above.
[0236] The terminology used in the description of the invention herein is for the purpose of describing particular implementations only and is not intended to be limiting of the invention. As used in the description of the invention and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms unless the context clearly dictates otherwise. It will also be understood that the term "and / or," as used herein, refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will further be understood that the terms "comprises" and "comprising," when used herein, specify the presence of stated features, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, elements, components, and / or groups thereof.
[0237] As used herein, the phrase "based on" does not mean "based only on," unless expressly stated otherwise. In other words, the phrase "based on" refers to both "based only on" and "based at least on."
[0238] As used herein, the term "exemplary" means "serving as an example, instance, or illustration" and does not necessarily imply a preference or superiority of the example over other configurations or implementations.
[0239] As used herein, the term "and / or" includes any combination of the listed elements. For example, "A, B, and / or C" includes the following sets of elements: A only, B only, C only, A and B without C, A and C without B, B and C without A, and combinations of all three elements: A, B, and C.
[0240] The above description has been set forth with reference to specific implementations for purposes of explanation. However, the above illustrative discussion is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teachings. These embodiments have been chosen and described in order to best explain the principles of the invention and its practical application, so that others skilled in the art can utilize the invention to its fullest extent and in various implementations with various modifications suited to the particular uses contemplated.
Claims
1. A distance sensor; an image sensor; one or more processors; a memory coupled to the one or more processors and storing one or more programs configured to be executed by the one or more processors; An apparatus comprising: The one or more programs are instructions for determining a distance between an object and the device via the distance sensor; in response to determining that the distance between the object and the device is within a first distance range of a plurality of predetermined distance ranges; instructions for identifying a subset of symbology types from a plurality of predetermined symbology types corresponding to the first distance range; instructions for acquiring one or more images of the object; instructions for decoding one or more images based on a subset of the identified symbology types; Equipped with the one or more programs: further comprising instructions for adjusting an image acquisition rate for acquiring the one or more images based on the distance between the device and the object; The instruction: instructions to increase the image acquisition rate if the distance between the device and the object increases; instructions to decrease the image acquisition rate if the distance between the device and the object decreases; 1. An apparatus comprising:
2. 1. A method performed by a device having a range sensor and an image sensor, comprising: determining a distance between an object and the device via the distance sensor; in response to determining that the distance between the object and the device is within a first distance range of a plurality of predetermined distance ranges; identifying a subset of symbology types from a plurality of predetermined symbology types corresponding to the first distance range; acquiring one or more images of the object; decoding one or more images based on a subset of the identified symbology types; adjusting an image acquisition rate for acquiring the one or more images based on the distance between the device and the object; Equipped with adjusting the image acquisition rate; increasing the image acquisition rate when the distance between the device and the object increases; Decreasing the image acquisition rate when the distance between the device and the object decreases. A method comprising:
Citation Information
Patent Citations
Bar-code reader
JP1994060209A
Optical information reading device
JP2005202930A
Optical information reader and lighting control method
JP2015076106A
System and method for auto-focusing vision system camera on barcodes
JP2020074057A
Object detection
JP2021193790A