Systems and methods for coaxially aligning two rotatable shafts
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- REDALIGN LLC
- Filing Date
- 2024-07-11
- Publication Date
- 2026-05-27
Smart Images

Figure US2024037582_23012025_PF_FP_ABST
Abstract
Description
SYSTEMS AND METHODS FOR COAXIALLY ALIGNING TWO ROTATABLE SHAFTSCROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present disclosure is a PCT International Application of United States Patent Application No. 63 / 527,221 filed on July 17, 2023. The entire disclosure of the application referenced above is incorporated herein by reference.FIELD
[0002] The present disclosure relates to systems and methods for coaxially aligning two rotatable shafts, particularly shafts of a rotary machine, such as a pump and a motor, connected by a rotary coupling.BACKGROUND
[0003] The background description provided here is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent it is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
[0004] When two rotatable shafts are coaxially coupled together it is very important to minimize coaxial misalignment. Even a small amount of misalignment can result in power losses, unnecessary bearing loads and premature coupling failure. Accordingly, the shafts must be carefully initially aligned and periodically inspected and adjusted as necessary.
[0005] Motor driven pumps used in municipal water systems and in sewage collection and treatment facilities are typical users of large motor and pump pairs which must be maintained in proper coaxial alignment. Further, many industrial and chemical facilities use very large motor and pump pairs, turbines and generators, motors and compressors, and other co-axially aligned rotatable machines which need to be maintained in proper coaxial alignment.
[0006] Even perfectly aligned systems (cold) will experience thermal growth as the motor and pump heat up. The thermal growth may create a misalignment. Thermal growth may be estimated and accounted for in advance.
[0007] Various devices have been used to align two coaxial rotatable shafts in the past ranging from traditional mechanical surface plate gauges to a laser and a detector mounted to adjacent shafts to be inspected while the shafts are manually rotated as illustrated in U.S. Pat. No. 8,533,965.BRIEF DESCRIPTION OF THE DRAWINGS
[0008] The present disclosure will become more fully understood from the detailed description and the accompanying drawings, wherein:
[0009] FIG. 1 is a top view of an alignment apparatus adjacent a motor driven pump;
[0010] FIG. 2 is a side view of the alignment apparatus of FIG. 1 ;
[0011] FIG. 3 is a sectional view taken along line 3-3 of FIG. 2;
[0012] FIG. 4 is an enlarged section of FIG. 3 showing the laser range finder (LRF) scanning motion;
[0013] FIG. 5 is a histogram of the data collected at one scan point;
[0014] FIG. 6 is X-Y plot of the average scan data at one shaft position to which a circle is fit in order to locate the shaft center;
[0015] FIG. 7 is a block diagram of the use of the alignment apparatus to perform the shaft alignment method;
[0016] FIG. 8 is a schematic of the components making up the alignment apparatus.
[0017] FIG. 9 is an alternative embodiment of the alignment apparatus having laser range finder (LRF) with a pivoting scanning motion;
[0018] FIG. 10 illustrates the location of the centerline of a shaft of known diameter using two points on the shaft surface;
[0019] FIG. 11 is a functional block diagram of an example implementation of a control module and an adjustment module;
[0020] FIGs. 12-14 include example graphs for different predetermined distances used for filtering;
[0021] FIGs. 15 and 16 include example graphs of center points, fit lines, r-squared values, and adjustments for the shafts in an example situation; and
[0022] FIG. 17 is a flowchart depicting an example method of determining the adjustments to coaxially align a first shaft (e.g., a motor shaft) with a second shaft (e.g., a pump shaft).
[0023] In the drawings, reference numbers may be reused to identify similar and / or identical elements.DETAILED DESCRIPTION
[0024] The present application includes systems and methods to calculate the adjustments necessary to realign two coupled, rotatable shafts which are inspected while “hot and running” in a steady state operating condition. Running may refer to rotating. Steady state may mean, for example, speed not changing by more than a predetermined amount over a predetermined period.
[0025] The two shafts may be of a large co-axially aligned rotating machines such as motor and pump pairs, turbines and generators, and motors and compressors, and other co-axially aligned rotating machines, which operate more efficiently when in proper (coaxial) alignment. While a motor M and pump P are described in an example, the claims are not limited to any specific type or size of co-axially aligned rotating machines. Similarly, the disclosed example is oriented horizontally however the present application is also applicable to machines of other orientations such as a vertical turbine and generator. The present application is also appliable to coaxially aligning two shafts when not rotating and also while the two shafts are rotating. By measuring while hot and running (rotating), actual thermal expansion of the shafts may be accounted for.
[0026] In the example of FIG. 1 motor M drives the pump P. A pump shaft 12 is typically part of the pump assembly P, that is coupled to inlet and outlet pipes and may be immovable and remain stationary (e.g., fixed in place). The pump shaft 12 rotates. A motor shaft 14 is part of the motor assembly M and is coupled to the pump shaft 12 by one or more (e.g., a pair of) couplings 16, 18 and one or more flexplates 20. Adjustments to the position of the motor M can be made by loosening the bolts 22 holding motor feet 24 to a foundation 26 and shifting the motor M by shimming the motor feet 24. Care is taken to align the two shafts 12 and 14 in all dimensions (i.e., coaxially aligning) before turning on the motor M. Shims 28 may be placed under one or more of the motor feet 24 of the motor M to adjust the height (Y-axis), and adjustment screws 29 (shown in FIG. 3) may be used to move the motor in-and-out laterally (Z- axis).
[0027] A positioning apparatus 10 (e.g., an adjustment module 100) determines one or more adjustments for the motor feet 24 respectively along the Y-axis and Z-axis to coaxially align the two shafts 12 and 14 by measuring the shafts 12 and 14 while the motor and pump are hot and running (the motor M is driving the pump P). Running may refer to rotation.
[0028] FIG. 1 illustrates a top plan view of the electric motor M connected to the pump P. FIG. 2 includes a side view of FIG. 1 illustrating a positioning apparatus 10 relative to the motor and pump and the various measurement locations. The positioning apparatus 10 conducts a measurement scan of at least four axially spaced locations, at least two on the pump shaft 12 and at least two on the motor shaft 14. The measurements are made by a non-contact laser range finder (LRF) 30. The LRF 30 is a vertical plane LRF as discussed further below.
[0029] The LRF 30 is attached to a base 32 that is positioned adjacent to the motor M and pump P as shown. The LRF is movable relative (e.g., parallel) to the motor shaft axis and pump shaft axis. An X-servo 34 connected to a base 32 moves the LRF parallel to the motor shaft axis and pump shaft axis (X-direction). The LRF 30 is movable vertically in the Y-direction along a vertical column 36 by a Y-servo 38. The Y- servo 38 may be connected to the X-servo 36 such that the Y-servo 38 and the column 36 move with the X-servo 36.
[0030] As illustrated in FIG. 3 the LRF 30 measures distances between the LRF 30 and the pump shaft 12 at multiple points on the vertical plane of the LRF 30. Optionally the LRF is provided with level sensor with a micro level adjustment servo 40 to maintain the LRF and the produced laser output beam vertical. A Z-axis servo 42 may be provided that moves LRF 30 toward or away from the shafts 12, 14 in the Z direction. This may allow the LRF 30 to be positioned a predetermined distance from the rotating shafts 12, 14, such as approximately 12 inches, 10 inches, 8 inches, 6 inches, 4 inches, 2 inches, or 1 inch away from a shaft being measured.
[0031] The following input parameters are input into the controller 44 via a user interface before running an alignment scan. Note that X-axis refers to left-and-right in above FIGs. 2 & 3, Y-axis to up-and-down in FIG. 2 and into and out of the page in FIG. 1 , and Z-axis to in-and-out (toward and away) from the shafts, such as best seen in FIG. 1.PSx: X-position on pump shaft (or similar), closest to pumpPCx: X-position on pump side of coupling (or similar)MCx: X-position on motor side of couplingMSx: X-Position on motor shaft (or similar), closest to motorMF: distance from inside edge of pump coupling to front feet on motorMR: distance from inside edge of pump coupling to rear feet on motorLE: distance from laser reading point PCx to inside edge of pump coupling
[0032] As previously stated, the pump P may be fixed stationary. Therefore, the imaginary centerline of the pump shaft 12 may be used as a foundation for all calculations. The motor M however can be moved through shims 28 and adjustment screws 30 to coaxially align or realign the motor shaft 14 with the pump shaft 12 the pump P.
[0033] The X-values for PS, PC, MC, and MS are entered, such by moving the LRF (e.g., in response to user input to the User Interface Ul) to positions and storing these X-values (positions). Once the scan is initiated, the LRF 30 scans the surface of the shaft at multiple points on the vertical plane each position, such as shown in FIGs. 3 and 4. At each X position, many Z-direction measurements (distances) are made by the LRF 30, such as at least 200 at each X position. As discussed further below, based on the Z-direction measurements, the adjustment module 100 may determine a center point (X, Y, and Z coordinates of the axis of the measured shaft) and a radius of the measured shaft at that X-position. In various implementations, the Y servo may raise the LRF 30 such that a vertical center of the vertical plane output by the LRF 30 is approximately at the height of the center of the shaft being measured.
[0034] In various implementations, the Y-servo 38 may have a travel of approximately 1 .0 inches or another suitable travel that is sufficient for various different shaft sizes. With the vertical plane LRF 30, the LRF 30 can measure the Z distance between the LRF 30 and the measured shaft at up to 50 percent of the outer circumference of the measured shaft at a given time. The scan (Z-distance measurements) may be performed while the motor is on and the shafts 12 and 14 are rotating, such as once the shafts 12 and 14 have reached a steady state operating condition. The collected scanned measurements at each X position point PS, PC, MC, and MS may be evaluated programmatically by the adjustment module 100 in a Z-Y diagram, such as shown in FIG. 6. This series of Z measurements on the vertical plane at any X positionform a curved circular segment 42 to which the adjustment module 100 may fit a circle, such as using a circular best-fit algorithm. In various implementations, 50 to 250 Z distance measurements from the LRF 30 may be used by the adjustment module 100 to determine the circular segment. However, it is possible to fit a circle to as few as three data points as illustrated in bold in FIG. 6. Based on the circular segment, the adjustment module 100 can determine the radius and the center point of the measured shaft at that X position.
[0035] For example, using a best-fit-circle algorithm, such as Levenberg-Marquardt, the center point 40 of the shaft can be calculated in three dimensions by the adjustment module 100. The best-fit circle 44 has the center point 40 which defines a point on a line representing the axis of the measured shaft, as illustrated in FIG. 6. Multiple (e.g., the two) points on a measured shaft provide (e.g., two) absolute points in three-space (PSx, PSy, PSz) and (PCx, PCy, PCz). Two or more 3D points define a 3D line, and this line determines the pump shaft centerline, the axis of the pump shaft 12. More than two points could be used as well, meaning additional intermediate points between PS and PC. In this case, a best-fit-line algorithm, such as least squares line fitting, may be used by the adjustment module 100 to determine the centerline / axis based on the center points at each X position.
[0036] Parameters determined by the adjustment module 100 may include the pump pitch (Y-axis slope) of the pump shaft 12 and the pump yaw (Z-axis slope) of the pump shaft 12 relative to apparatus 10. Pump pitch may be computed by the adjustment module 100 based on or equal to (PCy - PSy) / (PCx - PSx). Pump yaw may be computed by the adjustment module 100 based on or equal to (PCz - PSz) / (PCx - PSx). Note there may be no need for the pump or apparatus to be perfectly level since all measurements are relative. We now have two 3D points, that define a centerline / axis in three dimensions of the pump shaft 12.
[0037] The adjustment module 100 determines the centerline / axis of the motor shaft 14 similarly based on two or more X direction points on the motor shaft 14. Scanning the motor shaft 14 is done similar to the scanning of the pump shaft 12 described above. The LRF 30 scans the motor shaft 14 or the motor coupling 18, or at two or more spaced apart X-axis points (i.e. MCx, MSx, etc.) and determines at two or more respective center points MCx, MCy, MCz and MSx, MSy, MSz. The adjustment module 100 determine the centerline / axis of the motor shaft 14 based on the center points,such as using a best-fit-line algorithm. Like with the pump, the motor’s relative pitch (MSy-MCy) / (MSx-MCx) and yaw (MSz-MCz) / (MSx-MCx) may be computed by the adjustment module 100 or the motor’s centerline. Even after precise cold (non-rotating) alignment, the centerline of the motor shaft 14 may be out of alignment with the centerline of the pump shaft 12 once hot and running.
[0038] Above discusses computing the two or more 3D points that define the pump shaft centerline / axis and the determination of the centerline / axis of the pump shaft 12. Also discussed is the computation of the pump pitch and yaw and the determination of the centerline / axis of the motor shaft 14. To align the pump and motor shafts 12 and 14, the adjustment module 100 determines one or more adjustments to adjust the motor pitch and yaw to be the same as the pump pitch and yaw and so and that the two shaft axes intersect at the coupling connecting the shafts together. A translation (up / down, in / out) may also be determined by the adjustment module 40 for the motor shaft 14 in addition to adjusting the pitch and yaw to obtain co-axial alignment between the motor and pump shafts 12 and 14. For both MC and MS, the adjustment module 100 may determine target 3D coordinates for coaxially aligning the motor shaft 14 with the pump shaft 12. The target coordinates may be MCx, MCyi, MCzi and MSx, MSyi, MSzi.
[0039] The 3D alignment problem can be broken down into two, 2D alignments, namely up / down (Y direction) and in / out (Z direction). Note that the motor M is not adjusted left / right (X direction) once coupled to the pump). First, we will discuss the adjustment calculations performed by the adjustment module 100 in the Y-axis (pitch alignment) and separately the adjustment calculation performed by the adjustment module 100 for the Z-axis (yaw alignment). This involves the adjustment module 100 determining how to adjust the feet of the motor such that the two center points at MCx, MCyi, MCzi and MSx, MSyi, MSzi fall perfectly on the extended centerline / axis of the pump shaft 12 projected out from the pump toward the motor.
[0040] Pitch Calculation: A 2D line can be described by the equation y=mx+b, where m is the pitch and b is the y-intercept. For pump pitch, the adjustment module 100 has two baseline points PSx, PSy and PCx, PCy which can be used to compute a target pitch m=(y2-y1 ) / (x2-x1 ) and the y-intercept (b=y-mx). With m and b known, the adjustment module 100 can determine a target (aligned) y-value (yi) for any x-value, specifically at MCx and MSx. This provides the target positions MCx, MCyi and MSx, MSyi.
[0041] Yaw Calculation: Similarly, the 2D yaw line of the pump shaft 112 can be described by the equation z=nx+c, where n is the yaw and c is the z-intercept. For pump yaw, the adjustment module 100 has two baseline points PSx, PSz and PCx, PSz which can be used by the adjustment module 100 determine a target yaw n=(z2- z1 ) / (x2-x1 ) and the z-intercept (c=z-nx). With n and c known, the adjustment module 100 can determine a target (aligned) z-value (zi) for any x-value, specifically at MCx and MSx. This provides us with MCx, MCzi and MSx, MSzi.
[0042] By combining the results from the ideal pitch and yaw calculations, we now have 3D coordinates MCx, MCyi, MCzi and MSx, MSyi, MSzi, and any additional points in between. These are where the motor center points should be in order for the two shafts to be in coaxial alignment, and may vary from MCx, MCy, MCz and MSx, MSy, MSz which is where they were measured to be.
[0043] Calculating the difference between the existing, measured motor center points MCx, MCy, MCz and MSx, MSy, MSz and their respective target locations MCxi, MCyi, MCzi and MSxi, MSyi, MSzi may be determined by the adjustment module 100 using subtraction (e.g., MCx-MCxi, MCy-MCyi, etc.). Note however that the motor feet adjustments may not be directly below MC and MS. Instead, the adjustments may be some distance away which creates a “lever arm” at MF and MR (e.g., see FIG. 2).
[0044] However, the adjustment module 100 may use a ratio to determine the amount of adjustment at some point further away. Known is the distance from PS-to-MC is (PSx-MCx). Also known is the distance from PS-to-MF is ((PCx-PSx)+LE+MF). If the second distance is twice the first, for example, then the adjustment module 100 may double the amount of adjustment at the front foot. Similarly, known is the distance from PS-to-MR is ((PCx-PSx)+LE+MR). If the distance to MR is three times the distance to MC, for example, the adjustment module 100 may triple the amount of adjustment at the rear foot. This may be done for both pitch adjustments (via shims) and yaw adjustments (via screws 29).
[0045] The system described herein uses precise positioning of the LRF 30 in the X- direction with the vertical plane of the LRF 30 on the Y-axis direction and the LRF 30 making high-precision laser Z-axis distance measurements and precise incremental repositioning of the LRF 30 to determine the centerlines / axes of the motor and pump shafts 12 and 14. Outliers of the Z-distances measurements may be filtered by the adjustment module 100 from the raw data, and the best available measurement data isrun through a best-fit-circle algorithm to determine two or more center points for each shaft. Adjustments to the motor feet are then calculated by the adjustment module 100, and the motor M can be put into coaxial alignment with the pump P. No other alignment system can measure alignment of a motor and pump shaft while “hot and running” or align two shafts to this level of precision.
[0046] The basic components of the measurement apparatus 10 are illustrated schematically in FIG. 8. The apparatus 10 has a control module 50, such as having a processor 52 and a memory 54. The adjustment module 100 may be implemented within the control module 50. The control module 50 is configured to control the movement of the LRF 30, possessing the collected data, calculating the centerlines / axes of the pump and motor shafts 12 and 14 and calculating the adjustments to co-axially align the motor shaft 14 with the pump shaft 12. The control module 50 is coupled to the X-servo 34, the Y-servo 38, and one or more user interface Ul devices such as U1. Examples of Ul devices include keyboards, displays (e.g., touchscreen or non-touchscreen), pointing devices (e.g., mouse, etc.). The Ul devices generate user input based on input from a user to cause the controller to position the LRF 30 at the data collection positions, such as PS, PC, MC, and MS, before the start of the measurement procedure. The X-servo 34 moves the LRF 30 to the four positions PS, PC, MC, and MS. In various implementations, the Y-servo 38 and / or the X-servo 34 could be replaced with a mechanical screw and guide or one or more other suitable linear movement devices.
[0047] An example method for coaxially aligning two rotating shafts which are coupled together is shown in flowchart of FIG. 7. The method includes:Providing a positioning device attached to a base, having a holder movable along an X- axis parallel to the two coupled rotating shafts, and movable along a Y-axis to position a laser range finder (LRF) affixed to the holder a distance from the two rotating shafts. The LRF measures Z-axis distance between the LRF and a plurality of vertically spaced spots on the shafts.Providing a control module, such as having a processor and memory, communicating with the LRF and a user interface.Positioning the LRF at a first X-axis and Y-axis location on a first one of the rotating shafts, causing the LRF to measure the Z-axis distance to a spot on the shaft and storing the measurement and spot location data.Repositioning the LRF along a Y-axis, and repeating the measurement, storing, steps at least until enough data is collected to determine the location of the shaft centerline at the first axial location. Using the vertical plane LRF, multiple distances can be measured at one time without the need for Y-axis direction movements.Positioning the LRF at a second X-axis location on the first rotating shaft, causing the controller to measure Z-direction distance between the shaft and the LRF and storing the measurement and spot location data.Repositioning the LRF along the Y-axis and repeating the measurement, storing steps and repeating until enough data is collected to determine the location of the shaft centerline at the second X-axis location. Using the vertical plane LRF, multiple distances can be measured at one time without the need for Y-axis direction movements.Positioning the LRF at a third X-axis location on a second one of the rotating shafts, causing the LRF to measure distance between the shaft and the LRF and storing the measurement and spot location data.Repositioning the LRF along the Y-axis and repeating the measurement, storing steps and repeating until enough data is collected to determine the location of the shaft centerline at the third axial location. Using the vertical plane LRF, multiple distances can be measured at one time without the need for Y-axis direction movements.Positioning the LRF at a fourth axial location on the second rotating shaft, measuring causing the LRF to measure distance between the shaft and the LRF and storing the measurement and spot location data.Repositioning the LRF along the Y-axis and repeating the measurement, storing steps and repeating until enough data is collected to determine the location of the shaft centerline at the fourth axial location. Using the vertical plane LRF, multiple distances can be measured at one time without the need for Y-axis direction movements.Calculating the centerlines of the two shafts at each of the four X-axis locations using stored measurement and spot location data using a best-fit circle algorithm to define two spaced apart axis location points for each shaft and determining the adjustment(s) of one of the two shafts needed to move the shafts in to coaxial alignment and outputting the adjustment information to the user via a user interface device.
[0048] In another embodiment, shown in FIG. 9, rather than vertically (Y-direction) moving the LRF 30, the LRF 30 may be positioned in a fixed located at the approximate shaft center height. The beam of LRF 30 can then pivoted over an angle 0 about an axis generally parallel to the shaft to scan a plurality of Y-axis locations. Pivoting the LRF 30 causes the laser beam emitted from the LRF to measure a spot on the rotatable shafts to move in the Y direction relative to the rotatable shafts. The shaft centerline is then determined as described herein. As discussed above, a vertical plane LRF may be used, and pivoting of the LRF 30 can be omitted.
[0049] In another example, the diameter of the shaft is known in advance or is measured and input into to the control module 50. When the shaft diameter is known or input, the adjustment module 100 may collect only data for at least two Y-axis locations. The center location (X, Y, and Z positions) of a known diameter shaft can be determined by the adjustment module 100 with only two points as shown in FIG. 10. If the two measurement points are the same distance from the LRF 30, the distance between the points is the chord length C of a line extending through the shaft. A line through the LRF 30 and the center of chord C goes through the center of the shaft as illustrated in FIG. 10. With the radius R known the shaft center can be located by the adjustment module 100 relative to the LRF position using algebra, the Pythagorean theorem, geometry, and the chord length equation. Alternatively, the two points can be used by the adjustment module 100 to determine the shaft center points by fitting a known diameter arc to the two points. When the shaft diameter is known or input, less data may be collected and the circle fitting calculations performed by the adjustment module 100 may be simplified.
[0050] FIG. 11 is a functional block diagram of an example implementation of the control module 50 and the adjustment module 100. The base 32 may not be perfectly planar. For example, the base 32 may include one or more changes in height in the Z direction vertically upward or downward. Additionally, one or more rails along with the LRF 30 moves in the X-direction may not be perfectly linear. For example, one or more of the rails may move in the Y-direction and / or move toward and / or away from the shafts in the Z-direction.
[0051] To correct for (e.g., imperfections in) the base 32 and the rail(s) along which the LRF 30 moves in the X direction, before adjustments are determined for coaxial alignment of two shafts, an offset module 1104 determines corrections for each Xposition using a single (only one) coaxially straight shaft, which may be considered a near perfect calibration shaft. A movement module 1108 controls the X-servo 34 and therefore controls movement of the LRF 30 in the X direction. The movement module 1108 may stop the LRF 30 each predetermined distance (e.g., 1 mm) for collection of data by the LRF 30 from the single coaxially straight shaft at each X position, where the X positions are separated from each other by the predetermined distance.
[0052] For example, the movement module 1108 may position the LRF 30 at a first end (extreme) of the base 32. The LRF 30 may capture Z distance measurements at the first end, and the offset module 1104 may determine a first center point location of the single coaxially straight shaft at the first end based on the Z distance measurements at the first end as discussed above. The movement module 1108 may move the LRF 30 away from the first end and toward a second end (extreme) of the base 32 by the predetermined distance (e.g., 1 mm). The LRF 30 may capture Z distance measurements at that X location, and the offset module 1104 may determine a second center point location of the single coaxially straight shaft at that X location based on the Z distance measurements at that X location as discussed above. The movement module 1108 may move the LRF 30 away from the first end and toward the second end (extreme) of the base 32 by the predetermined distance (e.g., 1 mm) again, the offset module 1104 may determine another center point of the single straight shaft at the X location, etc. This process may continue until a center point has been determined for each X location between the first and second ends, inclusive. This may be repeated until a predetermined number (e.g., 10 or another suitable number) of center points have been determined for the single coaxially straight shaft at each X location. The offset module 1104 may determine a final center point for each X location, for example, based on or equal to an average of the center points determined at that X location. For example, the offset module 1104 may set the final center point for an X location based on or equal to a sum of the center points determined for that X location divided by the total number of center points summed. The offset module 1104 may do this for each of the different X locations. While the average is discussed, the median value may be used in place of the average, such as to eliminate outlier values from being factored into the results.
[0053] In various implementations, the movement module 1108 may move the LRF 30 (via the X-servo 34) continuously at a predetermined rate (speed) and accelerate the LRF 30 at a predetermined acceleration rate to achieve the predetermined rate frominitially being stopped. The LRF 30 may collect data each predetermined distance, such as 1 mm as described above or another predetermined distance such as each 50 microns, 20 microns, 10 microns, 1 micron, etc. With the continuous movement and not stopping and starting of the LRF 30, vibration may be reduced and therefore collected data may be more accurate. Additionally, a complete set of data may be collected in a shorter period than if the LRF 30 was started and stopped each predetermined distance.
[0054] While the example of moving the LRF 30 from end to end is described, for the measurements of the shafts, a range of positions on each shaft may be specified via user input from one or more user input devices. The movement module 1108 may move the LRF 30 continuously across these ranges and measurements may be taken only within the ranges of positions on each shaft. This may minimize unnecessary data collection.
[0055] For the adjustment of the motor shaft 14 to coaxially align the motor shaft 14 with the pump shaft 12, a similar process is performed. The movement module 1108 may position the LRF 30 at the first end (extreme) of the base 32. The LRF 30 may capture Z distance measurements to a first one of the shafts (motor shaft 14 or pump shaft 12) at the first end, and a center point module 1112 may determine a first center point location of the first one of the shafts at the first end based on the Z distance measurements at the first end as discussed above. The movement module 1108 may move the LRF 30 away from the first end and toward a second end (extreme) of the base 32 by the predetermined distance (e.g., 1 mm). The LRF 30 may capture Z distance measurements at that X location, and the center point module 1112 may determine a second center point location of the first one of the shafts at that X location based on the Z distance measurements at that X location as discussed above. The movement module 1108 may move the LRF 30 away from the first end and toward the second end (extreme) of the base 32 by the predetermined distance (e.g., 1 mm) again, the center point module 1112 may determine another center point of the first one of the shafts at the X location, etc. This process may continue until a center point has been determined for each X location between the first and second ends, inclusive for both of the first one of the shafts and the second (other) one of the shafts 12 and 14. In various implementations, the movement module 1108 may move the LRF 30 (via the X-servo 34) continuously at a predetermined rate (speed) and accelerate the LRF 30 at apredetermined acceleration rate to achieve the predetermined rate from initially being stopped.
[0056] Where non-cylindrical items or non-shafts are measured by the LRF 30 (e.g., at the coupling, etc.), center point module 1112 may determine the center point to be a null value (e.g., -1 ) at that X location. Null values at the coupling may also be used to distinguish the first shaft from the second shaft. The x values for the offsets and alignment scans may be identical so that the offset is known for each exact x value. In various implementations, interpolation may be used to determine offsets between two measured X locations.
[0057] A first filter module 1116 filters the center points determined by the center point module 1112 (a center point for each X location) to remove null values. In other words, the first filter module 1116 removes center points of X locations with null values corresponding to non-shafts, key slots, imperfections where accurate reading cannot be made by the LRF, etc. While the example of null values is provided, the present application is also applicable to other indicators and characteristics of non-shafts. The first filter module 1116 outputs first filtered center points which may include the center points determined by the center point module 1112 without the null values.
[0058] A correction module 1120 adjusts each first filtered center point based on the offsets determined by the offset module 1104 at the X locations, respectively. For example, the correction module 1120 may adjust a first filtered center point at an X location based on the offset determined by the offset module 1104 in the X and Z directions. The adjustment may be, for example, summing. The correction module 1120 does this for each filtered center point based on the offset at the respective X location. This produces corrected center points.
[0059] A second filter module 1124 applies a second filtering to the corrected center points. For example, the second filter module 1124 may go through the corrected center points and determine whether each corrected center point is within a predetermined range of both of its adjacent neighboring corrected center points (e.g., the predetermined distance left and right). This is the process of going through all remaining corrected center points and checking to see if each point is within a reasonable proximity to both of its neighboring points.
[0060] The predetermined distance is calibratable and may be, for example, 5000 to 50 microns or another suitable value. The predetermined distance may be set based onthe distance between consecutive measurements. For example, the predetermined distance may decrease as the distance between consecutive measurements decreases and vice versa. FIGs. 12-14 include example graphs for different predetermined distances. The first is for a predetermined distance of 100000 microns which, as illustrated, provides little to no noise reduction. This means that if a corrected center point is within 100000 microns in both the Y and Z directions of both of its neighboring center points, the second filter module 1112 would keep that corrected center point and include it in the second filtered center points. If not, the second filter module 1124 will discard that corrected center point. FIG. 12 also illustrates what the corrected center points may look like after the first filtering by the first filter module 1116 and the correction by the correction module 1120. FIGs. 13 and 14 illustrate how the second filtered center points change when the predetermined distance is changed to 100 microns and 50 microns, respectively relative to FIG. 12. What remains in the second filtered center points is essentially good, linear data.
[0061] Referring back to FIG. 11 , next is the iterative best fitting of a line to the center points of the pump shaft 12 and a line to the center points of the motor shaft 14. In the example of FIGS. 14, after applying a predetermined distance of 50 microns, there are 56 points remaining, 22 on the pump shaft side and 34 on the motor shaft side.
[0062] A third filter module 1128 eliminates one center point at a time from separate pump and motor data sets to keep just the very best, linear data. The third filter module 1128 may remove one center point at a time until one or more predetermined exit conditions are satisfied. The third filter module 1128 may determine which one center point to remove at a given time as the one of the center points that is furthest from its associated one of the lines (e.g., in the Y direction or the Z direction). In various implementations, best fit lines may be generated for the Y and Z directions and a point may be removed when it’s Y point is furthest from the Y best fit line or its Z point is furthest from the Z best fit line. All of the points for a center point may be removed when one of its Y or Z points is furthest from the associated best fit line. To determine which point is the furthest, for each point, the third filter module 1128 may determine a difference between the Y value of that point and the Y best fit line, a difference between the Z value of that point and the Z best fit line, and a total for the point by adding (summing) the two differences for that point. The third filter module 1128 may consider the point with the highest total as being furthest from the line and eliminate that point. Example predetermined conditions (at least one of which may be included) include lessthan or equal to a predetermined number of center points remain (e.g., 15 per shaft), all of the remaining center points are within a predetermined number (e.g., 2) of standard deviations of the line, and an r-squared (R2) value (e.g., determined based on X and Y directions) for lines fit to the remaining center points is greater than a predetermined value (e.g., 99 %). Another predetermined condition may be that none of the adjustments determined based on the then in use data change in response to the removal of a point by more than a predetermined amount (e.g., 0.01 or zero change / difference). The adjustments not changing may indicate convergence upon the adjustments to be used. In various implementations, two, more than two, or all of the predetermined conditions may be required to be satisfied. While example predetermined conditions are provided, the present application is also applicable to other predetermined conditions.
[0063] While the example of removing one center point at a time is provided, the present application is also applicable to removing two or more center points at a time. For example, the third filter module 1128 may determine a score (value) for each center point based on the proximity of that center point to the best fit line. In various implementations, the scores may be provided as values between 0 and 100, where 100 corresponds to closest proximity to the best fit line and 0 corresponds to furthest proximity to the best fit line. The present application however is applicable to other value ranges and indicators of proximity to the best fit line. The third filter module 1128 may remove a predetermined percentage (e.g., 1 -5%) of the center points with the lowest scores. This may improve processing speed and decrease computational resources used relative to removing one center point at a time.
[0064] A line fitting module 1132 fits a line to the remaining center points of the pump shaft 12 and fits a line to the remaining center points of the motor shaft 14 as discussed above and iteratively as the center points are removed by the third filter module 1128. These lines include the axes of the motor shaft 14 and the pump shaft 12.
[0065] Based on the lines for the shaft axes, an adjustment determination module 1136 determines the adjustments to the motor M to coaxially align the motor shaft 14 with the pump shaft 12 as discussed above, the adjustment determination module 1136 may determine the adjustments using one or more equations and / or lookup tables that relate lines to adjustments. The adjustment(s) are output by the control module 50 to one or more users visually, such as via one or more displays, audibly via one or morespeakers, or in another suitable manner. This enables the coaxial alignment of the motor shaft 14 with the pump shaft 12. FIGs. 15 and 16 include example graphs of center points, fit lines, r-squared values, and adjustments for the pump shaft 12 and the motor shaft 14 in an example situation.
[0066] To summarize, for each data point, the distance from the two best fit lines (Y and Z axes) is calculated. For the pump shaft side (22 data points in this example), this provides 44 deltas. The data point with the largest delta may be removed. Regardless of whether the largest delta was in Y or Z, we eliminate (remove) that entire point (both Y and Z components) from consideration for the next iteration. Alternatively, we could add the Y and Z deltas and make that the criteria for elimination.
[0067] FIG. 17 is a flowchart depicting an example method of determining the adjustments to coaxially align a first shaft (e.g., the motor shaft 14) with a second shaft (e.g., the pump shaft 12). Control begins with 1704 where the offsets for the X locations, respectively, are obtained from the offset module 1104. The offset module 1104 determines the offsets for the X locations, respectively, as discussed above based on measurements from the LRF 30 on a single straight shaft. 1704 may be performed previously or before the remainder of FIG. 17. In various implementations, the offsets may be determined once and used to adjust alignment of many different shafts.
[0068] At 1708, the center point module 1112 determines the center points for the X locations, respectively, of the first and second shafts to be coaxially aligned. The center point module 1112 determines the center point of a shaft at an X location based on the measurements from the LRF 30 at that X location.
[0069] At 1712, the first filter module 1116 applies the first filtering to the center points and removes null values corresponding to non-cylinders, the coupling, and other items that are not the first shaft or the second shaft. The first filter module 1116 outputs first filtered center points.
[0070] At 1716, the correction module 1120 adjusts the first filtered center points for the X locations, respectively, based on the offsets at the X locations, respectively. For example, the correction module 1120 may adjust the first filtered center point for an X location based on the offset determined for that X location. The correction module 1120 does this for each first filtered center point. This adjusts the first filtered center points to account for the base 32 and different positions of the LRF 30 at each X location. This produces the corrected center points.
[0071] At 1718, the second filter module 1124 applies the second filtering to the corrected center points to produce the second filtered center points as discussed above. This involves checking whether each corrected center point is within a predetermined distance of each of the adjacent corrected center points and, if not, filtering out that corrected center point.
[0072] At 1720, the line fitting module 1132 determines the lines for the axes of the first and second shafts based on the center points of the first and second shafts, respectively. Initially, the lines are fit based on the second filtered center points. The third filter module 1128 however removes one center point at a time as discussed above until the one or more predetermined exit conditions are satisfied. The predetermined exit conditions may include, for example, less than or equal to a predetermined number of center points remain (e.g., 15 per shaft), all of the remaining center points are within a predetermined number (e.g., 2) of standard deviations of the line, an R2value (e.g., determined based on X and Y directions) of lines fit to the remaining center points is greater than a predetermined value (e.g., 99 %), changes between the previous values of the adjustments being less than the predetermined value (e.g., 0), or another suitable exit condition. In various implementations, all of the predetermined conditions may be required to be satisfied.
[0073] At 1724, the adjustment determination module 1136 determines whether the predetermined exit condition(s) are satisfied. If 1724 is false, the third filter module 1128 removes one center point at 1728, and control returns to 1720 to update the lines for the axes, respectively. If 1724 is true, control continues with 1732.
[0074] At 1732, the adjustment determination module 1136 determines the adjustments to coaxially align the first shaft with the second shaft as described above. At 1736, the adjustment determination module 1136 outputs the adjustments via one or more user interface devices. For example, the adjustment determination module 1136 may output the adjustments on a display and / or audibly output the adjustments via a speaker. In various implementations, the adjustment determination module 1136 may actuate an automated device, such as a robot, and make the adjustments via one or more shims and / or one or more of the screws 29 and thereby coaxially align the first shaft with the second shaft.
[0075] In various implementations, 1708-1732 may be performed multiple times and the shafts may be scanned multiple times. The adjustments output may be, forexample, medians or averages of the adjustments determined via the multiple instances of 1708-1732. This may ensure that the determined adjustment values are rational and accurate.
[0076] The foregoing description is merely illustrative in nature and is in no way intended to limit the disclosure, its application, or uses. The broad teachings of the disclosure can be implemented in a variety of forms. Therefore, while this disclosure includes particular examples, the true scope of the disclosure should not be so limited since other modifications will become apparent upon a study of the drawings, the specification, and the following claims. It should be understood that one or more steps within a method may be executed in different order (or concurrently) without altering the principles of the present disclosure. Further, although each of the embodiments is described above as having certain features, any one or more of those features described with respect to any embodiment of the disclosure can be implemented in and / or combined with features of any of the other embodiments, even if that combination is not explicitly described. In other words, the described embodiments are not mutually exclusive, and permutations of one or more embodiments with one another remain within the scope of this disclosure.
[0077] Spatial and functional relationships between elements (for example, between modules, circuit elements, semiconductor layers, etc.) are described using various terms, including “connected,” “engaged,” “coupled,” “adjacent,” “next to,” “on top of,” “above,” “below,” and “disposed.” Unless explicitly described as being “direct,” when a relationship between first and second elements is described in the above disclosure, that relationship can be a direct relationship where no other intervening elements are present between the first and second elements, but can also be an indirect relationship where one or more intervening elements are present (either spatially or functionally) between the first and second elements. As used herein, the phrase at least one of A, B, and C should be construed to mean a logical (A OR B OR C), using a non-exclusive logical OR, and should not be construed to mean “at least one of A, at least one of B, and at least one of C.”
[0078] In the figures, the direction of an arrow, as indicated by the arrowhead, generally demonstrates the flow of information (such as data or instructions) that is of interest to the illustration. For example, when element A and element B exchange a variety of information but information transmitted from element A to element B isrelevant to the illustration, the arrow may point from element A to element B. This unidirectional arrow does not imply that no other information is transmitted from element B to element A. Further, for information sent from element A to element B, element B may send requests for, or receipt acknowledgements of, the information to element A.
[0079] In this application, including the definitions below, the term “module” or the term “controller” may be replaced with the term “circuit.” The term “module” may refer to, be part of, or include: an Application Specific Integrated Circuit (ASIC); a digital, analog, or mixed analog / digital discrete circuit; a digital, analog, or mixed analog / digital integrated circuit; a combinational logic circuit; a field programmable gate array (FPGA); a processor circuit (shared, dedicated, or group) that executes code; a memory circuit (shared, dedicated, or group) that stores code executed by the processor circuit; other suitable hardware components that provide the described functionality; or a combination of some or all of the above, such as in a system-on-chip.
[0080] The module may include one or more interface circuits. In some examples, the interface circuits may include wired or wireless interfaces that are connected to a local area network (LAN), the Internet, a wide area network (WAN), or combinations thereof. The functionality of any given module of the present disclosure may be distributed among multiple modules that are connected via interface circuits. For example, multiple modules may allow load balancing. In a further example, a server (also known as remote, or cloud) module may accomplish some functionality on behalf of a client module.
[0081] The term code, as used above, may include software, firmware, and / or microcode, and may refer to programs, routines, functions, classes, data structures, and / or objects. The term shared processor circuit encompasses a single processor circuit that executes some or all code from multiple modules. The term group processor circuit encompasses a processor circuit that, in combination with additional processor circuits, executes some or all code from one or more modules. References to multiple processor circuits encompass multiple processor circuits on discrete dies, multiple processor circuits on a single die, multiple cores of a single processor circuit, multiple threads of a single processor circuit, or a combination of the above. The term shared memory circuit encompasses a single memory circuit that stores some or all code from multiple modules. The term group memory circuit encompasses a memory circuit that,in combination with additional memories, stores some or all code from one or more modules.
[0082] The term memory circuit is a subset of the term computer-readable medium. The term computer-readable medium, as used herein, does not encompass transitory electrical or electromagnetic signals propagating through a medium (such as on a carrier wave); the term computer-readable medium may therefore be considered tangible and non-transitory. Non-limiting examples of a non-transitory, tangible computer-readable medium are nonvolatile memory circuits (such as a flash memory circuit, an erasable programmable read-only memory circuit, or a mask read-only memory circuit), volatile memory circuits (such as a static random access memory circuit or a dynamic random access memory circuit), magnetic storage media (such as an analog or digital magnetic tape or a hard disk drive), and optical storage media (such as a CD, a DVD, or a Blu-ray Disc).
[0083] The apparatuses and methods described in this application may be partially or fully implemented by a special purpose computer created by configuring a general purpose computer to execute one or more particular functions embodied in computer programs. The functional blocks, flowchart components, and other elements described above serve as software specifications, which can be translated into the computer programs by the routine work of a skilled technician or programmer.
[0084] The computer programs include processor-executable instructions that are stored on at least one non-transitory, tangible computer-readable medium. The computer programs may also include or rely on stored data. The computer programs may encompass a basic input / output system (BIOS) that interacts with hardware of the special purpose computer, device drivers that interact with particular devices of the special purpose computer, one or more operating systems, user applications, background services, background applications, etc.
[0085] The computer programs may include: (i) descriptive text to be parsed, such as HTML (hypertext markup language), XML (extensible markup language), or JSON (JavaScript Object Notation) (ii) assembly code, (iii) object code generated from source code by a compiler, (iv) source code for execution by an interpreter, (v) source code for compilation and execution by a just-in-time compiler, etc. As examples only, source code may be written using syntax from languages including C, C++, C#, Objective-C, Swift, Haskell, Go, SQL, R, Lisp, Java®, Fortran, Perl, Pascal, Curl, OCaml,Javascript®, HTML5 (Hypertext Markup Language 5th revision), Ada, ASP (Active Server Pages), PHP (PHP: Hypertext Preprocessor), Scala, Eiffel, Smalltalk, Erlang, Ruby, Flash®, Visual Basic®, Lua, MATLAB, SIMULINK, and Python®.
Claims
CLAIMSWhat is claimed is:1 . A shaft alignment system, comprising: an offset module configured to determine offsets at horizontal locations, respectively, based on measurements from a laser range finder (LRF) using a single straight cylindrical shaft; a center point module configured to: determine first and second center points of a first cylindrical shaft at first and second ones of the horizontal locations based on measurements from the LRF at the first and second horizontal locations, respectively; determine third and fourth center points of a second cylindrical shaft at third and fourth ones of the horizontal locations based on measurements from the LRF at the third and fourth horizontal locations, respectively; a correction module configured to: adjust the first and second center points based on first and second ones of the offsets at the first and second horizontal locations, respectively; and adjust the third and fourth center points based on third and fourth ones of the offsets at the third and fourth horizontal locations, respectively; a line fitting module configured to: fit a first line corresponding to a first axis of the first cylindrical shaft based on the first and second center points; and fit a second line corresponding to a second axis of the second cylindrical shaft based on the third and fourth center points; and an adjustment determination module configured to, based on the first and second lines, determine one or more adjustments for coaxially aligning the first axis of the first cylindrical shaft with the second axis of the second cylindrical shaft.
2. The shaft alignment system of claim 1 wherein the first, second, third, and fourth center points each include a three dimensional (3D) coordinate.
3. The shaft alignment system of claim 1 wherein the LRF is a vertical plane LRF.
4. The shaft alignment system of claim 1 wherein the adjustments include adjustments in two directions that are each perpendicular to horizontal.
5. The shaft alignment system of claim 4 wherein the two directions include (a) vertical and (b) toward and away from the first and second cylindrical shafts.
6. A shaft alignment system, comprising: an offset module configured to determine offsets at horizontal locations, respectively, based on measurements from a laser range finder (LRF) using a single straight cylindrical shaft; a center point module configured to determine center points of first and second cylindrical shafts based on measurements from the LRF at the horizontal locations, respectively; a first filter module configured to apply a first filtering to the center points and to output first filtered center points for first ones of the horizontal locations based on the center points at the first ones of the horizontal locations, respectively; a correction module configured to generate corrected center points by adjusting the first filtered center points at the horizontal locations based on the offsets at the horizontal locations, respectively; a second filter module configured to apply a second filtering to the corrected center points and to output second filtered center points for second ones of the horizontal locations based on the first center points at the second ones of the horizontal locations, respectively; a line fitting module configured to: fit a first line corresponding to a first axis of the first cylindrical shaft based on first ones of the second filtered center points; and fit a second line corresponding to a second axis of the second cylindrical shaft based on first ones of the second filtered center points; and an adjustment determination module configured to, based on the first and second lines, determine one or more adjustments for coaxially aligning the first axis of the first cylindrical shaft with the second axis of the second cylindrical shaft.
7. The shaft alignment system of claim 6 wherein the first filtering includes removing ones of the center points corresponding to non-cylindrical objects.
8. The shaft alignment system of claim 6 wherein the first filtering includes removing ones of the center points having predetermined characteristics.
9. The shaft alignment system of claim 6 wherein the correction module is configured to generate one of the corrected center points for one of the horizontal locations by adjusting the first filtered center point at the one of the horizontal locations based on the offset at the one of the horizontal locations.
10. The shaft alignment system of claim 9 wherein the correction module is configured to generate one of the corrected center points for one of the horizontal locations by adding the offset at the one of the horizontal locations to the first filtered center point at the one of the horizontal locations.11 . The shaft alignment system of claim 6 wherein the second filter includes removing one of the corrected center points where adjacent ones of the corresponding center points are not both within a predetermined distance of the one of the corrected center points.
12. The shaft alignment system of claim 6 further comprising a third filter module configured to apply a third filtering to the second filtered center point.
13. The shaft alignment system of claim 12 wherein the third filtering includes applying removing one of the second filtered center points at a time until one or more predetermined exit conditions are satisfied.
14. The shaft alignment system of claim 13 wherein the one or more predetermined exit conditions include a number of the second filtered center points being less than or equal to a predetermined number of center points.
15. The shaft alignment system of claim 13 wherein the one or more predetermined exit conditions include r-squared values for the first and second lines being less than a predetermined value.
16. The shaft alignment system of claim 13 wherein the one or more predetermined exit conditions include each of the second filtered center points being within a predetermined number of standard deviations of one of the first and second lines.
17. The shaft alignment system of claim 13 wherein the one or more predetermined exit conditions include one or more differences between the one or more adjustments and previous values of the one or more adjustments, respectively, are all less than a predetermined value.
18. A shaft alignment method, comprising: determining offsets at horizontal locations, respectively, based on measurements from a laser range finder (LRF) using a single straight cylindrical shaft; determining first and second center points of a first cylindrical shaft at first and second ones of the horizontal locations based on measurements from the LRF at the first and second horizontal locations, respectively; determining third and fourth center points of a second cylindrical shaft at third and fourth ones of the horizontal locations based on measurements from the LRF at the third and fourth horizontal locations, respectively; adjusting the first and second center points based on first and second ones of the offsets at the first and second horizontal locations, respectively; adjust the third and fourth center points based on third and fourth ones of the offsets at the third and fourth horizontal locations, respectively; fitting a first line corresponding to a first axis of the first cylindrical shaft based on the first and second center points; fitting a second line corresponding to a second axis of the second cylindrical shaft based on the third and fourth center points; and based on the first and second lines, determining one or more adjustments for coaxially aligning the first axis of the first cylindrical shaft with the second axis of the second cylindrical shaft.
19. The shaft alignment method of claim 18 wherein the first, second, third, and fourth center points each include a three dimensional (3D) coordinate.
20. The shaft alignment method of claim 18 wherein the LRF is a vertical plane LRF.
21. The shaft alignment method of claim 18 wherein the adjustments include adjustments in two directions that are each perpendicular to horizontal.
22. The shaft alignment method of claim 21 wherein the two directions include (a) vertical and (b) toward and away from the first and second cylindrical shafts.
23. A shaft alignment method, comprising: determining offsets at horizontal locations, respectively, based on measurements from a laser range finder (LRF) using a single straight cylindrical shaft; determining center points of first and second cylindrical shafts based on measurements from the LRF at the horizontal locations, respectively; applying a first filtering to the center points and to output first filtered center points for first ones of the horizontal locations based on the center points at the first ones of the horizontal locations, respectively; generating corrected center points by adjusting the first filtered center points at the horizontal locations based on the offsets at the horizontal locations, respectively; applying a second filtering to the corrected center points and to output second filtered center points for second ones of the horizontal locations based on the first center points at the second ones of the horizontal locations, respectively; fitting a first line corresponding to a first axis of the first cylindrical shaft based on first ones of the second filtered center points; fitting a second line corresponding to a second axis of the second cylindrical shaft based on first ones of the second filtered center points; and based on the first and second lines, determining one or more adjustments for coaxially aligning the first axis of the first cylindrical shaft with the second axis of the second cylindrical shaft.
24. The shaft alignment method of claim 23 wherein the first filtering includes removing ones of the center points corresponding to non-cylindrical objects.
25. The shaft alignment method of claim 23 wherein the first filtering includes removing ones of the center points having predetermined characteristics.
26. The shaft alignment method of claim 23 wherein generating includes generating one of the corrected center points for one of the horizontal locations by adjusting the first filtered center point at the one of the horizontal locations based on the offset at the one of the horizontal locations.
27. The shaft alignment method of claim 26 wherein the generating includes generating one of the corrected center points for one of the horizontal locations by adding the offset at the one of the horizontal locations to the first filtered center point at the one of the horizontal locations.
28. The shaft alignment method of claim 23 wherein the second filtering includes removing one of the corrected center points where adjacent ones of the corresponding center points are not both within a predetermined distance of the one of the corrected center points.
29. The shaft alignment method of claim 23 further comprising a applying a third filtering to the second filtered center point.
30. The shaft alignment method of claim 29 wherein the third filtering includes applying removing one of the second filtered center points at a time until one or more predetermined exit conditions are satisfied.31 . The shaft alignment method of claim 30 wherein the one or more predetermined exit conditions include a number of the second filtered center points being less than or equal to a predetermined number of center points.
32. The shaft alignment method of claim 30 wherein the one or more predetermined exit conditions include r-squared values for the first and second lines being less than a predetermined value.
33. The shaft alignment method of claim 30 wherein the one or more predetermined exit conditions include each of the second filtered center points being within a predetermined number of standard deviations of one of the first and second lines.
34. The shaft alignment method of claim 30 wherein the one or more predetermined exit conditions include one or more differences between the one or more adjustments and previous values of the one or more adjustments, respectively, are all less than a predetermined value.