Robust vision-based joint tracking for laser welding of curved closed-square-butt joints

Robotized laser beam welding of closed-square-butt joints is sensitive to how the focused laser beam is positioned in relation to the joint, and existing joint tracking systems tend to fail in detecting the joint when the gap and misalignment between the work pieces are close to zero. A camera-based system is presented based on a high dynamic range camera operating with LED illumination at a specific wavelength and a matching optical filter. An image processing algorithm based on the Hough transform extracts the joint position from the camera images, and the joint position is then estimated using a Kalman filter. The filter handles situations, when the joint is not detectable in the image, e.g., when tack welds cover the joint. Surface scratches, which can be misinterpreted as being the joint, are handled by a joint curve prediction model based on known information about the nominal path defined by the robot program. The performance of the proposed system has been evaluated off line with image data obtained during several welding experiments.


Introduction
Automated laser beam welding (LBW) is one important enabler for the manufacturing industries to produce high quality welds [1]. However, the drawback is that the LBW process requires strict fit up tolerances and also accurate joint preparation, fixturing, and robot motion. Heat-induced distortions occurring during welding might also result in joint deviations from its initial nominal position, denoted as offset in this paper. These drawbacks are particularly severe in welding of technically zero gap square-butt-joints, since a small offset between the laser beam spot and the joint may cause lack of side wall fusion within the resulting seam. An example is shown in Fig. 1, where welding has been conducted with an offset of 1 mm between the laser beam spot and the actual joint position. Lack of side wall fusion is a very serious defect that gives a weak weld, and it is difficult to detect even when using non-destructive test methods such as ultrasonic testing, due to the flatness and orientation of the defect.
To overcome this issue, it is common to use joint tracking systems that detect the joint position and adjust the laser beam spot onto it by some moving actuator. Commercially available joint tracking systems often use structured light constituting laser triangulation to get a distance profile perpendicular to the joint [2][3][4]. Although this method works well for many joint configurations, in the case of technically zero gap closedsquare-butt joints with technically zero misalignment, this method is prone to fail to detect the joint position.
The issue of joint tracking during technically zero gap square-butt welding has been addressed by several researchers. A novel approach, using a magneto-optical sensor, was used in [5] to detect tight-butt joints during LBW. Good results were shown, however in industrial applications, their sensor setup, requiring a magnet on the back side of the work piece, can be difficult. A vision-based 3D path teaching method for closed-square-butt joint welding is presented by Zeng et al. [6]. Joint tracking is here conducted by fusing information from two images obtained by the same camera under different illumination for arc welding, not LBW. This requires a camera off-axis with careful positioning relative the welding tool. Regaard et al. [7] present different concepts and principles regarding sensors for joint tracking and introduce a multi-sensor concept using a CMOS camera with a low power laser source for illumination, for tracking and also for measuring the displacement between the LBW tool and the work piece. A method using a CCD camera and a vision algorithm to track closed-square-butt joints are described in [8] with promising results shown for an arc welding application. Krämer et al. [9] use a CMOS camera to capture images during LBW, and a texture-based algorithm is suggested where the difference in surface texture of the two work pieces is used to find the joint position. Good results are shown; however, the proposed algorithm is time-consuming and might not be applicable for real-time applications. A joint tracking method for closed-square-butt joints using three laser stripes is presented by Shao, Huang, and Zhang [10]. Two laser stripes are used for measuring a 3D profile using optical triangulation and the third laser stripe is used as illumination for a grayscale image. Results are only shown for straight welds. In [11] an infrared camera, placed off-axis, was used and showed promising results for joint tracking during LBW. However, the offaxis configuration lowers the flexibility of the LBW tool compared to solutions where the sensors are integrated in the tool. Xu et al. [12] present a visual control system to track narrow butt joints in CO 2 arc welding. Results are shown for linear welds; however, the sensor setup using 150-mm offset between the camera and the torch is not suitable for curved joints. A passive vision sensor is used by Ma et al. [13] for joint tracking in thin plate closed-gap butt arc welding. Good results are shown for real-time joint tracking; however, results are only for arc welding of straight welds. Fan et al. [14] propose a joint tracking method in both horizontal and vertical direction for narrow butt joints. Arc welding experiments show promising results; however, it is only applied to straight welds. Although showing promising results, none of the systems referred to prove to be a robust-enough solution for joint tracking of technically zero gap closed-butt joints in an industrial environment. This applies especially for LBW of complex geometries with limited access, which requires the sensor system to be integrated into the LBW tool.
In a real industrial welding situation, there will be several factors affecting the tracking system, e.g., varying surface structure or scratches near the joint that can be misinterpreted as the joint, tack welds covering the joint, and evaporated metal fumes clouding the camera image. Another problem that may arise when welding complex geometries is the relatively large position error caused by the fact that the sensing area has to be placed at a certain distance in front of the joint when welding is not done in a straight line. A novel vision-based system is presented that addresses the above issues. It includes a robust algorithm based on a modified Hough transform, a Kalman filter, and a joint curve prediction model based on prior knowledge of the nominal joint path. Eight welding cases were conducted on Alloy 718 specimens to evaluate the robustness of the system. The aim of the tracking system is to ensure a joint offset that is less than half the diameter of the laser beam focus spot. The system is evaluated off-line based on images acquired during welding.

Materials and methods
The tool manipulation was conducted using an industrial robot, ABB IRB4400, and the tool center point (TCP) corresponded to the laser beam spot on the work piece. The laser source used was a 1070-nm wavelength fiber laser (IPG YLR-6000-S) and the LBW tool was from Permanova Laser System AB. The optical delivery fiber used was 600 μm in diameter, and by using a 160-mm focal length collimating lens and a 300-mm focal length focus lens, a laser beam spot diameter of 1.12 mm, and a Rayleigh length of 13.7 mm was obtained. The laser beam spot was focused on the surface of the work piece resulting in keyhole welding and a narrow seam waist.
The work piece material used was 2-mm thick sheet metal plates of Alloy 718. Each work piece was made of two different sheets where an ellipse was laser-cut out from one and a corresponding elliptical hole was cut out from the other. The hole in the second plate was made somewhat smaller in order to get a very tight fit between them, see Fig. 3. The two plates were tack-welded to constrain heat-induced distortions in the joint gap during welding. Argon gas was supplied to the top side and in a root gas channel in the fixture, as well as in front of the LBW tool focus lens for protection against spatters. A tube was sucking out the plasma plume from the process Fig. 1 Cross section of a weld seam when welding has been conducted with a beam offset of 1 mm from the actual joint position. Lack of sidewall fusion is seen in the waist of the weld seam interaction zone in order to stabilize the process and to improve the sight for the camera. The laser power used during the experiments was 2300 W and the robot welding speed was 15 mm/s.

Machine vision system
A high dynamic range (HDR) (120 dB) CMOS camera has been integrated coaxially in the LBW tool as shown in Fig. 2. The HDR makes it possible to acquire a very broad range of luminance with high contrast in the image. This is desirable when monitoring LBW since it facilitates to capture geometrical features around the weld pool (liquid and solid metals, joint position, surface texture, etc.) despite the very intense light from the laser-generated plasma plume. The camera and an external, off-axis configured, LED illumination were synchronously controlled by a trigger module at a frame rate of 200 frames per second. Each image had a pixel area of 640 × 300, and the corresponding spatial pixel resolution on the work piece surface was 25 × 25 μm giving a field of view of 16 × 9 mm on the work piece since a pinhole camera model is assumed.
It has been shown in earlier investigations [15] that the spectral range between 400 and 500 nm causes minimal interference from the LBW process spectral emissions. Also, at this spectral range, the sensitivity of the camera sensor is still sufficient. Therefore, two power LEDs with a center wavelength of 450 nm illuminated the work piece and a matching optical band pass filter was placed in front of the camera. The power LEDs were synchronized with the camera, and only activated during the short exposure time of the camera (200 μs). In this fashion, it was possible to obtain a higher light intensity during the exposure time of the camera compared to continuous mode LED illumination. This enables LED overdrive during the given duty cycle limited by the camera exposure time. By using this setup, the image information in the area in front of the melt pool was enhanced.
The image data was acquired during welding by a PC running a LabVIEW application, and later analyzed off line using Matlab.

Welding procedure
The nominal welding path is an ellipse as shown in Fig. 3.
The work pieces have been prepared to challenge the system. The plates were first tack-welded, which introduced several areas in the joint path where the joint position cannot be seen. Then the plates were scrubbed to remove oxides, which introduced a lot of small scratches near the joint. In addition, several deep scratches were engraved by a knife.
Three different test cases were evaluated: test case A using the nominal robot path with zero offset relative to the joint, test case B where the robot path was translated 1 mm in xdirection relative to the joint (Fig. 4a), and test case C where the robot path was translated 1 mm in y-direction relative to the joint (Fig. 4b).

Image processing
This section describes a novel algorithm that addresses the issue of robustly finding the joint position in welding of technically zero square-butt-joint configurations. It considers surface scratches, uncertainty during tack welds, and welding of curved joints. Also, estimating the joint position where the laser beam hits the work piece eliminates the geometrical issue that occurs when the sensor measures a certain distance ahead of the laser beam spot (called sensor forerun in [7]). The solution is based on an implementation of the Hough transform [16], a Kalman-based filter [17] and a joint curve prediction model based on prior knowledge of the nominal welding path. Figure 5 shows an overview of the algorithm and the input and output of each step. The various parts are described in the coming subsections.

Machine vision algorithm
An image processing algorithm is used to extract the joint position from the image I for each time instant k in the area in front of the keyhole. Figure 6 shows that when welding curved joint shapes, the joint cannot be correctly modeled as a straight line but as a curve. It is proposed to model the joint Fig. 2 The LBW tool, the camera, and the LED illumination as a second-order polynomial with the ability to represent curvatures that are relevant for the aim of the joint tracking.
The camera pose is fixed and integrated in the LBW coaxially through the optics, see Fig. 2, so the position of the laser beam spot center, where the keyhole is formed, will be the same in all images.
The first step is to select a relevant area in front of the keyhole where the joint is visible to the camera. By defining a region of interest (ROI), as shown in Fig. 7, the number of pixels that need to be processed in the following steps will be greatly reduced. This will significantly reduce the processing time, which is crucial for the real-time performance. The selected I ROI is a square of 200 × 200 pixels.
The second step is to identify the pixels that correspond to the joint, which is done by applying an edge detection algorithm to the I ROI . The Canny method [18] is chosen for this since it is a robust algorithm using two different thresholds (high C h and low C l ) to find the intensity gradient in an image. In the Canny method, the image is first filtered using a Gaussian filter to remove noise, before the intensity gradients of the image are found. Then a double threshold is applied to the intensity gradient image to determine possible edges. All pixels above the high threshold level C h are considered as edge pixels. However, for the low threshold C l only pixels that relate to pixels found using the high threshold are considered as edge pixels. This is suitable for this application since the intensity of the curve representing the joint can vary between different images. The selection of the Canny threshold parameters is crucial for the following steps and are used as tuning parameters for the algorithm. If the thresholds are set at a too high level, not enough edge pixels representing the joint will be found. On the other hand, if the thresholds are set to a too low value, too many edge pixels will be found (due to uneven surface characteristics, scratches, etc.) and this will slow down the algorithm since all edge pixels are evaluated in the following step. The result from the edge detection is a binary image, I edge , ideally only containing the edge pixels representing the joint curve. Figure 8 shows I edge obtained by edge detection of I ROI from the image I in Fig. 7. Here, the edge pixels belonging to the joint are clearly visible. However, edge pixels from scratches and other irrelevant surface texture features are also present.
The third step is to match a parametric model to the joint curve by applying a version of the Hough transform. The standard Hough transform [16] converts edge pixels from the I edge image space to a parameter space using a parametric model of a straight line in the Hesse normal form: r = x cos Θ + y sin Θ, where r is the distance from the I edge origin to the closest point on the straight line, and Θ is the angle between the x-axis and the line connecting the origin with that closest point. It is also suggested in [16] that any curve that can be represented by a parametric model can be used in the Hough Fig. 3 Tack-welded work pieces before welding. Welding is performed counterclockwise. The work piece width is 200 mm (xaxis) and the height is 120 mm (yaxis) (a) (b) Fig. 4 The robot path and the joint in different test cases. The black solid ellipse is test case A with the nominal robot path aligned to the joint; a: the dotted ellipse is the robot path in test case B; b: the dotted ellipse is the robot path in test case C transform. Other implementations of the Hough transform have been suggested based on different parametric representations, such as the circular [16] or elliptical [19] Hough transform. In our algorithm, a second-order polynomial is employed for x-and y-coordinates in the image: Adding one dimension in the parameter space (from two parameters for a line representation to three parameters for a second order curve) increases the computation time. If the number of edge pixels in I edge is n p , and n a and n b are the number of values for parameters a and b, then the total number of calculations will be n tot = n p n a n b . Hence, to get a computationally efficient algorithm, it is crucial to limit the number of possible values in the a and b set and make sure that the I edge does not contain more than a sufficient number of pixels, n p . This can be achieved based on two assumptions. The first is that the joint curve always starts within the range of y-values defined by the I ROI . The c parameter, in the interval [c 1 , …, c n ], will therefore be limited to 200 possible integer values with the resolution of 1 pixel. The second assumption is that the curve inclination at x = 0 in I ROI , defined by the b parameter, and the rate of curvature, defined by the a parameter, are limited by the minimum radius of the welding path. Therefore, starting from the known minimum joint path radius, it is possible to calculate parameters a and b, whose quantization step will affect the accuracy of the curve detection. A smaller step size will increase the accuracy, at the expense of the computation and processing time.
The binary image, I edge , defines a set of, n p , edge pixel points {[x 1 , y 1 ], …, [x np , y np ]}and the objective is to find a polynomial that fits those points. The points (x i , y i ) are thus first transformed into the a-b-c parameter space derived from Eq. (1). Then, for each pixel in the image (x i , y i ), all combinations of the sets a = {a 1 , ..., a na } and b = {b 1 , ..., b nb } are used to calculate a number of j possible curve segments and their corresponding c parameter according to: The parameter values (a j , b j , and c j ) are then saved in an accumulator matrix together with a counter that evaluates the number of times each given value of c has been found for a specific combination of a and b values. Therefore, concurrent edge pixels that best fit a second-order curve with parameters Ω * = {a * , b * , c * } are found by searching for the maximum counter value n accmax in the accumulator. The joint position is then estimated by applying this second-order polynomial to the original image I and extrapolating it to the x-position of the laser beam spot, as shown in Fig. 9. The output y m , k represents the measured joint position y m for image k.

Joint curve prediction based on known nominal path
Since the nominal welding path is defined in advance by a CAD file or from the programmed robot path, it is possible to extract the nominal joint curve parameters as a second order polynomial. This information is particularly useful for distinguishing between the joint and a surface scratch, a problem that is highlighted in Fig. 6. In principle, without prior knowledge of the nominal joint path curvature, it is not possible to distinguish between the joint and the scratch in Fig. 6, since the scratch starts in the joint and is almost parallel to it just ahead of the keyhole. However, when considering the total curve segments and their Hough transform parameters, it is possible to decide which one corresponds to the actual joint, since the joint curve prediction provides a closed interval Ω in which those parameters must be. Figure 10 shows the complete welding path defined by the robot motion program. The red circle indicates a position, which is the same as shown in Fig. 6. The magnified area around the current position (red circle in Fig. 10) is shown in Fig. 11. The area has been oriented into the tangent direction of the nominal curve, since the laser tool is oriented to follow the tangent to the joint. From the curve in Fig. 11, it is then possible to extract the parameters of a second-order curve that closely represents the nominal path.
The steps for obtaining the joint curve prediction in each position from the programmed points of the welding path and comparing it with the result from the camera image are: 1. Read out the TCP position and orientation from the robot controller. 2. Search for the nearest point in the programmed welding path definition (the red circle in Fig. 10). 3. Select a number of programmed points around the TCP from the welding path definition. 4. Rotate these points to align them to the TCP orientation at position from step 1, see Fig. 11. 5. Do a polynomial fit of the points to obtain a parametric second order curve in the ROI. 6. Define a parameter space Ω from the parameters in step 5 that restricts the feasible curvature of the joint curve polynomial.
Steps 3 to 5 can be rather time-consuming. However, for each point in the robot program the polynomial parameter values can be calculated in advance and stored in a lookup table. When executing the algorithm, it is then possible to search the nearest point in this table based on the TCP value readout from the robot controller in step 1.

More thresholding for robustness
The maximum counter value n accmax from the accumulator matrix in the Hough transform is an indicator of the goodness of fit of the parametrized curve, since it shows how many pixels from I edge fit to the nominal curve. This value is thresholded to accept only results with enough edge pixels connected to the joint curve estimate. The threshold is called Tp min and is used to decide whether the joint is detected or not in an edge image I edge . The importance of this passage is when a tack weld or interference from the plasma plume is covering the joint. In this case, not enough pixels will be found that match a second-order curve. Two more threshold parameters are used to make the algorithm more robust. Both indicate the maximum change in the position between two consecutive frames. The first parameter, Tc max , indicates the maximum change between two consecutive frames when the joint was detected in the first frame |y m, k − y m, k − 1 |. The second parameter, Tt max , indicates the maximum change between two consecutive frames when the joint was not detected in the first frame. Increasing the threshold Tt max is beneficial to detect the joint, e.g., after passing a tack weld. The threshold parameters, Tp min , Tc max , and Tt max , are used to evaluate if the measurements, y m, k , should be trusted or not, by setting the noise variance of the measurement, R k , to a value based on the outcome of the thresholding process. The output from the thresholding is the joint offset measurement y m,k and a parameter that is used in the following Kalman filter as a measurement noise variance R k . When the joint can be detected by the vision algorithm, i.e., y m, k exists, the measurement noise variance R 0m is estimated from n measurements obtained from a sequence following the nominal joint position during welding: where the estimated mean value is y m ¼ 1 n ∑ n i¼1 y m;i .
The thresholding can be summarized at time instant k as: y m;k−1 was found in image k−1 ðCaseÞ  Fig. 11 The programmed welding path interpreted as pixels at current position & Case y m, k − 1 not exist but y m,last is the last detected point Now the algorithm has a parameter, the measurement noise variance R k , to be used in the Kalman filter indicating if the measurement should be trusted or not.

Kalman filtering
The machine vision algorithm finds the joint position y m , k , when possible, but when it is not found a model based estimate will be used to enhance the performance of finding the joint. This is addressed by using a stochastic state estimator implemented as a Kalman filter [17], which combines information from a motion model (based on the TCP movement) and measured data to get a filtered estimate ξ k of the position y m,k . By defining the model state variance Q and the measurement variance R k , in Eq. (3), the filter can handle situations when the measurements cannot be trusted, i.e. when R k is very large. This one-dimensional problem is represented by a constant position motion model [20] which assumes that there is no significant motion between two consecutive image frames. However, a noise component is added to allow for unpredicted motion between two consecutive images k and k + 1.
The scalar state vector ξ k represents the true joint position to be tracked at time instant (image frame index) k. The discrete-time motion model is defined as: where w k and v k are the state and measurement noise, respectively, and T is the sampling time (reciprocal of the frame rate of the camera). The state and measurement noises are assumed to be independent random variables, both with zero mean and normal distribution~N(0,σ w ) and~N(0,σ v ) respectively. The filtering equations for the Kalman filter are defined for each time instant k by a measurement update equation and a time update (prediction) equation based on former time instant k-1. The measurement update equation is: whereξ k is the mean value and P k the covariance of the new normally distributed random variable based on the measured position y m, k . R k is the measurement noise variance at time instant k. The state update (prediction) equation is (based on the assumption on small changes between consecutive images): with Q being the state noise variance. A state noise variance, Q, is needed to capture possible inaccuracies in the robot movement and welding process induced distortion. This is considered as a tuning parameter of the filter, since it is difficult to derive.
The vision system output is the offset from the actual joint position at time instant k, which is calculated as the difference between the laser beam spot center, i.e. the TCP, and the estimated joint positionξ k obtained from the Kalman filter.

Results
The performance of the system has been evaluated off-line post process by analyzing data from eight experiments (two of test case A, three of test case B, and three of test case C).
Reference data for the actual joint was obtained for each test case by manually defining the joint position in every hundredth image and linearly interpolated to give a reference to all estimated data points. Table 1 shows the algorithm parameter values used during the welding experiments. The parameters Tc max and Tt max are based on the maximum expected movement between two consecutive image frames. Tp min , C l , and C h have been experimentally derived from data. R is estimated from n measurements obtained from a sequence following the nominal joint position during welding, and Q is tuned from experimental data based on assumptions of inaccuracies in the robot movement and the welding process induced distortion. The ranges for the parameters a and b have been derived from the minimum radius of the welding path.
The tuning parameter values are depending on, e.g., different surface properties and spectral emissions during the process. Figure 12 shows the estimated offset from test case A. The dotted line is the manually measured reference joint offset, and the solid line is the estimated offset. Figure 13 shows the difference between these values, as an offset error. Since the laser beam spot diameter used during the welding experiments is 1.12 mm, this error should not exceed 0.56 mm (half the spot diameter). This limit is indicated by the horizontal dotted lines in Fig. 13, which indicates that the error is well within the limit for the complete weld. Figure 14 shows a histogram of the total number of position errors (40,000 data points) from all eight carried out welding experiments. The position errors are approximately Gaussian distributed with a mean around + 0.1 mm and a standard deviation well within the limit of 0.56 mm. Table 2 shows a summary of all eight welding experiments, each consisting of 5,000 images where the maximum and mean errors are given.

Discussion
After discussing the performance, a capability study is also presented and discussed.

Performance
As shown in Table 2, the mean, and also the majority of the maximum errors for all welds are within the maximum allowed error of 0.56 mm. It was found that the system is able to estimate the joint position with an absolute max error significantly less than 0.56 mm in all test cases except for experiment 3 (marked with a red rectangle in the Table 2). The reason for this relatively large error is that the tack weld was hiding the joint at this position. See Fig. 15 where the reference joint position and the estimated joint position are shown, and the deviation is large where the motion of the laser beam spot went out from the joint, as indicated by a red rectangle. Figure 16 shows a typical image where the TCP encountered a tack weld. The problem is particularly clear here since the movement of the TCP away from the actual joint position is started before the tack weld and continues during and after the tack weld is passed. In this situation, the system cannot detect the joint position, which is estimated based only on the model in the Kalman filter. The model assumes that there is no motion deviation from the joint; therefore, a large position error will remain until the tack weld is passed. However, this problem is considered to be of limited importance when a closedloop control is implemented for controlling that the TCP is correctly adjusted to the joint position before entering the area of the tack weld. The only critical situation is then if the offset starts exactly at the tack weld, and this is considered relatively unlikely. Also, as suggested in [21], a second sensor system based on spectrometer data that is not sensitive to tack welds could be used in addition to the camera to robustify the tracking. The system can successfully estimate the joint position with an error less than 0.56 mm except for this specific situation. From the results, it is verified that it can handle scratches and tack welds in a robust way during the conditions of the evaluation and it is able to find the joint position even for complex geometries when welding with curves with a small radius.
The evaluation reveals a small systematic error in the estimates of the joint position. This could be explained by the mounting of the external LED illumination on the welding tool where an imperfect alignment could cause an uneven shadowing effect in the joint. Another explanation could be a possible small systematic misalignment between the work piece members also resulting in an uneven shadowing. This issue is not considered as critical at this point since the performance of the joint offset estimate is sufficient. However, it should be further investigated in the future work.

Capability
A process capability index [22] is used for evaluation of the system. The process capability is defined as:  where USL and LSL are the upper and lower limits for the error (i.e., deviation between reference and estimate), which in this case are 0.56 mm and − 0.56 mm, respectively. σ is the estimated standard deviation calculated as: where ε i is the error in image i, N is the total number of images from the calculations, and μ is the estimated mean of the errors, ε i , calculated as: The larger value of C p , the better the performance of the system. To evaluate the importance of the model-based approach using a Kalman filter, the capability index is calculated both with and without the Kalman filter. The results for the three different test cases are presented in Table 3. Table 3 shows the potential in using the Kalman filter estimate. Without the Kalman filter all measurements are considered valid, which means that tack welds and scratches are misleading.

Conclusions
A camera-based joint offset estimation system has been developed and evaluated by experiments with respect to its performance during LBW of technically zero gap square-butt joints. The system is capable of distinguishing the joint from surface scratches and it continues the joint offset estimation successfully even when tack welds or other process disturbances cover the joint. By using a high dynamic range camera integrated in the LBW tool, external LED illumination, and matching optical filters, it was possible to obtain sufficient image information from the area in front of the melt pool where the joint is visible to the camera. A novel image-processing algorithm utilizing the Hough transform, a model-based joint curve prediction and a Kalman filter is proven robust enough for joint position estimation during industrial LBW. The selection of the Hough transform used for curve detection is motivated by the real-time and robustness requirements of the welding application investigated. The Kalman filter was selected to enable model-based estimation and to prepare for future sensor fusion implementations. A capability analysis has been conducted that shows the great potential in using the Kalman filter to estimate the joint offset. This joint finding system shows to be promising for implementation in a joint tracking system, where the TCP is manipulated to the right position based on this algorithm.  Fig. 16 Image captured when the melt pool approaches the area of a tack weld