INDIRECT FORCE CONTROL SYSTEMS AND METHODS USED IN ROBOTIC PAINT REPAIR
20210394328 · 2021-12-23
Inventors
- Brett R. Hemes (Woodbury, MN, US)
- John W. Henderson (St. Paul, MN, US)
- John J. Schmidt (Stillwater, MN, US)
Cpc classification
B24B21/006
PERFORMING OPERATIONS; TRANSPORTING
B24B27/033
PERFORMING OPERATIONS; TRANSPORTING
B24B27/0038
PERFORMING OPERATIONS; TRANSPORTING
B24B19/26
PERFORMING OPERATIONS; TRANSPORTING
B24B51/00
PERFORMING OPERATIONS; TRANSPORTING
B24D9/00
PERFORMING OPERATIONS; TRANSPORTING
International classification
B24B19/26
PERFORMING OPERATIONS; TRANSPORTING
B05D5/00
PERFORMING OPERATIONS; TRANSPORTING
B24B21/00
PERFORMING OPERATIONS; TRANSPORTING
B24B27/00
PERFORMING OPERATIONS; TRANSPORTING
B24B27/033
PERFORMING OPERATIONS; TRANSPORTING
Abstract
A system for robotic paint repair that can include a consumable abrasive product configured to abrade a substrate, a tool configured to drive the consumable abrasive product to abrade, a backup pad configured to couple with the consumable abrasive product, a robotic device configured to manipulate the tool, a pressure regulating apparatus mountable to the robotic device and configured to apply a desired pressure to the consumable abrasive product, a sensor configured to measure at least one of a rotational velocity of the backup pad or a debris pattern from the substrate that results from abrading, and a pressure controller configured to control the pressure regulating apparatus to apply the desired pressure based upon the at least one of the measured rotational velocity of the backup pad or the measured debris pattern.
Claims
1. A robotic paint repair system, comprising: a consumable abrasive product configured to abrade a substrate; a tool configured to drive the consumable abrasive product to abrade; a backup pad configured to couple with the consumable abrasive product; a robotic device configured to manipulate the tool; a pressure regulating apparatus mountable to the robotic device and configured to apply a desired pressure to the consumable abrasive product; a sensor configured to measure at least one of a rotational velocity of the backup pad or a debris pattern from the substrate that results from abrading; and a pressure controller configured to control the pressure regulating apparatus to apply the desired pressure based upon the at least one of the measured rotational velocity of the backup pad or the measured debris pattern.
2. The system of claim 1, wherein the sensor comprises one or more of a tachometer, an encoder, a high speed camera, an accelerometer, a gyroscope, a force transducer, and a torque transducer.
3. The system of claim 2, wherein the sensor comprises a tachometer and the backup pad includes a plurality of visual indicia on a periphery of the backup pad.
4. The system of claim 3, wherein the visual indicia comprise a plurality of spaced apart lines at predetermined increments around the periphery of the backup pad.
5. The system of claim 1, wherein the sensor comprises a force transducer and at least one of the backup pad and the consumable abrasive product is arranged with a center of mass that is off-axis.
6. The system of claim 1, wherein the sensor is configured to measure the spatial frequency of the debris pattern.
7. The system of claim 1, wherein the sensor is configured to measure intensity differences within the debris pattern.
8. The system of claim 1, further comprising a robotic controller configured to change an operation or a parameter related to manipulation of the tool stack by the robotic device based on data derived from the measured one of the rotational velocity of the backup pad or the debris pattern from the substrate that results from abrading.
9. A method of abrading a substrate to perform a repair, comprising: providing a robotic device coupled to a tool stack including a tool, a backup pad and a consumable abrasive product; manipulating the robotic device to move the tool stack to abrade the substrate with the consumable abrasive product; and controlling a pressure applied to the consumable abrasive product from the robotic device based on at least one of a rotational velocity of the backup pad, vibrational response of the tool stack and an observed debris pattern
10. The method of abrading of claim 9, wherein the rotational velocity of the backup pad is one of a sensed rotational velocity or a derived rotational velocity.
11. The method of claim 9, wherein the rotational velocity of the backup pad is measured by a tachometer that observers a plurality of visual indicia on a periphery of the backup pad.
12. The method of claim 9, further comprising changing an operation or a parameter related to manipulation of the tool stack by the robotic device based on data derived from the at least one of the rotational velocity of the backup pad and the debris pattern from the substrate that results from abrading.
13. The method of claim 9, wherein controlling the pressure applied includes measuring a beating signal with a force transducer within the tool stack to determine a vibrational response of the tool stack.
14. The method of claim 13, wherein the beating signal results from an off-axis center of mass of at least one component of the tool stack.
15. The method of claim 9, wherein the observed debris pattern is a measurement of a spatial frequency of the debris pattern.
16. The method of claim 9, wherein the observed debris pattern is an intensity of differences in the debris pattern.
Description
BRIEF DESCRIPTION OF DRAWINGS
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
DETAILED DESCRIPTION
[0036] Abrading tools and associated consumable abrasive products present various challenges for individuals and organizations. In one example, over time workers frequently develop an intuitive sense of when a workpiece is of desired quality or when a consumable abrasive product is wearing out. However, a robot using an abrading tool may not acquire such an intuitive sense. Various techniques, systems and methods are disclosed herein to more accurately control robot manipulation of the abrading tool to achieve more desirable results (i.e., more accurate and desirable abrading of substrate to remove paint in one example).
[0037] It should be understood that although an illustrative implementation of one or more embodiments are provided below, the disclosed systems and/or methods described with respect to
[0038] The functions or algorithms described herein may be implemented in software in one embodiment. The software may consist of computer executable instructions stored on computer readable media or computer readable storage device such as one or more non-transitory memories or other type of hardware-based storage devices, either local or networked. Further, such functions correspond to modules, which may be software, hardware, firmware or any combination thereof. Multiple functions may be performed in one or more modules as desired, and the embodiments described are merely examples. The software may be executed on a digital signal processor, ASIC, microprocessor, or other type of processor operating on a computer system, such as a personal computer, server or other computer system, turning such computer system into a specifically programmed machine.
[0039] According to one aspect of this disclosure, a system is disclosed that includes passively derived data regarding operation of a tool stack as manipulated by a robotic device. Such data can be indicative of operational criteria (velocity, force, pressure, etc.) of components such as an abrading tool, backup pad and/or consumable abrasive product (CAP). According to one example as described herein, data gathered by the passive techniques regarding the tool stack or from adjacent the tool stack (e.g. by visual inspection and/or from sensor(s) on the substrate and/or robot) can be utilized for control of the robotic device and automating the process of repairing defects for paint applications using automated abrasive processing and subsequent polishing. The disclosed techniques, systems and methods can include novel combinations of robotic methodology, tools, sensing techniques, stochastic process policy that results in desired system behavior based on current part/system state and provided feedback, and an optional learning component capable of optimizing provided process policy, continuously adapting the policy due to customer's upstream process variations, and/or learning the process policy from scratch with little-to-no human intervention. Although described in reference to repairing defects for paint applications the techniques, methods and systems disclosed can be utilized in other abrading applications.
[0040] According to one aspect of the present application, the system includes a computing system that is configured to: receive data from a communication unit regarding a property that is measured on passive component or derived indirectly from other data, the data can be indicative of at least one operating parameter of the tool stack (i.e. of the backup pad such as RPM). The system can use the data for control/feedback to guide manipulation of the tool stack by the robot.
[0041]
[0042] The consumable abrasive product 12 can be configured to abrade a substrate (not shown). As discussed, in one application of the system 10 can be for defect-specific repairs for paint applications (e.g., primer sanding, clear coat defect removal, clear coat polishing, etc.). Thus, the consumable abrasive product 12 can be configured for this sanding and buffing applications. The tool 14 can be coupled to and configured to drive the consumable abrasive product 12 to abrade the substrate. The robotic device 16 can be coupled to and configured to manipulate the tool 14. Thus, the robotic device 16 can move the tool 14 within a three dimensional spaced as desired while the tool 14 is operable to drive the consumable abrasive product 12 to abrade. The compliant force control can be mechanically and electrically coupled to components of the tool stack 24 and can be a part thereof. In the example of
[0043] According to the example of
[0044] The tachometer 22 can be part of the tool stack 24 or can be mounted adjacent thereto. The tachometer 22 can be positioned to have visibility to portions of the backup pad 20 such as the sides thereof that can have the marking(s) 21. However, other locations for the tachometer 22 and marking(s) 21 are contemplated and can be on the abrading tool 14, the consumable abrasive product 12, etc. in other examples.
[0045] The backup pad 20 can be positioned between the consumable abrasive product and the tool 14, for example. The backup pad 20 can be coupled with the consumable abrasive product 12. According to one example, the backup pad 20 can have outer layer(s) with natural rubber or synthetic rubber (for example, urethane rubber or chloroprene rubber) as a main raw material. The backup pad 20 can have an inner layer that can be, for example, a foam body obtained from natural rubber or synthetic rubber. The foam body can be a closed cell foam or an open cell foam. Alternatively, the main raw material of the inner layer may be natural rubber or synthetic rubber.
[0046] As briefly discussed above and now shown specifically with respect to
[0047] This process is illustrated in the control system 200 of
[0048] The desired force can comprise a range, a target, a maximum value, a minimum value, for example. The desired stiffness can comprise one or more of an angular stiffness and a lateral stiffness, for example.
[0049] In the manual clear-coat repair process, at a high-level, is well known and accepted in the industry. It is a two-step process: abrasion/sanding and polishing/buffing. From an automation perspective, the following inputs and outputs may be of relevance in different embodiments (with examples from the 3M Finesse-it system):
TABLE-US-00001 Inputs: Shared (sanding and polishing) Tool speed [frequency] Backup pad speed [frequency] Tool orbit [length] Randomness (i.e., random orbital vs. orbital) Path pattern Path speed [velocity] Applied force/pressure Angle (i.e., off normal) Total process time Sanding-specific Backup pad Hardness Abrasive Disc Product e.g., {468LA, 366LA, 464LA, 466LA} Grade e.g., {A3, A5, A7} Diameter / Scallop e.g., {1-¼”, 1-⅜” scalloped} State Age (e.g., age ≈ f (pressure, time)) Cleanliness (e.g., has the disc been cleaned?) Polishing-specific Buffing pad Foam e.g., {Gray, Orange, Red, Green, White} Diameter e.g., {3-¼”, 3-¾”, 5-¼”} Surface profile e.g., {flat, egg crate} Polish Amount Distribution Finish e.g., {FM, P, EF, K211, FF, UF} Outputs: Uniformity Roughness Gloss percentage Time to buff Final buff quality (e.g., uniformity, haze, etc.)
[0050]
[0051] In the example of
[0052] According to further examples, the RPM can be derived indirectly through control signals rather than using sensor(s) 122. Using the force/torque sensing derived from the sensor(s) such as from the accelerometer(s), gyroscope(s), force transducer(s) and/or torque transducer(s) one can measure vibration to infer RPM and/or other performance related criteria.
[0053]
[0054]
[0055] By applying the techniques discussed above but using the swarf pattern (vs backup pad rotational velocity), swarf patterns indicative of RPM and other operational criteria as discussed further below of the tool stack 224 can be used as input to drive force/pressure setpoints as described in
[0056]
[0057] A control process is illustrated in the control system 300 of
[0058] Robots such as robotic device 16, 116, 216 can have difficulty in performing abrading tasks because they lack a human operator's intuitive feel. However, use of robots to perform abrading tasks can be highly beneficial in some situations, such as when toxic materials are involved, space is constrained, physical access to an area of a workpiece is constrained, work occurs in a hazardous area, and so on. In some instances, a computing system can use the data derived from the various sensors and techniques discussed previously in this application for training and improving the operation of robots such as robotic device 16, 116, 216 to perform abrading tasks such as the paint repair previously described. For example, the computing system can aggregate data from many work sessions to quantify what a worker might intuitively feel about an area of a workpiece being complete, applied force/pressure being to little in amount or to large, a CAP being worn out, etc. For instance, the computing system can determine (e.g., based on data gathered from the tool stack as previously discussed and other data such as camera, video or other visual information, work duration information, abrading tool movement information, temperature information, and/or other data) when an area of a workpiece is complete or other information. Similar information can be used for determining whether the CAP is worn out. In some examples, computing system can train a machine learning system (further shown in
[0059]
[0060] The ancillary control unit 406 can take the place of the deterministic code previously residing in a robot controller or similar device and can provide the immediate real-time signals and processing for execution of the robotic device 402 and/or tool stack 402A. In this regard, the robotic device 402 can now serve a reactionary role in the system 400 driven by the ancillary control unit 406. The database 410 of the cloud computing system 400 can serve as a long-term data repository that stores monitoring generated data of processing including state variables, measurements, and resulting performance that can be correlated with identified operating parameter deviations and/or defects to generate instructions (sometimes termed policies) implemented by the instruction server 414. Additionally, the machine learning unit 412 can be responsible for continuously improving the operating instructions based on observations (state/sensor data derived from monitoring) and subsequent reward (quality of performance). Online learning can be accomplished by a form of reinforcement learning such as Temporal Difference (TD) Learning, Deep Q Learning, Trust Region Policy Optimization, etc.
[0061] In the example of
[0062] A robot controller module 416 can be the robot OEM provided controller for the robotic device 402. The robot controller module 416 can be responsible for sending motion commands directly to the robotic device 402 and monitoring any operational, safety or other concerns. In practice, the robot controller module 416 can generally include a robot controller in conjunction with one or more safety programmable logic controllers (PLCs) for cell monitoring. In a sample example, the robot controller module 416 can be setup to take input from the ancillary control unit 406 that can provide performance specific information including various of the data (usage, safety, quality, etc.) discussed previously and/or commands. This can happen, depending on the desired implementation, either off-line via program downloads and execution or in real-time via streaming. An example of the offline approach would be a pre-processed robot program in the native robot's language (e.g., RAPID, KRL, Karel, Inform, etc.) that gets run by the robot controller module 416. On the other hand, example streaming interfaces would be through robot OEM provided sensor interface packages such as Fanuc's Dynamic Path Modification package or Kuka's Robot Sensor Interface. In this real-time example, the ancillary controller 406 can (described in further detail below) send on-line, real-time positional offsets to the robot controller module 416 based on gathered data derived from monitoring.
[0063] The ancillary control unit 406 can serve as the central communication hub between the smart abrading tool 404, the robotic device 402, other components of the system that can have communication units and/or sensors (e.g., a backup pad as previously discussed and shown, a workpiece 418 and/or a consumable abrasive product (CAP) 420) and the cloud computing system 408. The ancillary control unit 406 can receive monitoring data for the various sensors (from the backup pad, the abrading tool 404, the workpiece 418, the CAP 420 and/or other components of the tool stack 402A) and transmits the resulting policy to the robot controller module 416 as illustrated in
[0064] In one example, the ancillary control unit 406 can comprise an embedded (industrially hardened) process PC running a real-time/low-latency Linux kernel. Communication to the robot controller module 416 (via the KUKA. RobotSensorinterface) can be accomplished through UDP protocol. Communication to the various system components can be via the various communication units and modalities discussed previously in reference to FIGURES.
[0065] The robotic device 402 can include any process-specific tooling required for the objective such as force control sensors and devices, actuators, valves, other controllers sensors, etc. In general, the robotic device 402 itself may not be dexterous enough or nuanced in force application to adequately apply the correct processing forces. As such, some form of active compliance can often be necessary or desirable. Besides the force control sensors and devices such as those previously described herein, the sensors can also be desirable as in-situ inspection allows for local hi-fidelity measurements such as of a finish on the workpiece 418 at process-time along with the ability to acquire feedback mid-process, which may not be achievable with approaches using only pre-inspection and post-inspection. For example, mid-process feedback from various of the sensor previously described in reference to any of the FIGURES herein can be important to a successful learning algorithm. The sensors 403 can include any of the various sensors previously described and can be mounted on or within the backup pad, the abrading tool 404, the workpiece 418, adjacent the tool stack 402A, and/or the CAP 420. Additionally, the sensors 403 can be placed in close proximity to the workplace to gather operation related data including images of objects/components in the workplace.
[0066] It is to be recognized that depending on the example, certain acts or events of any of the techniques described herein can be performed in a different sequence, can be added, merged, or left out altogether (e.g., not all described acts or events are necessary for the practice of the techniques). Moreover, in certain examples, acts or events can be performed concurrently, e.g., through multi-threaded processing, interrupt processing, or multiple processors, rather than sequentially.
[0067] In one or more examples, the functions described can be implemented in hardware, software, firmware, or any combination thereof, located locally or remotely. If implemented in software, the functions can be stored on or transmitted over a computer-readable medium as one or more instructions or code and executed by a hardware-based processing unit. Computer-readable media can include computer-readable storage media, which corresponds to a tangible medium such as data storage media, or communication media including any medium that facilitates transfer of a computer program from one place to another, e.g., according to a communication protocol. In this manner, computer-readable media generally can correspond to (1) tangible computer-readable storage media which is non-transitory or (2) a communication medium such as a signal or carrier wave. Data storage media can be any available media that can be accessed by one or more computers or one or more processors to retrieve instructions, code and/or data structures for implementation of the techniques described in this disclosure. A computer program product can include a computer-readable medium.
[0068] By way of example, and not limitation, such computer-readable storage media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage, or other magnetic storage devices, flash memory, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer. Also, any connection is properly termed a computer-readable medium. For example, if instructions are transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium.
[0069] It should be understood, however, that computer-readable storage media and data storage media do not include connections, carrier waves, signals, or other transitory media, but are instead directed to non-transitory, tangible storage media. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu-ray disc, where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.
[0070] Instructions can be executed by one or more processors, such as one or more digital signal processors (DSPs), general purpose microprocessors, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or other equivalent integrated or discrete logic circuitry, as well as any combination of such components. Accordingly, the term “processor,” as used herein can refer to any of the foregoing structures or any other structure suitable for implementation of the techniques described herein. In addition, in some aspects, the functionality described herein can be provided within dedicated hardware and/or software modules. Also, the techniques could be fully implemented in one or more circuits or logic elements.
[0071] The techniques of this disclosure can be implemented in a wide variety of devices or apparatuses, including a wireless communication device or wireless handset, a microprocessor, an integrated circuit (IC) or a set of ICs (e.g., a chip set). Various components, modules, or units are described in this disclosure to emphasize functional aspects of devices configured to perform the disclosed techniques, but do not necessarily require realization by different hardware units. Rather, as described above, various units can be combined in a hardware unit or provided by a collection of interoperative hardware units, including one or more processors as described above, in conjunction with suitable software and/or firmware.
[0072] The functions, techniques or algorithms described herein may be implemented in software in one example. The software may consist of computer executable instructions stored on computer readable media or computer readable storage device such as one or more non-transitory memories or other type of hardware-based storage devices, either local or networked. Further, such functions correspond to modules, which may be software, hardware, firmware or any combination thereof. Multiple functions may be performed in one or more modules as desired, and the examples described are merely examples. The software may be executed on a digital signal processor, ASIC, microprocessor, or other type of processor operating on a computer system, such as a personal computer, server or other computer system, turning such computer system into a specifically programmed machine
[0073] Various examples have been described. These and other examples are within the scope of the following claims.