The present disclosure relates generally to determining absolute position along an axis of motion, and more specifically to viewing an optically readable scalar element with a two-dimensional sensor array and determining an absolute position along the axis of motion.
Relative distance along an axis can be measured using a traditional optical scale. A traditional optical scale may include a series of regularly repeating index marks set apart by a pitch that is a known distance. A relative distance or the position of an object along the scale can be determined by counting the number of index marks and multiplying the count by the known distance of the pitch.
A traditional optical scale can be used to measure the relative motion between two objects. For example, a traditional optical scale may be attached to a first object in a location that can be viewed with respect to a reference point or indicator on a second object. The position of the second object can be measured with respect to the reference point by counting the number of index marks that pass the reference point. Using this technique, the position along an axis can be measured by determining an absolute home location, usually at one end of the scale, and then counting the number of index marks from the home location. The index count can be stored in computer memory and incremented or decremented depending on the movement of the second object.
One disadvantage to using a traditional scale is that the position of the second object cannot be determined if the index count is lost or accumulates errors. For example, if the index count is lost due to an electrical reset or loss of power, the position of the second object cannot be determined without returning to the home location. Similarly, the index count may be lost if the second object is removed from the first object and returned in a different position along the axis. Because the index count was not incremented or decremented while the second object was removed, the relative position of the second object stored in computer memory is no longer correct. Additionally, errors in the index count can accumulate over time and result in a reported position that is inaccurate.
What is needed is a technique for determining absolute position along an axis of motion without the disadvantages of a traditional optical scale.
The embodiments described herein include a measurement system for measuring the absolute position of a first object with respect to a second object along an axis of motion. The system comprises a scalar element attached to the first object. The scalar element comprises a series of coded regions, each coded region of the series of coded regions having information encoded along a direction perpendicular to the axis of motion. The coded region represents a number designating a position along an axis of the scalar element. A measuring device is attached to the second object and includes a two-dimensional optical sensor array configured to capture an image of a portion of the scalar element. A processor is configured to receive the image and determine an absolute position of the first object with respect to the second object based on one coded region of the series of coded regions. In some embodiments, the two-dimensional optical sensor array is a camera sensor.
In some embodiments, each coded region of the series of coded regions is a binary code that represents a number designating a position along an axis of the scalar element. In some embodiments, the system also includes a display configured to display the absolute position to a user. The system may also include a motion controller configured to receive the absolute position, and to cause a movement of the first object along the axis of motion based on the received absolute position.
In some embodiments, the measuring device is configured to capture a plurality of images as the first or second object move along the axis of motion and the processor is configured to determine, in real time, an absolute position for each of the plurality of images.
In some embodiments, each coded region comprises a colored region, and the processor is further configured to determine an absolute position of the first object with respect to the second object based on the colored region. In some cases, each coded region comprises more than one colored regions, and the processor is further configured to determine an absolute position of the first object with respect to the second object based on the more than one colored region.
The embodiments described herein include a measurement system for measuring the absolute position of a first object with respect to a second object. The system comprises a scalar element attached to the first object and a measuring device attached to the second object. In one embodiment, the scalar element comprises a series of regularly repeating optically readable index lines, and a series of coded regions, each coded region of the series of coded regions disposed between two index lines of the series of index lines. The coded region represents a number designating a position along an axis of the scalar element. In another embodiment, only the coded regions are provided.
The measuring device includes a two-dimensional optical sensor array configured to capture an image of a portion of the scalar element. The system also includes a processor configured to receive the image and determine an absolute position of the first object with respect to the second object. In one embodiment, the position is based on at least one index line of the series of index lines and at least one coded region of the series of coded regions. Where only coded regions are provided, the position is based on an image of a coded region.
The following description is presented to enable a person of ordinary skill in the art to make and use the various embodiments. Descriptions of specific devices, techniques, and applications are provided only as examples. Various modifications to the examples described herein will be readily apparent to those of ordinary skill in the art, and the general principles defined herein may be applied to other examples and applications without departing from the spirit and scope of the various embodiments. Thus, the various embodiments are not intended to be limited to the examples described herein and shown, but are to be accorded the scope consistent with the claims.
The following embodiments relate to the measurement of an absolute position between two objects that are capable of moving with respect to each other, at least with respect to one axis. One object may be fixed with respect to ground and the other object may move along an axis of motion. The objects may be moved manually or may be driven by motor or other electromechanical device.
One exemplary embodiment is depicted in the measurement system of
A scalar element 110 is attached to the top face of the first object 102. An exemplary scalar element 110 is described in more detail below with respect to
The measuring device 120 includes a two-dimensional optical sensor array 122. for capturing an image of a portion of the scalar element 110. Specifically, the optical sensor array 122 has an optical field of view that is sufficiently wide to view one or more optical features of the scalar element 110. In the present embodiment, the optical sensor array 122 is a charge-coupled device (CCD) capable of producing an electrical signal in response to light incident to the surface of the CCD. The measuring device 120 may include one or more optical elements (e.g. lenses) for focusing light onto the CCD. The measuring device 120 may also include one or more lighting elements 124 for illuminating the surface of the scalar element 110. For example, the lighting elements 124 may include one or more light emitting diodes (LEDS) configured to emit an illuminating light over the portion of the scalar element 110. The measuring device 120 is a capable of producing an image of a portion of the scalar element 110 and output the image as an array of pixel values.
The measuring device 120 may also include or be operatively coupled to one or more processors for interpreting the array of pixel values and determining an absolute position of the second object 104 with respect to the first object 102. A more detailed discussion of the image processing technique is provided below with respect to process 1000 depicted in
In one embodiment, the each binary code 116 represents a value designating the number of units of a known distance (or number of index lines 112 having a known spacing) from a home location on the scalar element 110. In
The embodiment depicted in
Since the binary code 116 can be used to represent a number of units of distance from the origin, the system does not require index lines 112. In practice, index lines are preferable since they provide a simple way of extending the length of the scale by a factor of two. Also, the index lines have a high contrast that can be more easily measured. It should be noted that the extended length index lines depicted in
Note also that it is possible that the binary code 116 can be arranged to correspond to an actual, absolute total distance from the origin rather than a unit distance multiplier.
In
As discussed above, the measuring device 120 includes a two-dimensional optical sensor array configured to capture an image of a portion of the scalar element 110. With respect to the present embodiment, the two-dimensional optical sensor array is a black and white CCD camera sensor coupled with an optical element configured to produce an image representing an approximately 0.7 mm square portion of the scalar element 110.
As shown in
As shown in
Within the image, the position information of the pixel groups can be used to improve the precision of the position of the measuring device 120 with respect to the scalar element 110. For example, as shown in
In the present embodiment, the index lines 112 have a width of approximately 0.1 mm and are spaced approximately 0.7 mm apart. The binary code 116 includes binary elements that are approximately 0.1 mm wide and are also spaced approximately 0.7 mm apart. The binary elements of the binary code are arranged along a direction that is perpendicular to the axis of motion between the scalar element 110 and the measuring device 120. More generally, the coded region typically includes information that is encoded along a direction perpendicular to the axis of motion. In the present embodiment, the information is encoded only along a direction that is perpendicular to the axis of motion.
With respect to
As described in more detail below with respect to process 1000, the index lines and the coded regions can both be used to determine an absolute position along the scalar element. Specifically, the coded region represents a number value indicating the number of index lines from a known location on the scalar element. As previously mentioned, the position of the index lines within the image allows the system to determine a precise position of the measuring device with respect to the scalar element by indicating the relative location of the coded region within the image. Combining the information provided by the coded region with the information provided by the location of the index lines, the system can determine the absolute position of the measuring device with respect to the scalar element. As noted above, in some embodiments, the absolute position can be determined using only the coded region without reference to index lines.
The coded region and the index lines can also be used together to produce rapid position feedback between the first and second objects. For example, the index lines can be used to count the number of steps during a rapid motion between the two objects. The count of the number of index lines can be used to determine the magnitude of the rapid motion and can be used as position feedback for a motion control system, for example. The coded region can then be used near the end or at the end of the movement to verify or correct the magnitude of the rapid motion and provide an absolute position of the second object with respect to the first object.
By having the coding regions encoded with information along a direction that is perpendicular to the axis of motion, additional advantages may be utilized. Specifically, the coded regions can be used to count the number of steps as described above with respect to the index lines. Accordingly, the coded region can serve a dual role as both an indicator for counting relative motion and as a representation of the absolute location.
In an alternative embodiment, the measuring device may include a color camera sensor and the scalar element may include one or more color-coded regions that provides additional information about the location of the coded regions with respect to a known location on the scalar element.
The location of the color-coded regions 118 may provide additional information used to determine the distance from the home position. For example, the position of the color-coded region 118 may designate additional bits of information that can be used to determine the number of units of distance from the home position. The color-coded region may be a portion of the coded region or the entire background color of the coded region, or both.
In the embodiment of
The above concept can be expanded to include stripes having different colors, such as red, blue, and green. One advantage of using multiple color-coded regions is that the amount of information that can be encoded in the coded region can be significantly expanded. For example, if an n-number of colors are used, the color region can be used to represent n-based number sequences. In this way, the color and location of the one or more color-coded regions can be used to expand the amount of information contained on the scalar element 110 without increasing the width of the scalar element or the field of view of the measuring device 120.
The features described with respect to the measuring device 120 and the scalar element 110 can be used in various combinations to achieve an absolute position of a first object with respect to a second object. In addition, the particular configuration may vary without departing from the nature of the measurement system 100. For example, the scalar element 110 may be attached to the second object 104 and the measurement device 104 may be attached to the first object.
There are multiple implementations of the measuring system described with respect to the embodiments described above that can be used to determine the absolute position of a first object with respect to a second object. For example, the first object may include a base stage element in a gantry robot system. The second object may include a movable armature that is able to traverse with respect to the base stage element. Accordingly, a measurement system in accordance with the embodiments herein can be used to determine an absolute position of the armature with respect to the base stage element. The gantry robot system may include motion controller electronics for controlling motors for moving the armature. The motion controller electronics may use the absolute position of the armature as position feedback for controlling the motion and positioning the armature. As described below with respect to process 1000, the measurement system can be used to calculate an absolute position in real time as the measuring device (or scalar element) is moved, which is advantageous in providing rapid and accurate position feedback to motion controller electronics.
Another exemplary embodiment is described with respect to a bottle dispenser with a digital volume display. A description of a bottle dispenser embodiment is attached as Appendix A and incorporated by reference herein in its entirety. Another description of a bottle dispenser embodiment is attached as Appendix B and incorporated by reference herein in its entirety. A description of the bottle dispenser embodiment is also provided in published application WO/2012/103870 which is incorporated by reference herein in its entirety. In these embodiments, the distance measured by the system is converted into a volume of dispensed fluid.
In operation 1002, an image is acquired using the measuring device. As described above with respect to
In operation 1004, image processing is performed on the acquired image. For example, a threshold filter or other image processing technique may be applied to the acquired image to convert the image data to binary values for each pixel in the image. Additional image processing may be performed to determine pixel groups and the shape and location of the pixel groups within the image. The location of the pixel groups may be representative of the location of the index lines and the coded regions of the scalar element with respect to the measuring device.
In operation 1006, the pixel groups of the image representing one or more coded regions is used to determine a number value. As discussed above with respect to
In operation 1008, an offset of the coded region is determined within the image. As shown in
In operation 1010, an absolute position is determined using the number and the position of the coded region within the image. For example, the value may represent the number of units of distance (or the number of index lines of known spacing) from a known position along the scalar element. By multiplying the number of units times the known distance or spacing between coded regions, an absolute position of measuring device can be determined. The accuracy of the absolute position can then be improved by, for example, adding (or subtracting) the offset between the center of the coded region and the center of the image determined in operation 1008.
Process 1000 is typically repeated as the measuring device and the scalar element are moving with respect to each other. In some embodiments, a plurality of images are captured as the measuring device and the scalar element are moving with respect to each other. By processing multiple captured images, the absolute position can be calculated in real time as the measuring device and the scalar element are moving with respect to each other.
As previously mentioned, in some cases, the absolute position is provided to a motion control system as position feedback. In some cases the absolute position is displayed to a user on, for example, a digital read out display or a computer monitor display.
The measurement system 100 described with respect to
The measurement system 100 described with respect to
A more detailed discussion of such a system is provided in a description of a bottle dispenser embodiment that is attached as Appendices A and B.
Housing 806 includes a camera 812 aligned with the scalar element 810. As in the previous embodiments, in order to determine the spacing of the caliper jaws, the camera obtains an image of the coded region. The coded region provides information about the distance from the start or home position. Any of the various approaches for encoding of the coded region discussed above can be used. For example, the coded regions can be in the form of actual distances from the home position or can be a number which is multiplied by a fixed distance.
In the illustrated embodiment, housing 806 includes a display 814 to show the distance from the home position (jaws closed). A single switch 816 is provided for turning on the electronics and for toggling between inches and millimeters in the display.
A ten bit binary encoding system would provide over 1000 unique binary codes spaced apart at 0.1 mm to cover 100 mm caliper separation. Adding index lines can double that range. Various approaches for printing these type of closely spaced codes can be used including lithographic printing. As in the previous embodiments, the location of the coded region within the two dimensional image generated by the camera can be used to provide position information with a higher resolution than the spacing between the coded regions.
It is envisioned that during the final manufacturing steps, the device will be subjected to a one time calibration procedure. Specifically, the jaws will be placed in the closed position and the aligned coded region (which is preferably spaced from the end of the scalar element) is detected. The detected coded region will become the effective home position and will be uploaded to the software in the processor (not shown) in the housing. This value would then be subtracted from the any value measured by the system when the jaws are separated.
This application is a Continuation of U.S. patent application Ser. No. 15/884,171, filed Jan. 30, 2018, which is a Continuation of U.S. patent application Ser. No. 13/918,704, filed Jun. 14, 2013, which claims the benefit under 35 USC 119(e) of prior copending U.S. Provisional Patent Application No. 61/678,581, filed Aug. 1, 2012, and prior copending U.S. Provisional Patent Application No. 61/660,614, filed Jun. 15, 2012, each which is hereby incorporated by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
61678581 | Aug 2012 | US | |
61660614 | Jun 2012 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 15884171 | Jan 2018 | US |
Child | 15965611 | US | |
Parent | 13918704 | Jun 2013 | US |
Child | 15884171 | US |