Robotic laser ablation system with programmable surface fit movement path generation

By using a robotic laser ablation system, surface fitting algorithms and polynomial surface calculations are employed to automatically generate laser ablation paths, solving the problem of discrepancies between workpiece shape and CAD design, and achieving automated and precise control of laser ablation.

CN121892867APending Publication Date: 2026-04-21THE BOEING CO +1
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
THE BOEING CO
Filing Date
2025-09-25
Publication Date
2026-04-21

AI Technical Summary

Technical Problem

Existing technologies struggle to effectively address discrepancies between workpiece shape and CAD design caused by manufacturing variations and wear during use during laser ablation, resulting in inaccurate material removal. Furthermore, existing methods require significant manual intervention and resources.

Method used

A robotic laser ablation system is employed, which uses a robot, camera, and processing circuitry to generate a movement path based on the actual workpiece shape. Through surface fitting algorithms and polynomial surface calculations, the laser ablation path is automatically programmed to ensure precise alignment between the laser and the workpiece surface.

Benefits of technology

It automates the laser ablation process, reduces cycle time, improves the accuracy of material removal, avoids over- or under-ablation, and simplifies the path generation process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121892867A_ABST
    Figure CN121892867A_ABST
Patent Text Reader

Abstract

The invention relates to a robotic laser ablation system with programmable surface fit movement path generation. A robotic laser ablation system is described that includes a robot and processing circuitry. The robot has an end effector with a laser component and a camera mounted thereto. The processing circuitry is configured to, in response to the stored instructions, perform operations including: receiving an input image of the workpiece from the camera; segmenting the input image to produce an image segment depicting at least a portion of the workpiece; applying a surface fitting algorithm to generate a polynomial surface that fits to the surface in the image segment; calculating a set of surface normal vectors across the polynomial surface to generate a set of waypoints offset from the polynomial surface by an offset length; generating a moving path for linking the plurality of waypoints in a programming manner; and performing laser ablation on the surface of the portion of the workpiece based on the movement path.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure generally relates to robotic systems and methods for laser ablation. Specifically, this disclosure relates to an automated system and method for generating surface-fitting movement paths to perform laser ablation of a workpiece. Background Technology

[0002] Removing coatings such as paint from surfaces is a common task in various industrial environments, including aircraft manufacturing, maintenance, and repair. Existing techniques such as chemical stripping, plastic media blasting, and sanding each have their own associated drawbacks. Solvents used for paint stripping often have adverse environmental impacts, leading government agencies to regulate the use of these techniques and the disposal of hazardous waste they generate. While plastic media blasting avoids the use of such solvents, it still produces hazardous waste streams in the form of plastic media and removed coatings. Furthermore, sanding with hand tools imposes an ergonomic burden on the operator and can generate fine particles that require protective gear. Sanding can also lead to excessive material removal, especially when using hand tools.

[0003] One recently considered method for coating removal is laser ablation. Laser ablation can be performed in a closed environment with filters and scrubbers that effectively capture waste streams. Furthermore, laser ablation provides precise control over how much material is removed, avoiding over- or under-removal. One technical challenge associated with laser ablation of manufactured parts, both during manufacturing and downstream during repair and maintenance cycles, is that the precise shape of the workpiece differs from the ideal shape of the part (i.e., the shape specified by the original CAD model) due to manufacturing tolerances and wear on the part during use.

[0004] To properly control the laser during laser ablation, the precise distance between the laser and the part must be known; otherwise, too much or too little material may be removed. Currently, laser ablation involves (1) manually creating the laser path using part CAD and (2) manually programming a robot to follow the ablation path adapted to the dimensions of the scanned part. This work is time-intensive, requires a robust support infrastructure including robot programmers and laser technicians for large-scale implementation, and fails to account for the differences between the actual part "as is" and the CAD design on which the part was originally based. There are opportunities to improve this laser ablation process to enable the large-scale adoption of these techniques. Summary of the Invention

[0005] In view of the above, a robotic laser ablation system is provided, the robotic laser ablation system comprising: a robot having an end effector configured to move with multiple degrees of freedom; a laser component mounted to the end effector; a camera configured to capture light and depth information in an input image of a workpiece; and processing circuitry and an associated memory storing instructions for the processing circuitry. When the stored instructions are executed, the instructions cause the processing circuitry to: receive the input image; segment the input image to generate an image fragment depicting at least a portion of the workpiece; apply a surface fitting algorithm to generate a polynomial surface fitted to the surface in the image fragment; calculate a set of surface normal vectors across the polynomial surface and generate a set of waypoints offset from the polynomial surface by an offset length; programmatically generate a movement path linking the plurality of waypoints; and perform laser ablation on the surface of the portion of the workpiece using the laser component by moving the end effector of the robot based on the movement path.

[0006] This robotic laser ablation system offers the following potential beneficial technical effects: it programmatically generates a movement path based on scanning of the actual workpiece (whose shape may vary due to manufacturing differences or wear and tear during use, compared to the workpiece's CAD design), providing precise control over the offset distance from the laser to the actual workpiece surface during laser ablation to avoid over-ablation or under-ablation, and has the additional benefit of reduced cycle time compared to fully manual path preparation.

[0007] This summary is provided to present, in a simplified form, the selection of concepts further described in the following detailed description. This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to the implementation of solutions to any or all the shortcomings mentioned in any part of this disclosure. Attached Figure Description

[0008] Figure 1 A robotic laser ablation system according to one embodiment of the present disclosure is shown.

[0009] Figure 2 This is a flowchart illustrating the processing flow of a laser ablation method according to one embodiment of the present disclosure.

[0010] Figure 3 It shows the result of Figure 1 The robotic laser ablation system achieves Figure 2 The example diagram illustrates the processing flow of the laser ablation method.

[0011] Figure 4 It is based on Figure 2Laser ablation method along the direction of Figure 1 A detailed view of a robot-controlled laser ablation system that moves along a constructed path while ablating a workpiece.

[0012] Figure 5 It is possible Figure 1 A schematic diagram of an example computational system used in a robotic laser ablation system. Detailed Implementation

[0013] Figure 1 A robotic laser ablation system 100 is illustrated, which is an example of a system suitable for implementing the techniques described herein. As depicted, the robotic laser ablation system 100 includes a robot 102 configured to operate on a workpiece 120. In one example, the robot 102 and the workpiece 120 may be housed in a containment chamber configured with a filtration system for collecting airborne dust and debris. The robot includes a base 102A, an actuator 103 coupled to the base 102A, an end effector 104 mounted to the end of the actuator 103, and a laser component 106 and a camera 108 mounted to the end effector 104. The laser component 106 may include a laser source 106A and a laser guiding optics element 106B (e.g., a scanner, mirror, lens, waveguide, etc.). It should be understood that in some embodiments, both the laser source 106A and the laser guiding optics element 106B of the laser component 106 are mounted to the end effector 104. In other embodiments, the laser source 106A of the laser component 106 may be mounted outside the robot, and the end effector may carry the laser guiding optics 106B of the laser component 106, which redirects the laser from the laser source to a target area on the workpiece 120. The actuator 103 may be mechanical, hydraulic, pneumatic, or electric in nature and is configured to move the end effector 104 with multiple degrees of freedom. An associated computing device 110 may be communicatively coupled to the robot 102 via a wired or wireless connection 111, which may include a computer network.

[0014] The computing device 110 controls and directs the movements of the robot 102 (including an end effector 104, a laser component 106, and a camera 108). The computing device 110 includes processing circuitry 112 and an associated memory 114 storing instructions for the processing circuitry 112. These instructions can be executed to implement a laser ablation procedure 113, which includes a camera module 113A, a segmentation module 113B, a surface fitting module 113C, a path generation module 113D, and a driver module 113E, the functions of which will be described below. The laser ablation procedure 113 of the computing device 110 is configured to display a graphical user interface (GUI) 116 on a display 110A associated with the computing device 110. As shown, the GUI 116 displays an example image 118 captured by the camera 108, and controls 116A for user input regarding the laser ablation procedure 113.

[0015] As shown in the figure, robot 102 has an actuator 103 in the form of a repositionable arm, and an end effector 104 is attached to the distal end of the actuator. Therefore, robot 102 of the robotic laser ablation system 100 is configured to move the end effector 104 with multiple degrees of freedom (DOF). The DOF of the end effector 104 refers to the independent manner in which the end effector can move in three-dimensional (3D) space.

[0016] In some embodiments, the end effector 104 may have three degrees of freedom for movement in position space (e.g., x (left / right), y (up / down), and z (forward / backward)). In other embodiments, the end effector 104 may have an additional three degrees of freedom for changing orientation (e.g., pitch, yaw, and roll). Other embodiments may have multiple degrees of freedom with different numbers to accommodate changes in movement and / or orientation in position space (e.g., placing the robot on a straight track).

[0017] Both the laser component 106 and the camera 108 are mounted to the end effector 104 and can be positioned with their sides 122 facing the workpiece 120. The path of the concentrated laser beam 124 from the laser component 106 during ablation of the surface of the workpiece 120 is shown in dashed lines. The field of view 126 of the camera 108, along with the camera axis 130 centered on the field of view of the camera 108, is shown in dashed lines. A predetermined three-dimensional offset between the camera axis 130 and the laser beam 124 is saved as the setting of the laser ablation procedure 113 and, as part of the laser ablation procedure 113, data is converted between camera coordinates and laser coordinates. Alternatively or alternatively, the camera 108A can be mounted in a location other than on the end effector 104 with an orientation that includes the field of view of the workpiece 120, such as the overhead mounting position depicted. In addition to or as an alternative to the cameras 108, 108A, a displacement sensor 109 can be disposed on the end effector 104 or in another mounting position having the field of view of the workpiece. The displacement sensor 109 may be a laser displacement sensor or the like. The displacement sensor 109 is configured to perform a high-resolution depth scan of the surface (e.g., side 122) of the workpiece 120. In addition to or alternatively to the cameras 108, 108A and the displacement sensor 109, an advanced topological optical scanner (ATOS) may be employed.

[0018] Workpiece 120 can be a part, component, mechanism, hardware, piece, assembly, element, etc., that can be the object of laser ablation. The side 122 of workpiece 120 is the object whose image is captured by camera 108 and ultimately ablated by laser component 106. More specifically, the side 122 of workpiece 120 includes one or more surfaces. Although schematically depicted as a cube, it will be understood in practice that workpiece 120 can have complex shapes. Thus, each surface of workpiece 120 can be a two-dimensional surface of a three-dimensional workpiece, which can be a flat or curved two-dimensional surface. Examples of aircraft components that can be used as workpiece 120 include smaller components (e.g., doors, hinges, and fasteners) and larger components (e.g., fuselage sections and landing gear assemblies). As can be understood, the surfaces of workpiece 120 can therefore be flat, curved, or have complex shapes with flat and curved sections. In some embodiments, robot 102 is configured to position laser component 106, for example, via multiple degrees of freedom in actuator 103 and / or via a rotating turntable mounted on workpiece 120, to ablate from more than one side 122 of workpiece 120.

[0019] The laser component 106 is configured to perform laser ablation on the surface of the side 122 facing the workpiece 120. Laser ablation is a general technique for the precise removal of material from a surface. For example, as some examples, laser ablation can be used to complete material removal, to reapply protective surface coatings such as paint, to remove oxide layers, and for cleaning, cutting, drilling, and engraving.

[0020] Camera 108 is configured to capture an input image 118 of workpiece 120. The input image 118 includes color and depth information for each of a plurality of pixels in the input image 118. Camera 108 may be, for example, a 3D depth camera configured to capture both color and depth information. The depth camera may emit invisible light with a structured pattern and measure the pattern to determine depth, or it may use time-of-flight or other stereo techniques to determine depth. Furthermore, the depth camera may utilize LiDAR (Light Detection and Ranging) technology, which measures depth by emitting laser pulses and calculating the time it takes for the reflected light to return. CMOS, CCD, or other sensors may be used to collect color information for each pixel in the captured image. The depth information may be collected pixel-by-pixel and used to create a three-dimensional map of the surface of workpiece 120. The color information may be used together with the depth information for image processing (e.g., segmenting the input image 118 to characterize regions of interest containing the workpiece, as described below).

[0021] When the instructions stored in memory 114 are executed by processing circuit 112, the instructions cause processing circuit 112 to implement laser ablation procedure 113, the constituent modules of which are configured to perform the following operations: Camera module 113A is configured to receive input image 118 (such as image 118) from camera 108. Camera module 113A may be configured to perform initial image processing on input image 118 (such as adjusting contrast, brightness, cropping, or other image processing techniques to facilitate downstream processing). Segmentation module 113B is configured to segment input image 118 to produce image segments depicting at least a portion of workpiece 120. It will be understood that image segments are typically smaller portions of the input image (e.g., regions of interest), and in order to perform image segmentation, segmentation module 113B is configured to identify a portion of workpiece 120 within input image 118 and to divide workpiece 120 in input image 118 by, for example, defining boundaries around it for creating image segments. Reference is made below to workpiece 320 and Figure 3 Describe in detail the appropriate techniques for doing this. Figure 3 yes Figure 1 Example of workpiece 120.

[0022] The surface fitting module 113C receives image segments from the segmentation module 113B and is configured to apply a surface fitting algorithm to generate a polynomial surface fitted to the surface in the image segments. It should be understood that the camera 108 can be a depth camera as described above, configured to capture color and depth information on a pixel-by-pixel basis. Therefore, the image segment contains a set of pixels defined not only by their RGB color values ​​and xy positions in the input image pixel array, but also by the depth value of each pixel. Based on this x, y, and depth information, discrete parameterized values ​​of the surface of the workpiece 120 can be determined. The surface fitting module 113C is configured to generate a continuous polynomial surface approximating the parameterized surface, as described in further detail below.

[0023] The path generation module 113D is configured to receive a polynomial surface from the surface fitting module 113C and compute a set of surface normal vectors across the polynomial surface to generate, for example, a path in... Figure 4 At the xy position in, for example in Figure 4 The waypoints in the z-direction offset from the polynomial surface by the offset length (see [reference]). Figure 4 The set of 142). The path generation module 113D is further configured to programmatically generate movement paths linking multiple waypoints (see 142). Figure 4 (146 in the text). In this way, a movement path 146 that maintains a constant distance from the actual surface of the workpiece 120 can be generated in three-dimensional space to ensure that the laser beam is properly focused relative to the surface of the part, so as to more effectively control ablation and thus suppress over-ablation or under-ablation.

[0024] The driver module 113E is configured to receive the movement path 146 and output control commands to the robot 102 and the laser component 106, thereby performing laser ablation on a portion of the surface of the workpiece 120 using the laser component 106 based on the movement path 146. This has the following dual technical effects: automating the process of generating the movement path for the laser, saving time and computational resources compared to manual path generation, and also helping to reduce over-ablation or under-ablation of the material by reducing the error in the distance between the laser component 106 and the ablation surface of the workpiece 120 by basing the movement path on the actual shape of the scanned workpiece rather than on an idealized CAD representation of the workpiece. References will follow below. Figures 2 to 4 Further explanation of this process.

[0025] Figure 2 A flowchart of an example computerized method 200 according to an exemplary embodiment of the present disclosure is shown. For ease of understanding, Figure 3 An example illustration of the computerized method 200 is shown in the processing flow 300. Figure 1The laser ablation system 100 is configured to implement the illustrated method 200. Therefore, method 200 and the illustrated processing flow 300 will be described together as being implemented by the laser ablation system 100. However, it should be understood that method 200 can be implemented with other suitable hardware and software.

[0026] At step 202, method 200 includes providing a workpiece (such as workpiece 120 described above). Figure 302 depicts a workpiece 320 similar to workpiece 120 described above. More specifically, system 100 may be configured to provide workpiece 320 such that side 322 faces the camera and laser component. Side 322 includes one or more surfaces that will be imaged by camera 108 and ablated by laser component 106.

[0027] System 100 can accomplish this actively or passively. Actively, the system can use robot 102 to pick up and place one or more workpieces 320. Passively, the system can accomplish this by providing a suitable position for a worker to manually place one or more workpieces 320 in the appropriate position and orientation on which robot 102 of the robotic laser ablation system 100 can operate effectively.

[0028] At step 204, method 200 includes receiving an input image (such as...) Figure 1 Example image 118 shown). This step can be performed by the camera module 113A of the system 100 as described above. Figure 3 Figure 304 shows the input image 324 of the captured workpiece 320. As described above, a depth camera can be used as the camera 108 for capturing the input image. Also as described above, the input image includes both color information and depth information for each of the multiple pixels in the input image.

[0029] At step 205, method 200 includes segmenting the input image to generate a segmented image of at least a portion of the workpiece. This step can be performed by the segmentation module 113B described above. Segmenting the input image at 205 may include identifying seed points in the input image at step 206, and implementing a segmentation algorithm based on the seed points at 208, as further described below. Figure 3 The graphical representation 306 in the image includes an example of a segmented version of the input image 324 containing the workpiece 320. A seed point 328 is selected such that the seed point lies within a segment 326 of the input image 324 containing the workpiece 320. More specifically, segment 326 is a region of pixels in the input image 324 that depicts a portion of the surface of the workpiece 320. Thus, using a segmentation algorithm (discussed below), the seed point 328 effectively identifies a region of pixels in the input image that depicts a portion of the surface of the workpiece 320.

[0030] Seed point identification can be accomplished in several ways. For example, seed point identification can be done at least in part by obtaining user selection of seed points via a GUI. Providing this manual selection allows users (e.g., skilled professionals) to directly select points within a region of interest. Even with this expert input, this technique saves time compared to existing methods that involve manually generating each complete movement path. One way to perform manual selection is by obtaining user selection of seed points via a GUI. Figure 1 As shown, computing device 110 employs GUI 116, which displays an example image 118 captured by camera 108. GUI 116 is an example of a GUI that can be used to manually select seed points from a user. In one example, selection can be made using mouse clicks. In another example, a virtual or physical four-way directional pad can be provided to move and select the cursor at the desired seed point location. In yet another example, candidate seed points can be identified by a computer vision algorithm, and GUI 116 can provide an energy representation to switch candidates and select the appropriate seed point.

[0031] As an alternative to the manual selection discussed above, the identification of seed points can be accomplished at least in part by programmatically determining seed points based on deterministic criteria (e.g., thresholds). Examples of such programmatic techniques that can be used to select seed points for image segmentation include shortest distance from the point to the camera; foreground / background separation; intensity-based methods; gradient-based methods; feature-based methods; and machine learning-based methods.

[0032] The point-to-camera shortest distance method uses depth information to identify the point in the image closest to the camera as a seed, which is particularly effective for scenes where foreground objects are significantly closer. Another approach involves separating the foreground and background and then calculating the centroid of the foreground region to use as a seed point. Intensity-based methods, such as histogram analysis and adaptive thresholding, can also be used to identify potential seed regions by leveraging variations in pixel intensity. Gradient-based methods can identify edges or local variations in pixel values ​​to identify seed points.

[0033] Feature-based methods employ techniques such as SIFT / SURF (Scale-Invariant Feature Transform / Accelerated Robust Feature) keypoint detection or corner detection to identify unique local features as seed points. Machine learning methods, such as using a neural network classifier trained for semantic segmentation, can also be leveraged to propose seed points or regions. For video processing, motion-based methods, such as optical flow or background subtraction, can effectively identify moving objects as potential seed points. Saliency detection techniques based on visual attention models, designed to identify regions that stand out from the surrounding environment, can also be used to identify seed points.

[0034] At step 208, the method includes: using seed points to implement a segmentation algorithm to identify regions of pixels in the input image that depict a portion of the workpiece's surface. It should be understood that each pixel in the region has associated two-dimensional (2D) coordinates in the input image and associated depth coordinates from the camera to the surface. Graphical representation 308 depicts the result of the segmentation algorithm, showing only a fragment 326 of image 324 that has been segmented from the input image 324. Fragment 326 is a region of pixels in the input image 324 that depict a portion of the surface of interest of the workpiece 320.

[0035] Here, the number and size of surfaces of interest can vary considerably. For example, a surface of interest can be a single one (e.g., a fuselage section) or there can be multiple surfaces of interest (multiple small parts on a tray). Surfaces of interest can be small (e.g., fasteners) or quite large (e.g., landing gear assemblies). For smaller parts, cycle time can be reduced by imaging and ablating multiple parts in a single ablation session.

[0036] The segmentation algorithm described herein refers to the process by which segmentation module 113B divides an input image into two or more segments or parts, wherein at least one segment depicts a workpiece 320. The segmentation algorithm assigns labels to pixels that share certain characteristics indicative of the target segments (e.g., workpiece or background). Example segmentation algorithms that can be used include thresholding methods, edge detection techniques, region-based segmentation, clustering-based segmentation, and neural network-based methods.

[0037] The following describes an example threshold segmentation algorithm.

[0038] • Read the input image;

[0039] • If the image is in color, convert it to grayscale;

[0040] • Select a threshold (e.g., 128 represents medium gray);

[0041] • Traverse each pixel of the image:

[0042] If the pixel value is greater than the threshold, then set it to white (255).

[0043] o If the pixel value is less than or equal to the threshold, then set it to black (0);

[0044] • Output the generated binary image.

[0045] This example segmentation algorithm divides the image into two regions: one region contains all pixels brighter than a threshold (set to white), and the other region contains all pixels darker than a threshold (set to black).

[0046] Another example segmentation algorithm uses the K-means clustering method. This method segments an image by grouping pixels with similar color features. Below is an example K-means clustering algorithm.

[0047] • Read the input image;

[0048] • Convert the image to the desired color space;

[0049] • Reshape the image into a list of pixels;

[0050] • Apply K-means clustering to cluster pixels into K color space clusters;

[0051] • Assign each pixel to its corresponding cluster;

[0052] • Create a segmented image with K image fragments.

[0053] The algorithms described above segment an image into a specified number (K) of clusters based on color similarity. For example, the K-means algorithm can segment an image based on pixel values ​​in the input image, producing a segmented image where each segment is represented by the average color of its cluster.

[0054] Some implementations of segmenting the input image by steps 206 and / or 208 may employ image segmentation models. Examples of such suitable segmentation models include semantic segmentation models, instance segmentation models, panoptic segmentation models, edge detection models, region-based segmentation models, clustering-based segmentation models, attention-based segmentation models, real-time segmentation models, nearest neighbor segmentation models, and Segmentation Arbitrary Model (SAM), as described below.

[0055] • Semantic segmentation models: These models assign a category label to each pixel in an image. Examples include U-Net, FCN (Fully Convolutional Network), and DeepLab.

[0056] • Instance segmentation models: These models identify and segment individual object instances. Mask R-CNN is a prominent example.

[0057] • Panoramic segmentation models: These models combine semantic and instance segmentation, assigning a class and instance ID to each pixel. DETR with a panoramic view is one example.

[0058] • Edge detection models: These models focus on finding boundaries between regions, such as Canny edge detection or HED (holistic nested edge detection).

[0059] • Region-based segmentation models: These models grow regions from seed points, such as traditional region growing algorithms or deep learning versions (such as DeepIGeoS).

[0060] • Clustering-based segmentation models: These models group similar pixels, including K-means clustering and deep clustering methods.

[0061] • Attention-based segmentation models: These models use attention mechanisms to focus on relevant parts of the image, such as SETR (Segment Transformer).

[0062] • Real-time segmentation models: These models are optimized for speed and include ENet and SwiftNet.

[0063] • Nearest Neighbor Segmentation Models: These models classify pixels based on the labels of their nearest neighbors in the feature space. While traditionally used for handcrafted features, they can also be applied to deep feature representations. One example is the K-Nearest Neighbor (KNN) algorithm, which is suitable for segmentation tasks.

[0064] • Segmentation Arbitrary Model (SAM): Developed by Meta AI, SAM is a cue-based segmentation model designed to segment any object in an image based on various types of cues (points, boxes, or text). This model is flexible and can generally generalize to new objects and images without requiring additional training.

[0065] At step 210, method 200 includes applying a surface fitting algorithm to generate a polynomial surface (e.g., a cubic polynomial) fitted to the surface in the segmented image. For example, this step can be performed by the surface fitting module 113C described above. Figure 3 The graphical representation 310 in the figure shows a depiction of the polynomial surface 330 fitted to the segmented image. A cubic polynomial is fitted to the surface as an approximation of the surface in the segmented image. This process resolves noise in the scan and obtains a smooth estimate of the surface. Alternatively, a polynomial of another degree can be chosen, as the technique is not limited to cubic polynomials.

[0066] Surface fitting algorithms use mathematical techniques to approximate a continuous polynomial surface from discrete data points in multidimensional space (i.e., x, y, and z (depth) values ​​from the input image received from camera 108). The goal of surface fitting algorithms is to find the polynomial function that best fits the parameterized image data within an acceptable margin of error. This process typically involves determining the coefficients of the polynomial equation. The degree of the polynomial can be chosen based on a trade-off between fitting accuracy and computational complexity. Low-degree polynomials (e.g., bilinear or biquadratic functions) offer simplicity and speed but may miss fine details, while high-degree polynomials (e.g., bicubic or higher-order functions) can capture more complex surface features, but at the cost of increased computational requirements and potential overfitting.

[0067] The fitting process can employ least-squares optimization to minimize the sum of squared differences between the polynomial surface and the actual data points. If needed, this method can be extended to weighted least squares to account for data reliability or importance. Surface fitting algorithms can also incorporate techniques to handle outliers or noise in the data, ensuring a smooth and representative surface. Some implementations can use adaptive degree selection or piecewise polynomial fitting to optimize the balance between accuracy and efficiency across different regions of the data space. The resulting polynomial surface provides a continuous mathematical representation of the original discrete data in fragments 326 of the input image 324, enabling interpolation, analysis, and visualization of latent patterns and trends in the dataset.

[0068] Below is an example of the steps to complete the basic polynomial surface fitting algorithm.

[0069] • Collect input data points (x, y, z coordinates of the input image);

[0070] • Choose the degree of the polynomial (e.g., 2 represents a biquadratic polynomial);

[0071] • Construct the design matrix using the input coordinates;

[0072] • Formulate the normal equation;

[0073] • Solve the system of equations to find the coefficients of the polynomial;

[0074] • Construct a fitting surface function using coefficients.

[0075] This example demonstrates fitting a biquadratic or other polynomial surface to discrete data. The algorithm constructs a design matrix, solves for the coefficients (e.g., using least squares), and returns the fitted surface function and its coefficients.

[0076] Another example of a polynomial surface fitting algorithm uses radial basis functions (RBF) for surface fitting. RBF interpolation is particularly useful for scattered data points and can handle more complex surface shapes. The steps of this algorithm are outlined below.

[0077] • Collect input data points (x, y, z coordinates);

[0078] • Choose a radial basis function (e.g., Gaussian);

[0079] • Construct the interpolation matrix;

[0080] • Solving for the RBF coefficients;

[0081] • Create a fitted surface function.

[0082] The RBF method creates a smooth surface that passes through all data points and can accommodate irregularly spaced data points to represent complex surface shapes. Various RBF types can be utilized, including quadratic, Gaussian, linear, cubic, and others.

[0083] like Figure 2 As shown in step 212, method 200 includes calculating a set of surface normal vectors across the polynomial surface to generate a set of waypoints with calculated offset lengths from the polynomial surface. In one embodiment, the calculated offset lengths can be uniform. Assuming the workpiece material is uniform, a uniform ablation depth can be obtained when uniform energy is applied to the laser from a uniform offset distance. In other embodiments, the calculated offset lengths can vary for a subset of waypoints. The ablation depth of the laser can be controlled using varying offset distances. One potential application is as follows: The workpiece may have a coating that is thicker in one segment than in another. For the thicker segment, a larger removal depth can be obtained by calculating a smaller offset, resulting in ablation from a closer location. For the thinner segment, a larger offset can be calculated, resulting in a smaller ablation depth. For fine-tuning in addition to or as an alternative to adjustments in the movement path, a z-adjustment mechanism can be added to the laser assembly to adjust the focus of the laser beam itself, thereby slightly increasing or decreasing the ablation depth.

[0084] Figure 1 The path generation module 113D of system 100 is configured to perform this step. Figure 3 The graphical representation 312 shows a set 331 of waypoints 142, which are shown as uniform offset lengths (i.e., the lengths of the surface normal vectors) from the polynomial surface 330. Figure 4 An example of a polynomial surface 330 is shown in more detail, having a surface normal vector 140 extending along the normal direction from the origin 144 on the polynomial surface 330 to a uniform distance on the polynomial surface 330 and terminating at waypoint 142. Waypoints 142 may be uniformly spaced or spaced according to a varying density function. To calculate the positions of the waypoints, the path generation module 113D calculates the normal vector from the origin 144 on the polynomial surface 330, thereby establishing the position of each waypoint 142. For example, the origin 144 can be determined by overlaying or projecting a mesh onto the polynomial surface.

[0085] like Figure 2 As shown in step 214, the method includes defining a two-dimensional (2D) frame containing a corresponding subset of waypoints. An example of a two-dimensional frame is shown in... Figure 4 The illustration shows positions 314 and 148. Two-dimensional frame 148 is planar and used to align waypoints into the plane. Although in Figure 4A pair of two-dimensional frames 148 are shown, but it should be understood that multiple two-dimensional frames 148 are defined across the polynomial surface 330. The two-dimensional frames 148 are parallel to each other, spaced apart by a calculated distance (which may be uniform or vary according to a function), and slice through the polynomial surface 330 at intervals. Waypoints 142 are fitted into the two-dimensional frames 148. By fitting waypoints 142 to the two-dimensional frames 148, a movement path 146 can be generated in the next step discussed below, which has minimal back-and-forth wavy movement due to the planar alignment of the waypoints.

[0086] exist Figure 2 At step 216, method 200 further includes programmatically generating a movement path for the link waypoints. This step is... Figure 1 The path generation module 113D is executed. Figure 4 Example movement path 146 is shown in the image. Figure 4 As shown, sub-paths 146A of the movement path 146 link a subset of waypoints 142 in each 2D frame 148. The system 100 programmatically generates the movement path 146 in camera space. The processing circuitry 112 can be configured to translate the movement path 146 into the reference frame of the robot 102. The robot 102 can then be guided to move its actuators 103 and end effectors 104 to move the laser component 106 along the movement path 146. Figure 3 Figure 316 shows an example robot 102 configured to move the laser component 106 along a transformed movement path 146 in the robot reference frame, and Figure 4 Additional detailed illustrations are provided showing the robot 102 moving the laser component 106 along the movement path 146.

[0087] like Figure 4 As shown, the movement path 146 can be a serpentine grating path. A serpentine grating path, also known as a serpentine or meandering pattern, is a systematic movement path. It covers an area of ​​the surface 326 of the workpiece 320 in a back-and-forth pattern, starting from one corner and moving across the surface 326 in parallel lines while alternating directions. This method facilitates efficient and uniform coverage of rectangular or square areas, minimizes unproductive movement, and allows for continuous movement. The movement path 146 is easily adaptable to different sizes and resolutions, and its predictable nature simplifies programming and operator situational awareness. In processes such as laser ablation, it enables consistent processing on the target surface, thereby improving the uniform quality of material removal from the target surface.

[0088] Other implementations can employ different movement path patterns. Helical paths can be used for circular regions or concentrated energy areas. Concentric paths (following the shape from the outside in and vice versa) are effective for maintaining consistent edge quality. Vector paths are suitable for complex shapes or selective ablation, following predefined contours. Crosshair patterns combined with vertical grating movement are useful for uniform ablation depth or creating textured surfaces. Radial paths moving along a line from a center point can be used for circular or spherical surfaces. Adaptive systems can use paths that adjust in real time based on sensor feedback, allowing for accuracy on irregular surfaces.

[0089] As described above, the entire movement path 146 can be divided into sub-paths 146A, each sub-path 146A linking a subset of waypoints 142 within a 2D frame 148, indicating that movement is planned within a 2D slice of 3D space. Initially, the system 100 generates the movement path 146 in camera space, which is related to the viewpoint of the camera observing the environment. In some embodiments, the system 100 transforms this camera space path to the reference frame of the robot 102. This transformation allows the robot 102 to understand and perform movement relative to the position and orientation of the laser component 106 of the end effector 104 attached to the robot 102, rather than the viewpoint of the camera. By transforming the movement path 146 to the robot coordinate system, the movement path 146 can be compatible with robot actuators and other robot-specific software.

[0090] exist Figure 2 At step 218, method 200 includes performing laser ablation of the surface of said portion of the workpiece by: moving the robot to travel a laser component mounted on an end effector along a converted movement path; and intermittently or continuously stimulating the laser as it travels along the converted movement path. Figure 1 The driver module 113E can be configured to perform this step. Figure 4 The diagram illustrates a laser component 106 traveling along a movement path 146, continuously emitting a focused, excited laser beam 124 at the surface 326 of the workpiece 320 during movement. In some embodiments, the laser component 106 may move to a static position, pausing at each waypoint 142 (also known as tiling ablation) to allow laser ablation to occur while the robot is stationary relative to the workpiece surface. In other embodiments, the laser source 106A of the laser component 106 may be excited as the robot 102 moves the effector 104 relative to the workpiece surface (also known as sequential ablation). This method can be configured to use a "bowtie" algorithm to generate parallel grating lines, as described below. In all these cases, the workpiece can move relative to a stationary laser component (e.g., a conveyor belt).

[0091] The "Bowtie" algorithm for laser ablation is a specialized movement path strategy designed to generate parallel grating lines despite relative movement between the scanner of the laser component and the part surface. A simple approach to continuous movement processing is to simply move the X-axis scanner mirror back and forth as the scanner of the laser component moves in the Y direction. This results in a classic zigzag pattern. This zigzag pattern is undesirable for many applications due to the degree of dot overlap caused by rows with correct spacing in the middle but significant overlap at the edges. This can produce hot spots or ridges instead of consistent material removal. To correct this, the "Bowtie" algorithm (named for the shape it produces when viewed from above) moves both the X and Y axes in a programmed mode while the scanner of the laser component moves continuously in the Y direction. The scanner mirror of the laser component moves backward across the scan field X-axis to account for the forward movement of the head, then "jumps" forward on the Y-axis to move backward across the scan field in the opposite direction. If the timing is correct, the algorithm compensates for the forward movement of the head, resulting in perfectly parallel grating lines.

[0092] Figure 318 shows a workpiece 320 after a mosaic path of laser ablation patterns on the workpiece. The laser ablation pattern shown at the ablation zone 332 in Figure 318 is square. Other embodiments may be hexagonal, triangular, rectangular (e.g., other than square) or other shapes. The square ablation zone 332 represents one such laser ablation pattern of the executed path. Hexagonal patterns have less mosaic overlap and are therefore known to be more efficient. Hexagonal patterns make more efficient use of circular laser optics, increasing the total area that can be processed at each location. This minimizes the number of moves performed by robot 102 to achieve complete coverage. This also minimizes overlap to a maximum of three times, which is beneficial for certain applications. It is understood that the shape of the ablation zone can be changed as needed from one zone to another.

[0093] Step 218 uses laser ablation to remove material from surface 326 of workpiece 320. This method employs a robot 102 equipped with a laser component 106 mounted on its end effector 104, which is the part of the robot 102 that directly interacts with workpiece 320. Movement of the robot 102 is achieved through... Figure 4The pre-planned and converted movement path 146 shown guides the precise positioning of the laser component 106 on the target area. As the robot 102 moves along this carefully calculated trajectory, the laser source 106A of the laser component 106 is continuously activated or intermittently pulsed. This controlled excitation of the laser allows for precise material removal from the surface 326 of the workpiece 320. Intermittent activation can be used to create specific patterns or to control the ablation depth, while continuous excitation can be used for more uniform material removal or cutting. The converted movement path 146 can take into account the kinematics of the robot 102 and specific parameters of the ablation process, such as speed and approach angle. This robotic laser ablation method combines elements of robotics, motion control, laser technology, and material handling to achieve high-precision and repeatable surface modification or material removal.

[0094] In some embodiments, step 218 includes an ablation quality control process. That is, during or after laser ablation, the workpiece 320 is inspected to determine whether the quality meets predetermined criteria, such as the amount of material removed. This quality control process may include: camera 108 is further configured to capture a confirming image of the surface 326 of a portion of the workpiece 320 during and / or after laser ablation is performed on the surface 326 of a portion of the workpiece 320. The quality control process may further include: processing circuitry 112 is further configured to: determine, based on the confirming image, that the quality of laser ablation on the surface 326 of the portion of the workpiece 320 is insufficient (based on some predefined criteria); and in response to this determination, perform further laser ablation on the surface 326 of said portion of the workpiece 320.

[0095] In some implementations, the surface being processed (e.g., Figure 3 The surface 326 of the workpiece 320 may contain areas that should not be subjected to ablation treatment (referred to as restricted areas). In some embodiments, these areas may be identified by a user through manual selection using a GUI (such as GUI 116 of computing device 110). In other embodiments, these areas may be automatically determined based on criteria determined in a programmatic manner.

[0096] These restricted areas can represent various features or critical areas on the workpiece 320. For example, they can be pre-existing holes or openings used for functional purposes and which must remain intact. Alternatively, they can be sensitive areas such as seals, precision-engineered surfaces, or areas with specific coatings to be preserved. The movement path 146 of the laser component 106 can be carefully designed to navigate around these restricted areas, ensuring that the laser emitted by the laser component 106 does not interact with these protected areas. If appropriate, restricted areas can be formally designated within a safety-level movement control system (such as Kuka SafeOperate, ABB SafeMove, or similar systems) to ensure further protection by preventing robots from entering restricted areas or preventing laser emission on designated surfaces. This level of control over the movement procedure helps maintain the integrity of the workpiece 320 while still achieving the desired ablation results in the surrounding areas.

[0097] In one or more embodiments described herein, a single input image is captured, which allows the object surface to be flat or have gentle curves. The gentle curves can be in one, two, or three directions. However, in other embodiments, multiple images of the workpiece 320 can be captured, and these images can be stitched together to create a movement path 146 that travels along a surface with complex curvature or is too large to be captured in a single image.

[0098] In one or more embodiments, multiple regions of the complex surface 326 can be imaged individually, and the images are stitched together to create a movement path 146 over the complex surface 326 (e.g., a ball or landing gear).

[0099] Figure 5 A non-limiting embodiment of a computing system 400 that can implement one or more of the methods and processes described above is schematically illustrated. The computing system 400 is shown in a simplified form. The computing system 400 can implement other computing system embodiments described above. The computing system 400 includes processing circuitry 402, volatile memory 404, and non-volatile storage device 406. The computing system 400 may optionally include a display subsystem 408, an input subsystem 410, a communication subsystem 412, and / or other components not shown.

[0100] Processing circuitry typically includes one or more processors, which are physical devices configured to execute instructions. For example, processing circuitry can be configured to execute instructions that are part of one or more applications, programs, routines, libraries, objects, components, data structures, or other logical constructs. Such instructions can be implemented to perform tasks, implement data types, change the state of one or more components, achieve technical effects, or otherwise achieve desired results.

[0101] The processing circuitry may include one or more physical processors configured to execute software instructions. Additionally or alternatively, the processing circuitry may include one or more hardware logic circuits or firmware devices configured to execute hardware-implemented logic or firmware instructions. The processor of processing circuitry 402 may be single-core or multi-core, and the instructions executed thereon may be configured for sequential, parallel, and / or distributed processing. Optionally, the various components of the processing circuitry may be distributed across two or more separate devices that may be remotely located and / or configured for coordinated processing. For example, aspects of the computing system disclosed herein may be virtualized and executed by remotely accessible networked computing devices configured in a cloud computing configuration. In this case, it will be understood that these virtualized aspects operate on different physical processing circuits across various machines. These different physical processing circuits across different machines will be understood to be collectively covered by processing circuitry 402.

[0102] The non-volatile storage device 406 includes one or more physical devices configured to hold instructions executable by processing circuitry to implement the methods and processes described herein. When implementing such methods and processes, the state of the non-volatile storage device 406 can be changed, for example, to maintain different data.

[0103] Non-volatile storage device 406 may include removable and / or built-in physical devices. Non-volatile storage device 406 may include optical storage, semiconductor memory, and / or magnetic storage, or other high-capacity storage technologies. Non-volatile storage device 406 may include non-volatile, dynamic, static, read / write, read-only, sequential access, location-addressable, file-addressable, and / or content-addressable devices. It should be understood that non-volatile storage device 406 is configured to retain instructions even when power to non-volatile storage device 406 is cut off.

[0104] Volatile memory 404 may include a physical device comprising random access memory. Volatile memory 404 is typically used by processing circuitry 402 to temporarily store information during the processing of software instructions. It should be understood that when power to volatile memory 404 is cut off, volatile memory 404 typically does not continue storing instructions.

[0105] The processing circuitry 402, the volatile memory 404, and the non-volatile storage device 406 can be integrated together into one or more hardware logic components. For example, such hardware logic components may include field-programmable gate arrays (FPGAs), programmable and application-specific integrated circuits (PASICs / ASICs), programmable and application-specific standard products (PSSPs / ASSPs), system-on-a-chip (SoCs), and complex programmable logic devices (CPLDs).

[0106] The terms "module," "program," and "engine" can be used to describe aspects of a computing system 400 typically implemented in software by a processor to perform specific functions using portions of volatile memory, involving transformation processing specifically configured for that function. Thus, a module, program, or engine can be instantiated via processing circuitry 402 executing instructions held by non-volatile memory 406 using portions of volatile memory 404. It should be understood that different modules, programs, and / or engines can be instantiated from the same applications, services, code blocks, objects, libraries, routines, APIs, functions, etc. Similarly, the same module, program, and / or engine can be instantiated from different applications, services, code blocks, objects, routines, APIs, functions, etc. The terms "module," "program," and "engine" can encompass individual or grouped executable files, data files, libraries, drivers, scripts, database records, etc.

[0107] When included, the display subsystem 408 can be used to present a visual representation of the data held by the non-volatile storage device 406. The visual representation may take the form of a graphical user interface (GUI). When the methods and processes described herein change the data held by the non-volatile storage device and thus change the state of the non-volatile storage device, the state of the display subsystem 408 can also be changed to visually represent the changes in the underlying data. The display subsystem 408 may include one or more display devices utilizing virtually any type of technology. Such display devices may be combined with the processing circuitry 402, the volatile memory 404, and / or the non-volatile storage device 406 in a shared housing, or such display devices may be peripheral display devices.

[0108] When the input subsystem 410 is included, the input subsystem 410 may include one or more user input devices or interface with one or more user input devices, such as a keyboard, mouse, touch screen, camera or microphone.

[0109] When a communication subsystem 412 is included, the communication subsystem 412 can be configured to communicatively connect the various computing devices described herein to each other and to other devices. The communication subsystem 412 may include wired and / or wireless communication devices compatible with one or more different communication protocols. As a non-limiting example, the communication subsystem can be configured to communicate via wired or wireless local area networks or wide area networks, broadband cellular networks, etc. In some embodiments, the communication subsystem may allow the computing system 400 to send messages to and / or receive messages from other devices via a network such as the Internet.

[0110] In addition, this disclosure includes configurations based on the following examples.

[0111] Example 1. A robotic laser ablation system, the robotic laser ablation system comprising:

[0112] A robot having an end effector configured to move with multiple degrees of freedom;

[0113] A laser component, the laser component being mounted to the end effector;

[0114] A camera configured to capture light and depth information in an input image of a workpiece;

[0115] The processing circuitry and associated memory, the memory storing instructions that, when executed, cause the processing circuitry to perform the following operations:

[0116] Receive the input image;

[0117] The input image is segmented to generate image fragments that depict at least a portion of the workpiece;

[0118] A surface fitting algorithm is applied to generate a polynomial surface fitted to the surface in the image fragment;

[0119] Calculate the set of surface normal vectors across the polynomial surface and generate a set of waypoints offset from the polynomial surface by an offset length;

[0120] Programmatically generate movement paths that link multiple waypoints; and

[0121] The end effector of the robot is moved based on the movement path, and the laser component is used to perform laser ablation on the surface of the portion of the workpiece.

[0122] Example 2. The robotic laser ablation system according to Example 1, wherein the segmentation is accomplished at least in part by the following operations:

[0123] Identify seed points in the input image; and

[0124] The seed points are used to implement a segmentation algorithm to identify regions of pixels in the input image that depict a portion of the workpiece's surface, each pixel in the region having associated two-dimensional coordinates in the input image and associated depth coordinates from the camera to the surface.

[0125] Example 3. The robotic laser ablation system according to Example 2, wherein the processing circuitry is configured to display a confirmation selector on a graphical user interface, the confirmation selector being configured to receive user input confirming the seed point and / or confirming that the image fragment contains the surface.

[0126] Example 4. The robotic laser ablation system according to Example 2, wherein identifying the seed point is accomplished at least in part by the following operations:

[0127] The user selects the seed point via a graphical user interface; or

[0128] The seed point is determined programmatically based on established criteria.

[0129] Example 5. A robotic laser ablation system according to any one of Examples 1 to 4,

[0130] The processing circuit is configured to define two-dimensional frames containing corresponding subsets of the waypoints, wherein the subsets of waypoints in each two-dimensional frame are linked through sub-paths of the movement path.

[0131] The movement path is generated in camera space, and the processing circuitry is further configured to convert the movement path to the robot's reference frame.

[0132] Example 6. A robotic laser ablation system according to any one of Examples 1 to 5, wherein the laser component includes a laser source and / or laser guiding optics, and the laser ablation is performed by:

[0133] Move the robot so that the laser component mounted on the end effector travels along the movement path; and

[0134] As the laser component travels along the moving path, it intermittently or continuously excites the laser source.

[0135] Example 7. A robotic laser ablation system according to any one of Examples 1 to 6, wherein the processing circuitry is configured to segment the input image using a segmentation model selected from the group consisting of: semantic segmentation model, instance segmentation model, panorama segmentation model, edge detection model, region-based segmentation model, clustering-based segmentation model, attention-based segmentation model, real-time segmentation model, nearest neighbor segmentation model, and arbitrary segmentation model.

[0136] Example 8. A robotic laser ablation system according to any one of Examples 1 to 7, wherein the workpiece is one of a plurality of workpieces simultaneously captured in the image by the camera, and the segmentation performed by the processing circuitry further segments the input image into a plurality of image segments, each image segment containing a corresponding one of the plurality of workpieces.

[0137] Example 9. A robotic laser ablation system according to any one of Examples 1 to 8, wherein the laser ablation is applied in a square, rectangular, triangular and / or hexagonal pattern.

[0138] Example 10. A robotic laser ablation system according to any one of Examples 1 to 9, wherein:

[0139] The camera is further configured to capture a confirmed image of the surface of the portion of the workpiece during and / or after laser ablation is performed on the surface of the portion of the workpiece.

[0140] The processing circuit is further configured to:

[0141] Based on the confirmed image, it is determined that the laser ablation quality of the surface of the portion of the workpiece is insufficient; and

[0142] In response to the determination, further laser ablation is performed on the surface of the portion of the workpiece.

[0143] Example 11. A method for facilitating robotic laser ablation, the method comprising:

[0144] An input image of a workpiece is received from a camera mounted on an end effector of the robot, the end effector being configured to move with multiple degrees of freedom, and the camera being configured to capture light and depth information in the input image of the workpiece.

[0145] The input image is segmented to generate image fragments that depict at least a portion of the workpiece;

[0146] A surface fitting algorithm is applied to generate a polynomial surface fitted to the surface in the image fragment;

[0147] Calculate the set of surface normal vectors across the polynomial surface, and generate a set of waypoints offset from the polynomial surface by an offset length;

[0148] Programmatically generate movement paths linking multiple waypoints in the set of waypoints; and

[0149] Based on the movement path, a laser component mounted on the end effector of the robot is used to perform laser ablation on the surface of the portion of the workpiece.

[0150] Example 12. The method according to Example 11, wherein the segmentation is accomplished at least in part by the following operations:

[0151] Identify seed points in the input image; and

[0152] The seed points are used to implement a segmentation algorithm to identify regions of pixels in the input image that depict a portion of the workpiece's surface, each pixel in the region having associated two-dimensional coordinates in the input image and associated depth coordinates from the camera to the surface.

[0153] Example 13. The method according to Example 12, the method further comprising: displaying a confirmation selector on a graphical user interface, the confirmation selector being configured to receive user input confirming the seed point and / or confirming that the image fragment contains the surface.

[0154] Example 14. The method according to Example 12, wherein identifying the seed point is accomplished at least in part by the following operations:

[0155] The user selects the seed point via a graphical user interface; or

[0156] The seed point is determined programmatically based on established criteria.

[0157] Example 15. The method according to any one of Examples 11 to 14, the method further comprising: defining a two-dimensional frame containing a corresponding subset of the waypoints, wherein the subset of waypoints in each two-dimensional frame is linked by a sub-path of the movement path, and wherein the generation includes generating the movement path in camera space, and the processing circuitry is further configured to convert the movement path to the robot's reference frame.

[0158] Example 16. The method according to any one of Examples 11 to 15, wherein the laser component includes a laser source and / or laser guiding optics, and performing laser ablation includes:

[0159] Move the robot so that the laser component mounted on the end effector travels along the movement path; and

[0160] As the laser component travels along the moving path, it intermittently or continuously excites the laser source.

[0161] Example 17. The method according to any one of Examples 11 to 16, wherein the input image is segmented using a segmentation model selected from the group consisting of: semantic segmentation model, instance segmentation model, panoptic segmentation model, edge detection model, region-based segmentation model, clustering-based segmentation model, attention-based segmentation model, real-time segmentation model, nearest neighbor segmentation model, and arbitrary segmentation model.

[0162] Example 18. The method according to any one of Examples 11 to 17, wherein the workpiece is one of a plurality of workpieces simultaneously captured in the image by the camera, and the segmentation includes further segmenting the input image into a plurality of image segments, each image segment containing a corresponding one of the plurality of workpieces.

[0163] Example 19. The method according to any one of Examples 11 to 18, wherein the laser ablation is applied in a square, rectangular, triangular and / or hexagonal pattern.

[0164] Example 20. A robotic laser ablation system, the robotic laser ablation system comprising:

[0165] A robot configured to move an end effector with multiple degrees of freedom;

[0166] A laser component, the laser component being mounted to the end effector, the laser component including a laser source and / or laser guiding optics;

[0167] A camera, mounted to the end effector, is configured to capture an input image of a workpiece, the input image including color and depth information for each of a plurality of pixels in the input image;

[0168] The processing circuitry and associated memory, the memory storing instructions that, when executed, cause the processing circuitry to:

[0169] Receive the input image;

[0170] The input image is segmented at least partially by the following steps to generate a segmented image of at least a portion of the workpiece:

[0171] Identify seed points in the input image, wherein the identification of seed points is accomplished at least in part by the following operations:

[0172] The user selects the seed point via a graphical user interface; or

[0173] The seed points are determined programmatically based on established criteria.

[0174] The seed points are used to implement a segmentation algorithm to identify regions of pixels in the input image that depict a portion of the workpiece, each pixel in the region having associated two-dimensional coordinates in the input image and associated depth coordinates from the camera to the surface;

[0175] A surface fitting algorithm is applied to generate a polynomial surface fitted to the surface in the segmented image;

[0176] Calculate the set of surface normal vectors across the polynomial surface, and generate a set of waypoints that are offset from the polynomial surface by the offset length of the surface normal vectors;

[0177] Define a two-dimensional frame that contains the corresponding subset of the waypoints;

[0178] A movement path linking the waypoints is generated programmatically, wherein a subset of the waypoints in each two-dimensional frame is linked by a sub-path of the movement path, wherein the movement path is generated in camera space, and the processing circuitry is further configured to transform the movement path to the robot's reference frame.

[0179] Laser ablation of the surface of said portion of the workpiece is performed by the following steps:

[0180] Move the robot so that the laser component mounted on the end effector travels along the converted movement path; and

[0181] As the laser component travels along the converted movement path, it intermittently or continuously excites the laser source.

[0182] As used herein, “and / or” is defined as including or ∨, as specified by the following truth table:

[0183]

[0184] It should be understood that the configurations and / or methods described herein are exemplary in nature, and these specific embodiments or examples are not intended to be limiting, as many variations are possible. The particular routines or methods described herein may represent one or more of any number of processing strategies. Therefore, the various actions shown and / or described may be performed in the order shown and / or described, in another order, in parallel, or omitted. Similarly, the order of the above processing may be changed.

[0185] The subject matter of this disclosure includes all novel and non-obvious combinations and sub-combinations of the various processes, systems and configurations and other features, functions, actions and / or properties disclosed herein, as well as any and all equivalents thereof.

[0186] Parts list:

[0187] Robotic Laser Ablation System 100

[0188] Robot 102

[0189] Base 102A

[0190] Actuator 103

[0191] End effector 104

[0192] Laser component 106

[0193] Laser source 106A

[0194] Laser-guided optical element 106b

[0195] Camera 108

[0196] Camera 108 A

[0197] Displacement sensor 109

[0198] Associated computing device 110

[0199] Monitor 110 A

[0200] Wireless connection 111

[0201] Processing circuit 112

[0202] Laser ablation procedure 113

[0203] Camera Module 113A

[0204] Segmentation Module 113B

[0205] Surface Fitting Module 113C

[0206] Path generation module 113D

[0207] Driver Module 113E

[0208] Memory 114

[0209] GUI 116

[0210] Control 116 A

[0211] Example image 118

[0212] Workpiece 120

[0213] Side view 122

[0214] Laser beam 124

[0215] Field of view 126

[0216] Camera axis 130

[0217] Surface normal vector 140

[0218] Waypoint 142

[0219] Origin 144

[0220] Movement path 146

[0221] Subpath 146 A

[0222] 2D frame 148

[0223] Method 200

[0224] Workpieces 120, 320

[0225] Side view 322

[0226] Input images 118, 324

[0227] Segment 326

[0228] Seed point 328

[0229] Polynomial surface 330

[0230] Set 331

[0231] Ablation zone 332

[0232] Computing System 400

[0233] Processing circuit 402

[0234] volatile memory 404

[0235] Non-volatile storage device 406

[0236] Display Subsystem 408

[0237] Input Subsystem 410

[0238] Communication subsystem 412.

[0239] This application claims priority to U.S. Provisional Patent Application Serial No. 63 / 709,238, filed October 18, 2024, the entire contents of which are incorporated herein by reference for all purposes.

Claims

1. A robotic laser ablation system, the robotic laser ablation system comprising: A robot having an end effector configured to move with multiple degrees of freedom; A laser component, the laser component being mounted to the end effector; A camera configured to capture light and depth information in an input image of a workpiece; The processing circuitry and associated memory, the memory storing instructions that, when executed, cause the processing circuitry to perform the following operations: Receive the input image; The input image is segmented to generate image fragments that depict at least a portion of the workpiece; A surface fitting algorithm is applied to generate a polynomial surface fitted to the surface in the image fragment; Calculate the set of surface normal vectors across the polynomial surface and generate a set of waypoints offset from the polynomial surface by an offset length; Generate movement paths that link multiple waypoints programmatically; as well as The end effector of the robot is moved based on the movement path, and the laser component is used to perform laser ablation on the surface of the portion of the workpiece.

2. The robotic laser ablation system according to claim 1, wherein, The segmentation is accomplished at least in part through the following operations: Identify seed points in the input image; and The seed points are used to implement a segmentation algorithm to identify regions of pixels in the input image that depict a portion of the workpiece's surface, each pixel in the region having associated two-dimensional coordinates in the input image and associated depth coordinates from the camera to the surface.

3. The robotic laser ablation system according to claim 2, wherein, The processing circuitry is configured to display a confirmation selector on a graphical user interface, the confirmation selector being configured to receive user input confirming the seed point and / or confirming that the image fragment contains the surface.

4. The robotic laser ablation system according to claim 2, wherein, Identifying the seed point is accomplished at least in part through the following operations: The user selects the seed point via a graphical user interface; or The seed point is determined programmatically based on established criteria.

5. The robotic laser ablation system according to claim 1, in, The processing circuit is configured to define two-dimensional frames containing corresponding subsets of the waypoints, wherein the subsets of waypoints in each two-dimensional frame are linked via sub-paths of the movement path, and The movement path is generated in camera space, and the processing circuitry is further configured to convert the movement path to the robot's reference frame.

6. The robotic laser ablation system according to claim 1, wherein, The laser component includes a laser source and / or laser-guiding optics, and the laser ablation is performed by the following operations: Move the robot so that the laser component mounted on the end effector travels along the movement path; and As the laser component travels along the moving path, it intermittently or continuously excites the laser source.

7. The robotic laser ablation system according to claim 1, wherein, The processing circuit is configured to segment the input image using a segmentation model selected from the group including: semantic segmentation model, instance segmentation model, panorama segmentation model, edge detection model, region-based segmentation model, clustering-based segmentation model, attention-based segmentation model, real-time segmentation model, nearest neighbor segmentation model, and arbitrary segmentation model.

8. The robotic laser ablation system according to claim 1, wherein, The workpiece is one of a plurality of workpieces that the camera is configured to capture simultaneously in the image, and the segmentation performed by the processing circuit further divides the input image into a plurality of image segments, each containing a corresponding workpiece among the plurality of workpieces.

9. A method for promoting robotic laser ablation, the method comprising: An input image of a workpiece is received from a camera mounted on an end effector of the robot, the end effector being configured to move with multiple degrees of freedom, and the camera being configured to capture light and depth information in the input image of the workpiece. The input image is segmented to generate image fragments that depict at least a portion of the workpiece; A surface fitting algorithm is applied to generate a polynomial surface fitted to the surface in the image fragment; Calculate the set of surface normal vectors across the polynomial surface, and generate a set of waypoints offset from the polynomial surface by an offset length; Generate, programmatically, a movement path linking multiple waypoints in the set of waypoints; as well as Based on the movement path, a laser component mounted on the end effector of the robot is used to perform laser ablation on the surface of the portion of the workpiece.

10. A robotic laser ablation system, the robotic laser ablation system comprising: A robot configured to move an end effector with multiple degrees of freedom; A laser component, the laser component being mounted to the end effector, the laser component including a laser source and / or laser guiding optics; A camera, mounted to the end effector, is configured to capture an input image of a workpiece, the input image including color and depth information for each of a plurality of pixels in the input image; The processing circuitry and associated memory, the memory storing instructions that, when executed, cause the processing circuitry to: Receive the input image; The input image is segmented at least partially by the following steps to generate a segmented image of at least a portion of the workpiece: Identify seed points in the input image, wherein the identification of seed points is accomplished at least in part by the following operations: The user selects the seed point via a graphical user interface; or The seed points are determined programmatically based on established criteria. The seed points are used to implement a segmentation algorithm to identify regions of pixels in the input image that depict a portion of the workpiece, each pixel in the region having associated two-dimensional coordinates in the input image and associated depth coordinates from the camera to the surface; A surface fitting algorithm is applied to generate a polynomial surface fitted to the surface in the segmented image; Calculate the set of surface normal vectors across the polynomial surface, and generate a set of waypoints that are offset from the polynomial surface by the offset length of the surface normal vectors; Define a two-dimensional frame that contains the corresponding subset of the waypoints; A movement path linking the waypoints is generated programmatically, wherein a subset of the waypoints in each two-dimensional frame is linked by a sub-path of the movement path, wherein the movement path is generated in camera space, and the processing circuitry is further configured to transform the movement path to the robot's reference frame. Laser ablation of the surface of said portion of the workpiece is performed by the following steps: Move the robot so that the laser component mounted on the end effector travels along the converted movement path; and As the laser component travels along the converted movement path, it intermittently or continuously excites the laser source.