Patent Publication Number: US-11642747-B2

Title: Aligning parts using multi-part scanning and feature based coordinate systems

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     This application is a continuation of U.S. patent application Ser. No. 15/014,740, entitled “ALIGNING PARTS USING MULTI-PART SCANNING AND FEATURE BASED COORDINATE SYSTEMS,” filed on 3 Feb. 2016, which is incorporated herein by reference in its entirety for all purposes. 
    
    
     BACKGROUND 
     Dimensional requirements for many applications, such as aerospace and aircraft applications, often demand tight assembly tolerances over large working envelopes. Currently, manual assembly using large scale fixtures or assembly jigs are used for controlling these dimensional requirements. However, these fixtures and jigs have various potential limitations, such as being expensive, difficult to install, requiring more facility modification, being less flexible to different part configurations or design changes, and being less flexible to future factory modification or production process changes. Another current approach is based on automated assembly systems using high accuracy machines. However, these machines may be expensive, tend to be very specialized and/or mechanically complex, require facility modification, may have high maintenance and service cost, may be sensitive to environmental changes, and may not always be able to meet engineering requirements. Yet another current approach requires prefabricated assembly features, such as determinant assembly holes. Forming these holes require additional processing, such as expensive computer numerical control (CNC) machines. In some cases, forming determinant assembly holes may not be possible because of certain structural or other requirements. 
     SUMMARY 
     Provided are methods and systems for aligning multiple parts using simultaneous scanning of features of different parts and using feature-based coordinate systems for determining relative positions of these. Specifically, a feature-based coordinate system may be constructed using one or more critical dimensions between features of different parts. The scanner may be specifically positioned to capture each of these critical dimensions precisely. The feature-based coordinate system is used to compare the critical dimensions to specified ranges. The position of at least one part may be adjusted based on results of this comparison using, for example, a robotic manipulator. The process may be repeated until all critical dimensions are within their specified ranges. In some embodiments, multiple sets of features from different parts are used such that each set uses its own feature-based coordinate system. The part adjustment may be performed based on the collective output from these multiple sets. 
     In some embodiments, a method of aligning a first part relative to a second part comprises selecting a first feature of the first part and a second feature of the second part. The method also comprises constructing a feature-based coordinate system based on one or more specified dimensions between the first feature and the second feature. The method also comprises positioning the first part relative to the second part such that the first feature of the first part and the second feature of the second part are within a field of view of a scanner. The method comprises determining position of the first feature relative to the second feature using the scanner, such as by simultaneously scanning the first feature and the second feature. The method also comprises comparing the position of the first feature relative to the second feature in the feature-based coordinate system based on the one or more specified dimensions between the first feature and the second feature. If any one of the one or more specified dimensions between the first feature and the second feature in the feature-based coordinate system is outside of their corresponding ranges, then the method comprises adjusting position of the first part relative to the second part to bring these one or more outside dimensions into their corresponding ranges. 
     In some embodiments, the first feature of the first part and the second feature of the second part are selected based on expected orientation of the first feature and the second feature. Another factor for selecting the first feature and the second feature may be simultaneous detectability of the first feature and the second feature using the scanner. For example, the features are selected such that both features are simultaneously within the line of sight as well as within the field of view of the scanner. Some examples of the features include, but are not limited to, an edge, a plane, and a contoured feature. In some embodiments, at least one of the first feature and the second feature is a geometrically constructed feature based on one or more of physical features. For example, a geometrically constructed feature may be the center of an opening where the edges of an opening are used to identify the center. A geometrically constructed feature may be also referred to as a derived feature to differentiate them from actual physical features, such as a surface, edge, corner, and the like. 
     In some embodiments, the feature-based coordinate system is further constructed based on expected orientation of the first feature and the second feature, in addition to the one or more specified dimensions between the first feature and the second feature. For example, the expected location of the first feature may be selected as a center/datum of the feature-based coordinate system and the direction of at least one of the one or more specified dimensions (or at least the direction of this dimension) may be used as one axis of this feature-based coordinate system. The actual position of the first feature relative to the second feature determined during the scanning is then identified in this feature-based coordinate system. 
     In some embodiments, positioning the first part relative to the second part is performed based on referencing a part-based coordinate system of the first part to a part-based coordinate system of the second part. For example, the part-based coordinate system of the first part may be associated with the overall length, height, and width of the first part. The part-based coordinate system of the first part may be used to identify the location of the first feature if the first part is not deformed relative to its nominal shape. However, at least one of the first part or the second part may be deformed relative to its nominal shape after positioning the first part relative to the second part and their respective part-based coordinate systems may not be capable of precisely aligning the two parts or, more specifically, the first feature of the first part relative to the second feature of the second part. 
     In some embodiments, positioning the first part relative to the second part may be performed using a robotic manipulator. The scanner may be a three dimensional (3D) photogrammetry scanner. In some embodiments, the position of the first feature relative to the second feature determined by the scanner is at least 5-axis error measurement of the first feature relative to the second feature in the feature-based coordinate system or, more specifically, is 6-axis error measurement of the first feature relative to the second feature. 
     In some embodiments, the method also comprises determining the position of a third feature of the first part relative to a fourth feature of the second part using the scanner. The third feature is different from the first feature. Likewise, the fourth feature is different from the second feature. The method then proceeds with comparing the position of the third feature relative to the fourth feature based on the one or more specified dimensions between the third feature and the fourth feature. If any one of the one or more specified dimensions between the third feature and the fourth feature is outside of their corresponding ranges, then the method proceeds with adjusting position of the first part relative to the second part to bring these out-of-range dimensions between the third feature and the fourth feature into their corresponding ranges. 
     Comparing the position of the third feature relative to the fourth feature may be performed using the feature-based coordinate system constructed based on the one or more specified dimensions between the first feature and the second feature. Alternatively, comparing the position of the third feature relative to the fourth feature is performed using an additional feature-based coordinate system constructed based on the one or more specified dimensions between the third feature and the fourth feature. In other words, a new feature-based coordinate system may be used for each new pair of features or, more generally, for each new set of features such that at least one or more features in the set are on the first part and at least one or more other features in the same set are on the second part. 
     In some embodiments, adjusting position of the first part relative to the second part to bring the any one of the one out-of-the range dimensions between the first feature and the second feature and between the third feature and the fourth feature into their corresponding ranges is performed simultaneously. In other words, the collective comparison of the position of the first feature relative to the second feature and of the position of the third feature relative to the fourth feature may be used for determining how the position of the first part needs to be adjusted. 
     Alternatively, adjusting position the first part relative to second part to bring the out-of-the-range dimensions between the third feature and the fourth feature into their corresponding ranges is performed after adjusting position the first part relative to second part to bring the out-of-the-range dimensions between the first feature and the second feature into the corresponding range. In other words, the adjustment of each pair of features or, more generally, each set of features is performed independently. In these embodiments, the method may further comprise toggling between comparisons of each pair of features or, more generally, of each set of features and performing corresponding adjustments. Specifically, after adjusting position the first part relative to second part to bring the any one of the out-of-the-range dimensions between the third feature and the fourth feature into their corresponding ranges, the following operations may be repeated (a) determining position of the first feature relative to the second feature; (b) comparing the position of the first feature relative to the second feature; and (c) if any one of the one or more specified dimensions between the first feature and the second feature in the feature-based coordinate system is outside of their corresponding ranges, then adjusting position of the first part relative to the second part to bring these out-of-the-range dimensions into the corresponding ranges. 
     In some embodiments, the first feature, the second feature, the third feature, and the fourth feature are simultaneously within the field of view of the scanner. In these embodiments, comparing the position of the first feature relative to the second feature may also involve comparing position of the first feature to the fourth feature and/or comparing position of the third feature to the second feature. 
     In some embodiments, the method also involves changing position of the scanner after determining position of the first feature relative to the second feature and prior to determining position of the third feature relative to the fourth feature. In other words, the scanner may be repositioned for scanning each pair of features or, more generally, each set of features. This approach may be used to ensure the most accurate determination of feature positions since the position of the scanner is individually set for each pair of features or, more generally, each set of features thereby allowing the most precise scanning of this pair or set. 
     In some embodiments, the method further comprises repeating some operations until all of the one or more specified dimensions are within their corresponding ranges. The repeated operations may include (a) determining position of the first feature relative to the second feature; (b) comparing the position of the first feature relative to the second feature; and (c) if any one of the one or more specified dimensions between the first feature and the second feature in the feature-based coordinate system is outside of their corresponding ranges, then adjusting position the first part relative to the second part to bring these out-of-the-range dimensions into their corresponding range. 
     In some embodiments, the method further comprises joining the first part and the second part. This joining may be performed after adjusting the position of the first part feature relative to the second part. 
     The first part and the second part may be aircraft components in particular large aircraft components such as fuselage components, wing components, and the like. 
     Also provided is a method of joining a first part and a second part. The method may comprise determining position of a first feature of a first part relative to a second feature of a second part using a scanner by simultaneously scanning the first feature and the second feature. Some examples of this operation are described above. The method then proceeds with comparing the position of the first feature relative to the second feature in a feature-based coordinate system based on one or more specified dimensions between the first feature and the second feature within the feature-based coordinate system. If any one of the one or more specified dimensions between the first feature and the second feature in the feature-based coordinate system is outside of their corresponding ranges, then the method proceeds with adjusting position of the first part relative to the second part to bring the out-of-range dimensions into their corresponding ranges. The method also proceeds with joining the first part and the second part. Some examples of joining techniques include, but are not limited to, welding, soldering, crimping, bolting, and adhering. While joining the first part and the second part some operations of the method may be repeated, determining position of the first feature relative to the second feature; comparing the position of the first feature relative to the second feature; and if any one of the one or more specified dimensions between the first feature and the second feature in the feature-based coordinate system is outside of a corresponding range, adjusting position the first part relative to the second part to bring the any one of the one or more specified dimensions between the first feature and the second feature in the feature-based coordinate system into the corresponding range. 
     These and other embodiments are described further below with reference to the figures. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIGS.  1 A- 1 C  provide schematic illustration of a part at different states during handling of the part, in accordance with some embodiments. 
         FIG.  2    is a process flowchart corresponding to a method of aligning a first part relative to a second part using multi-part scanning as well as a method of joining the part, in accordance with some embodiments. 
         FIGS.  3 A- 3 C  are schematic illustrations of two parts showing critical dimensions between features of these parts, in accordance with some embodiments. 
         FIGS.  4 A and  4 B  are schematic illustrations of another example of two parts showing critical dimensions between features of these parts, in accordance with some embodiments. 
         FIG.  5    is a schematic illustration of a system used for inspection alignment of two parts using multi-part scanning and for aligning the two parts, in accordance with some embodiments. 
         FIG.  6    is a block diagram of aircraft production and service methodology that may utilize methods and systems for aligning and joining multiple parts, as described herein. 
         FIG.  7    is a schematic illustration of an aircraft that may in aligned and joined parts, as described herein. 
     
    
    
     DETAILED DESCRIPTION 
     In the following description, numerous specific details are set forth in order to provide a thorough understanding of the presented concepts. The presented concepts may be practiced without some or all of these specific details. In other instances, well known process operations have not been described in detail so as to not unnecessarily obscure the described concepts. While some concepts will be described in conjunction with the specific embodiments, it will be understood that these embodiments are not intended to be limiting. 
     Introduction 
     Tight dimensional tolerances for many applications, in particular applications involving large and/or flexible parts, present many challenges with aligning the parts. Some of these challenges cannot be addressed with current approaches at least in a useful and cost effective manner as described above. One of the alignment challenges comes from parts being bendable or flexible as well as from the difficulty of handling large parts. Such parts are common in aerospace, aircraft, and other such applications as further described below with reference to  FIGS.  6  and  7   . These challenges will now be described in more detail.  FIGS.  1 A- 1 C  provide schematic illustrations of part  10  at different states during handling of part  10 , in accordance with some embodiments. Specifically,  FIG.  1 A  illustrates part  10  in its reference state when part coordinate system  30  is aligned with global coordinate system  20 . In this example, each direction of part coordinate system  30  is parallel to the corresponding direction of global coordinate system  20 . For simplicity and illustration, part coordinate system  30  is located at center  12  or part  10 . Part  10  maintains its shape in this reference state and, as such, part coordinate system  30  can be used to find location and orientation of feature  14  on part  10 . Based on the reference between part coordinate system  30  and global coordinate system  20 , the location and orientation of feature  14  can be also identified in global coordinate system  20 . As such, global coordinate system  20  may be used for aligning feature  14  relative to any other feature or component similarly identified in global coordinate system  20 . 
       FIG.  1 B  illustrates part  10  in a tilted state. Part coordinate system  30  is not aligned with global coordinate system  20  in the same manner as in  FIG.  1 A  described above. However, part coordinate system  30  can be still referenced using global coordinate system  20 , e.g., using a tilt angle around or about the Y axis. Part  10  continues to maintain its shape in this tilted state and, as such, part coordinate system  30  can be used to find location and orientation of feature  14  on part  10 . Similar to the state shown in  FIG.  1 A , the reference between part coordinate system  30  and global coordinate system  20  may be applied to identify the location and orientation of feature  14  in global coordinate system  20 . As such, global coordinate system  20  may still be used for aligning feature  14  relative to any other feature or component similarly identified in global coordinate system  20 . 
       FIG.  1 C  illustrates part  10  in a bent state. Part coordinate system  30  is aligned with global coordinate system  20  in a manner similar to the example presented in  FIG.  1 A . However, part  10  has a different shape in comparison to its reference state. As such, even the part coordinate system  30  cannot be used to find the location and orientation of feature  14  on part  10 . In this state, both part coordinate system  30  and global coordinate system  20  are effectively useless for aligning feature  14  relative to any other feature in general or, more specifically, to a feature identified in global coordinate system  20 . One having ordinary skill in the art would recognize that this bending as well as other types of part deformation often cannot be controlled without using very stiff, large, complex, and expensive fixtures. Controlling deformation of some large parts is simply not practical. As such, relying on the orientation of the part as a whole (e.g., based on its part coordinate system) may not be useful in some cases. 
     Methods and systems described herein provide for aligning multiple parts using simultaneous scanning of features of different parts and using feature-based coordinate systems rather than part-based coordinate systems or global coordinate system for aligning the parts or, more specifically, for aligning particular features of different parts. This alignment may be used for joining the part in the aligned state. This alignment effectively ignores the orientation of the part as a whole. As described above with reference to  FIG.  3   , bending or other types of part, deformation may interfere with the part-level orientation of the feature and the orientation of the part as a whole becomes irrelevant for precise orientation of features on different parts. The proposed methods and systems are based on the orientation of features of different parts relative to each other. This approach may be referred to as a local orientation or a feature based orientation. A feature-based coordinate system may be constructed for each set of features, which includes one or more features on each of the parts. This feature-based coordinate system may be independent from other coordinate system, e.g., part-based coordinate systems, global coordinate system, or even other feature-based coordinate systems used for the same alignment. 
     As noted above, a feature-based coordinate system may be constructed using one or more critical dimensions between features of different parts. The features and critical dimensions may be selected based on desired orientations of specific portions of parts containing these features, capabilities of the scanner, and other factors. Each pair or, more generally, each set of features may include one or more features on one part and one or more features on another part. One or more critical dimensions may be identified for each pair of features and used for alignment. 
     The scanner may be specifically positioned to capture each of these critical dimensions with a high precision. For example, the scanner may be positioned on a robotic arm and controlled based on the expected positions of the features and the critical dimension between these features. The orientation of the scanner may be changed when scanning different sets of features and/or identifying different critical dimensions. 
     The feature-based coordinate system is then used to compare the identified critical dimensions to their respective specified ranges. For example, each of the critical dimensions may have a target value associated, for example, with a computer aided design (CAD) model or a database and a corresponding tolerance identifying the range. In some embodiments, the feature-based coordinate system may be used to analyze the CAD model to determine the range, for example, from other dimensions and tolerances identified in the CAD model. Specifically, the range or even a nominal value for a critical dimension may not be specified in the CAD model directly. However, the model may be analyzed to determine this range from other available values identified in the CAD model. 
     The position of at least one part may be adjusted based on results of the comparison of the identified critical dimension to the range. Specifically, if the critical dimension is outside of its specified range, the adjustment may be performed. Each adjustment may be recorded to ensure that subsequent adjustment does not move the critical dimension outside of the range. For example, alignment of two parts may be performed based on two or more critical dimensions. Once the adjustment is performed to ensure that one of these critical dimensions is within the range, these adjustments may be accounted for while performing additional one or more adjustments to bring additional one or more critical dimensions to its range. This approach ensures that the first critical dimension is kept within the range while additional adjustments are performed. In some embodiments, a toggling between multiple critical dimensions is performed to ensure that performed adjustment leads to all critical dimensions being within their respective ranges. This may be referred to as a converging algorithm. The adjustment may be performed using, for example, a robotic manipulator or, more specifically, a robotic arm. A coordinate system of the robotic manipulator may be aligned with respect to the feature-based coordinate system to simplify the control of the robotic manipulator. 
     The relative position of two features may be determined based on one or more critical dimensions between these features. These dimensions may be distances, angles, or any other suitable dimensions. The features may be real features (e.g., edges, corners, surfaces, and the like) or derived features (e.g., centers of openings, mid-planes, and the like). Without being restricted to any particular theory, it is believed that using critical dimensions for individual pairs of features result in more accurate alignment (e.g., orientation determination) than, for example, when global orientations are used for parts as described above with reference to  FIGS.  1 A- 1 C . For example, in order to simultaneously and directly calculate the relative position of critical features, a 3D scanner may be used to collect point cloud data for these critical feature and, in some embodiments, other features of two different parts. This point cloud data may include a variety of individual measurements for different feature pairs. The point cloud data may be then evaluated to determine the relative orientation of the critical features and this information may be then used for correcting part positions, e.g., controlling a robot manipulator. 
     Examples of Methods Used for Aligning Parts 
       FIG.  2    is a process flowchart corresponding to method  300  of aligning first part  110  relative to second part  120 , in accordance with some embodiments. Two examples of first part  110  and second part  120  are shown in  FIGS.  3 A- 3 C  and  FIGS.  4 A- 4 B  and described below with reference to this figures. One having ordinary skill in the art would understand that other part examples are also within the scope. 
     Method  300  may comprise selecting first feature  112  of first part  110  and second feature  122  of second part  120  during optional operation  310 . These selected features may be real features (e.g., edges, corners, surfaces) or derived features (e.g., centers of openings, mid-planes). The selected features may belong to parts being oriented with respect to each other, which may be referred to as direct referencing. In some embodiments, features of other reference parts (e.g., supporting fixtures) may be used for indirect referencing. For example, first feature  112  of first part  110  may be compared to a feature of a reference part, while second feature  122  of second part  120  may be compared to the same or another feature of the same reference part. These reference-part comparisons may be combined to determine relative orientation of first feature  112  to second feature  122  or, more generally, relative orientation of first part  110  to second part  120 . The feature selection is based on detectability of features, orientation requirements, and/or other such factors. 
       FIGS.  3 A- 3 C  and  FIGS.  4 A- 4 B  illustrate various examples of selected features. Specifically,  FIGS.  3 A- 3 C  illustrates an example of assembly  100  including first part  110  and second part  120  such that both first part  110  and second part  120  have an L-shape profile. However, the L-shape profile of second part  120  is turned 90° counter clockwise relative the L-shape profile of first part  110 . In this example, first feature  112  of first part  110  is the inner wall of one leg of the L-shape profile, while second feature  122  of second part  120  is a center of the whole in one leg of the L-shape profile. The features may be selected because of they can be easily detected and measured. Furthermore, these features may be selected because they can precisely identify the target orientation of first part  110  relative to second part  120  or, at least, portions of these parts containing the features. The feature selection operation in method  300  effectively removes (ignores) scanning data associated with unnecessary components in the tolerance chain. This aspect may be particularly important when, for example, there are multiple layers of parts in the same assembly (e.g., multiple sub-assemblies). 
     In some embodiments, additional features of first part  110  and second part  120  are also identified during operation  310 . For example,  FIGS.  3 A- 3 C  also illustrate third feature  114  of first part  110  and fourth feature  124  of second part  120 . In this example, third feature  114  is the center of an opening positioned on a different leg of the L-shape than first feature  110 . Fourth feature  124  is the inner wall of the same leg of the L-shape containing second feature  122 . The first critical dimension is identified as a dimension between first feature  112  and second feature  122  and extending along the Y axis. The second critical dimension is identified as a dimension between third feature  114  and fourth feature  124  and extending along the X axis. These axes may be parts of feature-based coordinate system  160 . 
     As further described below, feature-based coordinate system  160  may be constructed based on one or more specified dimensions between first feature  112  and second feature  122 , such as the first critical dimension shown in  FIGS.  3 A- 3 B . Without being restricted to any particular theory, it is believed that for many complex geometries, such as the ones shown in  FIGS.  3 A- 3 B , using one or more pairs of features and critical dimensions between these features is more accurate that trying to define global coordinate systems for both parts and determine their relative orientations based on these global coordinate systems. The dimensions identified between each pair of features may be a distance, angle, or some other dimension. The feature pairs and dimensions may be determined based on particular process requirements. For example, a dimensional tolerance in one direction may be different than that in other direction. 
       FIGS.  4 A- 4 B  illustrate another example of assembly  100  including first part  110  and second part  120 . First part  110  has a square U-channel shape, while second part  120  has a straight shape with a semicircular portion. Second part  120  is positioned within the channel of first part  110 . First feature  112  is an edge (the front edge) of first part  110 , while second feature  122  of second part  120  is a center of the semicircular portion disposed between two straight portions. The distance between this edge and the center is identified as a first critical dimension. 
     Third feature  114  is a mid-plane between two vertical end portions of first part  110 , while fourth feature  124  is a front surface of second part  120 . This front surface is formed by the two straight portions positioned on different parts of the semicircular portions of second part  120 . The distance between these edge and the front surface is identified as a second critical dimension. 
     It should be noted that first feature  112  and fourth feature  124  are actual physical features, while second feature  122  and third feature  114  are derived features. In order to identify each derived feature one or more physical features may be used. Specifically, the one or more physical features associated with the derived feature are identified (e.g., an edge of the circular opening may be used to identify the center of the opening). This physical feature identification is then used to construct and position the derived feature. 
     One having ordinary skill in the art would recognize that other examples of orienting multiple parts is also within the scope of this disclosure. In some embodiments, additional reference parts or, more specifically, features of the reference parts may be used to orient two or more target parts. For example, a supporting fixture may be used as a reference part during orientation of two target parts that are supported by this fixture. The orientation of the reference part is only relevant for determining orientation of the target parts but not otherwise. One or more reference parts may be used, for example, when features in these parts are easily measureable. 
     For example, a 3D photogrammetry scanner may be used to analyze the fixture supporting a first part. The fixture may have reference features, such as easily identifiable high-contrast stickers. The limited and controlled utilization of the fixture allows using various types of reference features that may not be applicable on actual parts. Furthermore, relative orientations of these reference features may be established during calibration of the fixture, e.g., prior to execution of method  300 . Once the parts are positioned on the fixture, the 3D photogrammetry scanner may be utilized to scan different features on these parts and determine positions of different sets of features on the parts and on the fixture. 
     In some embodiments, first feature  112  of first part  110  and second feature  122  of second part  120  are selected based on expected orientation of first feature  112  and second feature  122 . Another factor may be simultaneous detectability of first feature  112  and second feature  122  using scanner  220 , which is illustrated in  FIG.  5    and further described below with reference to this figure. For example, both features may need to be within the line of sight as well as within field of view  222  of scanner  220  as shown in  FIG.  5   . It should be noted that only a portion of first part  110  containing first feature  112  and a portion of second part  120  containing second feature  122  may be within field of view  222  of scanner  220 . Other portions of first part  110  and second part  120  may be outside of field of view  222 . Scanner  220  may be moved with respect to first part  110  and second part  120  to position different features of these parts within field of view  222 . 
     Some examples of features include, but are not limited to, an edge, a plane, and a contoured feature as shown in  FIGS.  3 A- 3 C  and  FIGS.  4 A- 4 B . In some embodiments, some features may be geometrically constructed features, such as second feature  122  and third feature  114  in the examples shown in  FIG.  3 A- 3 C  or fourth feature  124  in the example shown in  FIG.  4 A- 4 B . The geometrically constructed features are based on one or more of physical features and may also be referred to as derived features. 
     It should be noted that in some embodiments operation  310  may not be performed. In these embodiments, the features may be previously selected and recorded, for example, in a CAD model or in a database. 
     Returning to  FIG.  2   , method  300  also comprises constructing feature-based coordinate system  160  during optional operation  320 . Unlike global part coordinate systems described above, feature-based coordinate system  160  may be constructed based on one or more specified dimensions between first feature  112  and second feature  122  as, for example, shown in  FIG.  3 A  or  FIG.  4 A . Use of feature-based coordinate system  160  eliminates concerns with part deformation and allows for focus on the critical portions of the parts, such as the parts containing first feature  112  and second feature  122  in our example. Feature-based coordinate system  160  is also designed to simplify verification of the orientations as this system is constructed based on the critical dimensions and allows direct verifications of these dimensions without any concerns with intermediate references. Referring to  FIG.  3 A  and  FIG.  4 A , feature-based coordinate system  160  may use axes extending parallel to the critical dimensions, such as the Y axis being parallel to the first critical dimensions and the X axis being parallel to the second critical dimension. 
     In some embodiments, feature-based coordinate system  160  is further constructed based on expected orientation of first feature  112  and second feature  122 , in addition to one or more specified dimensions between first feature  112  and second feature  122 . For example, the expected location of first feature  112  may be selected as a center/datum of feature-based coordinate system and direction of at least one of one or more specified dimensions may be used as one axis of this feature-based coordinate system. Actual position of first feature  112  relative to second feature  122  (determined during scanning) is identified in this feature-based coordinate system. 
     In some embodiments, operation  320  is not performed. In these embodiments, feature-based coordinate system  160  may be provided as a part of a CAD model or a database corresponding to part assembly  100  containing first part  110  and second part  120 . 
     Returning to  FIG.  2   , method  300  also comprises positioning first part  110  relative to second part  120  during optional operation  330 . This positioning may be referred to as initial positioning or rough positioning. Operation  330  may be performed based on the modeled shapes of first part  110  and second part  120  and desired orientation of first part  110  and second feature  122 . Deformation of first part  110  and second part  120  and various aspects of supporting fixtures may be ignored. After completing operation  330 , first feature  112  of first part  110  and second feature  122  of second part  120  may be within field of view  222  of scanner  220  as, for example, shown in  FIG.  5   . 
     In some embodiments, positioning first part  110  relative to second part  120  during operation  330  is performed based on referencing the part-based coordinate system of first part  110  to the part-based coordinate system of second part  120 . For example, the part-based coordinate system of first part  110  may be associated with overall length, height, and width of first part  110 . The part-based coordinate system of first part  110  may be used to identify location of first feature  112  if first part  110  is not deformed relative to its nominal shape. However, at least one of first part  110  or second part  120  may be deformed relative to its nominal shape after positioning first part  110  relative to second part  120 . In some embodiments, positioning first part  110  relative to second part  120  during operation  330  may be performed using a robotic manipulator. 
     In some embodiments, operation  340  is not performed. For example, the initial position of first part  110  and second part  120  may be determined based on fixtures supporting these parts. 
     Returning to  FIG.  2   , method  300  comprises determining position of first feature  112  relative to second feature  122  during operation  340 . This positioned may be determined using, for example, scanner  220 . In some embodiments, scanner  220  simultaneously scans first feature  112  and second feature  122  during operation  340 . As noted above and as illustrated in  FIG.  5   , first feature  112  and second feature  122  may be within field of view  222  of scanner  220  during this operation. Scanner  220  may be a three 3D photogrammetry scanner, 3D scanner, laser tracker, and various combinations thereof. For example, a 3D scanner may be used to capture multiple images of the inspection area and these images may be stitched together to get representation of the entire inspection area. In some embodiments, a laser tracker may be used to measure location of particular features (e.g., pins in the fixture) and these measured locations may be combined with one or more 3D scans during operation  340 . 
     Both first feature  112  and second feature  122  are detected at the same time during this operation and their relative position can be identified directly or through other reference features (e.g., features on a supporting fixture as described above). The relative position of first feature  112  and second feature  122  may be identified using one or more coordinates (e.g., in feature-based coordinate system  160 ), one or more distances and corresponding angles relative to axes in feature-based coordinate system  160 ), and various combinations thereof. Different degrees of freedom may be used for defining the relative position, such as five degrees of freedom or six degrees of freedom. The relative position identified with five degrees of freedom may be referred to as 5-axis error measurement of first feature  112  relative to second feature  122 . In a similar manner, the relative position identified with six degrees of freedom may be referred to as 6-axis error measurement. 
     In some embodiments, determining position of first feature  112  relative to second feature  122  involves capturing one or more images of first feature  112  and second feature  122  and using a computer system to calculate one or more point clouds for these features. The point clouds are sets of data points in feature-based coordinate system  160  representing first feature  112  and second feature  122 . For example, multiple images may be stitched together or one or more point clouds may be identified for each image and then multiple point clouds may be reconciled into a single point cloud representing the relative position of first feature  112  and second feature  122 . In some embodiments, a global point cloud may be used to combine multiple different local point clouds. The computer system then determines relative feature positions using these point clouds. It should be noted that the same point cloud can be used for determining orientations of different pairs of features. A point cloud may be specific to a part or a feature. 
     Referring to  FIG.  2   , method  300  also comprises comparing position of first feature  112  relative to second feature  122  during operation  350 . This comparison may be performed in feature-based coordinate system  160  constructed previously. Furthermore, this comparison may be performed based on one or more specified dimensions between first feature  112  and second feature  122 . 
     If any one of one or more specified dimensions between first feature  112  and second feature  122  in feature-based coordinate system  160  is outside of their corresponding ranges as reflected by decision block  360 , then method  300  may proceed with adjusting position first part  110  relative to second part  120  during operation  370 . This operation is performed to bring the specified dimensions between first feature  112  and second feature  122  in feature-based coordinate system within their corresponding range. Otherwise, operation  370  may be skipped. 
     In some embodiments, method  300  also comprises determining position of additional features and using this determination for comparison and performing additional position adjustments as reflected by decision block  375 . For example, method  300  may involve determining position of third feature  114  of first part  110  relative to fourth feature  124  of second part  120  as, for example, shown in  FIGS.  3 A- 3 C  and  FIGS.  4 A- 4 B . In some embodiments, one of the new features may belong to a part not previously considered. For example, a third part may be used as a reference when determining orientation of two other parts. The third part may be a fixture supporting one or both of the parts being oriented. While the orientation of the third part relative to either one of the two parts may not be critical, using the third part as a reference may be important when sonic feature of the two other parts can be easily referenced to each other due to various constraints. 
     One having ordinary skills in the art would understand that any number of feature pairs may be used for determining the relative orientation of first part  110  and second part  120  and adjusting their positions accordingly. In general, a larger number of feature pairs may result in more precise orientation of first part  110  and second part  120  and provide less degrees of freedom in this orientation. On the other hand, increasing the number of pairs may slow down the process. Specific process requirements may determine the number of feature pairs used in the alignment process. It should be noted that additional feature pairs may be used for verification purposes and not necessarily for actual adjustment during operation  370 . Furthermore, in many cases, the orientation of first part  110  relative to second part  120  does not require to constrain all six degrees of freedom. This situation may be referred to partially constrained orientation. Additional constrains may come, for example, from fixtures supporting parts, design of parts, e.g., first part  110  contacting second part  120 . 
     Method  300  may then proceed with comparing position of third feature  114  relative to fourth feature  124  based on one or more specified dimensions between third feature  114  and fourth feature  124 . If any one of one or more specified dimensions between third feature  114  and fourth feature  124  is outside of a corresponding range, then method  300  proceeds with adjusting position first part  110  relative to second part  120  to bring any one of out-of-the-range dimensions to their corresponding ranges. In other words, third feature  114  and fourth feature  124  are treated as first features  112  and second feature  122  described above and operations  340 - 370  may be repeated for any number of feature pairs. 
     Comparing the position of third feature  114  relative to fourth feature  124  may be performed using the same feature-based coordinate system as used for comparing the position of first feature  112  relative to second feature  122 . This feature-based coordinate system may be constructed based on one or more specified dimensions between first feature  112  and second feature  122 . Alternatively, comparing position of third feature  114  relative to fourth feature  124  is performed using an additional feature-based coordinate system constructed based on one or more specified dimensions between third feature  114  and fourth feature  124 . As such, a new feature-based coordinate system may be used for each new pair of features. 
     It should be noted that multiple sets of operations  310 - 370  (as defined by decision block  375 ) may be performed simultaneously. For example, a 3D scanner may collect data corresponding to all features of interest that are currently within the field of view of the scanner at the same time. These data may be then parsed based on the identified features. 
     In some embodiments, adjusting position first part  110  relative to second part  120  is performed simultaneously based on two considerations. The first consideration involves bringing any one of one or more specified dimensions between first feature  112  and second feature  122  into the corresponding range. The second consideration is to bring any one of one or more specified dimensions between third feature  114  and fourth feature  124  into range. In other words, two comparisons, such as the position of first feature  112  relative to second feature  122  and the position of third feature  114  relative to fourth feature  124 , may be collectively used for determining how position of first part  110  needs to be adjusted. One having ordinary skills in the art would understand how this approach may be scaled to additional pairs of features. Different weights or factors may be assigned to adjustments driven by different pairs of features. 
     Alternatively, adjusting position first part  110  relative to second part  120  to bring any one of one or more specified dimensions between third feature  114  and fourth feature  124  to corresponding range is performed after adjusting position first part  110  relative to second part  120  to bring any one of one or more specified dimensions between first feature  112  and second feature  122  to corresponding range. In other words, adjustment of each pair of features is performed independently. In some embodiments, method  300  may further comprise toggling between comparisons of each pair of features and performing corresponding adjustments. Specifically, after adjusting position of first part  110  relative to second part  120  to bring any one of one or more specified dimensions between third feature  114  and fourth feature  124  to corresponding range, the following operations may be repeated: (a) determining position of first feature  112  relative to second feature  122 ; (b) comparing position of first feature  112  relative to second feature  122 ; and (c) if any one of one or more specified dimensions between first feature  112  and second feature  122  in feature-based coordinate system is outside of a corresponding range, then adjusting position first part  110  relative to second part  120  to bring the out-pf-the-range dimensions to their corresponding ranges. 
     In some embodiments, first feature  112 , second feature  122 , third feature  114 , and fourth feature  124  are within field of view of scanner  220  simultaneously. In these embodiments, comparing position of first feature  112  relative to second feature  122  may also involve comparing position of first feature  112  to fourth feature  124  and/or comparing position of third feature  114  to second feature  122 . 
     In some embodiments, method  300  also involves changing position of scanner  220  after determining position of first feature  112  relative to second feature  122  and prior to determining position of third feature  114  relative to fourth feature  124 . In other words, scanner  220  may be repositioned for scanning each pair of features, for example, to ensure the most accurate determination of each pair of feature positions. 
     In some embodiments, method  300  further comprises repeating some operations until all of one or more specified dimensions are within corresponding ranges. The repeated operations may include: (a) determining position of first feature  112  relative to second feature  122 ; (b) comparing position of first feature  112  relative to second feature  122 ; and (c) if any one of one or more specified dimensions between first feature  112  and second feature  122  in feature-based coordinate system is outside of a corresponding range, the adjusting position first part  110  relative to second part  120  to bring the out-of-the-range dimensions to their corresponding ranges. 
     In some embodiments, method  300  further comprises joining first part  110  and second part  120  as reflected by optional operation  380 . This joining may be performed after adjusting position of first part  110  feature relative to second part  120 . When operation  380  is a part of method  300 , this method may be referred to as a method of joining parts. It should be noted that the parts are joined after their respective portions containing critical features are alignment to the meet the desired criteria. Therefore, the method of aligning parts may be viewed as a subset of the method of joining parts. Operation  380  may be one of techniques selected from the group consisting of welding, soldering, crimping, bolting, and adhering. 
     While joining first part  110  and second part  120  during operation  380  some operations of method  300  may be repeated one or more times, such as operations  340 - 370  or some subset of these operations. More specifically, these operations may be repeated continuously while joining first part  110  and second part  120  during operation  380 . The operations may be repeated up until adjusting position first part  110  relative to second part  120  is not possible anymore due to first part  110  and second part  120  being finally joined. One having ordinary skill in the art would understand that many joining operations, such as gluing, soldering, clamping, welding (at least initially, e.g., tack welding), allow for some adjustment of first part  110  relative to second part  120  while the parts are being joined, such as while glue is curing, solder is cooling, clamping pressure is still low, and the like. Repeating these operations ensures that alignment between first part  110  and second part  120  is maintained and that joining operation  380  does not disturb the alignment. In some cases, joining operations may disturb the initial alignment due to mechanical, thermal, and/or other forces applied to first part  110  and second part  120 . 
     Specifically, the set of operations may include determining position of first feature  112  relative to second feature  122  during operation  340 ; comparing position of first feature  112  relative to second feature  122  during operation  350 ; and if any one of one or more specified dimensions between first feature  112  and second feature  122  in feature-based coordinate system is outside of a corresponding range (decision block  360 ), adjusting position first part  110  relative to second part  120  to bring any one of one or more specified dimensions between first feature  112  and second feature  122  in feature-based coordinate system to corresponding range (operation  370 ). 
     Examples of System for Aligning Parts 
       FIG.  5    is a schematic illustration of system  200  for aligning first part  110  relative to second part  120 , in accordance with some embodiments. System  200  includes scanner  220  for determining position of features of different parts, such as first feature  112  of first part  110  and second feature  122  of second part  120  as shown in  FIG.  5   . In some embodiments, scanner  220  is a three-dimensional (3D) photogrammetry scanner. This type of scanner  220  utilizes high resolution cameras, which may take images of different parts. In some embodiments, reference parts, such as supporting fixtures, may be utilized in the overall alignment process. Furthermore, these supporting fixtures may be parts of system  200 . 
     It should be noted that first feature  112  and second feature  122  are both within field of view  222  of scanner  220  at the same time while determining relative positions of the features as schematically shown in  FIG.  5    and described above. 
     In some embodiments, scanner  220  is supported by robotic manipulator  212 . One example of robotic manipulator  212  is a robotic arm. Robotic manipulator  212  may be used to ensure that scanner  220  is directed at first feature  112  and second feature  122  or, more specifically, that first feature  112  and second feature  122  are both within field of view  222  of scanner  220 . 
     System  200  may also include system controller  230  for performing various operations described above. For example, system controller  230  may be used for constructing a feature-based coordinate system and comparing positions of the features. Specifically, system controller  230  may receive output from scanner  220  and use this output to perform various operations, such as controlling robotic manipulators  210  and  220 . 
     System  200  may also include may also another robotic manipulator  210  for supporting one of the parts and used for adjusting position first part  110  relative to second part  120  as described above. 
     Examples of Aircraft and Methods of Fabricating and Operating Aircraft 
     Examples of the present disclosure may be described in the context of aircraft manufacturing and service method  1100  as shown in  FIG.  6    and aircraft  1102  as shown in  FIG.  7   . During pre-production, illustrative method  1100  may include specification and design (block  1104 ) of aircraft  1102  and material procurement (block  1106 ). During production, component and subassembly manufacturing (block  1108 ) and inspection system integration (block  1110 ) of aircraft  1102  may take place. Methods and systems of aligning parts may be performed during any one of these operations. 
     Thereafter, aircraft  1102  may go through certification and delivery (block  1112 ) to be placed in service (block  1114 ). While in service, aircraft  1102  may be scheduled for routine maintenance and service (block  1116 ). Routine maintenance and service may include modification, reconfiguration, refurbishment, etc. of one or more inspection systems of aircraft  1102 . 
     Each of the processes of illustrative method  1100  may be performed or carried out by inspection methods and systems described above used by integrator, a third party, and/or an operator (e.g., a customer). For the purposes of this description, an integrator may include, without limitation, any number of aircraft manufacturers and major-inspection system subcontractors; a third party may include, without limitation, any number of vendors, subcontractors, and suppliers; and an operator may be an airline, leasing company, military entity, service organization, and so on. 
     As shown in  FIG.  7   , aircraft  1102  produced by illustrative method  1100  may include airframe  1118  with a plurality of high-level inspection systems  1120  and interior  1122 . Examples of high-level inspection systems  1120  include one or more of propulsion inspection system  1124 , electrical inspection system  1126 , hydraulic inspection system  1128 , and environmental inspection system  1130 . Any number of other inspection systems may be included. Although an aerospace example is shown, the principles disclosed herein may be applied to other industries, such as the automotive industry. Accordingly, in addition to aircraft  1102 , the principles disclosed herein may apply to other vehicles, e.g., land vehicles, marine vehicles, space vehicles, etc. 
     Apparatus(es) and method(s) shown or described herein may be employed during any one or more of the stages of manufacturing and service method (illustrative method  1100 ). For example, components or subassemblies corresponding to component and subassembly manufacturing (block  1108 ) may be fabricated or manufactured in a manner similar to components or subassemblies produced while aircraft  1102  is in service (block  1114 ). Also, one or more examples of the apparatus(es), method(s), or combination thereof may be utilized during production stages (block  1108 ) and (block  1110 ), for example, by substantially expediting assembly of or reducing the cost of aircraft  1102 . Similarly, one or more examples of the apparatus or method realizations, or a combination thereof, may be utilized, for example and without limitation, while aircraft  1102  is in service (block  1114 ) and/or during maintenance and service (block  1116 ). 
     Conclusion 
     Different examples of the apparatus(es) and method(s) disclosed herein include a variety of components, features, and functionalities. It should be understood that the various examples of the apparatus(es) and method(s) disclosed herein may include any of the components, features, and functionalities of any of the other examples of the apparatus(es) and method(s) disclosed herein in any combination, and all of such possibilities are intended to be within the spirit and scope of the present disclosure. 
     Many modifications of examples set forth herein will come to mind to one skilled in the art to which the present disclosure pertains having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. 
     Therefore, it is to be understood that the present disclosure is not to be limited to the specific examples illustrated and that modifications and other examples are intended to be included within the scope of the appended claims. Moreover, although the foregoing description and the associated drawings describe examples of the present disclosure in the context of certain illustrative combinations of elements and/or functions, it should be appreciated that different combinations of elements and/or functions may be provided by alternative implementations without departing from the scope of the appended claims. Accordingly, parenthetical reference numerals in the appended claims are presented for illustrative purposes only and are not intended to limit the scope of the claimed subject matter to the specific examples provided in the present disclosure.