EP4305448A1 - Pixeldomänenfeldkalibrierung von triangulationssensoren - Google Patents

Pixeldomänenfeldkalibrierung von triangulationssensoren

Info

Publication number
EP4305448A1
EP4305448A1 EP22716799.6A EP22716799A EP4305448A1 EP 4305448 A1 EP4305448 A1 EP 4305448A1 EP 22716799 A EP22716799 A EP 22716799A EP 4305448 A1 EP4305448 A1 EP 4305448A1
Authority
EP
European Patent Office
Prior art keywords
distance
calibration
signal
position vector
datastore
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.)
Pending
Application number
EP22716799.6A
Other languages
English (en)
French (fr)
Inventor
Wade Oberpriller
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Banner Engineering Corp
Original Assignee
Banner Engineering Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US17/303,061 external-priority patent/US12111397B2/en
Application filed by Banner Engineering Corp filed Critical Banner Engineering Corp
Publication of EP4305448A1 publication Critical patent/EP4305448A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/02Systems using the reflection of electromagnetic waves other than radio waves
    • G01S17/06Systems determining position data of a target
    • G01S17/08Systems determining position data of a target for measuring distance only
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/02Systems using the reflection of electromagnetic waves other than radio waves
    • G01S17/06Systems determining position data of a target
    • G01S17/46Indirect determination of position data
    • G01S17/48Active triangulation systems, i.e. using the transmission and reflection of electromagnetic waves other than radio waves
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/4808Evaluating distance, position or velocity data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/497Means for monitoring or calibrating
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications

Definitions

  • Various embodiments relate generally to field calibration of distance sensors.
  • Distance sensors may be used in various industrial, commercial, and/or residential settings. By way of example and not limitation, distance sensors may be used to monitor operator presence, motion, jam presence, quality control, or some combination thereof. Distance sensors may, for example, be configured to detect the presence of an object in a detection window, at any point in front of the sensor, or some combination thereof.
  • Distance sensors may, for example, be configured to determine distance as a function of a spatial position of a reflected electromagnetic signal onto one or more sensing elements.
  • Spatial position-based distance sensors may include, by way of example and not limitation, infrared sensors, laser (tri angulation) sensors, or some combination thereof.
  • a sensor may include, for example, at least one emitter configured to launch an electromagnetic signal, at least one sensing element configured to receive a reflection of the electromagnetic signal, and a control circuit configured to determine a distance as a function of the position of the reflected electromagnetic signal on the at least one sensing element.
  • Apparatus and associated methods relate to a field-adjustable distance sensor configured to translate a transfer function of the sensor by a substantially constant value in a position domain by calibration at one or more known distances.
  • the transfer function may correlate multiple distances to corresponding position vectors describing a position of a light signal on a receiver.
  • the receiver may, for example, generate a detection signal corresponding to a position on the receiver of a light signal reflected off a target.
  • a control circuit may, for example, generate a position vector in response to the detection signal.
  • a calibration constant (C) may be generated, for example, as a function of a known distance of the target and position vector. C may be applied, for example, to translate the transfer function in the position domain.
  • Various embodiments may advantageously reduce non-linear error in a distance sensor.
  • Various embodiments may achieve one or more advantages. For example, some embodiments may advantageously recalibrate a sensor to reduce error introduced by a shift in a position (e.g., pixel position) vs distance transfer function of the sensor.
  • a calibration constant may be advantageously generated based on a single measurement and calibration.
  • Various embodiments may advantageously reduce random error in measurement at a specific distance and/or in a specific sampling cycle by multiple calibration cycles and/or distances.
  • Various embodiments may advantageously calibrate and/or maintain calibration according to a (predetermined) calibration threshold (e.g., measurement cycles, time).
  • a (calibrated) distance may be advantageously determined from a position of a reflected signal on a receiver.
  • a calibrated lookup table (e.g., distance:position, correction: distance, correctiomposition vector) may advantageously reduce or eliminate an error between measured distance and an actual distance while minimizing and/or eliminating runtime performance costs.
  • a distance may, for example, be advantageously calibrated by application of a calibrated sensor characteristic profile.
  • a distance may, for example, be advantageously calibrated by retrieval of a distance correction generated as a function of a calibrated sensor characteristic profile.
  • Various embodiments may advantageously improve accuracy relative to a linear null/span teach method by leveraging a non-linear relationship in the distance domain between distance to a target and position of a reflected light beam off the target onto a receiver.
  • Various embodiments may advantageously provide a more accurate and/or simpler (field) calibration method (e.g., using one or more calibration points).
  • calibration by position-domain-shift of a transfer function of a sensor may advantageously reduce error within a predetermined accuracy threshold.
  • various embodiments may advantageously provide rapid field-calibration to improve and/or restore accuracy by presenting one or more targets at one or more known distances.
  • the function may be advantageously calibrated to the magnitude of each sensor’s accuracy error at one or more taught distances.
  • FIG. 1 depicts an exemplary field-calibratable distance sensor (FCDS) in an exemplary use case scenario.
  • FCDS field-calibratable distance sensor
  • FIG. 2 depicts an exemplary method of operating an FCDS.
  • FIG. 3 depicts an exemplary block diagram of an FCDS configured to generate a sensor position vector calibration constant.
  • FIG. 4 depicts an exemplary method of calibrating the FCDS of FIG. 3.
  • FIG. 5 depicts an exemplary method of operating the FCDS of FIG. 3 to determine distance by applying the sensor position vector calibration constant.
  • FIG. 6 depicts an exemplary block diagram of an FCDS configured to generate a calibrated distance lookup table from a sensor position vector calibration constant.
  • FIG. 7 depicts an exemplary method of calibrating the FCDS of FIG. 6.
  • FIG. 8 depicts an exemplary method of operating the FCDS of FIG. 6 to determine distance by retrieving a calibrated distance from the calibrated distance lookup table.
  • FIG. 9 depicts an exemplary block diagram of an FCDS configured to generate a distance sensor characteristic curve-fit calibration constant.
  • FIG. 10 depicts an exemplary method of calibrating the FCDS of FIG. 9.
  • FIG. 11 depicts an exemplary method of operating the FCDS of FIG. 9 to determine distance by determining a distance correction by applying the curve-fit calibration constant.
  • FIG. 12 depicts an exemplary block diagram of an FCDS configured to generate a distance correction lookup table.
  • FIG. 13 depicts an exemplary method of calibrating the FCDS of FIG. 12.
  • FIG. 14 depicts an exemplary method of operating the FCDS of FIG. 12 to determine distance by applying a distance correction retrieved from the distance correction lookup table.
  • FIG. 15 depicts an exemplary triangulation sensor geometry.
  • FIG. 16 depicts exemplary accuracy errors in distance sensors after an aging process.
  • FIG. 17A depicts exemplary results of calibrating using a null/span teach method.
  • FIG. 17B depicts exemplary results of calibrating the same sensor as shown in FIG. 17A with a constant shift in the position domain.
  • FIG. 18 depicts exemplary pixel domain shifts of a pixel: distance transfer function for a distance sensor.
  • FIG. 19 depicts exemplary normalized offset results of single-point pixel-domain shift field calibration.
  • FIG. 20 depicts exemplary residual accuracy results of the single-point pixel-domain shift field calibration depicted in FIG. 19.
  • FIG. 21 depicts a curve fit to an exemplary normalized accuracy error profile for distance sensors after an aging process.
  • FIG. 22 depicts exemplary residual accuracy results of a single-point distance-domain field calibration using the curve fit depicted in FIG. 21.
  • FCDS field-calibratable distance sensor
  • FIG. 1 depicts an exemplary field-calibratable distance sensor (FCDS) in an exemplary use case scenario.
  • FCDS 105 is provided with an emitter 110 (e.g., one or more emitter circuits) and an emitter lens in first configuration 115A (e.g., as configured by a factory).
  • the emitter 110 launches an electromagnetic signal (EMS) 120A (e.g., an optical beam) through the emitter lens in configuration 115 A.
  • EMS 120A reflects off of a target 125 at a distance DT from the FCDS 105. At least some portion of the EMS 120 is reflected off the target, generating reflected EMS (REMS) 130A.
  • the REMS 130A passes through a receiver lens in a first configuration 135A (e.g., as configured from the factory) and impinges on receiver 140.
  • the receiver 140 includes multiple spatially distributed sensing elements.
  • the receiver 140 may be configured as a multi-pixel (e.g., ID, 2D, 3D) array of pixels.
  • Each pixel may, for example, include an individual sensing element.
  • Each element may, for example, be a photosensitive element.
  • a photosensitive element may, by way of example and not limitation, be a photodiode and/or other photoelectronic element.
  • a controller 150 may determine a measured distance as a function of the position of impingement of the REMS 130A on the receiver 140.
  • the REMS 130A passes through the lens in the first configuration 135A to impinge on a first pixel 145A of the receiver 140.
  • the controller 150 may, for example, determine a first measured distance (DM1) based on the position of the first pixel 145A on the receiver 140.
  • the receiver 140 may, for example, generate a signal corresponding to activation of the pixel 145 A.
  • the controller 150 may, by way of example and not limitation, determine a first position vector from the signal.
  • the controller 150 may retrieve (e.g., from a lookup table) a distance corresponding to the first position vector.
  • the first configuration 115A of the emitter lens, EMS 120A, REMS 130A, and the first configuration 135 A of the receiver lens may, by way of example and not limitation, correspond to a configuration of the FCDS 105 when departing a factory (e.g., a ‘new’ configuration).
  • the emitter lens has shifted from the first configuration 115A to a second configuration 115B.
  • the receiver lens has shifted from the first configuration 135 A to a second configuration 135B.
  • the change in configuration may, for example, correspond to aging of components, stress, impact, vibration, other (mechanical) inputs, or some combination thereof.
  • a housing, lens(es), emitter, receiver, other components in the optical path of an emitted and/or reflected EMS, or some combination thereof, may shift relative to each other.
  • the emitter 110 launches an EMS 120B, which is displaced downwards from the previous (e.g., original) path.
  • the EMS 120B strikes the target 125 and at least some portion of the EMS 120B reflects as REMS 130B.
  • REMS 130B travels along a different path then REMS 130 A due at least to the change in configuration of the emitter lens.
  • the altered configurations causes a further change from the original path relative to the receiver 140. Accordingly, the REMS 130B strikes the receiver 140 on a second pixel 145B.
  • the FCDS 105 may, for example, thereby determine a different (e.g., inaccurate) measured distance (DM2) although the distance DT of the target 125 relative to the FCDS 105 has not changed.
  • a user 155 operates an input element 160.
  • the input element 160 is operatively coupled to the controller.
  • the input element 160 may be configured to cause a calibration signal to be generated.
  • the controller 150 may respond to the calibration signal by entering a teach mode.
  • the controller 150 may compare at least one position vector generated by the second REMS 130B to at least one expected position vector and/or distance corresponding to the target(s) 125 used for calibration.
  • the comparison may, by way of example and not limitation, be performed directly (e.g., directly comparing position vectors), indirectly (e.g., after looking up a corresponding value, applying a function), or some combination thereof.
  • a plot 165 depicts a spatial (e.g., pixel) domain transfer function defining a correlation between (1) a (physical) distance to a target on the horizontal axis and (2) a position (e.g., as defined by a position vector) of a REMS (e.g., 130A, 130B) on the receiver 140 on the vertical axis.
  • a first transfer function 170 may, for example, correspond to an original calibration of the FCDS 105 (e.g., as calibrated by a factory).
  • a second transfer function 175 may, for example, correspond to an actual transfer function of the FCDS 105 after aging and/or stressors.
  • the second transfer function 175 may define a relationship between a position of a REMS on the sensor (e.g., the receiver 140) and a corresponding measured distance to a target when the lenses are in configuration 115B and 135B.
  • the shift of the transfer function is substantially constant.
  • an (original) transfer function 170 has shifted upward in the position (e.g., pixel) domain by a constant offset in position (e.g., pixel position) as shown by the second transfer function 175.
  • the controller 150 may generate at least one correction constant C as a function of the true distance (DT) of the calibration target 125 and an actual (measured) position vector VM generated as a result of the pixel 145B being activated by the REMS 130B.
  • the correction constant C may be configured to shift a current transfer function 175 in the position (e.g., pixel) domain back towards a desired (e.g., original, accurate) transfer function 170.
  • the controller 150 may advantageously recalibrate the FCDS 105 to reduce error introduced by a shift in the transfer function.
  • the calibration may be performed in the field, as depicted.
  • the calibration may, by way of example and not limitation, be performed as a single point calibration.
  • a target may be presented at a known distance (e.g., DT) and the FCDS 105 be operated to enter a teach mode.
  • the sensor may recalibrate based on a comparison between the known distance and a measured position vector (e.g., generated from pixel 145B being impinged on by the REMS 130B).
  • a calibration constant may be advantageously generated based on the single measurement and calibration.
  • one or more targets may be presented at one or more known distances.
  • one, two, three, or more targets may be presented at one or more known distances.
  • Each target may, for example, be presented at one, two, three, or more known distances.
  • the resulting position vector(s) and/or corresponding (uncalibrated) measured distances may, by way of example and not limitation, be averaged and/or otherwise used to generate a calibration constant C. Accordingly, random error in measurement at a specific distance or in a specific sampling cycle may be advantageously reduced and/or eliminated.
  • FIG. 2 depicts an exemplary method of operating an FCDS.
  • a sensor receives an initiation signal 205.
  • the initiation signal may, by way of example and not limitation, be an automatically generated signal, a programmatically generated signal, a manually generated signal, or some combination thereof.
  • the initiation signal may, by way of example and not limitation, correspond to power on, beginning of predetermined operations (e.g., conveyor belt activated, machine guarding activated), other appropriate trigger, or some combination thereof.
  • predetermined operations e.g., conveyor belt activated, machine guarding activated
  • the method proceeds to measure distance in a step 230. If the sensor has not been calibrated 210, then the method proceeds to determine if the sensor may be auto calibrated 215.
  • the process waits for a calibration signal to be received (e.g., programmatically, via manual input from a user) 220.
  • Insert can be auto calibrated 215, or a calibration signal has been received 220, then calibration 225 is performed.
  • calibration may be performed as described at least with reference to FIGS. 4, 7, 10, and 13.
  • distance may be measured once, periodically, repeatedly, continuously, or some combination thereof. In various embodiments distance may, for example, be measured as described at least with reference to FIGS. 5, 8, 11, and 14.
  • a calibration threshold may, by way of example and not limitation, be a cycle count (e.g., recalibrate after X cycles), be a timer (e.g., recalibrate after Y units of time), or some combination thereof. If the calibration threshold has not been reached 240, then the method returns to step 230 to measure distance. If the calibration threshold has been reached 240, then the method returns to step 215 to recalibrate and continue measurement. Accordingly, various embodiments may advantageously calibrate and/or maintain calibration according to a (predetermined) calibration threshold.
  • FIG. 3 depicts an exemplary block diagram of an FCDS configured to generate a sensor position vector calibration constant.
  • the depicted FCDS 300 includes a processor 305.
  • the processor 305 is operably coupled to (e.g., in electrical communication with) the emitter 110 and the receiver (e.g., a spatially distributed receiver array) 140.
  • the processor 305 is operably coupled at least to (e.g., in electrical communication with) non-volatile memory (NVM) modules 310, 315, 320, and 325.
  • NVM non-volatile memory
  • NVM modules may be combined and/or additional NVM modules may be provided.
  • NVM module 310 is a positiomdistance lookup table (LUT).
  • the lookup table may, for example, map each of multiple position vectors identifying a location of a REMS on the receiver 140 to a corresponding measured distance value.
  • the NVM module 315 includes a program of operations configured to be executed as runtime instructions on the processor 305.
  • the runtime instructions may, for example, be configured to cause the processor 305 to perform runtime operations described at least with reference to FIG. 5.
  • the NVM module 320 includes a program of operations configured to be executed as calibration (e.g., teach mode) instructions on the processor 305.
  • the calibration instructions may, for example, be configured to cause the processor 305 to perform calibration operations described at least with reference to FIG. 4.
  • the NVM module 325 includes a calibration constant (e.g., C), which may be determined during calibration operations.
  • the processor 305 is operably coupled to a random access memory (RAM) module 330.
  • RAM random access memory
  • RAM modules may be combined and/or additional RAM modules may be provided.
  • the RAM module 330 includes the calibration constant at least part of the time such as, for example, when generated during calibration operations and/or during runtime operations applying the calibration constant.
  • FIG. 4 depicts an exemplary method of calibrating the FCDS of FIG. 3.
  • a signal is received 405 to cause the FCDS 300 to enter a calibration mode.
  • the processor 305 may, for example, execute operations stored in NVM 320.
  • the calibration mode may, for example, include a teach mode configured to allow a user to ‘teach’ one or more correct distances to the sensor.
  • a calibration signal is received 410 corresponding to a true distance (DT) of a calibration target from the FCDS 300.
  • the calibration signal may, for example, correspond to manual input for calibration, programmatic (e.g., on startup, periodic, per measurement cycle) calibration command(s), or some combination thereof.
  • An expected position vector (VT) is determined 415 corresponding to DT.
  • VT may, for example, be determined by retrieving a position vector from the LUT NVM 310 corresponding to the distance DT.
  • the emitter 110 generates (e.g., as operated by the processor 305) 420 a light signal at the calibration target.
  • a detection signal is received 425 from the receiver 140 corresponding to a position of a reflection of the light signal off the target impinging on the receiver 140.
  • a detected position vector (VM) is generated 430 from the detection signal and corresponding to a position of the reflected light signal on the receiver 140.
  • VM is compared to VT. If a difference between VT and VM is less than a (predetermined) calibration threshold (TH) 435, then no calibration is needed, and the process ends. If the difference is not below TH 435, then a calibration constant (C) is generated 440.
  • C is a position vector (e.g., pixel) shift (substantially) equal to a difference between VT and VM. C is then stored 445 (in NVM module 325) and the calibration process ends.
  • C may be accessed for application (e.g., addition, subtraction) to a measured position vector (e.g., VM) to generate a calibrated position vector such that a determined distance is calibrated to reduce or eliminate an error between the measured distance and an actual distance.
  • a measured position vector e.g., VM
  • FIG. 5 depicts an exemplary method of operating the FCDS of FIG. 3 to determine distance by applying the sensor position vector calibration constant.
  • an emitted light signal is generated 505 by emitter 110.
  • the processor 305 may, for example, execute operations stored in NVM 315 to operate the emitter 110 and/or to perform other runtime operations. If a reflected light signal is not detected 510 on the receiver 140, then the method returns to step 505. If a reflected light signal is detected 510, then a detection signal is received 515 from the receiver 140 corresponding to a position of the reflected light signal from a measurement target on the receiver 140. A measured position vector VM is determined 520 from the detection signal.
  • a distance signal (DC) is generated 535 from the corrected position vector VC.
  • DC may be generated by retrieving a distance corresponding to the position vector from the LUT NVM 310. Accordingly, a (calibrated) distance may be advantageously determined from a position of a reflected signal on the receiver 140. The distance may, for example, be advantageously calibrated by application of a calibration constant.
  • FIG. 6 depicts an exemplary block diagram of an FCDS configured to generate a calibrated distance lookup table from a sensor position vector calibration constant.
  • the depicted FCDS 600 includes a processor 605.
  • the processor 605 is operably coupled to (e.g., in electrical communication with) the emitter 110 and the receiver (e.g., a spatially distributed receiver array) 140.
  • the processor 605 is operably coupled at least to (e.g., in electrical communication with) non-volatile memory (NVM) modules 610, 615, and 620.
  • NVM non-volatile memory
  • NVM modules may be combined and/or additional NVM modules may be provided.
  • NVM module 610 is a positiomdistance lookup table (LUT).
  • the lookup table may, for example, map each of multiple position vectors identifying a location of a REMS on the receiver 140 to a corresponding measured distance value.
  • the NVM module 615 includes a program of operations configured to be executed as runtime instructions on the processor 605.
  • the runtime instructions may, for example, be configured to cause the processor 605 to perform runtime operations described at least with reference to FIG. 8.
  • the NVM module 620 includes a program of operations configured to be executed as calibration (e.g., teach mode) instructions on the processor 605.
  • the calibration instructions may, for example, be configured to cause the processor 605 to perform calibration operations described at least with reference to FIG. 7.
  • the processor 305 is operably coupled to a random access memory (RAM) module 630.
  • RAM random access memory
  • RAM modules may be combined and/or additional RAM modules may be provided.
  • the RAM module 630 includes the calibration constant at least part of the time such as, for example, when generated during calibration operations.
  • FIG. 7 depicts an exemplary method of calibrating the FCDS of FIG. 6.
  • a signal is received 705 to cause the FCDS 600 to enter a calibration mode.
  • the processor 605 may, for example, execute operations stored in NVM 620.
  • the calibration mode may, for example, include a teach mode configured to allow a user to ‘teach’ one or more correct distances to the sensor.
  • a calibration signal is received 710 corresponding to a true distance (DT) of a calibration target from the FCDS 600.
  • the calibration signal may, for example, correspond to manual input for calibration, programmatic (e.g., on startup, periodic, per measurement cycle) calibration command(s), or some combination thereof.
  • An expected position vector (VT) is determined 715 corresponding to DT.
  • VT may, for example, be determined by retrieving a position vector from the LUT NVM 610 corresponding to the distance DT.
  • the emitter 110 generates (e.g., as operated by the processor 605) 720 a light signal at the calibration target.
  • a detection signal is received 725 from the receiver 140 corresponding to a position of a reflection of the light signal off the target impinging on the receiver 140.
  • a detected position vector (VM) is generated 730 from the detection signal and corresponding to a position of the reflected light signal on the receiver 140.
  • VM is compared to VT. If a difference between VT and VM is less than a (predetermined) calibration threshold (TH) 735, then no calibration is needed, and the process ends. If the difference is not below TH 735, then a calibration constant (C) is generated 740.
  • C is a position vector (e.g., pixel) shift (substantially) equal to a difference between VT and VM.
  • C is then applied to the stored LUT in NVM 610 to generate a calibrated LUT in a step 745 by shifting each position value in the LUT by C.
  • the calibrated LUT may, by way of example and not limitation, overwrite the previously stored LUT in NVM 610 and/or may be stored in a memory module. Accordingly, a calibrated LUT may be accessed to determine a calibrated distance as a function of a measured position vector. The calibrated LUT may advantageously reduce or eliminate an error between the measured distance and an actual distance while minimizing and/or eliminating runtime performance costs.
  • FIG. 8 depicts an exemplary method of operating the FCDS of FIG. 6 to determine distance by retrieving a calibrated distance from the calibrated distance lookup table.
  • an emitted light signal is generated 805 by emitter 110.
  • the processor 605 may, for example, execute operations stored in NVM 615 to operate the emitter 110 and/or to perform other runtime operations. If a reflected light signal is not detected 810 on the receiver 140, then the method returns to step 805. If a reflected light signal is detected 810, then a detection signal is received 815 from the receiver 140 corresponding to a position of the reflected light signal from a measurement target on the receiver 140. A measured position vector VM is determined 820 from the detection signal.
  • a distance signal is generated 825 from the measured position vector VM.
  • DC may be generated by retrieving a distance corresponding to the position vector from a calibrated LUT generated as disclosed at least with reference to FIG. 7 (e.g., retrieved from NVM 610).
  • a (calibrated) distance may be advantageously determined from a position of a reflected signal on the receiver 140.
  • the distance may, for example, be advantageously calibrated with minimal or no runtime performance impact by using a calibrated lookup table.
  • FIG. 9 depicts an exemplary block diagram of an FCDS configured to generate a distance sensor characteristic curve-fit calibration constant.
  • the depicted FCDS 900 includes a processor 905.
  • the processor 905 is operably coupled to (e.g., in electrical communication with) the emitter 110 and the receiver (e.g., a spatially distributed receiver array) 140.
  • the processor 905 is operably coupled at least to (e.g., in electrical communication with) non volatile memory (NVM) modules 910, 915, 920, 925, and 930.
  • NVM modules may be combined and/or additional NVM modules may be provided.
  • NVM module 910 is a positiomdistance lookup table (LUT).
  • the lookup table may, for example, map each of multiple position vectors identifying a location of a REMS on the receiver 140 to a corresponding measured distance value.
  • the NVM module 915 includes a program of operations configured to be executed as runtime instructions on the processor 905.
  • the runtime instructions may, for example, be configured to cause the processor 905 to perform runtime operations described at least with reference to FIG. 11.
  • the NVM module 920 includes a program of operations configured to be executed as calibration (e.g., teach mode) instructions on the processor 905.
  • the calibration instructions may, for example, be configured to cause the processor 905 to perform calibration operations described at least with reference to FIG. 10.
  • the NVM module 925 includes a predetermined curve-fit relationship.
  • the curve-fit relationship may, by way of example and not limitation, include a predetermined relationship between error and distance, error and position (e.g., pixel), other appropriate relationship, or some combination thereof.
  • the curve-fit relationship may, by way of example and not limitation, include linear, polynomial, exponential, logarithmic, other appropriate function components, or some combination thereof.
  • the NVM module 930 includes a calibration constant (e.g., C), which may be determined during calibration operations.
  • the predetermined curve- fit may be updated (e.g., during calibration operations) based on the calibration constant and the result stored in a single memory module.
  • the processor 905 is operably coupled to a random access memory (RAM) module 935.
  • RAM random access memory
  • RAM modules may be combined and/or additional RAM modules may be provided.
  • the RAM module 935 includes the calibration curve-fit relationship at least part of the time such as, for example, when generated during calibration operations and/or during runtime operations applying the calibration constant.
  • the calibration curve-fit relationship may be a function of the predetermined curve-fit stored in the NVM module 925 and the calibration constant stored in the NVM module 930.
  • FIG. 10 depicts an exemplary method of calibrating the FCDS of FIG. 9.
  • a signal is received 1005 to cause the FCDS 900 to enter a calibration mode.
  • the processor 905 may, for example, execute operations stored in NVM 920.
  • the calibration mode may, for example, include a teach mode configured to allow a user to ‘teach’ one or more correct distances to the sensor.
  • a calibration signal is received 1010 corresponding to a true distance (DT) of a calibration target from the FCDS 900.
  • the calibration signal may, for example, correspond to manual input for calibration, programmatic (e.g., on startup, periodic, per measurement cycle) calibration command(s), or some combination thereof.
  • the emitter 110 generates (e.g., as operated by the processor 905) 1015 a light signal at the calibration target.
  • a detection signal is received 1020 from the receiver 140 corresponding to a position of a reflection of the light signal off the target impinging on the receiver 140.
  • a detected position vector is generated 1025 from the detection signal and corresponding to a position of the reflected light signal on the receiver 140.
  • a measured distance signal is generated 1030 from VM.
  • DM may be generated by retrieving a distance value from the LUT in NVM module 910 as a function of VM.
  • DM is compared to DT. If a difference between DM and DT is less than a (predetermined) calibration threshold (TH) 1035, then no calibration is needed, and the process ends. If the difference is not below TH 1035, then a calibration constant (C) is generated 1040.
  • C is generated according to a correction distance (CD) substantially equal to a difference between DT and DM.
  • C may be a (scaling) factor of a (second order) polynomial curve-fit equation (e.g., stored in NVM module 925) defining a predetermined characteristic profile of the sensor.
  • C is then stored 1045 (in NVM module 930) and the calibration process ends.
  • C may be accessed for application (e.g., scaling) with a characteristic profile (e.g., a curve-fit equation stored in the NVM module 925) to a measured distance to generate a calibrated distance.
  • a characteristic profile e.g., a curve-fit equation stored in the NVM module 925
  • the calibrated distance measurement may reduce or eliminate an error between the measured distance and an actual distance.
  • FIG. 11 depicts an exemplary method of operating the FCDS of FIG. 9 to determine distance by determining a distance correction by applying the curve-fit calibration constant.
  • an emitted light signal is generated 1105 by emitter 110.
  • the processor 905 may, for example, execute operations stored in NVM 915 to operate the emitter 110 and/or to perform other runtime operations. If a reflected light signal is not detected 1110 on the receiver 140, then the method returns to step 1105. If a reflected light signal is detected 1110, then a detection signal is received 1115 from the receiver 140 corresponding to a position of the reflected light signal from a measurement target on the receiver 140. A measured position vector VM is determined 1120 from the detection signal.
  • a measured distance signal (DM) is generated 1125 from VM and the LUT stored in the NVM module 910.
  • the processor 905 may retrieve DM from the LUT as a function of VM.
  • a calibration constant C is set 1130 (e.g., generated by the method 1000, stored in the NVM module 925, and/or loaded into the RAM module 930)
  • a correction distance (DS) is generated 1135 by applying the calibrated (e.g., by C) characteristic profile (e.g., curve-fit relationship) to DM.
  • DS may be an output of a characteristic profile relationship depending on inputs DM and C.
  • a calibrated distance signal (DC) is generated 1140 from DM and DS, and DC may be output as the final measured distance. If C is not set 1130 (e.g., no calibration has been performed, no calibration is required), then no correction is applied, and DM may be output as the final measured distance. Accordingly, a (calibrated) distance may be advantageously determined from a position of a reflected signal on the receiver 140. The distance may, for example, be advantageously calibrated by application of a calibrated sensor characteristic profile.
  • FIG. 12 depicts an exemplary block diagram of an FCDS configured to generate a distance correction lookup table.
  • the depicted FCDS 1200 includes a processor 1205.
  • the processor 1205 is operably coupled to (e.g., in electrical communication with) the emitter 110 and the receiver (e.g., a spatially distributed receiver array) 140.
  • the processor 1205 is operably coupled at least to (e.g., in electrical communication with) non-volatile memory (NVM) modules 1210, 1215, 1220, 1225, and 1230.
  • NVM modules may be combined and/or additional NVM modules may be provided.
  • NVM module 1210 is a positiomdistance lookup table (LUT).
  • the lookup table may, for example, map each of multiple position vectors identifying a location of a REMS on the receiver 140 to a corresponding measured distance value.
  • the NVM module 1215 includes a program of operations configured to be executed as runtime instructions on the processor 1205.
  • the runtime instructions may, for example, be configured to cause the processor 1205 to perform runtime operations described at least with reference to FIG. 14.
  • the NVM module 1220 includes a program of operations configured to be executed as calibration (e.g., teach mode) instructions on the processor 1205.
  • the calibration instructions may, for example, be configured to cause the processor 1205 to perform calibration operations described at least with reference to FIG. 13.
  • the NVM module 1225 includes a predetermined curve-fit relationship.
  • the curve-fit relationship may, by way of example and not limitation, include a predetermined relationship between error and distance, error and position (e.g., pixel), other appropriate relationship, or some combination thereof.
  • the curve-fit relationship may, by way of example and not limitation, include linear, polynomial, exponential, logarithmic, other appropriate function components, or some combination thereof.
  • the NVM module 1230 includes a calibration constant (e.g., C), which may be determined during calibration operations.
  • the predetermined curve- fit may be updated (e.g., during calibration operations) based on the calibration constant and the result stored in a single memory module.
  • the processor 1205 is operably coupled to a random access memory (RAM) module 1235.
  • RAM random access memory
  • RAM modules may be combined and/or additional RAM modules may be provided.
  • FIG. 13 depicts an exemplary method of calibrating the FCDS of FIG. 12.
  • a signal is received 1305 to cause the FCDS 1200 to enter a calibration mode.
  • the processor 1205 may, for example, execute operations stored in NVM 1220.
  • the calibration mode may, for example, include a teach mode configured to allow a user to ‘teach’ one or more correct distances to the sensor.
  • a calibration signal is received 1310 corresponding to a true distance (DT) of a calibration target from the FCDS 1200.
  • the calibration signal may, for example, correspond to manual input for calibration, programmatic (e.g., on startup, periodic, per measurement cycle) calibration command(s), or some combination thereof.
  • the emitter 110 generates (e.g., as operated by the processor 1205) 1315 a light signal at the calibration target.
  • a detection signal is received 1320 from the receiver 140 corresponding to a position of a reflection of the light signal off the target impinging on the receiver 140.
  • a detected position vector is generated 1325 from the detection signal and corresponding to a position of the reflected light signal on the receiver 140.
  • a measured distance signal is generated 1330 from VM.
  • DM may be generated by retrieving a distance value from the LUT in NVM module 1210 as a function of VM.
  • DM is compared to DT. If a difference between DM and DT is less than a (predetermined) calibration threshold (TH) 1335, then no calibration is needed, and the process ends. If the difference is not below TH 1335, then a calibration constant (C) is generated 1340.
  • C is generated according to a correction distance (CD) substantially equal to a difference between DT and DM.
  • CD correction distance
  • C may be a (scaling) factor of a (second order) polynomial curve-fit equation (e.g., stored in NVM module 1225) defining a predetermined characteristic profile of the sensor.
  • a correction LUT is then generated 1345 (e.g., stored in NVM module 1230) and the calibration process ends.
  • the correction LUT may, for example, be generated by applying a calibrated characteristic profile (e.g., a curve-fit equation stored in the NVM module 1225 as calibrated by C) to multiple measured distances (e.g., corresponding to distances in the positiomdistance LUT stored in the NVM module 1210) to generate a corresponding correction distance.
  • a calibrated characteristic profile e.g., a curve-fit equation stored in the NVM module 1225 as calibrated by C
  • measured distances e.g., corresponding to distances in the positiomdistance LUT stored in the NVM module 1210
  • Each measured distance: correction distance pair may then be stored in the correction LUT (e.g., stored in the NVM module 1230).
  • the correction LUT may be applied to a distance measurement to generate a calibrated distance measurement.
  • the calibration may reduce or eliminate an error between a calibrated measured distance and an actual distance.
  • the correction LUT may be omitted.
  • a calibrated positiomdistance LUT may, by way of example and not limitation, be generated by applying a correction (e.g., as discussed in generating the correction LUT).
  • a calibrated positiomdistance LUT may be generated by, for each of multiple distances in the LUT, apply C (e.g., as a coefficient of a characteristic profile) to the distance to generate a calibrated distance. Accordingly, corresponding position vectors in the LUT are advantageously mapped to calibrated distance values. Such embodiments may, for example, advantageously reduce and/or eliminate runtime performance impact of calibration.
  • FIG. 14 depicts an exemplary method of operating the FCDS of FIG. 12 to determine distance by applying a distance correction retrieved from the distance correction lookup table.
  • an emitted light signal is generated 1405 by emitter 110.
  • the processor 1205 may, for example, execute operations stored in NVM 1215 to operate the emitter 110 and/or to perform other runtime operations. If a reflected light signal is not detected 1410 on the receiver 140, then the method returns to step 1405. If a reflected light signal is detected 1410, then a detection signal is received 1415 from the receiver 140 corresponding to a position of the reflected light signal from a measurement target on the receiver 140. A measured position vector VM is determined 1420 from the detection signal.
  • a measured distance signal is generated 1425 from VM and the positiomdistance LUT stored in the NVM module 1210.
  • the processor 1205 may retrieve DM from the LUT as a function of VM.
  • the processor 1205 may retrieve DM from a calibrated LUT and the process may end.
  • a calibration constant C is set 1430 (e.g., generated by the method 1300, stored in the NVM module 1225, and/or loaded into the RAM module 1235)
  • a correction distance (DS) is generated 1435 by retrieving, from the distance: correction LUT table stored in the NVM module 1230, the correction distance (DS) corresponding to DM.
  • a calibrated distance signal (DC) is generated 1440 from DM and DS, and DC may be output as the final measured distance.
  • C is not set 1430 (e.g., no calibration has been performed, no calibration is required)
  • no correction is applied, and DM may be output as the final measured distance.
  • a (calibrated) distance may be advantageously determined from a position of a reflected signal on the receiver 140.
  • the distance may, for example, be advantageously calibrated by retrieval of a distance correction generated as a function of calibrated sensor characteristic profile.
  • FIG. 15 depicts an exemplary triangulation sensor geometry.
  • an emitter 1505 e.g., LED, laser diode, avalanche photodiode, infrared emitter
  • the light beam reflects off of a target 1515.
  • the reflected beam passes through a lens 1520 (e.g., a collimating lens) onto a receiver 1525.
  • the location of the centroid of the received light moves along the receiver 1525 (e.g., a spatially distributed array) away from the emitter 1505.
  • the “far” location of the receiver 1525 is referred to as the portion that is closest to the emitter 1505. As depicted, equal incremental steps of the target 1515 towards the sensor result in increasingly large steps in position of the reflected light beam onto the receiver 1525.
  • FIG. 16 depicts exemplary accuracy errors in distance sensors after an aging process.
  • a set of sensors were produced and “seasoned” by aging them naturally and subjecting them to thermal and mechanical stress. After this aging period, the error in the calibration map as a function of distance was observed and recorded.
  • accuracy (mm) to distance (mm) scatterplot 1600 error increases non- linearly with distance. For example, in a near range (defined in the depicted example as up to about 500 mm), error is less than 20 mm. In a far range (defined in the depicted example as beyond about 500 mm), the error increases non-linearly with distance.
  • FIG. 17A depicts exemplary results of calibrating using a null/span teach method.
  • accuracy of an uncalibrated aged sensor is shown by scatterplot 1705.
  • Conventional null/span teach calibration is made by ‘teaching’ the sensor with a target at a known near distance (e.g., nearly 0 mm) and a known far distance (e.g., about 3000 mm). All error is assumed to be linear between the two learning points.
  • a new calibration e.g., calibration map
  • Accuracy of the sensor after the null/span calibration is shown by scatterplot 1710.
  • the maximum error is reduced (e.g., from about 260 mm at 3000 mm to about -70 mm at about 1400 mm)
  • a greater amount of error is now introduced into portions of the range.
  • the error at about 500 mm is increased from about 10 mm to about 30 mm. Because a linear assumption is made, and a relationship between position of a reflected signal and distance is not linear, then error is now maximized and/or introduced, for example, between the calibration (teach) points.
  • FIG. 17B depicts exemplary results of calibrating the same sensor as shown in FIG. 17A with a constant shift in the position domain.
  • the (uncalibrated) sensor was calibrated to introduce a substantially constant shift in the position domain.
  • the uncalibrated sensor was taught using a target at a single known distance, such as disclosed at least with reference to FIG. 4. The known distance was greater than or equal to 500 mm.
  • An expected pixel position of a centroid of a corresponding reflected light beam off the target was determined based on the known distance of the target. The expected pixel position was compared to the actual pixel position of the centroid of the reflected light beam.
  • a pixel position shift (e.g., as a calibration constant) was determined based on the comparison (e.g., a difference between the expected pixel position and the actual pixel position).
  • the pixel position shift (calibration constant) was applied across all distances to uniformly shift the pixel position for each distance by the calibration constant.
  • the resulting accuracy vs true distance plot is depicted in a comparison plot 1701 by a scatterplot 1715.
  • the error was reduced to substantially +/- 20 mm.
  • substantially no error was introduced in a central region of the distance range as compared to the scatterplot 1710 depicting the null/span teach method applied to the same sensor.
  • various embodiments may advantageously improve accuracy relative to a linear null/span teach method by leveraging the non-linear relationship in the distance domain (e.g., depicted at least by FIG. 15) between distance to a target and position of a reflected light beam off the target onto a receiver.
  • various embodiments may advantageously provide a more accurate and/or simpler (field) calibration method (e.g., using one or more calibration points).
  • FIG. 18 depicts exemplary pixel domain shifts of a pixel: distance transfer function for a distance sensor.
  • the transfer functions depicted in exemplary plot 1800 may, by way of example and not limitation, define a relationship between distance and REMS location on a receiver (e.g., 140, 1525), such as a spatially distributed photosensitive pixel array.
  • the geometry disclosed at least with reference to FIGS. 1 and 15 may be defined, for example, by a non-linear curve such as is shown by transfer function plot 1805.
  • the transfer function plot 1805 may, for example, define a positiomdistance characteristic of a sensor when configured to measure distance within a predetermined accuracy threshold.
  • the transfer plot 1805 may represent a new condition of the sensor.
  • the sensor may, for example, not have aged and/or been exposed to stressors.
  • Aging, stressors, or some combination thereof may, by way of example and not limitation, cause a shift in the transfer function.
  • various components e.g., emitter, receiver, lens(es), housing
  • the transfer function is shifted upwards as depicted by plot 1810 by a substantially constant value C+.
  • a given pixel location now corresponds to a shorter distance.
  • a pixel location 100,000 originally corresponded to about 500 mm, and now corresponds to about 400 mm. Accordingly, if the sensor is still calibrated based on the transfer function plot 1805 which applied before the transfer function shifted, at 500 mm, the sensor would have an error of approximately 100 mm.
  • the transfer function is shifted downwards as depicted by plot 1815 by a substantially constant value C-. Accordingly, a given pixel location now corresponds to a farther distance. For example, in the depicted example, the pixel location 100,000 now corresponds to about 600 mm. Accordingly, if the sensor is still calibrated based on the transfer function plot 1805 which applied before the transfer function shifted, at 500 mm, the sensor would have an error of approximately 100 mm.
  • the error in distance varies non-linearly with distance (as can be seen in FIG. 16).
  • the transfer function shifts substantially a constant amount in the pixel domain.
  • Various embodiments provide for field-calibration of a sensor by determining a calibration constant which effects a substantially constant shift in the positiomdistance transfer function. Accordingly, various embodiments may advantageously provide accurate and/or efficient (e.g., single point) calibration of a (tri angulation) sensor(s).
  • FIG. 19 depicts exemplary normalized offset results of single-point pixel-domain shift field calibration.
  • the sensors depicted in scatterplot 1600 of FIG. 16 were calibrated by teaching at a single distance to generate and apply a pixel-shift calibration constant to a lookup table (LUT) correlating pixel positiomdistance (e.g., defined by a transfer function similar to those shown in FIG. 18) such as, for example, is disclosed at least with reference to FIGS. 3- 9.
  • LUT lookup table
  • the amount of pixel offset required to achieve accuracy at each distance was divided by the pixel-shift calibration distance generated, and the results presented in scatterplot 1900 as normalized offset (dimensionless) vs true distance (mm).
  • the calibration is especially effective at achieving the necessary shift in the far range (e.g., above about 500 mm).
  • FIG. 20 depicts exemplary residual accuracy results of the single-point pixel-domain shift field calibration depicted in FIG. 19.
  • the accuracy results of the same calibrated sensors depicted in scatterplot 1900 of FIG. 19 were plotted as accuracy (mm) vs true distance (mm) in scatterplot 2000.
  • the calibration effectively reduced the maximum error by more than 30 mm.
  • the uncalibrated error exceeded +/- 100 mm (beyond the view of the plot), while the calibrated error was between +/- 70 mm (at outliers).
  • FIG. 21 depicts a curve fit to an exemplary normalized accuracy error profile for distance sensors after an aging process.
  • the magnitude of the accuracy error profile over true distance was normalized for all the uncalibrated sensors depicted in FIG. 16, and the results were plotted in scatterplot 2100.
  • a second- order polynomial curve fit 2105 was applied to determine a sensor characteristic profile describing the error.
  • This (polynomial) characteristic profile may then be calibrated for each sensor by determining one or more calibration constant.
  • the calibration constant(s) may, for example, be configured as a coefficient (e.g., a weighting / scaling coefficient) of the function.
  • the function may be advantageously calibrated to the magnitude of each sensor’s accuracy error at one or more taught distances.
  • this method may advantageously provide increased accuracy at taught distances further from the sensor (e.g., in a ‘far range’ such as, by way of example and not limitation, beyond about 500mm). In various embodiments any distance(s) in the sensor’s operating range may be used.
  • FIG. 22 depicts exemplary residual accuracy results of a single-point distance-domain field calibration using the curve fit depicted in FIG. 21.
  • the uncalibrated sensors depicted in FIG. 16 were calibrated using a distance-shift calibration (vs. a pixel-shift) such as, for example, is disclosed as least with reference to FIGS. 9-14.
  • the curve-fit depicted in FIG. 21 was applied, as calibrated by a correction factor.
  • Tm uncorrected measured distance from teach at teach distance.
  • the calibration constant for each sensor may, for example, be defined by:
  • the calibration constant may then be applied to determine the correction distance as a function of C and the uncalibrated measured distance Dm by Equation 3:
  • the final corrected distance measurement (Dc) can then be calculated as:
  • the distance measurement may be corrected during runtime by calculation of Cd on the fly (e.g., as disclosed at least with reference to FIGS. 9-11), during runtime by application of a correction LUT such as a LUT mapping multiple distances to a corresponding Cd (e.g., as disclosed at least with reference to FIGS. 12-14), during calibration by generation of a corrected LUT mapping multiple positions (e.g., pixel positions) to a corresponding Dc, or some combination thereof.
  • a correction LUT such as a LUT mapping multiple distances to a corresponding Cd
  • FIGS. 12-14 e.g., as disclosed at least with reference to FIGS. 12-14
  • a corrected LUT mapping multiple positions e.g., pixel positions
  • calibration may be enforced to be performed with at least one target at a distance corresponding to higher accuracy for the specific sensor characteristic(s) and/or configuration.
  • various embodiments may be configured to only complete calibration if a target is measured as being positioned at a distance of at least 5, 100, 500, 1000, 10000 mm, further, therebetween, in a range thereof, other appropriate distance threshold, or some combination thereof.
  • a minimum target distance and/or target distance range may be determined by sensor geometry, environment, sensor electrical and/or mechanical characteristic(s), or some combination thereof.
  • a placement jig e.g., a length of material of predetermined and/or adjustable length, a target holder, or some combination thereof
  • a placement jig e.g., a length of material of predetermined and/or adjustable length, a target holder, or some combination thereof
  • a sensor may include, by way of example and not limitation, an optical sensor such as is described at least with reference to FIGS. 1, 7 of U.S. Application Serial No. 17/072,028, titled “IMAGE-BASED JAM DETECTION,” filed by Wade Oberpriller, et ak, on October 15, 2020; with reference to FIGS. 1, 7 of U.S. Application Serial No. 62/916,087, titled “Imaging System Using Tri angulation,” filed by Wade Oberpriller, et ak, on October 16, 2019; and, with reference to FIGS. 1, 7 of U.S. Application Serial No.
  • the receiver(s) may be configured as a 1-D pixel array, such as is described at least with reference to FIGS. 1 of the incorporated applications.
  • a reflected REMS (e.g., light signal) onto a receiver may result in a profile that may be generally bell-shaped or Gaussian (e.g., as disclosed at least with reference to FIGS. 3B of the aforementioned and incorporated applications).
  • the profile may, for example, spread across multiple pixels of a multi-pixel receiver.
  • Various embodiments may determine a centroid of the profile.
  • Various embodiments may, for example, interpolate between pixels to determine a position of the centroid. Accordingly, various embodiments may advantageously digitally reconstruct a location of the centroid of the REMS with sub pixel accuracy.
  • a sensor may be configured to detect a distance with reference to a background and/or in the absence of a background.
  • Various embodiments may, for example, be configured to detect a jam with reference to a background (e.g., a background mode) and/or in a backgroundless mode.
  • a background e.g., a background mode
  • Such embodiments may, by way of example and not limitation, be configured as disclosed at least with reference to FIGS. 1-4 of U.S. Provisional Application Serial No.
  • Various embodiments may, for example, be configured to field calibrate (e.g., automatically) based on a target at a known distance (e.g., a background for a backgrounding mode, a target in a known relationship to a conveyor in a backgroundless mode). Accordingly, various embodiments may advantageously automatically calibrate without user interference. Various embodiments may, therefore, advantageously maintain more accurate readings.
  • Various embodiments may, for example, automatically calibrate upon being activated (e.g., powered on), based on a predetermined threshold (e.g., time, cycles) such as disclosed at least with reference to FIG. 2, after and/or before every measurement, upon manual input (e.g., remote and/or local user-initiated generation of a calibration initiation signal), or some combination thereof.
  • a predetermined threshold e.g., time, cycles
  • some bypass circuits implementations may be controlled in response to signals from analog or digital components, which may be discrete, integrated, or a combination of each.
  • Some embodiments may include programmed, programmable devices, or some combination thereof (e.g., PLAs, PLDs, ASICs, microcontroller, microprocessor), and may include one or more data stores (e.g., cell, register, block, page) that provide single or multi-level digital data storage capability, and which may be volatile, non-volatile, or some combination thereof.
  • Some control functions may be implemented in hardware, software, firmware, or a combination of any of them.
  • Computer program products may contain a set of instructions that, when executed by a processor device, cause the processor to perform prescribed functions.
  • Computer program products which may include software, may be stored in a data store tangibly embedded on a storage medium, such as an electronic, magnetic, or rotating storage device, and may be fixed or removable (e.g., hard disk, floppy disk, thumb drive, CD, DVD).
  • Temporary auxiliary energy inputs may be received, for example, from chargeable or single use batteries, which may enable use in portable or remote applications. Some embodiments may operate with other DC voltage sources, such as batteries, for example.
  • Alternating current (AC) inputs which may be provided, for example from a 50/60 Hz power port, or from a portable electric generator, may be received via a rectifier and appropriate scaling. Provision for AC (e.g., sine wave, square wave, triangular wave) inputs may include a line frequency transformer to provide voltage step-up, voltage step-down, and/or isolation.
  • caching e.g., LI, L2, (7) techniques may be used.
  • Random access memory may be included, for example, to provide scratch pad memory and or to load executable code or parameter information stored for use during runtime operations.
  • Other hardware and software may be provided to perform operations, such as network or other communications using one or more protocols, wireless (e.g., infrared) communications, stored operational energy and power supplies (e.g., batteries), switching and/or linear power supply circuits, software maintenance (e.g., self-test, upgrades), and the like.
  • One or more communication interfaces may be provided in support of data storage and related operations.
  • Some systems may be implemented as a computer system that can be used with various implementations.
  • various implementations may include digital circuitry, analog circuitry, computer hardware, firmware, software, or combinations thereof.
  • Apparatus can be implemented in a computer program product tangibly embodied in an information carrier, e.g., in a machine-readable storage device, for execution by a programmable processor; and methods can be performed by a programmable processor executing a program of instructions to perform functions of various embodiments by operating on input data and generating an output.
  • Various embodiments can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and/or at least one output device.
  • a computer program is a set of instructions that can be used, directly or indirectly, in a computer to perform a certain activity or bring about a certain result.
  • a computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
  • Suitable processors for the execution of a program of instructions include, by way of example, both general and special purpose microprocessors, which may include a single processor or one of multiple processors of any kind of computer.
  • a processor will receive instructions and data from a read-only memory or a random access memory or both.
  • the essential elements of a computer are a processor for executing instructions and one or more memories for storing instructions and data.
  • a computer will also include, or be operatively coupled to communicate with, one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks.
  • Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including, by way of example, semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and, CD-ROM and DVD-ROM disks.
  • the processor and the memory can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits).
  • each system may be programmed with the same or similar information and/or initialized with substantially identical information stored in volatile and/or non-volatile memory.
  • one data interface may be configured to perform auto configuration, auto download, and/or auto update functions when coupled to an appropriate host device, such as a desktop computer or a server.
  • one or more user-interface features may be custom configured to perform specific functions.
  • Various embodiments may be implemented in a computer system that includes a graphical user interface and/or an Internet browser. To provide for interaction with a user, some implementations may be implemented on a computer having a display device, such as a CRT (cathode ray tube) or LCD (liquid crystal display) monitor for displaying information to the user, a keyboard, and a pointing device, such as a mouse or a trackball by which the user can provide input to the computer.
  • a display device such as a CRT (cathode ray tube) or LCD (liquid crystal display) monitor for displaying information to the user
  • keyboard such as a keyboard
  • a pointing device such as a mouse or a trackball by which the user can provide input to the computer.
  • the system may communicate using suitable communication methods, equipment, and techniques.
  • the system may communicate with compatible devices (e.g., devices capable of transferring data to and/or from the system) using point-to-point communication in which a message is transported directly from the source to the receiver over a dedicated physical link (e.g., fiber optic link, point-to-point wiring, daisy-chain).
  • the components of the system may exchange information by any form or medium of analog or digital data communication, including packet-based messages on a communication network.
  • Examples of communication networks include, e.g., a LAN (local area network), a WAN (wide area network), MAN (metropolitan area network), wireless and/or optical networks, the computers and networks forming the Internet, or some combination thereof.
  • Other implementations may transport messages by broadcasting to all or substantially all devices that are coupled together by a communication network, for example, by using omni-directional radio frequency (RF) signals.
  • RF radio frequency
  • Still other implementations may transport messages characterized by high directivity, such as RF signals transmitted using directional (i.e., narrow beam) antennas or infrared signals that may optionally be used with focusing optics.
  • USB 2.0 Firewire
  • AT A/IDE RS-232, RS-422, RS-485
  • 802.11 a/b/g Wi-Fi
  • Ethernet IrDA
  • FDDI fiber distributed data interface
  • token-ring networks multiplexing techniques based on frequency, time, or code division, or some combination thereof.
  • Some implementations may optionally incorporate features such as error checking and correction (ECC) for data integrity, or security measures, such as encryption (e.g., WEP) and password protection.
  • ECC error checking and correction
  • WEP Secure Digital
  • the computer system may include Internet of Things (IoT) devices.
  • IoT devices may include objects embedded with electronics, software, sensors, actuators, and network connectivity which enable these objects to collect and exchange data.
  • IoT devices may be in-use with wired or wireless devices by sending data through an interface to another device. IoT devices may collect useful data and then autonomously flow the data between other devices.
  • modules may be implemented using circuitry, including various electronic hardware.
  • the hardware may include transistors, resistors, capacitors, switches, integrated circuits, other modules, or some combination thereof.
  • the modules may include analog logic, digital logic, discrete components, traces and/or memory circuits fabricated on a silicon substrate including various integrated circuits (e.g., FPGAs, ASICs), or some combination thereof.
  • the module(s) may involve execution of preprogrammed instructions, software executed by a processor, or some combination thereof.
  • various modules may involve both hardware and software.
  • a field-adjustable distance sensor may include an emitter configured to launch an electromagnetic signal.
  • the sensor may include at least one sensing element configured to generate a detection signal in response to a reflection of the electromagnetic signal, the detection signal being a function of a position of the electromagnetic signal on the at least one sensing element.
  • the sensor may include at least one memory module including at least one datastore correlating each of multiple measured distances to a corresponding position vector, the correlation being defined by a transfer function.
  • the sensor may include a control circuit configured to, in a teach mode, perform calibration operations. The calibration operations may include operate the emitter to launch a first electromagnetic signal at a target located at a known distance from the at least one sensing element.
  • the calibration operations may include receive from the at least one sensing element a first detection signal corresponding to a reflection of the first electromagnetic signal.
  • the calibration operations may include determine a first position vector as a function of the first detection signal.
  • the calibration operations may include receive a calibration distance signal corresponding to the known distance.
  • the calibration operations may include, if a difference between the known distance and a distance in the datastore correlated to the first position vector is greater than a calibration threshold, then generate, as a function of the calibration distance signal and the first position vector, a calibration constant configured to translate the transfer function by a substantially constant position value.
  • the calibration operations may include determine a second position vector as a function of the calibration distance signal.
  • the calibration operations may include compare the first position vector and the second position vector. The difference between the known distance and the distance in the datastore may be greater than the calibration threshold if the comparison of the first position vector and the second position vector is greater than the calibration threshold. If the comparison is not zero, then the calibration constant may be generated as a function of the comparison.
  • the calibration constant may be a third position vector. The third position vector may be substantially equal to a difference between the first position vector and the second position vector.
  • the calibration operations may include storing the calibration constant.
  • the control circuit may be further configured to, in a run mode, perform distance measurement operations including operate the emitter to launch a second electromagnetic signal.
  • the distance measurement operations may include receive from the at least one sensing element a second detection signal corresponding to a reflection of the second electromagnetic signal.
  • the distance measurement operations may include determine a measured position vector as a function of the second detection signal.
  • the distance measurement operations may include apply the third position vector to the measured position vector to generate a calibrated position vector.
  • the distance measurement operations may include generate a calibrated distance measurement signal by retrieving a distance from the datastore corresponding to the calibrated position vector.
  • the calibration operations may include apply the third position vector to multiple of the position vectors in the datastore to generate a calibrated datastore.
  • the at least one memory module may include a predetermined sensor characteristic profile.
  • the calibration operations may include determine an expected position vector as a function of the calibration distance signal.
  • the calibration operations may include generate a first distance signal by determining a distance in the datastore corresponding to the expected position vector.
  • the calibration operations may include generate a second distance signal by determining a distance in the datastore corresponding to the expected position vector.
  • the calibration operations may include compare the first distance signal and the second distance signal. The difference between the known distance and the distance in the datastore may be greater than the calibration threshold if the comparison of the first distance signal and the second position signal is greater than the calibration threshold. If the comparison is not zero, then the calibration constant may be generated as a function of the comparison and the predetermined sensor characteristic profile.
  • the predetermined sensor characteristic may include at least one parameter of a curve- fit relationship correlating distance and sensor error.
  • the curve-fit relationship may be a polynomial function of at least a second order.
  • the calibration operations may include store the calibration constant.
  • the control circuit may be configured to, in a run mode, perform distance measurement operations.
  • the distance measurement operations may include operate the emitter to launch a second electromagnetic signal.
  • the distance measurement operations may include receive from the at least one sensing element a second detection signal corresponding to a reflection of the second electromagnetic signal.
  • the distance measurement operations may include determine a measured position vector as a function of the second detection signal.
  • the distance measurement operations may include generate a measured distance signal by determining a distance in the datastore corresponding to the measured position vector.
  • the distance measurement operations may include apply the calibration constant and the predetermined sensor characteristic profile to the measured position vector to generate a calibrated distance signal.
  • the calibration operations may include generate a correction datastore as a function of the datastore, the predetermined characteristic profile, and the calibration constant.
  • the correction datastore may correlate each of multiple of measured distances to a corresponding correction distance.
  • the control circuit may be further configured to, in a run mode, perform distance measurement operations.
  • the distance measurement operations may include operate the emitter to launch a second electromagnetic signal.
  • the distance measurement operations may include receive from the at least one sensing element a second detection signal corresponding to a reflection of the second electromagnetic signal.
  • the distance measurement operations may include determine a measured position vector as a function of the second detection signal.
  • the distance measurement operations may include generate a measured distance signal by determining a distance in the datastore corresponding to the measured position vector.
  • the distance measurement operations may include retrieve a first correction distance from the datastore.
  • the distance measurement operations may include generate a calibrated distance signal by applying the first correction distance to the measured distance signal.
  • the calibration operations may include generate a calibrated datastore as a function of the datastore, the predetermined characteristic profile, and the calibration constant.
  • the calibrated datastore may correlate each of multiple position vectors to a corresponding calibrated distance.
  • a method of field-calibrating a distance sensor may include providing an emitter configured to launch an electromagnetic signal.
  • the method may include providing at least one sensing element configured to generate a detection signal in response to a reflection of the electromagnetic signal.
  • the detection signal may be a function of a position of the electromagnetic signal on the at least one sensing element.
  • the method may include providing at least one memory module comprising a datastore correlating each of multiple of measured distances to a corresponding position vector. The correlation may be defined by a transfer function.
  • the method may include providing a control circuit configured to, in a teach mode, perform calibration operations.
  • the calibration operations may include operate the emitter to launch a first electromagnetic signal at a target located at a known distance from the at least one sensing element.
  • the calibration operations may include receive from the at least one sensing element a first detection signal corresponding to a reflection of the first electromagnetic signal.
  • the calibration operations may include determine a first position vector as a function of the first detection signal.
  • the calibration operations may include receive a calibration distance signal corresponding to the known distance.
  • the calibration operations may include, if a difference between the known distance and a distance in the datastore correlated to the first position vector is greater than a calibration threshold, then generate, as a function of the calibration distance signal and the first position vector, a calibration constant configured to translate the transfer function by a substantially constant position value.
  • the calibration operations may include determine a second position vector as a function of the calibration distance signal.
  • the calibration operations may include compare the first position vector and the second position vector. The difference between the known distance and the distance in the datastore may be greater than the calibration threshold if the comparison of the first position vector and the second position vector is greater than the calibration threshold. If the comparison is not zero, then the calibration constant may be generated as a function of the comparison.
  • the calibration operations may include storing the calibration constant.
  • the control circuit may be further configured to, in a run mode, perform distance measurement operations.
  • the distance measurement operations may include operate the emitter to launch a second electromagnetic signal.
  • the distance measurement operations may include receive from the at least one sensing element a second detection signal corresponding to a reflection of the second electromagnetic signal.
  • the distance measurement operations may include determine a measured position vector as a function of the second detection signal.
  • the distance measurement operations may include apply the calibration constant to the measured position vector to generate a calibrated position vector.
  • the distance measurement operations may include generate a calibrated distance measurement signal by retrieving a distance from the datastore corresponding to the calibrated position vector.
  • the calibration operations may include apply the calibration constant to multiple of the position vectors in the datastore to generate a calibrated datastore.
  • the at least one memory module may include a predetermined sensor characteristic profile.
  • the calibration operations may include determine an expected position vector as a function of the calibration distance signal.
  • the calibration operations may include generate a first distance signal by determining a distance in the datastore corresponding to the expected position vector.
  • the calibration operations may include generate a second distance signal by determining a distance in the datastore corresponding to the expected position vector.
  • the calibration operations may include compare the first distance signal and the second distance signal. The difference between the known distance and the distance in the datastore may be greater than the calibration threshold if the comparison of the first distance signal and the second position signal is greater than the calibration threshold. If the comparison is not zero, then the calibration constant may be generated as a function of the comparison and the predetermined sensor characteristic profile.
  • the calibration operations may include storing the calibration constant.
  • the control circuit may be configured to, in a run mode, perform distance measurement operations.
  • the distance measurement operations may include operate the emitter to launch a second electromagnetic signal.
  • the distance measurement operations may include receive from the at least one sensing element a second detection signal corresponding to a reflection of the second electromagnetic signal.
  • the distance measurement operations may include determine a measured position vector as a function of the second detection signal.
  • the distance measurement operations may include generate a measured distance signal by determining a distance in the datastore corresponding to the measured position vector.
  • the distance measurement operations may include apply the calibration constant and the predetermined sensor characteristic profile to the measured position vector to generate a calibrated distance signal.
  • the calibration operations may include generate a correction datastore as a function of the datastore, the predetermined characteristic profile, and the calibration constant.
  • the correction datastore may correlate each of multiple measured distances to a corresponding correction distance.
  • the control circuit may be further configured to, in a run mode, perform distance measurement operations.
  • the distance measurement operations may include operate the emitter to launch a second electromagnetic signal.
  • the distance measurement operations may include receive from the at least one sensing element a second detection signal corresponding to a reflection of the second electromagnetic signal.
  • the distance measurement operations may include determine a measured position vector as a function of the second detection signal.
  • the distance measurement operations may include generate a measured distance signal by determining a distance in the datastore corresponding to the measured position vector.
  • the distance measurement operations may include retrieve a first correction distance from the datastore.
  • the distance measurement operations may include generate a calibrated distance signal by applying the first correction distance to the measured distance signal.
  • the calibration operations may include generate a calibrated datastore as a function of the datastore, the predetermined characteristic profile, and the calibration constant.
  • the calibrated datastore may correlate each of multiple position vectors to a corresponding calibrated distance.

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Electromagnetism (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Measurement Of Optical Distance (AREA)
  • Length Measuring Devices By Optical Means (AREA)
EP22716799.6A 2021-03-09 2022-03-08 Pixeldomänenfeldkalibrierung von triangulationssensoren Pending EP4305448A1 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163158697P 2021-03-09 2021-03-09
US17/303,061 US12111397B2 (en) 2021-03-09 2021-05-19 Pixel domain field calibration of triangulation sensors
PCT/US2022/071036 WO2022192875A1 (en) 2021-03-09 2022-03-08 Pixel domain field calibration of triangulation sensors

Publications (1)

Publication Number Publication Date
EP4305448A1 true EP4305448A1 (de) 2024-01-17

Family

ID=81307879

Family Applications (1)

Application Number Title Priority Date Filing Date
EP22716799.6A Pending EP4305448A1 (de) 2021-03-09 2022-03-08 Pixeldomänenfeldkalibrierung von triangulationssensoren

Country Status (4)

Country Link
EP (1) EP4305448A1 (de)
CA (1) CA3210257A1 (de)
MX (1) MX2023010302A (de)
WO (1) WO2022192875A1 (de)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4789482B2 (ja) * 2005-02-18 2011-10-12 株式会社キーエンス 位置検出型光電センサーとその基準距離設定方法
DE102016122335A1 (de) * 2016-11-21 2018-05-24 Pepperl + Fuchs Gmbh Optischer Sensor zum Nachweis von Objekten in einem Überwachungsbereich und Verfahren zum Betreiben eines optischen Sensors
US11716548B2 (en) * 2018-03-13 2023-08-01 Meta Platforms Technologies, Llc Timing of multiplexed sensor phase measurements in a depth camera assembly for depth determination using fringe interferometry
JP6717887B2 (ja) * 2018-07-12 2020-07-08 ファナック株式会社 距離補正機能を有する測距装置

Also Published As

Publication number Publication date
CA3210257A1 (en) 2022-09-15
WO2022192875A1 (en) 2022-09-15
MX2023010302A (es) 2023-09-12

Similar Documents

Publication Publication Date Title
US9519052B2 (en) Distance measuring device
US9985414B1 (en) Open-loop laser power-regulation
US9453743B2 (en) Distance measuring apparatus
US12111397B2 (en) Pixel domain field calibration of triangulation sensors
US20110199074A1 (en) Rotary encoder and control method thereof
EP3149514B1 (de) Kompensierte distanzmessverfahren und -vorrichtung
CN111896971B (zh) Tof传感装置及其距离检测方法
US20220018764A1 (en) Method for determining the distance and reflectivity of an object surface
EP3237926A1 (de) Abstandsmessinstrument
BR112020021344A2 (pt) Método para medir por thz um objeto de medição e dispositivo de medição thz
CN112945221A (zh) 相位角校正值计算装置和计算相位角校正值的方法
WO2022192875A1 (en) Pixel domain field calibration of triangulation sensors
US8582119B2 (en) Large scale metrology apparatus and method
CN116981956A (zh) 三角测量传感器的像素域现场校准
NZ525241A (en) Range sensing system with shuttered receiver.
US20200371269A1 (en) Information exchange using gravitational waves
Stuchebrov et al. The method for the electron beam cross section measurement based on the detection of Cherenkov radiation in dielectric fiber
US20230350063A1 (en) Distance measuring device and calibration method
US20240230902A9 (en) Time of flight detection systems with efficient phase measurement
Seiter et al. Correction of a phase dependent error in a time-of-flight range sensor
KR100353421B1 (ko) 초점면 열상 시스템에서 초점면 열상 검출기의 오차 보상장치
Zhang Beam energy measurement system for BEPCII
JP2003035779A (ja) 放射線検出器
EP4402507A1 (de) Feldwählbare dynamische verstärkungsregelungsmodi von sensoren
KR20160078696A (ko) 거리 측정 장치를 포함하는 전자 기기

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20230929

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)