Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD OF CHARACTERIZING, CALIBRATING, AND CONTROLLING GALVANOMETER LASER STEERING SYSTEMS
Document Type and Number:
WIPO Patent Application WO/2018/231981
Kind Code:
A1
Abstract:
A method and apparatus for quantitatively characterizing performance of a laser steering galvanometer mirror directs a laser beam from a calibration "sensor" onto a side region of the mirror to directly determine rotational positioning, velocity, and/or acceleration thereof using interferometry, time-of-flight measurements, and Doppler measurements. Measured positioning errors can be compared with a database to predict required calibration adjustments. Embodiments automatically adjust digital calibrations. Mirrors, splitters, and/or a plurality of sensors can apply measurement beams simultaneously or sequentially to both sides of a mirror, and/or to more than one mirror. Large rotation ranges, for example larger than +/- 15 degrees, can be accommodated by applying measurement beams from a plurality of directions. The calibration apparatus can be distinct, or integral with the galvanometer, and can be used to monitor and/or to control the mirror positioning.

Inventors:
MACMILLAN JAMES (US)
WILLIAMS LEONARD (US)
Application Number:
PCT/US2018/037332
Publication Date:
December 20, 2018
Filing Date:
June 13, 2018
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
MACMILLAN JAMES (US)
WILLIAMS LEONARD (US)
International Classes:
B23K26/02; G01N21/93; G11B7/126; H04B17/11; H04N13/327
Foreign References:
US20140333931A12014-11-13
US8237788B22012-08-07
US8040530B22011-10-18
US20160202040A12016-07-14
Attorney, Agent or Firm:
BURUM, Douglas P. et al. (US)
Download PDF:
Claims:
CLAIMS

What is claimed is 1. A method of characterizing the performance of a galvanometer system that includes a mirror rotatably controlled by a motor system and associated controller, the method comprising:

1) instructing the controller to direct the motor system to rotate the mirror to a desired orientation;

2) causing a laser measurement system to direct a laser beam onto a side region of the mirror;

3) detecting reflected light from the laser beam;

4) determining rotation information from the reflected light;

5) repeating steps 1 -4; and

6) quantitatively characterizing mirror positioning error information based on a difference between the determined rotation position information and ideal position information. 2. A method of calibrating a galvanometer system that includes a mirror rotatably controlled by a motor system and associated controller, comprising: i) performing the method of claim 1 ;

ii) predicting required calibration adjustments of the galvanometer system based on the mirror positioning error information; and

iii) implementing the predicted calibration adjustments. 3. The method of claim 2, further comprising repeating steps i) through iii). 4 The method of claim 2 or 3, wherein predicting the required calibration adjustments includes comparing the mirror positioning error information with known error information and corresponding known calibration misadjustments. 5. The method of any of claims 2-4, wherein the predicted calibration adjustment are implemented manually.

6. The method of any of claims 2-4, wherein predicted calibration adjustments are implemented electronically. 7. A method of controlling a galvanometer system that includes a mirror rotatably controlled by a motor system and associated controller, the method comprising:

a) providing a command to the controller to direct the motor system to rotate the mirror to a desired orientation;

b) causing a laser measurement system to direct a laser beam onto a side region of the mirror;

c) detecting reflected light from the laser beam;

d) determining rotation information from the reflected light;

and

e) updating the command according to a difference between the determined rotation information and the desired orientation. 8. The method of any preceding claim, wherein the laser measurement system includes a laser interferometer. 9. The method of any preceding claim, wherein the laser measurement system includes a time of flight distance sensor. 10. The method of any preceding claim, wherein the laser measurement system is able to determine at least one of an angular position, and angular velocity, and an angular acceleration of the mirror. 1 1 . The method of any preceding claim, wherein the laser measurement system is able to measure a rotational velocity of the mirror according to Doppler shifts of the reflected light as compared to the laser beam. 12. The method of any preceding claim, wherein determining the rotation information from the reflected light includes correcting the rotation information so as to account for changes in an impingement location of the laser beam on the mirror due to rotation of the mirror. 13. The method of any preceding claim, wherein the method is applied to a plurality of mirrors in the galvanometer system. 14. The method of any preceding claim, wherein the method includes applying a plurality of laser beams simultaneously to at least one mirror in the

galvanometer system. 15. The method of claim 14, wherein applying the plurality of laser beams includes using a plurality of laser sensors to simultaneously apply laser beams. 16. The method of claim 14 or claim 15, wherein applying the plurality of laser beams includes using a beam splitter to split at least one laser beam. 17. The method of any of claims 14- 16, wherein laser beams are applied simultaneously to opposite sides of at least one galvanometer mirror. 18. The method of any preceding claim, wherein at least one calibration mirror is used to direct the laser beam onto the mirror. 19. The method of any preceding claim, wherein determining the rotation information includes dividing a measurement range into a plurality of subranges, and for each of the subranges directing the laser beam onto the mirror from a corresponding measurement direction. 20. A rotation information measurement apparatus configured to measure rotation information pertaining to a mirror included in a galvanometer system according to at least one of claims 1 -19, the apparatus comprising a laser sensor configured to direct a laser beam onto a side region of the mirror and to obtain the rotation information from light reflected therefrom. 21. The apparatus of claim 21 , wherein the apparatus is distinct from the galvanometer system.

22. The apparatus of claim 21 , wherein the apparatus is integral with the galvanometer system. 23. The apparatus of claim 20, wherein the apparatus is configured to obtain the rotation information periodically as the galvanometer is operated, and to take corrective action if a difference between the rotation information and ideal rotation information exceeds a specified threshold. 24. The apparatus of claim 23, wherein the corrective action includes alerting an operator of the galvanometer. 25. The apparatus of claim 23 or 24, wherein the corrective action includes automatically adjusting the galvanometer system so as to reduce the difference between the rotation information and the ideal rotation information to within the specified threshold.

Description:
METHOD OF CHARACTERIZING, CALIBRATING, AND CONTROLLING GALVANOMETER LASER STEERING SYSTEMS

RELATED APPLICATIONS

[0001] This application claims the benefit of U. S. Provisional Application No. 62/520, 134, filed June 15, 2017, which is herein incorporated by reference in its entirety for all purposes.

FIELD OF THE INVENTION

[0002] The invention relates to laser steering systems, and more particularly to methods of calibrating and controlling galvanometer mirror steering systems.

BACKGROUND OF THE INVENTION

[0003] Galvanometer scanners are used in a very wide range of applications, including barcode scanners, 3D printers, 3D scanners, laser displays and proj ectors, and CNC laser machine tools. Some of these applications require, or at least benefit from, scanners that provide high speed scanning with high control accuracy.

[0004] Typically, a high speed galvanometer scanner controls the direction of one or more laser beams using a galvanometer system that includes one or more mirrors controlled by servo motors. For ease of discussion, both the prior art and the present disclosure are discussed herein in the context of 2D scanning.

However, it will be understood that single mirror, single direction systems such as some barcode scanners are also implicitly included, as well as systems that include more than two mirrors. [0005] With reference to Figures 1A and IB, a typical 2D scanning system controls the X and Y deflections of one or more output beams using a pair of shaft-mounted mirrors 100, 102 driven by a corresponding pair of servo motors 104. For systems that require high speed and accuracy, such as laser displays, laser proj ectors, and CNC (computer numerical control) laser machining devices, the mirrors 100, 102 are rotated clockwise and counter clockwise through angles of approximately +/- 15 degrees, at frequencies as high as 80 kHz. The mirrors 104 may be separately mounted, as shown in Figure 1A, or mounted together, as shown in Figure IB.

[0006] So as to provide a required degree of accuracy and speed, galvanometer systems used in demanding applications such as laser displays and proj ectors often utilize encoder type devices mounted to the servo motors 104 to provide positional feedback to the servo controllers 106. Unfortunately, because of imperfect manufacturing tolerances, the finite masses of the mirrors 100, 102, and the inherent torsional flexibility of the mirror shafts 108 and other mechanical components, the galvanometer mirrors have the potential, especially at high rotation frequencies, to be in rotational positons that do not correspond with what the servo-motor encoders indicate. This is sometimes referred to as "torsional servo motor and mirror twist," and it can give rise to velocity and positioning errors of the mirrors that are not measurable by the servo-motor encoders and cannot be ignored. In particular, galvanometer mirrors tend to lag the servo motors in position and velocity, and tend to overshoot their intended destinations before springing back into place. Line separations and overall poor quality laser proj ections can result.

[0007] Accordingly, the mirror control systems for demanding laser steering applications generally include additional adjustments that attempt to compensate for mirror twist and other mechanical imperfections. Typically, in additional to gain and offset adjustments, each of the X and Y controllers also includes separate adjustments for high frequency damping and low frequency damping. A typical system will therefore require at least eight adjustments for proper calibration, which are X and Y position (offset), X and Y gain, X and Y high frequency damping, and X and Y low frequency damping. Because the X and Y mirror movements must be coordinated with each other, in general all eight of these adjustments are inter-dependent.

[0008] As a result, when calibrating a high speed, high accuracy laser steering galvanometer system, it is generally necessary for a technician to iteratively adjust all eight of these settings while observing a resulting laser pattern. The

International Laser Display Association (ILDA) had created standard "test patterns" that are commonly used for this purpose. Figure 2A is an example of an ILDA test pattern, as displayed by a system that is out of adjustment, while Figure 2B shows the same test pattern that results after the system has been brought into proper alignment.

[0009] Even with the help of standardized test patterns, the calibration of demanding laser steering galvanometer systems remains more of an "art" than a "science," whereby the adjustment and calibration depend on human skill and experience, which can be variable and often time consuming. Furthermore, the characterization of a galvanometer' s accuracy, even after being calibrated, is qualitative at best, and does not lend itself to reproducible, quantifiable metrics.

[0010] What is needed, therefore, is a method for quantitatively characterizing the performance of a laser steering galvanometer system, for facilitating

galvanometer calibration based on obj ective metrics, and for accurately

controlling the mirrors in a galvanometer laser steering system.

SUMMARY OF THE INVENTION

[0011] The present invention is a method and apparatus for accurately and quantitatively characterizing and controlling the performance of a laser steering galvanometer system by providing precise, direct measurements of mirror positions, velocity, and/or acceleration during operation of the system. [0012] Specifically, the present method implements a laser-based measurement system, whereby at least one calibration laser beam from a calibration "sensor" impinges directly onto a side region of at least one galvanometer mirror so as to determine the rotational positioning, velocity, and/or acceleration of the mirror during galvanometer operation. In some embodiments, the mirror position is determined by laser interferometry, while in other embodiments the laser position is determined by time-of-flight laser positioning. In various embodiments, Doppler shifts in the laser frequency are used to characterize the angular velocity of the mirror.

[0013] By characterizing the position of the mirror directly, rather than characterizing the position of the motor and then indirectly inferring the mirror position from the motor position, the present invention circumvents the

accumulated errors that arise during operation of the galvanometer, including errors due to the finite mass of the galvanometer mirror and due to the torsional flexibility of the mirror shaft.

[0014] In embodiments, the measurement data obtained from the calibration laser beam is corrected to account for shifts in the location where the calibration beam impinges on the mirror as the mirror rotates.

[0015] In some embodiments, the measurement system includes at least one calibration mirror that is able to direct the calibration beam from the sensor to the galvanometer mirror. In various embodiments, a calibration mirror is used to transition the calibration beam to different locations on a galvanometer mirror and/or between mirrors in the galvanometer. In other embodiments, the measurement system includes a plurality of laser sensors that can direct a plurality of calibration laser beams onto mirrors in the galvanometer.

[0016] In various embodiments, calibration beams are directed onto more than one location on at least one mirror in the galvanometer. For example,

embodiments simultaneously measure positions of two opposing sides of a mirror, for improved accuracy in measuring the rotational positioning of the mirror. The calibration beams can be generated by a plurality of laser sensors and/or by using a beam splitter to split the laser beam.

[0017] Embodiments are able to accommodate a large mirror rotation range by dividing the rotation range into a plurality of measurement sub-ranges. In some of these embodiments, the measurement sub-ranges are accommodated by using one or more calibration mirrors to re-route the calibration beam so that it can approach the galvanometer mirror from different directions. In other embodiments, calibration laser beams are directed at the galvanometer mirror from different directions by positioning a plurality of calibration sensors at corresponding locations surrounding the galvanometer mirror.

[0018] In some embodiments, the disclosed apparatus is applied to a separate galvanometer, while in other embodiments the disclosed apparatus is integral with the galvanometer system. In some of these embodiments, the apparatus is able to monitor the performance of the galvanometer over time, and to alert a user and/or automatically recalibrate the galvanometer if and when needed.

[0019] In a first general aspect, the invention is a method and apparatus for quantitatively characterizing the performance of a laser steering galvanometer system. In a second general aspect, the invention is a method of facilitating calibration of a laser steering galvanometer system by predicting the required calibration adjustments based on measured galvanometer performance. In embodiments of this general aspect, measured performance deviations are compared with a database of known performance deviations and corresponding adjustment errors so as to estimate the actual adjustment errors that require correction.

[0020] In a third general aspect, the invention is a method and apparatus for automatically calibrating a digitally controlled laser steering galvanometer system.

[0021] In a fourth general aspect, the invention is an apparatus for controlling the operation of a galvanometer, whereby direct measurements of mirror position are used as the feedback data for controlling servo motors that rotate the galvanometer mirrors.

[0022] A first general aspect of the present invention is a method of

characterizing the performance of a galvanometer system that includes a mirror rotatably controlled by a motor system and associated controller. The method includes:

1) instructing the controller to direct the motor system to rotate the mirror to a desired orientation;

2) causing a laser measurement system to direct a laser beam onto a side region of the mirror;

3) detecting reflected light from the laser beam;

4) determining rotation information from the reflected light;

5) repeating steps 1 -4; and

6) quantitatively characterizing mirror positioning error information based on a difference between the determined rotation position information and ideal position information.

[0023] A second general aspect of the present invention is a method of calibrating a galvanometer system that includes a mirror rotatably controlled by a motor system and associated controller. The method includes:

i) performing the method of claim 1 ;

ii) predicting required calibration adjustments of the galvanometer system based on the mirror positioning error information; and

iii) implementing the predicted calibration adjustments.

[0024] Embodiments of this second general aspect further include repeating steps i) through iii).

[0025] In any preceding embodiment of this general aspect, predicting the required calibration adjustments can include comparing the mirror positioning error information with known error information and corresponding known calibration misadjustments. [0026] In any preceding embodiment of this general aspect, the predicted calibration adjustment can be implemented manually or electronically.

[0027] A third general aspect of the present invention is a method of controlling a galvanometer system that includes a mirror rotatably controlled by a motor system and associated controller. The method includes:

a) providing a command to the controller to direct the motor system to rotate the mirror to a desired orientation;

b) causing a laser measurement system to direct a laser beam onto a side region of the mirror;

c) detecting reflected light from the laser beam;

d) determining rotation information from the reflected light; and e) updating the command according to a difference between the determined rotation information and the desired orientation.

[0028] In any preceding embodiment of any of these general aspects, the laser measurement system can include a laser interferometer.

[0029] In any preceding embodiment of any of these general aspects, the laser measurement system can include a time of flight distance sensor.

[0030] In any preceding embodiment of any of these general aspects, the laser measurement system can be able to determine at least one of an angular position, and angular velocity, and an angular acceleration of the mirror.

[0031] In any preceding embodiment of any of these general aspects, the laser measurement system can be able to measure a rotational velocity of the mirror according to Doppler shifts of the reflected light as compared to the laser beam.

[0032] In any preceding embodiment of any of these general aspects, determining the rotation information from the reflected light can include correcting the rotation information so as to account for changes in an impingement location of the laser beam on the mirror due to rotation of the mirror.

[0033] In any preceding embodiment of any of these general aspects, the method can be applied to a plurality of mirrors in the galvanometer system.

[0034] In any preceding embodiment of any of these general aspects, the method can include applying a plurality of laser beams simultaneously to at least one mirror in the galvanometer system. In some of these embodiments, applying the plurality of laser beams includes using a plurality of laser sensors to

simultaneously apply laser beams. In any of these embodiments, applying the plurality of laser beams can include using a beam splitter to split at least one laser beam. And in any of these embodiments, laser beams can be applied

simultaneously to opposite sides of at least one galvanometer mirror.

[0035] In any preceding embodiment of any of these general aspects, at least one calibration mirror can be used to direct the laser beam onto the mirror.

[0036] In any preceding embodiment of any of these general aspects,

determining the rotation information can include dividing a measurement range into a plurality of subranges, and for each of the subranges directing the laser beam onto the mirror from a corresponding measurement direction.

[0037] A fourth general aspect of the present invention is a rotation information measurement apparatus configured to measure rotation information pertaining to a mirror included in a galvanometer system by implementing at least one of the preceding method embodiments. The apparatus includes a laser sensor configured to direct a laser beam onto a side region of the mirror and to obtain the rotation information from light reflected therefrom.

[0038] In some of these embodiments, the apparatus is distinct from the galvanometer system, while in other of these embodiments the apparatus is integral with the galvanometer system. [0039] In any of these apparatus embodiments, the apparatus can be configured to obtain the rotation information periodically as the galvanometer is operated, and to take corrective action if a difference between the rotation information and ideal rotation information exceeds a specified threshold. In some of these embodiments, the corrective action includes alerting an operator of the

galvanometer. And in any of these embodiments, the corrective action can include automatically adjusting the galvanometer system so as to reduce the difference between the rotation information and the ideal rotation information to within the specified threshold.

[0040] The features and advantages described herein are not all-inclusive and, in particular, many additional features and advantages will be apparent to one of ordinary skill in the art in view of the drawings, specification, and claims.

Moreover, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes, and not to limit the scope of the inventive subj ect matter.

BRIEF DESCRIPTION OF THE DRAWINGS

[0041] Figure 1 A is a perspective view of a pair of galvanometer mirrors having separate mounts and controlling modules according to the prior art;

[0042] Figure IB is a perspective view of a pair of galvanometer mirrors having a common mount according to the prior art;

[0043] Figure 2A is an illustration of a standard calibration test pattern used for galvanometer adjustment according to the prior art, shown in an uncalibrated state;

[0044] Figure 2B is an illustration of the standard calibration test pattern of Figure 2A, shown in a calibrated state; [0045] Figure 3 is a side view of an embodiment of the present invention wherein a single laser sensor directs a calibration laser beam directly onto one side of a galvanometer mirror;

[0046] Figure 4 is a side view of an embodiment of the present invention that includes a calibration mirror that directs the calibration laser beam between a plurality of locations on a plurality of mirrors;

[0047] Figure 5 is a side view of an embodiment in which a plurality of laser sensors direct calibration laser beams onto a plurality of mirrors in the

galvanometer;

[0048] Figure 6 is a side view of an embodiment in which two laser sensors direct calibration laser beams onto two opposing sides of a mirror in the galvanometer;

[0049] Figure 7 is a side view of an embodiment in which a plurality of laser sensors direct calibration laser beams onto the mirror from a plurality of directions, thereby accommodating a wide rotational measurement range;

[0050] Figure 8 is a plot of data obtained using the method of Figure 6; and

[0051] Figure 9 is a flow diagram of an embodiment of the disclosed method of the present invention.

DETAILED DESCRIPTION

[0052] A method and apparatus are disclosed for accurately and quantitatively characterizing and controlling the performance of a laser steering galvanometer system by providing precise, direct measurements of mirror positions, velocities, and/or accelerations during operation of the system.

[0053] Specifically, with reference to Figure 3, the present method implements a laser-based measurement system, whereby at least one calibration laser beam 300 from a calibration "sensor" 302 impinges directly onto a side region of at least one galvanometer mirror 100 so as to determine the rotational positioning, velocity, and/or acceleration of the mirror 100 during galvanometer operation. In some embodiments, the mirror position is determined by laser interferometry, while in other embodiments the laser position is determined by time-of-flight laser positioning. In various embodiments, Doppler shifts in the laser frequency are used to characterize the angular velocity of the mirror.

[0054] By characterizing the angular position, velocity, and/or acceleration of the mirror 100 directly, rather than characterizing the position of the motor 104 and then indirectly inferring the position of the mirror 100, the present invention circumvents the accumulated errors that arise during operation of the

galvanometer, including errors due to the finite mass of the galvanometer mirror 100 and torsional flexibility of the mirror shaft 108.

[0055] In embodiments, the measurement data obtained from the calibration laser beam is 300 corrected to account for shifts in the location where the calibration beam 300 impinges on the mirror 100 that arise due to mirror rotations. It can be seen, for example, from the dotted lines in Figure 3 that the beam 300 impacts the mirror 100 at a location closer to the edge of the mirror 100 when it is rotated (dotted lines) as compared to when it is not rotated (solid lines).

[0056] With reference to Figure 4, in some embodiments the measurement system includes at least one calibration mirror 400 that is able to direct the calibration beam 300 from the sensor 302 to the galvanometer mirror 102. In some of these embodiments, as shown in Figure 4, one or more calibration mirrors 400 are used to transition the calibration beam 300 to different locations on a galvanometer mirror 100, 102 and/or between mirrors 100, 102 in the

galvanometer system.

[0057] With reference to Figure 5, in other embodiments the measurement system includes a plurality of laser sensors 302A, 302B that can direct a plurality of calibration laser beams 300A, 300B onto mirrors 100, 102 in the galvanometer. Similarly, with reference to Figure 6, in various embodiments calibration beams 300A, 300B, are directed onto more than one location on at least one mirror 100 in the galvanometer. For example, as shown in Figure 6, a pair of sensors 302A, 302B can simultaneously measure positions of two opposing sides of a mirror 100, for improved accuracy in measuring the rotational positioning of the mirror. The calibration beams can be generated by a plurality of laser sensors, as shown in the figure, and/or by using a beam splitter to split the laser beam.

[0058] Embodiments are able to accommodate a large mirror rotation range by dividing the rotation range into a plurality of measurement sub-ranges. In some of these embodiments, the measurement sub-ranges are accommodated by using one or more calibration mirrors to re-route the calibration beam so that it can approach the galvanometer mirror from different directions. With reference to Figure 7, in other embodiments, separate calibration laser beams 300A - 300D are directed at the galvanometer mirror 100 from different directions by positioning a plurality of calibration sensors 302A - 302D at corresponding locations surrounding the galvanometer mirror 100.

[0059] In some embodiments, the disclosed apparatus is applied to a separate galvanometer, while in other embodiments the apparatus is integral with the galvanometer. In some of these embodiments, the apparatus is able to monitor the performance of the galvanometer over time, and to alert a user and/or

automatically recalibrate the galvanometer if and when needed.

[0060] In a first general aspect, the invention is a method and apparatus for quantitatively characterizing the performance of a laser steering galvanometer system. For example, Figure 8 presents position measurements obtained from the embodiment of Figure 6, whereby two curves 800A, 800B are obtained using the two laser sensors 302A, 302B respectively. The data in Figure 8 was obtained with a laser oscillation rate of 60 kHz. Note the symmetrical offset of the two measurement curves. According to this first general aspect, measured data such as the data of Figure 8 is recorded and compared to "ideal" positioning, so as to quantitatively characterize the calibration and any remaining errors in the galvanometer system.

[0061] In a second general aspect, the invention is a method of facilitating calibration of a laser steering galvanometer by predicting the adjustments that are required so as to properly calibrate the system based on measured galvanometer performance such as Figure 8. With reference to Figure 9, in embodiments measured performance deviations from the "ideal" values are measured 900 and compared with a database 902 of known performance deviations and

corresponding adjustment errors so as to predict 904 the actual adjustment errors that require correction. The corrections are then made by hand 906, and the process is repeated until the desired result is obtained.

[0062] In a third general aspect, the invention is a method and apparatus for automatically calibrating a digital laser steering galvanometer system. In embodiments, the method is the same as Figure 9, except that the predicted galvanometer adjustments are made automatically instead of by hand.

[0063] In a fourth general aspect, the invention is an apparatus for controlling the operation of a galvanometer, whereby direct measurements of mirror position are used as the feedback data for controlling servo motors that rotate the

galvanometer mirrors.

[0064] The foregoing description of the embodiments of the invention has been presented for the purposes of illustration and description. Each and every page of this submission, and all contents thereon, however characterized, identified, or numbered, is considered a substantive part of this application for all purposes, irrespective of form or placement within the application.

[0065] The invention illustratively disclosed herein suitably may be practiced in the absence of any element which is not specifically disclosed herein and is not inherently necessary. However, this specification is not intended to be exhaustive. Although the present application is shown in a limited number of forms, the scope of the invention is not limited to just these forms, but is amenable to various changes and modifications without departing from the spirit thereof. One of ordinary skill in the art should appreciate after learning the teachings related to the claimed subj ect matter contained in the foregoing description that many modifications and variations are possible in light of this disclosure. Accordingly, the claimed subj ect matter includes any combination of the above-described elements in all possible variations thereof, unless otherwise indicated herein or otherwise clearly contradicted by context. In particular, the limitations presented in dependent claims below can be combined with their corresponding independent claims in any number and in any order without departing from the scope of this disclosure, unless the dependent claims are logically incompatible with each other.