System and methods for autonomous application of a coating to a workpiece and for media blasting a workpiece

The system addresses the challenge of achieving precise and efficient coating application and blasting by using real-time sensor data and adaptive parameters to maintain target thickness and uniformity, enhancing coating quality and process consistency.

WO2025151720A1PCT designated stage expired Publication Date: 2025-07-17GRAYMATTER ROBOTICS INC

Patent Information

Application Number
PCT/US2025/011082
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-11-08
Filing Date
2025-01-10
Publication Date
2025-07-17

AI Technical Summary

Technical Problem

Existing methods for autonomously applying coatings and media blasting on workpieces lack precision and efficiency in maintaining target thickness and uniformity, particularly in dynamic environments with varying ambient conditions and coating characteristics.

Method used

A system that utilizes high-accuracy depth sensors and optical sensors to create a virtual model of the workpiece, adjusts spray parameters and toolpaths in real-time to achieve a target coating thickness, and autonomously navigates a blast nozzle to achieve uniform coating removal, using predefined parameters and toolpaths.

Benefits of technology

Ensures precise and efficient application of coatings within a target thickness range and uniform media blasting, adapting to ambient conditions and coating characteristics, thereby improving coating quality and process consistency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2025011082_17072025_PF_FP_ABST
    Figure US2025011082_17072025_PF_FP_ABST
Patent Text Reader

Abstract

A first method includes: accessing a coating thickness range; triggering sensors to capture scan and depth data of a workpiece; assembling a virtual model; defining initial spray parameters and a toolpath; driving a coating applicator to apply coating; capturing updated depth data; calculating coating thickness; and, if the thickness falls below the minimum target, redefining spray parameters and toolpaths to reapply coating until the target thickness is applied. A second method for media blasting a workpiece includes, during a scan cycle: capturing images via an optical sensor along a scan path; compiling a virtual model; accessing blast parameters; and generating a tool path for a workpiece region based on the model and parameters. During a processing cycle, the second method includes navigating a blast nozzle along the tool path with actuators and projecting blasting media onto the workpiece according to the blast parameters.
Need to check novelty before this filing date? Find Prior Art

Description

SYSTEM AND METHODS FOR AUTONOMOUS APPLICATION OF A COATING TO A WORKPIECE AND FOR MEDIA BLASTING A WORKPIECECROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This Application claims the benefit of U.S. Non-Provisional Application No. 18 / 758,773, filed on 28-JUN-2024, which is a continuation of U.S. Non-Provisional Application No. 18 / 410,557, filed on l l-JAN-2024, each of which is incorporated in its entirety by this reference.

[0002] This Application also claims the benefit of U.S. Non-Provisional Application No. 18 / 942,070, filed on 08-NOV-2024, which is a continuation of U.S. Non-Provisional Application No. 18 / 608,533, filed on 18-MAR-2024, each of which is incorporated in its entirety by this reference.

[0003] This Application is related to U.S. Application No. 18 / 389,166, filed on 13-NOV- 2023, which is a continuation-in-part of U.S. Application No. 18 / 232,275, filed on 09-AUG-2023, which is a continuation-in-part of U.S. Application Nos. 18 / 111,470, filed on 17-FEB-2023, 18 / 136,244, filed on 18-APR-2023, and 18 / 142,480, filed on 02-MAY-2023, each of which is a continuation-in-part of U.S. Application No. 17 / 829,193, filed on 31-MAY-2022, which is a continuation of U.S. Application No. 17 / 826,840, filed on 27-MAY-2022, each of which is incorporated in its entirety by this reference.

[0004] This Application is also related to U.S. Application No. 18 / 126,941, 27-MAR- 2023, which is incorporated in its entirety by this reference.TECHNICAL FIELD

[0005] This invention relates generally to the field of autonomous coating and blasting of workpieces and more specifically to new and useful methods for autonomously generating and executing a toolpath to deposit a coating onto the workpiece, and for autonomously media blasting a workpiece in the field of autonomous coating and blasting of workpieces.BRIEF DESCRIPTION OF THE FIGURES

[0006] FIGURE 1 A is a representation of a first method;

[0007] FIGURE IB is a representation of the first method;

[0008] FIGURE 2 is a representation of the first method;

[0009] FIGURE 3 A is a representation of the first method;

[0010] FIGURE 3B is a representation of the first method;

[0011] FIGURE 3C is a representation of the first method;

[0012] FIGURE 4 is a representation of a second method;

[0013] FIGURE 5 is a representation of the second method;

[0014] FIGURE 6 is a representation of the second method;

[0015] FIGURE 7 is a representation of the second method;

[0016] FIGURE 8 is a representation of the second method; and

[0017] FIGURE 9 is a representation of the second method.DESCRIPTION OF THE EMBODIMENTS

[0018] The following description of embodiments of the invention is not intended to limit the invention to these embodiments but rather to enable a person skilled in the art to make and use this invention. Variations, configurations, implementations, example implementations, and examples described herein are optional and are not exclusive to the variations, configurations, implementations, example implementations, and examples they describe. The invention described herein can include any and all permutations of these variations, configurations, implementations, example implementations, and examples.1. _ First Method

[0019] As shown in FIGURES 1A, IB, 2, and 3A, a first method S100 for autonomously applying a coating to a workpiece includes, during a first time interval : accessing a target minimum coating thickness and a target maximum coating thickness for a coating applied to a workpiece in Block SI 05; triggering an optical sensor, traversing a workpiece, to capture a first set of scan data representing the workpiece in Block SI 10; assembling the first set of scan data into a first virtual model representing a surface contour of the workpiece in Block SI 15; triggering a depth sensor to capture a first depth value at a first target location on the workpiece in Block S120; defining a first set of spray parameters corresponding to a first applied coating thickness biased toward the target minimum coating thickness in Block S125; defining a first toolpath based on the first set of spray parameters and the surface contour of the workpiece represented in the virtual model in Block SI 30; and driving a set of actuators to traverse a coating applicator along the first toolpath to spray the coating onto the workpiece according to the first set of spray parameters in Block S135.

[0020] The first method SI 00 further includes, during a second time interval succeeding the first time interval: triggering the depth sensor to capture a second depth value at the first target location in Block S 140; for a first region, calculating a first coating thickness within the first region of the workpiece based on the first depth value and the second depth value in Block S145; in response to the first coating thickness falling below the target minimum coating thickness, defining a second set of spray parameters corresponding to a second applied coating thickness biasedtoward the target minimum coating thickness exceeding a first difference between the first coating thickness and the target minimum coating thickness, and falling below a second difference between the first coating thickness and the target maximum coating thickness in Block SI 50; defining a second toolpath spanning the first region of the workpiece based on the second set of spray parameters in Block SI 55; and driving the set of actuators to traverse the coating applicator along the second toolpath to spray the coating onto the first region of the workpiece according to the second set of spray parameters in Block SI 60.1.1 _ Variation: Ambient Conditions and Coating Characteristics

[0021] One variation of the first method SI 00 includes, as shown in FIGURES 3B and 3C, during the first time interval: accessing a target minimum coating thickness and a target maximum coating thickness for a coating applied to a workpiece in Block SI 05; triggering an optical sensor, traversing a workpiece, to capture a first set of scan data representing the workpiece in Block S 110; triggering a depth sensor to capture a first depth value at a first target location on the workpiece in Block SI 20; assembling the first set of scan data into a first virtual model representing a surface contour of the workpiece in Block SI 15; defining a first set of spray parameters corresponding to a first applied coating thickness biased toward the target minimum coating thickness based on initial ambient conditions within a work zone containing the workpiece and predicted coating characteristics in Block S125; defining a first toolpath based on the surface contour of the workpiece represented in the virtual model, the initial ambient conditions within the work zone containing the workpiece, and the predicted coating characteristics in Block S130; and driving a set of actuators to traverse a coating applicator along the first toolpath to spray the coating onto the workpiece according to the first set of spray parameters in Block S135.

[0022] This variation of the first method SI 00 further includes, during a second time interval succeeding the first time interval: triggering the depth sensor to capture a second depth value at the first target location in Block S140; for a first region of the workpiece, calculating a first coating thickness within the first region of the workpiece based on the first depth value and the second depth value in Block SI 45; in response to the first coating thickness falling below the target minimum coating thickness, defining a second set of spray parameters based on revised ambient conditions within the work zone and revised coating characteristics, the second set of spray parameters corresponding to a second applied coating thickness biased toward the target minimum coating thickness exceeding a first difference between the first coating thickness and the target minimum coating thickness in Block SI 50; defining a second toolpath spanning the first region of the workpiece based on the revised ambient conditions within the work zone and the revised coating characteristics in Block S155; and driving the set of actuators to traverse thecoating applicator along the second toolpath to spray the coating onto the first region of the workpiece according to the second set of spray parameters in Block SI 60.1.1.1 Variation: Keep-out Region

[0023] In another variation, the first method SI 00 includes, during a first time interval: accessing a target minimum coating thickness and a target maximum coating thickness for a coating applied to a workpiece in Block SI 05; triggering an optical sensor, traversing a workpiece, to capture a first set of scan data representing the workpiece in Block SI 10; assembling the first set of scan data into a first virtual model representing a surface contour of the workpiece in Block SI 15; triggering a depth sensor to capture a first set of depth values at a set of defined target locations on the workpiece in Block S120; defining a first set of spray parameters corresponding to a first applied coating thickness biased toward the target minimum coating thickness in Block S125; defining a first toolpath based on the first set of spray parameters and the surface contour of the workpiece represented in the virtual model in Block SI 30; and driving a set of actuators to traverse a coating applicator along the first toolpath to spray the coating onto the workpiece according to the first set of spray parameters in Block S135.

[0024] This variation first method SI 00 further includes, during a second time interval after the first time interval: triggering the depth sensor to capture a second depth value at the set of defined target locations on the workpiece in Block SI 40; for a first target location of the set of defined target locations within a first region of the workpiece, calculating a first coating thickness within the first region based on the first depth value at the first target location and the second depth value at the first target location in Block S145; in response to the first coating thickness falling below the target minimum coating thickness, defining a second set of spray parameters corresponding to a second applied coating thickness biased toward the target minimum coating thickness exceeding a first difference between the first coating thickness and the target minimum coating thickness and falling below a second difference between the first coating thickness and the target maximum coating thickness in Block SI 50; defining a second toolpath spanning the first region of the workpiece based on the second set of spray parameters in Block SI 55; and driving a set of actuators to traverse the coating applicator along the second toolpath to spray the coating onto the first region of the workpiece according to the second set of spray parameters in Block SI 60.

[0025] This variation further includes, during the second time interval, for a second target location of the set of defined target locations within a second region of the workpiece: calculating a second coating thickness based on the first depth value at the second target location and the second depth value at the second target location in Block SI 65; and, in response to the secondcoating thickness exceeding the target minimum coating thickness, confirming the second coating thickness and defining a keep-out region spanning the second region in Block SI 70.1.2 Applications

[0026] Generally, an autonomous scanning system (hereinafter the “system”) can execute Blocks of the first method SI 00 to: access a target coating thickness range for a workpiece; define a first toolpath about the workpiece; define a first set of spray parameters corresponding to the target coating thickness range; execute a spray cycle to deposit a layer of coating onto the workpiece according to the first toolpath and the first set of spray parameters; calculate a thickness of the coating; and correct a thickness of the coating to meet the target coating thickness range by executing a second spray cycle according to a second toolpath and second spray parameters.1.2.1 Depth Sensing Repeatability

[0027] The system includes high-accuracy depth sensors configured to repeatably sense depth values at the same location on the workpiece. The system detects the thickness of the coating on the workpiece by: capturing a first depth value at a depth sensing location before applying a coating; capturing a second depth value at the same depth sensing location after applying the coating; and calculating a difference between the first and second depth values. The system repeatably captures depth values at the same location by accounting for variances in the work zone between a first time at which the first depth value is captured and a second time at which the second depth value is captured. For example, the system is configured to simulate and predict vibrations of mechanical components of the system (e.g., the set of actuators configured to traverse the coating applicator) to derive an accurate location of the depth sensor, the workpiece, and the coating applicator. The system is further configured to account for changes in ambient conditions (e.g., temperature, airflow, humidity) within the work zone that may cause components of the system to expand or contract, thereby moving the depth sensor. Therefore, the system executes Blocks of the first method SI 00 to: repeatably capture depth data at a location on the workpiece, before and after applying a coating to the workpiece; and accurately assess the thickness of the coating at that location.1.2.2 Biasing Spray Parameters

[0028] The system defines a set of spray parameters corresponding to a coating thickness biased toward the target minimum coating thickness. The system biases the coating thickness toward the target minimum coating thickness to: reduce an amount of coating applied; decrease a drying time of the coating; and reduce risk of coating defects including runs and sags. Whilebiasing the set of spray parameters toward the target minimum coating thickness may cause the system to deposit a coating below the target minimum coating thickness, the system: measures the coating thickness with high accuracy; defines a new set of spray parameters to increase the coating thickness to a thickness above target minimum coating thickness; and selectively repairs regions of the workpiece exhibiting insufficient coating thickness by executing a coating cycle according to the new set of spray parameters. Therefore, the system biases the spray parameters to: yield a layer of coating exhibiting a coating thickness proximal the target minimum coating thickness; and decrease latency and improve accuracy of the first method SI 00.1.2,3 _ Toolpath and Spray Parameters Tuning

[0029] The system derives a toolpath and a set of spray parameters for deposition of a layer of a coating - approximating the target minimum coating thickness- onto the workpiece. The system derives and refines the toolpath and set of spray parameters to account for: paint characteristics including transfer efficiency and recoating times; nonconstant actuation of mechanical systems (e.g., nonconstant actuation velocity of a coating applicator); and ambient conditions of the work zone including the workpiece.

[0030] The system can: derive a simulated virtual environment and a virtual model of the workpiece to depositing coating onto the virtual model representing the workpiece; and derive a toolpath and a set of spray parameters predicted to yield a layer of coating exhibiting a coating thickness exceeding the target minimum coating thickness and falling below the target maximum coating thickness.

[0031] After execution of a spray cycle (e.g., depositing the coating onto the workpiece via the coating applicator), in response to the coating thickness falling below the target minimum coating thickness, the system can derive a second toolpath and a second set of spray parameters to increase the coating thickness to a thickness within the target coating thickness range. The system derives the second toolpath and the set of spray parameters by accessing the initial simulator and refining the ambient conditions of the simulator and predicted coating characteristics based on the coating thickness of the first layer deposited onto the workpiece. The system refines the simulator until the simulation of the first toolpath and the first set of spray parameters yields a simulated coating thickness matching the actual deposited coating thickness.

[0032] The system can then: calculate an additional thickness of the coating to yield the target minimum coating thickness; input the additional thickness into the simulator; execute a simulation based on the additional thickness; and derive a second toolpath and second set of spray parameters corresponding to the additional thickness .1.2.4 _ Calculating Coating Thickness Beyond Depth Sensing Locations

[0033] The system can calculate a thickness of the coating at each depth sensing location on the workpiece based on a difference between a first depth value at each sensing location captured before the spray cycle and a second depth value at the same depth sensing location captured after the spray cycle. The system then: refines the simulator to match a simulated thickness of coating on the virtual model at virtual depth sensing locations corresponding to the depth sensing locations on the workpiece to the actual coating thickness at the physical depth sensing locations; and calculates simulated coating thicknesses along a virtual surface of the virtual model. Therefore, based on a thickness of the coating on the workpiece at a depth sensing location, the system can predict simulated thicknesses of the coating along the entire workpiece.1,3 _ Example

[0034] In one implementation, the system can execute the first method SI 00 to autonomously apply a coating to a workpiece. For example, the system can execute the first method S 100 to apply paint to an aircraft wing within a target coating thickness range (e.g., thicker than a target minimum coating thickness and thinner than a target maximum coating thickness). The system executes Blocks of first method SI 00 to: scan the aircraft wing with an optical sensor to capture optical scan data of the aircraft wing; trigger a depth sensor to capture a high-accuracy depth measurement at one or more locations on the surface of the aircraft wing; and compile the scan data into a three-dimensional virtual model representing a surface contour of the aircraft wing. The system then: defines a toolpath along which to traverse a coating applicator about the workpiece to deposit the paint onto the surface of the aircraft; defines a set of spray parameters including a feed rate of the coating applicator, a flow rate of paint through a nozzle of the coating applicator, and a target offset distance between the nozzle of the coating applicator and the aircraft wing; and executes a spraying cycle to apply the paint to the aircraft wing by actuating the coating applicator to traverse the aircraft wing and spray the paint toward the surface of the aircraft wing according to the toolpath and scan parameters.

[0035] The system can then detect a thickness of the paint applied by the coating applicator by capturing a second depth measurement at one or more locations on the surface of the aircraft wing and calculating a difference between the first and second depth measurements. In response to detecting a thickness of the paint less than a target minimum coating thickness of the target coating thickness range, the system: calculates a target thickness for a second layer of the paint to meet the target coating thickness range; and defines a second set of spray parameters and a second toolpath to deposit a second coating of the paint. In response to detecting a thickness of the paint within the target coating thickness range (e.g., exceeding the target minimum coating thicknessand falling below a target maximum coating thickness), the system can confirm completion of coating of the aircraft wing and initiate a coating cycle on a different workpiece. In response to detecting a thickness of the paint greater than the target maximum coating thickness, the system can flag the aircraft wing for repair and / or inspection (e.g., to detects runs or sags in the coating). Therefore, the system autonomously applies a coating within the target coating thickness range to the aircraft wing.1.4 _ System

[0036] In one implementation shown in FIGURE 1, the system includes: a robotic arm arranged in or adjacent a work zone and including a set of articulatable joints interposed between a series of arm segments; an end effector supported on a distal end of the robotic arm; an optical sensor (e.g., a laser scanner) arranged on or integrated into the end effector and configured to capture optical images (e.g., depth maps) of a workpiece; a depth sensor configured to output signals corresponding to depth measurement values such as to capture the position of a workpiece in the work zone; a coating applicator arranged on or integrated into the end effector configured to spray a coating onto a workpiece arranged within the work zone; a position sensor configured to output signals representing (or assemblable into) a three-dimensional position of the optical sensor; a display configured to render a user interface accessible by an operator; and / or a controller to execute Blocks of the first method SI 00.

[0037] In this implementation, the system can also include a conveyor configured to traverse the robotic arm longitudinally along the work zone, such as to reach and process an elongated part defining a high length-to- width ratio (e.g., a high aspect ratio), such as a boat hull or aircraft wing.

[0038] In one implementation, an optical sensor: projects a laser (e.g., a spot, line, array of points) onto the workpiece; captures scan data of the laser projection on the surface of the workpiece; and derives a surface contour of the workpiece based on distortions of the laser projection on the surface of the workpiece.

[0039] The system includes a position sensor configured to detect a position of the optical sensor. For example, the system: includes a one-, two-, or three-dimensional LIDAR sensor, a time-of-flight distance sensor, a stereoscopic camera, a depth sensor, and / or color camera, etc. arranged facing the robotic arm to detect a position of the optical sensor. The system can access one-dimensional distances or two- or three-dimensional images output by these sensors; and can derive and track three-dimensional positions of the optical sensor along the track.

[0040] In another implementation, the conveyor and the joints of the robotic arm can include positional encoders (e.g., magnetic encoders configured to output a signal correspondingto a position of the robotic arm on the conveyor or the angular position of the joint of the robotic arm. The system can compile the set of encoder signals to derive a position of the end effector and the optical sensor. However, the system can implement any other method or technique to track three-dimensional positions of the robotic arm, optical sensor, and / or a reference point during a scanning or processing cycle.

[0041] In one implementation, the system includes a controller. The controller can, for example: trigger actuators of the system to traverse the optical sensor proximal the workpiece and capture scan data to complete a scan; trigger actuators of the system to traverse the coating applicator about the workpiece according to a toolpath and spray parameters; trigger the depth sensor to capture a depth measurement value; and compile the scan data into a virtual model of the workpiece. The controller is further configured to execute any of the Blocks of the first method SI 00 described herein.

[0042] In one implementation, the system can locate and articulate the end effector according to the method described in U.S. Patent Application No. 18 / 232,275.1.4, 1 _ Optical Sensor

[0043] The system includes an optical sensor (e.g., a laser scanning sensor) operable to capture scan data of a workpiece loaded into the work zone. In one implementation, the system actuates the optical sensor and captures scan data via the optical sensor according to a set of scanning parameters. The set of scanning parameters can include: a scan path; an orientation of the optical sensor; an actuation velocity of the optical sensor; a frequency (e.g., a color) of light emitted by the optical sensor toward the workpiece; an exposure; a sample area; a sampling density; and active area / spot selection.

[0044] In one implementation, the optical sensor defines a laser line scanner configured to emit a laser toward the workpiece. The optical sensor can capture light reflected from the workpiece back to the optical sensor and can generate a signal (e.g., scan data) representing a distance between the workpiece and the optical sensor. For example, the optical sensor can emit a laser toward the workpiece; capture a portion of the light from the laser reflected by the workpiece; and output a signal representing a distance between the workpiece and the optical sensor with an error of two to five millimeters. The system can therefore: traverse the optical sensor about the workpiece to capture a set of scan data; and assemble the set of scan data into a virtual model representing the workpiece with a dimensional accuracy of + / - 2.0 millimeters.1,4,2 Depth Sensor

[0045] The system includes a depth sensor configured to output a signal representing a distance (e.g., a depth) between the optical sensor and the workpiece. In one implementation, the depth sensor is configured to capture depth measurements at one or more locations on the workpiece exhibiting an error of approximately ten thousandths of an inch (e.g., “ ten mils”) or approximately one quarter of a millimeter.

[0046] In one implementation, the depth sensor is a time-of-flight sensor configured to: emit light (e.g., infrared light) into the work zone toward the workpiece; capture light reflected back to the depth sensor; and output a signal representing a time-of-flight of the light and therefore a distance between the depth sensor and the location on the workpiece. However, the system can execute the Blocks of the first method SI 00 with any other type of depth sensor including but not limited to contactless sensors such as structured light sensors, stereo sensors, and LiDAR sensors.

[0047] In one implementation, the system includes one or more depth sensors mounted at stationary positions throughout the work zone and oriented toward the work zone. For example, the work zone can include a set of three depth sensors mounted above a work zone, at three separate locations. The system can trigger each depth sensor of the set of three depth sensors to capture a depth measurement at the same location on the surface of the workpiece. The system can then access the three depth measurements for the location on the surface of the workpiece captured by the three depth sensors and derive a high-accuracy depth value by triangulating the three measurements. Therefore, the system can: include one or more stationary depth sensors; and capture depth measurements of the workpiece.

[0048] In another implementation, the system includes one or more depth sensors arranged on or integrated into the end effector. For example, the system can configure a depth sensor arranged on the end effector to capture depth data while the robotic arm traverses the end effector about the workpiece. Therefore, the system simultaneously captures: a timeseries of depth data via the depth sensor; and a timeseries of scan data via the optical sensor captures. In this example, the system can detect a location of the depth sensor associated with a particular depth datum based on time stamps on the timeseries of depth data and the timeseries of scan data.1.4,3 _ Coating Applicator

[0049] The system includes a coating applicator configured to dispense a coating onto the workpiece. In one implementation, the coating can include a primer, paint, or a gel. The coating applicator includes: a pressurized vessel containing a volume of the coating; and a nozzle coupled to the pressurized vessel configured to direct the coating toward the workpiece. In one implementation, the nozzle of the coating applicator is interchangeable with a set of nozzles including a fan nozzle, a conical nozzle, and a linear nozzle to manipulate the geometry of thecoating output by the nozzle. In one implementation, the coating applicator is integrated into the end effector or otherwise mounted to the robotic arm and actuatable via a set of actuators.

[0050] The coating applicator applies the coating onto the workpiece according to a set of spray parameters including: a flowrate of coating through the nozzle; a feed rate of the coating applicator about the toolpath; and a target offset distance between the nozzle of the coating applicator and the surface of the workpiece.1.5 _ Target Paint Thickness

[0051] The first method SI 00 includes accessing a target minimum coating thickness and a target maximum coating thickness (e.g., a target coating thickness range) for a coating applied to a workpiece in Block SI 05. In one implementation, the system can prompt an operator of the system to input the target coating thickness range. In another implementation, the system can derive the target coating thickness range based on the workpiece or type of coating. For example, for a stainless steel workpiece, a manufacturer may specify a target coating thickness of five mil, plus or minus a range of two mil. The system can access the manufacturer specification associated with the workpiece to define the target coating thickness range of three to seven mil.

[0052] In one implementation, system can define the target minimum coating thickness and the target maximum coating thickness as a dry film thickness corresponding to a thickness of the coating after the coating cures (e.g., dries). The system can therefore: access a target minimum dry film thickness; access a target maximum dry film thickness; access a coating thickness function defining a conversion of wet coating thickness to dry coating thickness based on an elapsed time since application of the coating; and store a first time corresponding to application of coating within the first region during the first time interval. The system can further calculate the first coating thickness by: calculating a wet coating thickness within the first region based on a difference between the first depth value and the second depth value; and converting the wet coating thickness to a final dry film thickness based on the coating thickness function and the first time.

[0053] In one implementation, the system can additionally access a minimum application thickness defining a minimum thickness of the coating to deposit onto a surface to enable the coating to properly cure. For example, a manufacturer specification for a particular coating can specify a minimum application thickness of two mil indicating that the coating applicator apply at least two mil of the coating to the surface of the workpiece per coating cycle to yield a contiguous layer of the coating.1.6 Optical Scan

[0054] In one implementation, the first method SI 00 includes: triggering an optical sensor, traversing a workpiece, to capture a first set of scan data representing the workpiece in Block S 110; and assembling the first set of scan data into a first virtual model representing a surface contour of the workpiece in Block SI 15. The system can therefore execute Blocks SI 10 and SI 15 by: navigating an end effector over a workpiece; accessing a set of images captured by an optical sensor arranged on the end effector while traversing the workpiece; and compiling the set of images into a virtual model representing unloaded surfaces of the workpiece. Generally, the system can implement methods and techniques described in U.S. Patent Application No. 18 / 111,470 to: autonomously navigate an optical sensor (e.g., a depth sensor and / or a color camera) over the workpiece; capture optical images (e.g., depth maps, photographic color images) of the workpiece; and assemble these optical images into a virtual three-dimensional model that represents surfaces of the workpiece within a wide dimensional tolerance (e.g., + / - 0.15”).

[0055] For example, after an operator loads the workpiece into the work zone and confirms processing limits for the workpiece, the system can initiate a scan cycle. During the scan cycle, the system can: navigate the optical sensor - located on the end effector - along the scan path over and offset above the workpiece; monitor a distance between the end effector and the workpiece based on scan data collected by the optical sensor; and implement closed-loop controls to maintain a target offset distance between the optical sensor and the workpiece (e.g., 20”, 50 centimeters). The system can actuate a gantry or conveyor supporting the robotic arm to traverse the robotic arm along the longitudinal axis of the work zone while actuating the end effector and the optical sensor laterally across the work zone to capture a sequence of optical images representing all surfaces of the workpiece accessible by a sanding head on the end effector.

[0056] The system can thus capture scan data - such as color photographic images, stereoscopic images, depth maps, and / or LIDAR images - from a set of optical sensors arranged on the end effector while traversing the end effector across (e.g., over, and not in contact with) the workpiece. For example, the system can capture depth maps at a rate of 2Hz while traversing the end effector across the workpiece at a rate of three feet per second at a target offset distance of three feet between the end effector and the workpiece, which corresponds to a nominal sensor field of view of three feet by three feet and thus yields approximately 50% overlap between consecutive depth maps captured by the system during the scan cycle.

[0057] The system can then compile these optical images into a virtual three-dimensional model of the workpiece as described in U.S. Patent Application No. 18 / 111,470, such as by implementing structure-from-motion techniques or by fusing these optical images into the virtual model based on poses of the robotic arm when these optical images were captured. For example,the system can compile this set of optical images into a three-dimensional mesh within a virtual three-dimensional space.

[0058] However, the system can implement any other methods or techniques to navigate the end effector and optical sensor over the workpiece, to collect optical images of the workpiece, and to generate a virtual three-dimensional model of the workpiece based on these optical images.

[0059] The system can therefore execute Blocks of the first method SI 00 to: autonomously capture scan data of a workpiece occupying a work zone during a contactless scan cycle; compile these scan data into a virtual three-dimensional model; and generate a toolpath spanning surfaces of the workpiece represented in the virtual model.1.7 _ Depth Sensing

[0060] In one implementation, the first method SI 00 includes triggering a depth sensor to capture a first depth value at a first location on the workpiece in Block S120.

[0061] In one implementation, in order to decrease a computational complexity and latency of the first method SI 00, the system can trigger the depth sensor to capture depth measurements at a single location on the workpiece. The depth sensor can capture depth measurements of the workpiece independently or dependently of the surface contour of the workpiece. For example, a stationary depth sensor may exhibit a set orientation such that the depth sensor captures a depth measurement of the workpiece at a single depth measurement location. In this example, an operator may confirm during loading of the workpiece into the work zone that the workpiece is located within a region of the work zone that includes the location of the depth sensing measurement. In this example the depth sensing location is independent of the surface contour of the workpiece.

[0062] In another example, a stationary depth sensor or depth sensor coupled to the end effect can capture a depth measurement at a location on the workpiece associated with a coating failure risk region. A coating failure risk region may include a surface feature of the workpiece identified to likely exhibit a paint thickness over the target maximum coating thickness or a coating thickness less than the target minimum coating thickness. For example, surface features of the workpiece that include downward slopes can include a thin coating failure risk region at a local maximum of the downward slope where a coating is likely to drip down the surface and away from the local maximum. Another surface feature that defines a thick coating failure risk region can include a local minimum where the coating is likely to pool. Therefore, the system can: based on the virtual model of the surface contour of the workpiece, identify a location exhibiting a coating failure risk; and set the target depth sensing location of the depth sensor to the location exhibiting the coating failure risk.

[0063] In one implementation, the system can detect a point on the surface of the workpiece closest to the depth sensor and select that point as the target depth sensing location. Therefore, the system minimizes an error of the depth sensor by decreasing a range over which the depth sensor functions.

[0064] In one implementation, in order to increase an accuracy of the first method SI 00, the system can trigger the depth sensor to capture depth measurements at a set of multiple depth sensing locations along the surface of the workpiece. The system can select the set of depth sensing locations independently or dependently of the surface contour of the workpiece representing in the virtual model. For example, the system selects the set of depth sensing locations by projecting a randomized array of points onto the workpiece, each point of the randomized array defining a depth sensing location.

[0065] In another implementation, the system can capture depth measurements at a set of multiple depth sensing locations based on a coating failure risk regions of the workpiece. For example, triggering the depth sensor to capture the depth value at a first target location can include selecting a first target location, within a first region on the workpiece, based on the surface contour of the workpiece by: detecting an upward-facing maxima represented in the virtual model; associating the upward-facing maxima represented in the virtual model with a risk of wet coating migration away from the upward-facing maxima and reduced coating thickness; defining the first target location, on the workpiece, proximal the upward-facing maxima represented in the virtual model; and defining the first region of the workpiece containing the first target location.

[0066] The system can then capture a depth measurement at a second depth sensing location associated with a different coating risk. For example, the system can select a second target location by: detecting a downward-facing edge represented in the virtual model; associating the downward-facing edge represented in the virtual model with risk of wet coating migration toward from the downward-facing maxima and increased coating thickness; defining the target location, on the workpiece, proximal the downward-facing edge represented in the virtual model; and defining a second region of the workpiece containing the second target location.1.8 _ Information Aggregation

[0067] The first method SI 00 includes: defining a first set of spray parameters corresponding to a first applied coating thickness biased toward the target minimum coating thickness based on initial ambient conditions within a work zone containing the workpiece and predicted coating characteristics in Block S125; and defining a first toolpath based on the surfacecontour of the workpiece represented in the virtual model, the initial ambient conditions within the work zone containing the workpiece, and the predicted coating characteristics in Block SI 30.

[0068] In Blocks S125 and S130, the system aggregates a set of conditions including: ambient conditions; and coating characteristics. The system can access ambient conditions including environmental conditioning, such as by accessing an environmental database (e.g., a third-party weather API) or querying a set of environmental sensors (e.g., temperature and / or humidity sensors in the work zone). The ambient conditions can include: a temperature within the work zone; a temperature of the workpiece; a humidity in the work zone; and airflow within the work zone. Each of the ambient conditions can affect the coating characteristics (e.g., transfer efficiency, viscosity) as the coating is dispensed by the coating applicator. For example, in a high temperature (e.g., 90°F) and high humidity (e.g., 90%) environment, the viscosity of a coating may decrease and exhibit a lower transfer efficiency.

[0069] The system can thereby: capture a depth value at a depth sensing location on the workpiece before the first spray cycle; access ambient conditions of the work zone during the first spray cycle; capture a depth value at the same depth sensing location after the first spray cycle; calculate a thickness of the coating at the depth sensing location based on the depth values; calculate a transfer efficiency of the coating based on the thickness and an amount of coating dispensed; and derive a relationship between transfer efficiency and the ambient conditions during the first spray cycle. The system can then: access ambient conditions during a second spray cycle (e.g., a repair cycle to deposit additional coating); predict a transfer efficiency of the second spray cycle based on the relationship between transfer efficiency and ambient conditions; and derive a second set of spray parameters and second toolpath predicted to yield a target coating thickness based on the second spray cycle transfer efficiency.

[0070] The system can additionally access a set of coating characteristics by: accessing a coating identifier; accessing a coating characteristic database; and identifying a set of coating characteristics associated with the coating identifier. The system can access coating characteristics including: a nominal transfer efficiency of the coating; a nominal coating viscosity; and a target overlap.

[0071] In one implementation, accessing the predicted coating characteristics includes: calculating a transfer efficiency of the coating based on the ambient temperature and the humidity within the work zone, the transfer efficiency defining a proportion of the coating, sprayed by the coating applicator, that affixes to the workpiece. Then, the system defines the first set of spray parameters by: based on the transfer efficiency, defining a first pressure within the coating applicator, a first feed rate of the coating applicator, and a first offset distance between the coating applicator and the workpiece corresponding to depositing a first coating exhibiting a first thicknessexceeding the target minimum coating thickness and falling below the target maximum coating thickness on the workpiece.1.9 Toolpath + Spray Parameter Calculation

[0072] In one implementation, the first method SI 00 includes: defining a first set of spray parameters in Block S125; and defining a first toolpath based on the first set of spray parameters and the surface contour of the workpiece represented in the virtual model in Block S130.

[0073] The spray parameters define: a feed rate (e.g., a velocity of actuation) of the coating applicator along the toolpath by a set of actuators; a flowrate of the coating out of the nozzle of the coating applicator; and a target offset distance between the nozzle of the coating applicator and the surface of the workpiece. The toolpath defines a trajectory along which the set of actuators traverses the coating applicator to deposit a coating onto the surface of the workpiece.1.9, 1 Spray Parameters

[0074] In one implementation, the system defines a set of spray parameters corresponding to a coating thickness biased toward the target minimum coating thickness. For example, the system can: access the target minimum coating thickness; input the target minimum coating thickness into a coating model relating spray parameters to a yielded coating thickness; and identify a set of spray parameters that yields a coating thickness greater than or equal to the target minimum coating thickness.

[0075] The system defines the first set of spray parameters by: identifying a first feed rate to traverse the coating applicator along the first toolpath about the workpiece; identifying a first flow rate of the coating exiting a nozzle of the coating applicator; and identifying a first offset distance between the nozzle of the coating applicator and the workpiece. The system defines the first feed rate, first flow rate, and the first offset distance to yield a layer of the coating on the workpiece exceeding the target minimum coating thickness and falling below the target maximum coating thickness.

[0076] In one implementation, the system can define the set of spray parameters by: rendering the virtual model representing the workpiece within a virtual environment; simulating the coating applicator spraying a simulated coating onto a first simulated region of the workpiece according to a first set of simulated spray parameters including a first feed rate, a first flow rate, and a first offset distance; calculating a first thickness of the simulated coating of the first region of the workpiece falling below the target minimum coating thickness; simulating the coating applicator spraying the simulated coating onto a second region of the workpiece according to a second set of simulated spray parameters including a second feed rate, a second flow rate, and asecond offset distance; calculating a second thickness of the simulated coating of the second region of the workpiece exceeding the target maximum coating thickness; and defining a first set of spray parameters defining a third feed rate less than the first feed rate and greater than the second feed rate, the first flow rate, and the first offset distance. Therefore, the system can generate simulated spray cycles and simulate the coating thickness yield of a particular set of simulated spray parameters on the virtual model. Then system then selects a set of spray parameters based on the set of simulated spray parameters corresponding to a simulated coating thickness within the target coating thickness range.1.9,2 _ Toolpath

[0077] The toolpath defines the trajectory along which a set of actuators actuates the coating applicator while the coating applicator applies the coating onto the workpiece.

[0078] In one implementation, the system can: define a serpentine or boustrophedonic toolpath within a region of the workpiece according to a nominal stepover distance; and store this first toolpath as a first set of keypoints, wherein each keypoint represents a vertex or other point on the toolpath, defines a three-dimensional position on the workpiece, includes a vector normal to the workpiece at this three-dimensional position, and is labeled with the target force and the feed rate set for the first region. More specifically, the system can project the first toolpath onto the first region of the workpiece represented in the virtual model. The system can then extract a three-dimensional position and normal vector of each vertex or other point on the first toolpath from the virtual model. Accordingly, the system can store the first toolpath as a first ordered sequence of keypoints: located on a first unloaded surface of the workpiece stored in (i.e., represented by) the virtual model; and contained within the region.

[0079] In one variation, the system can iteratively adjust this first toolpath based on local radii of the workpiece along segments of the first toolpath. Additionally or alternatively, the system can adjust target forces assigned to segments of the first toolpath: proportional to local radii of convex subregions of the workpiece adjacent these toolpath segments; and inversely proportional to radii of concave subregions of the workpiece adjacent these toolpath segments. Accordingly, the system can set a force greater than the nominal target force within a concave subregion of the workpiece and a target force less than the nominal target force within a convex subregion of the workpiece. The system can repeat this process for each other region of the workpiece.

[0080] Alternatively, the system can implement the foregoing methods and techniques to generate a single continuous toolpath spanning the entire workpiece (or an entire surface of the workpiece selected for autonomous processing by the system).

[0081] In one implementation, the system can generate the first toolpath by: defining the first toolpath including a first ordered sequence of keypoints located on the third virtual model; and, for each keypoint in the first ordered sequence of keypoints, calculating a vector normal to the third virtual model at a location of the keypoint on the third virtual model and storing the vector in the keypoint. The system navigates the sanding head across the first workpiece region according to the first toolpath and deviates the sanding head from the first toolpath by: for a first keypoint in the first ordered sequence of keypoints, via the set of actuators, locating the sanding head at a first position intersecting the first keypoint and aligning an axis of the sanding head to a first vector contained in the first keypoint; and driving the sanding head, coaxial with the first vector, toward the workpiece to match force values, in the first sequence of force values read from the force sensor to the nominal target force.

[0082] The system can further implement methods and techniques described in U.S. Patent Application No. 18 / 111,470 to define a toolpath of the end effector along the workpiece.1.9, 2,1 _ Toolpath Based on Contour of Workpiece

[0083] In one implementation, the system defines a toolpath based on a surface contour of the workpiece represented in the virtual model. The system can: capture scan data of the workpiece via the optical sensor; compile the scan data into a virtual model of the workpiece; detect a geometry of the surface contour of the workpiece based on the virtual model; and define the toolpath approximating the geometry of the surface contour of the workpiece (e.g., for a sloped linear workpiece surface defining a first slope, the system defines a sloped linear toolpath exhibiting a second slope equal to the first slope of the workpiece and offset by a target offset distance from the workpiece).

[0084] For example, for a hemispherical workpiece, the system: captures a set of scan data via the optical sensor; compiles the scan data into a virtual model of the workpiece representing the hemispherical surface contour of the workpiece; and defines a toolpath including a set of boustrophedonic hemi-circular arcs offset by the target offset distance from the workpiece surface. The system therefore: defines the toolpath corresponding to the geometry of the surface contour of the workpiece; and maintains the coating applicator at an approximately constant offset distance from the surface of the workpiece according to the toolpath.

[0085] The system can additionally: detect a set of surface normal vectors of the workpiece; assign each surface normal vector to a keypoint of the toolpath; and define the toolpath to orient the coating applicator normal to the surface of the workpiece at each keypoint of the toolpath. Therefore, the system can: orient the coating applicator relative to the workpiece; and maintain the coating applicator and the nozzle of the coating applicator normal to the surface ofthe workpiece. For a workpiece exhibiting sharp edges (e.g., sudden changes in slope of the surface contour of the workpiece), the system can: define an initial toolpath matching the surface contour of the workpiece; and refine the initial toolpath to define a toolpath exhibiting smooth transitions between multiple coating applicator orientations about the sharp edges of the workpiece.

[0086] In one implementation, defining the toolpath includes: detecting a relative area of a region of the workpiece to define the target offset distance corresponding to the region. For example, for a region of the workpiece defining a long, narrow geometry (e.g., two feet long by three inches wide), the system can: define a segment of the toolpath to actuate the coating applicator parallel to the longitudinal axis of the region. Within the segment of the toolpath, the system sets an offset distance between the nozzle of the coating applicator and the workpiece surface corresponding to a width of a fan of coating output by the nozzle approximating the width of the region. For example, for the three inch wide region, the system can define a first offset from the surface of the workpiece corresponding to the coating contacting the workpiece in an approximately three-inch wide fan. For a six-inch wide region, the system can define a second offset distance greater than the first offset distance such that the fan of the coating output from the nozzle of the coating applicator contacts the surface of the workpiece with an approximately six- inch fan width. Therefore, to increase the width of the fan of coating contacting the surface of the workpiece, the system increases the offset distance between the workpiece and the coating applicator nozzle.1.9, 2, 2 _ Target Overlap

[0087] The system can define the toolpath for the coating applicator to traverse the workpiece based on a target overlap of the coating. The target overlap defines a proportion of a fan of coating sprayed by the nozzle of the coating applicator onto a first region of the workpiece that overlaps with a fan of coating sprayed by the coating applicator onto a second region of the workpiece adjacent to the first region.

[0088] In one implementation, the system drives the set of actuators to traverse the coating applicator along the first toolpath by actuating the coating applicator along the path to each key point of the set of keypoints. The system defines the first toolpath by: predicting a width of a fan of coating expelled from a nozzle of the coating applicator at a location contacting a surface of the workpiece based on a nozzle geometry of the application and the target offset distance; accessing a target spray overlap; and defining the first toolpath to approximate the target spray overlap based on the width of the fan of coating.

[0089] For example, the system can: access a target coating overlap of 50% indicating that the fan of coating from the coating applicator along each segment of a boustrophedonoic toolpathoverlaps 50% with a previous segment of the boustrophedonoic toolpath and 50% with a next segment of the boustrophedonoic toolpath.1.9,3 Toolpath and Spray Parameter Tuning

[0090] The system defines: a toolpath including a trajectory of the coating applicator about the workpiece at a target offset distance; and a set of spray parameters including a flowrate of coating through the nozzle of the coating applicator and a feed rate of the coating applicator along the toolpath. The system predicts a thickness of the coating according to the toolpath and the spray parameters.

[0091] The system additionally predicts a thickness of the coating deposited onto the workpiece by the coating applicator according to coating characteristics (e.g., transfer efficiency) and ambient conditions (e.g., temperature, humidity, air flow). The system refines the set of spray parameters and toolpath to account for the coating characteristics and ambient conditions to yield a coating corresponding to the target coating thickness range.

[0092] In one implementation, the system defines the toolpath by: initializing a virtual environment approximating the work zone; populating the virtual environment with the virtual model of the workpiece; accessing the initial ambient conditions; accessing the predicted coating characteristics; projecting a first toolpath onto the virtual model within the virtual environment; calculating a set of predicted thicknesses of the coating applied to the workpiece by simulating application of the coating to the virtual model within the virtual environment based on the initial ambient conditions, the predicted coating characteristics, and the first set of spray parameters; and adjusting the first set of spray parameters and the first toolpath to reduce a difference between the set of predicted thicknesses and the target minimum coating thickness. Therefore, the system can: simulate a toolpath within a virtual environment; iteratively refine the toolpath within the simulator; and generate the toolpath corresponding to the target minimum coating thickness.

[0093] In one implementation, the system additionally accounts for variability of: the mechanical system actuating the coating applicator about the toolpath; and the ambient conditions. For example, the system can: predict a curing time of the coating based on the temperature and humidity within the work zone; predict a transfer efficiency or a proportion of atomization of the coating based on the coating characteristics and the ambient conditions; predict an acceleration of the coating applicator along the toolpath due to changes in slope of the toolpath (e.g., increasing velocity / positive acceleration along downward sloped segments of the toolpath and decreasing velocity / negative acceleration along upwardly sloped segments of the toolpath); and refine the toolpath and spray parameters to yield a consistent thickness of the coating across the surface of the workpiece. For example, the system accounts for each of the above variabilities by refining thespray parameters and toolpath to change the offset distance for a segment of the toolpath, such as to actuate the coating applicator to a decreased offset distance from the workpiece for a segment exhibiting an increased velocity or decrease a feed rate of the coating applicator proximal the segment of predicted increased velocity. Furthermore, the system can simulate the toolpath and spray parameters to predict a coating thickness. For a predicted coating thickness below the target minimum coating thickness, the system can refine the toolpath to decrease the offset distance and / or refine the spray parameters to reduce the feed rate of the coating applicator or reduce the flowrate of the coating through the nozzle of the coating applicator. For a predicted coating thickness above the target maximum coating thickness, the system can refine the toolpath to increase the offset distance and / or refine the spray parameters to increase the feed rate and / or flow rate.1.10 _ Autonomous Paint Application

[0094] Once the system defines the first toolpath and the first set of spray parameters, the system can drive a set of actuators to traverse the coating applicator along the first toolpath to spray the coating onto the workpiece according to the first set of spray parameters in Block S135.

[0095] For example, the system drives the set of actuators to traverse the coating applicator to each keypoint of a set of keypoints defining the toolpath and maintains the coating applicator the offset distance from the surface of the workpiece. The system drives the set of actuators to traverse the coating applicator at the feed rate of the set of spray parameters. The system further activates a pump to pressurize an internal volume of the coating applicator to a target internal pressure corresponding to the flowrate specified in the set of spray parameters.In one implementation, traversing the coating applicator about the toolpath includes actuating the coating applicator along five axes of articulation, such as to vary the orientation of the nozzle of the coating applicator to maintain the nozzle of the coating applicator normal to the surface of the workpiece. The system can additionally interpolate between keypoints of a toolpath and smoothly transition the coating applicator from a first set of spray parameters to a second set of spray parameters based on the keypoint currently occupied by the coating applicator.

[0096] Therefore, the system: executes a spray cycle by traversing the coating applicator about the workpiece; and deposits a coating onto the surface of the workpiece.1.11 _ Second Depth Sensing

[0097] The first method SI 00 further includes, during a second time interval succeeding the first time interval: triggering the depth sensor to capture a second depth value at the first target location in Block S140.1.12 _ Applied Coating Thickness Detection

[0098] The system calculates a first coating thickness of the workpiece based on the first depth value and the second depth value in Block SI 45. The coating thickness defines a measure of the amount of coating deposited onto the surface of the workpiece by the coating applicator after one or more spray cycles. The system calculates the coating thickness for a spray cycle by calculating a difference between a current depth value captured by the depth sensor after the spray cycle and a previous depth value captured before the spray cycle. The system can calculate a total coating thickness of the workpiece after multiple spray cycles (e.g., after multiple layers of coating) by calculating a difference between an initial depth value before a first spray cycle and a current depth value.

[0099] The system can further predict a dry film thickness of the coating based on an elapsed time since the coating was applied and a current coating thickness. For example, immediately after executing a spray cycle, the system can: trigger the depth sensor to capture a depth value; calculate a current wet coating thickness; access coating characteristics including a proportion of solvent in the coating; predict a proportion of evaporation of the solvent per since the coating was applied; and therefore predict timeseries of thicknesses until the coating cures to the final dry film thickness.

[0100] In one implementation, the system can sense depth values at multiple locations along the workpiece. For example, the system can trigger the depth sensor to capture a set of depth values at an array of depth sensing locations, each depth sensing location offset from another depth sensing location by an equal pitch offset (e.g., one depth sensing location for every six inches of length of the part). The system can: compile the set of depth values into a three-dimensional mesh; and interpolate depth values along the mesh between depth sensing locations to define an average coating thickness of the workpiece and / or the coating thickness at specific locations on the workpiece.1, 12, 1 _ Simulation Refinement

[0101] Based on the coating thickness, the system can update a coating simulator (e.g., a virtual environment representing the work zone configured to simulate spray cycles according to simulated spray parameters and simulated toolpaths about the virtual model representing the workpiece) of the coating application to the workpiece to reflect actual ambient conditions.

[0102] The system can calculate a thickness of the coating at each depth sensing location on the workpiece based on a difference between a first depth value at each sensing location captured before the spray cycle and a second depth value at the same depth sensing locationcaptured after the spray cycle. The system then: refines the simulator to match a simulated thickness of coating - on the virtual model at virtual depth sensing locations corresponding to the depth sensing locations on the workpiece - to the actual coating thickness at the physical depth sensing locations; and calculates simulated coating thicknesses along a virtual surface of the virtual model. Therefore, the system: simulates coating thicknesses at virtual depth sensing locations on the virtual model corresponding to the actual depth sensing locations on the workpiece; and triggers the simulator to simulate coating thickness at the virtual depth sensing locations matching the actual coating thickness at the depth sensing locations.

[0103] After refining the simulator, (e.g., by refining the virtual environment, simulated coating characteristics, etc.), the system can: interpolate the coating thicknesses at the virtual depth sensing locations; and predict a set of simulated coating thicknesses at additional locations on the virtual model. Therefore, based on a thickness of the coating on the workpiece at a depth sensing location, the system can predict simulated thicknesses of the coating along the entire surface of the workpiece.

[0104] Further, as shown in FIGURE 2, the system can segment the surface of the workpiece into regions based on the predicted simulated thickness of the region. For example, after calculating predicted thicknesses at hundreds or thousands of locations on the virtual model, the system: interpolates the predicted thickness; generates a mapping of thicknesses for the virtual surface of the virtual model corresponding to thicknesses of the coating on the surface of the workpiece; segments the mapping of thicknesses into regions including a) regions exhibiting insufficient coating thicknesses (e.g., below the target minimum coating thickness), b) regions exhibiting sufficient coating thicknesses (e.g., within the target coating thickness range), and c) regions exhibiting a coating thickness exceeding the target maximum coating thickness. The system can: define approximate boundaries for each of the regions; generate a second set of spray parameters and second toolpath for regions exhibiting insufficient coating thickness; generate a keep-out region including an instruction for the second toolpath to avoid the region exhibiting sufficient coating thickness; and generate a notification to an operator indicating a flag for repair of the region exhibiting coating thickness exceeding the target maximum coating thickness.

[0105] Therefore, the system can: iteratively tune (e.g., modify) a simulator of coating application to the workpiece; converge on a simulator that accurately represents the work zone, coating application, and the workpiece; and accurately predict the coating thickness of the entire surface of the workpiece based on a toolpath and a set of spray parameters.1.13 Coating Thickness Correction

[0106] The system can calculate an amount of coating to deposit in a second or subsequently spray cycle based on the target coating thickness range (e.g., target minimum coating thickness) and target maximum coating thickness) and the current coating thickness.

[0107] In one implementation, the system calculates a target second (or subsequent) coating thickness based on a difference between the current coating thickness and a target minimum coating thickness. In response to the current coating thickness falling below the target minimum coating thickness, the system: defines a second set of spray parameters corresponding to a target second coating thickness wherein the target second coating thickness and the first coating thickness yield a total coating thickness within the target coating thickness range.

[0108] In one implementation, the system defines the second toolpath as a segment of the first toolpath. For example, the system can: detect a region of the workpiece exhibiting a coating thickness below a target minimum coating thickness; access a segment of the first toolpath corresponding to the region of the workpiece; and define the second toolpath as the segment of the first toolpath to apply an additional layer of coating to the region.1.13.1 _ Second Spray Parameters

[0109] After executing a spray cycle and detecting the coating thickness falling below the target minimum coating thickness, the system defines a second set of spray parameters to increase the total coating thickness to exceed the target minimum coating thickness.

[0110] In one implementation, the system can access the minimum dry film thickness defining a minimum thickness of the coating required for the coating to bond and / or form a contiguous layer across the surface of the workpiece. The system thereby defines the second set of spray parameters by: accessing a minimum dry film thickness of the coating, the minimum dry film thickness less than a difference between the first coating thickness and the maximum target coating thickness; and defining the second set of spray parameters configured to deposit at least the minimum dry film thickness onto a surface of the workpiece to yield a second coating thickness exceeding a difference between the first coating thickness and target minimum coating thickness. The system can access coating characteristics including the minimum dry film thickness such as by accessing a manufacturer specification for the particular coating. The system can additionally calculate a minimum dry film thickness based on coating characteristics and ambient conditions in the work zone.1.13.2 _ Thickness Correction Cycle

[0111] In response to the first coating thickness falling below the target minimum coating thickness, the system executes a thickness correction cycle by: triggering the set of actuators totraverse the coating applicator along the second toolpath to spray the coating onto the workpiece according to the second set of spray parameters in Block SI 60.

[0112] In one implementation, the system calculates a first coating thickness of the workpiece based on the first depth value and the second depth value (e.g., a difference between the first and second depth values). In response to the first coating thickness falling below the target minimum coating thickness, the system: defines a second set of spray parameters corresponding to a second applied coating thickness biased toward the target minimum coating thickness, exceeding a first difference between the first coating thickness and the target minimum coating thickness, and falling below a second difference between the first coating thickness and the target maximum coating thickness. The system further: defines a second toolpath spanning the first region of the workpiece based on the second set of spray parameters; and drives the set of actuators to traverse the coating applicator along the second toolpath to spray the coating onto the first region of the workpiece according to the second set of spray parameters.

[0113] In another implementation, in response to the coating thickness exceeding the target minimum coating thickness and falling below the target maximum coating thickness, the system: confirms the coating thickness; and defines a keep-out region spanning the second target location indicating a region not to apply additional coating to.

[0114] However, in response to the coating thickness exceeding the target maximum coating thickness, the system annotates a region of the virtual model of the workpiece corresponding to the target location with a flag for repair.1.14 _ Recoat Window

[0115] In one variation, the system executes the first method SI 00 according to a recoat window including in the coating characteristics.

[0116] In one implementation, in response to the first coating thickness falling below the target minimum coating thickness, the system: accesses a recoat schedule of the coating defining a first recoat window before a first elapsed time after a first layer of the coating, a second recoat window after a second elapsed time after the first layer of the coating, and a no-coat window after the first elapsed time and before the second elapsed time; identifies a window of the recoat schedule for the coating based on a current elapsed time since the first coating; in response to identifying the current elapsed time since the first coating falling during the first recoat window, generates an instruction to apply a second coating to the workpiece via the coating applicator before the first elapsed time; and in response to the current elapsed time during the no-coat window, generates an instruction to wait to apply the second coating to the workpiece via the coating applicator until after the second elapsed time during the second recoat window.

[0117] In one implementation, the system can define a schedule of spray cycles of a set of regions of the workpiece based on the recoat window. For example, the system can calculate a target surface area of the workpiece to coat, sense coating thickness, and recoat within an elapsed time defining the first recoat window. The system then segments the workpiece into a set of regions, each region defining a surface area less than or equal to the target surface area.2, _ Second Method

[0118] As shown in FIGURES 4 and 5, a second method S200 for media blasting a workpiece includes, during a scan cycle: accessing a first set of images captured by an optical sensor traversing a scan path over the workpiece in Block S210; and compiling the first set of images into a virtual model of the workpiece in Block S212.

[0119] The second method S200 further includes, during a first test cycle: accessing a nominal set of blast parameters in Block S220; receiving selection of a first test location on the virtual model representing the workpiece in Block S230; via a set of actuators, navigating a blast nozzle proximal the first test location on the workpiece in Block S232; and projecting blasting media toward the workpiece at the first test location according to the nominal set of blast parameters in Block S234.

[0120] The second method S200 also includes, during the first test cycle: accessing a first image from the optical sensor defining a field of view intersecting the first test location on the workpiece in Block S240; detecting a first scope of coating (e.g., paint, rust) removal from the first test location on the workpiece based on the first image in Block S242; and setting a first set of blast parameters based on the nominal set of blast parameters and the first scope of coating removal in Block S244.

[0121] The second method S200 further includes generating a first tool path for a first workpiece region of the workpiece based on a geometry of the workpiece represented in the virtual model and the first set of blast parameters in Block S250.

[0122] The second method S200 also includes, during a processing cycle: via the set of actuators, navigating the blast nozzle over the first workpiece region according to the first tool path in Block S260; and projecting blasting media toward the workpiece according to the first set of blast parameters in Block S262.2,1 _ Variation: Blast Parameter Interpolation

[0123] In one variation, as shown in FIGURES 4, 5, and 6, the second method S200 further includes, during the first test cycle: receiving selection of a second test location on the virtual model representing the workpiece in Block S270; via the set of actuators, navigating the blastnozzle proximal the second test location on the workpiece in Block S272; and projecting blasting media toward the workpiece at the second test location according to the nominal set of blast parameters in Block S274.

[0124] This variation of the second method S200 also includes, during the first test cycle: accessing a second image from the optical sensor defining a field of view intersecting the second test location on the workpiece in Block S280; detecting a first scope of coating removal from the second test location on the workpiece based on the second image in Block S282; and setting a second set of blast parameters based on the nominal set of blast parameters and the second scope of coating removal in Block S284.

[0125] This variation of the second method S200 further includes, based on the first set of blast parameters and the second set of blast parameters, interpolating blast parameters from the first test location to the second test location to generate a set of interpolated blast parameters in Block S290.

[0126] This variation of the second method S200 includes generating the first tool path based on the geometry of the workpiece represented in the virtual model and the set of interpolated blast parameters in Block S250.2,2 _ Applications

[0127] Generally, an autonomous scanning and media blasting system (hereinafter the “system”) can execute Blocks of the second method S200 to: autonomously navigate a blast nozzle - over and offset a workpiece loaded at a work zone proximal the system - along a predefined toolpath defining a sequence of nominal positions and orientations traversable by the blast nozzle over the workpiece during a media blasting process; and project blasting media (e.g., sand, walnut shells, corn cob blast media, air ball tumbling media, aluminum oxide) from the blast nozzle toward the workpiece according to predefined blast parameters (e.g., offset distance, offset angle, feed rate, stepover distance) along the tool path over the workpiece. Thus, rather than adjusting blast parameters according to real-time data retrieved during a blasting process, the system can navigate the blast nozzle over the workpiece according to the predefined tool path and the predefined blast parameters to achieve a target scope of coating removal across a region or the entire workpiece.

[0128] More specifically, during a pre-blasting process, the system can: autonomously capture scan data of a workpiece occupying a work cell during a rapid, contactless scan cycle; compile the scan data into a virtual three-dimensional model representing the workpiece; and receive selection from an operator of a test location in the virtual three-dimensional model, such as based on a geometry (e.g., concave, convex, planar) of a workpiece region on the workpiecerepresented in the virtual model. Accordingly, the system can then: access a set of nominal blast parameters (e.g., offset distance, feed rate), such as based on substrate characteristics (e.g., sheet metal) and coating characteristics (e.g., rust, paint) of the workpiece; via a set of actuators (e.g., robotic arm, conveyer), navigate the blast nozzle proximal the test location over the workpiece; and project blasting media from the blast nozzle toward the first test location on the workpiece according to the nominal blast parameters.

[0129] The system can then: pause projecting of the blasting media for a target duration of time (e.g., 20 seconds) to allow debris (e.g., blast media, dust, removed coating) to settle at the work zone; capture a first image from an optical sensor defining a field of view intersecting the first test location; and implement computer vision techniques (e.g., template matching) to derive a scope of coating removal about the first test location on the workpiece. Furthermore, the system can: identify the scope of coating removal as exceeding a threshold deviation from a target scope of coating removal; adjust the nominal blast parameters to increase or decrease energy input per unit area on the workpiece to achieve the target scope of coating removal; and store the adjusted nominal blast parameters as a first set of blast parameters for the workpiece. In one example, the nominal blast parameters correspond to predefined low energy blast parameters in order to prevent damage to the workpiece during the initial test cycle. The system can then, based on the scope of coating removal at the workpiece according to the predefined low energy blast parameters, adjust the nominal blast parameters to increase energy input applied to the workpiece.

[0130] Accordingly, the system can then generate the tool path corresponding to a workpiece region of the workpiece - containing the first test location - based on a geometry of the workpiece represented in the virtual model and the first set of blast parameters. The system can then initialize the blasting process to: navigate the blast nozzle over the workpiece according to the tool path; and project blasting media from the blast nozzle toward the workpiece - along the tool path - to remove the coating across the substrate of the workpiece according to the target scope of coating removal.

[0131] Additionally, the system can: repeat the pre-blasting process described above across a set of test locations of the workpiece; and interpolate blast parameters - in a set of interpolated blast parameters - across the set of test locations based on the nominal blast parameters and a scope of coating removal for each test location in the set of test locations. Accordingly, the system can then generate the tool path corresponding to a workpiece region of the workpiece - containing the first test location - based on a geometry of the workpiece represented in the virtual model and the set of interpolated blast parameters.

[0132] Therefore, rather than adjusting blast parameters according to real-time data during a blasting process, the system can execute a blasting media process according to a predefined toolpath and predefined blast parameters assigned to each unit area of the workpiece in order to achieve a target scope of coating removal across a region of the entire workpiece.2,3 System

[0133] In one implementation, as shown in FIGURE 4, the system includes: a robotic arm arranged in or adjacent a work zone and that includes a set of articulatable joints interposed between a series of arm segments; an end effector supported on a distal end of the robotic arm; and a blast nozzle (e.g., nozzle gun, straight bore nozzle, venturi type nozzle) arranged on or integrated into the end effector. The system also includes: an air supply (e.g., compressed air tank, electric air compressor) coupled (e.g., via a hose) to the blast nozzle and configured to supply pressurized air through the blast nozzle; a media supply (e.g., a funnel media cabinet) containing blast media (e.g., sand, walnut shells, corn cob blast media, air ball tumbling media, aluminum oxide) and coupled (e.g., via a hose) to the air compressor and the blast nozzle; and an optical sensor (e.g., a set of depth sensors, a color camera, a thermal camera) arranged on or integrated into the end effector and configured to captured optical images (e.g., depth maps, thermal images, photographic color images) of a workpiece. The system can further include: a set of position sensors configured to output signals representing (or assemblable into) a three-dimensional position of the end effector; a display configured to render a user interface accessible by an operator; and a controller configured to execute Blocks of the second method S200.

[0134] Additionally, the system can include a temperature sensor, such as a contactless temperature sensor (e.g., thermal vision camera, laser temperature probe) arranged on the robotic arm and / or a contact temperature sensor (e.g., temperature probe), configured to couple the workpiece and output temperature values (e.g., timeseries of temperature values) corresponding to temperatures at the workpiece.

[0135] During a blasting cycle, debris - such as blasting media projected from the blasting nozzle, removed coating from the workpiece, and dust - occupies the work zone and affects (e.g., damages) the suite of sensors (e.g., temperature sensor, optical sensor) on the system proximal the work zone. Accordingly, the system can include a shield (e.g., retractable door): arranged over the suite of sensors (e.g., temperature sensor, optical sensor); and coupled to an actuator in order to set the shield in an open configuration during a scan cycle or review cycle and in a closed configuration during a processing cycle.

[0136] In this implementation, the system can also include a conveyer, track, or rail configured to traverse the robotic arm longitudinally along the work zone, such as to reach and process an elongated part defining a high length-to-width ratio (e.g., a high aspect ratio), such as a boat hull or aircraft wing. In one example, the system can execute Blocks of the second methodS200 to: via a set of actuators (i.e., the robotic arm, the conveyer), navigate the end effector - and therefore the blast nozzle and the optical sensor - along a path (e.g., scan path, toolpath) over and offset (e.g., angularly offset, linearly offset) above the workpiece; track a sequence of positions by deriving three-dimensional positions of a reference point on the blast nozzle based on onedimensional positions of the set of actuators while traversing the end effector across the workpiece; and trigger the air compressor to supply pressurized air (e.g., 100 PSI) through the blast nozzle and thus direct (e.g., siphon) media contained within the media cabinet through the blast nozzle and toward the workpiece.

[0137] In another implementation, the system includes a multi-axis (e.g., five-axis) gantry configured to locate and articulate the end effector, blast nozzle, and optical sensor(s) across the work zone.

[0138] In another implementation, the system can include a proximity sensor (e.g., ultrasonic proximity sensor, laser proximity sensor) arranged on or integrated into the end effector. The system can thus: read a set of electrical values from the proximity sensor; interpret an offset distance between the end effector and the workpiece during a media blasting process; and, in response to the offset distance exceeding a threshold offset distance (e.g., one meter) pause the media blasting process for review by an operator. The operator can then inspect the workpiece to ensure the workpiece is securely loaded onto a support rig before resuming the media blasting process.

[0139] In yet another implementation, the system can include an acoustic sensor (e.g., microphone, piezoelectric sensor, seismic sensors) arranged on or integrated into the blast nozzle. The system can thus: during a media blasting process, read a set of electrical values from the acoustic sensor representing flow rate of media through the blast nozzle during the media blasting process; at a first time, during the media blasting process, interpret a first flow rate of media through the blast nozzle; and, in response to the first flow rate falling below a target flow rate (e.g., 100 PSI), pause the media blasting process for review by an operator. In particular, the system can: generate a prompt requesting a user to inspect the blast nozzle in order to confirm an operating condition of the blast nozzle; and serve the prompt to an operator device associated with the operator.2,4 _ Workpiece Loading + Nominal Blasting Parameters

[0140] Block S220 of the second method S200 recites accessing a nominal set of blast parameters. Generally, the system can autonomously retrieve blast parameters and / or other processing limits for autonomously blasting media toward the workpiece.

[0141] In particular, in preparation for autonomously processing (e.g., blasting media) a workpiece by the system, an operator locates the workpiece in the work zone adjacent the system. For example, the operator can: load the workpiece onto a support rig (e.g., a wheeled table) and install intermittent clamps on the workpiece to retain the workpiece on the support rig; place the support rig and workpiece into the work zone; and lock wheels of the support rig to maintain the support rig - and therefore the workpiece - within the work zone.

[0142] The system can then: generate a prompt requesting that a user input nominal blast parameters for blasting media toward the workpiece; and serve the prompt, such as to an operator device associated with the operator overseeing the processing cycle. The operator device can then: receive the nominal blast parameters at the operator device; and transmit the nominal blast parameters to the controller of the system. In one example, the nominal blast parameters can include: a nominal feed rate for navigating the blast nozzle over the workpiece; a nominal stepover distance over the workpiece; a nominal offset angle between an axis of the blast nozzle and a normal vector per unit area on the workpiece; a nominal offset distance between the blast nozzle and the workpiece; and a nominal pressure for projecting blast media toward the workpiece from the blast nozzle (e.g., a maximum force applied by a media cloud output from the blast nozzle to a region of the workpiece). Additionally, the operator can supply these processing limits based on known strengths and compliance characteristics (e.g., substrate characteristics, coating characteristics) of the workpiece.

[0143] Additionally or alternatively, the system can retrieve these nominal blast parameters from a predefined processing profile, such as corresponding to a workpiece type (e.g., a boat hull, an aircraft wing), substrate characteristics (e.g., metal thickness, metal type), coating characteristics (e.g., rust, paint), of the workpiece at the work zone. For example, the system can select a predefined processing profile in a processing profile database based on: a material of the workpiece (e.g., fiberglass, steel, aluminum) and / or a nominal wall thickness of the workpiece selected by the operator; or a length, aspect ratio, and / or a geometry profile of the workpiece (e.g., concave with high aspect ratio, convex with high aspect ratio, concave with low aspect ratio, convex with low aspect ratio) entered by the operator or derived from a scan of the workpiece completed by the system. The system can then load processing limits extracted from the processing profile.2,5 _ Part Scan

[0144] Blocks S210 and S212 of the second method S200 recite: accessing a first set of images captured by an optical sensor traversing a scan path over the workpiece; and compiling the first set of images into a virtual model of the workpiece. Generally, in Blocks S210 and S212, thesystem can implement methods and techniques described in U.S. Patent Application No. 18 / 111,470 to: autonomously navigate the optical sensor (e.g., depth sensor, thermal camera, color camera) over the workpiece; capture optical images (e.g., depth maps, thermal images, photographic color images) of the workpiece; and implement three-dimensional modeling techniques to assemble the optical images into a virtual three-dimensional model that represents surfaces of the workpiece within a wide dimensional tolerance (e.g., + / - o, 15).

[0145] For example, after the operator loads the workpiece into the work zone and confirms processing limits for the workpiece, the system can initiate a scan cycle. During the scan cycle, the system can: navigate the optical sensor - located on the end effector - along the scan path over and offset above the workpiece; monitor a distance between the end effector and the workpiece based on depth data collected by the optical sensor; and implement closed-loop controls to maintain a target offset distance between the optical sensor and the workpiece (e.g., 20”, 50 centimeters). In this example, for a workpiece defining an elongated geometry including a long axis located approximately parallel a longitudinal axis of the work zone, the system can actuate a conveyor supporting the robotic arm to traverse the robotic arm along the longitudinal axis of the work zone while rastering the end effector and the optical sensor laterally across the work zone to capture a sequence of optical images representing all surfaces of the workpiece accessible by a blast nozzle on the end effector.

[0146] The system can thus capture scan data - such as color photographic images, stereoscopic images, depth maps, and / or LIDAR images - from a set of optical sensors arranged on the end effector while traversing the end effector across (e.g., over and not in contact with) the workpiece. For example, the system can capture depth maps at a rate of 2 Hz while traversing the end effector across the workpiece at a rate of three feet per second at a target offset distance of three feet between the end effector and the workpiece, which corresponds to a nominal sensor field of view of three feet by three feet and thus yields approximately 50% overlap between consecutive depth maps captured by the system during the scan cycle.

[0147] The system then compiles these optical images into a virtual three-dimensional model of the workpiece as described in U.S. Patent Application No. 18 / 111,470, such as by implementing structure-from-motion techniques or by fusing these optical images into the virtual model based on poses of the robotic arm when these optical images were captured. For example, the system can compile this set of optical images into a three-dimensional mesh within a virtual three-dimensional space.2.6 Test Cycle

[0148] Blocks S230, S232, and S234 of the second method S200 recite: receiving selection of a first test location on the virtual model representing the workpiece; via a set of actuators, navigating a blast nozzle proximal the first test location on the workpiece; and projecting blasting media toward the workpiece at the first test location according to the nominal set of blast parameters. Additionally, Blocks S240, S242, and S244 of the second method S200 recite: accessing a first image from the optical sensor defining a field of view intersecting the first test location on the workpiece; detecting a first scope of coating removal from the first test location on the workpiece based on the first image; and setting a first set of blast parameters based on the nominal set of blast parameters and the first scope of coating removal.

[0149] Generally, the system can: autonomously project blasting media toward a test location on the workpiece according to nominal blast parameters; characterize a scope of coating removal at the test location; and, based on the nominal blast parameters and the scope of coating removal, derive target blast parameters to achieve a target scope of coating removal proximal the test location on the workpiece. More specifically, the system can: pause the processing cycle for a target duration of time (e.g., 20 seconds) to allow debris (e.g., blast media, dust, removed coating) to settle at the work zone; access an image from an optical sensor defining a field of view intersecting the test location; implement computer vision techniques (e.g., template matching, object recognition) to characterize the scope of coating removal at the first location; and, based on the scope of coating removal, adjust the nominal blast parameters (e.g., offset distance, feed rate) to increase or decrease energy input per unit area on the workpiece. The system can then repeat this process for a series of test locations across the workpiece and interpolate blast parameters across the series of test locations during execution of a processing cycle.2,6, 1 _ Selecting Test Locations

[0150] In one implementation, the system can: generate a prompt requesting an operator to select a test location in the virtual model representing the workpiece; and serve the prompt and the virtual model to the operator device associated with the operator. Accordingly, the operator device can then: render the virtual model at the operator device, such as at an integrated display at the operator device; receive selection of the test location on the virtual model at the operator; and transmit the test location or multiple test locations to the system to in order to execute a test cycle.

[0151] In one example, the operator device can: receive selection of a first test location characterized by a first radius in the virtual model from the operator; receive selection of a second test location characterized by a second radius, less than the first radius, in the virtual model from the operator; and transmit the first test location and the second test location to the system in order to execute the test cycle. The system can then: via the set of actuators, navigate the blast nozzleproximal the test location on the workpiece; and project blasting media from the blast nozzle toward the test location on the workpiece to remove coating over a substrate of the workpiece at the test location. Accordingly, the system can then repeat this process for multiple test locations selected by the operator prior to the processing cycle.

[0152] In another implementation, the system can autonomously select a set of test locations for the test cycle, such as based on the geometry of the virtual model representing the workpiece and / or coating quality characteristics (e.g., flaking, glossiness, rust bleed-through) across the workpiece.

[0153] In one example, the system can: identify a first test location in the virtual model characterized by a concave geometry; and identify a second test location in the virtual model characterized by a convex geometry. Accordingly, the system can then: navigate the blast nozzle proximal the first test location on the workpiece; project blasting media from the blast nozzle toward the workpiece to remove coating across the workpiece at the first test location; pause projection of the blasting media for a target duration of time (e.g., 20 seconds) to allow debris (e.g., blast media, dust, removed coating) to settle at the work zone; navigate the blast nozzle proximal the second test location on the workpiece; and project blasting media from the blast nozzle toward the workpiece to remove coating across the workpiece at the second test location.

[0154] In another example, the system can: retrieve scan data captured by an optical sensor traversing a scan path over the workpiece; implement computer vision techniques (e.g., template matching) to characterize a surface quality (e.g., flaking, glossiness, rust bleed-through) per unit area across the workpiece; identify a first test location on the workpiece characterized by a first surface quality (e.g., glossiness); and identify a second test location on the workpiece characterized by a second surface quality (e.g., flaking) less than the first surface quality. Accordingly, the system can then implement the steps described above to remove coating from the first test location and the second test location on the workpiece.

[0155] Therefore, the system can: autonomously select a set of test locations in preparation for a text cycle; and, during the test cycle, sequentially project blasting media across the set of test locations on the workpiece in order to then characterize scope of coating removal on the workpiece according to the nominal blast parameters as described below.2,6,2 _ Scoping Coating Removal

[0156] During the test cycle, the system can: navigate the blast nozzle proximal a first test location on the workpiece; project blasting media from the blast nozzle toward the first test location on the workpiece; and pause projection of the blasting media for a target duration of time (e.g., 20 seconds) to allow debris (e.g., blast media, dust, removed coating) to settle at the workzone. The system can then: trigger an actuator to open a shield arranged on the optical sensor; navigate the optical sensor proximal the first test location to define a field of view intersecting the first test location; and capture a first image from the optical sensor depicting the first test location. Accordingly, the system can then implement computer vision techniques (e.g., template matching) to characterize a scope of coating removal about the first test location on the workpiece based on the image captured by the optical sensor.

[0157] In one implementation, the system can extract a set of visual features from the image and, based on the set of visual features: detect a blasted region in the first image; and detect an un-blasted region, encircling the blasted region, in the first image. The system can then characterize the scope of coating removal at the first test location based on deviations between the blasted region and the un-blasted region in the first image. In this implementation, based on the deviations, the system can then identify the scope of coating removal as: approximating a target scope of coating removal, such as according to a target surface profile across the workpiece; or falling below a target scope of coating removal. The system can then: adjust the nominal blast parameters (e.g., feed rate, offset distance) to increase or decrease energy input per unit area of the workpiece in order to achieve the target scope of coating removal; and set the adjusted blast parameters as a first set of blast parameters for a subsequent processing cycle to remove the coating from the workpiece.

[0158] For example, the system can project blasting media from the blast nozzle toward the workpiece at the first test location according to nominal blast parameters including: a nominal offset distance between the blast nozzle and the workpiece; and a nominal stepover distance across the workpiece. Accordingly, in response to the scope of coating removal at the first test location falling below a target scope of coating removal, the system can then adjust the nominal blast parameters by: decreasing the nominal offset distance to a first offset distance; and decreasing the nominal stepover distance to a first stepover distance. The system can then: store the first offset distance and the first stepover distance in a first set of blast parameters; and assign the first set of blast parameters along a toolpath to remove coating across the workpiece during a processing cycle following the test cycle.

[0159] In another example, the system can project blasting media from the blast nozzle toward the workpiece at the first test location according to nominal blast parameters including: a nominal feed rate for navigating the blast nozzle over the workpiece; and a nominal offset angle between an axis of the blast nozzle and a normal vector per unit area on the workpiece. Accordingly, in response to the scope of coating removal at the first test location falling below a target scope of coating removal, the system can then adjust the nominal blast parameters by: decreasing the nominal feed rate to a first feed rate; and decreasing the nominal offset angle to afirst offset angle. The system can then: store the first feed rate and the first offset angle in a first set of blast parameters; and assign the first set of blast parameters along a toolpath to remove coating across the workpiece during a processing cycle following the test cycle.

[0160] The system can then repeat this process across multiple test locations on the workpiece to derive a set of blast parameters for a subsequent processing cycle to remove the coating from the workpiece.

[0161] In another implementation, the system can: extract a set of visual features from the first image depicting the first test location on the workpiece; and detect a blasted region in the first image based on the set of visual features. In this implementation, the system can then: identify a substrate material type (e.g., sheet metal) of the workpiece, such as by receiving selection of the substrate material type from the operator or based on a processing profile corresponding to the workpiece; and retrieve a first template image representing complete blasting (e.g., complete coating removal) of the substrate material type. Accordingly, the system can then characterize the scope of coating removal at the first test location based on deviations between the blasted region in the first image and the template image. As described above, the system can then: based on the scope of coating removal, adjust the nominal blast parameters (e.g., feed rate, offset distance) to increase or decrease energy input per unit area of the workpiece in order to achieve the target scope of coating removal; and set the adjusted blast parameters as a first set of blast parameters for a subsequent processing cycle to remove the coating from the workpiece.

[0162] In yet another implementation, the system can: extract a set of visual features from the first image depicting the first test location on the workpiece; and interpret a surface profile for a blasted region in the first image based on the set of visual features. In this implementation, the system can: retrieve a target surface profile corresponding to the workpiece, such as from a processing profile assigned to the workpiece; and characterize the scope of coating removal at the first test location based on deviations between the surface profile for the blasted region and the target surface profile. As described above, the system can then: based on the scope of coating removal, adjust the nominal blast parameters (e.g., feed rate, offset distance) to increase or decrease energy input per unit area of the workpiece in order to achieve the target scope of coating removal; and set the adjusted blast parameters as a first set of blast parameters for a subsequent processing cycle to remove the coating from the workpiece.

[0163] Therefore, the system can: autonomously characterize a scope of coating removal across multiple test locations on the workpiece; adjust nominal blast parameters, based on the scope of coating removal across the multiple test locations, to derive blast parameters approximating a target scope of coating removal (e.g., target surface profiling) across theworkpiece; and assign these blast parameters to a tool path during a subsequent processing cycle to remove coating from the workpiece.2,6,3 _ Tool Path Generation + Blast Parameter Interpolation

[0164] Block S250 of the second method S200 recites generating a first tool path for a first workpiece region of the workpiece based on a geometry of the workpiece represented in the virtual model and the first set of blast parameters.

[0165] The system can: retrieve a set of blast parameters adjusted from the nominal blast parameters according to a scope of coating removal for a first test location at the workpiece; derive a tool path (e.g., e.g., linear toolpath, serpentine, boustrophedonic) within a first region of the workpiece - containing the first test location - according to the set of blast parameters (e.g., stepover distance); and store the tool path as a set of keypoints across the workpiece represented in the virtual model. Each keypoint, in the set of keypoints: represents a vertex or other point on the toolpath, such as per unit area across the workpiece; defines a three-dimensional position on the workpiece; includes a vector normal to the workpiece at the three-dimensional position; and is labeled with blast parameters (e.g., offset distance, feed rate). More specifically, the system can: project the toolpath onto the workpiece region of the workpiece represented in the virtual model, which represents the workpiece in unloaded form; and extract a three-dimensional position and normal vector of each vertex on the toolpath from the virtual model. Accordingly, the system can then store the toolpath as a first ordered sequence of keypoints: located on an unloaded surface of the workpiece stored in (i.e., represented by) the virtual model; and contained within the workpiece region.

[0166] In one implementation, the system can: retrieve a first set of blast parameters adjusted from the nominal blast parameters according to a first scope of coating removal for a first test location at the workpiece; retrieve a second set of blast parameters adjusted from the nominal blast parameters according to a second scope of coating removal for a second test location at the workpiece; and interpolate blast parameters between the first test location and the second test location on the workpiece. Accordingly, the system can then: derive a tool path (e.g., e.g., linear toolpath, serpentine, boustrophedonic) within a first region of the workpiece - containing the first test location and the second test location - according to the interpolated blast parameters (e.g., stepover distance); and store the tool path as a set of keypoints across the workpiece represented in the virtual model.

[0167] The system can then repeat this process for each other workpiece region of the workpiece. Thus, during a processing cycle, the system can: retrieve the tool path, such as fromthe virtual model; navigate the blast nozzle along the tool path; and project blasting media according to the interpolated blast parameters (e.g., per unit area) defined in the tool path.

[0168] Alternatively, the system can implement the foregoing methods and techniques to generate a single continuous toolpath spanning the entire workpiece or an entire surface of the workpiece selected for autonomous processing by the system.

[0169] Therefore, rather than adjusting blast parameters according to real-time data during a blasting media process, the system can execute a blasting media process according to a predefined tool path and predefined blast parameters in order to achieve a target scope of coating removal across the workpiece.2,6,4 _ Temperature Monitoring

[0170] In one implementation, the system can: retrieve a temperature threshold (e.g., 350 degrees Fahrenheit), such as from a processing profile corresponding to the workpiece or based on a substrate material type for the workpiece; read a temperature value from a temperature sensor (e.g., probe, thermal camera, laser temperatures sensor) coupled to the first test location on the workpiece; and, in response to the temperature value approaching (e.g., within 10 degrees Fahrenheit) the temperature threshold, adjust the nominal blast parameters to decrease energy input per unit area of the workpiece in order to prevent damage (e.g., warping, deflection) to the substrate of the workpiece during the blasting media process.

[0171] In one example, during the test cycle, the system can: terminate projection of blasting media toward the workpiece at the first test location; access a threshold temperature value (e.g., 350 degrees Fahrenheit) corresponding to a substrate material type (e.g., aluminum sheet metal) of the workpiece; read a temperature value from a contactless temperature sensor (e.g., laser temperature sensor) intersecting the first test location on the workpiece; and, in response to the temperature value exceeding the threshold temperature value, adjust the first set of blast parameters (e.g., offset distance, pressure) by decreasing energy input per unit area of the workpiece.

[0172] In another example, during the test cycle, the system can: retrieve a threshold temperature value (e.g., 350 degrees Fahrenheit) corresponding to a substrate material type (e.g., aluminum sheet metal) of the workpiece; generate a prompt to locate a temperature sensor (e.g., temperature probe) on a rear side of the workpiece adjacent the first test location; and serve the prompt to an operator device associated with an operator overseeing a blasting process of the workpiece. Accordingly, during a first time period while blasting media toward the workpiece at the first test location, the system can: read a timeseries of temperature values from the temperature sensor; and, in response to the timeseries of temperature values approaching the thresholdtemperature value, deviate the nominal set of blast parameters (e.g., offset distance, pressure) to decrease energy input to the first test location.

[0173] Therefore, the system can adjust the nominal blast parameters to maintain the workpiece below a target temperature threshold (e.g., 350 degrees Fahrenheit) in order to prevent damage (e.g., warping, deflection) to the workpiece during the processing cycle.2,7 _ Processing Cycle

[0174] Blocks S260 and S262 of the second method S200 recite: via the set of actuators, navigating the blast nozzle over the first workpiece region according to the first tool path; and projecting blasting media toward the workpiece according to the first set of blast parameters. Generally, the system can: autonomously navigate the blast nozzle along a tool path (e.g., sequence of keypoints) defined within a workpiece region of the workpiece; and project blasting media from the blast nozzle toward the workpiece according to blast parameters specified in the tool path without reliance on real-time data during the processing cycle. More specifically, the system can, for each unit area across the workpiece along the tool path: retrieve a set of blast parameters from the virtual model for the unit area; and project blast media from the blast nozzle to the unit area according to the set of blast parameters for the unit area.

[0175] In one implementation, the system can implement closed-loop controls to project blasting media according to the set of blast parameters set in the tool path while the blast nozzle traverses over the workpiece. For example, for a first keypoint in a first ordered sequence of keypoints, the system can drive the set of actuators to: locate the blast nozzle at a first three- dimensional position intersecting the first keypoint; align an axis of the blast nozzle to the target offset angle from a first vector contained in the first keypoint; and align an outlet of the blast nozzle to the target offset distance from the first keypoint. The system can then drive the set of actuators to interpolate a three-dimensional path and blast nozzle orientation from the first keypoint to a second keypoint - in the first ordered sequence of keypoints - while implementing closed-loop controls to maintain the blast nozzle from the workpiece at the target offset angle and the target offset distance. The system can repeat this process for each other keypoint along the toolpath and then along subsequent toolpaths defined for other workpiece regions of the workpiece.

[0176] Therefore, rather than adjusting blast parameters according to real-time data retrieved during the processing cycle, the system can adjust blast parameters according to predefined blast parameters per unit area across the workpiece. The system can then repeat this process for multiple tool paths corresponding to workpiece regions across the entire workpiece in order to completely remove coating (e.g., paint, rust) from a substrate of the workpiece.2,7, 1 _ Review + Blasting Model

[0177] Blocks of the second method S200 further recite, based on a set of correlations, generating a blasting model representing combinations of blast parameters characteristic of coating removal from the workpiece in Block S295.

[0178] In one implementation, the system can: initiate a review cycle following the processing cycle (i.e., following settling of debris from the processing cycle); derive correlations between blast parameters during the processing cycle, geometry of the workpiece, and a scope of coating removal across the workpiece following the processing cycle; and implement artificial intelligence, machine learning, regression, statistical analysis and / or other methods and techniques to derive a blasting model - based on the correlations - representing combinations of blast parameters characteristic of coating removal from the workpiece. Thus, prior to initiating a second processing cycle for a second workpiece, the system can: retrieve scan data (e.g., images) to generate a second virtual model representing the second workpiece; derive blast parameters for each unit area of the workpiece represented in the virtual model based on the blasting model; and generate the tool path - skipping the test cycle - for a workpiece region on the workpiece based on a geometry of the second virtual model representing the workpiece and the blast parameters.

[0179] Accordingly, the system can then initiate the second processing cycle to: navigate the blast nozzle over the second workpiece according to the tool path; and project blasting media from the blast nozzle toward the workpiece along the tool path according to the blasting model.

[0180] In one example, during the processing cycle, the system can record a set of blast parameters for each unit area of the workpiece along the tool path. Following termination of the processing cycle, the system can then navigate the optical sensor along the tool path - traversed during the processing cycle - to capture a series of images representing each unit area on the workpiece after the processing cycle. Furthermore, for each unit area of the workpiece, the system can: characterize a scope of coating removal (e.g., surface profile) based on an image, in the series of images, corresponding to the unit area; and derive a correlation, in a set of correlations, between the set of blast parameters (e.g., offset distance, pressure) implemented over the unit area, a geometry (e.g., concave, convex) of the unit area represented in the virtual model, and the scope of coating removal from the unit area. The system can then, based on the set of correlations, generate a blasting model representing combinations of blast parameters characteristic of coating removal from the workpiece.

[0181] In this example, the system can then, during a second scan cycle: access a second set of images captured by the optical sensor traversing the scan path over a second workpiece; and compile the second set of images into a second virtual model of the second workpiece. The system can then, for each unit area of the second workpiece represented in the second virtual model, assignblast parameters - in a second set of blast parameters - to the unit area based on: the blasting model; and a geometry per the unit area represented in the second virtual model. Accordingly, the system can then generate a second tool path based on the geometry of the second workpiece represented in the second virtual model and the second set of blast parameters. Thus, during a second processing cycle following the second scan cycle, the system can: via the set of actuators, navigate the blast nozzle over the second workpiece region according to the second tool path; and project blasting media toward the second workpiece according to the second set of blast parameters.

[0182] Therefore, the system can: receive loading of a workpiece on the work zone; initiate a scan cycle to derive a tool path for blasting media toward the workpiece based on the blasting model and a virtual model of the workpiece; and initiate a processing cycle to navigate the blast nozzle over the workpiece according to the tool path to remove coating from the workpiece.3, _ Conclusion

[0183] The systems and methods described herein can be embodied and / or implemented at least in part as a machine configured to receive a computer-readable medium storing computer- readable instructions. The instructions can be executed by computer-executable components integrated with the application, applet, host, server, network, website, communication service, communication interface, hardware / firmware / software elements of a user computer or mobile device, wristband, smartphone, or any suitable combination thereof. Other systems and methods of the embodiment can be embodied and / or implemented at least in part as a machine configured to receive a computer-readable medium storing computer-readable instructions. The instructions can be executed by computer-executable components integrated by computer-executable components integrated with apparatuses and networks of the type described above. The computer- readable medium can be stored on any suitable computer readable media such as RAMs, ROMs, flash memory, EEPROMs, optical devices (CD or DVD), hard drives, floppy drives, or any suitable device. The computer-executable component can be a processor, but any suitable dedicated hardware device can (alternatively or additionally) execute the instructions.

[0184] As a person skilled in the art will recognize from the previous detailed description and from the figures and claims, modifications and changes can be made to the embodiments of the invention without departing from the scope of this invention as defined in the following claims.

Claims

CLAIMSI Claim:

1. A method comprising:• during a first time interval: o accessing a target minimum coating thickness and a target maximum coating thickness for a coating applied to a workpiece; o triggering an optical sensor, traversing a workpiece, to capture a first set of scan data representing the workpiece; o assembling the first set of scan data into a first virtual model representing a surface contour of the workpiece; o triggering a depth sensor to capture a first depth value at a first target location on the workpiece; o defining a first set of spray parameters corresponding to a first applied coating thickness biased toward the target minimum coating thickness; o defining a first toolpath based on the first set of spray parameters and the surface contour of the workpiece represented in the virtual model; and o driving a set of actuators to traverse a coating applicator along the first toolpath to spray the coating onto the workpiece according to the first set of spray parameters; and• during a second time interval succeeding the first time interval: o triggering the depth sensor to capture a second depth value at the first target location; and o for a first region of the workpiece:■ calculating a first coating thickness within the first region of the workpiece based on the first depth value and the second depth value; and■ in response to the first coating thickness falling below the target minimum coating thickness:• defining a second set of spray parameters corresponding to a second applied coating thickness biased toward the target minimum coating thickness: o exceeding a first difference between the first coating thickness and the target minimum coating thickness; and o falling below a second difference between the first coating thickness and the target maximum coating thickness;• defining a second toolpath spanning the first region of the workpiece based on the second set of spray parameters; anddriving the set of actuators to traverse the coating applicator along the second toolpath to spray the coating onto the first region of the workpiece according to the second set of spray parameters.

2. The method of Claim 1, wherein triggering the depth sensor to capture the first depth value at the first target location on the workpiece comprises:• detecting an upward-facing maxima represented in the virtual model;• associating the upward-facing maxima represented in the virtual model with a risk of wet coating migration away from the upward-facing maxima and reduced coating thickness;• defining the first target location, on the workpiece, proximal the upward-facing maxima represented in the virtual model; and• defining the first region of the workpiece containing the first target location.

3. The method of Claim 1 :• wherein accessing the target minimum coating thickness comprises: o accessing a target minimum dry film thickness;• wherein accessing the target maximum coating thickness comprises: o accessing a target maximum dry film thickness.• further comprising: o accessing a coating thickness function defining conversion of wet coating thickness to dry coating thickness of the coating based on an elapsed time since application of the coating; and o storing a first time corresponding to application of coating within the first region during first time interval; and• wherein calculating the first coating thickness within the first region of the workpiece comprises: o calculating a wet coating thickness within the first region based on a difference between the first depth value and the second depth value; and o converting the wet coating thickness to a final dry film thickness based on the coating thickness function and the first time.

4. The method of Claim 1 :• wherein defining the first set of spray parameters comprises:o defining a first feed rate to traverse the coating applicator along the first toolpath about the workpiece; o defining a first flow rate of the coating through the coating applicator; and o defining a first offset distance between the nozzle of the coating applicator and the workpiece, the first feed rate, first flow rate, and first offset distance predicted to yield a layer of the coating:■ exceeding the target minimum coating thickness; and■ falling below the target maximum coating thickness.

5. The method of Claim 1, wherein defining the first set of spray parameters comprises:• generating a virtual environment approximating the work zone;• populating the virtual environment with the virtual model representing the workpiece;• simulating application of the coating onto the virtual model representing the workpiece within the virtual environment according to a first set of simulated spray parameters comprising: o a first feed rate; o a first flow rate; and o a first offset distance;• calculating a first simulated thickness of the simulated coating of the first region of the workpiece, the first simulated thickness falling below the target minimum coating thickness;• simulating the coating applicator spraying the simulated coating onto a second region of the workpiece according to a second set of simulated spray parameters comprising: o a second feed rate; o a second flow rate; and o a second offset distance;• calculating a second simulated thickness of the simulated coating of the second region of the workpiece, the second simulated thickness exceeding the target maximum coating thickness; and• in response to the first simulated thickness falling below the target minimum coating thickness and the second simulated thickness exceeding the target maximum coating thickness, defining the first set of spray parameters comprising: o a third feed rate less than the first feed rate and greater than the second feed rate; o the first flow rate; and o the first offset distance.

6. The method of Claim 1 :• wherein defining the first toolpath comprises: o generating a set of keypoints:■ offset from a surface of the workpiece by the target offset distance; and■ defining a path approximating a geometry of the surface contour of workpiece; and• wherein driving the set of actuators to traverse the coating applicator along the first toolpath comprises: o triggering a set of actuators to sequentially drive the coating applicator to each keypoint of the set of keypoints along the path approximating the geometry of the surface contour of workpiece.

7. The method of Claim 1 :• further comprising, during the first time interval: o selecting a second target location different from the first target location; and o triggering the depth sensor to capture a third depth value at the second target location; and• further comprising, during the second time interval: o triggering the depth sensor to capture fourth depth value at the second target location; o calculating a second coating thickness proximal the second target location based on a difference of the third depth value from the fourth depth value; and o in response to the second coating thickness exceeding the target minimum coating thickness and falling below the target maximum coating thickness:■ confirming the second coating thickness;■ defining a keep-out region spanning the second target location; and■ defining a repair toolpath avoiding the keep-out region.

8. The method of Claim 7, further comprising:• during the first time interval: o selecting a third target location different from the first target location and the second target location; and o triggering the depth sensor to capture a fifth depth value at the third target location; and• during the second time interval: o triggering the depth sensor to capture a sixth depth value at the third target location; o calculate third coating thickness proximal the third target location based on a difference of the fifth depth value from the sixth depth value; ando in response to the third coating thickness exceeding the target maximum coating thickness:■ annotating a region of the virtual model of the workpiece corresponding to the third target location with a flag for repair;■ generating a notification indicating the flag for repair; and■ transmitting the notification to an operator.

9. The method of Claim 8, wherein selecting the third target location comprises:• detecting a downward -facing edge represented in the virtual model;• associating the downward-facing edge represented in the virtual model with risk of wet coating migration toward from the downward-facing maxima and increased coating thickness;• defining the target location, on the workpiece, proximal the downward-facing edge represented in the virtual model; and• defining a third region of the workpiece containing the third target location.

10. The method of Claim 1, wherein defining the second set of spray parameters comprises:• accessing a minimum dry film thickness associated with the coating, the minimum coating dry film less than a difference between the first coating thickness and target maximum coating thickness; and• defining the second set of spray parameters configured to deposit at least the minimum dry thickness onto the workpiece to yield a second coating thickness exceeding a difference between the first coating thickness and target minimum coating thickness.

11. The method of Claim 1 :• wherein driving the set of actuators to traverse the coating applicator comprises: o driving the set of actuators to traverse the coating applicator proximal the workpiece comprising a first material;• further comprising, during a calibration time interval preceding the first time interval: o triggering the depth sensor to capture:■ a first calibration depth value a first calibration depth sensing location within a first region of the sample workpiece; and■ a second calibration depth value at a second calibration depth sensing location within a second region of the sample workpiece; o driving the set of actuators to traverse the coating applicator along a first calibration toolpath about a calibration surface comprising the first material to spray the coatingonto the first region of the sample workpiece according to the first set of calibration spray parameters; o driving the set of actuators to traverse the coating applicator along the first calibration toolpath about the sample workpiece defining the first material to spray the coating onto the second region of the sample workpiece according to the second set of calibration spray parameters; o triggering the depth sensor to capture:■ a third calibration depth value the first calibration depth sensing location within the first region of the sample workpiece; and■ a fourth calibration depth value at a second calibration depth sensing location within the second region of the sample workpiece; o calculating a first calibration coating thickness of the first region based on the first depth value and the third depth value; o calculating a second calibration coating thickness of the second region based on the second depth value and the fourth depth value; o generating a spray parameter model correlating spray parameters to coating thickness on the first material based on:■ the first set of spray parameters;■ the second set of spray parameters;■ the first calibration coating thickness of the first region; and■ the second calibration coating thickness of the second region; and• wherein defining the first set of spray parameters during the first time interval comprises: o accessing the spray parameter model correlating spray parameters to coating thickness on the first material; and o calculate a first set of spray parameters based on the spray parameter model, the target minimum coating thickness, and the geometry of the workpiece represented in the virtual model.

12. The method of Claim 1, wherein defining the second set of spray parameters and the second toolpath comprises:• accessing a recoat schedule of the coating defining: o a first recoat window before a first elapsed time after a first layer of the coating; o a second recoat window after a second elapsed time after the first layer of the coating; and o a no-coat window after the first elapsed time and before the second elapsed time;• identifying a window of the recoat schedule for the coating based on a current elapsed time since the first coating;• in response to identifying the current elapsed time since the first coating falling during the first recoat window: o generating an instruction to apply a second coating to the workpiece via the coating applicator before the first elapsed time; and• in response to the current elapsed time during the no-coat window: o generating an instruction to wait to apply the second coating to the workpiece via the coating applicator until after the second elapsed time during the second recoat window.

13. The method of Claim 1 :• further comprising, during the first time interval: o accessing a recoat schedule of the coating defining:■ a first recoat window for application of a second layer of the coating over a first wet layer of the coating;■ a second recoat window, after the first recoat window, for application of the second layer of the coating over a first dry layer of the coating; and■ a no-coat window after the first recoat window and before the second recoat window; o calculating a threshold surface area based on the first recoat window, the second recoat window, and the no-coat window; and o segmenting the workpiece into a set of regions, each region defining a surface area, less than the threshold surface area, for coating and recoating within the first recoat window.• wherein driving the set of actuators to traverse the coating applicator along the first toolpath comprises: o driving the set of actuators to traverse the coating applicator within a region of the set of regions defining a surface area less than the threshold surface area to spray the coating onto the region of the workpiece according to the first set of spray parameters; and• driving the set of actuators to traverse the coating applicator along the second toolpath comprises: o driving the set of actuators to traverse the coating applicator within the region of the set of regions to spray the coating onto the region of the workpiece according to the second set of spray parameters.

14. A method comprising:• during a first time interval: o accessing a target minimum coating thickness and a target maximum coating thickness for a coating applied to a workpiece; o triggering an optical sensor, traversing a workpiece, to capture a first set of scan data representing the workpiece; o triggering a depth sensor to capture a first depth value at a first target location on the workpiece; o assembling the first set of scan data into a first virtual model representing a surface contour of the workpiece; o defining a first set of spray parameters corresponding to a first applied coating thickness biased toward the target minimum coating thickness based on:■ a set of initial ambient conditions within a work zone containing the workpiece; and■ predicted coating characteristics; o defining a first toolpath based on:■ the surface contour of the workpiece represented in the virtual model;■ the initial ambient conditions within the work zone containing the workpiece; and■ the predicted coating characteristics; and o driving a set of actuators to traverse a coating applicator along the first toolpath to spray the coating onto the workpiece according to the first set of spray parameters; and• during a second time interval succeeding the first time interval: o triggering the depth sensor to capture a second depth value at the first target location; and o for a first region of the workpiece:■ calculating a first coating thickness within the first region of the workpiece based on the first depth value and the second depth value;■ in response to the first coating thickness falling below the target minimum coating thickness:• defining a second set of spray parameters based on revised ambient conditions within the work zone and revised coating characteristics, the second set of spray parameters corresponding to a second applied coating thickness biased toward the target minimum coating thickness:o exceeding a first difference between the first coating thickness and the target minimum coating thickness;• defining a second toolpath spanning the first region of the workpiece based on: o the revised ambient conditions within the work zone; and o the revised coating characteristics; and• driving the set of actuators to traverse the coating applicator along the second toolpath to spray the coating onto the first region of the workpiece according to the second set of spray parameters.

15. The method of Claim 14, wherein defining the first toolpath comprises:• initializing a virtual environment representing the work zone;• populating the virtual environment with the virtual model of workpiece;• accessing the set of initial ambient conditions;• accessing the predicted coating characteristics;• projecting the first toolpath onto the virtual model within the virtual environment;• calculating a set of predicted thicknesses of the coating applied to the workpiece by simulating application of the coating to the virtual model within virtual environment based on: o the initial ambient conditions; o the predicted coating characteristics; and o the first set of spray parameters; and• adjusting the first set of spray parameters and the first toolpath to reduce a difference between the set of predicted thicknesses and the target minimum coating thickness.

16. The method of Claim 15, wherein defining the second set of spray parameters comprises:• generating a modified virtual environment to produce a simulated coating thickness matching the first coating thickness;• calculating the first difference between the first coating thickness and the target minimum coating thickness;• projecting the second toolpath onto virtual model within the virtual environment;• calculating a second set of predicted thicknesses of the coating applied to the first workpiece region by simulating application of paint to virtual model within the modified virtual environment; andadjusting the second set of spray parameters and the second toolpath to reduce a difference between the second set of predicted thicknesses and the first difference.

17. The method of Claim 15:• wherein accessing the set of initial ambient conditions comprises: o accessing an ambient temperature within the work zone; and o accessing a humidity within work zone;• wherein accessing the predicted coating characteristics comprises: o calculating a transfer efficiency of the coating based on the ambient temperature and the humidity within the work zone, the transfer efficiency defining a proportion of the coating sprayed by the coating applicator that affixes to the workpiece; and• wherein defining first set of spray parameters comprises: o based on the transfer efficiency, defining a first flow rate of the coating, a first feed rate of the coating applicator, and a first offset distance between the coating applicator and the workpiece corresponding to depositing a first coating exhibiting a first thickness exceeding the target minimum coating thickness and falling below the target maximum coating thickness on the workpiece.

18. The method of Claim 15:• wherein defining the first set of spray parameters corresponding to a first applied coating thickness biased toward the target minimum coating thickness comprises: o calculating a minimum volume of coating to dispense per unit area of the workpiece to minimize:■ a drying time of the coating; and■ coating defects; o inputting the minimum volume of coating into a coating simulator; o executing a simulation of coating the workpiece with the minimum volume of coating via the coating simulator according to a set of simulated spray parameters; and o in response to the simulation yielding a simulated coating thickness within a threshold range of the target minimum coating thickness, defining the first set of spray parameters as the set of simulated spray parameters.

19. A method comprising:• during a first time interval:o accessing a target minimum coating thickness and a target maximum coating thickness for a coating applied to a workpiece; o triggering an optical sensor, traversing a workpiece, to capture a first set of scan data representing the workpiece; o assembling the first set of scan data into a first virtual model representing a surface contour of the workpiece; o triggering a depth sensor to capture a first set of depth values at a set of defined target locations on the workpiece; o defining a first set of spray parameters corresponding to a first applied coating thickness biased toward the target minimum coating thickness; o defining a first toolpath based on the first set of spray parameters and the surface contour of the workpiece represented in the virtual model; and o driving a set of actuators to traverse a coating applicator along the first toolpath to spray the coating onto the workpiece according to the first set of spray parameters; and• during a second time interval after the first time interval: o triggering the depth sensor to capture a second depth value at the set of defined target locations on the workpiece; o for a first target location of the set of defined target locations within a first region of the workpiece:■ calculating a first coating thickness based on the first depth value at the first target location and the second depth value at the first target location; and■ in response to the first coating thickness exceeding the target minimum coating thickness:• confirming the second coating thickness; and• defining a keep-out region spanning the first region; and o for a second target location of the set of defined target locations within a second region of the workpiece:■ calculating a second coating thickness within the second region based on the first depth value at the second target location and the second depth value at the second target location; and■ in response to the second coating thickness falling below the target minimum coating thickness: defining a second set of spray parameters corresponding to a second applied coating thickness biased toward the target minimum coating thickness:o exceeding a first difference between the first coating thickness and the target minimum coating thickness; and o falling below a second difference between the first coating thickness and the target maximum coating thickness;• defining a second toolpath: o spanning the second region of the workpiece; and o avoiding the first region; and• driving a set of actuators to traverse the coating applicator along the second toolpath to spray the coating onto the first region of the workpiece according to the second set of spray parameters.

20. The method of Claim 19:• wherein defining the first set of spray parameters comprises: o defining a first feed rate to traverse the coating applicator along the first toolpath about the workpiece; o defining a first flow rate of the coating exiting a nozzle of the coating applicator; and o defining a first offset distance between the nozzle of the coating applicator and the workpiece; and• wherein the first feed rate, first flow rate, and the first offset distance are predicted to yield a layer of the coating on the workpiece: o exceeding the target minimum coating thickness; and o falling below the target maximum coating thickness.

21. A method comprising:• accessing a target minimum coating thickness and a target maximum coating thickness for a coating applied to a workpiece;• accessing a virtual model representing a surface contour of the workpiece;• accessing a first depth value at a first target location on the workpiece;• based on the virtual model, defining a first set of spray parameters predicted to yield a first target coating thickness of the coating, applied to the workpiece, biased toward the target minimum coating thickness; and• applying the coating onto the workpiece based on the first set of spray parameters;• accessing a second depth value at the first target location;• calculating a first applied coating thickness within a first region of the workpiece based on the first depth value and the second depth value; and• in response to the first applied coating thickness falling below the target minimum coating thickness: o defining a second set of spray parameters corresponding to a second target coating thickness less than a difference between the first applied coating thickness and the target minimum coating thickness; and o applying the coating onto the first region of the workpiece according to the second set of spray parameters.

22. The method of Claim 21 :• wherein accessing the virtual model representing the surface contour of the workpiece comprises: o triggering an optical sensor, arranged proximal the workpiece, to capture a first set of scan data representing the workpiece; and o assembling the first set of scan data into the virtual model representing the surface contour of the workpiece;• wherein accessing the first depth value at the first target location on the workpiece comprises: o triggering a depth sensor, arranged proximal the workpiece, to capture the first depth value at the first target location on the workpiece; and• wherein accessing the second depth value at the first target location comprises: o triggering the depth sensor to capture the second depth value at the first target location.

23. The method of Claim 21 :• wherein defining the first set of spray parameters comprises: o defining a first toolpath based on the surface contour of the workpiece represented in the virtual model; and• wherein applying the coating onto the workpiece based on the first set of spray parameters comprises: o driving a set of actuators to traverse a coating applicator along the first toolpath to apply the coating onto the workpiece based on the first set of spray parameters; and• wherein applying the coating onto the first region of the workpiece according to the second set of spray parameters comprises:o driving the set of actuators to traverse the coating applicator along a second toolpath to apply the coating onto the workpiece based on the second set of spray parameters, the second toolpath spanning the first region of the workpiece.

24. The method of Claim 23:• wherein defining the first set of spray parameters comprises: o defining a first feed rate for traversing the coating applicator along the first toolpath about the workpiece; o defining a first flow rate of the coating through the coating applicator; and o defining a first offset distance between the coating applicator and the workpiece, the first feed rate, first flow rate, and first offset distance predicted to yield a layer of the coating:■ exceeding the target minimum coating thickness;■ biased toward the target minimum coating thickness; and■ less than the target maximum coating thickness.

25. The method of Claim 23:• wherein defining the first toolpath comprises: o generating a set of keypoints:■ offset from a surface of the workpiece by a target offset distance; and■ defining a path approximating a geometry of the surface contour of workpiece; and• wherein driving the set of actuators to traverse the coating applicator along the first toolpath comprises: o triggering the set of actuators to sequentially drive the coating applicator, at the target offset distance, to each keypoint of the set of keypoints along the path approximating the geometry of the surface contour of workpiece.

26. The method of Claim 21 :• wherein defining the second set of spray parameters corresponding to the second target coating thickness comprises defining the second set of spray parameters corresponding to the second target coating thickness, the second target coating thickness: o exceeding a first difference between the first applied coating thickness and the target minimum coating thickness; ando falling below a second difference between the first applied coating thickness and the target maximum coating thickness.

27. The method of Claim 21 :• further comprising, prior to application of the coating onto the workpiece based on the first set of spray parameters: o selecting a second target location:■ distinct from the first target location; and■ located within a second region of the workpiece distinct from the first region of the workpiece; and o accessing a third depth value at the second target location;• further comprising, following application of the coating onto the workpiece based on the first set of spray parameters: o accessing a fourth depth value at the second target location; o calculating a second coating thickness within the second target location based on the third depth value from the fourth depth value; and• wherein defining the second set of spray parameters comprises: o in response to the second coating thickness exceeding the target minimum coating thickness and falling below the target maximum coating thickness:■ defining the second set of spray parameters defining application of the coating onto the first region of the workpiece and excluding application of the coating onto the second region of the workpiece.

28. The method of Claim 21, wherein accessing the first depth value at the first target location on the workpiece comprises:• detecting an upward-facing maxima represented in the virtual model;• predicting a reduction in coating thickness at the upward-facing maxima due to migration of the coating proportional to a steepness of the surface proximal the upward-facing maxima; and• in response to the reduction in coating thickness exceeding a threshold, queuing a depth sensor, arranged proximal the workpiece, to capture the first depth value proximal the upward-facing maxima.

29. The method of Claim 21 : wherein accessing the target minimum coating thickness comprises:o accessing a target minimum dry film thickness;• wherein accessing the target maximum coating thickness comprises: o accessing a target maximum dry film thickness;• further comprising: o accessing a coating thickness function defining conversion of wet coating thickness to dry coating thickness based on an elapsed time since application of the coating; and o storing a first time corresponding to application of coating within the first region of the workpiece; and• wherein calculating the first applied coating thickness within the first region of the workpiece comprises: o calculating a first wet coating thickness within the first region based on a difference between the first depth value and the second depth value; and o converting the first wet coating thickness to a final dry film thickness based on the coating thickness function and the first time.

30. The method of Claim 21, wherein defining the first set of spray parameters comprises:• simulating application of the coating onto the virtual model representing the workpiece according to a first set of simulated spray parameters comprising: o a first feed rate; o a first flow rate; and o a first offset distance;• calculating a first simulated thickness of simulated coating of the first region of the workpiece;• simulating application of the coating onto a second region of the workpiece according to a second set of simulated spray parameters comprising: o a second feed rate; o a second flow rate; and o a second offset distance;• calculating a second simulated thickness of the simulated coating of the second region of the workpiece; and• in response to the first simulated thickness falling below the target minimum coating thickness and the second simulated thickness exceeding the target maximum coating thickness, defining the first set of spray parameters comprising: o a third feed rate less than the first feed rate and greater than the second feed rate; o the first flow rate; and o the first offset distance.

31. The method of Claim 21, further comprising:• further comprising, prior to application of the coating onto the workpiece based on the first set of spray parameters: o selecting a second target location distinct from the first target location; and o accessing a third depth value at the second target location; and• further comprising, following application of the coating onto the workpiece based on the first set of spray parameters: o accessing a fourth depth value at the second target location; o calculating a second coating thickness within the second target location based on the third depth value and the fourth depth value; and o in response to the second coating thickness exceeding the target maximum coating thickness:■ annotating a segment of the virtual model, corresponding to the second target location on the workpiece, with a flag for repair.

32. The method of Claim 31, wherein the second target location comprises:• detecting a downward -facing edge represented in the virtual model;• predicted to yield wet coating migration from the downward-facing edge proportional to a steepness of the downward-facing edge; and• selecting the second target location, on the workpiece, proximal the downward-facing edge represented in the virtual model.

33. The method of Claim 21, wherein defining the second set of spray parameters comprises:• accessing a minimum dry film thickness associated with the coating, the minimum coating dry film less than a difference between the applied coating thickness and target maximum coating thickness; and• defining the second set of spray parameters configured to deposit at least the minimum dry film thickness onto the workpiece to yield a second coating thickness exceeding a difference between the first applied coating thickness and the target minimum coating thickness.

34. The method of Claim 21, wherein defining the second set of spray parameters comprises:• accessing a maximum recoat time limit following application of the coating;• in response to a current elapsed time since application of the first coating onto the workpiece falling below the maximum recoat time limit:o generating an instruction to apply a second layer to the workpiece before the first elapsed time; and• in response to the current elapsed time since application of the first coating onto the workpiece exceeding the maximum recoat time limit: o generating an instruction to delay application of the second coating onto the workpiece.

35. The method of Claim 21:• further comprising: o accessing a maximum recoat time limit following application of the coating; and o segmenting the workpiece into a set of regions, each region defining a surface area for coating and recoating within the first recoat window, the surface area of the region selected based on the first recoat window, the set of regions comprising the first region;• wherein applying the coating onto the workpiece based on the first set of spray parameters comprises: o driving a set of actuators to traverse a coating applicator to apply the coating onto the first region of the workpiece according to the first set of spray parameters at a first time; and• wherein applying the coating onto the first region of the workpiece according to the second set of spray parameters comprises: o driving the set of actuators to traverse the coating applicator within the first region to spray the coating onto the workpiece according to the second set of spray parameters at a second time, succeeding the first time by less than the maximum recoat time limit.

36. A method comprising:• accessing a target minimum coating thickness and a target maximum coating thickness for a coating applied to a workpiece;• accessing a virtual model representing a surface contour of the workpiece;• accessing a first depth value on the workpiece;• based on the virtual model, defining a first set of coating parameters predicted to yield a first target coating thickness of the coating, applied to the workpiece, biased toward the target minimum coating thickness; and• applying the coating onto the workpiece based on the first set of coating parameters;• accessing a second depth value on the workpiece;• calculating a first applied coating thickness on the workpiece based on the first depth value and the second depth value; and• in response to the first applied coating thickness falling below the target minimum coating thickness: o defining a second set of coating parameters corresponding to a second target coating thickness less than a difference between the first applied coating thickness; and o applying the coating onto the workpiece according to the second set of coating parameters.

37. The method of Claim 36:• wherein defining the first set of coating parameters comprises: o defining a first toolpath based on the surface contour of the workpiece represented in the virtual model; and• wherein applying the coating onto the workpiece based on the first set of coating parameters comprises: o driving a set of actuators to traverse a coating applicator along the first toolpath to apply the coating onto the workpiece based on the first set of coating parameters; and• wherein applying the coating onto the workpiece according to the second set of coating parameters comprises: o driving the set of actuators to traverse the coating applicator along a second toolpath to apply the coating onto the workpiece based on the second set of coating parameters, the second toolpath spanning the workpiece.

38. The method of Claim 36:• wherein defining the first set of coating parameters comprises: o defining an offset distance from a coating applicator to the workpiece; o calculating a transfer efficiency based on the offset distance; o accessing a coating flow rate of coating through the coating applicator; and o calculating a feed rate of the coating applicator:■ proportional to the transfer efficiency;■ inversely proportional to the target minimum coating thickness; and■ inversely proportional to the flow rate; and• wherein applying the coating onto the workpiece based on the first set of coating parameters comprises applying the coating onto the workpiece: o at the offset distance;o according to the feed rate; and o at the coating flow rate.

39. A system comprising:• a robotic system: o arranged proximal a work zone; and o comprising:■ a spray coating applicator configured to spray a coating onto a workpiece; and■ a set of actuators configured to navigate the spray coating applicator within the work zone;• a controller configured to: o access a target minimum coating thickness and a target maximum coating thickness for the coating applied to the workpiece occupying the work zone; o access a virtual model representing a surface contour of the workpiece; o access a first depth value on the workpiece; and o based on the virtual model, defining a first set of coating parameters predicted to yield a first target coating thickness of the coating, applied to the workpiece, biased toward the target minimum coating thickness;• wherein the robotic system is configured to: o drive the set of actuators to navigate the spray coating applicator across the workpiece; and o trigger the spray coating applicator to apply the coating to the workpiece according to the first set of coating parameters;• wherein the controller is configured to: o access a second depth value on the workpiece; o calculate a first applied coating thickness on the workpiece based on the first depth value and the second depth value; and o in response to the first applied coating thickness falling below the target minimum coating thickness:■ define a second set of coating parameters corresponding to a second target coating thickness less than a difference between the first applied coating thickness and the target minimum coating thickness ; and• wherein the robotic system is configured to:o drive the set of actuators to navigate the spray coating applicator across the workpiece; and o trigger the spray coating applicator to apply the coating to the workpiece according to the second set of coating parameters.

40. The system of Claim 39:• wherein the robotic system further comprises a multi-link robotic arm configured to manipulate the end effector through six degrees of freedom proximal the workpiece located within the work zone;• wherein the set of actuators is configured to actuate the multi-link robotic arm; and• wherein the spray coating applicator comprises an end effector arranged on a distal end of the multi-link robotic arm.

41. A method for media blasting a workpiece comprising:• during a scan cycle: o accessing a first set of images captured by an optical sensor traversing a scan path over the workpiece; and o compiling the first set of images into a virtual model of the workpiece;• during a first test cycle: o accessing a nominal set of blast parameters; o receiving selection of a first test location on the virtual model representing the workpiece; o via a set of actuators, navigating a blast nozzle proximal the first test location on the workpiece; o projecting blasting media toward the workpiece at the first test location according to the nominal set of blast parameters; o accessing a first image from the optical sensor defining a field of view intersecting the first test location on the workpiece; o detecting a first scope of coating removal from the first test location on the workpiece based on the first image; o setting a first set of blast parameters based on the nominal set of blast parameters and the first scope of coating removal; and o generating a first tool path for a first workpiece region of the workpiece based on a geometry of the workpiece represented in the virtual model and the first set of blast parameters; and• during a processing cycle: o via the set of actuators, navigating the blast nozzle over the first workpiece region according to the first tool path; and o projecting blasting media toward the workpiece according to the first set of blast parameters.

42. The method of Claim 41 :• further comprising during the first test cycle: o receiving selection of a second test location on the virtual model representing the workpiece; o via the set of actuators, navigating the blast nozzle proximal the second test location on the workpiece; o projecting blasting media toward the workpiece at the second test location according to the nominal set of blast parameters; o accessing a second image from the optical sensor defining a field of view intersecting the second test location on the workpiece; o detecting a first scope of coating removal from the second test location on the workpiece based on the second image; o setting a second set of blast parameters based on the nominal set of blast parameters and the second scope of coating removal; and o based on the first set of blast parameters and the second set of blast parameters, interpolating blast parameters from the first test location to the second test location to generate a set of interpolated blast parameters; and• wherein generating the first tool path comprises generating the first tool path based on the geometry of the workpiece represented in the virtual model and the set of interpolated blast parameters.

43. The method of Claim 42:• wherein receiving selection of the first test location comprises receiving selection of the first test location characterized by a first radius in the virtual model representing the workpiece;• wherein setting the first set of blast parameters comprises setting the first set of blast parameters based on the nominal set of blast parameters, the first scope of coating removal, and the first radius;• wherein receiving selection of the second test location comprises receiving selection of the second test location characterized by a second radius, less than the first radius, in the virtual model representing the workpiece; and• wherein setting the second set of blast parameters comprises setting the second set of blast parameters based on the nominal set of blast parameters, the second scope of coating removal, and the second radius.

44. The method of Claim 42:• wherein receiving selection of the first test location comprises receiving selection of the first test location characterized by a concave geometry in the virtual model representing the workpiece;• wherein setting the first set of blast parameters comprises setting the first set of blast parameters based on the nominal set of blast parameters, the first scope of coating removal, and the concave geometry;• wherein receiving selection of the second test location comprises receiving selection of the second test location characterized by a convex geometry in the virtual model representing the workpiece; and• wherein setting the second set of blast parameters comprises setting the second set of blast parameters based on the nominal set of blast parameters, the second scope of coating removal, and the convex geometry.

45. The method of Claim 42:• wherein receiving selection of the first test location comprises receiving selection of the first test location characterized by a first coating quality;• wherein setting the first set of blast parameters comprises setting the first set of blast parameters based on the nominal set of blast parameters, the first scope of coating removal, and the first coating quality;• wherein receiving selection of the second test location comprises receiving selection of the second test location characterized by a second coating quality less than the first coating quality; and• wherein setting the second set of blast parameters comprises setting the second set of blast parameters based on the nominal set of blast parameters, the second scope of coating removal, and the second coating quality.

46. The method of Claim 41 :• wherein accessing the first image comprises: o terminating projection of blasting media toward the workpiece at the first test location; o triggering an actuator to open a shield arranged on the optical sensor; and o capturing the first image at the optical sensor defining the field of view intersecting the first test location at the workpiece;• wherein detecting the first scope of coating removal comprises: o extracting a first set of visual features from the first image; o based on the first set of visual features:■ detecting a blasted region in the first image; and■ detecting an un-blasted region, adjacent the blasted region, in the first image; and o characterizing the first scope of coating removal based on deviations between the blasted region and the un-blasted region; and• wherein setting the first set of blast parameters comprises, in response to the first scope of coating removal falling below a target scope of coating removal, setting the first set of blast parameters by adjusting the nominal set of blast parameters to increase energy input per unit area of the workpiece.

47. The method of Claim 46:• wherein accessing the nominal set of blast parameters comprises accessing the nominal set of blast parameters comprising: o a nominal offset distance between the blast nozzle and the workpiece; and o a nominal stepover distance across the workpiece; and• wherein setting the first set of blast parameters by adjusting the nominal set of blast parameters comprises: o decreasing the nominal offset distance to a first offset distance; and o decreasing the nominal stepover distance to a first stepover distance.

48. The method of Claim 46:• wherein accessing the nominal set of blast parameters comprises accessing the nominal set of blast parameters comprising: o a nominal feed rate for navigating the blast nozzle over the workpiece; ando a nominal offset angle between an axis of the blast nozzle and a normal vector per unit area on the workpiece; and• wherein setting the first set of blast parameters by adjusting the nominal set of blast parameters comprises: o decreasing the nominal feed rate to a first feed rate; and o decreasing the nominal offset angle to a first offset angle.

49. The method of Claim 41 :• wherein accessing the first image comprises: o terminating projection of blasting media toward the workpiece at the first test location; o triggering an actuator to open a shield arranged on the optical sensor; and o capturing the first image at the optical sensor defining the field of view intersecting the first test location at the workpiece;• wherein detecting the first scope of coating removal comprises: o extracting a first set of visual features from the first image; o detecting a blasted region in the first image based on the first set of visual features; o receiving selection of a substrate material type of the workpiece; o accessing a first template image representing complete blasting of the substrate material type; and o characterizing the first scope of coating removal based on deviations between the blasted region in the first image and the template image; and• wherein setting the first set of blast parameters comprises, in response to the first scope of coating removal falling below a target scope of coating removal, setting the first set of blast parameters by adjusting the nominal set of blast parameters to increase energy input per unit area of the workpiece.

50. The method of Claim 41 :• wherein accessing the first image comprises: o terminating projection of blasting media toward the workpiece at the first test location; o triggering an actuator to open a shield arranged on the optical sensor; and o capturing the first image at the optical sensor defining the field of view intersecting the first test location at the workpiece;• wherein detecting the first scope of coating removal comprises: o extracting a first set of visual features from the first image;o interpreting a first surface profile of a blasted region in the first image based on the first set of visual features; o accessing a target surface profile corresponding to the workpiece; and o characterizing the first scope of coating removal based on deviations between the first surface profile and the target surface profile; and• wherein setting the first set of blast parameters comprises, in response to the first scope of coating removal falling below a target scope of coating removal, setting the first set of blast parameters by adjusting the nominal set of blast parameters to increase energy input per unit area of the workpiece.

51. The method of Claim 41, further comprising during the test cycle:• terminating projection of blasting media toward the workpiece at the first test location;• accessing a threshold temperature value corresponding to a substrate material type of the workpiece;• accessing a first temperature value from a contactless temperature sensor intersecting the first test location on the workpiece; and• in response to the first temperature value exceeding the threshold temperature value, adjusting the nominal set of blast parameters by decreasing energy input per unit area of the workpiece.

52. The method of Claim 41 :• wherein accessing the first test location comprises accessing the first test location on a front side of the workpiece; and• further comprising during the test cycle: o accessing a threshold temperature value corresponding to a substrate material type of the workpiece; o generating a prompt to locate a temperature sensor on a rear side of the workpiece adjacent the first test location; o serving the prompt to an operator device associated with an operator overseeing a blasting process of the workpiece; and o during a first time period while blasting media toward the workpiece at the first test location:■ accessing a timeseries of temperature values from the temperature sensor; andin response the timeseries of temperature values approaching the threshold temperature value, deviating the nominal set of blast parameters to decrease energy input to the first test location.

53. The method of Claim 41 :• further comprising, during the test cycle: o accessing a set of substrate characteristics corresponding to a substrate of the workpiece; and o accessing a set of coating characteristics corresponding to a coating arranged over the substrate of the workpiece; and• wherein accessing the nominal set of blast parameters comprises, based on the set of substrate characteristics and the set of coating characteristics, accessing the nominal set of blast parameters comprising: o a nominal feed rate for navigating the blast nozzle over the workpiece; o a nominal stepover distance across the workpiece; o a nominal offset angle between an axis of the blast nozzle and a normal vector per unit area on the workpiece; o a nominal offset distance between the blast nozzle and the workpiece; and o a nominal pressure for projecting blast media toward the workpiece from the blast nozzle.

54. The method of Claim 41 :• wherein generating the first tool path comprises: o defining the first toolpath comprising a first sequence of keypoints located on the virtual model; and o for each keypoint in the first sequence of keypoints:■ calculating a vector normal to the virtual model at a location of the keypoint on the virtual model; and■ storing the vector in the keypoint; and• wherein navigating the blast nozzle across the first workpiece region according to the first toolpath comprises, for a first keypoint in the first sequence of keypoints: o locating the blast nozzle at a first position intersecting the first keypoint; o aligning an axis of the blast nozzle at a first offset angle, in the first set of blast parameters, from a first vector contained in the first keypoint; ando aligning an offset distance of the blast nozzle to a first offset distance, in the first set of blast parameters, from the first keypoint.

55. The method of Claim 41, wherein navigating the blast nozzle via the set of actuators comprises navigating the blast nozzle via a robotic arm:• supporting the blast nozzle connected to: o an air supply; and o a media supply; and• arranged on a conveyer: o adjacent a work zone containing the workpiece; and o configured to maneuver the robotic arm along a longitudinal axis at the work zone.

56. The method of Claim 41, further comprising:• during the processing cycle, for each unit area of the workpiece along the tool path, recording a set of blast parameters over the unit area; and• during a review cycle following the processing cycle: o navigating the optical sensor along the first tool path to capture a series of images representing each unit area of the workpiece along the first tool path; o for each unit area of the workpiece:■ characterizing a scope of coating removal based on an image, in the series of images, corresponding to the unit area; and■ deriving a correlation, in a set of correlations, between the set of blast parameters implemented over the unit area, a geometry of the unit area represented in the virtual model, and the scope of coating removal from the unit area; and o based on the set of correlations, generating a blasting model representing combinations of blast parameters characteristic of coating removal from the workpiece.

57. The method of Claim 56, further comprising:• during a second scan cycle following the review cycle: o accessing a second set of images captured by the optical sensor traversing the scan path over a second workpiece; o compiling the second set of images into a second virtual model of the second workpiece;o for each unit area of the second workpiece represented in the second virtual model, assigning blast parameters, in a second set of blast parameters, to the unit area based on:■ the blasting model; and■ a geometry per the unit area represented in the second virtual model; and o generating a second tool path based on the geometry of the second workpiece represented in the second virtual model and the second set of blast parameters; and• during a second processing cycle following the second scan cycle: o via the set of actuators, navigating the blast nozzle over the second workpiece region according to the second tool path; and o projecting blasting media toward the second workpiece according to the second set of blast parameters.

58. A method for media blasting a workpiece comprising:• during a pre-processing cycle: o accessing a first set of images captured by an optical sensor traversing a scan path over the workpiece; o compiling the first set of images into a virtual model of the workpiece; o assigning a first set of blast parameters to the workpiece; and o generating a first tool path for a first workpiece region of the workpiece based on a geometry of the workpiece represented in the virtual model and the first set of blast parameters; and• during a processing cycle: o via a set of actuators, navigating a blast nozzle over the first workpiece region according to the first tool path; and o projecting blasting media toward the workpiece according to the first set of blast parameters.

59. The method of Claim 58:• further comprising: o during a first time period in the pre-processing cycle:■ receiving selection of a first test location on the virtual model representing the workpiece;■ via a set of actuators, navigating a blast nozzle proximal the first test location on the workpiece;■ projecting blasting media toward the workpiece at the first test location according to the nominal set of blast parameters;■ accessing a first image from the optical sensor defining a field of view intersecting the first test location on the workpiece; and■ detecting a first scope of coating removal from the first test location on the workpiece based on the first image; o during a second time period in the pre-processing cycle:■ receiving selection of a second test location on the virtual model representing the workpiece;■ via the set of actuators, navigating the blast nozzle proximal the second test location on the workpiece;■ projecting blasting media toward the workpiece at the second test location according to the nominal set of blast parameters;■ accessing a second image from the optical sensor defining a field of view intersecting the second test location on the workpiece; and■ detecting a first scope of coating removal from the second test location on the workpiece based on the second image; o setting a first set of blast parameters based on the nominal set of blast parameters and the first scope of coating removal; o setting a second set of blast parameters based on the nominal set of blast parameters and the second scope of coating removal; and o based on the first set of blast parameters and the second set of blast parameters, interpolating blast parameters from the first test location to the second test location to generate a set of interpolated blast parameters; and• wherein generating the first tool path comprises generating the first tool path based on the geometry of the workpiece represented in the virtual model and the set of interpolated blast parameters.

60. A method comprising:• during a first processing cycle: o via a set of actuators, navigating a blast nozzle over a first workpiece according to a first tool path; o projecting blasting media toward the first workpiece; and o recording blast parameters for each unit area of the first workpiece along the first tool path;• during a review cycle following the processing cycle: o navigating an optical sensor along the first tool path to capture a series of images representing each unit area of the first workpiece along the first tool path; o for each unit area of the first workpiece:■ characterizing a scope of coating removal based on an image, in the series of images, corresponding to the unit area; and■ deriving a correlation, in a set of correlations between the blast parameters over the unit area, a geometry of the unit area, and the scope of coating removal from the unit area; and o based on the set of correlations, generating a blasting model representing combinations of blast parameters characteristic of coating removal from the first workpiece;• during a scan cycle: o accessing a second set of images captured by the optical sensor traversing a scan path over a second workpiece; and o compiling the second set of images into a virtual model of the second workpiece; o for each unit area of the second workpiece represented in the virtual model, assigning blast parameters, in a set of blast parameters, to the unit area based on:■ the blasting model; and■ a geometry per the unit area represented in the second virtual model; and o generating a second tool path based on the geometry of the second workpiece represented in the second virtual model and the set of blast parameters; and• during a second processing cycle: o via the set of actuators, navigating the blast nozzle over the second workpiece region according to the second tool path; and o projecting blasting media toward the second workpiece according to the set of blast parameters.

61. A method for media blasting a workpiece comprising:• accessing a virtual model representing a workpiece;• accessing a nominal set of blast parameters;• based on the virtual model, selecting a set of test locations proximal a target region on the workpiece;• during a test cycle, for each test location in the set of test locations:o via a set of actuators, navigating a blast nozzle proximal the test location on the workpiece; o dispensing blast media toward the test location on the workpiece according to the nominal set of blast parameters; o accessing an image from an optical sensor defining a field of view intersecting the test location; o detecting a scope of coating removal from the test location based on the image; and o setting a set of blast parameters based on the nominal set of blast parameters and the scope of coating removal at the test location;• interpolating a map of blast parameters spanning the target region of the workpiece based on the set of blast parameters set at each test location in the set of test locations;• defining a toolpath for the workpiece based on a geometry of the target region of the workpiece represented in the virtual model; and• during a processing cycle: o via the set of actuators, navigating the blast nozzle over the workpiece according to the toolpath; and o dispensing blast media toward the target region of the workpiece according to the map of interpolated blast parameters.

Citation Information

Patent Citations

  • Method for characterizing hiding of coating compositions and apparatus used therefor

    CN101548176B

  • System and method for autonomous application of a coating to a workpiece

    US12059808B2

  • System and method for autonomously scanning and processing a part

    US20230278207A1

  • System for detecting thickness of a coating autonomously applied to a structure

    US20230372957A1

Cited By

  • Method and device for treating inner surface of hydrogen-doped natural gas conveying pipeline

    CN121339020A

  • Method and device for treating the inner surface of a hydrogen-doped natural gas pipeline

    CN121339020B