US20080048040A1 - Robust barcode and reader for rod position determination - Google Patents
Robust barcode and reader for rod position determination Download PDFInfo
- Publication number
- US20080048040A1 US20080048040A1 US11/896,901 US89690107A US2008048040A1 US 20080048040 A1 US20080048040 A1 US 20080048040A1 US 89690107 A US89690107 A US 89690107A US 2008048040 A1 US2008048040 A1 US 2008048040A1
- Authority
- US
- United States
- Prior art keywords
- rod
- accordance
- optical device
- optical
- barcode
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 230000003287 optical effect Effects 0.000 claims description 56
- 230000033001 locomotion Effects 0.000 abstract description 12
- 238000005286 illumination Methods 0.000 abstract description 8
- 238000012545 processing Methods 0.000 abstract description 6
- 230000000875 corresponding effect Effects 0.000 description 36
- 238000000034 method Methods 0.000 description 31
- 238000001228 spectrum Methods 0.000 description 25
- 239000011159 matrix material Substances 0.000 description 13
- 230000004044 response Effects 0.000 description 10
- 238000005259 measurement Methods 0.000 description 7
- 239000013598 vector Substances 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 239000012530 fluid Substances 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000009795 derivation Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 229910052770 Uranium Inorganic materials 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 229910052751 metal Inorganic materials 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 239000011248 coating agent Substances 0.000 description 1
- 238000000576 coating method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000036461 convulsion Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010330 laser marking Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10544—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01D—MEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
- G01D5/00—Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
- G01D5/26—Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable characterised by optical transfer means, i.e. using infrared, visible, or ultraviolet light
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06018—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking one-dimensional coding
- G06K19/06028—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking one-dimensional coding using bar codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/20—Point-of-sale [POS] network systems
- G06Q20/203—Inventory monitoring
Definitions
- the present disclosure is directed generally to a system and related method for determining a location of a movable member, and more particularly, to determining the linear position of a movable member.
- a hydraulic or pneumatic cylinder for moving a work tool such as a bucket of a wheel loader or excavator.
- the cylinder includes a rod coupled to the work tool, at one end, and a chamber at the other. Hydraulic fluid is provided in the chamber to extend the rod along a linear path, typically extending several meters. The fluid can also be removed from the chamber to retract the rod along the same path. Often the rod location or position along the linear path must be known so that movement of the work tool can be controlled.
- Barcodes have been marked on cylinder rods in order to locate the position of the rod.
- the rod may be marked with a barcode including non-repeating segments of code, each of which correspond to a different location of the rod.
- a sensor is provided in the cylinder adjacent the barcode to identify a particular segment, which is then associated with a corresponding rod location.
- U.S. Pat. No. 6,556,946 issued to Sewell on Apr. 29, 2003, describes a barcode utilizing a trinary code including a succession of data fields, each of which includes so-called “trits” or characters. Data is encoded by varying the relative amounts of black and white in each character.
- the barcode described in the Sewell patent facilitates accurate location measurements over a range of rod positions.
- the barcode In Sewell, the barcode is exposed to either ambient light or light from an optical source. Light reflected off the barcode is detected by a sensor. Data present in the sensor output is read and the rod location is determined based on the data. In order to accurately sense the barcode described in Sewell, however, signals generated by the sensor should be relatively free of noise. Various non-idealities in the optics and electronics for sensing the barcode, however, as well as imperfections in the rod itself (e.g., spurious reflections on the rod surface and excess hydraulic fluid) can introduce noise into the sensor output signal. Often, the amount of noise can be substantial, and the rod location difficult to determine. Accordingly a more robust barcode, which is less susceptible to noise, is required to accurately identify rod positions.
- the movable object includes a surface and a longitudinal axis.
- the method includes steps of generating coded information indicative of a position of the movable object, and providing a plurality of markings extending axially on a portion of the surface of the movable object in accordance with the coded information.
- the plurality of markings have an associated spectrum.
- the spectrum has first frequency components and second frequency components, and the providing step further includes a step of deemphasizing the first frequency components relative to the second frequency components.
- a location monitoring system which includes a movable member, reader circuit and processor circuit.
- the movable member is movable along a path, and has a surface with a plurality of markings disposed thereon.
- the reader circuit is configured to expose a part of the surface of the movable member, and generate a sense signal in response to a portion of the light emanating from the exposed part of the surface.
- the exposed part of the surface includes a subset of the plurality of markings.
- the processor circuit is configured to receive the sense signal, and determine a plurality of probability values associated with the sense signal. Each of the plurality of probability values is associated with a corresponding subset of the plurality of markings. The processor identifies the subset of the plurality of markings included in the part of the surface based upon at least some of the plurality of probability values, and identifies a position of the movable member along the path corresponding to the identified subset of the plurality of markings.
- a location monitoring system which includes a movable member, reader circuit and processor circuit.
- the movable member is movable along a path, and has a surface, and a plurality of markings disposed thereon.
- the movable member is locatable at a plurality of positions along the path.
- the reader circuit is configured to expose a part of the surface of the movable member, and is configured is to generate a sense signal in response to light emanating from the exposed part of the surface of the movable member.
- the processor circuit is configured to receive the sense signal, and determine a plurality of first probability values associated with the sense signal. Each of the plurality of first probability values being associated with first locations on the surface, and each of the first locations being spaced from one another by a first distance. The processor circuit selects groupings of the plurality of first probability values, a sum of which exceeding a first predetermined threshold. The processor circuit further being configured to determine a plurality of second probability values, each of which being associated with second locations on the surface. Each of the second locations being spaced from one another by a second distance less than the first distance, and each of the second locations lying within regions of the surface defined by the selected groupings.
- an apparatus for reading an image provided on a surface.
- the apparatus comprises a photosensor and a lens.
- the lens is configured to receive light from the image and direct the light to the photosensor.
- the lens and photosensor are attached to a carrier.
- a housing is also provided having an external surface and an internal surface.
- the external surface has a first reference portion and the internal surface has a second reference portion, which is aligned with the first reference portion.
- the carrier is attached to the second reference portion such that upon the first reference portion being positioned at a predetermined distance away from the image, light is substantially focused onto the photosensor.
- an optical device including a housing having an opening.
- a plurality of optical emitters are provided in the housing which are configured to output light through the opening.
- a circuit is also included to supply substantially the same electrical current to each optical emitter.
- a plurality of photosensors are provided in the housing for receiving a portion of the light reflected off a surface external to the housing.
- FIG. 1 illustrates a block diagram of a system for identifying a rod location consistent with an aspect of the present disclosure
- FIG. 2 illustrates a perspective view of a barcode provided on a rod in accordance with a further aspect of the present disclosure
- FIG. 3 illustrates an exemplary barcode consistent with an additional aspect of the present disclosure
- FIG. 4A illustrates a flow chart of a method for generating a barcode in accordance with a further aspect of the present disclosure
- FIGS. 4B-4F illustrate regions of a rod surface discussed in connection with FIG. 4A ;
- FIGS. 5A-5E illustrate results of intermediate steps of an alternative method for generating a barcode in accordance with a further aspect of the disclosure
- FIGS. 6A-6E illustrate results of intermediate steps of an additional method for generating a barcode consistent with an aspect of the disclosure
- FIG. 7 is a block diagram illustrating interaction of various noise parameters affecting the quality of signals in the system shown in FIG. 1 ;
- FIG. 8 illustrates a method of determining rod location in accordance with a further aspect of the disclosure
- FIG. 9 illustrates a perspective view of a cross-section of a reader consistent with another aspect of the present disclosure.
- FIG. 10 illustrates an alternative cross-sectional view of the sensor consistent with the disclosure
- FIG. 11 is a diagram of the reader highlighting additional features in accordance with a further aspect of the present disclosure.
- FIG. 12 illustrates a circuit for supplying current to barcode illuminating optical emitters in accordance with an additional aspect of the disclosure.
- FIG. 13 illustrates an exemplary plot of a white noise signal
- FIG. 14 illustrates an exemplary plot of noise signal having filtered or deemphasized high frequency components
- FIG. 15 illustrates a plot of exemplary probability values
- FIG. 16 illustrates an alternative method of determining rod location in accordance with a further aspect of the disclosure
- FIG. 17 illustrates an exemplary spatial frequency spectrum, which may be associated with optical components, such as lens 910 shown in FIG. 9 ;
- FIG. 18 illustrates an exemplary spatial frequency spectrum of a barcode in accordance with an aspect of the present disclosure.
- FIG. 19 illustrates an exemplary spatial frequency spectrum of a barcode in accordance with a further aspect of the present disclosure.
- FIG. 1 illustrates a block diagram of system 100 for monitoring a position and controlling movement of movable member, object or rod 10 .
- Rod 10 typically includes a conventional thermally sprayed outer surface 11 and a longitudinal axis 24 .
- a plurality of markings 12 constituting a barcode are provided on outer surface 11 , typically with a high intensity laser that selectively exposes portions of surface 11 .
- Markings 12 represent binary coded information in the sense that the marks by being dark or light represent 0s or 1s (but this should not be confused with information about the position of the rod which is a more diffuse quantity).
- Reader circuit 26 includes one or more optical emitters 14 , such as light emitting diodes (LEDs), that expose a portion of the outer surface 11 including a subset of markings to light typically at infrared frequencies, although other frequencies of light may be used as well.
- LEDs light emitting diodes
- Sensor 16 typically including an array of photosensors.
- markings may be provided on an internal surface of rod 10 , and exposed from within. In that case, the rod may be transparent, and photosensors provided external to the rod would sense light passing through a portion of the internal surface of the rod instead of being reflected from it. The markings may also be observed from inside such a rod.
- rod 10 may be exposed with ambient light, if such light is of sufficient intensity.
- each photosensor representing a pixel of a sensed barcode image, may have a viewing length of, for example, 63.5 microns, and since 128 such photosensors are typically provided in a linear array, an 8.1 mm section of outer surface 11 is typically sensed, although other lengths and other view pixel lengths are contemplated by the present disclosure.
- sensors 16 In response to the received light, sensors 16 output electrical signals to processor circuit 18 , which may be a conventional microprocessor, computer, or digital signal processor and associated circuitry.
- processor circuit 18 determines a position of rod 10 and information concerning the position is optionally displayed on a user interface device 22 including, for example, a display or monitor.
- a keyboard or other data entry device may be provided, and in response to commands input to the processor circuit 18 and the identified position, processor circuit 18 supplies control signals to mechanical control circuit 20 , to thereby move or change the location of rod 10 .
- processor 18 executes instructions for carrying out or performing a method of identifying a location of rod 10 , such as the method described below in connection with FIG. 8 or the method discussed below in connection with FIG. 16 .
- Such instructions may be read into a computer readable medium, such as memory 19 incorporated into or provided external to processor 18 .
- hard-wired circuitry may be used in place of or in combination with software instructions to implement the invention.
- embodiments of the invention are not limited to any specific combination of hardware circuitry and software.
- Non-volatile media includes, for example, optical or magnetic disks.
- Volatile media includes dynamic memory.
- Transmission media includes coaxial cables, copper wire and fiber optics, and can also take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications.
- Computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, any other optical medium, punchcards, papertape, any other physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer or processor 18 can read.
- FIG. 2 illustrates rod 10 disposed in a cylinder body 220 .
- rod 10 and cylinder body 220 constitute a cylinder 230 , which can be any one of a wide variety of hydraulic, pneumatic and similarly actuated cylinders.
- Cylinder 230 is operable to extend rod 10 from, and retract rod 16 into, cylinder body 220 typically along a linear path of movement represented by arrow 240 .
- Path 240 typically extends axially with respect to a longitudinal axis 24 .
- reader circuit 26 may be provided in cylinder body 220 .
- rod 10 is movable while cylinder body 220 is stationary.
- the present disclosure is applicable to other rod and cylinder body configurations whereby the rod is stationary and the cylinder body is movable, as well as configurations in which both the rod and cylinder body are movable.
- the term “movable” refers to actual movement of the rod, member or object, as well as relative movement in configurations in which the rod, member or object is stationary but the reader circuit is movable, and configurations in which both the rod, member or object and the reader circuit are movable.
- Markings 12 may include endpoints respectively provided adjacent corresponding ends of rod 10 .
- marking endpoint 250 is provided adjacent one end of rod 10
- another marking endpoint is located within cylinder body 220 adjacent the other end of rod 10 , which, in the position shown in FIG. 2 , is adjacent reader circuit 26 .
- FIG. 9 illustrates a cross-sectional perspective view of reader 26 including a housing 902 enclosing at least one optical emitter, e.g., light emitting diodes, LEDs 906 - 1 and 906 - 2 and an array of photosensors 908 , including, for example, a linear array of CMOS photosensors.
- Sensors 908 and LEDs 906 - 1 and 906 - 2 are disposed on a carrier 904 , which in a preferred configuration may include a circuit board upon which are mounted the local electronic components necessary for the operation of the sensor.
- Light emitted by LEDs 906 - 1 and 906 - 2 passes through cylindrical lens 912 and diffuser 914 and out through opening 916 .
- Light reflected off a portion of barcode markings 12 also passes through opening 916 , and is collected by the lens 910 which forms an image of the barcode in the plane of the photosensors 908 .
- the lens 910 may include an array of graded index lenses known as a Selfoc Lens Array (SLA).
- SLA Selfoc Lens Array
- the opening 916 may be closed by a planar transparent optical window 918 to provide protection for the sensor components.
- Circuitry 901 associated with CMOS sensors 908 receives outputs from the sensors and generates sense signals that are fed to processor 18 .
- sensor 908 may include 128 pixels on an 63.5 micron pitch, each pixel being 63.5 ⁇ 55.5 microns in size.
- LEDs 906 - 1 and 906 - 2 , photosensors 908 are formed integrally with carrier 904 .
- FIG. 10 illustrates a cross-sectional view of reader 26 when provided on rod 10 .
- a casing 1002 is provided on rod 10 to hold reader 26 .
- Casing 1002 has a predetermined thickness such that when the reader 26 (manufactured in accordance with the procedure described below) is mounted thereon, LEDs 906 , photosensor and circuitry 901 / 908 , lenses 910 , 912 and diffuser 914 are provided at a desired distance from surface 11 of rod 10 to facilitate accurate illumination, focusing and sensing of optical signals reflected off barcode markings 12 without the need for adjustment.
- FIG. 11 shows a diagram of reader 26 in which various components shown in FIGS. 9 and 10 have been omitted for clarity and housing 902 has been redrawn to highlight a further aspect of the present disclosure.
- the features to be described with reference to FIG. 11 facilitate simple and precise assembly of the optical components contained therein to assure that barcode markings 12 are adequately exposed, and light reflected off the barcode is properly focused and sensed.
- housing 902 includes an outer surface 1125 and inner surface 1119 .
- Outer surface 1125 has a reference portion 1102 disposed on a portion 1160 of the casing 1002 , a known distance from the scale or markings 12 on surface 11 of the rod 10 .
- the inner surface has a reference portion 1104 .
- An optical carrier 1130 is positioned by locating its reference surface 11 05 against the housing internal reference surface 1104 .
- the sensor components: (LEDs) 906 - 1 , 906 - 2 , CMOS sensors 901 / 908 (where these latter components may themselves be mounted on a sub-carrier circuit board described previously) illumination lens 912 , diffuser 914 , imaging lens 910 are mounted on the optical carrier 1130 .
- the sensor component ( 906 - 1 , 906 - 2 , 912 , 914 , 910 , 901 ) to be located against appropriately positioned mechanical references machined on carrier 1130 such that they are optimally positioned to illuminate the bar code (scale) (using 906 - 1 , 906 - 2 , 912 , 914 ) and to form an image of the illuminated scale in the plane at the CMOS detector array ( 901 , 908 ) using the lenses 910 .
- This enables the sensor to be assembled using a simple process of mechanical component location and installation on the casing 1002 . As a result, markings 12 are optimally illuminated and imaged without the need for either external or internal adjustment.
- internal reference portion 1104 and external reference portion 1102 are aligned along reference line 1106 , such that photosensor array 908 is provided above line 1106 in the drawing and lens 910 is provided below.
- Housing 902 is typically clamped to casing 1002 so that if the temperature in housing 902 increases, lens 910 will move in a direction indicated by arrow 1113 , while photosensor array 908 will move in an opposite direction indicated by arrow 1111 .
- lens 910 will move closer to markings 12 , but photosensor array 908 will move farther away.
- the focal plane associated with lens 910 will shift in an opposite direction away from surface 11 , so too will photosensor array 908 .
- the image projected by lens 910 remains substantially focused and thermally induced blurring is minimized.
- blurring due to decreases in temperature is compensated by movement of the lens and photosensor array in directions opposite to those described above.
- Barcode markings 12 constitute a series of variable width light and dark bands, and should preferably be illuminated with light having substantially uniform intensity over the exposure area of surface 11 . Otherwise, for example, a light band of barcode markings 12 may be insufficiently illuminated and erroneously sensed as a dark bank, while a dark band receiving too much light may be incorrectly sensed as a light band. Thus, neither LED 906 - 1 nor LED 906 - 2 should be substantially brighter (or darker) than the other. In addition, since LEDs 906 - 1 and 906 - 2 are turned intermittently on for brief periods of time, during which light reflected off the rod surface is sensed, each LED should typically turn-off at substantially the same time so that light is not further sensed after an illumination period. LEDs 906 - 1 and 906 - 2 are typically turned on one every 10 ms for a duration of 25 microseconds to thereby minimize blurring distortions due to rod movement.
- LEDs 906 - 1 and 906 - 2 should preferably receive the same amount of electrical current so that each has substantially the same luminosity.
- the LEDs cannot be simply connected in parallel because slight variations in external wiring or internal LED variations (a difference of potentially 10-fold per 60 mV difference in applied voltage minus series resistance voltage drop) can result in substantial differences in current flow and thus brightness.
- circuit 1200 is provided in accordance with an aspect of the present invention to supply substantially the same current to both LEDs 906 - 1 and 906 - 2 .
- Circuit 1200 may include bipolar transistors 1216 and 1218 , both coupled to a common terminal 1210 through corresponding resistors 1214 and 1212 through emitters 1226 and 1220 , respectively.
- Collectors 1224 and 1222 are respectively coupled to LEDs 906 - 1 and 906 - 2 , and bases 1228 and 1230 are tied to one another.
- the cathodes of LEDs 906 - 1 and 906 - 1 are connected in common to terminal 1238 .
- Terminal 1238 may be at ground potential, or any other suitable potential that is less than or more negative than the potential of terminal 1210 .
- the bias across terminals 1210 and 1238 is intermittently applied to pass a current through LEDs 906 - 1 and 906 - 2 .
- base 1228 is connected to emitter 1224 (though a resistor 1232 to be discussed in greater detail below).
- the potential at collector 1224 will similarly be 0.7 V below the emitter. Under such biasing conditions, transistor 1216 will not saturate.
- base 1230 may also be connected to collector 1222 to reduce the likelihood that transistor 1218 saturates, collectors 1222 and 1224 would be shorted in this instance, and provide a path through which current may be diverted from one LED to the other.
- Such current diversion and imbalance can take place when the series resistance, for example, of one device differs from the other, resulting in greater current flowing through the device having the least resistance.
- a Schottky diode 1232 may be connected across base 1230 and collector 1222 , as shown. Since the cathode of diode 1232 is coupled to collector 1224 , current flow from collector 1224 to collector 1222 is effectively blocked, and current is supplied, undiverted, to LED 906 - 1 . Moreover, the voltage drop associated with diode 1232 is about 300 mV. Thus, the potential at collector 1222 is ⁇ 0.7 V (the base to emitter potential difference) less ⁇ 0.3 V (the voltage drop associated with diode 1232 ), or ⁇ 0.4 V (all relative to emitter 1220 ), which biases transistor 1218 out of saturation, as well.
- circuit 1200 provides substantially balanced current flow between LEDs 906 - 1 and 906 - 2 because of the equality of the emitter resistors 1212 and 1214 and the exponential control of collector current by base-emitter voltage via the Ebers-Moll equation, and also facilitates uniform turn-off for both LEDs to realize accurate sensing of the barcode markings.
- Barcode 12 includes a plurality of markings 350 , which in this example include bands of various widths.
- the markings are grouped into marking subsets, three of which are shown as subsets 310 , 311 and 312 .
- Each marking subset corresponds to a particular rod location.
- subsets 310 - 312 correspond to rod locations 400 microns apart.
- a memory 19 in processor circuit 18 stores each barcode marking subset and corresponding rod position or location such that upon identifying a particular marking subset, the corresponding rod location can be readily identified.
- a capacity of the encoded information in barcode 12 is based upon a Shannon limit associated with the code information.
- Shannon's theorem defines an amount of information that can be carried through a channel given a particular amount of noise present in the channel.
- the Shannon limit capacity C in the formula below, is typically measured in bits per second, but in the context of the barcode of the present disclosure, C is indicative of bits per unit length of rod. For each channel with noise and non-infinite bandwidth, C is greater than or equal to the amount of information that can be communicated down the channel without errors. Moreover there is no smaller value than C with this property.
- N is the noise power
- S the signal power.
- the noise is white and Gaussian (i.e., the noise is Gaussian in that it is random but Gaussianly distributed about some mean value, and white in that noise associated with any one photosensor, for example, is not correlated to another photosensor and the distribution or variance in noise values for each photosensor is the same) and that both noise and signal are real.
- Equation A ⁇ - W W ⁇ log 2 ⁇ ⁇ ( 1 + S ⁇ ( f ) N ⁇ ( f ) ) ⁇ ⁇ d f
- the number of bits of information per meter of rod that can be sent through the channel with error probability approaching zero as code length increases to infinity cannot be greater than the capacity.
- the overall bandwidth (in this instance, the number of bits per mm) is 11.7 bits per mm, or about 93 bits total.
- the signal power is 1 ⁇ 4 of the noise power, so that an information carrying capacity of approximately 30 bits can be expected, minus a reduction for non-idealities not accounted for by the theoretical assumptions of Shannon's theorem.
- the sensed information is expected to be sufficient to resolve the rod's location to within roughly one millionth of the length of the rod (excluding the effect of the reduction)—to about 5 ⁇ m—which was measured, but at a signal-to-noise ratio of 4.7 dB because of the reduction.
- the basic form of Shannon's theorem assumes that the noise distribution for each frequency component in a channel is the same, or that the noise is “white.” Although surface noise of rod 10 , due to surface imperfections, is nearly white, light reflected off rod 10 is blurred by lenses 910 , and the surface noise is thus spectrally shaped in a further departure from the assumptions of Shannon's theorem discussed above. In order to improve channel capacity, however, the spectrum associated with the barcode is correspondingly shaped to include spatial frequencies in proportion to the extent to which they are not blocked by lens 910 , to thereby substantially conform to the spectrum of lens 910 .
- Information e.g., markings
- Information may be encoded more efficiently, however, if the spectrum associated with the information more closely matches the filtered spectrum.
- the spectrum associated with barcode 12 is shaped to correspond to the blurred surface noise spectrum of rod 10 , to thereby increase information capacity of the barcode.
- Spectrum 1700 which may be associated with lens 910 is shown in FIG. 17 .
- Spectrum 1700 is shown for illustrative purposes, and typically depends upon the structure and composition of lens 910 .
- the shape of spectrum 1700 is attributable to blurring caused by lens 910 .
- Spectrum 1800 shown in FIG. 18 represents a spatial frequency spectrum associated with a barcode consistent with an aspect of the present disclosure, but does not fully match the spectrum 1700 , and may result in less efficient reading of the barcode.
- FIG. 18 represents a spatial frequency spectrum associated with a barcode consistent with an aspect of the present disclosure, but does not fully match the spectrum 1700 , and may result in less efficient reading of the barcode.
- first frequency components e.g., frequency components at 1 ⁇ 10 4 cycles per meter
- second frequency components e.g., frequency components less than 5 ⁇ 10 3 cycles per meter
- a random number generator calculates series' of pseudo-random numbers, each term of each series corresponding to a short contiguous region of surface 11 of rod 10 .
- Each series is preferably weighted by a given factor, which can be determined empirically. Thus, one series of numbers corresponding to relatively large and widely spaced regions on the surface may be weighted more heavily than another series of number corresponding to smaller and more closely spaced regions.
- FIG. 4A is a flowchart illustrating steps which can be performed to generate a barcode consistent with an aspect of the disclosure
- FIGS. 4B-4F illustrate regions on rod surface 11 discussed in connection with FIG. 4A .
- the barcode constitutes a series of bands of various widths on surface 11 , typically marked with a laser.
- the bands are created by first generating a first weighted sequence of numbers (step 402 ).
- the numbers are preferably calculated with a Gaussian random number generator (although other random number generators may be used) and each is multiplied by a weight factor (1 in this example).
- Each term or number of the series of random numbers is associated with first regions 430 of surface 11 of rod 10 (see regions in FIG. 4B ). In this example, each region has a first width of 50 microns, for example.
- a second weighted sequence is obtained by multiplying a series of numbers calculated with a Gaussian random number generator, and multiplying the series with a second weight factor, e.g., 8 ⁇ square root over (2) ⁇ .
- Each weighted number is associated with second regions 432 in surface 11 , as shown in FIG. 4C .
- each second region 432 has a second width of 100 microns, for example, and overlaps each of first regions 430 .
- Third, fourth and fifth weighted number sequences can also be generated in a similar fashion in steps 406 , 408 and 410 , respectively.
- each number of the sequence is a product of a weight factor and a Gaussian random number generated term.
- the third, fourth and fifth weight factors are 8 ⁇ 2 , 1 2 , 1 2 , respectively in this example.
- Each term of the third sequence is associated with 100 micron regions or intervals 434 shifted by 50 microns relative to the second regions (see FIG. 4D ).
- each term of the fourth sequence is associated with regions 436 on surface 11 having a width of 200 microns ( FIG. 4E ), and each number of the fifth sequence is associated with 200 micron wide regions 438 shifted 100 microns relative to fourth regions 436 .
- step 412 the first through fifth sequences are added to one another to obtain a summed sequence, each term of which typically has either a positive or negative value and is associated with a particular 50 micron wide region, for example, of surface 11 .
- the positive terms are assigned a value of +1 (step 414 ), and the negative terms are assigned a value of 0 ( 416 ).
- step 418 the series of 1s and 0s associated with the summed sequence is used to drive a conventional laser for selectively marking (in steps 420 and 422 ) the 50 micron wide regions of outer surface 11 of rod 10 to thereby generate coded information.
- markings may be marked, preferably with a laser, on surface 11 , by scanning or moving rod 10 (step 420 ) past a laser which is selectively turned on in response to “0”s (step 422 ) to create “black” 50 micron wide regions in surface 11 , and off in response to “1”s to create “light” 50 micron wide regions (step 424 ) or markings.
- FIGS. 5A to 5 E illustrate an alternative method for generating a barcode in accordance with a further aspect of the present disclosure.
- the method shown in FIGS. 5A-5E is similar to that discussed above in regard to FIGS. 4A to 4 F, except the terms of each randomly generated number series are not multiplied by a weighting factor. In addition, only three series are added, instead of five as discussed above.
- each term of a series is calculated by a Gaussian random number generator and assigned a corresponding 50 micron wide region of surface 11 .
- Each square 510 in FIG. 5A (as well as FIGS. 5B, 5C and 6 A- 6 C) in a horizontal direction corresponds to a 50 micron region on rod surface 11 .
- each number or term is represented by a corresponding number of shaded squares.
- a second series of randomly generated numbers (calculated with a Gaussian random number generator) are assigned corresponding 100 micron wide regions in surface 11 , the magnitude of each number of the second series being represented by a corresponding number of shaded squares in the vertical direction.
- each term of a third sequence of numbers, generated with a Gaussian random number generator is associated with corresponding 200 micron wide regions on surface 11 . The sequences are then added, the sum of which is depicted by the bar chart 520 in FIG. 5D .
- FIGS. 6A to 6 C illustrate the first through third series of randomly generated numbers shown in FIGS. 5A to 5 C, but multiplied by first, second and third weighting factors, respectively.
- the first, second and third weighting factors equal 1, 4 and 1, respectively.
- the first through third weighted series are added in FIG. 6D to obtain bar chart 620 , and the resulting barcode 630 is shown in FIG. 6E based on assignment of 1s and 0s in a manner similar to that described above.
- markings 350 are divided into subsets, and each corresponds to a different position of rod 10 .
- a portion of surface 11 is exposed to light and a sense signal is generated in response to light reflected off that portion of surface 11 .
- a likely subset of markings corresponding to the sense signal is then identified and associated with a location of rod 10 .
- the sense signal In determining the likely subset of markings corresponding to the rod location, it is noted that the sense signal often does not precisely correspond to the markings in the exposed portion of surface 11 .
- Several sources of noise distort the light supplied to the barcode, as well as light reflected from the bar code, thereby affecting the sensed signal output from photosensors in sensor 16 .
- electronic noise noted above, originating in circuitry associated with the photosensors can further distort the sense signal. A more detailed discussion of noise sources will next be presented.
- Scale or markings 12 on surface 11 ideally constitute a square wave, but in practice are observed as a spatially filtered square wave due to the blurring distortion caused by the optics 910 and rod movement, as discussed above.
- the signal thus obtained is neither the original ideal square wave nor the blurred and filtered form of it. Rather, the sense signal is corrupted by electronic noise and surface noise.
- Electronic noise is associated with the photosensors in sensor 16 and associated circuitry.
- Various forms of electronic noise are known, including, among other sources of electronic noise, photon or shot noise, Johnson noise, and kT/C noise (the equivalent of Johnson noise for discharging capacitors).
- the noise sources are associated with the electronics, which is necessarily independent of any noise source associated with the light itself that is received by sensor 16 . Accordingly, if rod 10 remains stationary and a sequence of images (i.e., images of a group of markings 12 on surface 11 ) are collected by sensor 16 , the electronic noise associated with each image is essentially independent from image to image—and in particular different from image to image.
- Rod 10 is typically made of metal, often chrome or metal, and surface 11 may include a known thermally sprayed coating.
- Surface 11 includes a large number of tiny facets, which generate variations in the amount of illumination light reflected into the sensor circuit 16 . If rod 10 does not move and a sequence of images are collected, each image will be of the same portion of surface 11 , and thus the same imperfections will create the same amount of surface noise in each image. Accordingly, if multiple images are acquired, averaging such images may reduce electronic noise, but not surface noise, nor the desired signal, i.e., the reflected light representing the illuminated group of markings 12 .
- Relatively tall and thin pixels can be used to average surface noise.
- ⁇ the angle over which the barcode extends on surface 11 , so as to average the surface noise over a range of the rod's circumference
- Both approaches may be difficult to implement.
- lens 910 contains imperfections and thus causes some degree of blurring.
- Such blurring combined with the blurring caused by the motion of rod 10 acts as a spatial filter that modifies both received optical signals and surface noise.
- photosensor array 908 has sharp cutoffs at both ends, blurring can be represented mathematically by a linear filter matrix A, and each photosensor input can be treated as a component of a vector of optical signal values.
- Matrix A is not square, and therefore is also not invertible and will be discussed in greater detail below.
- FIG. 7 illustrates how various signals and noise sources present in system 100 interact with one another.
- the barcode or scale includes a plurality of markings 12 , each subset of which corresponds to a unique position.
- the ideal image x 706 is based on the particular position 704 of rod 10 defining one subset of markings of the overall scale 702 .
- x is a vector of approximately one hundred sixty 50 micron wide pixels on the surface 11 of rod 10 in front of sensor 16 .
- the ideal image is subject to gain stemming from the laser marking process, as well as from illumination from emitters 14 . Collectively, these two gains can be represented by a single gain parameter t that magnifies the optical signal (see boxes 708 and 710 ).
- movement of rod 10 or velocity can introduce blurring (box 720 ), which in combination with blurring associated with the optics (box 724 ), yields a total blurring represented by matrix A (box 726 ).
- observed signal y is a vector of signal pixel values (here, 86 ⁇ m pixels wide), typically having a vector length (i.e. dimensionality) which is different from that of x.
- Blurring distortion influences the optical signal reflected off markings 12 to produce a viewed signal (box 728 ), which is converted to an electrical sense or observed signal y (box 732 ), which is influenced by electronic noise n electronic (assumed to be Gaussian distributed with zero mean and associated covariance matrix U). As further discussed above, electronic noise influences the observed signal y (box 730 ).
- a corresponding value of x is determined.
- signal y may not correspond precisely to x, but is some corrupted version of it.
- a probabilistic approach based on Bayesian inference was adopted to determine a likely x corresponding to the sensed signal y (in a manner related to that which a probability is calculated that a number shown by a tossed dice, is divisible by 2, given that the number is also divisible by 3).
- the present disclosure overcomes conventional barcode position techniques, whereby a precise match between a sense signal and a barcode segment is required to determine a rod position.
- various sources of noise e.g., blurring due to rod movement, hydraulic fluid, rod imperfections, etc.
- probability preferably Bayesian probability, is used to determine a likely rod location corresponding to a sensed signal.
- a portion of rod 10 is exposed to light and a sense signal y is generated in response thereto (step 804 ).
- z) or posterior distribution of w given z is calculated (step 808 ) by processor 18 . As discussed in greater detail below, based on at least some of these probability values, a subset of markings 12 is identified and associated with a corresponding rod location.
- probability values includes multiples of probability values that may or may not exceed 1, as well as values which are substantially equal to such multiples.
- the determination can be made by comparing the sum or probability value with the predetermined probability threshold.
- the predetermined probability threshold is 0.99 and the range of permissible error is assumed to ⁇ 50 microns equal to the rod pixel width.
- the rod pixel width is the highest common factor of the set of distances between each bar edge and the first bar edge on the scale (alternatively, the rod pixel width may be taken to be a sub-multiple of the highest common factor, if finer resolution is required; in the preferred embodiment of the present disclosure resolution of 1-2 microns can be achieved).
- Processor 18 will sum triplets (each of which being a subset of the plurality of probability values) of consecutive probability values until a sum is obtained that exceeds the predetermined probability threshold.
- the sum of values 1510 , 1520 and 1530 may first be determined to be 0.003, well below the predetermined threshold value of 0.99.
- An adjacent triplet of values, 1520 , 1530 and 1540 may then be added to obtain a sum of 0.013, also below the predetermined threshold.
- the probability values will continue to be added in threes until a sum is obtained that exceeds the predetermined threshold value.
- the sum of the set of values 1540 , 1550 and 1560 is 0.991, which exceeds the predetermined threshold value of 0.99.
- middle value 1550 within the set will be identified, as well as the location of the rod associated with the marking subset corresponding to value 1550 Also, the rod location within the set will be reported by processor 18 to be within a range of permissible error of ⁇ 50 microns.
- the desired range of permissible error was set to be ⁇ 50 microns.
- any suitable range of permissible error can be selected, but with a corresponding change in the number of consecutive probability values to be summed.
- the range of permissible error was instead set to ⁇ 100 microns, then consecutive probability values would be added in groups of five until a sum is obtained that exceeds the predetermined threshold.
- the reported probability value is the one located in the middle of the set of five values that yield the qualifying sum, which, in the example shown in FIG. 15 , is value 1550 .
- marking subsets corresponding to values 1540 , 1550 , and 1560 are identified (step 812 ), and the identified marking subsets are associated with rod locations (step 814 ) by processor 18 , typically with a look up table 19 (see FIG. 1 ).
- the rod location will be identified as the location that is in the middle of the triplet set, or the marking subset corresponding to probability value 1550 .
- processor 18 typically sums triplets of consecutive probability values, as discussed above, and reports the middle value of the triplet.
- the following consecutive probability values are obtained, in order, 0.8, 0.01 and 0.1, the sum of which being 0.991.
- the middle value of the triplet namely 0.01 will be reported, even though its value is less than the other two.
- the marking subset associated with that probability value is identified, as well as a corresponding rod location.
- the rod is exposed again (step 802 ) and remaining steps 804 , 808 , 810 , 812 and 814 are repeated to ascertain a new rod location.
- a “bad” result is obtained and no rod locations are reported.
- the rod is then exposed again (step 802 ).
- a wider range of probable rod locations may be reported. For example, as noted above, if the sum of five adjacent probability values exceeds the predetermined probability threshold, processor 18 may report a rod location within a 200 microns range ( ⁇ 100 microns) of possible rod locations.
- the value of s can potentially vary over several orders of magnitude, and there is no particular reason to favor one decade over another, and logs is assumed to be uniformly distributed over some suitably large range centered on zero (here “suitably large” means so large that making it larger won't make any practical difference to the results). If logs is uniformly distributed over a large range, then so is log ⁇ (albeit over a different large range).
- Optical signal gain t behaves differently than s.
- t should be as large as possible so that the received optical signal has a large magnitude.
- t is not expected to be near zero.
- the optical signal could have a relatively small magnitude under some circumstances.
- the “prior” on t is set to be uniform over some suitably large range starting at zero (i.e. excluding negative values). Keeping t uniform is a good approximation and simplifies the derivation of P(w
- the surface noise gain ⁇ is applied to the electronic noise as well, rather than using two separate gain variables, one for each noise source. This is a reasonable approximation so long as values of V and U are chosen such that, as ⁇ varies, the proportion of electronic noise remains relatively small compared with the surface noise.
- z) can be derived in accordance with Bayesian inference.
- AVA′+U has an inverse which has a positive definite and symmetric square root, so matrix B can be defined as: B ⁇ ( AVA ′ + U ) - 1 2
- n B(An rod +n electronic ). But by virtue of the construction of B, n has covariance matrix equal to the identity (since surface and electronic noise are independent).
- w , t , s ) s N / 2 ⁇ ( 2 ⁇ ⁇ ) - N / 2 ⁇ e - 1 2 ⁇ ( z - tw ) ′ ⁇ s ⁇ ( z - tw )
- a,b,c are calculated as above (a and b being calculated for each w, but since a does not depend on z all the necessary values of a can be calculated once and for all when the first rod location is calculated), and hence ⁇ is can be obtained for each w. All that then remains is to look up the value of ⁇ - ⁇ / 2 ⁇ / 2 - ⁇ ⁇ cos N - 2 ⁇ ⁇ ⁇ ⁇ d ⁇ in a table, as will now be described.
- a likely w having a higher probability value than other w's can be obtained.
- w is related to x, so once a likely w is identified, so is a likely x. Since each x is a subset of markings 12 corresponding to a unique position of rod 10 , the most probable x identifies a particular location which is the most likely position of rod 10 , and a suitable (Bayesian) confidence interval on the position of rod 10 is obtained.
- Processor 18 can be configured to store previous rod positions in memory 19 , so that likely values of (i.e., confidence intervals on) velocity, acceleration, and jerk can be obtained. That information, in turn, can be used to set a “prior” on w for the next position measurement, to thereby limit the range of w's for which P(w
- rod 10 can be located in any position, as well as any velocity and acceleration within the limits of system 100 .
- z) is calculated for each possible w (and thus for each possible rod position). Since each w has a corresponding rod position, P(w
- z) need only be made over a limited range of rod positions.
- further rod positions can be readily determined based on previous calculations.
- a method for calculating the initial location of rod 10 more quickly.
- a portion of rod surface 11 is exposed (step 1610 ) and a sense signal is generated in response to light reflected from rod 10 (step 1620 ) in a manner similar to that described above.
- a position of rod 10 has been previously determined, a set of rod positions can be assumed to be “Possible” within an acceptable distance about the last measured location (step 1622 ). For example, if rod 10 is in a fully extended position, the next immediate location will not likely be one in which the rod is fully retracted into cylinder 230 . Accordingly, locations associated with the retracted position may not be deemed “Possible”, while others closer to the fully extended position will be considered “Possible.” Alternatively, if in a start-up mode, step 1622 may be omitted.
- processor 18 sets a data acceptance filter (data filtering instructions carried out by processor 18 ) to its most rejecting setting to thereby subject higher or first frequency components of the sensed signal to a first or relatively high deemphasis.
- processor 18 in accordance with the data acceptance filtering software or code, obtains data based on low or second frequency components of the sensed signal, which are less likely to change over a given portion of rod surface 11 , and are thus indicative of the probability values over a particular region of surface 11 . Accordingly, although the rod location might not be identified at this stage, one or more relatively broad regions (albeit not contiguous regions) of rod surface 11 may be identified as likely areas in which the rod location is likely to be found.
- a first spatial increment or distance is typically set to its largest value, for example, sixteen times the rod pixel width.
- probability values are determined corresponding to rod locations separated from each other by the spatial increment along the entire length of the rod. If a set of Possible positions is available after step 1622 , probability values P(w
- step 1670 in the first iteration of the process shown in FIG. 16 , set of probability values defining regions in surface 11 are obtained where the rod location is likely to be found. In addition, all other locations lying outside these regions, which may or may not be contiguous, are not considered further.
- the data acceptance filter software is set to a more accepting setting (step 1680 ), whereby the frequency components of the sensed signal are subject to a second deemphasis less than the first (step 1624 ).
- step 1680 the frequency components of the sensed signal are subject to a second deemphasis less than the first
- probability values are determined at smaller spatial increments (i.e., second distances less than the first distances) within these regions (step 1690 ), and the current predetermined threshold is reduced (step 1695 ).
- step 1695 The rationale for including step 1695 will now be explained.
- steps 1630 , 1640 , 1660 , 1670 , 1680 , 1690 and 1695 some additional locations are identified as “Not Possible”. It is desired that the total probability associated with the totality of these locations so identified not exceed (one minus the predetermined threshold). A number of possible approaches to achieving this are conceivable.
- the actual rod location can be said to lie within the areas of the rod as defined by the rod locations associated with the summed probability values. Accordingly, for example, if the current predetermined threshold is 0.99, the rod location may be said to be within particular regions on the surface 11 with a 0.99 probability. However, there is a probability of 0.01 that the rod location lies outside these regions. If steps 1630 to 1680 are repeated with a reduced increment, then more narrow regions on surface 11 will be identified as likely to include the rod location, but also there will be additional areas that will not be considered further. Thus, the probability that the rod location lies in one of these non-considered areas increases because the number of these areas increases with each iteration. Thus, step 1695 is provided to adjust the current predetermined threshold according to the adopted sequence of values p k , from p k to p k+1 .
- step 1630 is repeated over the narrower regions discussed above and at smaller increments so that a smaller number of probability values is then calculated followed by remaining steps shown in FIG. 16 .
- This smaller set corresponds to a smaller set of possible rod locations within the range of possible rod locations calculated above, and a group of possible marking subsets based upon the further set of probability values is identified.
- Steps 1630 , 1640 , 1660 , 1670 , 1680 , 1690 and 1695 are repeated until all frequency components of the sensed signal are considered, and the increment is set to the narrowest desired value, in this example, the pixel width.
- processor 18 performs step 810 (see FIG. 8 ) and the sum of remaining probability values after the repeated iterations is obtained and a determination is made as to whether the sum exceeds the desired predetermined probability threshold (now the reduced current predetermined threshold). If so, a corresponding marking subset is obtained (step 812 ), which is then associated with a rod location (step 814 ), as discussed above. If not, a bad reading is reported and no information is available to restrict the range for the next reading beyond what may already be inferable from preceding measurements, if any.
- w x denotes the w vector corresponding to position x on the rod. Note that it is not feasible to store all the w x , however, it is possible to store all the w x ′w x values.
- matrix G represent a low-pass filtering matrix operating on R N and yielding results in R M for some M ⁇ N, and with the property that GG′ is an identity matrix on R M (e.g. the matrix that first applies a top-hat filter and then downsamples by the corresponding factor).
- GG′ is an identity matrix on R M (e.g. the matrix that first applies a top-hat filter and then downsamples by the corresponding factor).
- x is calculated instead based on only part of the data, specifically on Gz.
- Gw x is first precalculated for each x ⁇ X, and likewise Gz is precalculated.
- the disclosed embodiments have been described in connection with a rod used in a hydraulic or pneumatic cylinder, the present disclosure can be used to identify the location of other actuated movable members.
- the disclosure can be used in connection with robotic applications.
- the identified rod location can be reported visually to a user on a display in user interface 22 .
- a user may input commands to control the rod 10 .
- processor 18 may provide control signals to mechanical control 20 to actuate rod 10 and a work tool attached thereto in a desired manner.
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Electromagnetism (AREA)
- Business, Economics & Management (AREA)
- Artificial Intelligence (AREA)
- Toxicology (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Monitoring And Testing Of Nuclear Reactors (AREA)
Abstract
A barcode reader and processing circuitry are disclosed for identifying a position of a cylinder rod, for example, along a path of movement. The barcode is marked on a surface of the rod and constitutes a series of markings extending along a portion of the length of the rod. The markings represent encoded information based on numbers calculated with a random number generator, and are grouped into subsets, each of which corresponds to a particular rod position. A portion of the rod including a subset of barcode markings is exposed to light emitted from the reader. Light reflected off the barcode is sensed with an array of photosensors provided in the reader. The photosensors generate electrical signals, and using Bayesian probability, a likely subset of markings is determined corresponding to the received electrical signals. Once identified, the markings subset is associated with a location corresponding to the position of the rod. A barcode reader is also described that is relatively easy to assemble and provides uniform illumination of the barcode.
Description
- The present disclosure is directed generally to a system and related method for determining a location of a movable member, and more particularly, to determining the linear position of a movable member.
- Many construction and earthmoving machines use a hydraulic or pneumatic cylinder for moving a work tool such as a bucket of a wheel loader or excavator. The cylinder includes a rod coupled to the work tool, at one end, and a chamber at the other. Hydraulic fluid is provided in the chamber to extend the rod along a linear path, typically extending several meters. The fluid can also be removed from the chamber to retract the rod along the same path. Often the rod location or position along the linear path must be known so that movement of the work tool can be controlled.
- Barcodes have been marked on cylinder rods in order to locate the position of the rod. In particular, the rod may be marked with a barcode including non-repeating segments of code, each of which correspond to a different location of the rod. In operation, a sensor is provided in the cylinder adjacent the barcode to identify a particular segment, which is then associated with a corresponding rod location.
- In order to locate a rod position with sufficient resolution, a relatively large number of code permutations are often provided over a substantial length of the rod. Such complex markings, however, typically require a relatively large amount of processing power to decode. Although processing power may be reduced with a less complex code, such simpler codes have a limited number of permutations and thus can only be used to determine rod location over a limited range of distances. Otherwise, the code repeats itself and would yield multiple locations for the same code segment.
- U.S. Pat. No. 6,556,946 issued to Sewell on Apr. 29, 2003, describes a barcode utilizing a trinary code including a succession of data fields, each of which includes so-called “trits” or characters. Data is encoded by varying the relative amounts of black and white in each character. The barcode described in the Sewell patent facilitates accurate location measurements over a range of rod positions.
- In Sewell, the barcode is exposed to either ambient light or light from an optical source. Light reflected off the barcode is detected by a sensor. Data present in the sensor output is read and the rod location is determined based on the data. In order to accurately sense the barcode described in Sewell, however, signals generated by the sensor should be relatively free of noise. Various non-idealities in the optics and electronics for sensing the barcode, however, as well as imperfections in the rod itself (e.g., spurious reflections on the rod surface and excess hydraulic fluid) can introduce noise into the sensor output signal. Often, the amount of noise can be substantial, and the rod location difficult to determine. Accordingly a more robust barcode, which is less susceptible to noise, is required to accurately identify rod positions.
- In one aspect, the present disclosure is directed toward a method for encoding position information on a movable object, which includes a surface and a longitudinal axis. The method includes a step of determining an information carrying capacity of the movable object based upon a Shannon limit associated with a spatial bandwidth and an observable portion. In a further step, coded information indicative of a position of the movable object is generated. In an additional step, a plurality of markings are provided which extend axially on a portion of the surface of the rod in accordance with the coded information and the determined information carrying capacity. Consistent with a further aspect of the disclosure, a method is also provided for encoding position information on a movable object. The movable object includes a surface and a longitudinal axis. The method includes steps of generating coded information indicative of a position of the movable object, and providing a plurality of markings extending axially on a portion of the surface of the movable object in accordance with the coded information. The plurality of markings have an associated spectrum. The spectrum has first frequency components and second frequency components, and the providing step further includes a step of deemphasizing the first frequency components relative to the second frequency components.
- In accordance with an additional aspect of the disclosure, a location monitoring system is provided which includes a movable member, reader circuit and processor circuit. The movable member is movable along a path, and has a surface with a plurality of markings disposed thereon. The reader circuit is configured to expose a part of the surface of the movable member, and generate a sense signal in response to a portion of the light emanating from the exposed part of the surface. The exposed part of the surface includes a subset of the plurality of markings.
- The processor circuit is configured to receive the sense signal, and determine a plurality of probability values associated with the sense signal. Each of the plurality of probability values is associated with a corresponding subset of the plurality of markings. The processor identifies the subset of the plurality of markings included in the part of the surface based upon at least some of the plurality of probability values, and identifies a position of the movable member along the path corresponding to the identified subset of the plurality of markings.
- In accordance with a further aspect of the disclosure, a location monitoring system is provided which includes a movable member, reader circuit and processor circuit. The movable member is movable along a path, and has a surface, and a plurality of markings disposed thereon. The movable member is locatable at a plurality of positions along the path. The reader circuit is configured to expose a part of the surface of the movable member, and is configured is to generate a sense signal in response to light emanating from the exposed part of the surface of the movable member.
- The processor circuit is configured to receive the sense signal, and determine a plurality of first probability values associated with the sense signal. Each of the plurality of first probability values being associated with first locations on the surface, and each of the first locations being spaced from one another by a first distance. The processor circuit selects groupings of the plurality of first probability values, a sum of which exceeding a first predetermined threshold. The processor circuit further being configured to determine a plurality of second probability values, each of which being associated with second locations on the surface. Each of the second locations being spaced from one another by a second distance less than the first distance, and each of the second locations lying within regions of the surface defined by the selected groupings.
- In accordance with an additional aspect of the disclosure, an apparatus is provided for reading an image provided on a surface. The apparatus comprises a photosensor and a lens. The lens is configured to receive light from the image and direct the light to the photosensor. The lens and photosensor are attached to a carrier. A housing is also provided having an external surface and an internal surface. The external surface has a first reference portion and the internal surface has a second reference portion, which is aligned with the first reference portion. The carrier is attached to the second reference portion such that upon the first reference portion being positioned at a predetermined distance away from the image, light is substantially focused onto the photosensor.
- Consistent with a further aspect of the invention, an optical device is provided including a housing having an opening. A plurality of optical emitters are provided in the housing which are configured to output light through the opening. A circuit is also included to supply substantially the same electrical current to each optical emitter. In addition, a plurality of photosensors are provided in the housing for receiving a portion of the light reflected off a surface external to the housing.
- The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate several embodiments of the invention and together with the description, serve to explain the principles of the invention.
-
FIG. 1 illustrates a block diagram of a system for identifying a rod location consistent with an aspect of the present disclosure; -
FIG. 2 illustrates a perspective view of a barcode provided on a rod in accordance with a further aspect of the present disclosure; -
FIG. 3 illustrates an exemplary barcode consistent with an additional aspect of the present disclosure; -
FIG. 4A illustrates a flow chart of a method for generating a barcode in accordance with a further aspect of the present disclosure; -
FIGS. 4B-4F illustrate regions of a rod surface discussed in connection withFIG. 4A ; -
FIGS. 5A-5E illustrate results of intermediate steps of an alternative method for generating a barcode in accordance with a further aspect of the disclosure; -
FIGS. 6A-6E illustrate results of intermediate steps of an additional method for generating a barcode consistent with an aspect of the disclosure; -
FIG. 7 is a block diagram illustrating interaction of various noise parameters affecting the quality of signals in the system shown inFIG. 1 ; -
FIG. 8 illustrates a method of determining rod location in accordance with a further aspect of the disclosure; -
FIG. 9 illustrates a perspective view of a cross-section of a reader consistent with another aspect of the present disclosure; -
FIG. 10 illustrates an alternative cross-sectional view of the sensor consistent with the disclosure; -
FIG. 11 is a diagram of the reader highlighting additional features in accordance with a further aspect of the present disclosure; and -
FIG. 12 illustrates a circuit for supplying current to barcode illuminating optical emitters in accordance with an additional aspect of the disclosure. -
FIG. 13 illustrates an exemplary plot of a white noise signal; -
FIG. 14 illustrates an exemplary plot of noise signal having filtered or deemphasized high frequency components; -
FIG. 15 illustrates a plot of exemplary probability values; -
FIG. 16 illustrates an alternative method of determining rod location in accordance with a further aspect of the disclosure; -
FIG. 17 illustrates an exemplary spatial frequency spectrum, which may be associated with optical components, such aslens 910 shown inFIG. 9 ; -
FIG. 18 illustrates an exemplary spatial frequency spectrum of a barcode in accordance with an aspect of the present disclosure; and -
FIG. 19 illustrates an exemplary spatial frequency spectrum of a barcode in accordance with a further aspect of the present disclosure. - Reference will now be made in detail to exemplary embodiments of the invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts.
-
FIG. 1 illustrates a block diagram ofsystem 100 for monitoring a position and controlling movement of movable member, object orrod 10.Rod 10 typically includes a conventional thermally sprayedouter surface 11 and alongitudinal axis 24. A plurality ofmarkings 12 constituting a barcode are provided onouter surface 11, typically with a high intensity laser that selectively exposes portions ofsurface 11.Markings 12 represent binary coded information in the sense that the marks by being dark or light represent 0s or 1s (but this should not be confused with information about the position of the rod which is a more diffuse quantity).Reader circuit 26 includes one or moreoptical emitters 14, such as light emitting diodes (LEDs), that expose a portion of theouter surface 11 including a subset of markings to light typically at infrared frequencies, although other frequencies of light may be used as well. Light is reflected off or emanates from the exposed portion ofouter surface 11 and is sensed bysensor 16, typically including an array of photosensors. Alternatively, markings may be provided on an internal surface ofrod 10, and exposed from within. In that case, the rod may be transparent, and photosensors provided external to the rod would sense light passing through a portion of the internal surface of the rod instead of being reflected from it. The markings may also be observed from inside such a rod. In addition,rod 10 may be exposed with ambient light, if such light is of sufficient intensity. - Collectively, the photosensors (discussed in greater detail below) output a sense signal. Moreover, each photosensor, representing a pixel of a sensed barcode image, may have a viewing length of, for example, 63.5 microns, and since 128 such photosensors are typically provided in a linear array, an 8.1 mm section of
outer surface 11 is typically sensed, although other lengths and other view pixel lengths are contemplated by the present disclosure. - In response to the received light,
sensors 16 output electrical signals toprocessor circuit 18, which may be a conventional microprocessor, computer, or digital signal processor and associated circuitry.Processor circuit 18, in turn, determines a position ofrod 10 and information concerning the position is optionally displayed on auser interface device 22 including, for example, a display or monitor. In addition, a keyboard or other data entry device may be provided, and in response to commands input to theprocessor circuit 18 and the identified position,processor circuit 18 supplies control signals tomechanical control circuit 20, to thereby move or change the location ofrod 10. - Consistent with an aspect of the disclosure,
processor 18 executes instructions for carrying out or performing a method of identifying a location ofrod 10, such as the method described below in connection withFIG. 8 or the method discussed below in connection withFIG. 16 . Such instructions may be read into a computer readable medium, such asmemory 19 incorporated into or provided external toprocessor 18. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the invention. Thus, embodiments of the invention are not limited to any specific combination of hardware circuitry and software. - The term “computer-readable medium” as used herein refers to any medium or combination of media that participates in providing instructions to
processor 18 for execution. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical or magnetic disks. Volatile media includes dynamic memory. Transmission media includes coaxial cables, copper wire and fiber optics, and can also take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications. - Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, any other optical medium, punchcards, papertape, any other physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer or
processor 18 can read. -
FIG. 2 illustratesrod 10 disposed in acylinder body 220. Collectively,rod 10 andcylinder body 220 constitute acylinder 230, which can be any one of a wide variety of hydraulic, pneumatic and similarly actuated cylinders.Cylinder 230 is operable to extendrod 10 from, and retractrod 16 into,cylinder body 220 typically along a linear path of movement represented byarrow 240.Path 240 typically extends axially with respect to alongitudinal axis 24. Optionally,reader circuit 26 may be provided incylinder body 220. - In the embodiment shown in
FIG. 2 ,rod 10 is movable whilecylinder body 220 is stationary. The present disclosure, however, is applicable to other rod and cylinder body configurations whereby the rod is stationary and the cylinder body is movable, as well as configurations in which both the rod and cylinder body are movable. As used herein, the term “movable” refers to actual movement of the rod, member or object, as well as relative movement in configurations in which the rod, member or object is stationary but the reader circuit is movable, and configurations in which both the rod, member or object and the reader circuit are movable. -
Markings 12 may include endpoints respectively provided adjacent corresponding ends ofrod 10. For example, markingendpoint 250 is provided adjacent one end ofrod 10, and another marking endpoint is located withincylinder body 220 adjacent the other end ofrod 10, which, in the position shown inFIG. 2 , isadjacent reader circuit 26. -
Reader 26 will next be described with reference toFIGS. 9-12 .FIG. 9 illustrates a cross-sectional perspective view ofreader 26 including ahousing 902 enclosing at least one optical emitter, e.g., light emitting diodes, LEDs 906-1 and 906-2 and an array ofphotosensors 908, including, for example, a linear array of CMOS photosensors.Sensors 908 and LEDs 906-1 and 906-2 are disposed on acarrier 904, which in a preferred configuration may include a circuit board upon which are mounted the local electronic components necessary for the operation of the sensor. Light emitted by LEDs 906-1 and 906-2 (represented by region 917) passes throughcylindrical lens 912 anddiffuser 914 and out throughopening 916. Light reflected off a portion of barcode markings 12 (also represented by region 917) also passes throughopening 916, and is collected by thelens 910 which forms an image of the barcode in the plane of thephotosensors 908. In a preferred configuration, thelens 910 may include an array of graded index lenses known as a Selfoc Lens Array (SLA). Theopening 916 may be closed by a planar transparentoptical window 918 to provide protection for the sensor components.Circuitry 901 associated withCMOS sensors 908 receives outputs from the sensors and generates sense signals that are fed toprocessor 18. Optionally,sensor 908 may include 128 pixels on an 63.5 micron pitch, each pixel being 63.5×55.5 microns in size. Preferably, LEDs 906-1 and 906-2,photosensors 908 are formed integrally withcarrier 904. -
FIG. 10 illustrates a cross-sectional view ofreader 26 when provided onrod 10. In particular, acasing 1002 is provided onrod 10 to holdreader 26.Casing 1002 has a predetermined thickness such that when the reader 26 (manufactured in accordance with the procedure described below) is mounted thereon,LEDs 906, photosensor andcircuitry 901/908,lenses diffuser 914 are provided at a desired distance fromsurface 11 ofrod 10 to facilitate accurate illumination, focusing and sensing of optical signals reflected offbarcode markings 12 without the need for adjustment. -
FIG. 11 shows a diagram ofreader 26 in which various components shown inFIGS. 9 and 10 have been omitted for clarity andhousing 902 has been redrawn to highlight a further aspect of the present disclosure. The features to be described with reference toFIG. 11 facilitate simple and precise assembly of the optical components contained therein to assure thatbarcode markings 12 are adequately exposed, and light reflected off the barcode is properly focused and sensed. - As further shown in
FIG. 11 ,housing 902 includes anouter surface 1125 andinner surface 1119.Outer surface 1125 has areference portion 1102 disposed on aportion 1160 of thecasing 1002, a known distance from the scale ormarkings 12 onsurface 11 of therod 10. The inner surface has areference portion 1104. Anoptical carrier 1130 is positioned by locating itsreference surface 11 05 against the housinginternal reference surface 1104. The sensor components: (LEDs) 906-1, 906-2,CMOS sensors 901/908 (where these latter components may themselves be mounted on a sub-carrier circuit board described previously)illumination lens 912,diffuser 914,imaging lens 910 are mounted on theoptical carrier 1130. The following mechanical reference chain relates the position of these components to that of the rod and hence the bar code (scale) to be measured: 1105 (optical carrier reference surface) to 1104 (sensor housing internal reference) to 1102 (sensor housing external reference) to 1160 (casing reference) to 12 (rod surface plus scale). This enables the sensor component (906-1, 906-2, 912, 914, 910, 901) to be located against appropriately positioned mechanical references machined oncarrier 1130 such that they are optimally positioned to illuminate the bar code (scale) (using 906-1, 906-2, 912, 914) and to form an image of the illuminated scale in the plane at the CMOS detector array (901, 908) using thelenses 910. This enables the sensor to be assembled using a simple process of mechanical component location and installation on thecasing 1002. As a result,markings 12 are optimally illuminated and imaged without the need for either external or internal adjustment. - Moreover,
internal reference portion 1104 andexternal reference portion 1102 are aligned alongreference line 1106, such thatphotosensor array 908 is provided aboveline 1106 in the drawing andlens 910 is provided below.Housing 902 is typically clamped tocasing 1002 so that if the temperature inhousing 902 increases,lens 910 will move in a direction indicated byarrow 1113, whilephotosensor array 908 will move in an opposite direction indicated byarrow 1111. As a result, at relatively high temperatures,lens 910 will move closer tomarkings 12, butphotosensor array 908 will move farther away. Although the focal plane associated withlens 910 will shift in an opposite direction away fromsurface 11, so too will photosensorarray 908. Thus, the image projected bylens 910 remains substantially focused and thermally induced blurring is minimized. In a similar fashion, blurring due to decreases in temperature is compensated by movement of the lens and photosensor array in directions opposite to those described above. -
Barcode markings 12 constitute a series of variable width light and dark bands, and should preferably be illuminated with light having substantially uniform intensity over the exposure area ofsurface 11. Otherwise, for example, a light band ofbarcode markings 12 may be insufficiently illuminated and erroneously sensed as a dark bank, while a dark band receiving too much light may be incorrectly sensed as a light band. Thus, neither LED 906-1 nor LED 906-2 should be substantially brighter (or darker) than the other. In addition, since LEDs 906-1 and 906-2 are turned intermittently on for brief periods of time, during which light reflected off the rod surface is sensed, each LED should typically turn-off at substantially the same time so that light is not further sensed after an illumination period. LEDs 906-1 and 906-2 are typically turned on one every 10 ms for a duration of 25 microseconds to thereby minimize blurring distortions due to rod movement. - LEDs 906-1 and 906-2 should preferably receive the same amount of electrical current so that each has substantially the same luminosity. The LEDs, however, cannot be simply connected in parallel because slight variations in external wiring or internal LED variations (a difference of potentially 10-fold per 60 mV difference in applied voltage minus series resistance voltage drop) can result in substantial differences in current flow and thus brightness.
- As shown in
FIG. 12 ,circuit 1200 is provided in accordance with an aspect of the present invention to supply substantially the same current to both LEDs 906-1 and 906-2.Circuit 1200 may includebipolar transistors common terminal 1210 through correspondingresistors emitters Collectors bases terminals -
Bases transistors transistors 1216 and/or 1218 can “saturate”, whereby LEDs 906-1 and 906-2 cannot sink sufficient collector current, and charge builds-up inbases 1228 and/or 1230 oftransistor transistors - As further shown in
FIG. 12 , however,base 1228 is connected to emitter 1224 (though aresistor 1232 to be discussed in greater detail below). As a result, sincebase 1228 is 0.7 V below emitter 1226 (because the emitter-base junction is always forward biased during operation), the potential atcollector 1224 will similarly be 0.7 V below the emitter. Under such biasing conditions,transistor 1216 will not saturate. - Although base 1230 may also be connected to
collector 1222 to reduce the likelihood thattransistor 1218 saturates,collectors - To assure more balanced current flow, a
Schottky diode 1232 may be connected acrossbase 1230 andcollector 1222, as shown. Since the cathode ofdiode 1232 is coupled tocollector 1224, current flow fromcollector 1224 tocollector 1222 is effectively blocked, and current is supplied, undiverted, to LED 906-1. Moreover, the voltage drop associated withdiode 1232 is about 300 mV. Thus, the potential atcollector 1222 is −0.7 V (the base to emitter potential difference) less −0.3 V (the voltage drop associated with diode 1232), or −0.4 V (all relative to emitter 1220), whichbiases transistor 1218 out of saturation, as well. - However, if a potential difference greater than or equal to 0.3 V is applied across the anode and cathode of
diode 1232,diode 1232 will typically conduct. Accordingly, variations in series resistance in LEDs 906-1 and 906-2 can renderdiode 1232 conductive so that current flow may be diverted fromcollector 1222 throughdiode 1232, and through LED 906-1, even thoughdiode 1232 can block current diversion fromcollector 1224 tocollector 1222. - Although diverted current through LED 906-1 may be difficult to eliminate entirely, such current can be reduced by connecting
resistor 1291 between thecollector 1224 and the common connection betweenbases diode 1232.Resistor 1291 may have a resistance of 20 ohms, which is typically sufficient to increase the resistance of diverted current path through LED 906-1 so that most current flowing fromcollector 1222 flows undiverted through LED 906-2. - Thus,
circuit 1200 provides substantially balanced current flow between LEDs 906-1 and 906-2 because of the equality of theemitter resistors - Returning to
FIGS. 9 and 10 ,photosensor array 908 is typically supplied with a clock signal to sequentially read each pixel of the array. The outputs fromphotosensor array 908 are fed toprocessor circuit 18 for determining rod location, as further discussed below. - Turning to
FIG. 3 , a portion ofbarcode markings 12 is shown in greater detail.Barcode 12 includes a plurality ofmarkings 350, which in this example include bands of various widths. The markings are grouped into marking subsets, three of which are shown assubsets memory 19 inprocessor circuit 18 stores each barcode marking subset and corresponding rod position or location such that upon identifying a particular marking subset, the corresponding rod location can be readily identified. - A capacity of the encoded information in
barcode 12 is based upon a Shannon limit associated with the code information. As generally understood, Shannon's theorem defines an amount of information that can be carried through a channel given a particular amount of noise present in the channel. The Shannon limit capacity C, in the formula below, is typically measured in bits per second, but in the context of the barcode of the present disclosure, C is indicative of bits per unit length of rod. For each channel with noise and non-infinite bandwidth, C is greater than or equal to the amount of information that can be communicated down the channel without errors. Moreover there is no smaller value than C with this property. - Generally, signals can be represented by a wave, e.g. a square wave, which is a superposition of multiple sinusoids, each having a particular wavelength and frequency. The collection of frequencies constitutes a bandwidth or spectrum. Here, if the channel carries a range of such frequencies and has an associated bandwidth W Hz (including both positive and negative frequencies) (meaning that it has unity gain for frequencies inside ±W and zero gain outside that range), and the channel is real rather than complex, then the channel capacity is given by
- where N is the noise power, and S the signal power. This version of the theorem assumes that the noise is white and Gaussian (i.e., the noise is Gaussian in that it is random but Gaussianly distributed about some mean value, and white in that noise associated with any one photosensor, for example, is not correlated to another photosensor and the distribution or variance in noise values for each photosensor is the same) and that both noise and signal are real.
- If the signal to noise ratio is not constant across the bandwidth, the theorem is modified to read (hereinafter “Equation A”)
- for a real channel.
- Accordingly, the number of bits of information per meter of rod that can be sent through the channel with error probability approaching zero as code length increases to infinity cannot be greater than the capacity.
- In the barcode consistent with the present disclosure, the signal-to-noise ratio is not-constant across the bandwidth. Moreover, the code length cannot be infinite; the reader typically senses portions of the rod only a few mm in length. In addition, the information encoded in the barcode is binary and thus constitutes a series of 1s and 0s, rather than arbitrary values in between. As noted above, in the example disclosed herein, the width of each rod pixel is 50 μm and a view width or an observable portion of
surface 11 of the reader is about 8 mm which yields 160 transmitted bits per view, which is believed to be sufficiently long enough for Shannon's limit to apply. - In the exemplary embodiment described herein, the overall bandwidth (in this instance, the number of bits per mm) is 11.7 bits per mm, or about 93 bits total. Based on the above formulas and with a noise level corresponding to a received optical signal to noise ratio of −6 dB, the signal power is ¼ of the noise power, so that an information carrying capacity of approximately 30 bits can be expected, minus a reduction for non-idealities not accounted for by the theoretical assumptions of Shannon's theorem. The sensed information is expected to be sufficient to resolve the rod's location to within roughly one millionth of the length of the rod (excluding the effect of the reduction)—to about 5 μm—which was measured, but at a signal-to-noise ratio of 4.7 dB because of the reduction.
- The disclosed methodology herein departs from the theoretical assumptions of Shannon's theorem in the following manner. The barcode pattern transmitted for a given position x is not independent of the pattern transmitted for position x+δ if δ<0.007 m. Accordingly, assumptions concerning white noise may not hold for such positions. Moreover, the noise is of unknown amplitude, as is the signal, so the parameters S/N in the above formulas are difficult to determine precisely. Further, Shannon's theorem requires long lengths of code in order to achieve the calculated capacity.
- Moreover, as noted above, the basic form of Shannon's theorem assumes that the noise distribution for each frequency component in a channel is the same, or that the noise is “white.” Although surface noise of
rod 10, due to surface imperfections, is nearly white, light reflected offrod 10 is blurred bylenses 910, and the surface noise is thus spectrally shaped in a further departure from the assumptions of Shannon's theorem discussed above. In order to improve channel capacity, however, the spectrum associated with the barcode is correspondingly shaped to include spatial frequencies in proportion to the extent to which they are not blocked bylens 910, to thereby substantially conform to the spectrum oflens 910. - In more detail, white noise has a spectrum in which each frequency component has the same noise distribution. As seen in
FIG. 13 , the value (y axis) at each time (x axis inFIG. 13 ) ofnoise signal 1300 can have a value that varies independently of values at other times. As seen inFIG. 14 , however, if higher frequency components are filtered out, for example through blurring, a “pink”noise signal 1400, as shown inFIG. 14 , can be obtained (FIG. 14 is shown for illustrative purposes and does not represent a particular filtering of the spectrum shown inFIG. 13 ).Spectrum 1400 possesses a degree of continuity from one time to the next, and therefore exhibits moregradual peaks 1410 andvalleys 1420, then the noise signal shown inFIG. 13 . - Information (e.g., markings) having spatial spectral components filtered out by the channel many not be accurately sensed or detected, thereby decreasing the capacity of a channel encoded with high-frequency components. Information may be encoded more efficiently, however, if the spectrum associated with the information more closely matches the filtered spectrum. In the present example, the spectrum associated with
barcode 12 is shaped to correspond to the blurred surface noise spectrum ofrod 10, to thereby increase information capacity of the barcode. - In particular, an
exemplary spectrum 1700 which may be associated withlens 910 is shown inFIG. 17 .Spectrum 1700 is shown for illustrative purposes, and typically depends upon the structure and composition oflens 910. As noted above, the shape ofspectrum 1700 is attributable to blurring caused bylens 910.Spectrum 1800 shown inFIG. 18 represents a spatial frequency spectrum associated with a barcode consistent with an aspect of the present disclosure, but does not fully match thespectrum 1700, and may result in less efficient reading of the barcode.FIG. 19 , however, illustrates an alternative barcode spectrum consistent with a further aspect of the present disclosure, whereby high or first frequency components (e.g., frequency components at 1×104 cycles per meter) have been filtered or deemphasized relative to lower or second frequency components (e.g., frequency components less than 5×103 cycles per meter) to more closely match or substantially conform to the shape ofspectrum 1700. As a result, more efficient sensing of barcode information can be achieved. - In order to provide a barcode having an associated spectrum that is appropriately shaped, and consistent with a feature of the present disclosure, a random number generator calculates series' of pseudo-random numbers, each term of each series corresponding to a short contiguous region of
surface 11 ofrod 10. Each series is preferably weighted by a given factor, which can be determined empirically. Thus, one series of numbers corresponding to relatively large and widely spaced regions on the surface may be weighted more heavily than another series of number corresponding to smaller and more closely spaced regions. Thus, when the series' are summed to obtain the barcode (whereby, for example, a positive sum value designates a light region onsurface 11, while a negative sum designates a dark region) certain spatial frequency components may be emphasized while others are deemphasized to obtain a spectrum having a preferred shape. - If different optics are used, the above-described blurring and thus spectrum-shape, may change. Thus, optimal performance may be obtained if weighting factors, the number of series summed, and the surface spacing associated with each term of each series, are tailored for given lenses and optics in the optical reader.
- An exemplary method for generating
barcode 12 will next be described in connection withFIGS. 4A-4F .FIG. 4A is a flowchart illustrating steps which can be performed to generate a barcode consistent with an aspect of the disclosure, andFIGS. 4B-4F illustrate regions onrod surface 11 discussed in connection withFIG. 4A . - As noted above, the barcode constitutes a series of bands of various widths on
surface 11, typically marked with a laser. The bands are created by first generating a first weighted sequence of numbers (step 402). The numbers are preferably calculated with a Gaussian random number generator (although other random number generators may be used) and each is multiplied by a weight factor (1 in this example). Each term or number of the series of random numbers is associated withfirst regions 430 ofsurface 11 of rod 10 (see regions inFIG. 4B ). In this example, each region has a first width of 50 microns, for example. Instep 404, a second weighted sequence is obtained by multiplying a series of numbers calculated with a Gaussian random number generator, and multiplying the series with a second weight factor, e.g., 8 √{square root over (2)}. Each weighted number is associated withsecond regions 432 insurface 11, as shown inFIG. 4C . In the present example, eachsecond region 432 has a second width of 100 microns, for example, and overlaps each offirst regions 430. - Third, fourth and fifth weighted number sequences can also be generated in a similar fashion in
steps
respectively in this example. Each term of the third sequence, however, is associated with 100 micron regions orintervals 434 shifted by 50 microns relative to the second regions (seeFIG. 4D ). In addition, each term of the fourth sequence is associated withregions 436 onsurface 11 having a width of 200 microns (FIG. 4E ), and each number of the fifth sequence is associated with 200 micronwide regions 438 shifted 100 microns relative tofourth regions 436. - In
step 412, the first through fifth sequences are added to one another to obtain a summed sequence, each term of which typically has either a positive or negative value and is associated with a particular 50 micron wide region, for example, ofsurface 11. The positive terms are assigned a value of +1 (step 414), and the negative terms are assigned a value of 0 (416). Instep 418, the series of 1s and 0s associated with the summed sequence is used to drive a conventional laser for selectively marking (insteps 420 and 422) the 50 micron wide regions ofouter surface 11 ofrod 10 to thereby generate coded information. In accordance with such coded information, markings may be marked, preferably with a laser, onsurface 11, by scanning or moving rod 10 (step 420) past a laser which is selectively turned on in response to “0”s (step 422) to create “black” 50 micron wide regions insurface 11, and off in response to “1”s to create “light” 50 micron wide regions (step 424) or markings. -
FIGS. 5A to 5E illustrate an alternative method for generating a barcode in accordance with a further aspect of the present disclosure. The method shown inFIGS. 5A-5E is similar to that discussed above in regard toFIGS. 4A to 4F, except the terms of each randomly generated number series are not multiplied by a weighting factor. In addition, only three series are added, instead of five as discussed above. In addition, inFIG. 5A each term of a series is calculated by a Gaussian random number generator and assigned a corresponding 50 micron wide region ofsurface 11. Each square 510 inFIG. 5A (as well asFIGS. 5B, 5C and 6A-6C) in a horizontal direction corresponds to a 50 micron region onrod surface 11. In a vertical direction, the magnitude of each number or term is represented by a corresponding number of shaded squares. InFIG. 5B , a second series of randomly generated numbers (calculated with a Gaussian random number generator) are assigned corresponding 100 micron wide regions insurface 11, the magnitude of each number of the second series being represented by a corresponding number of shaded squares in the vertical direction. In addition, inFIG. 5C , each term of a third sequence of numbers, generated with a Gaussian random number generator is associated with corresponding 200 micron wide regions onsurface 11. The sequences are then added, the sum of which is depicted by thebar chart 520 inFIG. 5D . Positive terms of the summed series are then assigned a +1 value or “light”, and negative terms are assigned a 0 value or “black”. The resulting series of 1s and 0s is used to turn a laser on and off to selectively marksurface 11 over 50 micron regions corresponding to each term of the binary sequence. Accordingly, a portion ofbarcode 530 shown in 5E is marked onsurface 11 ofrod 10. -
FIGS. 6A to 6C illustrate the first through third series of randomly generated numbers shown inFIGS. 5A to 5C, but multiplied by first, second and third weighting factors, respectively. In this example, the first, second and third weighting factors equal 1, 4 and 1, respectively. The first through third weighted series are added inFIG. 6D to obtainbar chart 620, and the resultingbarcode 630 is shown inFIG. 6E based on assignment of 1s and 0s in a manner similar to that described above. - As noted above,
markings 350 are divided into subsets, and each corresponds to a different position ofrod 10. To ascertain a position ofrod 10, a portion ofsurface 11 is exposed to light and a sense signal is generated in response to light reflected off that portion ofsurface 11. A likely subset of markings corresponding to the sense signal is then identified and associated with a location ofrod 10. - In determining the likely subset of markings corresponding to the rod location, it is noted that the sense signal often does not precisely correspond to the markings in the exposed portion of
surface 11. Several sources of noise distort the light supplied to the barcode, as well as light reflected from the bar code, thereby affecting the sensed signal output from photosensors insensor 16. In addition, electronic noise, noted above, originating in circuitry associated with the photosensors can further distort the sense signal. A more detailed discussion of noise sources will next be presented. - Scale or
markings 12 onsurface 11 ideally constitute a square wave, but in practice are observed as a spatially filtered square wave due to the blurring distortion caused by theoptics 910 and rod movement, as discussed above. However, the signal thus obtained is neither the original ideal square wave nor the blurred and filtered form of it. Rather, the sense signal is corrupted by electronic noise and surface noise. - Electronic noise is associated with the photosensors in
sensor 16 and associated circuitry. Various forms of electronic noise are known, including, among other sources of electronic noise, photon or shot noise, Johnson noise, and kT/C noise (the equivalent of Johnson noise for discharging capacitors). The noise sources are associated with the electronics, which is necessarily independent of any noise source associated with the light itself that is received bysensor 16. Accordingly, ifrod 10 remains stationary and a sequence of images (i.e., images of a group ofmarkings 12 on surface 11) are collected bysensor 16, the electronic noise associated with each image is essentially independent from image to image—and in particular different from image to image. - Noise associated with
surface 11 or surface noise, however, is attributable to many small or microscopic imperfections onsurface 11 ofrod 10.Rod 10 is typically made of metal, often chrome or metal, andsurface 11 may include a known thermally sprayed coating.Surface 11, includes a large number of tiny facets, which generate variations in the amount of illumination light reflected into thesensor circuit 16. Ifrod 10 does not move and a sequence of images are collected, each image will be of the same portion ofsurface 11, and thus the same imperfections will create the same amount of surface noise in each image. Accordingly, if multiple images are acquired, averaging such images may reduce electronic noise, but not surface noise, nor the desired signal, i.e., the reflected light representing the illuminated group ofmarkings 12. Relatively tall and thin pixels can be used to average surface noise. Alternatively, θ (the angle over which the barcode extends onsurface 11, so as to average the surface noise over a range of the rod's circumference) can be changed. Both approaches, however, may be difficult to implement. - Experimentally, electronic noise has been found to be 20 dB smaller than the signal—but the surface noise may be larger than even the sense signal in some circumstances. Accordingly, surface noise dominates SNR substantially more than electrical noise. A number of factors can influence the magnitude of the surface noise including surface finish, or how smooth and
shiny surface 11 is. However, the precise geometry of the illumination andobservation optics lenses surface 11 e.g., 8 mm as opposed to 1 mm. - Other sources of noise are also present. Namely,
lens 910 contains imperfections and thus causes some degree of blurring. Such blurring combined with the blurring caused by the motion ofrod 10 acts as a spatial filter that modifies both received optical signals and surface noise. Sincephotosensor array 908 has sharp cutoffs at both ends, blurring can be represented mathematically by a linear filter matrix A, and each photosensor input can be treated as a component of a vector of optical signal values. Matrix A is not square, and therefore is also not invertible and will be discussed in greater detail below. -
FIG. 7 illustrates how various signals and noise sources present insystem 100 interact with one another. As noted above, the barcode or scale includes a plurality ofmarkings 12, each subset of which corresponds to a unique position. Thus, the ideal image x 706 is based on theparticular position 704 ofrod 10 defining one subset of markings of theoverall scale 702. In the present example, x is a vector of approximately one hundred sixty 50 micron wide pixels on thesurface 11 ofrod 10 in front ofsensor 16. The ideal image is subject to gain stemming from the laser marking process, as well as from illumination fromemitters 14. Collectively, these two gains can be represented by a single gain parameter t that magnifies the optical signal (seeboxes 708 and 710). Surface noise nrod is the vector of surface noise values (see box 714), which is assumed to have a Gaussian distribution with zero mean and covariance matrix V before the application of noise gain a (box 718) through illumination (box 716). Amplified surface noise and signal contribute to the rod signal image tx+σnrod where a is the gain applied to the surface noise; let
the formulas presented below. - As noted below, movement of
rod 10 or velocity (box 722) can introduce blurring (box 720), which in combination with blurring associated with the optics (box 724), yields a total blurring represented by matrix A (box 726). A is the matrix that represents the total blurring (which will be different at different rod velocities); thus in the absence of noise yields y=Atx. In addition, observed signal y is a vector of signal pixel values (here, 86 μm pixels wide), typically having a vector length (i.e. dimensionality) which is different from that of x. - Blurring distortion influences the optical signal reflected off
markings 12 to produce a viewed signal (box 728), which is converted to an electrical sense or observed signal y (box 732), which is influenced by electronic noise nelectronic (assumed to be Gaussian distributed with zero mean and associated covariance matrix U). As further discussed above, electronic noise influences the observed signal y (box 730). - Thus, based on
sensor circuit 16 output or sensed signal y, a corresponding value of x is determined. As noted above, however, due to various noise sources, signal y may not correspond precisely to x, but is some corrupted version of it. As discussed in greater detail below, a probabilistic approach based on Bayesian inference was adopted to determine a likely x corresponding to the sensed signal y (in a manner related to that which a probability is calculated that a number shown by a tossed dice, is divisible by 2, given that the number is also divisible by 3). In mathematical terms, the Bayesian inference is implemented to define a posterior distribution of x given y, which is substantially equivalent to the expression P(w|z) (as discussed in greater detail below w relates to x, and y relates to z). Since each x corresponds to a particular rod location, the rod location can be found once x is identified. - Accordingly, the present disclosure overcomes conventional barcode position techniques, whereby a precise match between a sense signal and a barcode segment is required to determine a rod position. In such techniques, various sources of noise (e.g., blurring due to rod movement, hydraulic fluid, rod imperfections, etc.) distort the sense signal rendering a match difficult. As disclosed herein, probability, preferably Bayesian probability, is used to determine a likely rod location corresponding to a sensed signal. As a result, the barcode achieved herein is substantially more robust than conventional barcodes.
- Functionally, the following steps described below and shown in
FIG. 8 are carried out to determine rod location based on a sensed signal y. The method consistent with the present disclosure will also be described with reference toFIG. 15 . In afirst step 802, a portion ofrod 10 is exposed to light and a sense signal y is generated in response thereto (step 804). A plurality of probability values P(w|z) or posterior distribution of w given z is calculated (step 808) byprocessor 18. As discussed in greater detail below, based on at least some of these probability values, a subset ofmarkings 12 is identified and associated with a corresponding rod location. - As used herein, the term “probability values” includes multiples of probability values that may or may not exceed 1, as well as values which are substantially equal to such multiples.
- Graphically, exemplary probability values are shown in
FIG. 15 in which a plurality ofprobability values markings 12. The magnitude of each probability value is also shown inFIG. 15 , e.g.,probability value 1510 has a value of 0.001, while that ofprobability value 1560 is 0.08 (note that to simplifyFIG. 15 , the height of each line shown in the drawing is not drawn to scale, but generally reflects the relative magnitude of each value). Instep 810, a determination is made as to whether any probability value P(w|z) or sum of any contiguous or consecutive set of probability values associated with locations spaced over a suitably small physical distance (or over a range of permissible error) exceeds a predetermined probability threshold. The determination can be made by comparing the sum or probability value with the predetermined probability threshold. In the example shown inFIG. 15 , the predetermined probability threshold is 0.99 and the range of permissible error is assumed to ±50 microns equal to the rod pixel width. The rod pixel width is the highest common factor of the set of distances between each bar edge and the first bar edge on the scale (alternatively, the rod pixel width may be taken to be a sub-multiple of the highest common factor, if finer resolution is required; in the preferred embodiment of the present disclosure resolution of 1-2 microns can be achieved). -
Processor 18, in this instance, will sum triplets (each of which being a subset of the plurality of probability values) of consecutive probability values until a sum is obtained that exceeds the predetermined probability threshold. For example, the sum ofvalues values middle value 1550 within the set will be identified, as well as the location of the rod associated with the marking subset corresponding to value 1550 Also, the rod location within the set will be reported byprocessor 18 to be within a range of permissible error of ±50 microns. - In the example discussed herein, the desired range of permissible error was set to be ±50 microns. However, any suitable range of permissible error can be selected, but with a corresponding change in the number of consecutive probability values to be summed. For example, if the range of permissible error was instead set to ±100 microns, then consecutive probability values would be added in groups of five until a sum is obtained that exceeds the predetermined threshold. The reported probability value is the one located in the middle of the set of five values that yield the qualifying sum, which, in the example shown in
FIG. 15 , isvalue 1550. - Returning to
FIG. 8 , instep 812, marking subsets corresponding tovalues processor 18, typically with a look up table 19 (seeFIG. 1 ). Thus the rod location will be identified as the location that is in the middle of the triplet set, or the marking subset corresponding toprobability value 1550. Although a single probability value may be found that exceeds the predetermined probability threshold instep 810,processor 18 typically sums triplets of consecutive probability values, as discussed above, and reports the middle value of the triplet. Thus, there may be an instance in which the following consecutive probability values are obtained, in order, 0.8, 0.01 and 0.1, the sum of which being 0.991. Assuming the above probability threshold of 0.99, the middle value of the triplet, namely 0.01 will be reported, even though its value is less than the other two. Once the middle probability value of the triplet is obtained, the marking subset associated with that probability value is identified, as well as a corresponding rod location. The rod is exposed again (step 802) and remainingsteps - If no sum of adjacent probability values exceeds the predetermined threshold, a “bad” result is obtained and no rod locations are reported. The rod is then exposed again (step 802). Alternatively, in the event that a sum of more than two probability values exceeds the predetermined probability threshold, a wider range of probable rod locations may be reported. For example, as noted above, if the sum of five adjacent probability values exceeds the predetermined probability threshold,
processor 18 may report a rod location within a 200 microns range (±100 microns) of possible rod locations. - Mathematical derivation of the distribution P(w|z) based on a Bayesian inference will next be described. In order to apply Bayesian inference, assumptions for gain variable s and t should be made (i.e., the “priors” on s and t should be set). Simply assuming fixed values of s and t may not yield an accurate distribution P(w|z), as the actual values of s and t can vary from rod to rod and are subject to various noise influences, as noted above.
- s is related to surface noise σ(s=1/σ2) and represents a quantity that is necessarily positive and whose value is unknown, and preferably large (i.e. σ is preferably small). The value of s can potentially vary over several orders of magnitude, and there is no particular reason to favor one decade over another, and logs is assumed to be uniformly distributed over some suitably large range centered on zero (here “suitably large” means so large that making it larger won't make any practical difference to the results). If logs is uniformly distributed over a large range, then so is log σ (albeit over a different large range). Optical signal gain t, however, behaves differently than s. Preferably t should be as large as possible so that the received optical signal has a large magnitude. Accordingly, t is not expected to be near zero. On the other hand, the optical signal could have a relatively small magnitude under some circumstances. Accordingly, the “prior” on t is set to be uniform over some suitably large range starting at zero (i.e. excluding negative values). Keeping t uniform is a good approximation and simplifies the derivation of P(w|z). In addition, to further'simplify the derivation, the surface noise gain σ is applied to the electronic noise as well, rather than using two separate gain variables, one for each noise source. This is a reasonable approximation so long as values of V and U are chosen such that, as σ varies, the proportion of electronic noise remains relatively small compared with the surface noise.
- Given the above, P(w|z) can be derived in accordance with Bayesian inference. As seen in
FIG. 7 , and discussed above, y can be expressed as follows:
y=A(tx+σn rod)+σn electronic - The covariance matrix of Aσnrod+σnelectronic is (AVA′+U)/s (since surface and electronic noise are independent), which is positive definite and symmetric since both U and V have these features (the superscript dash means transpose). Accordingly, AVA′+U has an inverse which has a positive definite and symmetric square root, so matrix B can be defined as:
- Let z=By and w=BAx. Since B is invertible and known, knowing z carries exactly the same amount of information about x as knowing y does. Bayesian inference can thus be applied to z, on the basis of a list of values of w, and the results be expected to be exactly the same as if the inference had been applied to x.
- Accordingly,
- where n=B(Anrod+nelectronic). But by virtue of the construction of B, n has covariance matrix equal to the identity (since surface and electronic noise are independent). Thus,
- where N is the dimensionality of z, i.e. the number of photodiodes or pixels in
sensor circuit 16. P(t) is constant and P(s) is proportional to 1/s. Therefore, applying the following known laws of probability: - where the last line follows since knowing the position of the rod makes no difference to the distribution of t, and knowledge of both t and w makes no difference to the distribution of s.
- Now, P(z) does not vary with w (although P(z|w) does). Therefore, the above formula may be expressed as a proportionality instead of an equality, and by substitution of the above expression, the following is obtained:
- where the proportionality symbol indicates that there is a constant of proportionality that does not vary with w.
- Simplifying,
- where a=w′w,b=w′z,c=z′z, and where a and b depend on w. Now, let φ be the angle between the vectors w and z, and let r be defined by
so that 0≦r2≦1. Substituting
in the integral yields:
where
Substituting p=q/u followed by θ=tan−1p yields: - Substituting the appropriate expression for u:
- But c depends only on z, and so the following expression for P(w|z) is obtained:
- In order to determine P(w|z) for a range of w, a,b,c are calculated as above (a and b being calculated for each w, but since a does not depend on z all the necessary values of a can be calculated once and for all when the first rod location is calculated), and hence φ is can be obtained for each w. All that then remains is to look up the value of
in a table, as will now be described. - The integral
can be evaluated iteratively, as follows: - Let Qn(φ) denote
Then for n>1 - Integrating by parts, whereby the second factor is integrated and the first is differentiated yields:
- But Q1(φ)=1+cos φ, and Q0(φ)=π−φ, and thus a recurrence relation can be used to populate the table starting from n=1 and n=0.
- The table starts from a value of r2=cos2φ and the sign of φ, and the values of log QN-2(φ) can be looked up. Accordingly, rather than populate the table based on the values of φ (for example on a regular grid), the table is populated on a regular grid of log(cos2φ), keeping two subtables of log QN-2(φ), one for values of positive values of cos φ, and one for negative. Accordingly, log QN-2(φ) can be represented accurately around values of φ near π/2, when QN-2(φ) is changing very fast.
- Thus, once the posterior distribution on w given z, i.e.; P(w|z), is obtained, a likely w having a higher probability value than other w's can be obtained. As noted above, w is related to x, so once a likely w is identified, so is a likely x. Since each x is a subset of
markings 12 corresponding to a unique position ofrod 10, the most probable x identifies a particular location which is the most likely position ofrod 10, and a suitable (Bayesian) confidence interval on the position ofrod 10 is obtained. -
Processor 18 can be configured to store previous rod positions inmemory 19, so that likely values of (i.e., confidence intervals on) velocity, acceleration, and jerk can be obtained. That information, in turn, can be used to set a “prior” on w for the next position measurement, to thereby limit the range of w's for which P(w|z) is calculated. - At the outset, however,
rod 10 can be located in any position, as well as any velocity and acceleration within the limits ofsystem 100. Thus, P(w|z) is calculated for each possible w (and thus for each possible rod position). Since each w has a corresponding rod position, P(w|z) must be calculated for each such rod position. For a rod that is several meters long, millions of such calculations are performed byprocessor 18. After the first measurement, however, the number of possible rod locations is limited to those nearer the initial measurement, and the P(w|z) calculations take less time for subsequent measurements. Moreover, the subsequent measurements can be used to calculate velocity and acceleration, as noted previously, which can be used to further limit the number of possible w's over which P(w|z) is calculated. If the confidence intervals are fairly narrow because the sensed signal to noise ratios are relatively high, successive calculations will take less time because predictions can be made as to which positions are likely and which are not based on previous determinations. - Alternatively, if the rod were to be set at the outset to a particular position or a range of possible positions at each end of the linear path (if for example in
FIG. 2 ,rod 10 were at the outset always retracted withincylinder body 220 so that markingendpoint 250 would be adjacent to reader circuit 26), the initial P(w|z) need only be made over a limited range of rod positions. In addition, as discussed above, further rod positions can be readily determined based on previous calculations. - Consistent with a further aspect of the disclosure, a method is described for calculating the initial location of
rod 10 more quickly. In the alternative method (seeFIG. 16 ), typically performed byprocessor 18, a portion ofrod surface 11 is exposed (step 1610) and a sense signal is generated in response to light reflected from rod 10 (step 1620) in a manner similar to that described above. If a position ofrod 10 has been previously determined, a set of rod positions can be assumed to be “Possible” within an acceptable distance about the last measured location (step 1622). For example, ifrod 10 is in a fully extended position, the next immediate location will not likely be one in which the rod is fully retracted intocylinder 230. Accordingly, locations associated with the retracted position may not be deemed “Possible”, while others closer to the fully extended position will be considered “Possible.” Alternatively, if in a start-up mode,step 1622 may be omitted. - In
step 1624,processor 18 sets a data acceptance filter (data filtering instructions carried out by processor 18) to its most rejecting setting to thereby subject higher or first frequency components of the sensed signal to a first or relatively high deemphasis. In particular,processor 18, in accordance with the data acceptance filtering software or code, obtains data based on low or second frequency components of the sensed signal, which are less likely to change over a given portion ofrod surface 11, and are thus indicative of the probability values over a particular region ofsurface 11. Accordingly, although the rod location might not be identified at this stage, one or more relatively broad regions (albeit not contiguous regions) ofrod surface 11 may be identified as likely areas in which the rod location is likely to be found. - In
step 1626, a first spatial increment or distance is typically set to its largest value, for example, sixteen times the rod pixel width. In a start-up mode, probability values are determined corresponding to rod locations separated from each other by the spatial increment along the entire length of the rod. If a set of Possible positions is available afterstep 1622, probability values P(w|z) are calculated at all Possible positions, except those within the increment of each other, i.e., between adjacent increment locations (step 1630). Otherwise, in the start-up mode, probability values are calculated at each increment location along the entire length of the rod. - A determination is made as to whether the acceptance filter is set to an “all-pass” value in which all signal frequency components are considered and the increment has been reduced to the rod pixel width (step 1640). If so, processing continues with
step 810 as previously described. Otherwise, one or more sets or groupings of calculated probability values is then determined (step 1660), the sum of each set exceeding a current predetermined threshold (to be discussed below). Those positions whose probability values do not contribute to exceeding the current predetermined threshold are deemed “Not Possible”, as well as those positions between any two such “Not Possible” positions separated by an increment. All “Not Possible” positions are not considered further (step 1670). - Thus, after
step 1670, in the first iteration of the process shown inFIG. 16 , set of probability values defining regions insurface 11 are obtained where the rod location is likely to be found. In addition, all other locations lying outside these regions, which may or may not be contiguous, are not considered further. In the next iteration, the data acceptance filter software is set to a more accepting setting (step 1680), whereby the frequency components of the sensed signal are subject to a second deemphasis less than the first (step 1624). Thus, higher frequency components of the sensed signal are considered byprocessor 18, and data based on such frequency components is obtained, in addition to data obtained from lower frequency components, as discussed above. Also, probability values are determined at smaller spatial increments (i.e., second distances less than the first distances) within these regions (step 1690), and the current predetermined threshold is reduced (step 1695). - The rationale for including
step 1695 will now be explained. At each iteration round the loop inFIG. 16 (steps - Let us call the predetermined threshold p0. If it is known that (say) 5 iterations round the loop will be done, then one approach is, instead of using p0 as the acceptance threshold each time, to use
The total probability discarded in the five iterations is then at most - which cannot exceed 1−p0, so what remains (in the final triplet, if a satisfactory one exists) must have probability at least p0.
- Generally, however, if a threshold pk is used at the k th iteration with a total of K iterations, in such a way that the part of the rod passed on to the next iteration as still “Possible” has a probability of at least pk given that the true location was already being considered to be “Possible”, then the total discarded probability will not exceed
- so any sequence of thresholds pk such that
- will achieve the desired effect. The precise choice of this sequence of thresholds will vary from situation to situation, but is made to ensure that as many of the possible rod locations are rejected as early in the processing as possible.
- In other words, once a sum of probability values is determined to exceed the current predetermined threshold, the actual rod location can be said to lie within the areas of the rod as defined by the rod locations associated with the summed probability values. Accordingly, for example, if the current predetermined threshold is 0.99, the rod location may be said to be within particular regions on the
surface 11 with a 0.99 probability. However, there is a probability of 0.01 that the rod location lies outside these regions. Ifsteps 1630 to 1680 are repeated with a reduced increment, then more narrow regions onsurface 11 will be identified as likely to include the rod location, but also there will be additional areas that will not be considered further. Thus, the probability that the rod location lies in one of these non-considered areas increases because the number of these areas increases with each iteration. Thus,step 1695 is provided to adjust the current predetermined threshold according to the adopted sequence of values pk, from pk to pk+1. - After reducing the increment (step 1690), for example, the next smallest increment may be 8 rod pixel widths, and adjusting the current predetermined threshold (step 1695),
step 1630 is repeated over the narrower regions discussed above and at smaller increments so that a smaller number of probability values is then calculated followed by remaining steps shown inFIG. 16 . This smaller set corresponds to a smaller set of possible rod locations within the range of possible rod locations calculated above, and a group of possible marking subsets based upon the further set of probability values is identified.Steps processor 18 performs step 810 (seeFIG. 8 ) and the sum of remaining probability values after the repeated iterations is obtained and a determination is made as to whether the sum exceeds the desired predetermined probability threshold (now the reduced current predetermined threshold). If so, a corresponding marking subset is obtained (step 812), which is then associated with a rod location (step 814), as discussed above. If not, a bad reading is reported and no information is available to restrict the range for the next reading beyond what may already be inferable from preceding measurements, if any. - The method shown in
FIG. 16 , can be expressed mathematically, as follows. For clarity, the situation is simplified here by assuming V=I, U=0; more complicated real conditions can be incorporated in a conventional manner given the previously shown calculations. Thus, - cos φ may be written as
- where wx denotes the w vector corresponding to position x on the rod. Note that it is not feasible to store all the wx, however, it is possible to store all the wx′wx values.
- Now let matrix G represent a low-pass filtering matrix operating on RN and yielding results in RM for some M<N, and with the property that GG′ is an identity matrix on RM (e.g. the matrix that first applies a top-hat filter and then downsamples by the corresponding factor). For each x, instead of calculating the value of cos φx by the previous method based on all the data (i.e. on z), x is calculated instead based on only part of the data, specifically on Gz. Gwx is first precalculated for each xεX, and likewise Gz is precalculated. Then, given only this limited information, P(w|z) is given by the same expression as before, but the expression for cos φx is replaced by
- Since M<N, this expression costs correspondingly less to evaluate (given Gwx and Gz already available). Moreover, since G is a low-pass filter, it is reasonable to suppose that adjacent values of cos φx will be almost identical—simplifying calculations further. With this approach, however, Gwx would need to be stored (or, worse, evaluated for each xεX), which is not feasible.
- However, if the additional assumption is made that G′GA′(AA′)−1AG′G≅G′GA′(AA′)−1A, which is true within around 6% for the particular G being considered, then the above expression simplifies to
- which is evaluable using only the stored values of the xεX and the stored values of wx′G′Gwx (which are easier to store). Note that this approximation does not mean that wx′G′Gwx≅x′G′Gx, and indeed this is not the case.
- Now, assuming a value δ>0 such that it is acceptable to draw a wrong conclusion with probability at most δ>0, and also a value a such that 0<α<1 (e.g. ⅔), the following algorithm can be used to accelerate identification of the initial location of
rod 10. G is set to the narrowest-bandwidth low-pass filter being considered and also set
P(w|z) is then evaluated using only the G-restricted information for suitably spaced. xεX (dependent on the particular G) (if G is the identity use the precise formula and full resolution among the remaining xεX) to remove from further consideration as many xεX as possible consistent with their total posterior probability being at most γ. If G was not the identity, set G to be the next broader low-pass filter, and γ:=αγ is updated. Then P(w|z) is evaluated, including at higher resolution those xεX not removed, as well as xεX that are near those that were not removed, and the process is repeated for the new subset and the new G. The process terminates at the end of the iteration in which G is the identity; and terminates in the same manner as the simpler version of the process described inFIG. 8 . - A barcode reader and processing circuitry are disclosed for identifying a position of a cylinder rod that moves along a linear path. The barcode constitutes a series of markings on an outer surface of the rod extending along a substantial portion of the length of the rod. The markings represent encoded information based on numbers calculated with a random number generator, and are grouped into subsets, each of which corresponds to a particular rod position. A portion of the rod including a subset of barcode markings is exposed to light emitted from LEDs in the reader. Light reflected off the barcode is sensed with an array of photosensors provided in the reader. The photosensors generate electrical signals, and using Bayesian probability, a likely subset of markings is determined corresponding to the received electrical signals. Once identified, the, markings subset is associated with a location corresponding to the position of the rod.
- Although the disclosed embodiments have been described in connection with a rod used in a hydraulic or pneumatic cylinder, the present disclosure can be used to identify the location of other actuated movable members. For example, the disclosure can be used in connection with robotic applications.
- As noted above with respect to
FIG. 1 , the identified rod location can be reported visually to a user on a display inuser interface 22. In response to the identified rod location, a user may input commands to control therod 10. Based on such instructions,processor 18 may provide control signals tomechanical control 20 to actuaterod 10 and a work tool attached thereto in a desired manner. - Alternatively, a user may supply instructions through
user interface 22 toprocessor 18 including parameters for a particular job to be performed bysystem 100. Once inputted,system 100 can appropriately controlrod 10 until the job is completed. For example, if a ditch is to be dug having particular dimensions, such parameters may be input throughuser interface 22 toprocessor 18. Throughout the job,processor 18 can monitor the location ofrod 10, and thus, assure thatsystem 100 stays within the parameters defined by the user. For example, if the ditch is to be dug to a specified depth,system 100 can monitor how deep a work tool has dug by identifying the position ofrod 10, and can thus discontinue further digging once the desired depth has been achieved. Other embodiments of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. It is intended that the specification and examples be considered as exemplary only, with a true scope of the invention being indicated by the following claims.
Claims (19)
1-47. (canceled)
48. An apparatus for reading an image provided on a surface, said apparatus comprising:
a plurality of photosensors;
a lens, said lens being configured to receive light from said image and direct said light to said plurality of photosensors;
a carrier, said lens and said plurality of photosensors being attached to said carrier; and
a housing, said housing having an external surface and an internal surface, said external surface having a first reference portion and said internal surface having a second reference portion, said second reference portion being aligned with said first reference portion, said carrier being attached to said second reference portion such that upon said first reference portion being positioned at a predetermined distance away from said image, said light is substantially focused onto said plurality of photosensors.
49. An optical device in accordance with claim 48 , wherein said housing has an opening, said light passing through said opening, said optical device further including at least one optical emitter provided in said housing, each of which being configured to direct light through said opening to said image.
50. An optical device in accordance with claim 49 , wherein said surface is substantially uniformly exposed by said light.
51. An optical device in accordance with claim 49 , further comprising a cylindrical lens provided between said at least one optical emitter and said image.
52. An optical device in accordance with claim 48 , wherein a first point on said first reference portion and a second point on said second reference portion define a reference line located between said plurality of photosensors and said lens such that as said housing thermally expands said plurality of photosensors moves in a direction opposite to the direction in which said lens moves, and said light remains substantially focused onto said plurality of photosensors.
53. An optical device in accordance with claim 48 , further including a casing provided between said first reference portion and said second reference portion, said casing having a thickness, said thickness corresponding to said predetermined distance.
54. An optical device in accordance with claim 48 , wherein said image is a barcode.
55. An optical device in accordance with claim 49 , wherein said at least one optical emitter includes an LED.
56. An optical device comprising:
a housing having an opening;
first and second optical emitters provided in said housing, said first and second optical emitters being configured to output light through said opening;
a circuit configured to supply substantially the same electrical current to said first and second optical emitters; and
a plurality of photosensors provided in said housing, said plurality of photosensors receiving a portion of said light reflected off a surface external to said housing.
57. An optical device in accordance with claim 56 , wherein said circuit includes first and second transistors, the emitter of said first transistor and the emitter of said second transistor being coupled to a common terminal via respective resistors, said common terminal being maintained at a predetermined potential, and a collector of said first transistor being coupled to said first optical emitter and a collector of said second transistor being coupled to said second optical emitter, and the bases of said first and second transistors being connected together.
58. An optical device in accordance with claim 57 , wherein said circuit further includes a diode coupled between said collector of said first transistor and the base of said first transistor.
59. An optical device in accordance with claim 57 , wherein first and second optical emitters include first and second electrodes, respectively, said first and second electrodes being connected in common, said optical device further including a power supply being coupled to said commonly connected first and second electrodes, said power supply being configured to intermittently bias said first and second electrodes to thereby pass said electrical current through said first and second optical emitters.
60. An optical device in accordance with claim 59 , wherein said first and second optical emitters are LEDs.
61. An optical device in accordance with claim 58 , further comprising a resistor coupled between said base and said collector of said second transistor.
62. An optical device in accordance with claim 58 , wherein said diode includes a Schottky diode.
63. An optical device in accordance with claim 56 , further comprising a plurality of lenses provided between said plurality of optical emitters and said image, said plurality of lenses including a selfoc lens array.
64. An optical device in accordance with claim 56 , wherein said optical emitters and said plurality of photosensors are formed integrally with said carrier.
65-76. (canceled)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/896,901 US20080048040A1 (en) | 2004-07-28 | 2007-09-06 | Robust barcode and reader for rod position determination |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/900,197 US7191943B2 (en) | 2004-07-28 | 2004-07-28 | Robust barcode and reader for rod position determination |
US11/710,471 US7278574B2 (en) | 2004-07-28 | 2007-02-26 | Robust barcode and reader for rod position determination |
US11/896,901 US20080048040A1 (en) | 2004-07-28 | 2007-09-06 | Robust barcode and reader for rod position determination |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/710,471 Division US7278574B2 (en) | 2004-07-28 | 2007-02-26 | Robust barcode and reader for rod position determination |
Publications (1)
Publication Number | Publication Date |
---|---|
US20080048040A1 true US20080048040A1 (en) | 2008-02-28 |
Family
ID=35731015
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/900,197 Expired - Fee Related US7191943B2 (en) | 2004-07-28 | 2004-07-28 | Robust barcode and reader for rod position determination |
US11/710,471 Expired - Fee Related US7278574B2 (en) | 2004-07-28 | 2007-02-26 | Robust barcode and reader for rod position determination |
US11/896,901 Abandoned US20080048040A1 (en) | 2004-07-28 | 2007-09-06 | Robust barcode and reader for rod position determination |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/900,197 Expired - Fee Related US7191943B2 (en) | 2004-07-28 | 2004-07-28 | Robust barcode and reader for rod position determination |
US11/710,471 Expired - Fee Related US7278574B2 (en) | 2004-07-28 | 2007-02-26 | Robust barcode and reader for rod position determination |
Country Status (3)
Country | Link |
---|---|
US (3) | US7191943B2 (en) |
GB (1) | GB2430820B (en) |
WO (1) | WO2006022983A2 (en) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7191943B2 (en) * | 2004-07-28 | 2007-03-20 | Caterpillar Inc | Robust barcode and reader for rod position determination |
US7634155B2 (en) * | 2005-01-31 | 2009-12-15 | Caterpillar Inc. | Hybrid optical cylinder position sensor |
US7197424B2 (en) * | 2005-03-31 | 2007-03-27 | Caterpillar Inc | Position sensing system for moveable member |
US7259553B2 (en) * | 2005-04-13 | 2007-08-21 | Sri International | System and method of magnetically sensing position of a moving component |
GB0513000D0 (en) * | 2005-06-24 | 2005-08-03 | Rolls Royce Plc | A method and probe for determining displacement |
US8168917B2 (en) * | 2006-05-30 | 2012-05-01 | Caterpillar Inc. | System and method for laser-encoding information on hydraulic rods |
US20080023553A1 (en) * | 2006-07-31 | 2008-01-31 | Robert Jones | Optical reader having integral lens and diffuser |
US20080040070A1 (en) * | 2006-08-11 | 2008-02-14 | Varco I/P, Inc. | Position Indicator for a Blowout Preventer |
US8719960B2 (en) * | 2008-01-31 | 2014-05-06 | The Board Of Trustees Of The University Of Illinois | Temperature-dependent nanoscale contact potential measurement technique and device |
US20090277962A1 (en) * | 2008-05-09 | 2009-11-12 | Homeywell International Inc. | Acquisition system for obtaining sharp barcode images despite motion |
US8358855B2 (en) * | 2009-07-08 | 2013-01-22 | Honeywell International Inc. | Determining probabilities from compared covariance appearance models to detect objects of interest in images |
EP2534448A4 (en) | 2010-02-11 | 2014-09-10 | Kurt D Fulkerson | Displacement measurement system and method using magnetic encodings |
US10125682B2 (en) | 2013-02-26 | 2018-11-13 | Rolls-Royce Corporation | Methods and apparatus for measuring axial shaft displacement within gas turbine engines |
US10325128B1 (en) * | 2017-05-10 | 2019-06-18 | Amazon Technologies, Inc. | Long range barcode scanning |
US10451447B2 (en) | 2018-01-04 | 2019-10-22 | Mitsubishi Electric Research Laboratories, Inc. | Polarization-dependent position encoder |
JP6999493B2 (en) | 2018-05-22 | 2022-01-18 | 東芝テック株式会社 | Article recognition device |
CN115143162B (en) * | 2021-03-31 | 2024-03-08 | 三一汽车制造有限公司 | Hydraulic cylinder and work machine |
Citations (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4026102A (en) * | 1974-01-25 | 1977-05-31 | Topp Electronics, Inc. | Electronic clock |
US4602242A (en) * | 1981-08-13 | 1986-07-22 | Tokyo Kogaku Kikai Kabushiki Kaisha | Encoder for photoelectric measuring devices |
US4631519A (en) * | 1982-09-01 | 1986-12-23 | Rosemount Engineering Company Limited | Position measuring apparatus |
US4701615A (en) * | 1984-07-25 | 1987-10-20 | Johannes Heidenhain Gmbh | Measuring scale coding system for length or angle measuring instruments |
US4736187A (en) * | 1986-12-04 | 1988-04-05 | The Regents Of The University Of California | Encoder for measuring both incremental and absolute positions of moving elements |
US4879555A (en) * | 1985-08-09 | 1989-11-07 | Kabushiki Kaisha Sg | Absolute linear position detection device |
US4901073A (en) * | 1986-12-04 | 1990-02-13 | Regent Of The University Of California | Encoder for measuring the absolute position of moving elements |
US4914437A (en) * | 1986-12-04 | 1990-04-03 | Regents Of The University Of California | Encoder for measuring both incremental and absolute positions of moving elements |
US4928008A (en) * | 1987-12-11 | 1990-05-22 | The Boeing Company | Variable light transmission filter and optical analog position sensor |
US5117105A (en) * | 1989-07-07 | 1992-05-26 | Kabushiki Kaisha Yaskawa Denki Seisakusho | Absolute encoder |
US5171983A (en) * | 1989-01-09 | 1992-12-15 | Schlumberger Industries Limited | Relative position transducer for oscillating and scanning a read head over a coded track region |
US5235181A (en) * | 1990-12-10 | 1993-08-10 | Tesa, S.A. | Absolute position detector for an apparatus for measuring linear angular values |
US5252825A (en) * | 1990-07-18 | 1993-10-12 | Nikon Corporation | Absolute encoder using interpolation to obtain high resolution |
US5260556A (en) * | 1988-12-20 | 1993-11-09 | Australian Meat & Live-Stock Research & Development Corp. | Optically readable coded target |
US5563408A (en) * | 1991-03-25 | 1996-10-08 | Nikon Corporation | Absolute encoder having absolute pattern graduations and incremental pattern graduations with phase control |
US5576535A (en) * | 1992-06-15 | 1996-11-19 | Bootsman Holding B.V. | Position detection system having groups of unique, partially overlapping sequences of scanner readable markings |
US5693935A (en) * | 1994-07-27 | 1997-12-02 | Parker-Hannifin Corporation | Method and device for continuous pattern sensing using fiber optics |
US5739911A (en) * | 1995-07-15 | 1998-04-14 | Dr. Johannes Heidenhain Gmbh | Position measuring system |
US5959295A (en) * | 1996-07-17 | 1999-09-28 | Braun; Paul-Wilhelm | Timing device and method for positioning non-linear machine parts |
US6097490A (en) * | 1997-06-25 | 2000-08-01 | Dr. Johannes Heidenhain Gmbh | Optical position measuring instrument for generating a reference pulse signal |
US6119939A (en) * | 1998-07-08 | 2000-09-19 | Welch Allyn, Inc. | Optical assembly for barcode scanner |
US6147342A (en) * | 1998-06-02 | 2000-11-14 | Caterpillar Inc. | Encoding system for determining the position of a cylinder rod along a path of movement |
US6229140B1 (en) * | 1995-10-27 | 2001-05-08 | Canon Kabushiki Kaisha | Displacement information detection apparatus |
US6247645B1 (en) * | 1999-01-25 | 2001-06-19 | International Business Machines Corporation | Optical reader with combined housing and light pipe |
US20010017349A1 (en) * | 1999-12-23 | 2001-08-30 | Wolfgang Holzapfel | Position measuring system |
US6342697B1 (en) * | 1998-09-21 | 2002-01-29 | Mitutoyo Corporation | Method and apparatus for detecting origin of measurement |
US20020195551A1 (en) * | 1997-08-15 | 2002-12-26 | John Baxter | Sensor for sensing absolute angular position of a rotatable body |
US6512589B1 (en) * | 1999-11-18 | 2003-01-28 | Hera Rotterdam B.V | Measurement transmitter and method for measuring a position of a sensing head with respect to a scale embodiment |
US6556946B2 (en) * | 2000-12-19 | 2003-04-29 | Caterpillar Inc | Linear position sensor |
US6607128B1 (en) * | 1998-07-08 | 2003-08-19 | Welch Allyn Data Collection Inc. | Optical assembly for barcode scanner |
US20040035933A1 (en) * | 2002-06-11 | 2004-02-26 | Havens William H. | Long range optical reader |
US20040232234A1 (en) * | 2003-05-20 | 2004-11-25 | C.R.F. Societa Consortile Per Azioni | Device and method for determining the position of a movable object |
US7191943B2 (en) * | 2004-07-28 | 2007-03-20 | Caterpillar Inc | Robust barcode and reader for rod position determination |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE8701906D0 (en) | 1987-05-08 | 1987-05-08 | Satt Control Ab | PROCEDURE AND DEVICE FOR PROJECTING AN INDICATED LABEL WITH A DELIVERED FORM |
ES2098219T3 (en) | 1987-08-01 | 1997-05-01 | Beecham Group Plc | PURINE COMPOUNDS AND THEIR PREPARATION. |
GB9807020D0 (en) | 1998-04-02 | 1998-06-03 | Bamford Excavators Ltd | A method of marking a mechanical element, an encoding scheme, a reading means for said marking and an apparatus for determining the position of said element |
-
2004
- 2004-07-28 US US10/900,197 patent/US7191943B2/en not_active Expired - Fee Related
-
2005
- 2005-06-09 WO PCT/US2005/020195 patent/WO2006022983A2/en active Application Filing
- 2005-06-09 GB GB0700708A patent/GB2430820B/en not_active Expired - Fee Related
-
2007
- 2007-02-26 US US11/710,471 patent/US7278574B2/en not_active Expired - Fee Related
- 2007-09-06 US US11/896,901 patent/US20080048040A1/en not_active Abandoned
Patent Citations (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4026102A (en) * | 1974-01-25 | 1977-05-31 | Topp Electronics, Inc. | Electronic clock |
US4602242A (en) * | 1981-08-13 | 1986-07-22 | Tokyo Kogaku Kikai Kabushiki Kaisha | Encoder for photoelectric measuring devices |
US4631519A (en) * | 1982-09-01 | 1986-12-23 | Rosemount Engineering Company Limited | Position measuring apparatus |
US4701615A (en) * | 1984-07-25 | 1987-10-20 | Johannes Heidenhain Gmbh | Measuring scale coding system for length or angle measuring instruments |
US4951048A (en) * | 1985-08-09 | 1990-08-21 | Kabushiki Kaisha Sg | Absolute linear position detection device |
US4879555A (en) * | 1985-08-09 | 1989-11-07 | Kabushiki Kaisha Sg | Absolute linear position detection device |
US4736187A (en) * | 1986-12-04 | 1988-04-05 | The Regents Of The University Of California | Encoder for measuring both incremental and absolute positions of moving elements |
US4901073A (en) * | 1986-12-04 | 1990-02-13 | Regent Of The University Of California | Encoder for measuring the absolute position of moving elements |
US4914437A (en) * | 1986-12-04 | 1990-04-03 | Regents Of The University Of California | Encoder for measuring both incremental and absolute positions of moving elements |
US4928008A (en) * | 1987-12-11 | 1990-05-22 | The Boeing Company | Variable light transmission filter and optical analog position sensor |
US5260556A (en) * | 1988-12-20 | 1993-11-09 | Australian Meat & Live-Stock Research & Development Corp. | Optically readable coded target |
US5171983A (en) * | 1989-01-09 | 1992-12-15 | Schlumberger Industries Limited | Relative position transducer for oscillating and scanning a read head over a coded track region |
US5117105A (en) * | 1989-07-07 | 1992-05-26 | Kabushiki Kaisha Yaskawa Denki Seisakusho | Absolute encoder |
US5252825A (en) * | 1990-07-18 | 1993-10-12 | Nikon Corporation | Absolute encoder using interpolation to obtain high resolution |
US5235181A (en) * | 1990-12-10 | 1993-08-10 | Tesa, S.A. | Absolute position detector for an apparatus for measuring linear angular values |
US5563408A (en) * | 1991-03-25 | 1996-10-08 | Nikon Corporation | Absolute encoder having absolute pattern graduations and incremental pattern graduations with phase control |
US5576535A (en) * | 1992-06-15 | 1996-11-19 | Bootsman Holding B.V. | Position detection system having groups of unique, partially overlapping sequences of scanner readable markings |
US5693935A (en) * | 1994-07-27 | 1997-12-02 | Parker-Hannifin Corporation | Method and device for continuous pattern sensing using fiber optics |
US5739911A (en) * | 1995-07-15 | 1998-04-14 | Dr. Johannes Heidenhain Gmbh | Position measuring system |
US6229140B1 (en) * | 1995-10-27 | 2001-05-08 | Canon Kabushiki Kaisha | Displacement information detection apparatus |
US5959295A (en) * | 1996-07-17 | 1999-09-28 | Braun; Paul-Wilhelm | Timing device and method for positioning non-linear machine parts |
US6097490A (en) * | 1997-06-25 | 2000-08-01 | Dr. Johannes Heidenhain Gmbh | Optical position measuring instrument for generating a reference pulse signal |
US20020195551A1 (en) * | 1997-08-15 | 2002-12-26 | John Baxter | Sensor for sensing absolute angular position of a rotatable body |
US6147342A (en) * | 1998-06-02 | 2000-11-14 | Caterpillar Inc. | Encoding system for determining the position of a cylinder rod along a path of movement |
US6119939A (en) * | 1998-07-08 | 2000-09-19 | Welch Allyn, Inc. | Optical assembly for barcode scanner |
US6607128B1 (en) * | 1998-07-08 | 2003-08-19 | Welch Allyn Data Collection Inc. | Optical assembly for barcode scanner |
US6342697B1 (en) * | 1998-09-21 | 2002-01-29 | Mitutoyo Corporation | Method and apparatus for detecting origin of measurement |
US6247645B1 (en) * | 1999-01-25 | 2001-06-19 | International Business Machines Corporation | Optical reader with combined housing and light pipe |
US6512589B1 (en) * | 1999-11-18 | 2003-01-28 | Hera Rotterdam B.V | Measurement transmitter and method for measuring a position of a sensing head with respect to a scale embodiment |
US6452159B2 (en) * | 1999-12-23 | 2002-09-17 | Johannes Heidenhain Gmbh | Position measuring system |
US20010017349A1 (en) * | 1999-12-23 | 2001-08-30 | Wolfgang Holzapfel | Position measuring system |
US6556946B2 (en) * | 2000-12-19 | 2003-04-29 | Caterpillar Inc | Linear position sensor |
US20040035933A1 (en) * | 2002-06-11 | 2004-02-26 | Havens William H. | Long range optical reader |
US20040232234A1 (en) * | 2003-05-20 | 2004-11-25 | C.R.F. Societa Consortile Per Azioni | Device and method for determining the position of a movable object |
US7191943B2 (en) * | 2004-07-28 | 2007-03-20 | Caterpillar Inc | Robust barcode and reader for rod position determination |
Also Published As
Publication number | Publication date |
---|---|
US20070158423A1 (en) | 2007-07-12 |
WO2006022983A2 (en) | 2006-03-02 |
US7191943B2 (en) | 2007-03-20 |
US20060022047A1 (en) | 2006-02-02 |
GB0700708D0 (en) | 2007-02-21 |
GB2430820A (en) | 2007-04-04 |
WO2006022983A3 (en) | 2006-12-14 |
GB2430820B (en) | 2008-03-26 |
US7278574B2 (en) | 2007-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7278574B2 (en) | Robust barcode and reader for rod position determination | |
Savakis et al. | Blur identification by residual spectral matching | |
US6606579B1 (en) | Method of combining spectral data with non-spectral data in a produce recognition system | |
CN102042827B (en) | Multiple-wavelength laser receiver | |
EP0197199A1 (en) | Apparatus for and a method of measuring the thickness of a film | |
US11851795B2 (en) | System and method for characterization of patterns marked on a fabric | |
GB2443113A (en) | Reading apparatus with appropriately located optical components | |
EP0198955A1 (en) | Apparatus for and a method of measuring the width of a line | |
WO2020070280A2 (en) | High resolution time-of-flight measurements | |
Pallikari et al. | A rescaled range analysis of random events | |
US20120087542A1 (en) | Laser detection device and laser detection method | |
JP2020193957A (en) | Distance image generator which corrects abnormal distance measurement | |
CN1591468B (en) | Method and device for optical navigation | |
EP0921491A1 (en) | Method of estimating the mid-points of bar code elements" | |
US11756304B2 (en) | Methods and apparatus for removing satellite trails from images and/or fitting trail wobble | |
Elorrieta et al. | Homogeneity of the photocathode in the Hamamatsu R15458-02 Photomultiplier Tube | |
US20200278196A1 (en) | Device for detecting the profile of a tire tread, and related detection method | |
CN114719969A (en) | High-speed single photon detection imaging method based on time coding | |
JP4726063B2 (en) | Edge detection method and edge detection apparatus | |
JP7547625B2 (en) | SYSTEM AND METHOD FOR DETERMINING MEASUREMENT POSITIONS IN SEMICONDUCTOR WAFER METROLOGY - Patent application | |
CN109187497B (en) | A kind of initial method of Element detection spectrometer | |
CN103477309B (en) | In optical navigation device or improvement related with optical navigation device | |
WO2023062831A1 (en) | Flow cytometer, position calculating method, and program | |
CN115657055A (en) | Distance measurement system and method for shielding fuzzy distance value | |
Hammer et al. | Approach for High-Performance Random Number Generators for Critical Systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO PAY ISSUE FEE |