System and method for surface finishing
By generating a 3D model and using a robust Gaussian region regression filter to filter out global deformation, the dimensions of local ripples are determined, and an automatic grinding path plan is generated. This solves the problem of accurately removing surface ripples of parts in existing technologies, and improves the efficiency and quality of surface finishing.
Patent Information
- Application Number
- CN202510311693.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-07-29
- Filing Date
- 2025-03-17
- Publication Date
- 2025-10-17
AI Technical Summary
Existing technologies struggle to accurately identify and remove ripples on component surfaces, leading to over-finishing, especially during automated polishing where localized protrusions are difficult to remove effectively, affecting surface quality.
By generating a 3D model of the component, a robust Gaussian region regression filter is used to filter out global deformation, determine the dimension of local ripples, generate an automatic grinding path plan, and use a robotic grinder to remove the ripples.
It enables accurate identification and removal of surface ripples on components, improving the efficiency and quality of surface finishing and avoiding over-finishing.
Smart Images

Figure CN120807761A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates generally to surface finishing operations, and more particularly to systems and methods for automatic sanding and sanding path planning. BACKGROUND
[0002] Surface finishing (e.g., sanding, grinding, and polishing) can be an important process to improve the surface quality of manufactured parts. Surface finishing operations are performed manually or automatically using industrial robotics. Regardless, it is challenging to correctly determine the waviness of a surface to be finished, which can result in over-finishing. Accordingly, those skilled in the art continue with investigations and efforts to improve surface finishing operations. SUMMARY
[0003] Examples of systems for automatic sanding, methods for automatic sanding, and computer program products are disclosed. The following is a non-exhaustive list of examples that can or can not require protection in accordance with the subject matter of the present disclosure.
[0004] In an example, the disclosed system includes a model generator configured to generate a model representing at least a portion of a surface of a part. The system includes a model analyzer configured to analyze the model to determine waviness of the surface. The system includes a path planner configured to generate a sanding plan.
[0005] In an example, the disclosed method includes the steps of: (1) generating a model of a part; (2) analyzing the model to determine waviness of a surface of the part; and (3) generating a sanding plan for use by a robotic sander.
[0006] In an example, the disclosed computer program product includes a non-transitory computer readable medium having program code recorded thereon, the program code, when executed by one or more processors, causes the one or more processors to perform the operations of: (1) generating a model of a part from measurement data; (2) analyzing the model to determine a waviness dimension of a surface of the part; and (3) generating a sanding plan for use by a robotic sander to remove the waviness.
[0007] Other examples of systems, methods, and computer program products will become apparent from the following detailed description, the drawings, and the appended claims. BRIEF DESCRIPTION OF DRAWINGS
[0008] Figure 1 is a schematic block diagram of an example of a manufacturing environment;
[0009] Figure 2 is a schematic block diagram of an example of an analysis environment; is a schematic block diagram of an example of a manufacturing environment;
[0010] Figure 3 is a flowchart of an example of a method for automated surface finishing;
[0011] Figure 4 is a schematic diagram of an example of a portion of a part and a measurement system;
[0012] Figure 5 is a graphical illustration of an example of a model representing a portion of a part;
[0013] Figure 6 is a graphical illustration of an example of a portion of a model representing a part and a nominal model representing the part;
[0014] Figure 7 is a graphical illustration of an example of a modified model representing a part and a portion of a nominal model representing the part;
[0015] Figure 8 is a graphical illustration of an example of an overall deviation between a model of a part and a nominal model of the part in an XYZ coordinate system;
[0016] Figure 9 is a graphical illustration of an example of an overall deviation between a model and a nominal model in a UVW coordinate system;
[0017] Figure 10 is a graphical illustration of an example of a profile deviation between a model and a nominal model in a UVW coordinate system;
[0018] Figure 11 is a graphical illustration of an example of a waviness deviation between a model and a nominal model in a UVW coordinate system;
[0019] Figure 12 is a graphical illustration of an example of a waviness deviation between a model and a nominal model in an XYZ coordinate system;
[0020] Figure 13 is a graphical illustration of an example of a polishing plan in an XYZ coordinate system;
[0021] Figure 14 is a schematic diagram of an example of a portion of a part and a robotic polisher;
[0022] Figure 15 is a block diagram of an example of a data processing system;
[0023] Figure 16 is a flowchart of an example of an aircraft manufacturing method; and
[0024] Figure 17 is a schematic block diagram of an example of an aircraft. DETAILED DESCRIPTION
[0025] Reference is made in the overall context Figures 1 to 15 The present disclosure relates to, by way of example, systems 100 and methods 1000 for automatic surfacing, such as polishing using an automated robotic polisher. More specifically, examples of the systems 100 and methods 1000 enable improved predictive assembly methods by which overall distortions of a part are removed so that surface waviness of the part can be determined and the surface can be polished according to a planned automated polishing plan. In one or more examples, overall distortions of a part are filtered out from three-dimensional (3D) measurement data representing the part, thereby enabling the 3D measurement data to be used to determine dimensions of gradual shape undulations (e.g., waviness) of the part surface.
[0026] In various examples disclosed herein, the systems 100 and methods 1000 utilize a measurement sensor that collects measurement data representing at least a portion of a surface of a manufactured part or other structure. In various examples, the systems 100 and methods 1000 utilize a processing engine that processes a point cloud generated using the measurement data provided by the sensor. In various examples, the processing engine applies a proactive filter to the point cloud so that the measurement data is processed to generate a waviness map representing deviations based on polishing surface contour requirements. In various examples, the output waviness point cloud is used to generate a polishing plan for an automated robotic polisher.
[0027] The present disclosure recognizes that measurement data representing a surface can be collected for a polishing operation. However, a true representation of the waviness of the surface cannot be determined. A series of local fits are typically needed to allow the measurement data representing the waviness to be positioned with reference to a geometry. However, this is not possible for a Gaussian fit because the “bump on a bump” situation can result in inaccurate results and, thus, inadequate polishing.
[0028] Examples of the systems 100 and methods 1000 disclosed herein enable an automated robotic scan to generate measurement data. The measurement data is processed to find the actual “bumps” on the surface and a polishing path plan is generated for an automated robotic polisher to follow to remove the bumps in a restoration process.
[0029] Examples of the systems 100 and methods 1000 enable measurement data to be sent to a processing engine that fits the data to find the robust area waviness of the surface. The data can be fit to a nominal model or ideal shape of the part.
[0030] Examples of the systems 100 and methods 1000 enable local deviations to be determined without including global contour deviations that occur when a structure is not assembled or otherwise does not have a shape that is substantially the same as a nominal (e.g., ideal) shape of the part.
[0031] Examples of the system 100 and the method 1000 utilize data filtering, such as a robust Gaussian regional regression filter, on 3D measurement data representing a part to robustly filter out global or overall deformations of the structure while preserving waviness (e.g., peaks and valleys) of the surface related to surfacing, such as sanding.
[0032] Examples of the system 100 and the method 1000 utilize shapes representing waviness to produce a sanding plan for surfacing. The sanding plan removes local variations of the waviness from the surface of the part by using an automated robotic sander.
[0033] For purposes of the present disclosure, the term “regional waviness” or “waviness” refers to a three-dimensional property that describes a gradual undulating shape of a surface and / or a measurement of more widely spaced components of surface texture, such as irregularities (also referred to herein as protrusions) that are spaced greater than a roughness sampling length.
[0034] Figure 1 An example of a manufacturing environment 172 is shown. The manufacturing environment 172 is an example of an environment in which a part 106 is manufactured and / or otherwise processed, such as an environment in which sanding or other surfacing operations are performed on at least one surface of the part 106.
[0035] In one or more examples, the part 106 includes at least one surface (e.g., the surface 118). In other examples, the part 106 includes a plurality of surfaces (e.g., the surface 118). For purposes of the present disclosure, a “surface,” such as the surface 118, refers to an external boundary of the part 106. The surface 118 can be a continuous surface or a discontinuous surface formed of a plurality of surfaces. The surface 118 can be flat or planar. The surface 118 can be curved or undulating.
[0036] The part 106 can take the form of any manufactured part or object. In one or more examples, the part 106 is a component of another structure or assembly (e.g., the structure 180). As an example, the part 106 (e.g., a first part) is coupled to a second part 110 to form at least a portion of the structure 180. For example, one or more parts (e.g., the part 106, the second part 110, etc.) of the structure 180 can be coupled together via any suitable implementation of a joining process 194, such as a fastening, bonding, mounting, welding, securing, pinning, stitching, strapping, adhering, etc.
[0037] In one or more examples, the component 106 and the second component 110 are made of any suitable material or combination of materials. In one or more examples, the component 106 and the second component 110 are made of the same material. In one or more examples, the component 106 and the second component 110 are made of different materials. For example, and without limitation, the component 106 and the second component 110 can be made of a metallic material, a composite material, a polymeric material, a combination thereof, and the like.
[0038] In one or more examples, the component 106, and thus the surface 118 of the component 106, has a shape 146. For purposes of the present disclosure, the “shape” of a component or surface refers to the geometry 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 the surface 118 can be a three-dimensional shape of the component 106 and / or the surface 118.
[0039] In one or more examples, the shape 146 includes an outer shape 198 and a corrugation 184. For purposes of the present disclosure, the “outer shape” refers to the overall or global shape of a component or surface, and the “corrugation” refers to a local variation or undulation in the shape of a component or surface.
[0040] The present disclosure recognizes that, in some instances, the shape 146 of the component 106, and thus the surface 118, can change throughout manufacturing, shipping, surface finishing, and / or assembly. As such, the component 106, and thus the surface 118, can have a first shape 174 (e.g., the shape 146 prior to a particular process or operation) and a second shape 176 (e.g., the shape 146 after a particular process or operation).
[0041] In one or more examples, the component 106, and thus the surface 118, can experience or exhibit a degree of distortion 162 in the shape 146. For purposes of the present disclosure, “distortion” refers to a temporary change in the outer shape 198 of the shape 146, such as between processes or operations. In one or more examples, the distortion 162 can be represented in the first shape 174 and not in the second shape 176. In one or more examples, the distortion 162 can be represented in the first shape 174 and in the second shape 176. In one or more examples, the distortion 162 can be different in the first shape 174 and the second shape 176. In one or more examples, the distortion 162 is substantially removed from the shape 146 of the component 106 after the structure 180 is assembled.
[0042] In one or more examples, the component 106 is susceptible to experiencing or exhibiting some degree of deformation 162 (e.g., global deformation) after manufacture and / or during handling, such that the surface 118 also exhibits some degree of deformation 162. For example, the component 106 can be flexible, such that the surface 118 is also flexible. As an example, the component 106 can temporarily bend, deform, flex, sag, or otherwise change shape without causing any undesirable permanent effects to the component 106 or the surface 118.
[0043] The temporary changes in shape (e.g., deformation 162) can be due to many factors, such as the size, geometry, weight, etc. of the component 106 after manufacture, boundary conditions, gravity, etc. Thus, in these examples, the shape 146 of the component 106, and thus the surface 118, can change throughout the manufacturing process of the structure 180. As an example, the component 106, and thus the surface 118, can 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., polishing). As another example, the component 106, and thus the surface 118, can have a first shape 174 before assembling the structure 180 and a second shape 176 after assembling the structure 180. In these examples, the first shape 174 and the second shape 176 are different, and are a result of the deformation 162.
[0044] In one or more examples, the waviness 184 of the surface 118 is formed by a plurality of protrusions 116 on the surface 118. For purposes of this disclosure, a “protrusion” refers to an instance of a local change or undulation in a surface. As used herein, “plurality” refers to one or more.
[0045] In one or more examples, the protrusion 116 (e.g., each of the plurality of protrusions) has a dimension 218. Generally, the dimension of the protrusion 116 refers to a measurable parameter or shape of the protrusion 116, such as its thickness, length, width, etc. In one or more examples, the dimension represents a deviation of the local change in the surface 118 from an ideal shape 216 of the surface 118. In one or more examples, the protrusion 116 has a first dimension 114 prior to a surface finishing operation (e.g., the polishing process 210) and a second dimension 120 after the surface finishing operation.
[0046] In many cases, it is desirable to sand, polish, or otherwise finish the surface 118 of the part 106 prior to joining process 194 and assembly of the structure 180. It can also be desirable to sand, polish, or otherwise finish the surface 118 of the part 106 at a location different from where assembly occurs. Thus, it is desirable to determine and address (e.g., remove) the undulations 184 of the surface 118 prior to integration of the part 106 into the structure 180.
[0047] Referring to Figure 1 and Figure 2 Thus, as disclosed herein, the system 100 Figure 2 ) to determine dimensions 218 of the protrusions 116 and other information related to the undulations 184 of the surface 118, and to determine a sanding plan 208 for an automated robotic sander 204 to remove the undulations 184, for example, prior to joining process 194.
[0048] Figure 2 An example of an analysis environment 182 is shown. The analysis environment 182 is an example of an analysis environment in which the system 100 is implemented to determine dimensions (e.g., 3D shape information) of the protrusions 116 Figure 1 ) on the surface 118. In one or more examples, the analysis environment 182 is remote from or in a separate location relative to the manufacturing environment 172. However, in other examples, at least a portion of the system 100 is located in or implemented in the manufacturing environment 172, and at least another portion of the system 100 is located in or implemented in the analysis environment 182. In other examples, the entirety of the system 100 is implemented in the manufacturing environment 172.
[0049] Referring to Figure 2 The following is an example of a system 100 according to the present disclosure. The system 100 includes a number of elements, features, and components. Not all elements, features, and / or components described or shown in one example are required in the present example. Some or all of the elements, features, and / or components described or shown in one example can be combined with other examples in various ways without requiring other elements, features, and / or components described in those other examples, even if such one or more combinations are not explicitly described or shown herein.
[0050] In one or more examples, the system 100 includes or is implemented using a computer 148. For example, the system 100 is a computer-implemented system. In one or more examples, the computer 148 executes instructions 170 to perform operations performed by the system 100. In these examples, the computer 148 can include one or more computers, computing devices, or computing systems. When the computer 148 includes more than one computer, the computers can communicate with each other using any number of wired, wireless, optical, or other types of communication links.
[0051] In one or more examples, the system 100 includes a model generator 102. The model generator 102 generates (e.g., is configured to or is adapted to generate) a model 104 of a component 106. Figure 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.
[0052] In one or more examples, the model 104 is generated prior to performing a sanding or other surface finishing operation (e.g., the sanding process 210) on the surface 118 of the component 106 and / or prior to coupling the component 106 and the second component 110 together to assemble the structure 180.
[0053] 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 than a second shape 176. As an example, the first shape 174 is a shape prior to the sanding process 210 and / or the joining process 194. As an example, the second shape 176 is a shape after the sanding process 210. In one or more examples, the first shape 174 includes the undulations 184 of the protrusions 116 having the first dimension 114. In one or more examples, the first shape 174 includes the deformations 162 in the shape 146 of the component 106.
[0054] In one or more examples, the system 100 includes a model generator 102. The model generator 102 generates (e.g., is configured to or is adapted to generate) a model 104 of a component 106. Figure 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.
[0055] In one or more examples, the second model 108 is generated after performing a sanding or other surface finishing operation (e.g., the sanding process 210) on the surface 118 of the component 106 and / or prior to coupling the component 106 and the second component 110 together to assemble the structure 180.
[0056] 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 part 106 is different than the first shape 174. In one or more examples, the second shape 176 includes a corrugation 184 having a protrusion 116 with a second dimension 120. In one or more examples, the second shape 176 includes a deformation 162 in the shape 146 of the part 106. In one or more examples, the second shape 176 does not include the deformation 162 in the shape 146 of the part 106.
[0057] 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 the first dimension 114 of the protrusion 116 disposed on the surface 118 of the part 106 prior to the polishing process 210. The model analyzer 112 analyzes (e.g., is configured or adapted to analyze) the second model 108 to determine the second dimension 120 of the protrusion 116 disposed on the surface 118 of the part 106 after the polishing process 210. The first dimension 114 and the second dimension 120 are examples of dimensions 218. In one or more examples, the second model 108 is analyzed to inspect the surface 118 of the part 106 and ensure that the corrugation 184 is within a suitable (e.g., desired) threshold.
[0058] 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 polishing plan 208. The polishing plan 208 is used by the controller 206 during the polishing process 210. The polishing plan 208 includes a polishing path 214 used by the robotic polisher 204.
[0059] Figure 4 An example of a portion of the part 106 and an example of the measurement system 136 are shown. The part 106 includes a surface 118. The part 106 can also include a second surface opposite the surface 118. Any surface of the part 106 can be polished or otherwise finished using the system 100 and / or in accordance with the method 1000. The measurement system 136 collects or generates measurement data 138 (e.g., data points) representing the surface 118.
[0060] Figure 5 An example of the model 104 is shown. The model 104 is generated using the measurement data 138 collected or generated by the measurement system 136. In one or more examples, the model 104 is a point cloud or similar collection of data points in a 3D space that represents the 3D shape of the surface 118 and / or the part 106.
[0061] Figure 6An example of a conventional analysis process to estimate the dimension 218 of the protrusion 116 of the corrugation 184 forming the surface 118 is shown. In the illustrated example, the first shape 174 of the surface 118 represented by the model 104 is referenced or compared to an ideal shape 216 of the surface 118. In this example, the model 104 represents the part 106 and the surface 118 in the first shape 174, which includes, for example, the deformation 162 and the corrugation 184. Figure 1 In some examples, the part 106 is flexible and experiences some degree of deformation 162 (e.g., a global change in the outer shape 198), and the surface 118 includes some degree of corrugation 184 (e.g., a local change in the surface profile), which is represented by the model 104.
[0062] In the above example of a conventional analysis process, the dimension 218 (e.g., the first dimension 114) of the protrusion 116 of the corrugation 184 forming the surface 118 is estimated or calculated by a linear distance between the surface 118 represented by the model 104 and the ideal shape 216 of the surface 118. However, it can be appreciated that the dimension of the protrusion 116 of the corrugation 184 forming the surface 118 can be obscured or difficult to accurately determine due to the deformation 162 in the shape 146 of the part 106 (e.g., a global change in the outer shape 198). Accordingly, it is desirable to estimate the dimension 218 of the corrugation 184 without the deformation 162 in the shape 146 of the part 106. The system 100 advantageously facilitates removal of the deformation 162 from the calculation of the dimension 218 of the protrusion 116 on the surface 118.
[0063] Figure 7 An example of an analysis process to estimate the dimension 218 of the protrusion 116 of the corrugation 184 forming the surface 118 used by the system 100 and / or in accordance with the method 1000 disclosed herein is shown. In the illustrative example, the deformation 162 (e.g., a global change in the outer shape 198) of the shape 146 of the part 106 is removed from the analysis process such that only the corrugation 184 (e.g., a local change in the surface profile) of the shape 146 of the surface 118 is considered when determining the dimension 218 of the protrusion 116.
[0064] As will be described in greater detail below, in one or more examples, the model 104 is replaced with a modified model 190 representing the part 106. The modified model 190 represents the part 106, such as at least a portion of the surface 118. The modified model 190 represents the part 106, and thus the surface 118 at the time of manufacture, but with the deformation 162 removed. In other words, the modified model 190 represents the part 106 and / or the surface 118 that does not include the deformation 162 but does include the corrugation 184 in the shape 146.
[0065] In one or more examples, the protrusions 116 of the undulations 184 forming the surface 118 are represented by the space between the representation of the surface 118 of the modified model 190 and the ideal shape 216. The dimension 218 of the protrusions 116 is thereby estimated or calculated by the linear distance between the surface 118 represented by the modified model 190 and the ideal shape 216.
[0066] Referring again to Figure 2 In one or more examples, the model analyzer 112 determines (e.g., is configured or adapted to determine) an overall deviation 122 between the model 104 of the component 106 and a nominal model 124 of the component 106 in the normal direction 150 (e.g., in the Z-direction 130 of the XYZ coordinate system 126). 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. Figure 8 ) on the nominal model 124. 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.
[0067] For purposes of the present disclosure, the nominal model 124 generally refers to or represents an ideal shape 216 of the component 106 and / or the surface 118. In one or more examples, the nominal model 124 is or takes the form of a computer-aided design (CAD) model of the component 106 that represents a nominal or design geometry of the component 106, and thus the nominal or design geometry of the surface 118. In one or more examples, the 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 representing one or more portions of the surface 118. It can be appreciated that the shape 146 of the component 106 represented in the nominal model 124 does not include the deformations 162 (global changes in the outer shape 198) or the undulations 184 (local changes in the surface profile).
[0068] Figure 8 An example of the overall deviation 122 between the model 104 of the component 106 and the nominal model 124 in the normal direction 150 is shown. Performing a best-fit analysis 186 (such as a least-squares alignment) of the surface 118 represented in the model 104 and the surface 118 represented in the nominal model 124 provides the overall deviation 122 between the model 104 and the nominal model 124 in the normal direction 150. Figure 2 ) on the nominal model 124. 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.
[0069] Referring again to Figure 2In one or more examples, the system 100, such as the computer 148 executing the instructions 170, includes a user interface (UI) 202. For example, as shown, a graphical illustration of the overall deviation 122 and the overall dimension 164 of the overall deviation 122 is an example of a graphical representation displayed to a user by the UI 202. Figure 8
[0070] In one or more examples, the overall deviation 122 includes both large-scale (e.g., coarse or global) shape differences and small-scale surface variations. The large-scale shape variations represent the outer shape 198 and are referred to herein as the outer shape deviation 132. The small-scale surface variations represent the waviness 184 and are referred to herein as the waviness deviation 134. As disclosed herein, examples of the system 100 and the method 1000 advantageously enable determining the waviness 184 forming the surface 118 and thus the dimension 218 of the protrusion 116 of the polishing plan 208 based only on the small-scale variations (waviness 184).
[0071] In one or more examples, the model analyzer 112 maps (e.g., is configured or adapted to map) the overall deviation 122 from the XYZ coordinate system 126 to the UVW coordinate system 128 such that the values 130 of the overall dimension 164 of the overall deviation 122 are 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 plotting technique.
[0072] Figure 9 An example of the overall deviation 122 mapped from the XYZ coordinate system 126 Figure 8 ) to the UVW coordinate system 128 is shown. In one or more examples, data representing the overall deviation 122 is changed (e.g., plotted or mapped) from x, y, z coordinate points to u, v, w coordinate points. A two-dimensional (2D) coordinate system is used such that the u, v coordinates represent a location on the part 106 and the w coordinate represents a deviation from a nominal (e.g., ideal) geometry. This operation effectively removes the designed or ideal shape from the part 106 such that the W-axis 152 only deviates from the designed or ideal geometry.
[0073] In one or more examples, Figure 9 A graphical illustration of the overall deviation 122 and the overall dimension 164 of the overall deviation 122 depicted in FIG. 6 is an example of a graphical representation displayed to a user by the UI 202.
[0074] Referring again to Figure 2 In one or more examples, the model analyzer 112 filters (e.g., is configured or adapted to filter) the values 130 of the global dimension 164 of the global deviation 122 into an outline deviation 132 and a waviness deviation 134. In one or more examples, the system 100, such as the computer 148 executing the 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, operates on the u, v, w-point cloud to filter the data into the outline 198 and the waviness 184. Because the designed curvature has been effectively removed, a first order regression function (e.g., a planar regression) is selected and used to locally fit.
[0075] Figure 10 An example of the values 130 of the outline deviation 132 and the outline dimension 166 of the global dimension 164 of the global deviation 122 mapped to the UVW coordinate system 128 and filtered from is shown. In the illustrative example, the values 130 of the outline dimension 166 of the outline deviation 132 ( Figure 10 ) are approximately equal to the values 130 of the global dimension 164 of the global deviation 122 ( Figure 9 ). This is because the global changes in the outline 198 due to the deformation 162 (outline deviation 132) represent the majority of the global deviation 122 from the designed geometry.
[0076] In one or more examples, Figure 10 The graphical illustration of the outline deviation 132 and the outline dimension 166 of the outline deviation 132 depicted in FIG. 2B is an example of a graphical representation displayed to a user by the UI 202.
[0077] Figure 11 An example of the values 130 of the waviness deviation 134 and the waviness dimension 168 of the global dimension 164 of the global deviation 122 mapped to the UVW coordinate system 128 and filtered from is shown. In the illustrative example, the values 130 of the waviness dimension 168 of the waviness deviation 134 ( Figure 11 ) are orders of magnitude smaller than the values 130 of the global dimension 164 of the global deviation 122 ( Figure 9 ). This is because the local changes in the waviness 184 due to small-scale variations in the surface profile of the mating surface 118 (waviness deviation 134) represent a small fraction of the global deviation 122 from the designed geometry.
[0078] In one or more examples, Figure 11The graphical illustration of the depicted profile deviation 132 and the profile dimension 166 of the profile deviation 132 is an example of a graphical representation displayed by the UI 202 to a user.
[0079] Referring again to Figure 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 waviness deviation 134. The nominal model 124 modified by the waviness deviation 134 represents the surface 118 of the component 106. The nominal model 124 modified by the waviness deviation 134 is also referred to herein as a modified model 190.
[0080] In one or more examples, the model analyzer 112 maps (e.g., is configured or adapted to map) the waviness deviation 134 from the UVW coordinate system 128 to the XYZ coordinate system 126 such that the values 130 of the waviness dimension 168 of the waviness deviation 134 are represented as distances 160 relative to the nominal model 124.
[0081] Figure 12 An example of the waviness deviation 134 mapped back from the UVW coordinate system 128 Figure 11 ) to the XYZ coordinate system 126 is shown. The values 130 of the waviness dimension 168 are represented as distances 160 relative to the nominal model 124 in the normal direction 150.
[0082] In one or more examples, data representing the waviness deviation 134 is changed (e.g., plotted or mapped) from u, v, w coordinate points back to x, y, z coordinate points. The waviness 184 calculated in the w coordinate is used as a distance 160 to add to or subtract from the nominal model 124 to estimate the dimension 218 of the protrusion 116 of the waviness 184 forming the surface 118.
[0083] In one or more examples, as Figure 12 The graphical illustration of the depicted waviness deviation 134 and the distances 160 of the waviness dimension 168 is an example of a graphical representation displayed by the UI 202 to a user.
[0084] Referring again to Figure 2 In one or more examples, the path planner 212 generates (e.g., is configured or adapted to generate) the polishing plan 208. In one or more examples, the polishing plan 208 is generated based on the distances 160 used to determine the dimension 218 of the protrusion 116 of the waviness 184 forming the surface 118 and mapped to the XYZ coordinate system 126. The robotic polisher 204 uses the polishing plan 208 to automatically perform the polishing process 210.
[0085] Figure 13An example of a polishing plan 208 is shown. In one or more examples, the polishing plan 208 is derived after the reference part 106 collects the initial robot position. The part 106 is scanned to determine the position of the surface 118, and the polishing plan 208 is calculated. The polishing plan 208 is communicated back to the robot controller (e.g., controller 206) in the same coordinate system as the measured surface positioning scan data. Because the part 106 has been positioned and scanned prior to this calculation, the local volume is known. The calculated output (e.g., waviness deviation 134) of the waviness 184 relative to the known acceptable smoothness requirements of the surface 118 is in x, y, z coordinates (e.g., measured point cloud) and i, j, k magnitudes of the waviness 184 (e.g., waviness dimensions 168). Once the vector (e.g., i, j, k magnitudes of the waviness 184) is calculated, the vector endpoint is formed and a single new point cloud (e.g., Figure 13 The polishing plan 208 shown.
[0086] In one or more examples, the start point coordinates (e.g., xl, yl, zl) are identified and the vector components (e.g., x2, y2, z2) are identified. The vector components are added to the start point coordinates to obtain the end point coordinates: (e.g., x_end = xl+x2; y_end = yl+y2; and z_end = zl+z2). The resulting end point coordinates (e.g., x_end, y_end, z_end) represent the end point of a 3D vector. This new waviness point cloud x, y, z is fed to the controller 206 along with the initial point cloud, and the polishing path 214 is calculated using the end point cloud as the “top” of the polish.
[0087] Figure 14 An example is shown in which the robotic polisher 204 performs a polishing process 210 Figure 1 ) to remove the waviness 184 from the surface 118 of the part 106. The robotic polisher 204 moves along the polishing path 214 according to the polishing plan 208. In one or more examples, the system 100 includes a controller 206 Figure 1 ). The polishing plan 208 is provided to the controller 206. The controller 206 selectively controls and instructs (e.g., is configured to selectively control and instruct) movement of the robotic polisher 204 during the polishing process 210.
[0088] Referring to Figure 2 and Figure 15 In one or more examples, the model generator 102, model analyzer 112, and / or path planner 212 take the form of program code 918 executed by the data processing system 900 Figure 15 ).
[0089] Referring now to Figure 2 and Figure 4In one or more examples, the system 100 includes a measurement system 136. The measurement system 136 collects or generates measurement data 138. The measurement data 138 represents at least a portion of the surface 118 of the component 106. The measurement data 138 is generated prior to the component 106 undergoing the polishing process 210 Figure 1
[0090] 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 the polishing process 210 Figure 1 Figure 14 The processes described above and shown in FIG. 6 can be repeated iteratively until the surface 118 is sufficiently finished.
[0091] In one or more examples, the measurement system 136 includes or takes the form of a scanner 220 or other suitable scanning device for scanning at least a portion of the component 106, such as at least a portion of the surface 118, and collecting or generating the measurement data 138. In one or more examples, the 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 can be, for example, a laser radar scanner. The optical measurement device can be, for example, a three-dimensional optical measurement device. In another illustrative example, the measurement system 136 takes the form of a photogrammetry system.
[0092] Referring now to Figure 1 and Figure 2 In one or more examples, the measurement data 138 includes data points or 3D shape information regarding the shape 146, e.g., a first shape 174 of the component 106 and / or the surface 118 prior to the polishing process 210. In one or more examples, the second measurement data 140 includes data points or 3D shape information regarding the shape 146, e.g., a second shape 176 of the component 106 and / or the surface 118 after the polishing process 210.
[0093] In one or more examples, the measurement data 138 (and the second measurement data 140 and any subsequent measurement data) takes the form of a three-dimensional point cloud. As an example, the measurement data 138 takes the form of a three-dimensional point cloud having sufficient density to capture the shape 146 of the component 106, and thus the surface 118, at a desired level of accuracy.
[0094] Referring now to Figure 3 the following is an example of the method 1000 according to the present disclosure. In one or more examples, the system 100 is usedFigure 2 ) to implement the method 1000. The method 1000 includes a number of elements, steps, operations, or processes. Not all of the elements, steps, operations, or processes described or illustrated in one example are necessarily included in another example. Some or all of the elements, steps, operations, or processes in an example can be combined in a variety of manners, not necessarily in the exact
[0095] Referring to Figure 2 and Figure 15 In one or more examples, the method 1000 is implemented using the computer 148 Figure 2 ) to implement the method 1000. As an example, one or more operations or steps of the method 1000 are performed using the data processing system 900 Figure 15 ) and, thus, in these examples, the method 1000 is a computer- implemented method or process.
[0096] Figure 3 An example of the method 1000 is shown. In one or more examples, the method 1000 includes a step of measuring 1002 (e.g., scanning) the part 106. At least a portion of the part 106, such as at least a portion of the surface 118, is measured. In one or more examples, the measuring 1002 is performed using the measurement system 136 Figure 2 ) to implement the method 1000. As an example, one or more operations or steps of the method 1000 are performed using the data processing system 900
[0097] In one or more examples, the method 1000 includes a step of generating 1004 the measurement data 138. The measurement data 138 represents at least a portion of the part 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 the measurement system 136 and is a result of the measuring 1002.
[0098] In one or more examples, the method 1000 includes a step of generating 1006 the model 104. The model 104 represents at least a portion of the part 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.
[0099] In one or more examples, the method 1000 includes a step of analyzing 1008 the model 104. In one or more examples, the model 104 is processed and analyzed to determine the dimension 218 of the protrusion 116 of the ripple 184 forming the surface 118 of the part 106. In these examples, the method 1000 includes a step of determining 1010 the dimension 218 of the protrusion 116 of the ripple 184 forming the surface 118 of the part 106 based on the analysis performed on the model 104.
[0100] In one or more examples, the method 1000 includes a step of generating 1012 a polishing plan 208. The polishing plan 208 includes a polishing path 214 used by the robotic polisher 204 to automatically perform the polishing process 210.
[0101] In one or more examples, the method 1000 includes a step of polishing 1014 (or otherwise finishing) the surface 118 using the robotic polisher 204. In these examples, the robotic polisher 204 moves along the polishing path 214 according to the polishing plan 208.
[0102] In one or more examples, the method 1000 (such as the analyzing step 1008) includes a step of determining 1016 (e.g., calculating) an overall deviation 122 between the model 104 of the component 106 and the nominal model 124 in the normal direction 150.
[0103] In one or more examples of the method 1000, the step of determining 1016 includes a step of performing 1018 a best-fit alignment between the model 104 of the component 106 and the nominal model 124 to determine the overall deviation 122.
[0104] In one or more examples, the method 1000 (such as the analyzing step 1008) includes a step of determining (e.g., calculating) 1020 an overall dimension 164 of the overall deviation 122 in the normal direction 150.
[0105] In one or more examples, the method 1000 (such as the analyzing step 1008) includes a step of mapping 1022 the overall deviation 122 from the XYZ coordinate system 126 to the UVW coordinate system 128 such that values 130 of the overall dimension 164 of the overall deviation 122 are represented along the W-axis 152.
[0106] In one or more examples, the method 1000 (such as the analyzing step 1008) includes a step of filtering 1024 values 130 of the overall dimension 164 of the overall deviation 122 into the contour deviation 132 and the waviness deviation 134.
[0107] In one or more examples, according to the method 1000, values 130 of the overall dimension 164 of the overall deviation 122 are filtered into the contour deviation 132 and the waviness deviation 134 using a low-pass filter 156. In these examples, the step of filtering 1024 includes a step of executing 1026 (e.g., performing) the low-pass filter 156.
[0108] In one or more examples, according to the method 1000, filtering 1024 includes the step of executing 1028 (e.g., performing) the robust Gaussian regression filter 158.
[0109] In one or more examples, the method 1000 (such as the analyzing step 1008) includes the step of modifying 1030 the nominal model 124 by the waviness deviation 134 such that the nominal model 124 modified by the waviness deviation 134 represents the surface 118 of the component 106.
[0110] In one or more examples, according to the method 1000, the modifying 1030 step includes the step of mapping 1032 the waviness deviation 134 from the UVW coordinate system 128 to the XYZ coordinate system 126 such that the values 130 of the waviness dimension 168 of the waviness deviation 134 are represented as distances 160 relative to the nominal model 124.
[0111] In one or more examples, according to the method 1000, the modifying 1030 step includes the step of adding 1034 the distances 160 to the nominal model 124 such that the modified model 190 represents the component 106, thereby providing a dimension 218 of the protrusion 116 of the waviness 184 forming the surface 118.
[0112] Reference Figure 15 As an example, the present disclosure also relates to a computer program product 922. The computer program product 922 includes a non-transitory computer readable medium 920 including program code 918 that when executed by one or more processors 904 causes the one or more processors 904 to perform operations.
[0113] In one or more examples, the operations represent operations described above and in the Figure 3one or more steps of the method 1000 illustrated in FIG. 10. In one or more examples, the operations include generating the model 104 of the part 106 from the measurement data 138. In one or more examples, the operations include filtering out the deformation 162 to determine the waviness 184. In one or more examples, the operations include analyzing the model 104 to determine the dimensions 218 of the protrusions 116 of the waviness 184 forming the surface 118 of the part 106. In one or more examples, the operations include determining the overall deviation 122 between the model 104 of the part 106 and the nominal model 124 in the normal direction 150. In one or more examples, the operations include performing a best-fit alignment between the model 104 of the part 106 and the nominal model 124 to determine the overall deviation 122. In one or more examples, the operations include determining the overall dimensions 164 of the overall deviation 122 in the normal direction 150. In one or more examples, the operations include mapping the overall deviation 122 from the XYZ coordinate system 126 to the UVW coordinate system 128 such that the values 130 of the overall dimensions 164 of the overall deviation 122 are represented along the W-axis 152. In one or more examples, the operations include filtering the values 130 of the overall dimensions 164 of the overall deviation 122 into the profile deviation 132 and the waviness 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 waviness deviation 134 such that the nominal model 124 modified by the waviness deviation 134 represents the surface 118 of the part 106. In one or more examples, the operations include mapping the waviness deviation 134 from the UVW coordinate system 128 to the XYZ coordinate system 126 such that the values 130 of the waviness dimensions 168 of the waviness deviation 134 are represented as distances 160 relative to the nominal model 124. In one or more examples, the operations include generating a grinding plan 208 for use by the robotic grinder 204 to remove the protrusions 116 from the surface 118. The grinding plan 208 is generated based on the waviness dimensions 168 of the waviness deviation 134, as shown by the distances 160 relative to the normal and coordinate positions of the XYZ coordinate system 126.
[0114] Referring again to Figure 2 In one or more examples, the system 100 can be implemented using software, hardware, firmware, or a combination thereof. When using software, the operations performed by the system 100 can be implemented using, for example but not limited to, program code configured to run on a processor unit. When using firmware, the operations performed by the system 100 can be implemented using, for example but not limited to, program code and data, and stored in a persistent memory for execution on a processor unit.
[0115] When hardware is employed, the hardware can include one or more circuits that operate to perform the operations performed by the system 100. Depending on the implementation, the hardware can take the form of circuitry, integrated circuits, application-specific integrated circuits (ASICs), programmable logic devices, or some other suitable type of hardware device configured to perform any number of operations.
[0116] The programmable logic device can be configured to perform certain operations. The device can be permanently configured to perform these operations or can be reconfigurable. The programmable logic device can 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.
[0117] In some illustrative examples, the operations and processes performed by the system 100 can be performed using organic components integrated with inorganic components. In some instances, the operations and processes can be performed entirely by organic components (excluding humans). For example, electrical circuits in organic semiconductors can be used to perform these operations and processes.
[0118] Reference Figure 15 In one or more examples, the computer 148( Figure 2 ) includes or takes the form of a data processing system 900. In one or more examples, the data processing system 900 includes a communication framework 902 that provides communication between at least one processor 904, one or more storage devices 916 (such as the memory 906 and / or the persistent storage 908), a communication unit 910, an input / output unit 912 (I / O unit), and a display 914. In this example, the communication framework 902 takes the form of a bus system.
[0119] The processor 904 is for executing instructions 170( Figure 2 ) of software that can be loaded into the memory 906. In one or more examples, the processor 904 is a multiple processor unit, a multi-processor core, or some other type of processor, depending on the particular implementation.
[0120] The memory 906 and the persistent storage 908 are examples of storage devices 916. A storage device is any hardware able to store information such as, for example, data, program code in functional form, or at least one of the other forms of information that can be stored. In one or more examples, the storage devices 916 can also be referred to as computer readable storage devices. The memory 906 is, for example, a Random Access Memory, or any other suitable volatile or non-volatile storage device. Depending on the particular implementation, the persistent storage 908 can take many forms.
[0121] For example, the persistent storage 908 includes one or more components or devices. For example, the persistent storage 908 is a hard disk drive, a solid-state drive, flash memory, a rewritable optical disk, a rewritable magnetic tape, or some combination of the above. The media used by the persistent storage 908 can also be removable. For example, a removable hard disk drive can be used for the persistent storage 908.
[0122] The communication unit 910 provides communication with other systems or devices, such as the measurement system 136 or other computer systems. In one or more examples, the communication unit 910 is a network interface card.
[0123] The input / output unit 912 allows input and output of data to and from other devices that can be connected to the data processing system 900. As an example, the input / output unit 912 provides a connection for a user input, such as a keyboard, a mouse, or some other suitable input device. Further, the input / output unit 912 can send output to a printer. The display 914 provides a mechanism to display information to a user. For example, the user interface 202 is displayed to the user by the display 914.
[0124] Instructions for operating at least one of the system, application, or program (e.g., the instructions 170) can be in the storage device 916, which is in communication with the processor 904 through the communication framework 902. The processes and operations of the various examples described herein can be performed by the processor 904 using computer- implemented instructions, which can be located in a memory, such as the memory 906.
[0125] The instructions 170 are referred to as program code, computer-usable program code, or computer-readable program code that can be read and executed by a processor of the processor 904. The program code in the different examples can be embodied on different physical or computer-readable storage media, such as the memory 906 or the persistent storage 908.
[0126] In one or more examples, the program code 918 is in functional form on the computer-readable medium 920, which is selectively removable and can be loaded or transferred into the data processing system 900 for execution by the processor 904. In one or more examples, the program code 918 and the computer-readable medium 920 form a computer program product 922. In one or more examples, the computer-readable medium 920 is a computer-readable storage medium 924.
[0127] In one or more examples, the computer-readable storage medium 924 is a physical or tangible storage device used to store the program code 918, as opposed to a medium that propagates or transfers the program code 918.
[0128] Alternatively, program code 918 can be transferred to data processing system 900 using computer readable signal media. A computer readable signal medium can be, for example, a propagated data signal containing program code 918. For example, a computer readable signal medium can be an electromagnetic signal, an optical signal, or any other suitable type of signal. These signals can be transmitted over at least one communication link, for example, a wireless communication link, an optical fiber cable, a coaxial cable, a wire, or any other suitable type of communication link.
[0129] The different components illustrated for data processing system 900 are not meant to provide architectural limitations to the manner in which different examples can be implemented. The different examples can be implemented in a data processing system that includes components in addition to or in place of those illustrated for data processing system 900. Some components of data processing system 900 can be implemented using any hardware device or software, or combinations thereof. Figure 15 The other components illustrated for data processing system 900 can differ from those shown. The different examples can be implemented using any hardware device or system that is capable of running program code 918.
[0130] Additionally, the various components of computer 148 and / or data processing system 900 can be described as modules. For the purposes of this disclosure, a module includes hardware, software, or a combination of hardware and software. As an example, a module can include one or more circuits configured to perform or perform the described functions or operations of the processes described herein (e.g., method 1000). As another example, a module includes a processor, a storage device (e.g., memory), and a computer-readable storage medium with instructions that when executed by the processor cause the processor to perform or perform the described functions and operations. In one or more examples, a module takes the form of program code 918 and computer-readable medium 920 that together form a computer program product 922. In one or more examples, model generator 102 and model analyzer 112 are implemented as modules.
[0131] Referring now to Figure 16 and Figure 17 , examples of system 100, method 1000, and / or computer program product 922 described herein can be related to or used in the context of an aircraft manufacturing and maintenance method 1100, as illustrated by the flowchart and aircraft 1200, as Figure 16 illustrated schematically in Figure 17 . As an example, aircraft 1200 and / or manufacturing and maintenance method 1100 can include or utilize structures that can include the manufacture of components having at least one surface that is sanded or otherwise finished using system 100 and / or according to method 1000, such as a fuselage, a wing, etc.
[0132] Referring to Figure 17FIG. 12 shows an example of an aircraft 1200, in accordance with one or more embodiments. The aircraft 1200 can be any aerial vehicle or platform. In one or more examples, the aircraft 1200 includes a fuselage 1202 having an interior 1206. The aircraft 1200 includes a plurality of onboard systems 1204 (e.g., advanced systems). Examples of the onboard 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 onboard systems 1204 also include one or more control systems coupled to the fuselage 1202 of the aircraft 1200. In other examples, the onboard systems 1204 also include one or more other systems such as, but not limited to, a communication system, an avionics system, a software distribution system, a network communication system, a passenger information / entertainment system, a guidance system, a radar system, a weapon system, etc. The aircraft 1200 can have any number of components (e.g., components 106) having surfaces (e.g., surfaces 118) that are polished or otherwise finished using the system 100 and / or in accordance with the method 1000.
[0133] Referring to Figure 16 During pre-production of the aircraft 1200, the manufacturing and maintenance 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 occur. Thereafter, the aircraft 1200 goes through certification and delivery 1110 into service 1112. Routine maintenance and service 1114 include modification, reconfiguration, refurbishment, and so on of one or more systems of the aircraft 1200.
[0134] Figure 16 Each process of the manufacturing and maintenance method 1100 shown can 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 can include without limitation any number of aircraft manufacturers and major-system subcontractors; a third party can include without limitation any number of vendors, subcontractors, and suppliers; and an operator can be an airline, leasee, military entity, service organization, or other customer.
[0135] The examples of the system 100, the method 1000, and the computer program product 922 shown and described herein can be implemented in a computing system that includes a back end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the system 100, the method 1000, and the computer program product 922, or any combination of Figure 16Any one or more stages of the manufacturing and maintenance method 1100 shown in the flowchart shown are employed during. In examples, during part and subassembly manufacturing and / or system integration, the system 100 and / or method 1000 can be used to sand a part surface. Further, while an aircraft 1200 is in service, the system 100 and / or method 1000 can be used to sand a part surface. Also, while an aircraft 1200 is in service, the system 100 and / or method 1000 can be used to sand a part surface during an overhaul or service action. Similarly, the system 100 and / or method 1000 can be used to sand a part surface while an aircraft 1200 is in service and during maintenance and service.
[0136] The foregoing detailed description has referred to the accompanying drawings, which show specific examples described in this disclosure. Other examples having different structures and operations do not depart from the scope of the present disclosure. In different drawings, like drawing reference numbers can refer to like features, elements, or components. Throughout this disclosure, any one of a plurality of items can be referred to as the item, and a plurality of items can be referred to collectively as the item and can be referred to using the same drawing reference number. Furthermore, as used herein, a feature, element, component, or step that is described as “one” or “an” should be interpreted not to exclude plural features, elements, components, or steps, unless such exclusion is explicitly recited.
[0137] The above provides illustrative, non-exhaustive examples in accordance with the subject matter of the present disclosure, which can be but are not necessarily claimed. Reference herein to “an example” means that a particular feature, structure, element, component, characteristic, and / or operation step described in connection with that example is included in at least one aspect, embodiment, and / or implementation of the subject matter of the present disclosure. Thus, the phrases “example,” “an example,” “one or more examples,” and similar language throughout this disclosure can but do not necessarily refer to the same example. Furthermore, the subject matter characterized by any one example can but does not necessarily include the subject matter characterized by any other example. Moreover, the subject matter characterized by any one example can but does not necessarily be combined with the subject matter characterized by any other example.
[0138] As used herein, a system, apparatus, device, structure, article, element, component, or hardware that is “configured to” perform a particular function is capable of performing the particular function without any alteration, rather than simply having the potential to perform the particular function after a modification is made. In other words, a system, apparatus, device, structure, article, element, component, or hardware that is “configured to” perform a particular function is specifically selected, created, implemented, utilized, programmed, and / or designed for the purpose of performing the particular function. As used herein, “configured to” denotes existing characteristics of a system, apparatus, structure, article, element, component, or hardware that make up the system, apparatus, structure, article, element, component, or hardware capable of performing the specified function without further modification. For purposes of the present disclosure, a system, apparatus, device, structure, article, element, component, or hardware described as being “configured to” perform a particular function can additionally or alternatively be construed as being “adapted to” and / or “operative to” perform the function, unless otherwise understood from the context.
[0139] Unless otherwise stated, the terms “first,” “second,” “third,” etc. are used herein as labels, and do not necessarily imply an order, a position or a hierarchy unless specifically stated. Further, a reference to, for example, “the second” item does not require or preclude the presence of, for example, “the first” or lower numbered item and / or “the third” or higher numbered item.
[0140] As used herein, the phrase “at least one of’ when used with a list of items indicates that different combinations of one or more of the listed items can be used, and only one of each item in the list can be needed. For example, “at least one of items A, item B, and item C” can include, but is not limited to, only A or A and B or A and C or B and C or A and B and C. In other examples, “at least one of” can be, for example, but not limited to, two of A, one of B, and ten of C; four of B and seven of C; and other suitable combinations. As used herein, the terms “and / or” and “ / ” are intended to include any and all combinations of one or more of the associated listed items.
[0141] For purposes of the present disclosure, the terms “coupled,” “connected,” and similar terms, mean the element(s) are in direct or indirect communication, linked, fastened, attached, connected, linked together, or otherwise associated with (e.g., mechanically, electrically, fluidly, optically, electromagnetically) each other. In various examples, elements can be directly or indirectly associated. As an example, element A can be directly associated with element B. As another example, element A can be indirectly associated with element B, e.g., via another element C. It will be understood that not all associations between various disclosed elements are necessarily indicated. Thus, there can be associations other than those specifically depicted in the drawings.
[0142] As used herein, the term "approximately" refers to or indicates a condition that is close, but not exactly close, to a stated condition that still performs a desired function or achieves a desired result. As an example, the term "approximately" refers to a condition that is within an acceptable predetermined tolerance or accuracy, such as a condition within 10% of the stated condition. However, the term "approximately" does not exclude a condition that is exactly the stated condition. As used herein, the term "substantially" refers to a condition that is substantially the stated condition that performs a desired function or achieves a desired result.
[0143] mentioned above Figure 1 、 Figure 2 、 Figures 4 to 5 and Figure 17 The numerals may represent functional elements, features, or components thereof and do not necessarily imply any particular structure. Therefore, modifications, additions, and / or omissions may be made to the structures shown. In addition, those skilled in the art will appreciate that the numerals not mentioned above Figure 1 、 Figure 2 、 Figures 4 to 5 and Figure 17 All elements, features, and / or components described and illustrated in the present disclosure need to be included in every example, and not all elements, features, and / or components described herein need to be depicted in every illustrative example. Figure 1 、 Figure 2 、 Figures 4 to 5 and Figure 17 Some elements, features and / or components described and shown in the drawings may be combined in various ways without necessarily including Figure 1 、 Figure 2 、 Figures 4 to 5 and Figure 17 , other drawings and / or the accompanying disclosure, even if such combination or combinations are not explicitly shown herein. Similarly, additional features not limited to the examples presented may be combined with some or all of the features shown and described herein. Unless otherwise expressly stated, the above-mentioned Figure 1 、 Figure 2 、 Figures 4 to 5 and Figure 17 The schematic diagrams of the examples depicted in the drawings are not meant to imply structural limitations with respect to the illustrative examples. On the contrary, although an illustrative structure is indicated, it should be understood that the structure can be modified as appropriate. Thus, modifications, additions, and / or omissions may be made to the illustrated structure. Furthermore, elements, features, and / or components serving similar or at least substantially similar purposes may be incorporated herein. Figure 1 、 Figure 2 、 Figures 4 to 5 and Figure 17 Each of the components is labeled with the same numerals, and such elements, features and / or components may not be referenced herein. Figure 1 、 Figure 2 、 Figures 4 to 5 andFigure 17 Each of the aforementioned Figure 3 , Figure 16 , Figure 3 and Figure 16 may be labeled as processes, elements, features, and / or components, among other examples. Similarly, all elements, features, and / or components can not be labeled in the
[0144] In the above-referenced and , blocks can represent operations, steps, and / or portions thereof, and lines connecting the various blocks do not imply any specific order or dependency of operations or portions thereof. It will be understood that not all dependencies are necessarily represented. and and the accompanying disclosure describing operations of the disclosed methods set forth herein are not to be interpreted in strict order. Rather, although an illustrative order is indicated, it will be understood that the order of operations can be modified as appropriate. Accordingly, modifications, additions, and / or omissions can be made to the illustrated operations, and certain operations can be performed concurrently or in different order than shown. Additionally, it will be understood that not all operations are necessary.
[0145] The present application relates to the following clauses:
[0146] Clause 1. A system (100) for surface finishing, the system comprising:
[0147] a model generator (102) configured to generate a model (104) representing at least a portion of a surface (118) of a component (106);
[0148] a model analyzer (112) configured to analyze the model (104) to determine a ripple (184) of the surface (118); and
[0149] a path planner (212) configured to generate a polishing plan (208).
[0150] Clause 2. The system (100) of clause 1, further comprising: a measurement system (136) configured to generate measurement data (138) representing the at least a portion of the surface (118) of the component (106),
[0151] wherein the measurement data (138) is used to generate the model (104).
[0152] Clause 3. The system (100) of clause 1, further comprising: a robotic sander (204) configured to sand the surface (118) according to the sanding plan (208).
[0153] Clause 4. The system (100) of clause 1, the model analyzer (112) is further configured to:
[0154] determine an overall deviation (122) between the model (104) and a nominal model (124) of the component (106) in a normal direction (150); and
[0155] determine an overall dimension (164) of the overall deviation (122) in the normal direction (150).
[0156] Clause 5. The system (100) of clause 4, wherein the model analyzer (112) is further configured to perform a best-fit alignment between the model (104) and the nominal model (124) of the component (106) to determine the overall deviation (122).
[0157] Clause 6. The system (100) of clause 4, the model analyzer (112) is further configured to:
[0158] map the overall deviation (122) from an XYZ coordinate system (126) to a UVW coordinate system (128) such that a value (130) of an overall dimension (164) of the overall deviation (122) is represented along a W-axis (152); and
[0159] filter the value (130) of the overall dimension (164) of the overall deviation (122) into a profile deviation (132) and a waviness deviation (134).
[0160] Clause 7. The system (100) of clause 6, wherein the model analyzer (112) filters the value (130) using one of a low-pass filter (156) and a robust Gaussian regression filter (158).
[0161] Clause 8. The system (100) of clause 6, wherein the model analyzer (112) is configured to modify the nominal model (124) by the waviness deviation (134) such that the nominal model (124) modified by the waviness deviation (134) represents the waviness (184) of the surface (118) of the component (106).
[0162] Clause 9. The system (100) of clause 8, wherein the model analyzer (112) is further configured to map the waviness deviation (134) from a UVW coordinate system (128) to an XYZ coordinate system (126) such that a value (130) of a waviness dimension (168) of the waviness deviation (134) is represented as a distance (160) relative to the nominal model (124).
[0163] Clause 10. The system (100) of clause 1, wherein the model generator (102), the model analyzer (112), and the path planner (212) take the form of program code (918) executed by a data processing system (900).
[0164] Clause 11. A method (1000) of sanding a surface (118) using the system (100) of clause 1.
[0165] Clause 12. A method (1000) for sanding a surface (118) of a part (106), the method (1000) comprising:
[0166] generating a model (104) of the part (106):
[0167] analyzing the model (104) to determine waviness (184) of the surface (118); and
[0168] generating a sanding plan (208) for use by a robotic sander (204).
[0169] Clause 13. The method (1000) of clause 12, wherein the model (104) is analyzed to determine a dimension (218) of a protrusion (116) on the surface (118) of the part (106).
[0170] Clause 14. The method (1000) of clause 12, further comprising:
[0171] performing a best-fit alignment between the model (104) and the nominal model (124);
[0172] determining an overall deviation (122) between the model (104) and the nominal model (124) of the part (106) in a normal direction (150); and
[0173] determining an overall dimension (164) of the overall deviation (122) in the normal direction (150).
[0174] Clause 15. The method (1000) of clause 14, further comprising:
[0175] mapping the bulk deviation (122) from the XYZ coordinate system (126) to a UVW coordinate system (128) such that values (130) of the bulk dimension (164) of the bulk deviation (122) are represented along a W-axis (152);
[0176] filtering the values (130) of the bulk dimension (164) of the bulk deviation (122) into a contour deviation (132) and a ripple deviation (134);
[0177] modifying the nominal model (124) by the ripple deviation (134) such that the nominal model (124) modified by the ripple deviation (134) represents the ripples (184) of the surface (118) of the part (106); and
[0178] mapping the ripple deviation (134) from the UVW coordinate system (128) to the XYZ coordinate system (126) such that values (130) of a ripple dimension (168) of the ripple deviation (134) are represented as distances (160) relative to the nominal model (124).
[0179] Clause 16. The method (1000) of clause 15, wherein the polishing plan (208) is generated based on the ripple deviation (134) mapped to the XYZ coordinate system (126).
[0180] Clause 17. The method (1000) of clause 12, wherein the method (1000) is implemented using a computer (148).
[0181] Clause 18. A part (106) comprising a surface (118) polished according to the method (1000) of clause 12.
[0182] Clause 19. A non-transitory computer-readable medium (920) comprising program code (918) that, when executed by one or more processors (904), causes the one or more processors (904) to perform operations comprising:
[0183] generating a model (104) of a part (106) from measurement data (138);
[0184] analyzing the model (104) to determine dimensions (218) of ripples (184) of a surface (118) of the part (106); and
[0185] generating a polishing plan (208) for use by a robotic polisher (204) to remove the ripples (184).
[0186] Clause 20. The non-transitory computer-readable medium (920) of clause 19, wherein the operations further comprise:
[0187] performing a best-fit alignment between the model (104) and a nominal model (124) of the part (106);
[0188] determining a global deviation (122) between the model (104) and the nominal model (124) in a normal direction (150);
[0189] determining a global dimension (164) of the global deviation (122) in the normal direction (150);
[0190] mapping the global deviation (122) from an XYZ coordinate system (126) to a UVW coordinate system (128) such that a value (130) of the global dimension (164) of the global deviation (122) is represented along a W-axis (152);
[0191] filtering the value (130) of the global dimension (164) of the global deviation (122) into a contour deviation (132) and a ripple deviation (134);
[0192] modifying the nominal model (124) by the ripple deviation (134) such that the nominal model (124) modified by the ripple deviation (134) represents the ripples (184) of the surface (118) of the part (106);
[0193] mapping the ripple deviation (134) from the UVW coordinate system (128) to the XYZ coordinate system (126) such that a value (130) of a ripple dimension (168) of the ripple deviation (134) is represented as a distance (160) relative to the nominal model (124); and
[0194] mapping the ripple deviation (134) to a polishing path (214) of the robotic polisher (204) in the XYZ coordinate system (126).
[0195] Further, reference throughout this specification to features, advantages, or similar language does not mean that all of the features and advantages that can be implemented in one example are or are not required in any single example of the application. Rather, reference is contemporaneously made to the language recited in a specific example or examples for the purpose of clarifying matter included in the example or examples. It will be further understood that the features and benefits described throughout this specification are not necessarily all-inclusive and that not all examples of the application necessarily include all features and benefits.
[0196] The described features, advantages, and characteristics of the one example can be combined in any suitable manner in one or more other examples. Those skilled in the relevant art will recognize that the examples described herein can be practiced with one or more of the specific features or advantages of a particular example without resorting to the others. In other cases, additional features and advantages can be recognized in a certain example without paying a price for them in other examples. Furthermore, while various examples of the system 100 and the method 1000 have been illustrated and described, modifications can come to mind of those skilled in the art upon reading the specification. The application is therefore included within the scope of the claims and is limited only by the scope of the claims.
[0197] This application claims priority to U.S. Application No. 63 / 632,096, filed April 10, 2024, the entire contents of which are incorporated herein by reference.
Claims
1. A system (100) for surface finishing, the system comprising: a model generator (102) configured to generate a model (104) representing at least a portion of a surface (118) of a component (106); a model analyzer (112) configured to analyze the model (104) to determine waviness (184) of the surface (118); as well as A path planner (212) is configured to generate a grinding plan (208).
2. The system (100) according to claim 1, further comprising: a measurement system (136) configured to generate measurement data (138) representative of the at least a portion of the surface (118) of the component (106), The measurement data (138) is used to generate the model (104).
3. The system (100) according to claim 1, further comprising: A robotic sander (204) is configured to sand the surface (118) according to the sanding plan (208).
4. The system (100) of claim 1, wherein: The model analyzer (112) is further configured to: determining an overall deviation (122) between the model (104) and a nominal model (124) of the component (106) in a normal direction (150); and An overall dimension (164) of the overall deviation (122) in the normal direction (150) is determined.
5. The system (100) according to claim 4, wherein The model analyzer (112) is further configured to perform a best fit alignment between the model (104) and the nominal model (124) of the component (106) to determine the overall deviation (122).
6. The system (100) of claim 4, wherein: The model analyzer (112) is further configured to: mapping the overall deviation (122) from an XYZ coordinate system (126) to a UVW coordinate system (128) such that the value (130) of the overall dimension (164) of the overall deviation (122) is represented along a W axis (152); and The value (130) of the overall dimension (164) of the overall deviation (122) is filtered into a shape deviation (132) and a ripple deviation (134).
7. A method (1000) of sanding the surface (118) using the system (100) according to claim 1.
8. A method (1000) for grinding a surface (118) of a component (106), the method (1000) comprising: Generate a model (104) of the component (106): analyzing the model (104) to determine waviness (184) of the surface (118); and A grinding plan (208) is generated for use by the robotic grinder (204).
9. A component (106) comprising a surface (118) ground according to the method (1000) of claim 8.
10. A non-transitory computer-readable medium (920) comprising program code (918) that, when executed by one or more processors (904), causes the one or more processors (904) to perform operations comprising: generating a model (104) of the component (106) from the measurement data (138); analyzing the model (104) to determine dimensions (218) of the corrugations (184) of the surface (118) of the component (106); and A sanding plan (208) is generated for use by a robotic sander (204) to remove the ripples (184).