A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg...

61
A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger

Transcript of A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg...

Page 1: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

A flexible seam detection technique

for robotic laser welding

(Shortened English version) Jorg Entzinger

Page 2: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

2

Page 3: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

3

Seam to Weld

Laser bundel

Page 4: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

4

Laser

Focus Lens

Page 5: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

5

Laser diode

Dichroic mirror

Video camera

Camera lens

Page 6: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

6

Laser

Focus Lens

Page 7: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

7

Presentation Structure

• Introduction

• Lens & camera calibration

• Image undistortion

• Seam Detection

Page 8: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

8

Functions of the Multifunctional Welding head

• Detect seams

• Track & learn seams

• Laser weld seams

• Process control

• Quality control

IntroductionWhy Camera Calibration?

How it is done Results PlanningIntroductionCamera &

lens calibration

Image undistortion

Seam detection & world coord.

Results Conclusies

Page 9: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

9

Specialities of this welding head

• Multifunctionality All needed technology is integrated in one machine

• CompactnessFlexible in use for complex geometries

• LightweightFor higher accuracies with the use of robots

IntroductionCamera &

lens calibration

Image undistortion

Seam detection & world coord.

Results Conclusies

Page 10: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

10

Assignment

1. Develop a system that can compensate for lens distortions

2. Develop a system to determine the exact position of the workpiece with respect to the welding head from camera images

IntroductionCamera &

lens calibration

Image undistortion

Seam detection & world coord.

Results Conclusies

Page 11: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

11

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

IntroductionCamera &

lens calibration

Image undistortion

Seam detection & world coord.

Results Conclusies

Page 12: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

12

C++

Read parametersfrom 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

IntroductionCamera &

lens calibration

Image undistortion

Seam detection & world coord.

Results Conclusies

Page 13: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

13

Program Structure

IntroductionCamera &

lens calibration

Image undistortion

Seam detection & world coord.

Results Conclusies

C++

Read parametersfrom 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

Page 14: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

14

The calibration-pattern

MATLAB

Make calibration pattern

Take pictures

Identify keypoints

Sort keypoints

Estimate parameters

Write params to file

IntroductionCamera &

lens calibration

Image undistortion

Seam detection & world coord.

Results Conclusies

Page 15: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

15

Pictures of theCalibration-pattern

IntroductionCamera &

lens calibration

Image undistortion

Seam detection & world coord.

Results Conclusies

MATLAB

Make calibration pattern

Take pictures

Identify keypoints

Sort keypoints

Estimate parameters

Write params to file

Page 16: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

16

Identified Keypoints

IntroductionCamera &

lens calibration

Image undistortion

Seam detection & world coord.

Results Conclusies

MATLAB

Make calibration pattern

Take pictures

Identify keypoints

Sort keypoints

Estimate parameters

Write params to file

Page 17: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

17

Sorted Keypoints

IntroductionCamera &

lens calibration

Image undistortion

Seam detection & world coord.

Results Conclusies

MATLAB

Make calibration pattern

Take pictures

Identify keypoints

Sort keypoints

Estimate parameters

Write params to file

Page 18: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

18

Parameter estimation (1)

IntroductionCamera &

lens calibration

Image undistortion

Seam detection & world coord.

Results Conclusies

Perspective Camera

Page 19: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

19

Parameter estimation (2)

IntroductionCamera &

lens calibration

Image undistortion

Seam detection & world coord.

Results Conclusies

Barrel Pincushion

or

Page 20: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

20

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

IntroductionCamera &

lens calibration

Image undistortion

Seam detection & world coord.

Results Conclusies

Page 21: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

21

Program Structure

IntroductionCamera &

lens calibration

Image undistortion

Seam detection & world coord.

Results Conclusies

C++

Read parametersfrom 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

Page 22: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

22

Program Structure

IntroductionCamera &

lens calibration

Image undistortion

Seam detection & world coord.

Results Conclusies

C++

Read parametersfrom 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

Page 23: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

23

IntroductionCamera &

lens calibration

Image undistortion

Seam detection & world coord.

Results Conclusies

Undistortion

Page 24: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

24

An Original (Distorted) Picture

IntroductionCamera &

lens calibration

Image undistortion

Seam detection & world coord.

Results Conclusies

Page 25: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

25

Test Result

IntroductionCamera &

lens calibration

Image undistortion

Seam detection & world coord.

Results Conclusies

Page 26: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

26

Test Result

IntroductionCamera &

lens calibration

Image undistortion

Seam detection & world coord.

Results Conclusies

Original Undistorted

Page 27: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

27

Simulated Distortion Test

Original Undistorted

IntroductionCamera &

lens calibration

Image undistortion

Seam detection & world coord.

Results Conclusies

Page 28: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

28

Result

Original Undistorted

IntroductionCamera &

lens calibration

Image undistortion

Seam detection & world coord.

Results Conclusies

Page 29: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

29

Amout of Distortion

IntroductionCamera &

lens calibration

Image undistortion

Seam detection & world coord.

Results Conclusies

Pix

el m

ovem

ent

in %

Position on image diagonal

Page 30: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

30

Programma Structuur

IntroductionCamera &

lens calibration

Image undistortion

Seam detection & world coord.

Results Conclusies

C++

Read parametersfrom 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

Page 31: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

31

Program Structure

IntroductionLens

DistortionsCalibration Procedure

Program PlanningIntroductionCamera &

lens calibration

Image undistortion

Seam detection & world coord.

Results Conclusies

C++

Read parametersfrom file

Generate look-op table of pixel displacements

Aquire camera image

Undistort image

Determine seam location

Move Robot

MATLAB

Make calibration pattern

Take pictures

Identify keypoints

Sort keypoints

Parameter estimation

Write Params to File

Page 32: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

32

Changes in camera image due to a change of relative position

IntroductionCamera &

lens calibration

Image undistortion

Seam detection & world coord.

Results Conclusies

Page 33: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

33

Changes in camera image due to a change of relative position

IntroductionCamera &

lens calibration

Image undistortion

Seam detection & world coord.

Results Conclusies

Page 34: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

34

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?

IntroductionCamera &

lens calibration

Image undistortion

Seam detection & world coord.

Results Conclusies

Page 35: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

35

Test objects

IntroductionCamera &

lens calibration

Image undistortion

Seam detection & world coord.

Results Conclusies

Page 36: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

36

Following a seam

IntroductionCamera &

lens calibration

Image undistortion

Seam detection & world coord.

Results Conclusies

Page 37: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

Thank you

for your attention

Jorg Entzinger

Page 38: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

38

Page 39: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

39

Rotatie Matrix

Page 40: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

40

Rodrigues Parameters

Page 41: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

41

Rotatie Matrix Rodrigues Parameters

Page 42: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

42

Schatten van de Parameters (1)

IntroductionCamera &

lens calibration

Image undistortion

Seam detection & world coord.

Results Conclusies

met

Page 43: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

43

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

IntroductionCamera &

lens calibration

Image undistortion

Seam detection & world coord.

Results Conclusies

Page 44: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

44

Camera & Lens distortions

• Perspective distortion

• Skew distortion

• Radial distortions (barrel & pincushion)

• Noise

Normal Perspective Skew Barrel Pincushion

Page 45: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

45

Why Camera Calibration?

Page 46: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

46

Detectie van Lijnen

Page 47: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

47

Scheiden van Lijnen in het Kruis

Page 48: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

48

Detectie van de Lasnaad

Page 49: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

49

Parameters schatten

Er worden subsets gemaakt vanDatapunten uit 4 plaatjes, bijvoorbeeld:

Subset 1 Subset 2 Subset 3 ...

Dataset 1 Dataset 2 Dataset 3Dataset 2 Dataset 4 Dataset 5Dataset 3 Dataset 6 Dataset 7Dataset 4 Dataset 8 Dataset 8

Voor elke subset wordt een calibrationuitgevoerd

MATLAB

calibration patroonmaken

Foto’s nemen

Keypoints identificeren

Keypoints sorteren

Parameters schatten

Parameters naarbestand schrijven

Page 50: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

50

Parameter Schattingen Op Basis Van Meerdere Subsets

RMS alfa f

Page 51: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

51

Schatten van de Parameters (2)

Homografie (per plaatje): 8 DOFs

Plaatje afhankelijk: 6 DOFs(3 rotatie en 3 translatie)

-

Over voor schatting camera

parameters: 2 DOFs

Er zijn 5 camera afhankelijke parameters,

dus er is minstens 2½ plaatje nodig

Page 52: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

52

Verstorings-gebied fotocamera

Page 53: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

53

Experiment

IntroductionCamera &

lens calibration

Image undistortion

Seam detection & world coord.

Results Conclusies

Page 54: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

54

Experiment

IntroductionCamera &

lens calibration

Image undistortion

Seam detection & world coord.

Results Conclusies

Page 55: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

55

Meetfouten

IntroductionCamera &

lens calibration

Image undistortion

Seam detection & world coord.

Results Conclusies

X-positie [mm]

X-positie [mm]

X-positie [mm]

Y-f

ou

t [m

m]

Z-f

ou

t [m

m]

To

taal

-fo

ut

[mm

]

Page 56: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

56

Page 57: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

57

Page 58: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

58

Page 59: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

A flexible seam detection technique

for robotic laser welding

Jorg Entzinger

Page 60: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

60

Dagplanning

13:00 – 13:45 Presentatie

13:45 – 14:00 Vragen uit de zaal

Jorg & Examencommissie

14:00 – 14:30 Demonstratie in het lab

14:30 – 15:30 Ondervraging

Rest

14:00 – 15:30 Rondleiding door Niels en/of

Koffie/Thee in WB (Horst) kantine

Iedereen

15:30 – 16:00 Diploma-uitreiking & felicitatie (WB-Z109)

16:15 – 18:00 Borrel & Demonstraties in het Lab

(WB-Hal IV = Westhorst)

Page 61: A flexible seam detection technique for robotic laser welding (Shortened English version) Jorg Entzinger.

61