A CONTROLLER FOR A PAINT ROBOT
20230356407 · 2023-11-09
Inventors
- Andreas Skaar (Bryne, NO)
- Stian Nese (Bryne, NO)
- Cato Andre Jensen (Stavanger, NO)
- Morten Mossige (Nærbø, NO)
Cpc classification
B05B13/0452
PERFORMING OPERATIONS; TRANSPORTING
B25J13/088
PERFORMING OPERATIONS; TRANSPORTING
B05B13/0431
PERFORMING OPERATIONS; TRANSPORTING
B25J9/0093
PERFORMING OPERATIONS; TRANSPORTING
B05B12/126
PERFORMING OPERATIONS; TRANSPORTING
B25J11/0075
PERFORMING OPERATIONS; TRANSPORTING
G05B2219/36091
PHYSICS
G05B19/4155
PHYSICS
International classification
B25J11/00
PERFORMING OPERATIONS; TRANSPORTING
G05B19/4155
PHYSICS
B25J13/08
PERFORMING OPERATIONS; TRANSPORTING
B25J9/00
PERFORMING OPERATIONS; TRANSPORTING
B05B12/12
PERFORMING OPERATIONS; TRANSPORTING
Abstract
A robot controller is adapted to execute a program an indication of a setpoint speed of a robot arm, an indication of a contemporaneous setpoint fluid flow per unit time of a spray gun supported by the robot arm, and an indication of a contemporaneous further setpoint quantity of the spray gun. The robot controller is configured to obtain an estimate of actual speed of the robot arm; determine whether the estimate deviates from the setpoint speed; and, in case of a deviation, adjust the setpoint fluid flow per unit time in accordance with a first compensation function. In an embodiment, the robot controller is further configured to concurrently adjust, in case of a deviation, the further setpoint quantity in accordance with a second compensation function, which is different from the first compensation function.
Claims
1. A robot controller adapted to execute a program comprising an indication of a setpoint speed of a robot arm, an indication of a contemporaneous setpoint fluid flow per unit time of a spray gun supported by the robot arm, and an indication of a contemporaneous further setpoint quantity of the spray gun, wherein the robot controller is configured to: obtain an estimate of actual speed of the robot arm; determine whether the estimate deviates from the setpoint speed; and, in case of a deviation, adjust the setpoint fluid flow per unit time in accordance with a first compensation function.
2. The robot controller of claim 1, wherein the robot controller is further configured to concurrently adjust, in case of a deviation, the further setpoint quantity in accordance with a second compensation function, which is different from the first compensation function.
3. The robot controller of claim 1, wherein the further parameter is a quantitative characteristic of one or more of: atomization, air flow per unit time, spray plume geometry, electrostatic charging.
4. The robot controller of claim 1, wherein the estimate is derived from a robot arm motion control signal or signals generated by the robot controller without relying on a sensed momentary speed of the robot arm.
5. The robot controller of claim 1, wherein the estimate is derived from a sensor signal or sensor signals from a rotary position sensor or rotary position sensors attached to respective actuator or actuators.
6. The robot controller of claim 1, wherein the estimate is derived from a sensor on or at the robot arm.
7. The robot controller of claim 6, wherein the sensor is an inertial sensor and/or an optical sensor.
8. The robot controller of claim 1, wherein a slope of the first compensation function is proportional to a first factor representing a desired fluid flow per unit length travelled by the spray gun, wherein the robot controller is configured to derive the first factor from the indicated setpoint speed and setpoint fluid flow per unit time.
9. The robot controller of claim 1, adapted to control robot painting of a moving workpiece, particularly an object moved by a conveyor arrangement, wherein the actual speed of the robot arm is speed relative to the moving workpiece.
10. The robot controller of claim 1, comprising: a motion control system for controlling the robot arm; and a process control system for controlling the spray gun, wherein the motion control system operates independently from the process control system.
11. A method of controlling a robot arm and a spray gun supported by the robot arm, the method comprising: obtaining a program having an indication of a setpoint speed of the robot arm and an indication of a contemporaneous further setpoint fluid flow per unit time of the spray gun and an indication of a contemporaneous further setpoint quantity of the spray gun; obtaining an estimate of actual speed of the robot arm; determining whether the estimate deviates from the setpoint speed; and adjusting, in case of a deviation, the setpoint fluid flow per unit time in accordance with a first compensation function.
12. A computer program comprising instructions to cause a robot controller to perform the steps of: obtaining a program having an indication of a setpoint speed of the robot arm and an indication of a contemporaneous further setpoint fluid flow per unit time of the spray gun and an indication of a contemporaneous further setpoint quantity of the spray gun; obtaining an estimate of actual speed of the robot arm; determining whether the estimate deviates from the setpoint speed: and adjusting, in case of a deviation, the setpoint fluid flow per unit time in accordance with a first compensation function.
13. A data carrier having stored thereon a computer program comprising instructions to perform the steps of controlling a robot arm and a spray gun supported by the robot arm, the instructions including: obtaining a program having an indication of a setpoint speed of the robot arm and an indication of a contemporaneous further setpoint fluid flow per unit time of the spray gun and an indication of a contemporaneous further setpoint quantity of the spray gun: obtaining an estimate of actual speed of the robot arm; determining whether the estimate deviates from the setpoint speed; and adjusting, in case of a deviation, the setpoint fluid flow per unit time in accordance with a first compensation function.
14. The robot controller of claim 2, wherein the further parameter is a quantitative characteristic of one or more of: atomization, air flow per unit time, spray plume geometry, electrostatic charging.
15. The robot controller of claim 2, wherein the estimate is derived from a robot arm motion control signal or signals generated by the robot controller without relying on a sensed momentary speed of the robot arm.
16. The robot controller of claim 2, wherein the estimate is derived from a sensor signal or sensor signals from a rotary position sensor or rotary position sensors attached to respective actuator or actuators.
17. The robot controller of claim 2, wherein the estimate is derived from a sensor on or at the robot arm.
18. The robot controller of claim 2, wherein a slope of the first compensation function is proportional to a first factor representing a desired fluid flow per unit length travelled by the spray gun, wherein the robot controller is configured to derive the first factor from the indicated setpoint speed and setpoint fluid flow per unit time.
19. The robot controller of claim 2, adapted to control robot painting of a moving workpiece, particularly an object moved by a conveyor arrangement, wherein the actual speed of the robot arm is speed relative to the moving workpiece.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0023] Aspects and embodiments are now described, by way of example, with reference to the accompanying drawings, on which:
[0024]
[0025]
[0026]
[0027]
DETAILED DESCRIPTION
[0028] The aspects of the present disclosure will now be described more fully hereinafter with reference to the accompanying drawings, on which certain embodiments of the invention are shown. These aspects may, however, be embodied in many different forms and should not be construed as limiting; rather, these embodiments are provided by way of example so that this disclosure will be thorough and complete, and to fully convey the scope of all aspects of invention to those skilled in the art. Like numbers refer to like elements throughout the description.
[0029]
[0030] The lower part of
[0031] In some embodiments, the motion control system 112 and the process control system 114 operate independently of each other, save that the control system 114 may execute setpoint quantities which have been adjusted in view of an estimate of the actual speed emanating from the motion control system 112. The mutual independence of the two systems 112, 114 may be achieved by letting them execute as different threads in a shared processing resource and/or execute on separate processing resources of the robot controller 110. This architecture of the robot controller 110 may contribute to stable operation of the paint system 100 and an ability to respond quickly to fluctuations in speed or other quantities.
[0032] A method 200 for controlling a robot arm 120 and attached spray gun 122 is visualized as the flowchart in
[0033] The method 200 makes reference to a program, obtained in a first step 210 of the method 200, which comprises an indication of a setpoint speed v* of the robot arm 120 and an indication of a contemporaneous further setpoint fluid flow per unit time dq*/dt of the spray gun 122 and an indication of a contemporaneous further setpoint quantity x* of the spray gun. A tuple (v*,dq*/dt,x*) of values of the contemporaneous setpoint quantities may relate to a surface of the workpiece 130. When the workpiece 130 is a vehicle, the surface may be a roof, ceiling, door, fender etc.
[0034] In a second step 220 of the method 200, an estimate v of the actual speed of the robot arm 120 is obtained while the robot arm 120 and spray gun 122 are processing said surface of the workpiece 130 for which the tuple of values of the contemporaneous setpoint quantities is valid. The estimate v may be derived from a robot arm motion control signal or signals u.sub.1 generated by the motion control system 112 without relying on a sensed momentary speed of the robot arm 120. Alternatively, the estimate v is a reading of a sensor (not shown) arranged on or at the robot arm 120. The sensor may be an inertial sensor or an optical sensor. If the robot arm’s 120 speed relative to the workpiece 130 is of interest, it may be preferable to use an optical sensor; the relative speed may be determined by tracking visual features on the surface of the workpiece 130, computing an optical flow and similar techniques. Further alternatively, the estimate may be derived from a sensor signal or sensor signals from a rotary position sensor or rotary position sensors attached or associated with respective actuators in the robot arm 120. The rotary position sensors may be implemented as resolvers or rotary encoders, from which the speed information may be computed.
[0035] In a third step 230, it is determined whether the estimate v deviates from the setpoint speed v*. If the robot is working close to its limitations in either axis speed or torque there can be a temporary drop in speed. Additionally, the conveyor arrangement 140 may move the workpiece 130 into an inconvenient area, where the robot arm 120 is working close to its kinematic limitation. From the point of view of the robot controller 110, a speed deviation may correspond to fulfilment of a condition on the form |v - v*| ≥ ε for a predetermined constant ε > 0 which represents a tolerance. The tolerance can be set in view of how large thickness deviations in the end result are deemed acceptable, but the tolerance may also reflect the expected amount of noise in the estimation of the robot arm’s 120 speed. If the condition is fulfilled, the third step 230 returns a positive decision (Y branch) and the execution of the method 200 proceeds to the fourth step 240. If instead |v - v*| < ε or the estimate v is not available at this time instant, no deviation is determined to exist (N branch); for this outcome, the execution of the method 200 may continue at the second step 220, possibly after a suitable delay has expired, so that it is meaningful to renew the estimation of the speed of the robot arm 120.
[0036] In the fourth step 240, the setpoint fluid flow per unit time is adjusted in accordance with a first compensation function, i.e., from its value dq*/dt according to the indication in the program to an adjusted value, denoted dq̃/dt. There is furthermore an optional adjustment of the contemporaneous further setpoint quantity x* of the spray gun in accordance with a second compensation function, the result of the adjustment being denoted x̃. The adjusted values dq̃/dt and x̃ of the setpoint quantities may then be fed to the spray gun 122 for the remaining duration of the processing of said surface of the workpiece 130. Alternatively, and clearly depending on the total extent of the surface, it may be prudent to renew the estimate v of the robot arm’s 120 speed, so that the adjusted values of the setpoint quantities dq̃/dt and x̃ can be updated. The robot controller 110 may potentially resume use of the setpoint quantities according to the indications in the program in case of the outcome |v - v*| < ε; if the fourth step 240 is terminated for this reason, the execution of the method 200 may continue from the second step 220, as described for the N branch of the third step 230.
[0037] The concept of a compensation function has already been introduced and is further illustrated by the examples in
[0038]
[0042] A determined speed deviation may trigger adjustment of one or more setpoint quantities. For a given setpoint quantity, a different compensation function may apply depending on whether this setpoint quantity is going to be adjusted alone or together with further setpoint quantities. To illustrate this difference,
[0043] With reference to the fluid flow per unit time dq/dt again,
[0044] As an alternative to using a compensation function of the type illustrated in
that the differential relationship
holds for small Δv. Here dq*/ds may be understood as the setpoint fluid flow per unit distance travelled by the TCP 126 or equivalently the spray gun 122. It follows that the adjusted setpoint fluid flow per unit time can be computed as the setpoint flow per unit time dq*/dt indicated in the program with the addition of a correction term:
A further conclusion to be drawn from this is that the slope of the first compensation function at the setpoint speed v* is proportional to a factor representing a desired fluid flow per unit length travelled by the spray gun 122 or TCP 126. This factor may be derived from the setpoint speed and setpoint fluid flow per unit time indicated in the executing program.
[0045] A still further alternative is to adjust the setpoint quantities on the basis of tabulated values.
[0046] The architecture according to
[0047] The aspects of the present disclosure have mainly been described above with reference to a few embodiments. However, as is readily appreciated by a person skilled in the art, other embodiments than the ones disclosed above are equally possible within the scope of the invention, as defined by the appended patent claims.