610 likes | 762 Views
A flexible seam detection t echnique. for robotic laser welding. (Shortened English version) Jorg Entzinger. Laser bundel. Seam to Weld. Laser Focus Lens. Camera lens. Video camera. Dichroic mirror. Laser diode. Laser Focus Lens. Presentation Structure. Introduction
E N D
A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger
Laser bundel Seam to Weld
Laser Focus Lens
Camera lens Video camera Dichroic mirror Laser diode
Laser Focus Lens
Presentation Structure • Introduction • Lens & camera calibration • Image undistortion • Seam Detection
Detect seams Track & learn seams Laser weld seams Process control Quality control Functions of the Multifunctional Welding head
Specialities of this welding head • Multifunctionality All needed technology is integrated in one machine • Compactness Flexible in use for complex geometries • Lightweight For higher accuracies with the use of robots
Assignment • Develop a system that can compensate for lens distortions • Develop a system to determine the exact position of the workpiece with respect to the welding head from camera images
Distortion Types • Perspective distortions • Camera distortions (skew, non-squareness of pixels) • Lens distortions (radial: barrel/pincushion) • Noise (dust, bad focussing, CCD measurement noise) Normal Perspective Skew Barrel Pincushion
C++ Read parameters from file Generate look-op table of pixel displacements Aquire camera image Undistort image MATLAB Make calibration pattern Take pictures Identify keypoints Sort keypoints Parameter estimation Write Params to File Program Structure
Program Structure MATLAB Make calibration pattern Take pictures Identify keypoints Sort keypoints Parameter estimation Write Params to File C++ Read parameters from file Generate look-op table of pixel displacements Aquire camera image Undistort image
The calibration-pattern MATLAB Make calibration pattern Take pictures Identify keypoints Sort keypoints Estimate parameters Write params to file
Pictures of theCalibration-pattern MATLAB Make calibration pattern Take pictures Identify keypoints Sort keypoints Estimate parameters Write params to file
Identified Keypoints MATLAB Make calibration pattern Take pictures Identify keypoints Sort keypoints Estimate parameters Write params to file
Sorted Keypoints MATLAB Make calibration pattern Take pictures Identify keypoints Sort keypoints Estimate parameters Write params to file
Perspective Camera Parameter estimation (1)
Parameter estimation (2) Barrel Pincushion or
Estimation refinement Homography was calculated without considering radial distortions Distortions are calculated from an inaccurate homography The estimations must be refined, all parameters are optimized at the same time
Program Structure MATLAB Make calibration pattern Take pictures Identify keypoints Sort keypoints Parameter estimation Write Params to File C++ Read parameters from file Generate look-op table of pixel displacements Aquire camera image Undistort image
Program Structure MATLAB Make calibration pattern Take pictures Identify keypoints Sort keypoints Parameter estimation Write Params to File C++ Read parameters from file Generate look-op table of pixel displacements Aquire camera image Undistort image
Test Result Original Undistorted
Simulated Distortion Test Original Undistorted
Result Original Undistorted
Amout of Distortion Pixel movement in % Position on image diagonal
Programma Structuur MATLAB Make calibration pattern Take pictures Identify keypoints Sort keypoints Parameter estimation Write Params to File C++ Read parameters from file Generate look-op table of pixel displacements Aquire camera image Undistort image
Program Structure MATLAB Make calibration pattern Take pictures Identify keypoints Sort keypoints Parameter estimation Write Params to File C++ Read parameters from file Generate look-op table of pixel displacements Aquire camera image Undistort image Determine seam location Move Robot
Changes in camera image due to a change of relative position
Changes in camera image due to a change of relative position
World Coördinates • How many millimeters in reality is 10 pixels in the image? • If the image moves to the right, in what direction did the robot move? • Where is the camera with respect to the welding spot?
Thank you for your attention Jorg Entzinger
Aanbevelingen • Pixel-millimeter schaling hoogte afhankelijk maken • Bepaling naad-positie minder afhankelijk maken van handmatige instellingen • Zorgen voor goede afhandeling als de naad dicht bij de kruising van de lijnen komt • Goede gebruikers-interface voor camera & lens calibration maken
Camera & Lens distortions • Perspective distortion • Skew distortion • Radial distortions (barrel & pincushion) • Noise Normal Perspective Skew Barrel Pincushion
Parameters schatten Er worden subsets gemaakt van Datapunten uit 4 plaatjes, bijvoorbeeld: Subset 1 Subset 2 Subset 3 ... Dataset 1 Dataset 2 Dataset 3 Dataset 2 Dataset 4 Dataset 5 Dataset 3 Dataset 6 Dataset 7 Dataset 4 Dataset 8 Dataset 8 Voor elke subset wordt een calibration uitgevoerd MATLAB calibration patroon maken Foto’s nemen Keypoints identificeren Keypoints sorteren Parameters schatten Parameters naar bestand schrijven
Parameter Schattingen Op Basis Van Meerdere Subsets RMS alfa f