System and method for surface finishing

The system and method for automated sanding address the challenge of determining surface contours by using a model generator and analyzer to generate a sanding plan, effectively removing irregularities and ensuring precise surface finishing.

JP2025160880APending Publication Date: 2025-10-23THE BOEING CO
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
JP2025026052
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-07-29
Filing Date
2025-02-20
Publication Date
2025-10-23

AI Technical Summary

Technical Problem

Determining the contours of a surface to be finished in surface finishing operations, such as sanding, can be difficult, leading to over-finishing issues.

Method used

A system and method for automated sanding that includes a model generator, model analyzer, and path planner to generate a sanding plan for robotic sanders, using measurement data to determine surface contours and remove irregularities.

Benefits of technology

Enables accurate and automated surface finishing by filtering out global deformations and determining local undulations, ensuring precise sanding according to a planned path.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025160880000001_ABST
    Figure 2025160880000001_ABST
Patent Text Reader

Abstract

To provide systems and methods for surface finishing.SOLUTION: A system for automated sanding of a surface of a component includes a model generator, a model analyzer, and a path planner. The model generator is configured to generate a model representing at least a portion of a surface of a component. The model analyzer is configured to analyze the model to determine waviness of the surface. The path planner is configured to generate a sanding plan.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] Priority This application claims priority to U.S. Patent Application No. 63 / 632,096, filed April 10, 2024, the entire contents of which are incorporated herein by reference.

[0002] FIELD OF THE DISCLOSURE The present disclosure relates generally to surface finishing operations, and more particularly to systems and methods for automated sanding and sanding path planning. [Background technology]

[0003] Surface finishing, such as sanding, grinding, and polishing, can be important processes for improving the surface quality of manufactured parts. Surface finishing operations are performed manually or automated using industrial robotic automation techniques. Summary of the Invention [Problem to be solved by the invention]

[0004] Nevertheless, properly determining the contours of the surface to be finished can be difficult, which can result in over-finishing. Therefore, those skilled in the art continue to conduct research and development efforts in surface finishing operations. [Means for solving the problem]

[0005] Disclosed are examples of systems for automated sanding, methods for automated sanding, and computer program products. The following is a non-exhaustive list of examples, some claimed and some not, of subject matter according to the present disclosure.

[0006] In one example, a disclosed system includes a model generator that generates a model representing at least a portion of a surface of a component, a model analyzer that analyzes the model to determine surface contours, and a path planner that generates a sanding plan.

[0007] In one example, the disclosed method includes the steps of: (1) generating a model of the component; (2) analyzing the model to determine the surface contours of the component; and (3) generating a sanding plan for use by the robotic sander.

[0008] In one example, the disclosed computer program product includes a non-transitory computer-readable medium having program code that, when executed by one or more processors, causes the one or more processors to perform operations including: (1) generating a model of the component from measurement data; (2) analyzing the model to determine dimensions of surface irregularities on the component; and (3) generating a sanding plan to be used by a robotic sander to remove the irregularities.

[0009] Other examples of systems, methods, and computer program products will become apparent from the following detailed description, the accompanying drawings, and the appended claims. [Brief explanation of the drawings]

[0010] [Figure 1] FIG. 1 is a schematic block diagram of an example manufacturing environment. [Figure 2] FIG. 1 is a schematic block diagram of an example analysis environment. [Figure 3] FIG. 1 is a flow diagram of an example method for automated surface finishing. [Figure 4] FIG. 1 is a schematic diagram of an example of some of the components and measurement system. [Figure 5] FIG. 1 is a graph of an example model representing some of the components. [Figure 6] FIG. 1 is a graphical representation of an example of a model representing a component and a portion of a nominal model representing a component. [Figure 7] FIG. 1 is a graphical illustration of an example of a portion of a modified model representing a component and a nominal model representing a component. [Figure 8]FIG. 10 is a graphical illustration of an example of the overall deviation between a model of a component and a nominal model of the component in an XYZ coordinate system. [Figure 9] FIG. 10 is a graphical illustration of an example of the overall deviation between a model and a nominal model in the UVW coordinate system. [Figure 10] FIG. 10 is a graph of an example of shape deviation between a model and a nominal model in the UVW coordinate system. [Figure 11] FIG. 10 is a graphical illustration of an example of relief deviation between a model and a nominal model in a UVW coordinate system. [Figure 12] FIG. 10 is a graph of an example of undulation deviation between a model and a nominal model in an XYZ coordinate system. [Figure 13] FIG. 1 is a graphical representation of an example sanding plan in an XYZ coordinate system. [Figure 14] FIG. 1 is a schematic diagram of some of the components and an example of a robotic sander. [Figure 15] FIG. 1 is a block diagram of an example data processing system. [Figure 16] FIG. 1 is a flow diagram of an example of a method for manufacturing an aircraft. [Figure 17] FIG. 1 is a schematic block diagram of an example aircraft. DETAILED DESCRIPTION OF THE INVENTION

[0011] 1-15 , by way of example, the present disclosure is directed to a system 100 and method 1000 for automated surface finishing, such as sanding using an automated robotic sander. More particularly, example system 100 and method 1000 enable improved predictive assembly methodologies that remove gross deformations of a component so that the surface contours of the component can be determined and the surface can be sanded according to a planned automated sanding plan. In one or more examples, the gross deformations of the component are filtered out from three-dimensional (3D) measurement data representing the component, thereby enabling the 3D measurement data to be used to determine the dimensions of undulations (e.g., undulations) in the surface of the component.

[0012] In various examples disclosed herein, the system 100 and method 1000 utilize measurement sensors that collect measurement data representing at least a portion of the surface of a manufactured component or other structure. In various examples, the system 100 and method 1000 utilize a process engine that processes a point cloud generated using the measurement data provided by the sensor. In various examples, the process engine applies a proactive filter to the point cloud such that the measurement data is processed to generate a relief plot representing deviations based on sanding surface contour requirements. In various examples, the output relief point cloud is used to generate a sanding plan for an automated robotic sander.

[0013] This disclosure recognizes that measurement data representing a surface can be collected for a sanding operation. However, a true representation of the surface's relief cannot be determined. A series of local fits are generally required to allow a reference geometry to align the measurement data representing the relief. However, this is not possible with a Gaussian fit, as a "bump on bump" scenario can result in inaccurate results and therefore improper sanding.

[0014] The example system 100 and method 1000 disclosed herein allows for an automated robotic scan to generate measurement data that is processed to locate actual "bumps" on a surface and generate a sanding path plan that the automated robotic sander follows to remove the bumps in a reduction process.

[0015] The example system 100 and method 1000 allow measurement data to be sent to a process engine that fits the data to find robust areal waviness of the surface. The data can be fitted to a nominal model or ideal shape of the component.

[0016] The example system 100 and method 1000 allow for determining local deviations without including global contour deviations that occur when a structure is unassembled or otherwise does not have substantially the same shape as the nominal (e.g., ideal) shape of the component.

[0017] Example system 100 and method 1000 utilize data filtering, such as a robust Gaussian area regression filter, on 3D measurement data representing components to robustly filter out global or overall deformations of the structure while preserving surface relief (e.g., peaks and valleys) associated with surface finishing such as sanding.

[0018] The example system 100 and method 1000 utilizes contoured shapes to generate a sanding plan for surface finishing that removes local variations in contours from the surface of a component using an automated robotic sander.

[0019] For purposes of this disclosure, the terms "area relief" or "relief" refer to a three-dimensional characteristic that represents a measurement of gently undulating shapes of a surface and / or more widely spaced components of the surface texture, such as asperities (also referred to herein as bumps) whose spacing is greater than the roughness sampling length.

[0020] 1 illustrates an example of a manufacturing environment 172. Manufacturing environment 172 is an example of an environment in which components 106 are manufactured and / or otherwise processed, such as when sanding or other surface finishing operations are performed on at least one surface of components 106.

[0021] In one or more examples, component 106 includes at least one surface (e.g., surface 118). In other examples, component 106 includes multiple surfaces (e.g., surface 118). For purposes of this disclosure, a "surface," such as surface 118, refers to the exterior boundary of component 106. Surface 118 can be a continuous surface or a discontinuous surface formed of multiple surfaces. Surface 118 can be flat or planar. Surface 118 can be curved or corrugated.

[0022] Component 106 can take the form of any manufactured part or object. In one or more examples, component 106 is a component of another structure or assembly (e.g., structure 180). As an example, component 106 (e.g., a first component) is coupled to second component 110 to form at least a portion of structure 180. For example, one or more components of structure 180 (e.g., component 106, second component 110, etc.) can be coupled to one another via any suitable implementation of a joining process 194, such as fixing, coupling, attaching, welding, fastening, pinning, stitching, stapling, tying, adhesive, etc.

[0023] In one or more examples, the component 106 and the second component 110 are made from any suitable material or combination of materials. In one or more examples, the component 106 and the second component 110 are made from the same material. In one or more examples, the component 106 and the second component 110 are made from different materials. For example, without limitation, the component 106 and the second component 110 may be made from a metallic material, a composite material, a polymeric material, a combination thereof, etc.

[0024] In one or more examples, the component 106, and thus the surface 118 of the component 106, has a shape 146. For purposes of this disclosure, the "shape" of a component or surface refers to the geometric shape of the component or surface, the dimensions of the component or surface, and / or the morphology of the component or surface. For example, the shape 146 of the component 106 and / or surface 118 may be the three-dimensional shape of the component 106 and / or surface 118.

[0025] In one or more examples, shape 146 includes morphology 198 and undulations 184. For purposes of this disclosure, "morphology" refers to the overall or global shape of a component or surface, and "undulations" refers to local variations or fluctuations in the shape of a component or surface.

[0026] This disclosure recognizes that in some circumstances, the shape 146, and thus the surface 118, of the component 106 may change through manufacturing, shipping, surfacing, and / or assembly. Thus, the component 106, and thus the surface 118, may have a first shape 174 (e.g., the shape 146 before a particular process or operation) and a second shape 176 (e.g., the shape 146 after a particular process or operation).

[0027] In one or more examples, the component 106, and therefore the surface 118, may experience or exhibit some degree of deformation 162 in the shape 146. For purposes of this disclosure, "deformation" refers to a temporary variation in the configuration 198 of the shape 146, such as between processes or operations. In one or more examples, the deformation 162 may be represented in the first shape 174 and not in the second shape 176. In one or more examples, the deformation 162 may be represented in the first shape 174 and in the second shape 176. In one or more examples, the deformation 162 may be different in the first shape 174 and the second shape 176. In one or more examples, the deformation 162 is substantially removed from the shape 146 of the component 106 after assembly of the structure 180.

[0028] In one or more examples, component 106 often undergoes or exhibits some degree of deformation 162 (e.g., global deformation) after fabrication and / or during processing, such that surface 118 also exhibits some degree of deformation 162. For example, component 106 may be flexible such that surface 118 is also flexible. As an example, component 106 may temporarily bend, deform, bend, sag, or otherwise change shape without causing any undesirable permanent effects to component 106 or surface 118.

[0029] The temporary change in shape (e.g., deformation 162) can be due to several factors, such as the size, geometry, weight, etc., of component 106 after fabrication, boundary conditions, gravity, etc. Thus, in these examples, the shape 146 of component 106, and therefore surface 118, can change throughout the fabrication process of structure 180. As one example, component 106, and therefore surface 118, may have a first shape 174 when held for metrology (e.g., surface measurement) and a second shape 176 when held for surface finishing (e.g., sanding). As another example, component 106, and therefore surface 118, may have a first shape 174 before assembly of structure 180 and a second shape 176 after assembly of structure 180. In these examples, first shape 174 and second shape 176 are different and are the result of deformation 162.

[0030] In one or more examples, the undulations 184 of the surface 118 are formed by several bumps 116 on the surface 118. For purposes of this disclosure, a "bump" refers to an instance of a localized variation or undulation in the surface. As used herein, "several" refers to one or more.

[0031] In one or more examples, the bumps 116 (e.g., each of several bumps) have a dimension 218. Generally, the dimension of a bump 116 refers to a measurable parameter or shape of the bump 116, such as its thickness, length, width, etc. In one or more examples, the dimension represents a deviation of local variations in the surface 118 from an ideal shape 216 of the surface 118. In one or more examples, the bumps 116 have a first dimension 114 before a surface finishing operation (e.g., sanding process 210) and a second dimension 120 after the surface finishing operation.

[0032] It is often desirable to sand, polish, or otherwise finish the surfaces 118 of the components 106 prior to the bonding process 194 and assembly of the structure 180. It may also be desirable to sand, polish, or otherwise finish the surfaces 118 of the components 106 at a location different from where assembly will occur. Therefore, it may be desirable to determine and address (e.g., remove) any irregularities 184 in the surfaces 118 before the components 106 are integrated into the structure 180.

[0033] 1 and 2, as disclosed herein, the system 100 (FIG. 2) determines the dimensions 218 of the bumps 116 and other information regarding the contours 184 of the surface 118 and is used to determine a sanding plan 208 for an automated robotic sander 204 to remove the contours 184, for example, prior to the bonding process 194.

[0034] 2 illustrates an example of analysis environment 182. Analysis environment 182 is an example of an analysis environment in which system 100 is implemented to determine dimensions (e.g., 3D shape information) of bumps 116 ( FIG. 1 ) on surface 118. In one or more examples, analysis environment 182 is remote from or separate from manufacturing environment 172. However, in other examples, at least a portion of system 100 is located or implemented in manufacturing environment 172, and at least another portion of system 100 is located or implemented in analysis environment 182. In yet other examples, system 100 is implemented entirely in manufacturing environment 172.

[0035] Referring to FIG. 2 , below is an example of a system 100 according to the present disclosure. System 100 includes several elements, forms, and components. Not all of the elements, forms, and / or components described or illustrated in one example are required in that example. Some or all of the elements, forms, and / or components described or illustrated in one example may be combined in various ways with other examples without necessarily including other elements, forms, and / or components described in those other examples, although such one or more combinations are not explicitly described or illustrated by examples herein.

[0036] In one or more examples, system 100 includes or is implemented using computer 148. For example, system 100 is a computer-implemented system. In one or more examples, computer 148 executes instructions 170 to perform the operations performed by system 100. In these examples, computer 148 may include one or more computers, computing devices, or computing systems. If computer 148 includes multiple computers, the computers may communicate with each other using any number of wired, wireless, optical, or other types of communication links.

[0037] In one or more examples, the system 100 includes a model generator 102. The model generator 102 generates (e.g., is configured or adapted to generate) a model 104 of the component 106 ( FIG. 1 ). In one or more examples, the model 104 represents at least a portion of the component 106. In one or more examples, the model 104 represents at least a portion of the surface 118.

[0038] In one or more examples, the model 104 is generated before a sanding or other surface finishing operation (e.g., sanding process 210) is performed on the surface 118 of the component 106 and / or before the component 106 and the second component 110 are bonded together to assemble the structure 180.

[0039] In one or more examples, the model 104 represents at least a portion of the surface 118 having a first shape 174. In one or more examples, the first shape 174 of the component 106 is different from the second shape 176. As one example, the first shape 174 is the shape before the sanding process 210 and / or the bonding process 194. As one example, the second shape 176 is the shape after the sanding process 210. In one or more examples, the first shape 174 includes undulations 184 having bumps 116 with the first dimension 114. In one or more examples, the first shape 174 includes a variation 162 of the shape 146 of the component 106.

[0040] In one or more examples, the model generator 102 generates (e.g., is configured or adapted to generate) a second model 108 of the component 106 ( FIG. 1 ). In one or more examples, the second model 108 represents at least a portion of the component 106. In one or more examples, the second model 108 represents at least a portion of the surface 118.

[0041] In one or more examples, the second model 108 is generated after a sanding or other surface finishing operation (e.g., sanding process 210) is performed on the surface 118 of the component 106 and / or before the component 106 and the second component 110 are bonded together to assemble the structure 180.

[0042] In one or more examples, the second model 108 represents at least a portion of the surface 118 having a second shape 176. In one or more examples, the second shape 176 of the component 106 is different from the first shape 174. In one or more examples, the second shape 176 includes a contour 184 having a bump 116 with a second dimension 120. In one or more examples, the second shape 176 includes a variation 162 of the shape 146 of the component 106. In one or more examples, the second shape 176 does not include the variation 162 of the shape 146 of the component 106.

[0043] In one or more examples, the system 100 includes a model analyzer 112. The model analyzer 112 analyzes (e.g., is configured or adapted to analyze) the model 104 to determine a first dimension 114 of a bump 116 disposed on the surface 118 of the component 106 before the sanding process 210. The model analyzer 112 analyzes (e.g., is configured or adapted to analyze) the second model 108 to determine a second dimension 120 of the bump 116 disposed on the surface 118 of the component 106 after the sanding process 210. The first dimension 114 and the second dimension 120 are examples of dimension 218. In one or more examples, the second model 108 is analyzed to check the surface 118 of the component 106 to ensure that the undulations 184 are within an appropriate (e.g., desired) threshold.

[0044] In one or more examples, the system 100 includes a path planner 212. The path planner 212 generates (e.g., is configured or adapted to generate) a sanding plan 208. The sanding plan 208 is used by the controller 206 during the sanding process 210. The sanding plan 208 includes a sanding path 214 used by the robotic sander 204.

[0045] 4 shows an example portion of component 106 and an example measurement system 136. Component 106 includes surface 118. Component 106 may also include a second surface opposite surface 118. Any of the surfaces of component 106 may be sanded or otherwise finished using system 100 and / or according to method 1000. Measurement system 136 collects or generates measurement data 138 (e.g., data points) representative of surface 118.

[0046] 5 shows an example of model 104. Model 104 is generated using measurement data 138 collected or generated by measurement system 136. In one or more examples, model 104 is a point cloud or similar collection of data points in 3D space that represents the 3D shape of at least a portion of surface 118 and / or component 106.

[0047] 6 illustrates an example of a conventional analytical process for estimating dimensions 218 of bumps 116 that form undulations 184 of surface 118. In the illustrated example, a first shape 174 of surface 118, as represented by model 104, is referenced or compared to an ideal shape 216 of surface 118. In this example, model 104 represents component 106 and surface 118 in first shape 174, including, for example, deformations 162 and undulations 184 ( FIG. 1 ). In some examples, component 106 is flexible and experiences some deformations 162 (e.g., global variations in morphology 198), and surface 118 includes some undulations 184 (e.g., local variations in surface profile), which are represented by model 104.

[0048] In the above example of a conventional analysis process, the dimensions 218 (e.g., first dimension 114) of the bumps 116 forming the undulations 184 of the surface 118 are estimated or calculated by the linear distance between the surface 118 represented by the model 104 and an ideal shape 216 of the surface 118. However, it will be appreciated that the dimensions of the bumps 116 forming the undulations 184 of the surface 118 may be obscured or difficult to accurately determine due to deformations 162 in the shape 146 of the component 106 (e.g., global variations in morphology 198). Therefore, it is desirable to estimate the dimensions 218 of the undulations 184 without the deformations 162 in the shape 146 of the component 106. The system 100 advantageously facilitates removing the deformations 162 from the calculation of the dimensions 218 of the bumps 116 on the surface 118.

[0049] 7 illustrates an example of an analysis process for estimating dimensions 218 of bumps 116 forming undulations 184 of surface 118 used by system 100 and / or in accordance with method 1000 disclosed herein. In the illustrative example, deformations 162 of shape 146 of component 106 (e.g., global variations in morphology 198) are removed from the analysis process such that only undulations 184 of shape 146 of surface 118 (e.g., local variations in surface profile) are considered when determining dimensions 218 of bumps 116.

[0050] As described in more detail below, in one or more examples, model 104 is replaced by a modified model 190 that represents component 106. Modified model 190 represents component 106, such as at least a portion of surface 118. Modified model 190 represents component 106, and therefore surface 118, as manufactured, but with deformation 162 removed. In other words, modified model 190 represents component 106 and / or surface 118 that does not include deformation 162, but that includes undulations 184 in shape 146.

[0051] In one or more examples, the bumps 116 that form the undulations 184 of the surface 118 are represented by the space between the representation of the surface 118 in the modified model 190 and the ideal shape 216. Thus, the dimensions 218 of the bumps 116 are estimated or calculated by the linear distance between the surface 118 represented by the modified model 190 and the ideal shape 216.

[0052] 2 , in one or more examples, the model analyzer 112 determines (e.g., is configured or adapted to determine) an overall deviation 122 in a normal direction 150 ( FIG. 8 ) between the model 104 of the component 106 and the nominal model 124 of the component 106. In one or more examples, the model analyzer 112 performs (e.g., is configured or adapted to perform) a best fit alignment, also referred to as a best fit analysis 186, between the model 104 of the component 106 and the nominal model 124 to determine the overall deviation 122. In one or more examples, the model analyzer 112 determines (e.g., is configured or adapted to determine) an overall dimension 164 of the overall deviation 122 in the normal direction 150.

[0053] For purposes of this disclosure, nominal model 124 generally refers to or represents the ideal shape 216 of component 106 and / or surface 118. In one or more examples, nominal model 124 is or takes the form of a computer-aided design (CAD) model of component 106 that represents the nominal or design geometry of component 106, and thus surface 118. In one or more examples, nominal model 124 is or takes the form of a mathematical or geometric model based on one or more two-dimensional curvatures or three-dimensional shapes that represent one or more portions of surface 118. It will be understood that the shape 146 of component 106 represented in nominal model 124 does not include deformations 162 (global variations in topography 198) or undulations 184 (local variations in surface profile).

[0054] 8 shows an example of the overall deviation 122 in the normal direction 150 between the model 104 and the nominal model 124 of the component 106. Performing a best fit analysis 186 (FIG. 2), such as a least-squares alignment of the surfaces 118 represented in the model 104 and the nominal model 124, provides the overall deviation 122 in the normal direction 150 between the model 104 and the nominal model 124. The overall dimension 164 is represented by or calculated as a value 130 (e.g., a linear distance measurement in the normal direction 150) relative to the XYZ coordinate system 126.

[0055] 2, in one or more examples, system 100, such as computer 148 executing instructions 170, includes a user interface (UI) 202. For example, as illustrated in FIG. 8, a graphical representation of overall deviation 122 and overall dimension 164 of overall deviation 122 is one example of a graphical representation displayed to a user by UI 202.

[0056] In one or more examples, the overall deviations 122 include both large-scale (e.g., overall or global) shape differences and small-scale surface variations. The large-scale shape variations represent morphology 198 and are referred to herein as morphology deviations 132. The small-scale surface variations represent undulations 184 and are referred to herein as undulation deviations 134. As disclosed herein, example systems 100 and methods 1000 advantageously allow the dimensions 218 of the bumps 116 that form the undulations 184 of the surface 118, and therefore the sanding plan 208, to be determined based solely on the small-scale variations (undulations 184).

[0057] In one or more examples, the model analyzer 112 maps (e.g., is configured or adapted to map) the global deviation 122 from the XYZ coordinate system 126 to the UVW coordinate system 128 such that a value 130 for the global dimension 164 of the global deviation 122 is represented along the W-axis 152 of the UVW coordinate system 128. In one or more examples, the coordinate mapping 192 includes any suitable conformal mapping or charting technique.

[0058] 9 shows an example of global deviations 122 mapped from XYZ coordinate system 126 (FIG. 8) to UVW coordinate system 128. In one or more examples, data representing global deviations 122 is changed (e.g., charted or mapped) from x, y, z coordinate points to u, v, w coordinate points. A two-dimensional (2D) coordinate system is used, whereby the u, v coordinates represent locations on component 106 and the w coordinate represents deviations from a nominal (e.g., ideal) geometric shape. This operation effectively removes the designed or ideal shape from component 106, such that W-axis 152 is only a deviation from the designed or ideal geometric shape.

[0059] In one or more examples, the graphical representation of the overall deviation 122 and the overall dimension 164 of the overall deviation 122 illustrated in FIG. 9 is one example of a graphical representation displayed to the user by the UI 202.

[0060] 2 , in one or more examples, the model analyzer 112 filters (e.g., is configured or adapted to filter) values ​​130 for the overall dimension 164 of the overall deviation 122 into a topographical deviation 132 and a relief deviation 134. In one or more examples, the system 100, such as the computer 148 executing instructions 170, includes a filter 154 that performs the filtering process. In one or more examples, the model analyzer 112 filters the values ​​130 using a low-pass filter 156. In one or more examples, the model analyzer 112 filters the values ​​130 using a robust Gaussian regression filter 158. In one or more examples, the filter 154, such as the low-pass filter 156 or the robust Gaussian regression filter 158, is run on the u, v, w point cloud to filter the data into topographical deviation 198 and relief 184. Because the designed curvature has been effectively removed, a linear regression function (e.g., planar regression) is selected and used for local fitting.

[0061] 10 shows an example of the topographic deviations 132 and values ​​130 of the topographic dimensions 166 mapped to the UVW coordinate system 128 and filtered from the overall dimensions 164 of the global deviations 122. In the illustrative example, the values ​​130 of the topographic dimensions 166 of the topographic deviations 132 (FIG. 10) are approximately equal to the values ​​130 of the overall dimensions 164 of the global deviations 122 (FIG. 9). This is because the global variation of the topography 198 (topographic deviations 132) due to the deformations 162 represents a large portion of the global deviations 122 from the design geometry.

[0062] In one or more examples, the graphical representation of morphological deviation 132 and morphological dimension 166 of morphological deviation 132 illustrated in FIG. 10 is one example of a graphical representation displayed to the user by UI 202.

[0063] 11 shows an example of the undulation deviation 134 and value 130 of the undulation dimension 168 mapped to the UVW coordinate system 128 and filtered from the overall dimension 164 of the global deviation 122. In the illustrative example, the value 130 of the undulation dimension 168 of the undulation deviation 134 (FIG. 11) is an order of magnitude smaller than the value 130 of the overall dimension 164 of the global deviation 122 (FIG. 9). This is because local variations in the undulation 184 (undulation deviation 134) due to small-scale variations in the surface profile of the mating surface 118 represent a small portion of the global deviation 122 from the design geometry.

[0064] In one or more examples, the graphical representation of morphological deviation 132 and morphological dimension 166 of morphological deviation 132 illustrated in FIG. 11 is one example of a graphical representation displayed to the user by UI 202.

[0065] 2 , in one or more examples, the model analyzer 112 modifies (e.g., is configured or adapted to modify) the nominal model 124 by the undulation deviations 134. The nominal model 124 modified by the undulation deviations 134 represents the surface 118 of the component 106. The nominal model 124 modified by the undulation deviations 134 is also referred to herein as a modified model 190.

[0066] In one or more examples, the model analyzer 112 maps (e.g., is configured or adapted to map) the relief deviation 134 from the UVW coordinate system 128 to the XYZ coordinate system 126 so that a value 130 for the relief dimension 168 of the relief deviation 134 is expressed as a distance 160 relative to the nominal model 124.

[0067] 12 shows an example of relief deviation 134 mapped from UVW coordinate system 128 (FIG. 11) back to XYZ coordinate system 126. The value 130 of relief dimension 168 is expressed as a distance 160 in the normal direction 150 relative to the nominal model 124.

[0068] In one or more examples, the data representing the undulation deviations 134 is transformed (e.g., charted or mapped) from u, v, w coordinate points back to x, y, z coordinate points. The calculated undulation 184 in the w coordinate is used as a distance 160 to add to or subtract from the nominal model 124 to estimate the dimensions 218 of the bumps 116 that form the undulations 184 on the surface 118.

[0069] In one or more examples, the graphical representation of undulation deviation 134 as distance 160 and undulation dimension 168 illustrated in FIG. 12 is one example of a graphical representation displayed to the user by UI 202.

[0070] 2 , in one or more examples, the path planner 212 generates (e.g., is configured or adapted to generate) a sanding plan 208. In one or more examples, the sanding plan 208 is used to determine dimensions 218 of the bumps 116 that form the undulations 184 of the surface 118 and is generated based on the distances 160 mapped to the XYZ coordinate system 126. The sanding plan 208 is used by the robotic sander 204 to automatically perform the sanding process 210.

[0071] FIG. 13 shows an example of a sanding plan 208. In one or more examples, the sanding plan 208 is derived after initial robot locations are collected with reference to the component 106. The component 106 is scanned to determine the location of the surface 118, and the sanding plan 208 is calculated. The sanding plan 208 is sent back to the robot controller (e.g., controller 206) in the same coordinate frame as the measured surface localization scan data. Because the component 106 was positioned and scanned prior to this calculation, the local volume is known. The output of the calculation for the undulations 184 (e.g., undulation deviation 134) are x, y, z coordinates (e.g., a measured point cloud) and the i, j, k magnitudes of the undulations 184 (e.g., undulation dimensions 168) relative to a known acceptable smoothness requirement for the surface 118. Once the vectors (e.g., the i, j, k magnitudes of the undulations 184) are calculated, vector endpoints are created and a single new point cloud is prepared (e.g., the sanding plan 208 shown in FIG. 13).

[0072] In one or more examples, a start coordinate (e.g., x1, y1, z1) is identified, and vector components (e.g., x2, y2, z2) are identified. The vector components are added to the start coordinate to obtain an end coordinate: (e.g., x_end=x1+x2, y_end=y1+y2, and z_end=z1+z2.) The resulting end coordinates (e.g., x_end, y_end, z_end) represent the end points of the 3D vector. This new cloud of relief points x, y, z, along with the initial cloud of points, are provided to the controller 206, and the sanding path 214 is calculated using the end points as the "top" of the sanding.

[0073] 14 illustrates an example of a robotic sander 204 performing a sanding process 210 (FIG. 1) to remove undulations 184 from a surface 118 of a component 106. The robotic sander 204 moves along a sanding path 214 according to a sanding plan 208. In one or more examples, the system 100 includes a controller 206 (FIG. 1). The sanding plan 208 is provided to the controller 206. The controller 206 selectively controls and directs (e.g., is configured to selectively control and direct) the movement of the robotic sander 204 during the sanding process 210.

[0074] 2 and 15, in one or more examples, the model generator 102, the model analyzer 112, and / or the path planner 212 take the form of program code 918 executed by a data processing system 900 (FIG. 15).

[0075] 2 and 4, in one or more examples, system 100 includes a measurement system 136. Measurement system 136 collects or generates measurement data 138. Measurement data 138 represents at least a portion of surface 118 of component 106. Measurement data 138 is generated before component 106 undergoes sanding process 210 (FIG. 1).

[0076] In one or more examples, the measurement system 136 generates second measurement data 140. The second measurement data 140 represents at least a portion of the surface 118 of the component 106. The second measurement data 140 is generated after the component 106 undergoes a sanding process 210 (FIG. 1). The second measurement data 140 is used to validate the sanding process 210. The process described herein above and illustrated in FIG. 14 can be repeated iteratively until the surface 118 is properly finished.

[0077] In one or more examples, measurement system 136 includes or takes the form of a scanner 220 or other suitable scanning device used to scan at least a portion of component 106, such as at least a portion of surface 118, and collect or generate measurement data 138. In one or more examples, scanner 220 includes or takes the form of, for example, a laser system, an optical measurement device, or some other type of scanning or metrology system. The laser system may be, for example, a laser radar scanner. The optical measurement device may be, for example, a three-dimensional optical measurement device. In another illustrative example, measurement system 136 takes the form of a photogrammetry system.

[0078] 1 and 2 , in one or more examples, the measurement data 138 includes data points or 3D shape information regarding a shape 146, e.g., a first shape 174 of the component 106 and / or surface 118 before the sanding process 210. In one or more examples, the second measurement data 140 includes data points or 3D shape information regarding a shape 146, e.g., a second shape 176 of the component 106 and / or surface 118 after the sanding process 210.

[0079] In one or more examples, the measurement data 138 (as well as the second measurement data 140 and any subsequent measurement data) takes the form of a three-dimensional point cloud. As one example, the measurement data 138 takes the form of a three-dimensional point cloud that has sufficient density to capture the shape 146 of the component 106 and therefore the surface 118 with a desired level of accuracy.

[0080] Referring now to FIG. 3 , below is an example of a method 1000 according to the present disclosure. In one or more examples, method 1000 is implemented using system 100 ( FIG. 2 ). Method 1000 includes several elements, steps, operations, or processes. Not all of the elements, steps, operations, or processes described or illustrated in an example are required in that example. Some or all of the elements, steps, operations, or processes described or illustrated in an example can be combined in various ways with other examples without necessarily including other elements, steps, operations, or processes described in those other examples, although such one or more combinations are not explicitly described or illustrated by examples herein.

[0081] 2 and 15, in one or more examples, method 1000 is performed using computer 148 (FIG. 2). As an example, one or more operations or steps of method 1000 are performed using data processing system 900 (FIG. 15), and thus, in these examples, method 1000 is a computer-implemented method or process.

[0082] 3 illustrates an example of a method 1000. In one or more examples, the method 1000 includes measuring (e.g., scanning) 1002 the component 106. At least a portion of the component 106 is measured, such as at least a portion of the surface 118. In one or more examples, the measuring 1002 is performed using the measurement system 136 (FIG. 2).

[0083] In one or more examples, the method 1000 includes generating 1004 measurement data 138. The measurement data 138 represents at least a portion of the component 106, such as at least a portion of the surface 118. In one or more examples, the measurement data 138 is generated or collected using a measurement system 136 and is a result of the measuring step 1002.

[0084] In one or more examples, the method 1000 includes generating 1006 a model 104. The model 104 represents at least a portion of the component 106, such as at least a portion of the surface 118. In one or more examples, the model 104 is generated using the measurement data 138.

[0085] In one or more examples, the method 1000 includes analyzing 1008 the model 104. In one or more examples, the model 104 is processed and analyzed to determine dimensions 218 of the bumps 116 that form the undulations 184 of the surface 118 of the component 106. In these examples, the method 1000 includes determining 1010 the dimensions 218 of the bumps 116 that form the undulations 184 of the surface 118 of the component 106 based on the analysis performed on the model 104.

[0086] In one or more examples, the method 1000 includes generating 1012 a sanding plan 208. The sanding plan 208 includes a sanding path 214 used by the robotic sander 204 to automatically perform the sanding process 210.

[0087] In one or more examples, the method 1000 includes a step 1014 of sanding (or otherwise finishing) the surface 118 using the robotic sander 204. In these examples, the robotic sander 204 moves along the sanding path 214 according to the sanding plan 208.

[0088] In one or more examples, the method 1000, such as the analyzing step 1008, includes a step 1016 of determining (e.g., calculating) the overall deviation 122 in the normal direction 150 between the model 104 and the nominal model 124 of the component 106.

[0089] In one or more examples of the method 1000 , the determining step 1016 includes performing a best fit alignment 1018 between the model 104 of the component 106 and the nominal model 124 to determine the overall deviation 122 .

[0090] In one or more examples, the method 1000 , such as the analyzing step 1008 , includes a step 1020 of determining (eg, calculating) the overall dimension 164 of the overall deviation 122 in the normal direction 150 .

[0091] In one or more examples, the method 1000, such as the analyzing step 1008, includes a step 1022 of mapping the overall deviation 122 from the XYZ coordinate system 126 to the UVW coordinate system 128 so that a value 130 for the overall dimension 164 of the overall deviation 122 is represented along the W-axis 152.

[0092] In one or more examples, the method 1000 , such as the analyzing step 1008 , includes a step 1024 of filtering the values ​​130 for the overall dimensions 164 of the overall deviations 122 into topographic deviations 132 and undulation deviations 134 .

[0093] In one or more examples, according to method 1000, values ​​130 for overall dimensions 164 of overall deviations 122 are filtered into topographical deviations 132 and undulation deviations 134 using low-pass filters 156. In these examples, filtering step 1024 includes step 1026 of implementing (e.g., running) low-pass filters 156.

[0094] In one or more examples, according to method 1000, values ​​130 for overall dimensions 164 of overall deviations 122 are filtered into shape deviations 132 and relief deviations 134 using a robust Gaussian regression filter 158. In these examples, filtering step 1024 includes implementing (e.g., running) 1028 the robust Gaussian regression filter 158.

[0095] In one or more examples, the method 1000, such as the analyzing step 1008, includes a step 1030 of modifying the nominal model 124 by the undulation deviations 134 so that the nominal model 124 modified by the undulation deviations 134 represents the surface 118 of the component 106.

[0096] In one or more examples, according to the method 1000, the correcting step 1030 includes a step 1032 of mapping the relief deviation 134 from the UVW coordinate system 128 to the XYZ coordinate system 126 so that the value 130 for the relief dimension 168 of the relief deviation 134 is expressed as a distance 160 relative to the nominal model 124.

[0097] In one or more examples, according to the method 1000, the modifying step 1030 includes a step 1034 of adding the distance 160 to the nominal model 124 so that the modified model 190 represents the component 106, thereby providing the dimensions 218 of the bumps 116 that form the undulations 184 of the surface 118.

[0098] 15, by way of example, the present disclosure is also directed to a computer program product 922. The computer program product 922 includes a non-transitory computer-readable medium 920 that includes program code 918 that, when executed by one or more processors 904, causes the one or more processors 904 to perform operations.

[0099] In one or more examples, the operations represent one or more of the steps of the method 1000 disclosed herein above and illustrated in FIG. 3 . In one or more examples, the operations include generating a model 104 of the component 106 from the measurement data 138. In one or more examples, the operations include filtering out the deformations 162 to determine the undulations 184. In one or more examples, the operations include analyzing the model 104 to determine dimensions 218 of the bumps 116 that form the undulations 184 of the surface 118 of the component 106. In one or more examples, the operations include determining a global deviation 122 in a normal direction 150 between the model 104 of the component 106 and the nominal model 124. In one or more examples, the operations include performing a best-fit alignment between the model 104 of the component 106 and the nominal model 124 to determine the global deviation 122. In one or more examples, the operations include determining a global dimension 164 of the global deviation 122 in the normal direction 150. In one or more examples, the operations include mapping the global deviation 122 from the XYZ coordinate system 126 to the UVW coordinate system 128 such that a value 130 for the global dimension 164 of the global deviation 122 is represented along the W-axis 152. In one or more examples, the operations include filtering the value 130 for the global dimension 164 of the global deviation 122 into a topographical deviation 132 and a relief deviation 134. In one or more examples, the filtering is performed using a low-pass filter 156. In one or more examples, the filtering is performed using a robust Gaussian regression filter 158. In one or more examples, the operations include modifying the nominal model 124 by the relief deviation 134 such that the nominal model 124 modified by the relief deviation 134 represents the surface 118 of the component 106. In one or more examples, the operations include mapping the undulation deviation 134 from the UVW coordinate system 128 to the XYZ coordinate system 126 such that a value 130 for a undulation dimension 168 of the undulation deviation 134 is expressed as a distance 160 relative to the nominal model 124. In one or more examples, the operations include generating a sanding plan 208 to be used by the robotic sander 204 to remove the bump 116 from the surface 118.The sanding plan 208 is generated based on the undulation dimensions 168 of the undulation deviations 134 as represented by the distances 160 relative to the normals and coordinate locations of the XYZ coordinate system 126 .

[0100] 2, in one or more examples, system 100 may be implemented using software, hardware, firmware, or a combination thereof. When software is used, the operations performed by system 100 may be implemented using, for example, but not limited to, program code configured to execute on a processor unit. When firmware is used, the operations performed by system 100 may be implemented using, for example, but not limited to, program code and data stored in persistent memory for execution on a processor unit.

[0101] When hardware is used, the hardware may include one or more circuits that operate to perform the operations performed by system 100. Depending on the implementation, the hardware may take the form of a circuit system, an integrated circuit, an application specific integrated circuit (ASIC), a programmable logic device, or some other suitable type of hardware device configured to perform any number of operations.

[0102] A programmable logic device can be configured to perform specific operations. The device may be permanently configured to perform these operations or may be reconfigurable. A programmable logic device may take the form of, for example, but not limited to, a programmable logic array, programmable array logic, a field programmable logic array, a field programmable gate array, or some other type of programmable hardware device.

[0103] In some illustrative examples, the operations and processes performed by system 100 may be performed using organic components integrated with inorganic components. In some cases, the operations and processes may be performed entirely by organic components, excluding humans. For example, circuits in organic semiconductors may be used to perform these operations and processes.

[0104] 15, in one or more examples, computer 148 (FIG. 2) includes or takes the form of a data processing system 900. In one or more examples, data processing system 900 includes a communications framework 902 that provides communications between at least one processor 904, one or more storage devices 916, such as memory 906 and / or persistent storage 908, a communications unit 910, an input / output unit 912 (I / O unit), and a display 914. In this example, communications framework 902 takes the form of a bus system.

[0105] Processor 904 is responsible for executing instructions 170 (FIG. 2) for software that may be loaded into memory 906. In one or more examples, processor 904 may be a number of processor units, a multi-processor core, or some other type of processor, depending on the particular implementation.

[0106] Memory 906 and persistent storage 908 are examples of storage devices 916. A storage device is any hardware capable of storing information, such as, but not limited to, data, functional program code, or other suitable information, on a temporary, permanent, or both temporary and permanent basis. Storage devices 916 may also be referred to as computer-readable storage devices, in one or more examples. Memory 906 may be, for example, a random access memory or any other suitable volatile or non-volatile storage device. Persistent storage 908 may take various forms, depending on the particular implementation.

[0107] For example, persistent storage 908 may comprise one or more components or devices. For example, persistent storage 908 may be a hard drive, a solid-state hard drive, a flash memory, a rewritable optical disk, a rewritable magnetic tape, or some combination of the above. The media used by persistent storage 908 may also be removable. For example, a removable hard drive may be used for persistent storage 908.

[0108] The communications unit 910 provides for communication with other systems or devices, such as the measurement system 136 or other computer systems. In one or more examples, the communications unit 910 is a network interface card.

[0109] The input / output unit 912 allows for the input and output of data with other devices that may be connected to the data processing system 900. By way of example, the input / output unit 912 provides a connection for user input through at least one of a keyboard, a mouse, and any other suitable input device. Additionally, the input / output unit 912 may send output to a printer. The display 914 provides a mechanism for displaying information to a user. For example, the user interface 202 may be displayed to the user by the display 914.

[0110] Instructions for at least one of the operating system, applications, and programs (e.g., instructions 170) may be located in storage devices 916, which are in communication with processor 904 through communications framework 902. The processes of the various examples and operations described herein may be performed by processor 904 using computer-implemented instructions, which may be located in a memory, such as memory 906.

[0111] The instructions 170 are referred to as program code, computer usable program code, or computer readable program code that may be read and executed by a processor of processor 904. The program code in different examples may be embodied on different physical or computer readable storage media, such as memory 906 or persistent storage 908.

[0112] In one or more examples, program code 918 is located in a functional form on computer readable medium 920, which is selectively removable and can be loaded onto or transferred to data processing system 900 for execution by processor 904. In one or more examples, program code 918 and computer readable medium 920 form computer program product 922. In one or more examples, computer readable medium 920 is computer readable storage medium 924.

[0113] In one or more examples, computer readable storage media 924 is a physical or tangible storage device used to store program code 918 rather than a medium that propagates or transmits program code 918 .

[0114] Alternatively, program code 918 may be transferred to data processing system 900 using a computer-readable signal medium. The computer-readable signal medium may be, for example, a propagated data signal containing program code 918. For example, the computer-readable signal medium may be an electromagnetic signal, an optical signal, or any other suitable type of signal. These signals may be transmitted over at least one of communications links, such as wireless communications links, fiber optic cable, coaxial cable, a wire, and any other suitable type of communications link.

[0115] The different components illustrated for data processing system 900 are not meant to provide architectural limitations to the manner in which different examples may be implemented. The different examples may be implemented in a data processing system including components in addition to or instead of the components illustrated for data processing system 900. Other components illustrated in Figure 21 may vary from the depicted example. The different examples may be implemented using any hardware device or system capable of running program code 918.

[0116] Additionally, various components of computer 148 and / or data processing system 900 may be described as modules. For purposes of this disclosure, the term “module” includes hardware, software, or a combination of hardware and software. As one example, a module may include one or more circuits configured to perform or execute the described functions or operations of a process performed herein (e.g., method 1000). As another example, a module may include a processor, a storage device (e.g., memory), and a computer-readable storage medium having instructions that, when executed by the processor, cause the processor to perform or execute the described functions and operations. In one or more examples, a module takes the form of program code 918 and computer-readable medium 920, together forming computer program product 922. In one or more examples, model generator 102 and model analyzer 112 are implemented as modules.

[0117] 16 and 17, example systems 100, methods 1000, and / or computer program products 922 described herein may be associated with or used in association with an aerospace manufacturing and service method 1100 as shown in the flow diagram of Figure 16, and an aircraft 1200 as shown generally in Figure 17. By way of example, aircraft 1200 and / or manufacturing and service method 1100 may include or utilize structures such as fuselages, wings, etc., fabricated using system 100 and / or using components having at least one surface sanded or otherwise finished according to method 1000.

[0118] Referring to FIG. 17 , an example of an aircraft 1200 is shown. The aircraft 1200 may be any aerospace vehicle or platform. In one or more examples, the aircraft 1200 includes an airframe 1202 having an interior 1206. The aircraft 1200 includes multiple on-board systems 1204 (e.g., high-level systems). Examples of the on-board systems 1204 of the aircraft 1200 include a propulsion system 1208, a hydraulic system 1212, an electrical system 1210, and an environmental system 1214. In other examples, the on-board systems 1204 also include one or more control systems coupled to the airframe 1202 of the aircraft 1200. In still other examples, the on-board systems 1204 also include one or more other systems, such as, but not limited to, a communications system, an avionics system, a software distribution system, a network communications system, a passenger information / entertainment system, a guidance system, a radar system, a weapons system, etc. Aircraft 1200 may have any number of components (e.g., component 106) having surfaces (e.g., surface 118) that have been sanded or otherwise finished using system 100 and / or according to method 1000.

[0119] 16 , during pre-production of the aircraft 1200, manufacturing and service method 1100 includes specification and design 1102 of the aircraft 1200 and material procurement 1104. During production of the aircraft 1200, component and subassembly manufacturing 1106 and system integration 1108 of the aircraft 1200 occurs. The aircraft 1200 then undergoes certification and delivery 1110 and enters service 1112. Routine maintenance and service 1114 includes modifying, reconfiguring, refurbishing, etc., one or more systems of the aircraft 1200.

[0120] 16 may be performed or carried out by a system integrator, a third party, and / or an operator (e.g., a customer). For purposes of this description, a system integrator may include, but is not limited to, any number of aircraft manufacturers and major system subcontractors, a third party may include, but is not limited to, any number of vendors, subcontractors, and suppliers, and an operator may be an airline, a leasing company, a military agency, a flight service organization, etc.

[0121] The example system 100, method 1000, and computer program product 922 shown and described herein may be employed during any one or more stages of the manufacturing and service method 1100 illustrated in the flow diagram shown by FIG. 16 . In one example, system 100 may be used and / or method 1000 may be used to sand component surfaces during component and subassembly manufacturing and / or part of system integration. Additionally, system 100 may be used and / or method 1000 may be used to sand component surfaces while aircraft 1200 is in service. Also, system 100 may be used and / or method 1000 may be used to sand component surfaces during system integration, certification, and delivery. Similarly, system 100 may be used and / or method 1000 may be used to sand component surfaces while aircraft 1200 is in service and during maintenance and service.

[0122] The foregoing detailed description refers to the accompanying drawings, which illustrate specific examples described by the present disclosure. Other examples having different structures and operations do not depart from the scope of the present disclosure. Like reference numerals may refer to the same features, elements, or components in different drawings. Throughout this disclosure, any of a plurality of items may be referred to individually, or multiple items may be referred to collectively and with like reference numerals. Furthermore, as used herein, the term "a" or "an" preceding a feature, element, component, or step should be understood not to exclude a plurality of features, elements, components, or steps, unless such exclusion is expressly stated.

[0123] Illustrative, non-exhaustive examples of the subject matter according to the present disclosure are provided above, although not necessarily claimed. Reference herein to an "example" means that one or more features, structures, elements, components, properties, and / or operational steps described in connection with the example are included in at least one aspect, embodiment, and / or implementation of the subject matter according to the present disclosure. Thus, throughout this disclosure, the phrases "one example," "another example," "one or more examples," and similar phrases can, but do not necessarily, refer to the same example. Furthermore, subject matter characterizing any one example can, but does not necessarily, include subject matter characterizing any other example. Also, subject matter characterizing any one example can, but does not necessarily, be combined with subject matter characterizing any other example.

[0124] As used herein, a system, apparatus, device, structure, article, element, component, or hardware that is "configured to" perform a specified function is actually capable of performing the specified function without modification, rather than merely having the potential to perform the specified function after further modification. In other words, a system, apparatus, device, structure, article, element, component, or hardware that is "configured to" perform a specified function is specifically selected, created, implemented, utilized, programmed, and / or designed for the purpose of performing the specified function. As used herein, "configured to" refers to an existing characteristic of a system, apparatus, structure, article, element, component, or hardware that enables the system, apparatus, structure, article, element, component, or hardware to perform the specified function without further modification. For purposes of this disclosure, a system, apparatus, device, structure, article, element, component, or hardware described as "configured to" perform a particular function may additionally or alternatively be described as "adapted to" and / or "operate to" perform that function.

[0125] Unless otherwise specified, terms such as "first," "second," "third," etc. are used herein merely as labels and are not intended to impose any order, arrangement, or hierarchy on the items to which they refer. Further, a reference to, for example, a "second" item does not require or exclude the presence of, for example, a "first" or lower-numbered item, and / or, for example, a "third" or higher-numbered item.

[0126] As used herein, the phrase "at least one of," when used in conjunction with a list of items, means that various combinations of one or more of the listed items may be used, and that only one of each item in the list may be required. For example, "at least one of item A, item B, and item C" may include, but is not limited to, item A, or item A and item B. This example may also include item A, item B, and item C, or item B and item C. In other examples, "at least one of" may be, for example, but is not limited to, two of item A, one of item B, and ten of item C, or four of item B and seven of item C, or any other suitable combination. As used herein, the term "and / or" and the " / " symbol include any and all combinations of one or more of the associated listed items.

[0127] For purposes of this disclosure, the terms "coupled," "couple," and similar terms refer to two or more elements that are joined, coupled, fastened, attached, connected, placed in communication, or otherwise associated with one another (e.g., mechanically, electrically, fluidly, optically, electromagnetically). In various examples, the elements may be directly or indirectly associated. As an example, element A may be directly associated with element B. As another example, element A may be indirectly associated with element B, e.g., through another element C. It will be understood that not all relationships between the various disclosed elements are necessarily represented. Thus, other couplings than those shown may exist.

[0128] As used herein, the term "approximately" refers to or describes conditions that are close to, but not exactly, the described conditions that still perform a desired function or achieve a desired result. As an example, the term "approximately" refers to conditions that are within an acceptable predetermined tolerance or precision, such as conditions within 10% of the described conditions. However, the term "approximately" does not exclude conditions that are exactly the described conditions. As used herein, the term "substantially" refers to conditions that are essentially the described conditions that perform a desired function or achieve a desired result.

[0129] The above-referenced Figures 1, 2, 4, 5, and 17 may depict functional elements, features, or components thereof, but do not necessarily imply a specific structure. Accordingly, modifications, additions, and / or omissions may be made to the illustrated structures. Additionally, those skilled in the art will understand that not all elements, features, and / or components described and illustrated in the above-referenced Figures 1, 2, 4, 5, and 17 need be included in every example, and not all elements, features, and / or components described herein are necessarily illustrated in each illustrative example. Accordingly, some of the elements, features, and / or components described and illustrated in Figures 1, 2, 4, 5, and 17 may be combined in various ways without necessarily including other features described and illustrated in Figures 1, 2, 4, 5, and 17, other drawings, and / or the accompanying disclosure, even if such combination(s) is not explicitly set forth herein. Similarly, additional features, not limited to the examples provided, may be combined with some or all of the features shown and described herein. Unless otherwise specified, the schematic diagrams of the examples illustrated in Figures 1, 2, 4, 5, and 17 referenced above do not imply architectural limitations with respect to the illustrative examples. Rather, one exemplary structure is shown, but it should be understood that the structure may be modified where appropriate. Accordingly, modifications, additions, and / or omissions may be made to the illustrated structure. Furthermore, elements, features, and / or components that serve similar, or at least substantially similar, purposes are labeled with similar numbers in each of Figures 1, 2, 4-5, and 17, and such elements, features, and / or components may not be described in detail herein with reference to each of Figures 1, 2, 4, 5, and 17. Similarly, not all elements, features, and / or components are labeled in each of Figures 1, 2, 4, 5, and 17, and the associated reference numbers may be utilized herein for consistency.

[0130] In the above-referenced Figures 3 and 16, blocks may represent operations, steps, and / or portions thereof, and lines connecting various blocks do not imply a particular order or dependency of the operations or portions thereof. It will be understood that not all dependencies between various disclosed operations are necessarily represented. Figures 3 and 16 and the accompanying disclosure describing the operations of the disclosed methods described herein should not be construed as necessarily dictating the sequence in which operations are performed. Rather, while one exemplary order is shown, it should be understood that the sequence of operations may be modified where appropriate. Accordingly, modifications, additions, and / or omissions may be made to the illustrated operations, and certain operations may be performed in a different order or simultaneously. Additionally, those skilled in the art will understand that not all of the operations described necessarily need to be performed.

[0131] Furthermore, throughout this specification, references to features, advantages, or similar language as used herein do not imply that all features and advantages that may be realized in the examples disclosed herein are to be or are present in any single example. Rather, language referring to features and advantages is understood to mean that the particular feature, advantage, or characteristic described in connection with the example is included in at least one example. Thus, descriptions of features, advantages, and similar language as used throughout this disclosure may, but do not necessarily, refer to the same example.

[0132] The described features, advantages, and characteristics of one example may be combined in any suitable manner in one or more other examples. Those skilled in the art will recognize that the examples described herein may be practiced without one or more of the specific features or advantages of a particular example. In other examples, additional features and advantages may be recognized in a particular example that may not be present in all examples. Furthermore, while various examples of system 100 and method 1000 have been shown and described, modifications may occur to those skilled in the art upon reading this specification. The present application includes such modifications and is limited only by the scope of the claims. [Explanation of symbols]

[0133] 100 system, 102 model generator, 104 model, 106 component, 108 second model, 110 second component, 112 model analyzer, 114 first dimension, 116 bump, 118 surface, 120 second dimension, 122 global deviation, 124 nominal model, 126 XYZ coordinate system, 128 UVW coordinate system, 130 value, 132 shape deviation, 134 relief deviation, 136 measurement system, 138 measurement data, 140 second measurement data, 146 shape, 148 computer, 150 normal direction, 152 W-axis, 154 filter, 156 low-pass filter, 158 robust Gaussian regression filter, 160 distance, 162 deformation, 164 global dimension, 166 shape dimension, 168 relief dimension, 170 instruction, 172 Manufacturing environment, 174 First shape, 176 Second shape, 180 Structure, 182 Analysis environment, 184 Relief, 186 Best fit analysis, 190 Modified model, 192 Coordinate mapping, 194 Joining process, 198 Configuration, 202 User interface (UI), 204 Robotic sander, 206 Controller, 208 Sanding plan, 210 Sanding process, 212 Path planner, 214 Sanding path, 216 Ideal shape, 218 Dimensions, 220 Scanner, 900 Data processing system, 902 Communication framework, 904 Processor, 906 Memory, 908 Persistent storage, 910 Communication unit, 912 Input / output unit, 914 Display, 916 Storage device, 918 Program code, 920 Non-transitory computer readable medium, 922 Computer program product, 924 Computer readable storage medium, 1000, method, 1100, manufacturing and maintenance method, 1102, specification and design, 1104, material procurement, 1106, component and subassembly manufacturing, 1108, system integration, 1110, certification and delivery, 1112, in-service, 1114, periodic maintenance and inspection, 1200, aircraft, 1202, airframe, 1204, on-board systems, 1206, interior, 1208, propulsion system, 1210, electrical system, 1212, hydraulic system, 1214, environmental system

Claims

1. a model generator (102) for generating a model (104) representing at least a portion of a surface (118) of a component (106); a model analyzer (112) for analyzing the model (104) to determine the undulations (184) of the surface (118); a path planner (212) that generates a sanding plan (208); A system comprising:

2. a measurement system (136) that generates measurement data (138) representative of at least the portion of the surface (118) of the component (106); The system of claim 1 , wherein the measurement data is used to generate the model.

3. The system of claim 1 , further comprising a robotic sander (204) that sands the surface (118) according to the sanding schedule (208).

4. The model analyzer (112) determining a total deviation (122) in a normal direction (150) between the model (104) and a nominal model (124) of the component (106); determining an overall dimension (164) of the overall deviation (122) in the normal direction (150); The system of claim 1 further configured to:

5. 5. The system of claim 4, wherein the model analyzer is further configured to perform a best fit alignment between the model and the nominal model of the component to determine the overall deviation.

6. The model analyzer (112) mapping said global deviation (122) from an XYZ coordinate system (126) to a UVW coordinate system (128), whereby a value (130) for a global dimension (164) of said global deviation (122) is expressed along a W-axis (152); filtering the values ​​(130) for the overall dimensions (164) of the overall deviations (122) into shape deviations (132) and undulation deviations (134); The system of claim 4 further configured to:

7. The system of claim 6, wherein the model analyzer (112) filters the values ​​(130) using one of a low pass filter (156) and a robust Gaussian regression filter (158).

8. 7. The system of claim 6, wherein the model analyzer is configured to modify the nominal model by the undulation deviations, such that the nominal model modified by the undulation deviations represents the undulations of the surface of the component.

9. 9. The system of claim 8, wherein the model analyzer is further configured to map the undulation deviation from the UVW coordinate system to the XYZ coordinate system, whereby a value for a undulation dimension of the undulation deviation is expressed as a distance relative to the nominal model.

10. 2. The system of claim 1, wherein the model generator, the model analyzer, and the path planner are in the form of program code executed by a data processing system.

11. A method for sanding the surface (118) using the system (100) of claim 1.

12. A method (1000) for sanding a surface (118) of a component (104), comprising: generating a model (104) of the component (106); analyzing the model (104) to determine the undulations (184) of the surface (118); generating a sanding plan (208) for use by the robotic sander (204); A method comprising:

13. The method of claim 12, wherein the model is analyzed to determine dimensions of bumps on the surface of the component.

14. performing a best fit alignment between said model (104) and a nominal model (124); determining a total deviation (122) in a normal direction (150) between the model (104) and the nominal model (124) of the component (106); determining an overall dimension (164) of said overall deviation (122) in said normal direction (150); The method of claim 12 further comprising:

15. mapping the global deviation (122) from an XYZ coordinate system (126) to a UVW coordinate system (128) whereby a value (130) for the global dimension (164) of the global deviation (122) is expressed along a W-axis (152); filtering the values ​​(130) for the overall dimensions (164) of the overall deviations (122) into topographical deviations (132) and undulation deviations (134); modifying the nominal model (124) by the undulation deviation (134), whereby the nominal model (124) modified by the undulation deviation (134) represents the undulation (184) of the surface (118) of the component (106); mapping the undulation deviation (134) from the UVW coordinate system (128) to the XYZ coordinate system (126), whereby a value (130) for a undulation dimension (168) of the undulation deviation (134) is expressed as a distance (160) relative to the nominal model (124); 15. The method of claim 14, further comprising:

16. The method of claim 15, wherein the sanding plan (208) is generated based on the undulation deviations (134) mapped to the XYZ coordinate system (126).

17. The method of claim 12, wherein the method (1000) is implemented using a computer (148).

18. A component comprising a surface (118) sanded according to the method (1000) of claim 12.

19. When executed by one or more processors (904), the one or more processors (904) generating a model (104) of the component (106) from the measurement data (138); analyzing the model (104) to determine dimensions (218) of the undulations (184) of the surface (118) of the component (106); generating a sanding plan (208) to be used by a robotic sander (204) to remove the irregularities (184); A non-transitory computer readable medium comprising program code (918) for causing the system to perform operations including:

20. The operation is performing a best fit alignment between the model (104) of the component (106) and a nominal model (124); determining the overall deviation (122) in the normal direction (150) between the model (104) and the nominal model (124); determining an overall dimension (164) of said overall deviation (122) in said normal direction (150); mapping the global deviation (122) from an XYZ coordinate system (126) to a UVW coordinate system (128) whereby a value (130) for the global dimension (164) of the global deviation (122) is expressed along a W-axis (152); filtering the values ​​(130) for the overall dimensions (164) of the overall deviations (122) into topographical deviations (132) and undulation deviations (134); modifying the nominal model (124) by the undulation deviation (134), whereby the nominal model (124) modified by the undulation deviation (134) represents the undulation (184) of the surface (118) of the component (106); mapping the undulation deviation (134) from the UVW coordinate system (128) to the XYZ coordinate system (126), whereby a value (130) for a undulation dimension (168) of the undulation deviation (134) is expressed as a distance (160) relative to the nominal model (124); mapping the undulation deviation (134) to a sanding path (214) of the robotic sander (204) in the XYZ coordinate system (126); 20. The non-transitory computer-readable medium of claim 19, further comprising:

Citation Information

Cited By

  • Method for collecting sample from canister

    KR1020250014147A