A system for acquiring data regarding the position of a spray gun with respect to a surface provided in a space
The sensor kit for spray guns uses reflective beacons and optical sensors to accurately determine the spray gun's position and trajectory, addressing inconsistent layer thickness issues in spray painting and enhancing coating reliability.
Patent Information
- Application Number
- JP2024568002
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-05-13
- Filing Date
- 2023-05-12
- Publication Date
- 2025-06-24
AI Technical Summary
Spray painting techniques often result in inconsistent layer thickness due to operator skill variations, affecting the durability and reliability of coatings on surfaces, particularly for sensors like automotive proximity radar systems.
A sensor kit for a spray gun that includes a data acquisition device with a beacon sensor module and surface scanning module to determine the position of the spray gun relative to the surface, using reflective beacons and optical sensors to monitor the spray cone, and a processing unit to calculate coating deposition and thickness.
Enables accurate reconstruction of the coating layer thickness and quality by determining the spray gun's position and trajectory, providing detailed feedback for improved coating consistency and reliability.
Smart Images

Figure 2025519045000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a sensor kit for a spray gun and the processing of data received from the sensor kit.
Background Art
[0002] Spray painting is a technique that uses a spray gun to spray a coating onto a surface through air. The coating may be paint, ink, varnish, clear coat, or any other type of coating. The spray gun may be held by an operator by hand, and significant skill may be required to apply a thin coating with a consistent layer thickness. Regardless of whether the operator has skill, the final thickness of the layer can vary, which can affect the durability of the coating and the reliability of sensors covered by the coating, such as in the case of an automotive proximity radar system.
Summary of the Invention
Problems to be Solved by the Invention
[0003] To track the results of a coating process, it is preferable to have data regarding the final layer of the coating available, particularly data regarding the amount of coating material available on the surface to be coated per unit area. To obtain such data, it is preferable that appropriate positioning of the spray gun or the spray cone emitted by the spray gun is available with respect to the object or surface to be coated.
Means for Solving the Problems
[0004] A first aspect provides a system for obtaining data regarding the position of a spray gun relative to a surface to be coated provided in a space, the system comprising a data acquisition device. The data acquisition device comprises a spray gun mounting portion configured to rigidly connect the device to the spray gun, a beacon sensor module configured to receive beacon data from one or more reflective beacons located in the space, a surface scanning module configured to scan the surface and provide scan data by scanning the surface, and a processing unit. The processing unit is configured to receive the beacon data, determine location data indicating the location of the device in the space based on the beacon data, and determine position data indicating the position of the spray gun relative to the surface based on the location data and the scan data.
[0005] The beacon provides a fixed reference relative to the surface to be coated. By moving the device mounted on the spray gun configured to provide a spray of coating fluid relative to the beacon, the beacon is monitored and subsequently, by processing the acquired beacon data, the position of the device relative to the one or more beacons, and accordingly the position of the spray gun, may be determined. By scanning the surface using the same device and determining the position of the device relative to the surface based on the scan data and the location data, the actual position of the spray gun relative to the surface may be determined, for example, over time. The scanning hardware and the beacon location hardware may be provided in one and the same housing or in different housings, and in the latter case, the device is constituted by two separate modules. The advantage of using reflective beacons is that there is no need to use active beacons. The advantage is that, for example, there is no need to readjust the spray booth with respect to the risk of explosion or other risks where active beacons may be introduced, and it is possible to apply such beacons, for example, within the spray booth.
[0006] In one example, the beacon sensor module comprises a first optical sensor configured to capture light reflected by a visual beacon and provide first image data representative of the reflected light, and the processing unit identifies data regarding the beacon in the first image data as first received beacon data, obtains beacon reference data, compares the received beacon data with the beacon reference data, determines, based on the comparison, the relative position of the device with respect to the beacon, and is further configured to provide the determined position as position identification data. In particular, the visual data regarding the beacon is captured in a specific manner depending on the distance of the device and the sensor with respect to the beacon and depending on the angle of the sensor with respect to one or more beacons. The received image may provide a specific distorted view of the marker and / or may capture more or less area of the captured image depending on the angle and distance. By comparing the captured data with the reference data, one or both of the distance and angle of the device with respect to the beacon may be determined by determining the distortion and / or size with respect to the reference image.
[0007] In another example, the beacon sensor module comprises a first optical sensor having a first field of view and a second optical sensor having a second field of view, the first field of view at least partially overlapping the second field of view, and the processing unit identifies data regarding the beacon in the first image data as first received beacon data, identifies data regarding the beacon in the second image data as second received beacon data, compares the first received beacon data with at least one of the second received beacon data and reference beacon data, determines, based on the comparison, the relative position of the device with respect to the beacon, and is further configured to provide the determined position as position identification data. The reference image may be stored in memory prior to the spraying job. Alternatively or additionally, preferably, two images are obtained by adjacent image sensors and the difference is determined. Based on such a difference, one or both of the distance and angle of the sensor with respect to the beacon and thus one or both of the distance and angle of the device and the spray gun may be determined.
[0008] In a further example, the apparatus further comprises an angular position sensor configured to determine a first angular position of the apparatus, and the processing unit is further configured to determine an apparatus angular position of the apparatus relative to the beacon based on the first angular position and the location identification data. Such an angular position sensor may be a gyroscope. This example makes it possible to provide additional information for the reconstruction of the surface to be coated. For this purpose, the data obtained by the angular position sensor may be combined with other obtained data, and the combined obtained data may be processed together.
[0009] In yet another example, the surface scanning module comprises a first distance sensor configured to provide a first distance signal indicative of a first distance to the surface in a first direction, the first signal being included in the scan data, and the processing unit is further configured to determine a distance between at least one of the one apparatus and the spray gun and the other surface based on the first distance signal. Maintaining an appropriate distance between the spray gun and the surface to be coated is important for the quality of the coating layer. The quality may be monitored by monitoring the distance. If the distance exceeds a lower or upper limit, an error signal may be generated as a feedback signal to the user. Further, the distance may be employed in combination with the location identification data to determine the position of the surface relative to one or more beacons.
[0010] In yet another example, the surface scanning module further comprises a second distance sensor configured to provide a second distance signal indicative of a second distance to the surface in a second direction, and a third distance sensor configured to provide a third distance signal indicative of a third distance to the surface in a third direction, wherein the first direction, the second direction, and the third direction are substantially parallel to each other, and the processing unit is further configured to determine scanning angle data indicative of the angle of the device with respect to the surface based on the first distance signal, the second distance signal, and the third distance signal. Substantially parallel means that it is possible to obtain the angle of the device and / or the spray gun with respect to the surface to be coated from at least one of the difference in distances obtained from the distance sensors and the variation of these distances over time.
[0011] In a further example, the processing unit is further configured to acquire location data and scanning data over time and to determine the trajectory of the spray gun with respect to the surface over time based on the location data and scanning data over time. With the determination of the trajectory of the spray gun with respect to the surface over time, the deposition of the coating fluid over time on the surface may be determined or reconstructed.
[0012] In yet another further example, the processing unit is configured to acquire at least one of the scanning angle data over time and the device angle position, and to determine the trajectory of the spray gun with respect to the surface over time based on at least one of the scanning angle data over time and the device angle data. This example enables a more accurate determination of the trajectory.
[0013] In yet another example, the processing unit is configured to acquire location data and scanning data over time and is further configured to determine the structure of the surface with respect to the beacon. This enables the modeling of the surface to be coated. This may then assist in the reconstruction of the layer of the coating that is to be deposited or has been deposited on the surface.
[0014] In yet a further example, the processing unit is further configured to obtain at least one of the scanning angle data over time and the device angular position, and to determine a trajectory of the spray gun with respect to the surface over time based on at least one of the scanning angle data over time and the device angular data. This example enables a more accurate determination of the trajectory.
[0015] In another example, the device includes a first accelerometer for determining a first acceleration substantially perpendicular to the spray direction and a second accelerometer for determining a second acceleration substantially perpendicular to the spray direction, the first direction being substantially perpendicular to the second direction, and the processing unit is further configured to integrate the first acceleration over twice the time over time to obtain first displacement data in the first direction as a first portion of the accelerometer position data, and to integrate the second acceleration over twice the time over time to obtain second displacement data in the second direction as a second portion of the accelerometer position data, and to determine location-specific data based on the beacon data and the accelerometer position data. This example enables, for example, filling in gaps in the location-specific data during time intervals when the beacon data may be missing.
[0016] In yet another example, the processing unit is further configured to obtain, from an electronic memory, three-dimensional coating model data of a spray cone associated with the spray gun, and to calculate coating deposition area data of the positional spray coating deposition on the area of the physical surface per unit time based on the trajectory and the three-dimensional coating model. This example provides data that enables reconstructing the layer of the deposited coating.
[0017] In yet a further example, the trajectory has first timestamp data provided, and the processing unit is to obtain coating fluid flow data provided with second timestamp data, the fluid flow data providing an indication of the mass flow rate of the coating fluid through the spray gun, adjusting coating model data based on the coating fluid flow data, matching the fluid flow data and the trajectory based on the first timestamp and the second timestamp, and calculating coating deposition area data of the positional spray coating deposition on the area of the surface per unit time based on the scan data, the trajectory, and the three-dimensional coating model. This example enables reconstruction of the deposited coating and enables, for example, detailed feedback to the operator or customer.
[0018] In a further example, the processing unit is configured to obtain curing data regarding the coating fluid, calculate the thickness of the layer of the coating fluid on the physical surface based on the coating deposition area data of the positional spray coating deposition on the area of the physical surface per unit time, and determine the cured thickness of the cured layer of the coating fluid on the surface based on the curing data. The final layer after deposition and curing may have a different thickness from the actually deposited layer of the coating fluid, and the actual final thickness of the layer is of particular relevance to other stakeholders such as the customer or the insurance company. This example addresses this issue.
[0019] A second aspect provides a method for obtaining data regarding the position of a spray gun relative to a surface provided in a space. The method includes receiving beacon data from a beacon sensor module configured to receive beacon data from one or more reflection beacons located in the space, receiving scan data from a surface scanning module configured to scan the surface and provide scan data by scanning the surface, and determining position data indicating the position of the spray gun relative to the surface based on the location-specific data and the scan data.
[0020] A third aspect provides a computer program product comprising computer-executable instructions that, when executed by a processor included in a computer, cause the computer to perform a method of obtaining data regarding the position of a spray gun relative to a surface provided in a space, for example, causing the computer to execute the method according to the second aspect.
[0021] A fourth aspect provides a non-transitory medium having stored thereon a computer program product comprising computer-executable instructions that, when executed by a processor included in a computer, cause the computer to perform a method of obtaining data regarding the position of a spray gun relative to a surface provided in a space. The method may be, for example, the method according to the second aspect.
[0022] Here, the various aspects and embodiments will be discussed in further detail in conjunction with the drawings. The drawings illustrate possible implementations of the various aspects and their embodiments, are provided by way of example, and are not provided as any limitation to the subject matter of the claims.
Brief Description of the Drawings
[0023]
Figure 1
Figure 2
Figure 3A
Figure 3B
Figure 3C
Figure 3D
Figure 3E
Figure 3F
DETAILED DESCRIPTION OF THE INVENTION
[0024] FIG. 1 depicts a schematic view of an embodiment of a sensor kit 100 as an implementation form of an apparatus according to a first aspect. The sensor kit 100 includes a sensor kit main body 102 as a housing. The sensor kit main body 102 includes a spray gun connector 104 as a connection module. A spray gun 140 is connected to the main body 102 via the connector 104. The spray gun 140 includes a spray gun housing 141. The spray gun 140 may be, for example, a high volume low pressure (HVLP) spray gun.
[0025] The sensor kit main body 102 is schematically depicted as a rectangle in FIG. 1, but in different embodiments, the main body 102 may have different shapes. For example, the main body 102 can be molded around the shape of the spray gun housing 141 configured to connect thereto. The shape of the main body 102 and / or the center of gravity of the sensor kit 100 may also be adapted such that when attached to the spray gun 140, the center of gravity of the spray gun 140 is maintained within a desired range. Thus, the handling of the spray gun 140 may be minimally affected by connecting the sensor kit 100.
[0026] The spray gun 140 may be used to apply a layer 142 of paint as a coating onto the vehicle body part 144 as a surface. The spray gun 140 includes a nozzle 146 capable of discharging a mist of aerosol paint 148 therefrom and an input section for receiving the paint as a coating substance. The spray gun 140 may be a handheld spray gun 140 having a trigger that can operate to control the discharge of the paint 148 from the spray gun 140 at a specific speed.
[0027] The trigger may control the throughput area of a conduit that guides the paint or another coating fluid to the nozzle. Alternatively or additionally, the trigger or another trigger or control knob may control the position of a control needle within the throughput opening, for example, within the nozzle 146 or another opening. In one embodiment, the control needle may be used to accurately control the flow of the coating fluid, and the trigger may be used to switch the nozzle between an “on” state and an “off” state. In addition to the accurate control mechanism, the flow of the coating fluid may also be controlled by varying the pressure at which the coating fluid is provided. One or more of the precision control settings, coating fluid pressure, and trigger state may be considered spray job parameters as desired.
[0028] The user can move and reorient the spray gun 140 as desired, and thus move the spray gun further away from or closer to the vehicle body part 144 at a specific speed and acceleration. The user can further orient the spray gun 140 as desired, and thus change the orientation of the nozzle 146 relative to the vehicle body part 144 so that the paint can be applied at different approach angles.
[0029] The sensor kit body 102 is provided with a distance sensor module 106 including one or more time-of-flight sensors as proximity sensors. The time-of-flight sensors are configured to acquire distance data as spray job parameter values regarding the distances d1, d2, and d3 between each sensor and the vehicle body part 144 and / or the paint layer 142. Therefore, since the time-of-flight sensors in the distance sensor module 106 face the vehicle body part 144 and / or the paint layer 142 in the same manner as the nozzle 146, it is preferable that they face in the same direction as the nozzle 146 when the sensor kit 100 is connected to the spray gun 140. In other words, the distances are determined in directions that are substantially parallel to each other.
[0030] The time-of-flight sensor as a proximity sensor may include a laser or an LED as an optical transmitter configured to emit a laser beam as a radiated optical signal. The time-of-flight sensor may further include an optical receiver for receiving the optical signal reflected as a reflection of the laser beam. A proximity processor may be used to determine the spray distance between the time-of-flight sensor and the surface 144 based on the relationship between the radiated laser beam and the reflected laser beam.
[0031] The radiated optical signal may have, for example, a near-infrared wavelength spectrum of 800 to 1,140 nm, more specifically, 900 nm to 1,000 nm, and most preferably 940 nm. The electromagnetic radiation of such waves is invisible. Although this may seem ambiguous to the human eye, it may pass through substances that are transparent to electromagnetic radiation of 900 nm to 1,000 nm, particularly 940 nm.
[0032] The sensor kit body 102 may include a non-translucent material, and thus, the light emitted by the time-of-flight sensor may be blocked by the sensor kit body 102. In the embodiment of FIG. 1, the sensor kit body 102 optionally includes at least a partially translucent observation window 108 through which the light emitted by the time-of-flight sensor and reflected back to the time-of-flight sensor can pass. Alternatively, at least a part of the sensor kit body 102 through which light is to pass may be made of a material that is at least partially translucent with respect to the wavelength of the light used by the time-of-flight sensor, which may be, for example, a wavelength in the infrared spectrum.
[0033] In one embodiment, the time-of-flight sensors are spaced apart at a distance such that their light does not interfere at a normal spraying distance of 20 centimeters to 50 centimeters. Thus, particularly when the sensor kit 100 is inclined with respect to the surface of the vehicle body portion 144, different values may be obtained for the distances d1, d2, and d3. Optionally, two, three, four, five, or more time-of-flight sensors operate intermittently in time to avoid crosstalk. Further or alternatively, two, three, four, five, or more time-of-flight sensors operate at different frequencies, and the narrowband sensors are operable only in the frequency spectrum of the applicable emitter and inoperable in the frequency bands of other sensors.
[0034] Further or alternatively, other distance sensors such as a stereoscopic optical data capture sensor, an ultrasonic distance sensor, or others, or any combination of two or more of them may be used in the distance sensor module 106.
[0035] The sensor kit 100 may further include a first camera 152 having a first field of view 154 and a second camera 156 having a second field of view 158. The first camera 152 and the second camera 156 are configured such that the first field of view 154 intersects the second field of view 158. This means that the plane of the first view of the first camera 152 intersects the plane of the second view, and the plane of the first view and the plane of the second view are each defined as a surface and the intersection of planes such as the first field of view 154 and the second field of view 158. The first camera 152 and the second camera 154 provide data to the output module 118.
[0036] The first camera 152 and the second camera 156 are configured to capture visual data regarding the visual marker 150 as passive reflective beacons. The visual marker 150 may be a two-dimensional binary visual marker, as depicted in FIG. 1. The visual marker 150 depicted in FIG. 1 may be interpreted as a relatively simple QR code.
[0037] In another implementation, the visual marker 150 may be implemented as a geometric shape such as a square, circle, triangle, or the like, or a combination of two or more thereof. The visual marker 150 is preferably attached to the wall or ceiling of the spray chamber in which the spraying job is performed. In another implementation, the visual marker 150 or another passive reflective beacon is provided in some other way at a fixed position relative to the surface to be coated. For example, the visual marker 150 is connected to the roof of a vehicle whose bonnet is to be coated. In another example, one or more visual markers 150 are connected to a ship, a dock in which the ship is provided, or a quay to which the ship is moored, and the hull or deck of the ship is coated.
[0038] One or more visual markers 150 may be provided. Generally, sufficient light is available within the spray chamber such that the light used for illuminating the room and the surface to be sprayed is reflected by the visual marker, whereby the reflected light may be captured by the camera.
[0039] In another implementation, only one camera is provided. Such a camera may have a fisheye lens with a very large field of view. The sensor kit 100 may comprise one or more fisheye lenses. In yet another implementation, the sensor kit 100 comprises a plurality of sets of two or more cameras having overlapping fields of view. The one or more cameras are, optionally, in two sets, connected to the sensor kit 100 or incorporated within the sensor kit body 102, such that during a normal spraying operation, data of one or more of the one or more visual markers 150 are captured by one or more of the cameras, preferably by at least the first camera 152 and the second camera 156, whereby the visual marker 150 is visible at the intersection of the first field of view and the second field of view.
[0040] In another implementation, other reflective beacons, preferably passive reflective beacons, are used. Such may be beacons that reflect light or other electromagnetic waves in other ways, beacons that reflect ultrasonic waves, other beacons, or combinations of two or more thereof. To avoid misunderstanding, the light reflected by the beacon that may be detected by the first camera 152 and the second camera 156 may be light visible to the human eye, near-ultraviolet light, or near-infrared light.
[0041] In one implementation, a beacon configured to receive electromagnetic waves in a high-frequency region, store the energy of the received wave, generate a signal for identifying the beacon using the energy, and radiate the electromagnetic wave modulated by the generated signal thereon may be used. The modulation may be one of frequency modulation, amplitude modulation, phase modulation, others, or combinations of two or more thereof. The modulation may be digital, binary, analog, or combinations thereof.
[0042] In the embodiment of FIG. 1, the sensor kit 100 includes a microcontroller 110 as a processing unit. The microcontroller 110 includes a data input 112 as an input module configured to receive one or more reference parameter values. The received reference parameter values can be stored on the memory 114. The distance data is transmitted by the time-of-flight sensor 106 to the data input 112 of the microcontroller 110 and may also be stored on the memory 114 if desired.
[0043] The microcontroller 110 is an embodiment of the sensor kit 100 provided inside the sensor kit body 102. Embodiments of the sensor kit 100 in which another microcontroller is provided outside the sensor kit body 102 as part of the processing unit are also envisioned. This other microcontroller may be included in one or more external computer devices such as, for example, a server, smartphone, tablet, any other computer device, or any combination thereof.
[0044] When at least a part of the processing unit is provided outside the sensor kit body 102, a wired or wireless connection may be provided between the sensor module and the microcontroller 110 so that data can be exchanged. When a wireless connection is used, for example, NFC, Bluetooth, Wi-Fi, or any other protocol can be used for data exchange.
[0045] The microcontroller 112 as a processing unit further includes a comparison module 116 configured to compare at least a part of the obtained spray job parameter values with one or more corresponding reference parameter values. The comparison module 116 may thus be configured to receive at least a part of the spray job parameter values and at least a part of the reference parameter values, for example, from the data input 112 and / or to retrieve at least a part of the spray job parameter values and at least a part of the reference parameter values from the memory 114.
[0046] To obtain orientation data indicating the orientation of the spray gun 140, an embodiment of the sensor kit 100 may include an orientation sensor 130, which can be an absolute or relative orientation sensor 130. The orientation sensor 130 may include a magnetometer, an accelerometer, a compass, a gyroscope, any other sensor, or any combination thereof. The orientation sensor 130 is configured to measure the angle of the sensor kit, preferably the angle with respect to the horizontal plane. Preferably, the orientation sensor provides three signals indicating a first rotation φ about a first axis perpendicular to the spray direction of the nozzle 146, a second rotation θ about a second axis perpendicular to the spray direction and perpendicular to the first axis, and a third rotation ψ about a third axis parallel to the spray direction.
[0047] Accordingly, the orientation data may include data indicating the roll, yaw, and pitch of the spray gun 140. Since the housing body 102 is preferably firmly connected to the spray gun 140, the roll, yaw, and pitch of the orientation sensor 130 may substantially correspond to or at least be converted to the roll, yaw, and pitch of the spray gun 140. Any one or more output parameters of the orientation sensor 130 may be regarded as spray job parameters that may exist if desired.
[0048] Furthermore or alternatively, the orientation sensor 130 is configured to determine at least one angle of the orientation sensor with respect to a reference plane. The reference plane may be, for example, a horizontal plane, a vertical plane, or a plane representing the surface 144 on which the coating 142 will be applied.
[0049] To obtain movement data indicating the movement of the spray gun 140, an embodiment of the sensor kit 100 may include an accelerometer 132 as an example of a movement sensor. The accelerometer 132 is preferably configured to provide three signals indicating accelerations in three directions. In a preferred implementation, the first acceleration is measured in a first direction x, a second direction y, and a third direction z. In a more preferred embodiment, each direction is parallel to a rotation axis as discussed above. For example, the first direction is parallel to the first axis, the second direction is parallel to the second axis, and the third direction is parallel to the third axis, although other options may be similarly envisioned.
[0050] The movement data may include data indicating the velocity and / or acceleration and / or displacement of the spray gun 140 in one or more directions. The housing body 102 is preferably rigidly connected to the spray gun 140, so the velocity and / or acceleration of the movement sensor 132 may substantially correspond to the velocity and / or acceleration of the spray gun 140, or at least be converted to the velocity and / or acceleration of the spray gun 140. One or more of velocity, acceleration, and displacement may be regarded as spray job parameters that optionally exist, either as a scalar or a vector.
[0051] To supply power to the components of the sensor kit 100 that require electrical energy, the sensor kit 100 may include a battery 134 on which electrical energy can be stored. In a particular embodiment, the sensor kit housing 102 is substantially sealed, for example, to prevent fluid from entering the housing and / or to prevent electrical components from being exposed to paint odor. Due to being substantially sealed, it may not be possible to use a wired connection to charge the battery 134 and / or to easily replace a depleted battery.
[0052] The coil 136 as a wireless charging module for charging the battery 134 may be included in the sensor kit 100 and may be installed inside the sensor kit housing 102 together with the battery 134. For example, by using inductive charging, electrical energy can be supplied to the battery 134 via the coil 136. Since the transfer of this electrical energy is wireless, there is no need to install a connector inside the housing 102, nor is there a need to expose electrical components to ambient air that may contain a flammable coating substance in the aerosol.
[0053] The system further comprises a server 160 that includes a processing unit 162 and may at least access a mass memory 164 with a database containing reference parameter values stored thereon. In a further embodiment, at least some of the reference parameter values may already exist on the memory 114 of the sensor kit 100.
[0054] The mass memory 164 may be included in the server 160, the server may be located at the facility where the spray gun 140 is used or at any other location, and the mass memory 164 may be located at a different location. The mass memory 164 may also store computer-executable code thereon for programming the processing unit 162 to perform the methods discussed below in conjunction with FIG. 22. Thus, the mass memory 164 preferably comprises non-volatile memory.
[0055] The server 160 comprises a communication module 166 for communicating with the sensor kit 100 and in particular with the data output 118 and the data input 112.
[0056] Server 160 further includes a server processing unit 162 with various sub-units for dedicated tasks. The sub-units may be wired to the processing unit or programmed within the processing unit by non-volatile (re)programmable memory or volatile memory. As discussed in conjunction with flowchart 200 of FIG. 2 (FIG. 2), the server processing unit 162 may include an integration unit 170, a spatial calculation unit 172, a convolution unit 174, a synchronization unit 176, and a process calculation unit 178 to perform various functions.
[0057] The reference parameter values may include a set of coating types and corresponding preferred spray parameters. The spray parameters may be specific to the type of coating. For example, for a particular first coating type, the preferred spray distance between the nozzle 146 and the surface 144 is within a first distance interval. When an operator selects a particular coating by the server 160, the preferred spray parameters may be provided to the sensor kit.
[0058] The reference parameter values may include, by way of example, data related to the minimum and / or maximum speed, orientation, and / or acceleration of the spray gun 140, the minimum or maximum operating temperature and / or pressure, the minimum or maximum value of the flow of the coating fluid, and / or the spray job, or any other data that may be related to any combination thereof.
[0059] During the use of the spray gun 140, this period may be referred to as a spray job, and the time-of-flight sensor 106 acquires distance data indicating the distance d between the time-of-flight sensor 106 and the surface 144 facing the time-of-flight sensor 106.
[0060] Figure 2 depicts a second flowchart 200 for reconstructing coating data, which may be implemented within server system 160 or on a different computer device such as a smartphone or tablet computer to communicate with sensor kit 100 for spray gun 140. Various parts of flowchart 200 may be executed on at least one of microcontroller 110 and processing unit 162. The various parts of the second flowchart 200 are briefly summarized below. 202 Start 204 Obtain coating data 206 Obtain paint model data 208 Monitor acceleration data 210 Is the intersection zero? 212 Monitor flow data 214 Is there flow? 216 Monitor distance data 218 Monitor rotation data 220 Monitor acceleration data 222 Monitor beacon data 224 Monitor flow data 226 Calculate movement data 228 Determine location-specific data 320 Determine surface orientation 432 Determine angle with respect to surface 234 Determine position data 236 Calculate intersection surface with respect to spray cone 238 Determine coating parameters in intersection plane 240 Synchronize flow data and sensor kit data 242 Calculate coating deposition amount in intersection plane 244 Calculate thickness of coating layer on surface 246 Calculate thickness of cured layer on surface 248 Monitor flow data 250 Is there flow? 252 End
[0061] This process starts with terminator 202 and is followed by step 204 where coating data is acquired. Such coating data may be acquired on data received from the user of spray gun 140. The input may be provided manually by receiving data from a keyboard, by a barcode scanner, by receiving input through the selection of an icon, by other means, or in combination thereof. The coating data includes at least one characteristic specifically related to the coating liquid, such as viscosity, brand name, liquid content of the solution, data regarding layer thickness reduction due to curing, the desired distance to the surface to be coated, among others, or a combination thereof.
[0062] In step 206, paint model data is acquired. The paint model data mainly includes data regarding spray gun 140. The paint model data includes data regarding the structure of spray gun 140 and the structure of the spray cone provided by nozzle 146. The data may be two-dimensional, only perpendicular to the spray direction, or three-dimensional. The paint model data includes the average value of the flow density, the median value of the flow density, the maximum value of the flow density, the minimum value of the flow density, the flow density as a function of the location within the cone, the apex of the cone, the shape of the cone (circular or non-circular ellipse), and one or more of these parameters having values depending on the distance from spray gun 140 or nozzle 141 to the surface of the vehicle body part, characteristics of the coating material, air pressure, air flow, air flow velocity, among others, or a combination thereof.
[0063] The actual data of the spray cone may depend on the characteristics of the coating material, air pressure, the amount of movement of the trigger of spray gun 140, the distance to vehicle body part 144, among others, or a combination thereof. The paint model data may be acquired in the same manner as the coating data. The data described as being acquired in this way may be acquired by processing unit 162 from mass memory 214.
[0064] In operation 208, acceleration data such as received from accelerometer 132 as included in sensor kit 100 is monitored. When the acceleration in a particular direction, particularly the direction perpendicular to the spray direction and the left - right direction when spray gun 140 is held by an operator, crosses zero at least once, preferably two or more times, in operation 210, it is detected that spray gun 140 is in use for spraying.
[0065] To reduce the risk of false detection, the detection of zero - crossing of the acceleration value may be combined with the determination that the period between two or more subsequent crossings is substantially the same. In this way, the oscillating movement of spray gun 140 may be detected as indicating that the operator is performing a painting job.
[0066] Alternatively or additionally, flow data may be monitored. The flow data may be monitored by receiving a signal from a trigger sensor (not shown), which can be, for example, a binary, otherwise digital or analog continuous signal, by monitoring whether the trigger of spray gun 140 is pulled. A time - stamp may be provided for the flow rate, providing a display of a plurality of flow rates, for example, the flow rates at consecutive instants of time.
[0067] From the flow data, for example, based on a stored value of the density of the coating fluid, the mass flow rate or volume flow rate through the nozzle may be determined. By determining whether the trigger is open and combining the determined trigger state with the nominal flow rate of the nozzle, the total mass flow rate or total volume flow rate at a particular instant when the trigger operates may be determined, if desired, at one or more air pressures of the air provided to spray gun 140. By combining the relationship between the trigger operation and the mass flow rate or volume flow rate and determining how far or how much the trigger is operated, the actual flow rate at a particular instant may be determined. Flow may also be detected between the coating fluid reservoir and spray gun 140.
[0068] Alternatively, or further, at least one of the air flow and the coating material flow may be monitored by a sensor (not shown) in step 224, and the signal provided by such a sensor may be monitored by the processing unit 162. Total flow data, i.e., mass flow (quantity) or volume flow (quantity), may thus be obtained directly by the sensor.
[0069] When at least one of the air flow, the trigger depression, and the coating material flow is detected, it is determined in step 214 that the spraying job has been started. In one embodiment, this determination is made only when the signal is detected for a period longer than a predetermined time interval.
[0070] Based on the evaluation of the sensor data, when it is determined that the painting job has been started, in step 216, the distance data provided by the distance sensor module 106 is monitored, in step 218, the rotation data provided by the orientation sensor 130 is monitored, in step 220, the acceleration data provided by the accelerometer 130 is monitored, and in step 224, the flow data provided by the sensor as discussed above is monitored.
[0071] In step 222, the beacon data is monitored. In the embodiment depicted by FIG. 1, the first camera 152 and the second camera 156 receive image data of light from the visual beacon 150 and convert the received image data into an electronic signal. The digital or analog electronic signal is transferred to the microcontroller 110. Thereafter, the electronic signal may be transferred to the processing unit 162 of the server 160, or the processing or at least a part thereof may be performed locally within the microcontroller 110.
[0072] Visual data may be obtained multiple times per second, for example, 5, 10, 20, 25, 40, 50, 75, or 100 times per second. Preferably, the image frames are provided with time stamps for synchronization purposes. This enables comparison or otherwise processing of images obtained by various cameras at the same instant. The monitoring steps may be performed in parallel or (interleaved) intermittently and repeatedly in sequence.
[0073] Based on the accelerometer data, the speed at which the operator moves the spray gun 140 and the distance the movement moves the spray gun 140 can be calculated in step 226 by integrating the data received from the accelerometer one or two times over time. This action may be performed by the integration unit 170. Before integration, the data provided by the accelerometer may be processed by using statistical parameters, for example, removing outliers and smoothing the signal over time, for example, determining a moving average value or a mean median value, for example, over time, for example, by determining what the outliers are based on the standard deviation. Alternatively or further, the acceleration data signal may be filtered using, for example, a Kalman filter. Alternatively or further, the displacement data may be obtained in a different way, for example, using beacons in the spray chamber.
[0074] When the spray gun is properly directed at the vehicle body part 144, since the spray direction is always perpendicular to the surface of the vehicle body part, the data of the acceleration in the direction parallel to the vehicle body part 144 is sufficient. However, this is not always the case, and therefore, it is preferable to process the acceleration in all directions.
[0075] In operation 228, location data is determined. The location data is determined based on beacon data. In the implementation depicted by FIG. 1, the image data of the visual marker 150 obtained by the first camera 152, i.e., the first image data, and the second image data obtained by the second camera 156 are analyzed. Within the image frames obtained at the same instant, the data received from the visual marker 150 is identified. The data within the obtained image frames may be analyzed using image analysis and data enhancement techniques to identify data regarding the visual marker 150 within the image frames. Next, the data regarding the visual marker 150 may be compared with at least one of the reference data and the data regarding the visual marker 150.
[0076] Based on the difference between the obtained image data, e.g., the first image data, and a reference, which may be a reference image retrieved from the device memory 114 or the server memory 164 or the second image data, the orientation of the spray gun 140 within the spray chamber may be determined. The distance between the camera and the visual marker 150 may be determined based on the comparison and differences, inclinations, rotations, pitch variations, rotational variations, altitude variations, size differences, etc., between the images to be compared and the reference image, or any arbitrary combination of two or more thereof. Additionally or alternatively, the angular position of the sensor kit 100 relative to the visual marker 150 may be determined. The angular position thus determined may be corrected, adjusted, or refined using data from the rotation sensor 132 to provide updated location data.
[0077] In addition, further or alternatively, the actual positions of the first camera 152 and the second camera 156 relative to the visual marker 150 with a fixed position in the spray chamber, and accordingly, the actual position of the spray gun 140, may be determined. The result of this determination may be provided in at least one of Cartesian coordinates or polar coordinates, and one set may include two or three. Further or alternatively, a rotation over one, two, or three coordinate axes may be determined based on a comparison of the beacon data provided by the first camera 152 and the second camera 156 with the image data obtained by the camera.
[0078] A plurality of visual markers may be provided in the spray chamber. The markers may be identical or may have different shapes depicted thereon. In the latter case, at a fixed or predetermined known location of the visual marker, more data is available, so a more accurate determination of the position may be obtained. Further or alternatively, a smaller number of cameras may be required on the sensor kit 100. The reason in the latter argument is that at least one camera must be able to capture an image of at least one visual marker in order to properly determine the position of the sensor kit 100 and, accordingly, the position of the spray gun 140. If a plurality of visual markers are available, the possibility of a single camera capturing at least one visual marker, regardless of the position and angle of the sensor kit 100, is higher than when only a single marker exists in the spray chamber.
[0079] In step 230, if desired, the orientation of the surface of the vehicle body part 144 may be determined. In one implementation, the surface is assumed to be horizontal or vertical.
[0080] In another implementation, the spray gun is assumed to be held mainly in a manner perpendicular to the surface. Based on the orientation data provided by the orientation sensor 130, the orientation of the surface may be determined under the assumption that the spray gun 140 at least on average follows the surface.
[0081] In operation 232, the orientation of the spray gun 140 relative to the surface of the vehicle body portion 144 may be determined. In one implementation, data regarding the distance to the surface may be taken into account. The distance sensor module 106 includes a plurality of time-of-flight sensors or other sensors having equivalent functionality, and if all of the measured distances are the same, the spray gun 140 is oriented perpendicular to the surface. If the distances are different, in addition to perpendicular, the orientation of the spray gun 140 or the orientation of the spray cone provided by the nozzle 146 may be determined.
[0082] In an implementation where the surface is assumed to be horizontal or vertical, data from the orientation sensor 130 across one or more coordinate axes may be used to determine the orientation of the spray gun relative to the surface.
[0083] In another implementation where the orientation of the surface is determined using data from the orientation sensor module 130, the orientation of the spray gun 140 relative to the surface may be determined by detecting a deviation in the signal from the orientation sensor from an average value obtained over time, e.g., over 2 seconds, 5 seconds, or 10 seconds.
[0084] In operation 234, position data indicating the position of the spray gun 140 relative to the vehicle body portion 144, particularly its surface, is determined. This determination is based, in this example, on the position identification data determined in operation 232 and the scan data obtained by the distance sensor module 106. The position data indicates the position of the spray gun 140 relative to the vehicle body portion 144, particularly its surface.
[0085] The position may be calculated using double integration over time using data from the accelerometer 132, but position data over time using beacon data over time may be more reliable for determining the trajectory of the spray gun 140, and accordingly, the spray cone emitted by the nozzle 146 onto the surface of the vehicle body part 144 may be determined in a more accurate manner. The accelerometer may be used for one or more of the improvement, refinement, correction, supplementation, or adjustment of the position data determined based on the beacon data, or vice versa.
[0086] When supplementing data, the data received from the accelerometer is processed to be integrated twice over time, or is unprocessed and used to supplement data for specific data intervals where beacon data is not available or unreliable beacon data is available. Beacon data may be characterized as unreliable if too much variation and / or too large variation is detected within a particular time frame. This implementation may also be used in reverse, where beacon data may be used to supplement accelerometer data if the accelerometer data is unavailable or determined to be unreliable.
[0087] In the case of adjustment, determining a location based on the double integration of acceleration over time may result in drift of the location-specific data. Beacon data may be used to adjust or correct the location-specific data and thus eliminate or at least reduce the effects of drift.
[0088] In particular, the angles of the spray gun 140 and the nozzle 146 with respect to the surface of the vehicle body portion 144 may be determined using data provided by at least one of the orientation sensor 130 and the distance sensor module 106. When using the distance sensor module 106, the angle of the spray gun 140 with respect to the surface of the vehicle body portion 144 may be determined by obtaining the difference between the distances determined by different sensors provided within the distance sensor module 106. Using data from three or more sensors, in addition to or instead of data regarding the distance between the spray gun 140 and the surface of the vehicle body portion, the two-directional angle may be determined as part of the position data.
[0089] The obtained instantaneous position data of the spray gun includes at least one of the angle and the distance with respect to the surface of the vehicle body portion 144, and is combined with the position-specifying data obtained over time. For example, it may be used to model the shape of the vehicle body portion 144 in a spray chamber.
[0090] Based on the data calculated in the last steps of step 232 and step 234, the data from the distance sensor module 106, the paint model data, the coating data, and others, or a combination thereof, in step 236, the intersection or intersection plane of the spray cone and the surface of the vehicle body portion 144 is determined, and this action may be performed by the spatial calculation unit 172. Using the information of the intersection plane, the coating parameters in the intersection plane may be determined while considering the paint model data and, if desired, the coating data.
[0091] Using a paint model that includes fluid density data as a function of locations within the cone, in step 238, coating parameters, particularly data regarding fluid density, may be determined in numerical representation, analytical representation, or otherwise, or a combination thereof. For a particular location within the cross-plane, the mass per volume or coating volume per reference point per second or other unit of time may be determined. In this way, in step 242, the deposition of the coating may be determined in terms of mass, volume, or both per unit area per unit time.
[0092] Optionally, if such data is available and varies over time, in the deposition model, fluid data may be taken into account. Preferably, the flow rate data and data from the sensor kit 100 are synchronized over time in step 240 before determining the deposition amount per unit area per unit time, which may be handled by the synchronization unit 176. The data from the sensor kit 100 and the data from a sensor that provides a signal indicative of the flow of the coating material may be timestamped using network data from the network through which both sensor packages provide data to the server 160. Other time sources, preferably a single time source or multiple synchronized time sources, may be considered as well.
[0093] Figures 3A - 3F depict the results of step 238. Figure 3A shows a nozzle 146 that provides a spray cone 148 at a first distance toward the surface of the vehicle body portion 144, depositing a layer 142 of coating material. Figure 3B shows a display of the fluid density within the plane where the spray cone 148 intersects the surface. The darker the color, the higher the fluid mass density. In Figure 3B, the spray cone is assumed to have an elliptical non-circular cross-section, which corresponds to most commercially available spray guns. Alternatively, the spray cone as defined by the paint model data may have a circular cross-section.
[0094] FIG. 3C shows the nozzle 146 at a second distance from the surface, and the second distance is smaller than the first distance shown in FIG. 3A. The smaller the distance, the smaller the resulting cross-sectional area in the cross-section between the spray cone 148 and the surface of the vehicle body portion 144. Accordingly, the elliptical spray density as depicted by FIG. 3D is smaller.
[0095] The density distribution within the cross-sectional area is equivalent. Note that the total density over the entire cross-sectional area, i.e., the integral of the flow density per unit area over the area of the entire cross-sectional area, is preferably the same for FIGS. 3B and 3D. In another implementation, the loss of the coating material at each distance away from the nozzle 146 may be taken into account.
[0096] FIG. 3E shows the nozzle 146 installed below the surface of the vehicle body portion 144 and angled with respect to the surface of the vehicle body portion. In the case of the elliptical cross-section of the spray cone 148, this may result in a cross-sectional area 142 as depicted by FIG. 3F. In a further implementation, when determining the deposition of the coating on the surface per unit area and per unit time, the occlusion due to obstacles protruding from the surface or depressions on the surface may also be taken into account.
[0097] Then, taking into account the data as depicted by FIGS. 3B, 3D, and 3F (any of which may be applicable), the movement data or displacement data obtained by double integration of the acceleration data, or other data indicating movement, and time, in step 244, the total amount of the deposited coating material may be determined. One option for doing so is by convolution of the movement of the spray gun over time and the amount of deposition over time, which may be handled by the convolution unit 174. Other data may also be taken into account, including but not limited to ambient pressure, ambient temperature, and humidity.
[0098] In the convolution process, different datasets may be used. One example is to use location identification data determined based on the evaluation of beacon data obtained over time. Another example is to use movement data obtained by double integrating acceleration data. In a further example, the data obtained as beacon data and accelerometer data are combined. In yet another further example, rotation data obtained by the rotation sensor 134 is used.
[0099] In still another example, for instance, scanning data obtained using the distance sensor module 106 is used, and the provision of distances and angles to the surface of the vehicle body part is used. The data thus obtained, calculated, determined, or acquired by other means may be combined in any way using mean values, other statistical parameters, or other algorithms, and based on this, provide the trajectories of the nozzle 146, the spray cone 148, and / or the spray gun 140 as the basis for the convolution process or another process to determine the deposition of the coating fluid over time on the surface of the vehicle body part 144.
[0100] In step 246, coating data regarding the curing of the coating material may be used by the process calculation unit 178 to determine the thickness of the cured coating layer based on the results of step 244.
[0101] The process as discussed above may be continuously executed while spraying continues. In particular, the determination of the final coating thickness before or after curing may be made after the coating process is completed. Alternatively, when the spraying job is completed, several steps are executed.
[0102] The end of the spraying job may be determined as the point at which the monitored fluid data indicates that there is no flow, either instantaneously or for a specific time interval. Alternatively or additionally, the absence of detected rocking motion may also be considered, as discussed above, to determine that the spraying process has ended in step 250. When the process is complete, the procedure ends at terminator 252.
[0103] In summary, the various aspects and implementations relate to the reconstruction of a coating layer. By measuring the position of the spray gun relative to the physical surface to be coated, data regarding the technical characteristics of the spray gun, such as the spray cone that the spray gun can generate, and data regarding the coating fluid used, the characteristics of the physically deposited coating layer can be reconstructed in this way. Recording data during the spraying job is faster and more accurate than measuring the layer thickness at various locations, i.e., either at a predetermined location or at random locations. By determining the fluid characteristics within the spray cone and the position of the spray cone relative to the surface over time and using a model of the spray cone, the deposition of the coating layer can be determined and the final layer, whether cured or uncured, may be reconstructed, including its thickness.
Claims
1. A system for acquiring data regarding the position of a spray gun relative to a surface provided within a space, comprising: a device, said device comprising: a spray gun mounting portion configured to rigidly connect said device to the spray gun; a beacon sensor module configured to receive beacon data from one or more reflection beacons located within said space; a surface scanning module configured to scan said surface and provide scan data by scanning said surface; and said system further comprising an electronic processing unit configured to: receive said beacon data; determine location identification data indicating the location of said device within said space based on said beacon data; determine position data indicating the position of said spray gun relative to said surface based on said location identification data and said scan data. A system further comprising an electronic processing unit configured as above.
2. The beacon sensor module comprises a first optical sensor configured to capture light reflected by a visual beacon and provide first image data representing said reflected light, and said processing unit is further configured to: identify data regarding said beacon within said first image data as first received beacon data; acquire beacon reference data; compare said received beacon data with said beacon reference data; determine the relative position of said device with respect to said beacon based on said comparison; and provide the determined position as location identification data. The system according to claim 1, further configured as above.
3. The beacon sensor module comprises a first optical sensor having a first field of view and a second optical sensor having a second field of view, said first field of view overlapping at least partially with said second field of view, and said processing unit is further configured to: identify data regarding said beacon within said first image data as first received beacon data; identify data regarding said beacon within said second image data as second received beacon data; compare said first received beacon data with at least one of said second received beacon data and reference beacon data; determine the relative position of said device with respect to said beacon based on said comparison; and provide the determined position as location identification data. The system according to claim 1 or claim 2, further configured as above.
4. The system according to any one of claims 1 to 3, wherein the processing unit is further configured to determine a beacon angular position of the device with respect to the beacon or a beacon as part of the position identification data based on the beacon data.
5. The position identification data includes the following parameters, namely, a distance to the beacon, two or more Cartesian coordinate values, an angular position of the device with respect to the beacon, The system according to any one of claims 1 to 4, comprising one or more of the above.
6. The device further comprises an angular position sensor configured to determine a first angular position of the device, The processing unit is further configured to determine device angular data indicating a device angular position of the device with respect to the beacon based on the first angular position and the position identification data. The system according to any one of claims 1 to 5.
7. The surface scanning module comprises a first distance sensor configured to provide a first distance signal indicating a first distance to the surface in a first direction, The first signal is included in the scanning data, The processing unit is further configured to determine a distance between at least one of the device and the spray gun and the other surface based on the first distance signal. The system according to any one of claims 1 to 6.
8. The surface scanning module comprises a second distance sensor configured to provide a second distance signal indicating a second distance to the surface in a second direction, and a third distance sensor configured to provide a third distance signal indicating a third distance to the surface in a third direction, The first direction, the second direction, and the third direction are substantially parallel to each other, The processing unit is further configured to determine scanning angle data indicating an angle of the device with respect to the surface based on the first distance signal, the second distance signal, and the third distance signal. The system according to claim 7.
9. The processing unit acquires the position identification data and the scanning data over time, and determines a trajectory of the spray gun with respect to the surface over time based on the position identification data and the scanning data over time. The processing unit is further configured as such. The system according to any one of claims 1 to 8.
10. In a range subordinate to at least one of claim 6 and claim 8, the processing unit acquires at least one of the scanning angle data over time and the device angular position, and determines the trajectory of the spray gun with respect to the surface over time based on at least one of the scanning angle data over time and the device angular data. It is further configured as the system according to claim 9.
11. the processing unit acquires the position identification data and the scanning data over time, and determines the structure of the surface with respect to the beacon. It is further configured as the system according to any one of claims 1 to 10.
12. In a range subordinate to at least one of claim 6 and claim 8, the processing unit acquires at least one of the scanning angle data over time and the device angular position, and determines the trajectory of the spray gun with respect to the surface over time based on at least one of the scanning angle data over time and the device angular data. It is further configured as the system according to claim 11.
13. The system according to any one of claims 1 to 12, further comprising at least one reflective beacon.
14. The beacon is at least one of a two-dimensional visual binary code, an electronic device configured to emit an electromagnetic radiation signal when receiving an electromagnetic signal received from a device, a visualization of a geometric figure. The system according to claim 13.
15. The device comprises a first accelerometer for determining a first acceleration substantially perpendicular to the spray direction, and a second accelerometer for determining a second acceleration substantially perpendicular to the spray direction, wherein the first direction is substantially perpendicular to the second direction, and the processing unit integrates the first acceleration over time for twice the time to obtain first displacement data in the first direction as a first part of the accelerometer position data, integrates the second acceleration over time for twice the time to obtain second displacement data in the second direction as a second part of the accelerometer position data, and determines the position identification data based on the beacon data and the accelerometer position data. It is further configured as The system according to any one of claims 1 to 14.
16. In the scope dependent on claim 9 or claim 10, the processing unit obtains three-dimensional coating model data of a spray cone associated with a spray gun from an electronic memory, calculates coating deposition area data of positional spray coating deposition on the area of the physical surface per unit time based on the trajectory and the three-dimensional coating model, The system according to any one of claims 1 to 15, further configured as described above.
17. The trajectory is provided with first timestamp data, the processing unit obtains flow data of a coating fluid provided with second timestamp data, wherein the fluid flow data provides an indication of the mass flow rate of the coating fluid passing through the spray gun, adjusts the coating model data based on the flow data of the coating fluid, matches the fluid flow data and the trajectory based on the first timestamp data and the second timestamp data, calculates coating deposition area data of positional spray coating deposition on the area of the surface per unit time based on the scan data, the trajectory, and the three-dimensional coating model, The system according to claim 16, further configured as described above.
18. the processing unit obtains curing data regarding the coating fluid, calculates the thickness of the layer of the coating fluid on the physical surface based on the coating deposition area data of positional spray coating deposition on the area of the physical surface per unit time, determines the cured thickness of the cured layer of the coating fluid on the surface based on the curing data, The system according to claim 15 or claim 16, configured as described above.
19. A method for obtaining data regarding the position of a spray gun with respect to a surface provided in a space, receiving beacon data from a beacon sensor module configured to receive beacon data from one or more reflection beacons located in the space, scanning the surface and receiving the scan data from a surface scanning module configured to provide scan data by scanning the surface, Based on the position-specific data and the scanning data, determining position data indicating the position of the spray gun relative to the surface. A method including this. **Claim 20** A computer program product comprising computer-executable instructions that, when executed by a processor included in a computer, cause the computer to execute a method for obtaining data regarding the position of a spray gun relative to a surface provided in a space, The method includes: Receiving beacon data from a beacon sensor module configured to receive beacon data from one or more reflective beacons located in the space, Scanning the surface and receiving the scanning data from a surface scanning module configured to provide the scanning data by scanning the surface, Based on the position-specific data and the scanning data, determining position data indicating the position of the spray gun relative to the surface. A computer program product including this. **Claim 21** A non-transitory medium having stored thereon a computer program product comprising computer-executable instructions that, when executed by a processor included in a computer, cause the computer to execute a method for obtaining data regarding the position of a spray gun relative to a surface provided in a space, The method includes: Receiving beacon data from a beacon sensor module configured to receive beacon data from one or more reflective beacons located in the space, Scanning the surface and receiving the scanning data from a surface scanning module configured to provide the scanning data by scanning the surface, Based on the position-specific data and the scanning data, determining position data indicating the position of the spray gun relative to the surface. A non-transitory medium including this.