US 20110178763 A1 Abstract A method of relocating a portable articulated arm coordinate measuring machine (AACMM) from a first location to a second location, wherein the AACMM has, at the first location, a first origin point and a first frame of reference and, at the second location, a second origin point and a second frame of reference, the method including the steps of: measuring an amount of tilt of the portable AACMM along two perpendicular directions, each of which are approximately perpendicular to a gravity vector, with the portable AACMM in each of the first and second locations; measuring a first target and a second target with the portable AACMM in the first location to obtain, in the first frame of reference, a first set of x, y, and z coordinates and a second set of x, y, and z coordinates; measuring the first target and the second target with the portable AACMM in the second location to obtain, in the second frame of reference, a third set of x, y, and z coordinates and a fourth set of x, y, and z coordinates; and finding x, y, and z coordinates of the second origin point with respect to the first frame of reference, wherein the x, y, and z coordinates of the second origin point are found using the first, second, third, and fourth sets of x, y, and z coordinates but without using additional x, y, and z coordinates of a third target measured with the AACMM at the first location and at the second location.
Claims(16) 1. A method of relocating a portable articulated arm coordinate measuring machine (AACMM) from a first location to a second location, wherein the AACMM has, at the first location, a first origin point and a first frame of reference and, at the second location, a second origin point and a second frame of reference, the method comprising the steps of:
measuring, with the portable AACMM in the first location, an amount of tilt of the portable AACMM along a first set of two perpendicular directions, each direction approximately perpendicular to a gravity vector; measuring, with the portable AACMM in the second location, an amount of tilt of the portable AACMM along a second set of two perpendicular directions, each direction approximately perpendicular to the gravity vector; measuring a first target and a second target with the portable AACMM in the first location to obtain, in the first frame of reference, a first set of x, y, and z coordinates and a second set of x, y, and z coordinates; measuring the first target and the second target with the portable AACMM in the second location to obtain, in the second frame of reference, a third set of x, y, and z coordinates and a fourth set of x, y, and z coordinates; and finding x, y and z coordinates of the second origin point with respect to the first frame of reference, wherein the x, y, and z coordinates of the second origin point are found using the first, second, third, and fourth sets of x, y, and z coordinates but without using additional x, y, and z coordinates of a third target measured with the AACMM at the first location and at the second location. 2. The method of identifying a first gravity frame of reference of the AACMM in the first location as that frame of reference resulting from application of the measured amount of tilt along the first set of two perpendicular directions to rotate x, y, and z axes of the first frame of reference into transformed x, y, and z axes of the first gravity frame of reference in such a way that the transformed z axis of the first gravity frame of reference is aligned with the gravity vector. 3. The method of identifying a second gravity frame of reference of the AACMM in the second location as that frame of reference resulting from application of the measured amount of tilt along the second set of two perpendicular directions to rotate x, y, and z axes of the second frame of reference into transformed x, y, and z axes of the second gravity frame of reference in such a way that the transformed z axis of the second gravity frame of reference is aligned with the gravity vector. 4. The method of determining a yaw angle of the portable AACMM in the second location, wherein the determined yaw angle comprises an amount of rotation about the transformed z axis of the second gravity frame of reference to make the transformed x and y axes of the second gravity frame of reference parallel to the transformed x and y axes of the first gravity frame of reference. 5. The method of converting the first set of x, y, and z coordinates into a first set of transformed x, y, and z coordinates in the first gravity frame of reference; converting the second set of x, y, and z coordinates into a second set of transformed x, y, and z coordinates in the first gravity frame of reference; converting the third set of x, y, and z coordinates into a third set of transformed x, y, and z coordinates in the second gravity frame of reference; and converting the fourth set of x, y, and z coordinates into a fourth set of transformed x, y, and z coordinates in the second gravity frame of reference. 6. The method of calculating the z coordinate of the second origin point in the first frame of reference using the transformed z coordinates from the first set of transformed x, y, and z coordinates and the third set of transformed x, y, and z coordinates. 7. The method of calculating the z coordinate of the second origin point in the first frame of reference using the transformed z coordinates from the second set of transformed x, y, and z coordinates and the fourth set of transformed x, y, and z coordinates. 8. The method of calculating the z coordinate of the second origin point in the first frame of reference by taking an average of the z coordinate calculated in 9. The method of finding the x and y coordinates of the second origin point in the first frame of reference by solving two equations simultaneously, wherein the first equation includes transformed x and y coordinates from the first and third sets of transformed x, y, and z coordinates and the second equation includes transformed x and y coordinates from the second and fourth sets of transformed x, y, and z coordinates. 10. The method of transforming coordinate data collected by the AACMM in the first location and the second location into a common global frame of reference. 11. A computer program product comprising a storage medium having computer-readable program code embodied thereon, which when executed by a computer causes the computer to implement a method of relocating a portable articulated arm coordinate measuring machine (AACMM) from a first location to a second location, wherein the AACMM has, at the first location, a first origin point and a first frame of reference and, at the second location, a second origin point and a second frame of reference, the method including the steps of:
measuring, with the portable AACMM in the first location, an amount of tilt of the portable AACMM along a first set of two perpendicular directions, each direction approximately perpendicular to a gravity vector; measuring, with the portable AACMM in the second location, an amount of tilt of the portable AACMM along a second set of two perpendicular directions, each direction approximately perpendicular to the gravity vector; identifying a first gravity frame of reference of the AACMM in the first location as that frame of reference resulting from application of the measured amount of tilt along the first set of two perpendicular directions to rotate x, y, and z axes of the first frame of reference into transformed x, y, and z axes of the first gravity frame of reference in such a way that the transformed z axis of the first gravity frame of reference is aligned with the gravity vector; identifying a second gravity frame of reference of the AACMM in the second location as that frame of reference resulting from application of the measured amount of tilt along the second set of two perpendicular directions to rotate x, y, and z axes of the second frame of reference into transformed x, y, and z axes of the second gravity frame of reference in such a way that the transformed z axis of the second gravity frame of reference is aligned with the gravity vector; measuring a first target and a second target with the portable AACMM in the first location to obtain, in the first frame of reference, a first set of x, y, and z coordinates and a second set of x, y, and z coordinates; measuring the first target and the second target with the portable AACMM in the second location to obtain, in the second frame of reference, a third set of x, y, and z coordinates and a fourth set of x, y, and z coordinates; finding x, y and z coordinates of the second origin point with respect to the first frame of reference, wherein the x, y, and z coordinates of the second origin point are found using the first, second, third, and fourth sets of x, y, and z coordinates but without using additional x, y, and z coordinates of a third target measured with the AACMM at the first location and at the second location; and determining a yaw angle of the portable AACMM in the second location, wherein the determined yaw angle comprises an amount of rotation about the transformed z axis of the second gravity frame of reference to make the transformed x and y axes of the second gravity frame of reference parallel to the transformed x and y axes of the first gravity frame of reference. 12. The computer program product of calculating the z coordinate of the second origin point in the first frame of reference using the transformed z coordinates from the first set of transformed x, y, and z coordinates and the third set of transformed x, y, and z coordinates. 13. The computer program product of calculating the z coordinate of the second origin point in the first frame of reference using the transformed z coordinates from the second set of transformed x, y, and z coordinates and the fourth set of transformed x, y, and z coordinates. 14. The computer program product of calculating the z coordinate of the second origin point in the first frame of reference by taking an average of the z coordinate calculated in 15. The computer program product of finding the x and y coordinates of the second origin point in the first frame of reference by solving two equations simultaneously, wherein the first equation includes transformed x and y coordinates from the first and third sets of transformed x, y, and z coordinates and the second equation includes transformed x and y coordinates from the second and fourth sets of transformed x, y, and z coordinates. 16. The computer program product of transforming coordinate data collected by the AACMM in the first location and the second location into a common global frame of reference. Description The present application claims the benefit of provisional application No. 61/296,555 filed Jan. 20, 2010, the content of which is hereby incorporated by reference in its entirety. The present disclosure relates to coordinate measuring machines, and more particularly to a portable articulated arm coordinate measuring machine having one or more inclinometers located on or within the portable articulated arm coordinate measuring machine and which may be used to improve the accuracy of a relocation of the portable articulated arm coordinate measuring machine between different locations. Portable articulated arm coordinate measuring machines (AACMMs) have found widespread use in the manufacturing or production of parts where there is a need to rapidly and accurately verify the dimensions of the part during various stages of the manufacturing or production (e.g., machining) of the part. Portable AACMMs represent a vast improvement over known stationary or fixed, cost-intensive and relatively difficult to use measurement installations, particularly in the amount of time it takes to perform dimensional measurements of relatively complex parts. Typically, a user of a portable AACMM simply guides a probe along the surface of the part or object to be measured. The measurement data are then recorded and provided to the user. In some cases, the data are provided to the user in visual form, for example, three-dimensional (3-D) form on a computer screen. In other cases, the data are provided to the user in numeric form, for example when measuring the diameter of a hole, the text “Diameter=1.0034” is displayed on a computer screen. An example of a prior art portable articulated arm CMM is disclosed in commonly assigned U.S. Pat. No. 5,402,582 ('582), which is incorporated herein by reference in its entirety. The '582 patent discloses a 3-D measuring system comprised of a manually-operated articulated arm CMM having a support base on one end and a measurement probe at the other end. Commonly assigned U.S. Pat. No. 5,611,147 ('147), which is incorporated herein by reference in its entirety, discloses a similar articulated arm CMM. In the '147 patent, the articulated arm CMM includes a number of features including an additional rotational axis at the probe end, thereby providing for an arm with either a two-two-two or a two-two-three axis configuration (the latter case being a seven axis arm). What is needed is a portable AACMM that includes one or more inclinometers located on or within the portable AACMM and which may be used to improve the accuracy of a relocation of the portable AACMM, and/or may be used to reduce the number of targets (e.g., nests, seats, or fixtures) required for the portable AACMM to complete a relocation of itself when measurement of a relatively large part by the portable AACMM requires that the portable AACMM to be physically moved between different locations to complete the measurement. A method of relocating a portable articulated arm coordinate measuring machine (AACMM) from a first location to a second location, wherein the AACMM has, at the first location, a first origin point and a first frame of reference and, at the second location, a second origin point and a second frame of reference, the method including the steps of: measuring an amount of tilt of the portable AACMM along two perpendicular directions, each of which are approximately perpendicular to a gravity vector, with the portable AACMM in each of the first and second locations; measuring a first target and a second target with the portable AACMM in the first location to obtain, in the first frame of reference, a first set of x, y, and z coordinates and a second set of x, y, and z coordinates; measuring the first target and the second target with the portable AACMM in the second location to obtain, in the second frame of reference, a third set of x, y, and z coordinates and a fourth set of x, y, and z coordinates; and finding x, y, and z coordinates of the second origin point with respect to the first frame of reference, wherein the x, y, and z coordinates of the second origin point are found using the first, second, third, and fourth sets of x, y, and z coordinates but without using additional x, y, and z coordinates of a third target measured with the AACMM at the first location and at the second location. Referring now to the drawings, exemplary embodiments are shown which should not be construed to be limiting regarding the entire scope of the disclosure, and wherein the elements are numbered alike in several FIGURES: Embodiments of the present invention include one or more inclinometers located on or within a portable AACMM and which may be used to improve the accuracy of a relocation of the portable AACMM, and/or may be used to reduce the number of targets (e.g., nests, seats, or fixtures) required for the portable AACMM to complete a relocation of the portable AACMM when measurement of a relatively large part by the portable AACMM requires that the portable AACMM to be physically moved between different locations to complete the measurement. Each bearing cartridge within each bearing cartridge grouping The probe As shown in In various embodiments, each grouping of bearing cartridges The base In accordance with an embodiment, the base The electronic data processing system in the base As shown in Also shown in In an embodiment shown in The base processor board The base processor board Turning now to the user interface board The electronic data processing system Though shown as separate components, in other embodiments all or a subset of the components may be physically located in different locations and/or functions combined in different manners than that shown in Referring to In exemplary embodiments, an inclinometer, which may have at least one measuring axis, but having two measuring axes in exemplary embodiments, may be placed within or on the portable AACMM Relocation is typically defined to be a procedure in which the portable AACMM A common method of relocation of a portable AACMM A related method of portable AACMM relocation uses targets permanently attached to a grid in the vicinity in which the portable AACMM In embodiments of the present invention, benefits include improved accuracy and reduced measurement time. In exemplary embodiments, a two-axis inclinometer may be used. In this case, both axes of the inclinometer lie in a plane that is approximately parallel to the floor or other surface (e.g., table top) upon or to which the portable AACMM By using a two-axis inclinometer, two of the six degrees of freedom can be eliminated from the relocation calculations. There are many known mathematical methods that can be used to perform relocation. The most common method fits the collected data to equations that relate the measured coordinates. This type of calculation is known as an optimization or best-fit calculation, and for a specific case in which the portable AACMM In accordance with embodiments of the present invention, a relatively simple mathematical method demonstrates the performance of a relocation of a portable AACMM The targets After the portable AACMM A method for obtaining this result according to embodiments of this aspect of the present invention is described with reference to The AACMM When the AACMM There are many ways to do such a transformation. A simple way is to first convert the local frame of reference of the AACMM The rotational matrix that is used to rotate the local frame of reference of the AACMM To summarize, one way to transform data so that it can be compared in a common frame of reference is to first use the tilt angles measured by the inclinometer to rotate coordinate data into the gravity frame of reference of first position Methods for doing rotations and translations of coordinate data are well known to those of ordinary skill in the art. A rotation in three dimensional space may be obtained by multiplying a 3×3 rotation matrix by a 3 element coordinate vector. Translation and rotation steps can be combined in a single 4×4 matrix. Because these methods are so well known, they are not discussed further here. It is also possible to move data collected with the AACMM Embodiments of the method of the present invention may be embodied in software or firmware that may be stored internal to the AACMM Referring also to The inclinometer is used in a step In this instance, the tilt sensor is used to measure the tilt in two directions with respect to the gravity vector. This may be done by using a two-axis tilt sensor in the base. Alternatively a single axis tilt sensor may be located in the rotating portion of bearing cartridge grouping Next, in step The coordinates of the origin point of the portable AACMM As shown in top views of The analytical solution to Equations 1 and 2 contain many terms. Numerical methods for solving these equations are relatively fast and are preferred. There are two possible solutions for X and Y from these equations, but only one of these solutions will be reasonable, and the other possible solution can be eliminated. The x and y components of the vector from Nest B To find the relatively best value for 0, the standard method of minimizing the squared error of these two terms may be used in step It should be noted that the order of the actions in Although a detailed procedure has been given herein above to demonstrate that use of inclinometers in the portable AACMM The mathematical methods described above provides a fast and accurate method for finding the four quantities X, Y, Z, and a However, these four quantities can be found with other mathematical methods. For example, it is possible to write equations that can be solved using an iterative optimization procedure for all four variables. Therefore, the mathematical computation should not be limited to that described by Equations (1)-(4). Technical effects and benefits include the inclusion of one or more inclinometers located on or within a portable AACMM and which may be used to improve the accuracy of relocation of the portable AACMM, and/or may be used to reduce the number of targets (e.g., nests, seats, or fixtures) required for the portable AACMM As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method, or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon. Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that may contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing. Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++, C# or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). Aspects of the present invention are described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, may be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer program instructions may also be stored in a computer readable medium that may direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks. The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the Figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, may be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions. While the invention has been described with reference to example embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from the essential scope thereof. Therefore, it is intended that the invention not be limited to the particular embodiment disclosed as the best mode contemplated for carrying out this invention, but that the invention will include all embodiments falling within the scope of the appended claims. Moreover, the use of the terms first, second, etc. do not denote any order or importance, but rather the terms first, second, etc. are used to distinguish one element from another. Furthermore, the use of the terms a, an, etc. do not denote a limitation of quantity, but rather denote the presence of at least one of the referenced item. Patent Citations
Referenced by
Classifications
Legal Events
Rotate |