Method and system for aligning coordinate frames of different and independent coordinate measurement systems

By aligning the coordinate frames of different coordinate measurement systems, the problems of inaccurate positioning of components in CNC machines and inherent errors in the adaptive tool path are solved, and higher positioning accuracy and maintenance quality are achieved.

CN120068292APending Publication Date: 2025-05-30GENERAL ELECTRIC TECH GMBH
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202311623860.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-11-30
Publication Date
2025-05-30

AI Technical Summary

Technical Problem

The prior art is difficult to align the coordinate frames obtained by using different and independent coordinate measurement systems, resulting in inaccurate positioning of components in CNC machines, inherent errors in the path of adaptive tool, affecting the quality and efficiency of maintenance work.

Method used

By initializing the component coordinate frame and part coordinate system in both systems, the corresponding set of data points is generated and received, and the angular offset and translation offset is estimated until the alignment of the two coordinate systems is determined. If not aligned, adjust the angular rotation and translation displacement, repeat the above process until the alignment is done.

Benefits of technology

The coordinate frame alignment of different coordinate measurement systems is realized, which reduces inherent errors and improves the positioning accuracy of components in CNC machines and the quality of maintenance work.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120068292A_ABST
    Figure CN120068292A_ABST
Patent Text Reader

Abstract

A method of aligning coordinate frames obtained from at least two different coordinate measurement systems is disclosed. The method comprises: initializing a second coordinate frame and a second part coordinate system of a component positioned in a second system; generating a second data point set associated with the second system; receiving a first set of data points associated with the first system; an alignment of the second part coordinate system with the first part coordinate system is determined by estimating an angular offset or a translational offset between the second part coordinate system and the first part coordinate system. The method includes repeatedly applying an angular rotation or translational displacement to the component positioned in the second system if the determined alignment indicates that the second part coordinate system is not aligned with the first part coordinate system; and determining the alignment of the second part coordinate system with the first part coordinate system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure generally relates to methods and systems for aligning coordinate frames, and more particularly to algorithms for aligning coordinate frames obtained using different and independent coordinate measurement systems. Background Art

[0002] Modern manufacturing processes are generally fully digital, starting from the digital design of components via computer-aided design (CAD) to computer-aided manufacturing (CAM). During manufacturing or repair, physical components can be fixed within a machine (e.g., a computer numerical control (CNC) machine) to enable various operations to be performed, such as coupling two components together and / or adding or removing material within the component at various locations of the component.

[0003] However, some components and especially components that move during operation may have significant wear and / or deformation such that the current dimensions, geometry, and / or shape of the component deviate sufficiently from the original dimensions, geometry, and / or shape of the component as represented by the original or nominal CAD file. Accordingly, the original CAD file may provide only limited use in performing repair work on the component using a CNC machine. In such cases, before a CNC machine can be used to repair the component, the current dimensions, geometry, and / or shape of the component are measured using, for example, a coordinate measuring machine (CMM), a 3D scanner, a laser line scanner, and / or a FaroArm, etc. The measurement data collected using the CMM is represented in a coordinate measurement system, which can then be used to generate an adaptive tool path for the CNC machine. However, for various reasons, the component may shift from its nominal position while the repair work is being performed using the CNC machine, and the resulting adaptive tool path may have inherent errors associated with the misalignment of the component. The inherent errors in the adaptive tool path can include translational errors and / or rotational errors, which are generally uneconomical to determine and compensate in a mass production environment.

[0004] Different coordinate measurement systems may be equipped with different measurement devices, and the different measurement devices may use different measurement techniques and / or metrology algorithms to generate coordinate frames corresponding to the same component. And thus it may be difficult to align the coordinate frame of one coordinate measurement system using one measurement technique with that of another coordinate measurement system using a different measurement technique. Accordingly, depending on the wear and / or deformation amount of the component, when the movable component is fixed in the CNC machine for repair, without determining whether the first coordinate frame of the measurement data of the component collected based on using a CMM (or coordinate measurement technique) is aligned with the second coordinate frame based on another coordinate measurement technique, the relative position of the component cannot be accurately determined, including whether the component is correctly positioned in the CNC machine. Due to the complex 3D shape of the component and / or due to manufacturing variations of the component, such misalignment of the coordinate frames may also occur. This process can be a time-consuming and / or laborious task. And when the coordinate frame corresponding to the position of the component in the CNC machine is not aligned with the coordinate frame corresponding to the measurement of the component using a CMM, the adaptive tool path set may be irrelevant due to the inherent errors as described above.

[0005] Accordingly, there is a need for a method or technique for aligning coordinate frames obtained using different and independent coordinate measurement systems and measurement techniques. Summary of the Invention

[0006] In one aspect, a method for aligning coordinate frames obtained from at least two different coordinate measurement systems is disclosed. The method includes: (i) initializing a second coordinate frame and a second part coordinate system of a component positioned in a second system; (ii) generating a second data point set associated with the second system, wherein the second data point set includes spatial measurement data of a plurality of control points identified on the component relative to the second part coordinate system; (iii) receiving a first data point set associated with a first system, wherein the first data point set includes spatial measurement data of the plurality of control points identified on the component relative to a first part coordinate system associated with the first system when the component is positioned in the first system; (iv) determining the alignment of the second part coordinate system with the first part coordinate system by estimating at least one of an angular offset and a translational offset between the second part coordinate system and the first part coordinate system; and / or (v) if the determined alignment indicates a misalignment of the second part coordinate system with the first part coordinate system, then (a) applying at least one of an angular rotation and a translational displacement to the component positioned in the second system, and (b) repeating the determination of the alignment of the second part coordinate system with the first part coordinate system and applying at least one of the angular rotation and the translational displacement until the second part coordinate system is aligned with the first part coordinate system.

[0007] In another aspect, a system for use in aligning coordinate frames obtained from at least two different coordinate measurement subsystems is disclosed. The system includes at least one memory configured to store instructions and at least one processor programmed to execute the stored instructions, where the instructions cause the system to: (i) initialize a second coordinate frame and a second part coordinate system of components located in the second system; (ii) generate a second set of data points, the second set of data points including spatial measurement data of a plurality of control points identified on the components relative to the second part coordinate system; (iii) receive a first set of data points associated with a first system, where the first set of data points includes spatial measurement data of the plurality of control points identified on the components relative to a first part coordinate system associated with the first system when the components are located in the first system; (iv) determine the alignment of the second part coordinate system with the first part coordinate system by estimating at least one of an angular offset and a translational offset between the second part coordinate system and the first part coordinate system; and / or (v) if the determined alignment indicates a misalignment of the second part coordinate system with the first part coordinate system, then (a) apply at least one of an angular rotation and a translational displacement to the components, and (b) repeat determining the alignment of the second part coordinate system with the first part coordinate system and applying at least one of the angular rotation and the translational displacement until the second part coordinate system is aligned with the first part coordinate system. BRIEF DESCRIPTION OF THE DRAWINGS

[0008] Figure 1 Illustrates an exemplary component and exemplary control points of the component that can be used to obtain a coordinate frame.

[0009] Figure 2 Illustrates the alignment of a first coordinate frame of the component obtained for a machine (e.g., a CNC machine) Figure 1 with a second coordinate frame of the component obtained from a CMM, as shown in an exemplary flowchart.

[0010] Figure 3 Illustrates an exemplary flowchart of a method that can be executed to align two coordinate frames of two different and independent coordinate measurement systems.

[0011] Figure 4 Illustrates an exemplary flowchart of a method for estimating a rotational offset correction that is required to transform the part coordinate system of a second system (e.g., a CNC machine or a laser drilling machine) such that it has the same orientation as the part coordinate system of a first system (e.g., a CMM).

[0012] Figure 5Exemplary flowchart illustrating a method of translational offset correction that is required to shift the part coordinate system of a second system (e.g., a CNC machine) such that its origin will coincide with the origin of the part coordinate system of a first system (e.g., a CMM).

[0013] Figure 6 Block diagram illustrating an exemplary computing device that can be used to implement embodiments as described in the present disclosure. Detailed Description

[0014] When introducing elements of the various embodiments disclosed herein, the articles "a," "an," and "the" are intended to mean that there is one or more of the elements. The terms "comprising," "including," and "having" are intended to be inclusive and mean that there may be additional elements other than the listed elements.

[0015] Unless otherwise indicated, approximate language, such as "generally," "substantially," and "about," as used herein, indicates that the term so modified can apply only to an approximation, as would be recognized by a person of ordinary skill in the art, rather than an absolute or perfect degree. Accordingly, values modified by one or more of the terms such as "about," "substantially," and "generally" are not limited to the precise value specified. In at least some instances, the approximate language can correspond to the precision of the instrument used to measure the value. Additionally, unless otherwise indicated, the terms "first," "second," etc. are used herein only as labels and are not intended to impose an order, position, or hierarchical requirement on the items to which these terms refer. Further, a reference to, for example, a "second" item does not require or preclude the existence of, for example, a "first" or lower-numbered item or a "third" or higher-numbered item.

[0016] The embodiments described herein relate to various methods that can be used to align different coordinate frames from different coordinate measurement systems. Each coordinate measurement system uses its respective measurement technique to generate a coordinate frame. Using the methods described herein, different coordinate frames can be aligned and used to perform useful work on a component using a CNC machine that is based on a different coordinate measurement system than the coordinate measurement system used by a coordinate measuring machine (CMM) to measure the component. Any reference to a CMM and / or a CNC machine in the present disclosure is exemplary and does not limit the scope of the embodiments described herein.

[0017] Generally, for a component that needs to be repaired using a CNC machine, the component can first be measured using a CMM, and a part coordinate system (or coordinate frame) of the component can be generated. Based on the part coordinate system of the component generated using the CMM, an adaptive tool path for performing repair work on the component using the CNC machine can be generated. However, when the component is transferred to the CNC machine for repair work, a change in the positioning of the component in the CNC machine from its positioning in the CMM may introduce inherent errors (such as translational errors and / or rotational errors) corresponding to the feature points where the repair work needs to be performed. Accordingly, before performing repair work at the feature points using the adaptive tool path (which is generated by the CMM based on the part coordinate system of the component), the part coordinate system of the component in the CNC machine needs to be synchronized or aligned such that the translational errors and / or rotational errors are within a threshold margin of error or close to zero.

[0018] Generally, when using an accurate fixture and / or adapter, the component can be placed at a nominal position inside the CNC machine when placed inside the CNC machine, and thus may not require coordinate frame alignment. However, when not using an accurate fixture and / or adapter, the component may not be at the nominal position inside the CNC machine and may require coordinate frame alignment.

[0019] However, aligning coordinate frames as described herein can provide benefits such as an increased convergence speed and accurate alignment of the coordinate frames over current methods of aligning coordinate frames. According to an exemplary embodiment, in a method of aligning coordinate frames, an orientation and / or position of a part coordinate system of a component corresponding to a CMM in the CNC machine can be determined, and a translational offset correction and / or a rotational offset correction to be applied to the part coordinate system of the component corresponding to the CNC machine can be determined for aligning the part coordinate systems of the CMM and the CNC machine with each other in a three-dimensional (3D) space.

[0020] Part coordinate systems are generally represented or referenced using coordinate frames, and the coordinate frame corresponding to the part coordinate system of the CMM is aligned with the coordinate frame corresponding to the part coordinate system of the CNC machine using the least squares method. However, since each error is minimized with equal weight corresponding to all base points of the coordinate frame (such as the area of the coordinate frame and / or the orientation of the coordinate frame), the least squares method is generally slow. However, some errors may be more significant compared to other errors when the errors are in certain directions, and vice versa.

[0021] Each embodiment in the present disclosure describes a method for aligning coordinate frames, where errors are given different weights based on the location where the errors have occurred. In other words, determining and applying rotational offset correction is separated from determining and applying translational offset correction. Additionally or alternatively, the weights applied or used for rotational offset correction may be different from the weights applied or used for translational offset correction. Similarly, the constraints applied or used for rotational offset correction may be different from the constraints applied or used for translational offset correction. The method for aligning the coordinate frames (or part coordinate systems) of two independent coordinate-based measurement techniques is described in detail below using Figure 1-6 a detailed description of the method for aligning the coordinate frames (or part coordinate systems) of two independent coordinate-based measurement techniques.

[0022] Figure 1 Schematic diagram 100 illustrating an exemplary component 102 of a gas turbine (not shown). In an exemplary embodiment, the component 102 can be, for example, a turbine blade used with a gas turbine. The component 102 may exhibit signs of wear in an area requiring repair. For the component 102, its original nominal CAD file is generally not available because the shape and geometry of the worn component 102 may be significantly different from the original CAD file of the component, and thus it would be required that the component 102 be re-measured to obtain the true geometry of the component using a CMM.

[0023] The reference data corresponding to each of one or more control points (such as 104a - 104h) of the component 102 may include the coordinates and surface normal vectors of each control point as well as the corresponding measurement directions of each control point. The reference data corresponding to each of one or more control points on the component can be used to create a general measurement program that is used by a CMM and a CNC machine to obtain the coordinates (e.g., 3D coordinate values) of each control point on the component. Additionally, the reference data corresponding to each control point can be used to determine initial estimates and constraints during the alignment of the part coordinate system of the CMM with the part coordinate system of the CNC machine.

[0024] The measurement program (or the general measurement program) can be created by defining at least six control points for a primary, secondary, and / or tertiary virtual datum. The virtual datum can be a combination of planes, lines, and / or points. Additionally or alternatively, a normal vector is defined for each virtual datum as part of the reference data. As a non-limiting example, eight control points 104a, 104b, 104c, 104d, 104e, 104f, 104g, and 104h on component 102 are identified for use in measuring component 102 using a CMM. Control points 104a - 104d can be used to define a primary datum plane 106, control points 104e - 104g can be used to define a secondary datum plane 108, and control point 104h can be used to define a tertiary datum point. In other words, control points 104a - 104d define a set of control points for aligning the part coordinate system (or coordinate frame) relative to the primary virtual datum, control points 104e - 104g define a set of control points for aligning the part coordinate system (or coordinate frame) relative to the secondary virtual datum, and control point 104h defines a set of control points for aligning the part coordinate system (or coordinate frame) relative to the tertiary virtual datum.

[0025] Each control point can be measured using a touch probe that moves from a specific starting position ( Figure 1 shown using a sphere) in a specific direction ( Figure 1 shown using an arrow). The reference data corresponding to each control point collected in this way for the CMM can be stored in the local memory of the CMM and / or in a cloud storage device. Similarly, the reference data corresponding to each of the one or more control points 104a - 104h of component 102 can be collected in a CNC machine, for example, using the touch probe of the CNC machine. The reference data corresponding to each control point collected in this way for the CNC machine can be stored in the local memory of the CNC machine and / or in a cloud storage device.

[0026] As described herein, when component 102 is placed in a CNC machine for performing repair work, due to changes in the orientation and / or pose of component 102 in the CNC machine, the reference data corresponding to one or more control points 104a - 104h can have different actual values. Therefore, the part coordinate system of component 102 in the CMM may not be aligned with the part coordinate system of component 102 in the CNC machine, and the adaptive tool path created or generated for component 102 using the CMM may not work for the CNC machine either. Moreover, the part coordinate system of component 102 in the CNC machine needs to be aligned with the part coordinate system of component 102 in the CMM to perform repair work on the component using the adaptive tool path (the adaptive tool path is generated by the CMM based on the actual measurement data of component 102).

[0027] Figure 2 The figure illustrates an exemplary flow chart 200 for using a CMM and a CNC machine to collect reference data corresponding to one or more control points 104a - 104h ( Figure 1 shown therein) of a component 102 ( Figure 1 shown therein) for aligning a part coordinate system of the component 102 corresponding to the CNC machine with a part coordinate system of the component 102 corresponding to the CMM. Thus, the flow chart 200 describes operations that can be performed by a first system 202 (e.g., a CMM) and by a second system 210 (e.g., a CNC machine or a laser drilling machine).

[0028] As described herein, each of the first system 202 and the second system 210 can use its own respective coordinate measurement techniques to measure the component. The coordinate measurement technique used by the first system 202 can be different from and independent of the coordinate measurement technique used by the second system 210. As a non - limiting example, the first system 202 can use a 3D GOM scanner and / or a stereoscopic imaging device system (including two or more lenses) to generate or obtain 3D measurement data for constructing a coordinate frame associated with the component 102, and the second system 210 can use an imaging device (including a single lens) and an optical sensor (e.g., a conoprobe) to generate 3D measurement data for constructing a coordinate frame of the component 102.

[0029] As shown in the flow chart 200, the first system 202 can initialize and / or calibrate 204 a global coordinate system corresponding to the first system 202. As described herein, the global coordinate system defines the coordinate positions of nodes and key points in space. The global coordinate system can be one of the predefined global coordinate systems, such as a global Cartesian system (CS 0) that represents the position of a point as (X, Y, Z), a global cylindrical system (CS1) that represents the position of a point as (R, θ, Z), a global spherical system (CS2) that represents the position of a point as (R, θ, φ), and / or a global cylindrical system (CS 5) that represents the position of a point as (R, θ, Υ). However, in the present disclosure, the global Cartesian system (CS 0) is adopted as the selected global coordinate system to describe the various embodiments.

[0030] Initialize 206 the part coordinate system of the first system 202 for each aspect of the component 102 to be measured. The aspects measured and calibrated by the first system 202 can include but are not limited to the size, length, diameter, distance, angle, position, concentricity, symmetry, angularity, parallelism, perpendicularity, straightness, roundness, flatness, cylindricity, profile, runout, etc. of the component.

[0031] After successful initialization 204 of the global coordinate system of the first system 202, a part coordinate system of the first system 202 is established 206. The part coordinate system is used to establish an orientation, alignment and / or origin for measuring the component 102 using the first system 202 and / or the second system 210. As a non-limiting example, the part coordinate system may be a coordinate frame in which the positions of feature points and control points may be defined. The part coordinate system of the first system 202 is expressed in terms of the global coordinate system of the first system 202. An adaptive tool path may be generated based on the established part coordinate system of the component 102. Measurement data corresponding to the adaptive tool path may be stored 208 in a local memory (or local database) of the first system. Alternatively or additionally, the measurement data may be stored in a cloud database.

[0032] While re-measuring component 102, because the original size, geometry, and / or shape of component 102 as represented by the original or nominal CAD file may not be useful, the measurement data for the adaptive tool path may be generated using first system 202. When component 102 is placed in second system 210 for performing repair work, a global coordinate system of second system 210 is initialized 212 for component 102 to be repaired.

[0033] After successful initialization 212 of the global coordinate system of the second system 210, a part coordinate system of the second system 210 is established 214. As described herein, the part coordinate system is used to establish an orientation, alignment, and / or origin for measuring the component 102 while using the first system 202 and / or the second system 210. As a non-limiting example, the part coordinate system can be a coordinate frame in which the positions of feature points and control points can be defined. The part coordinate system of the second system 210 is expressed in accordance with the global coordinate system of the second system 210. An adaptive tool path can be generated based on the established part coordinate system of the component 102. Measurement data corresponding to the adaptive tool path can be stored 208 in a local memory (or local database) of the first system. Alternatively or additionally, the measurement data can be stored in a cloud database.

[0034] The part coordinate system of the second system 210 may be aligned 216 with the part coordinate system of the first system 202. Figure 3 The alignment 216 of the part coordinate system of the second system 210 with the part coordinate system of the first system 202 is described in detail. Upon successful alignment 216 of the part coordinate system of the second system 210 with the part coordinate system of the first system 202, measurement data corresponding to the adaptive tool path received at the second system 210 from the first system 202 (or from a cloud database) may be used 218 to perform maintenance work on the component 102 at the second system 210.

[0035] In some embodiments, the first system 202 and the second system 210 may be communicatively coupled together via a local area network (LAN), a wide area network (WAN), the Internet, a 3G network, a 4G or Long Term Evolution (LTE) network, a 5G network, a 6G network, and so on. Alternatively or additionally, a coordinate frame corresponding to the part coordinate system of the first system 202 and / or measurement data may be transferred and / or transmitted to the second system 210 using a memory including but not limited to flash memory, a hard disk, a solid state drive, a read only memory (ROM), a compact disc, a universal serial bus (USB) flash drive, and so on.

[0036] Figure 3 An exemplary flowchart 300 of a method for aligning two coordinate frames of two different and independent coordinate measurement systems including a CMM and a CNC machine may be executed. Flowchart 300 may include using the CMM and the CNC machine to measure actual values corresponding to the control points 104a - 104h ( Figure 1 shown in) of the component 102 ( Figure 1 shown in) for aligning the part coordinate system of the component 102 corresponding to the CNC machine with the part coordinate system of the component 102 corresponding to the CMM. Thus, flowchart 300 depicts operations that may be performed by a first system 302 (such as a CMM) and by a second system 314 (such as a CNC machine or a laser drill).

[0037] As described herein, the first system 302 and the second system 314 may each use their own respective coordinate measurement techniques to measure a component. The coordinate measurement technique used by the first system 302 may be different from and independent of the coordinate measurement technique used by the second system 314. As a non - limiting example, the first system 302 may use a 3D GOM scanner and / or a stereoscopic imaging device system (including two or more lenses) to generate or obtain 3D measurement data for constructing a coordinate frame associated with the component 102, and the second system 314 may use an imaging device (including a single lens) and an optical sensor (such as a conoprobe) to generate 3D measurement data for constructing a coordinate frame of the component 102.

[0038] As shown in flowchart 300, a first system 302 may initialize and / or reset 304 a machine coordinate system corresponding to the first system 302. As described herein, the machine coordinate system defines the coordinate positions of nodes and key points in space. The machine coordinate system may be one of a predefined global coordinate system, such as a global Cartesian system (CS 0) that represents the position of a point as (X, Y, Z), a global cylindrical system (CS1) that represents the position of a point as (R, θ, Z), a global spherical system (CS2) that represents the position of a point as (R, θ, φ), and / or a global cylindrical system (CS 5) that represents the position of a point as (R, θ, Υ). However, in the present disclosure, the global Cartesian system (CS 0) is adopted as the selected machine coordinate system to describe various embodiments.

[0039] For each aspect of the component 102 to be measured, a part coordinate system of the first system 302 is initialized and activated 306. Each aspect measured and calibrated by the first system 302 may include but is not limited to the size, length, diameter, distance, angle, position, concentricity, symmetry, angle, parallelism, perpendicularity, straightness, roundness, flatness, cylindricity, profile, runout, and the like of the component.

[0040] Additionally, the part coordinate system is used to establish the orientation, alignment, and / or origin for measuring the component 102 using the first system 302 and / or the second system 314. As a non-limiting example, the part coordinate system may be a coordinate frame in which the positions of feature points and / or control points can be defined. The part coordinate system of the first system 302 is expressed in accordance with the machine coordinate system of the first system 302. An adaptive tool path may be generated based on the established part coordinate system of the component 102. The component 102 may be measured 308 to obtain the actual profile of the repair area (or feature points) and / or generate an adaptive tool path. Additionally, a nominal measurement procedure may be executed 310 to obtain the actual values of control points such as control points 104a - 104h, as described herein. The nominal measurement procedure may be executed using the 3D GOM scanner and / or the stereo camera system described in the present disclosure. The collected measurement data corresponding to the control points and feature points may be used to generate an adaptive tool path and may be stored in the local memory (or local database) of the first system 302. Alternatively or additionally, the measurement data may be stored in a cloud database. When the measurement data is stored in the local memory or the cloud database, the operations performed by the first system 302 may end 312.

[0041] As described in the present disclosure, the component 102 is re-measured because the original dimensions, geometry, and / or shape of the component 102 as represented by the original or nominal CAD file may not be useful, and measurement data for the adaptive tool path can thus be generated using the first system 202. When the component 102 is placed in the second system 314 for performing repair work, the machine coordinate system of the second system 314 is initialized and reset 316 for the component 102 to be repaired.

[0042] After successful initialization and reset 316 of the machine coordinate system of the second system 314, the part coordinate system of the second system 314 is initialized and activated 318. As described herein, the part coordinate system is used to establish an orientation, alignment, and / or origin for measuring the component 102 while using the first system 302 and / or the second system 314. As a non-limiting example, the part coordinate system can be a coordinate frame in which the positions of feature points and / or control points can be defined. The part coordinate system of the second system 314 is expressed in accordance with the machine coordinate system of the second system 314. Using an imaging device (including a single lens) and an optical sensor (e.g., conoprobe), a nominal measurement procedure can be performed 320 to obtain actual measurements of control points such as the control points 104a - 104h shown in Figure 1 etc.

[0043] The measurement data corresponding to the control points and feature points collected by the first system 302 can be received by the second system 314. The measurement data can also include an adaptive tool path generated by the first system 302 based on measurements corresponding to the control points and / or feature points. The measurement data corresponding to the control points as received by the second system 314 from the first system 302 can be compared 322 by the second system to ensure alignment of the coordinate frame (or part coordinate system) of the second system 314 with the coordinate frame (or part coordinate system) of the first system 302. If it is determined 324 based on the comparison 322 that the coordinate frame of the second system 314 is aligned with the coordinate frame of the first system 302, the adaptive tool path generated by the first system 302 can be used by the second system 314 to perform 332 repair work on the component 102. Also upon successful performance 332 of the repair work, the second system 314 can end 334 the method operation. However, if it is determined 324 based on the comparison 322 that the coordinate frame of the first system 302 is not aligned with the coordinate frame of the second system 314, the part coordinate system of the second system 314 can be aligned with the part coordinate system of the first system 302 by: estimating 326 a rotational offset correction; estimating 328 a translational offset correction; and applying 330 the rotational offset correction and the translational offset correction to the active part coordinate system before performing 320 the nominal measurement procedure to obtain actual measurements of control points such as the control points 104a - 104h shown in Figure 1 etc. The following is usedFigure 4 and Figure 5 Estimate 326 rotational offset correction and estimate 328 translational offset correction in detail.

[0044] When updating the alignment of the part coordinate system of the second system 314 with the part coordinate system of the first system 302, the nominal measurement program of the second system 314 can be executed again 320 to obtain, for example, Figure 1 the actual measured values of control points such as the control points 104a - 104h shown in. Based on the actual measurement data of the control points re - measured by the second system 314 for the component 102, it can be compared again 322 with the measurement data of the control points received from the first system 302. At this time, based on the comparison 322, it can be determined 324 that the coordinate frame of the first system 302 is aligned with the coordinate frame of the second system 314, and thus the adaptive tool path generated by the first system 302 can be used by the second system 314 to perform 332 repair work on the component 102. Moreover, when the repair work 332 is successfully executed, the second system 314 can end 334 the method operation.

[0045] Figure 4 Illustrate a method for estimating 326 rotational offset correction, which is required to transform the part coordinate system of the second system 210 (such as a CNC machine or a laser drill) so that it has the same orientation as the part coordinate system of the first system 202 (such as a CMM). As described herein, the part coordinate system of the first system 202 is the coordinate frame that stores the actual data of the repair area and adapts the tool path. By estimating the pose of the part coordinate system of the first system 202 relative to the part coordinate system of the second system 210, the corresponding rotational offset correction can then be determined 326.

[0046] As described herein, the measurement program 310 corresponding to the first system 302 measures the actual values of a set of reference control points 402, which are defined respectively for primary, secondary, and tertiary virtual datums. The actual control set 402 is expressed in the active part coordinate system 306 of the first system 302. Each virtual datum corresponding to the first system 202 is represented by a unit normal vector. In the rotational alignment method, the primary and secondary virtual datums are used to align the first and second base points of the part coordinate system 318. The third base point of the part system 318 is perpendicular to the first and second base points. Correspondingly, the primary and secondary virtual datums corresponding to the first system 202 have a plane - plane or plane - line combination, such that when calculating the rotational offset correction, only the out - of - plane or out - of - line error is minimized.

[0047] Determine the respective centroids of the primary and secondary virtual references of the first system 302. Also, initialize the normal vectors of the primary and secondary virtual references 406 based on reference data. The actual primary and secondary virtual references are created 408, which are perpendicular to the respective normal vectors 406 and pass through the respective centroids 404. Determine the out-of-plane or out-of-line distance by calculating the perpendicular distance 410 between the actual control points 402 and their respective actual primary and secondary virtual references 408.

[0048] Similarly, a measurement procedure 320 corresponding to the second system 314 measures the actual values of a set of reference control points 412, which are defined respectively for the primary, secondary, and tertiary virtual references. The set of actual control points 412 is expressed in the active part coordinate system 318 of the second system 314. Each virtual reference corresponding to the second system 210 is represented by a unit normal vector. In the rotational alignment method, the primary and secondary virtual references are used to align the first and second base points of the part coordinate system 318. The third base point of the part coordinate system 318 is perpendicular to the first and second base points. Accordingly, the primary and secondary virtual references corresponding to the second system 314 are plane-plane or plane-line combinations. Also, when calculating the rotational offset correction, the out-of-plane or out-of-line error is minimized.

[0049] Determine the respective centroids of the primary and secondary virtual references of the second system 210. Initialize the normal vectors of the primary and secondary virtual references 416 based on reference data. The actual primary and secondary virtual references are created 418a, which are perpendicular to the respective normal vectors 416 and pass through the respective centroids 414. Determine the out-of-plane or out-of-line distance by calculating the perpendicular distance 418b between the actual control points 412 and their respective actual primary and secondary virtual references 418a.

[0050] As described herein, the primary virtual reference can be determined or defined using 4 control points such as control points 104a - 104d. If the primary virtual reference of the first system 202 is called virtual reference plane A, and the primary virtual reference of the second system 210 is called virtual reference plane B, then the primary virtual reference planes A and B are defined by 4 common reference control points such as control points 104a - 104d. The actual virtual reference plane A passes through the centroid of the actual control points of the first system 202. The virtual reference plane B passes through the centroid of the actual control points of the second system 210. The perpendicular distances from the actual control points to the actual primary virtual reference of the first system 202 are determined or calculated 410 as dA1 to dA4. Similarly, the perpendicular distances from the actual control points to the actual primary virtual reference of the second system 210 are determined or calculated 418b as dB1 to dB4.

[0051] Compare the vertical distance of the actual control point 418c of 418 from the actual primary virtual datum of the first system 202 and the vertical distance of the actual control point from the actual primary virtual datum of the second system 210 to obtain a difference. Accordingly, the out-of-plane or off-line error of the first control point can be determined as e1 = dB1 – dA1, and similarly, the out-of-plane error of each of the remaining control points of the control points can also be determined.

[0052] It is determined 418d whether convergence or all out-of-plane or off-line errors are driven to zero or within a specific predefined threshold. As described herein, if all out-of-plane errors are driven to zero, the actual normal vector of datum B is parallel to one of the datums A. In some examples, since the actual control points of the second system 210 are generally different from the actual control points of the first system 202, an iterative least squares method 418 is required to minimize 418e the out-of-plane or off-line errors by iteratively updating the direction of the unit normal vector of datum B. In the optimal solution, the final unit normal vector of datum B should be very close to the unit normal vector of datum A. In other words, the primary virtual datums between the first system 202 and the second system 210 are parallel or aligned.

[0053] In the rotational alignment method 326, the goal is to estimate the actual unit normal vectors of the primary and secondary virtual datums of the second system 314 such that they are parallel to the corresponding unit normal vectors of the virtual datum of the first system 302. Using the estimated unit normal vectors, the part coordinate system 306 of the first system 302 with respect to the machine coordinate system 316 of the second system 314 can be reconstructed using the Gram - Schmidt process 420a of 420 and the chain rotation equation 420b of 420. Subsequently, the rotational offset correction can be calculated 420c of 420 to update the active part coordinate system of the second system 314 such that it is aligned to the orientation of the part coordinate system 306 of the first system 302.

[0054] Additionally or alternatively, once convergence is reached, the optimal unit normal vector is used to reconstruct the part coordinate system 306 of the first system 302 with respect to the machine coordinate system 316 of the second system 314. Finally, the rotational offset correction of the active part coordinate system of the second system 314 can be calculated based on the transformation matrix.

[0055] Figure 5A method for translational offset correction 328 is illustrated, where the translational offset correction is required to shift the part coordinate system of the second system 210 such that its origin will coincide with the origin of the part coordinate system of the first system 202. As described herein, the rotational offset alignment 326 is separated from the translational offset alignment 328 in terms of the rotational alignment 326 being aimed at minimizing the out-of-plane or off-line errors of the primary and secondary virtual datums. On the other hand, the translational offset alignment 328 is aimed at minimizing the in-plane or on-line errors of all control points at the corresponding local tangent surfaces. Separate weights can be assigned to the control points, and the weighted least squares method is used to minimize the in-plane errors.

[0056] Use Figure 5 to illustrate the method 328 of translational offset correction. For a point such as L2, which is one of the actual control points such as the reference control points 104a - 104h of the second system 210, a point such as L1 is the corresponding actual control point of the reference control points 104a - 104h of the first system 202. After the local surface normal vector at the point L2 is rotated 504 using the rotational offset correction, a local tangent plane is created (506) at the point L2 using the new surface normal vector.

[0057] In some examples, the touch probe travels along a certain probing vector (e.g., the y-axis of the active part coordinate system 318) according to the nominal measurement procedure 320. Since the probing vector depends on the orientation of the active part coordinate system of the second system 314, the new position of the actual control point L2 is represented by the point L2'. After applying the rotational offset correction 502 to the probing vector of the control point L2, the corresponding point L2' is estimated 508 by intersecting the rotated probing vector with the local tangent plane 506. To obtain the in-plane error, the actual point L1 of the first system 202 must be projected 510 along the surface normal to the local tangent plane, e.g., as the point L1'. The in-plane error is calculated 512 by subtracting the control points L1' and L2'. Considering only one control point, the in-plane error can be driven to zero by shifting the part coordinate system such that the rotated probing vector passes through the point L1'.

[0058] Since the alignment method requires at least 6 control points, the optimal translational offset correction is determined or calculated 514 by minimizing the local in-plane errors of all control points using the weighted least squares method. The weights provide flexibility in giving greater emphasis to control points with better reliability (e.g., control points located on flat surfaces rather than those on curved surfaces). Also, the weights provide a means for normalizing the quantity of control points for each virtual datum. For example, weights of 1 / 3, 1 / 2, and 1 can be assigned to the plane, line, and point virtual datums of a total of 6 control points, respectively.

[0059] Figure 6Block diagram of an exemplary computing device or exemplary computer system 600 on which embodiments of the present disclosure may be implemented. Computer system 600 includes a bus 602 or other communication mechanism for passing information, and a hardware processor 604 coupled to bus 602 for processing information. The hardware processor 604 may be, for example, a general-purpose microprocessor.

[0060] Computer system 600 also includes a main memory 606, such as a random access memory (RAM) or other dynamic storage device, coupled to bus 602 for storing information and instructions to be executed by processor 604. Main memory 606 may also be used to store temporary variables or other intermediate information during execution of instructions to be executed by processor 604. Such instructions, when stored in a non-transitory storage medium accessible to the processor, cause computer system 600 to become a special-purpose machine customized to perform the operations specified in the instructions.

[0061] Computer system 600 further includes a read only memory (ROM) 608 or other static storage device coupled to bus 602 for storing static information and instructions for processor 604. A storage device 610, such as a magnetic disk, optical disk, flash memory storage device, etc., is provided and coupled to bus 602 for storing information and instructions.

[0062] Computer system 600 may be coupled via bus 602 to a display 612, such as a liquid crystal display (LCD), for displaying information to a computer user. An input device 614, including alphanumeric and other keys, is coupled to bus 602 for passing information and command selections to processor 604. Another type of user input device is a cursor control 616, such as a mouse, trackball, or cursor direction keys, for passing direction information and command selections to processor 604 and for controlling cursor movement on display 612. This input device typically has two degrees of freedom in two axes (a first axis (e.g., the X axis), a second axis (e.g., the Y axis)), which allows the device to specify a position in a plane.

[0063] The computer system 600 can implement the techniques described herein using custom hardwired logic, one or more application specific integrated circuits (ASICs), or field programmable gate arrays (FPGAs), firmware, and / or program logic that in combination with the computer system cause the computer system 600 to be or program the computer system 600 to be a special purpose machine. In accordance with one embodiment, the techniques herein are performed by the computer system 600 in response to one or more sequences of one or more instructions contained in the main memory 606 being executed by the processor 604. Such instructions may be read into the main memory 606 from another storage medium, such as the storage device 610. Execution of the instruction sequences contained in the main memory 606 causes the processor 604 to perform the process steps described herein. In an alternative embodiment, hardwired circuitry may be used in place of or in combination with software instructions.

[0064] As used herein, the term "storage medium" refers to any non-transitory medium that stores data and / or instructions that cause a machine to operate in a particular fashion. Such storage medium may include non-volatile media and / or volatile media. Non-volatile media includes, for example, optical disks, magnetic disks, flash memory storage devices, etc., such as the storage device 610. Volatile media includes dynamic memory, such as the main memory 606. Common forms of storage media include, for example, floppy disks, flexible disks, hard disks, solid state drives, magnetic tape, or any other magnetic data storage medium, CD-ROM, any other optical data storage medium, any physical medium with patterns of holes, RAM, programmable ROM (PROM), and electrically programmable ROM (EPROM), FLASH-EPROM, non-volatile RAM (NVRAM), any other memory chip or cartridge, content addressable memory (CAM), and ternary content addressable memory (TCAM).

[0065] Storage media is distinct from but can be used in conjunction with transmission media. Transmission media participates in transferring information between storage media. For example, transmission media includes coaxial cables, copper wire, and fiber optics, which include the wires that comprise the bus 602. Transmission media can also take the form of radio waves or light waves, such as those generated during radio wave and infrared data communications.

[0066] Various forms of media may be involved in conveying one or more instructions to a processor for execution. For example, the instructions may initially be carried on a disk or solid state drive of a remote computer. The remote computer is capable of loading the instructions into the dynamic memory of the remote computer and sending the instructions via a modem over a telephone line. A modem local to computer system 600 is capable of receiving the data on the telephone line and converting the data into an infrared signal using an infrared transmitter. An infrared detector is capable of receiving the data carried in the infrared signal, and an appropriate system of circuit modules is capable of placing the data on bus 602. Bus 602 conveys the data to main memory 606, from which processor 604 retrieves and executes the instructions. The instructions received by main memory 606 may optionally be stored on storage device 610 before or after being executed by the processor.

[0067] Computer system 600 also includes a communication interface 618 coupled to bus 602. Communication interface 618 provides two-way data communication coupled to network link 620, which is connected to local network 622. For example, communication interface 618 may be an Integrated Services Digital Network (ISDN) card, a cable modem, a satellite modem, or any type of modem that provides a corresponding type of data communication connection to a telephone line, a cable line, and / or a fiber optic line. As another example, communication interface 618 may be a Local Area Network (LAN) card that is used to provide a data communication connection to a compatible LAN. A wireless link may also be implemented. In any such implementation, communication interface 618 transmits and receives electrical, electromagnetic, or optical signals that carry digital data streams representing various types of information.

[0068] Network link 620 typically provides data communication to other data devices through one or more networks. For example, network link 620 may provide a connection through local network 622 to a host computer 624 or to a data device operated by an Internet Service Provider (ISP) 626. The ISP 620 in turn provides data communication services through the global packet data communication network (now commonly referred to as the Internet 628). Both local network 622 and the Internet 628 use electrical, electromagnetic, or optical signals that carry digital data streams. The signals through the various networks and the signals on network link 620 and through communication interface 618 are example forms of transmission media that carry digital data to and from computer system 600.

[0069] The computer system 600 is capable of sending messages and receiving data, including program code, via one or more networks, network links 620, and communication interface 618. In an Internet example, server 630 might transmit request code for an application via Internet 628, ISP 626, local network 622, and communication interface 618. The received code can be executed by processor 604 when the code is received, and / or stored in storage device 610 or other non-volatile storage for later execution.

[0070] The foregoing description is intended to be merely exemplary, and those skilled in the art will recognize that changes may be made to the described embodiments without departing from the scope of the disclosed invention. Modifications that fall within the scope of the present disclosure will be apparent to those skilled in the art, and such modifications are intended to fall within the appended claims. The systems described herein are not limited to the specific embodiments described herein, but rather the portions of each system may be utilized separately and independently of the other systems described herein.

[0071] Although specific features of various embodiments of the present invention may be shown in some figures and not in others, this is for convenience only. Additionally, the reference in the foregoing description to "one embodiment" is not intended to be construed as excluding the existence of additional embodiments that also include the recited features. In accordance with the principles of the present invention, any feature of any figure may be referenced and / or claimed in combination with any feature of any other figure.

[0072] Additional aspects of the present invention are provided by the subject matter of the following clauses:

[0073] A method for aligning coordinate frames obtained from at least two different coordinate measurement systems, the method comprising: (i) initializing a second coordinate frame and a second part coordinate system of components located in a second system; (ii) generating a second set of data points associated with the second system, wherein the second set of data points includes spatial measurement data of a plurality of control points identified on the components with respect to the second part coordinate system; (iii) receiving a first set of data points associated with a first system, wherein the first set of data points includes spatial measurement data of the plurality of control points identified on the components with respect to a first part coordinate system associated with the first system when the components are located in the first system; (iv) determining the alignment of the second part coordinate system with the first part coordinate system by estimating at least one of an angular offset and a translational offset between the second part coordinate system and the first part coordinate system; and / or (v) if the determined alignment indicates a misalignment of the second part coordinate system with the first part coordinate system, then: (a) applying at least one of an angular rotation and a translational displacement to the components located in the second system; and (b) repeating the determination of the alignment of the second part coordinate system with the first part coordinate system and applying at least one of the angular rotation and the translational displacement until the second part coordinate system is aligned with the first part coordinate system.

[0074] The method for aligning coordinate frames according to any of the preceding clauses, wherein initializing the second part coordinate system further comprises initializing the second part coordinate system using at least 6 control points for defining one or more virtual references.

[0075] The method for aligning coordinate frames according to any of the preceding clauses, wherein estimating the angular offset comprises using an iterative least squares algorithm to estimate the angular offset.

[0076] The method for aligning coordinate frames according to any of the preceding clauses, wherein using the iterative least squares method to estimate the angular offset comprises iteratively updating the direction of a unit normal vector associated with a virtual reference of the second part coordinate system.

[0077] The method for aligning coordinate frames according to any of the preceding clauses, wherein estimating the angular offset comprises using a Gram - Schmidt orthogonalization process and a chained rotation equation to estimate the resulting transformation matrix.

[0078] The method for aligning coordinate frames according to any of the preceding clauses, wherein estimating the translational offset comprises using a weighted least squares algorithm to estimate the translational offset.

[0079] A method of aligning a coordinate frame according to any of the preceding clauses, wherein the plurality of control points identified on the component includes a first subset of control points among the plurality of control points corresponding to a primary virtual datum, a second subset of control points among the plurality of control points corresponding to a secondary virtual datum, and a third subset of control points among the plurality of control points corresponding to a tertiary virtual datum.

[0080] A method of aligning a coordinate frame according to any of the preceding clauses, wherein the second system includes a computer numerical control (CNC) machine, and wherein the first system includes a coordinate measuring machine (CMM).

[0081] A method of aligning a coordinate frame according to any of the preceding clauses, wherein estimating the angular offset includes estimating the angular offset corresponding to at least a primary virtual datum and a secondary virtual datum passing through the centroids of the plurality of control points of the first part coordinate system and the second part coordinate system.

[0082] A method of aligning a coordinate frame according to any of the preceding clauses, wherein estimating the translational offset includes estimating the translational offset along any axis of the second part coordinate system.

[0083] A system for use in aligning coordinate frames obtained from at least two different coordinate measurement subsystems, the system comprising: at least one memory configured to store instructions; and at least one processor programmed to execute the stored instructions, wherein the instructions cause the system to: (i) initialize a second coordinate frame and a second part coordinate system of a component located in the second system; (ii) generate a second set of data points, the second set of data points including spatial measurement data of a plurality of control points identified on the component and relative to the second part coordinate system; (iii) receive a first set of data points associated with the second system, wherein the first set of data points includes spatial measurement data of the plurality of control points identified on the component relative to a first part coordinate system associated with the first system when the component is located in the first system; (iv) determine the alignment of the second part coordinate system with the first part coordinate system by estimating at least one of an angular offset and a translational offset between the second part coordinate system and the first part coordinate system; and / or (v) if the determined alignment indicates a misalignment of the second part coordinate system with the first part coordinate system, then: (a) apply at least one of an angular rotation and a translational displacement to the component; and (b) repeat determining the alignment of the second part coordinate system with the first part coordinate system and applying at least one of the angular rotation and the translational displacement until the second part coordinate system is aligned with the first part coordinate system.

[0084] The system according to any of the preceding clauses, wherein the first part coordinate system or the second part coordinate system includes at least 6 control points for defining one or more virtual datums.

[0085] The system according to any of the preceding clauses, wherein an iterative least squares algorithm is used to estimate the angular offset.

[0086] The system according to any of the preceding clauses, wherein the angular offset using the iterative least squares method is estimated by iteratively updating the direction of the unit normal vector associated with the virtual datum of the second part coordinate system.

[0087] The system according to any of the preceding clauses, wherein the angular offset is obtained by estimating the resulting transformation matrix using the Gram - Schmidt orthogonalization process and the chained rotation equations.

[0088] The system according to any of the preceding clauses, wherein a weighted least squares algorithm is used to estimate the translational offset.

[0089] The system according to any of the preceding clauses, wherein the plurality of control points identified on the component includes a first subset of control points among the plurality of control points corresponding to a primary virtual datum, a second subset of control points among the plurality of control points corresponding to a secondary virtual datum, and a third subset of control points among the plurality of control points corresponding to a tertiary virtual datum.

[0090] The system according to any of the preceding clauses, wherein the second system is a computerized numerical control (CNC) machine, and the first system includes a coordinate measuring machine (CMM).

[0091] The system according to any of the preceding clauses, wherein the angular offset is the angular offset corresponding to at least a primary virtual datum and a secondary virtual datum passing through the respective centroids of the plurality of control points of the first part coordinate system and the second part coordinate system.

[0092] The system according to any of the preceding clauses, wherein the translational offset is a translational offset along any axis of the second part coordinate system.

[0093] Although the present invention has been described in terms of various specific embodiments, those skilled in the art will recognize that the present invention can be practiced with modifications within the spirit and scope of the claims.

Claims

1. A method for aligning coordinate frames obtained from at least two different coordinate measurement systems, the method comprising: Initializing a second coordinate frame and a second part coordinate system of components positioned in the second system; Generating a second set of data points associated with the second system, wherein the second set of data points includes spatial measurement data of a plurality of control points identified on the component with respect to the second part coordinate system; Receiving a first set of data points associated with the first system, wherein the first set of data points includes spatial measurement data of the plurality of control points identified on the component with respect to a second part coordinate system associated with the first system when the component is positioned in the first system; Determining the alignment of the second part coordinate system with the first part coordinate system by estimating at least one of an angular offset and a translational offset between the second part coordinate system and the first part coordinate system; and if the determined alignment indicates a misalignment of the second part coordinate system with the first part coordinate system, then; Applying at least one of an angular rotation and a translational displacement to the component positioned in the second system; and Repeating the determination of the alignment of the second part coordinate system with the first part coordinate system and applying at least one of the angular rotation and the translational displacement until the second part coordinate system is aligned with the first part coordinate system.

2. The method according to claim 1, wherein, Initializing the second part coordinate system further includes initializing the second part coordinate system using at least 6 control points for defining one or more virtual datums.

3. The method according to claim 1, wherein, Estimating the angular offset includes using an iterative least squares algorithm to estimate the angular offset.

4. The method according to claim 3, wherein, Using the iterative least squares method to estimate the angular offset includes iteratively updating the direction of the unit normal vector associated with the virtual datum of the second part coordinate system.

5. The method according to claim 1, wherein, Estimating the angular offset includes using the Gram - Schmidt orthogonalization process and the chained rotation equation to estimate the resulting transformation matrix.

6. The method according to claim 1, wherein, Estimating the translational offset includes using a weighted least squares algorithm to estimate the translational offset.

7. The method according to claim 1, wherein, The plurality of control points identified on the component includes a first subset of control points among the plurality of control points corresponding to a primary virtual datum, a second subset of control points among the plurality of control points corresponding to a secondary virtual datum, and a third subset of control points among the plurality of control points corresponding to a tertiary virtual datum.

8. The method according to claim 1, wherein, The second system includes a computerized numerical control (CNC) machine, and wherein the first system includes a coordinate measuring machine (CMM).

9. The method according to claim 1, wherein, Estimating the angular offset includes estimating the angular offset corresponding to at least one virtual reference and a secondary virtual reference of the centroid of the plurality of control points passing through the first part coordinate system and the second part coordinate system.

10. The method according to claim 1, wherein, estimating the translational offset includes estimating the translational offset along any axis of the second part coordinate system.

Citation Information

Cited By

  • A method of additive manufacturing of a gas turbine component and associated apparatus

    CN122538821A