System and method for providing distance-based pulses relative to motion of a surface scanned by a vision system
First Claim
1. A system for generating emulated pulses that indicate incremental distance travelled comprising:
- a clock that provides a timestamp to each of a plurality of position measurements of a moving object received from a non-contacting motion sensor;
a pulse scheduler that estimates a velocity of the object based upon the plurality of the position measurements with respect to the timestamp of each of the plurality of measurements, and that updates estimates of a time to output a next pulse based upon the estimated velocity and a reported position of each of the position measurements;
a numerically controlled oscillator operatively connected to the pulse scheduler, wherein the oscillator includes (a) a pulse generator responsive to the clock that generates 1 pulse per N clock ticks, wherein the pulses of the pulse generator are output as the emulated pulses, (b) a pulse estimation process, responsive to the pulse scheduler that generates an estimated number of pulses, and (c) a difference engine that measures a difference between pulses generated by the pulse generator and pulses generated by the estimation process and thereby provides a rate control value to vary N; and
an output process responsive to the clock that outputs the pulse at an estimated time to output the pulse.
1 Assignment
0 Petitions
Accused Products
Abstract
This invention provides a system and method for estimating the time of a set of pulses based upon a plurality of position measurements of a moving object provided by a non-contacting sensor, such as a one-dimensional optical sensor that tracks movements of object features and reports position measurements with respect to time. Position measurements determine the estimated velocity. The velocity and position measurement allow the timing of a next pulse to be updated, based upon the time of the previous pulse. The pulse is output at the time of the last updated time before the first new position measurement received after the estimated pulse output time. The system allows pulses to be precisely delivered at predetermined motion distances. Where the distance is too short for the measurement rate, the system compares estimated pulse times to clock-generated pulse times and updates the clock-generated pulse times based upon the difference.
-
Citations
26 Claims
-
1. A system for generating emulated pulses that indicate incremental distance travelled comprising:
-
a clock that provides a timestamp to each of a plurality of position measurements of a moving object received from a non-contacting motion sensor; a pulse scheduler that estimates a velocity of the object based upon the plurality of the position measurements with respect to the timestamp of each of the plurality of measurements, and that updates estimates of a time to output a next pulse based upon the estimated velocity and a reported position of each of the position measurements; a numerically controlled oscillator operatively connected to the pulse scheduler, wherein the oscillator includes (a) a pulse generator responsive to the clock that generates 1 pulse per N clock ticks, wherein the pulses of the pulse generator are output as the emulated pulses, (b) a pulse estimation process, responsive to the pulse scheduler that generates an estimated number of pulses, and (c) a difference engine that measures a difference between pulses generated by the pulse generator and pulses generated by the estimation process and thereby provides a rate control value to vary N; and an output process responsive to the clock that outputs the pulse at an estimated time to output the pulse. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for generating emulated pulses that indicate incremental distance travelled comprising the steps of:
-
providing a clock, and generating therewith, a timestamp to each of a plurality of position measurements of a moving object received from a non-contacting motion sensor; estimating a velocity of the object based upon the plurality of the position measurements with respect to the timestamp of each of the plurality of measurements, and using a filter to determine the updating estimates of a time to output a next pulse based upon the estimated velocity and a reported position of each of the position measurements; generating, using a pulse generating, 1 pulse per N clock ticks, wherein the pulses are output as the emulated pulses; generating an estimated number of pulses; measuring a difference between pulses generated by the pulse generator and the estimated number of pulses and thereby providing a rate control value to vary N; and in response to the clock, outputting each pulse at an estimated time to output the pulse. - View Dependent Claims (18, 19)
-
-
20. A system for generating emulated pulses that indicate incremental distance travelled comprising:
-
a clock that provides a timestamp to each of a plurality of position measurements of a moving object received from a motion sensor, the motion sensor comprising a non-contact motion sensor that comprises a vision-based sensor that determines movement of the object based upon a texture of the object; a pulse scheduler that estimates a velocity of the object based upon the plurality of the position measurements with respect to the timestamp of each of the plurality of measurements, and that updates estimates of a time to output a next pulse based upon the estimated velocity and a reported position of each of the position measurements; a numerically controlled oscillator operatively connected to the pulse scheduler, wherein the oscillator includes (a) a pulse generator responsive to the clock that generates 1 pulse per N clock ticks, wherein the pulses of the pulse generator are output as the emulated pulses, (b) a pulse estimation process, responsive to the pulse scheduler that generates an estimated number of pulses, and (c) a difference engine that measures a difference between pulses generated by the pulse generator and pulses generated by the estimation process and thereby provides a rate control value to vary N; and an output process responsive to the clock that outputs the pulse at an estimated time to output the pulse. - View Dependent Claims (21, 22, 23)
-
-
24. A method for generating emulated pulses that indicate incremental distance travelled comprising the steps of:
-
providing a clock, and generating therewith, a timestamp to each of a plurality of position measurements of a moving object received from a motion sensor, the motion sensor comprising a non-contact motion sensor that comprises a vision-based sensor that determines movement of the object based upon a texture of the object; estimating a velocity of the object based upon the plurality of the position measurements with respect to the timestamp of each of the plurality of measurements, and updating estimates of a time to output a next pulse based upon the estimated velocity and a reported position of each of the position measurements; generating, using a pulse generating, 1 pulse per N clock ticks, wherein the pulses are output as the emulated pulses; generating an estimated number of pulses; measuring a difference between pulses generated by the pulse generator and the estimated number of pulses and thereby providing a rate control value to vary N; and in response to the clock, outputting each pulse at an estimated time to output the pulse. - View Dependent Claims (25, 26)
-
Specification