You are on page 1of 82

René Kunkel, 2014-07-24

Laser Sensor Training


Buseck, 2014-07-24

© ABB Group
May 18, 2015 | Slide 1
Laser Sensor Training
Content

Time Schedule
Sensor Guided Welding
RobotWare Options
Why using a Laser Tracker?
System Overview
Installation
Configuration
Calibration
Tracking
Programming

© ABB Group
May 18, 2015 | Slide 2
Laser Sensor Training
Technical Data – Optical Tracking

TH6D is supported from IRC5 RW 5.15.xx


Serial interface RS-232: ABB protocol LTAPP
Ethernet Interface LTAPPTCP
Controller to Sensor Sampling Rate: up to 20 Hz
Positioners supported
MultiMove supported
Easy Calibration: LTC on the FlexPendant

© ABB Group
May 18, 2015 | Slide 3
Laser Sensor Training
Technical Data - Optical Tracking

Robot Accuracy in y and z (path coordinates):


± 0.2 mm (straight seam)
± 0.3 mm (radius, 3D-seam)
Weld speed
Look ahead Straight seam Radius 60 mm 3D-seam with
positioner
20 mm 90 mm/s 50 mm/s 40 mm/s

30 mm 120 mm/s 50 mm/s 40 mm/s

40 mm 120 mm/s 50 mm/s 40 mm/s

Limitations:
Difficulties with radius < 30 mm
Correction should be limited to 5 mm – safety recommendation
© ABB Group
May 18, 2015 | Slide 4
Laser Sensor Training
RobotWare Options

660-1 Optical Tracking Arc


Integration of Tracking functionality into RW Arc

813-1 Optical Tracking


Integration of Tracking functionality into CAP
628-1 Sensor Interface
Communication interface, LTC* and RAPID instructions
Included in options 660-1 and 813-1

613-1 Collision Detection


Recommended – to protect the sensor

LTC* – Laser tracker calibration

© ABB Group
May 18, 2015 | Slide 5
Laser Sensor Training
Installation Prerequisites

Robot Controller IRC5


Older versions are not supported like S4 , S4C , S4C+
RW 5.15.xx
Always use the latest RobotWare revision if possible
RS-232 controller interface or Ethernet Interface
Option 633-1 Arc
Option 660-1 Optical Tracking Arc
Recommended - Option 613-1 Collision Detection
Scansonic sensor TH6D with ABB interface

© ABB Group
May 18, 2015 | Slide 6
Laser Sensor Training Programmed Path
Tracking functionality Measured Seam
Corrected Path
(with Weaving)
Program the robot path as usual
Use RW Arc as usual
Communication with the power source
as usual
Configure tracking using different trackdata
Switch on/off tracking using the optional argument \Track
Tracking works together with weaving – these features are
independent of each other

© ABB Group
May 18, 2015 | Slide 7
Why using a Laser Tracker

© ABB Group
May 18, 2015 | Slide 8
Welding without sensor
Quality problems due to part tolerances

Gap error Position


displacement

Nominal seam Real seam position


and and
Programmed gun position Programmed gun position

Nominal weld Bad weld


© ABB Group
May 18, 2015 | Slide 9
Increased Quality with Sensor Correction

Sensor-
measurement

ScanSonic
image analysis
Corrected
gun position

ABB Optical
Tracking

Robot correction

Seam OK

© ABB Group
May 18, 2015 | Slide 10
ABB robot with ScanSonic Sensor

Better Less
seam quality Rework

ABB Robot
with
IRC5 controller Sensor

Reduced
programming Lower Cost
effort

© ABB Group
May 18, 2015 | Slide 11
Laser Sensor Training
Installation

Sensor controller

RS-232
COM1 COM

Sensor head:
Position according to Sensor specification

© ABB Group
May 18, 2015 | Slide 12
Laser Sensor Training
Tools for Sensor Integration

Software Robot Studio e.g. Version 5.15.xx or 5.61


It´s freeware – download it from ABB´s Webside
http://new.abb.com/products/robotics/robotstudio/downloads
Installation on PC, connect PC via Ethernet to Robot
Controller
All settings can be safed (backup file) and used for further
sensor installations

© ABB Group
May 18, 2015 | Slide 13
RobotStudio
Connect to robot controller

Error event:
PC Network settings
are not configured to
use DHCP

Use the service port at robot controller


© ABB Group
May 18, 2015 | Slide 14
RobotStudio
Request Write Access

Click „Request Write Access“


Confirm on FlexPendant
Info ! Button „ Request Write Access“ only appears at max. window

© ABB Group
May 18, 2015 | Slide 15
Serial Port Configuration
Communication settings for transmission protocol

© ABB Group
May 18, 2015 | Slide 16
Serial Port Configuration
Communication settings for transmission protocol

1. Right click on Transmission Protocol to „create a new


entry or edit an existing protocol
2. Create a new Device (name). This name will be used
later on. Name must end with a „colon“
3. Select the „RTP 1“ transmission protocol (Type)
4. Select the physical channel the sensor is connected to.

© ABB Group
May 18, 2015 | Slide 17
Serial Port Configuration
Communication Settings for Physical Channel

© ABB Group
May 18, 2015 | Slide 18
Serial Port Configuration
Communication Settings for Physical Channel

• Select a suitable COM-Port (e.g COM1 ) and right click.


• Select „Edit physical Channel“
• Change Baudrate according to TH6D Baudrate (mostly
38400), check THxDView

© ABB Group
May 18, 2015 | Slide 19
Ethernet Configuration
Communication Settings for Transmission Protocol

© ABB Group
May 18, 2015 | Slide 20
Ethernet Configuration
Communication Settings for Transmission Protocol

1. Right click on Transmission Protocol to „create a new entry or


edit an existing protocol
2. Create a new Device (name). This name will be used later on
3. Select the „LTAPPTCP“ transmission protocol (Type)
4. Select the physical channel the sensor is connected to.
5. Enter the IP Adress of the Sensor

© ABB Group
May 18, 2015 | Slide 21
Configuration of communication is finished

Starting with calibration requirements

© ABB Group
May 18, 2015 | Slide 22
Calibration
Sensor Type Settings in Process Configuration

• Select an existing sensor and right


click on it to „create Sensor“

• Adjust sensor properties to the


settings on following page

© ABB Group
May 18, 2015 | Slide 23
Calibration – Serial Interface
Sensor Type Settings for TH6D-CF / TH6D-KF

© ABB Group
May 18, 2015 | Slide 24
Calibration – Ethernet Interface
Sensor Type Settings for TH6D-CF / TH6D-KF

© ABB Group
May 18, 2015 | Slide 25
Calibration
Sensor Type Settings
Process Configuration parameter Sensor Characteristic Parameter Value
name

name The name of the sensor type For TH6D Sensor (Serial)
Dimensions The number of dimensions the sensor has. 2 = 2,5-dimensional ([x], y, z, Rx) or 3
3 = 6-dimensional (x, y, z, Rx, Ry, Rz)

Angle camera to laser Angle between Laser beam and the sensor coordinate system z-axis.(If the Read out at THxDView, Menu Help –
sensor compensates for the angle between the laser beam and the sensor About
coordinate system, this value must be 0.) Default value 17.77

Frequency The sampling frequency of the sensor in Hz, i.e., the number 20
of measurements the sensor performs every second

Close width of Field The width of the field-of-view at shortest distance Default value: 10.7

Far width of Field The width of the field-of-view at longest distance Default value: 14.9

Close standOff The stand-off distance from the z-reference of the sensor’s closest measurable Default value: -128
distance. (Might be a negative value)

Far StandOff The stand-off distance from the z-reference of the sensor’s furthest measurable Default value: -161
distance. (Might be a negative value)

Optimal TCP StandOff The distance from the z-reference of the sensor to the optimal measuring point of Default value: -150
the sensor. (Might be a negative value)

Frame Alignment The alignment of the sensor measurement frame: Default value: Camera aligned
• laser: aligned with the laser beam
• camera: aligned with the camera housing

Frame z Orientation The orientation of the z component of the sensor measurement Default value: +1
frame:
© ABB Group • +1 up, that is, "into" the camera
May 18, 2015 | Slide 26 • • -1: down, that is, "out of" the camera
Calibration
Sensor Type settings – Graphical Support

CloseStandOff, OptTCPStandOff and FarStandOff values are to be defined in the


Sensor coordinate frame, i.e. the frame in which the sensor is measuring.
Therefore these values can have even negative values or the far stand-off value can be less
than the close stand-off value.
© ABB Group
May 18, 2015 | Slide 27
Calibration
Principle

Define a sensor tool.


That means: Establish a relationship between the sensor measurement coordinate
system and tool0 of the robot

© ABB Group
May 18, 2015 | Slide 28
Calibration
Preparation

Mount the calibration plate within reach of the robot


Define left edge (Job1), right edge (Job2) and butt joint (Job3) in the
Scansonic sensor controller (EPC)
Butt joint is not used during calibration, but has to be defined
The tracking point has to be on the upper edge of the joint
The gap, i.e. the distance between upper and lower edge of the
calibration plate is 2 mm

© ABB Group
May 18, 2015 | Slide 29
Calibration
Laser Tracker Calibration - Start

© ABB Group
May 18, 2015 | Slide 30
Calibration
LTC - Create a new Sensor

© ABB Group
May 18, 2015 | Slide 31
Calibration
LTC - Define a Sensor
• Ente the „Device Name“ which is defined in transmission protocol

© ABB Group
May 18, 2015 | Slide 32
Calibration
LTC - What is created programmatically ?

• created
programmatically
by the adjustments
of the flex Pendant

© ABB Group
May 18, 2015 | Slide 33
Calibration
LTC - Calibration Identity

© ABB Group
May 18, 2015 | Slide 34
Calibration
LTC – Calibration Plate Setup

• presettings of
calibration plate,
choose ABB,
Scansonic, or other

• jog to x1
• press ModPos,
• go on with x2 and
y1

© ABB Group
May 18, 2015 | Slide 35
Calibration
LTC – Coupling to RW Arc

• message:
calibration plate is
now configured

© ABB Group
May 18, 2015 | Slide 36
Configuration
RobotWare Arc – Optical Sensor Properties

Right Click and „add optical sensor properties“

© ABB Group
May 18, 2015 | Slide 37
Configuration
RobotWare Arc – Optical Sensor Properties

The following parameters must be set:


Device:
name from Configuration->Communication->Transport Protocol
Track System
Optical (1) or Thru the Arc (0)
Sensor Frequency
CB Angle
Calib Variable Name
from LTC sys-module
Calib Variable Offset Name
from LTC sys-module

© ABB Group
May 18, 2015 | Slide 38
Configuration
Editing Optical Sensor Properties – Part 1

• Track System „1“ for Lasertracking

•„Device name“, which is defined have as


Transmission protocol

• LogFile: Enter a name for a logfile if you want


to create a logfile for tracking

• Sensor Frequency (20 Hz)

© ABB Group
May 18, 2015 | Slide 39
Configuration
Editing Optical Sensor Properties – Part 2

• CB Angle as definied for


AngleToCamera in SensorType
Settings (17.77)

• Calib Variable Name (pose) and


(pos)

•Copy name for pos and pose


from calibration file, see following
page

© ABB Group
May 18, 2015 | Slide 40
Configuration
RobotWare Arc Copying name for „pose“ and „pos“

© ABB Group
May 18, 2015 | Slide 41
Configuration
Connect RobotWare Arc with Sensor Properties

•Connection by
editing colum
„use optical
sensor
properties“ to
the name (first
colum) of
optical sensor
properties
• make a
hotstart after
editing

© ABB Group
May 18, 2015 | Slide 42
Configuration: RW Arc parameter
Parameter Data type Note
Name string The name of the Arc Sensor Class.
Sensor Manufacturer string The name of the Sensor Manufacturer.
Track System num Defines the Track System type. 1 for Laser Track
Device string The device name used for the tracker. Device must match the transmission protocol name configured in SIO.cfg. Default: “Laser1:” for lasertracker.
Pattern Sync Threshold num The coordination position at the extents of the weaving pattern. It is specified as a percentage of the width on either side of the weaving center.
When weaving is carried out beyond this point, a digital output signal is automatically set to one. This type of coordination is intended for seam
tracking using Through-the-Arc Tracker, but may be used for Laser Trackers too.
Max Blind num The max_blind component defines the maximum distance the robot is allowed to continue moving under the assumption that the last reported
position error is still valid. The parameter should be tuned to match the maximum expected tack lengths used, or the length of other features e.g.
clamps that may prevent the sensor from accurately detect the actual position and geometry of the seam. If the max_blind distance has been
exceeded with no new position data from the sensor an error will be reported and program execution is stopped.
Max Corr num Not used. The max_corr component in trackdata is used instead.
Adapt Start Delay num Not used.
Max Incremental Correction num Max incremental correction for the arc tracking system. Default value: 0.5 mm.
Log File string The name of the log file created during tracking.
Sensor Frequency num Defines the sample frequency of the sensor used. (e.g. MSpot-90 has 5Hz sampling frequency)
Ipol Servo Delay num Defines the Robot Controller internal time delay between ipol task and servo task Use default value: 74 ms
Ipol Correction Gain num Defines the gain factor for the correction imposed on ipol. Use default value: 0
Servo Sensor Factor num Defines the number of servo corrections per sensor readings. Use default value: 0
Correction Filter num Defines filtering of the correction calculated, using mean value over corr filter values. Use default value: 1
Ipol Correction Filter num Defines filtering of the ipol correction, using mean value over path filter values. Use default value: 1
Servo Correction Filter num Defines filtering of the servo correction, using mean value over path servo filter values. Use default value: 1
Error Ramp In num Defines during how many sensor readings ramp in is done after an error caused by sensor reading.
Error Ramp Out num Defines during how many sensor readings ramp out is done after an error caused by sensor reading.
CB Angle num Defines the angle between a 3D sensor beam and the sensor z-axis. If the sensor compensates for the angle between the laser beam and the sensor
coordinate system, this value must be 0. For SCOUT you have to specify 25.
Calib Variable Name string The name of the calibration variable name found in the LTC sys-module for the sensor. RAPID data type: pose
Calib Variable Offset Name string The name of the calibration variable offset name found in the LTC sys-module for the sensor. RAPID data type: pos
Max Correction Warning bool If this parameter is enabled, program execution is not interrupted, when the limit for maximum correction, specified in the trackdata, is exceeded.
Only a warning will be sent. Default value: FALSE
WgLeftSynch string Digital Output Signal for Left synchronization pulse.
WgRightSynch string Digital Output Signal for Right synchronization pulse.
Wg track string Not used.

The parameters written in red have to be defined.


The parameters with white background should not be changed.
© ABB Group
May 18, 2015 | Slide 43
Configuration
RobotWare Arc - Parameter Max. Blind

Track Error

Programmed
path

Measured
path Max. blind

If max blind distance is reached, welding is stopped with error message 110160“Track Error”
If max blind distance is reached at the beginning of a seam, welding is stopped with error
message 110161 “Track Start Error”
During “blind tracking”, the latest valid correction is applied

© ABB Group
May 18, 2015 | Slide 44
Configuration
RobotWare Arc – Parameter Max. incremental Correction

Limits the change of the applied correction between two


corrections

Track error

Programmed
path
trackdata.max_corr
Measured
path

Increment > max incremental


correction

© ABB Group
May 18, 2015 | Slide 45
Calibration
LTC - Calibration Setup on FlexPendant

© ABB Group
May 18, 2015 | Slide 46
Calibration
LTC - Calibration Setup

© ABB Group
May 18, 2015 | Slide 47
Calibration
LTC - Calibration Setup

© ABB Group
May 18, 2015 | Slide 48
Calibration
LTC - Calibration Setup

© ABB Group
May 18, 2015 | Slide 49
Calibration
LTC - Calibration Setup

© ABB Group
May 18, 2015 | Slide 50
Calibration
LTC - Calibration Setup
Calibration
LTC - Calibration Setup
Calibration
LTC - Calibration Setup
Calibration
LTC - Calibration
Calibration
LTC - Calibration
Calibration
LTC - Calibration
Calibration
LTC - Calibration
Information on following slides are
additional knowledge

© ABB Group
May 18, 2015 | Slide 58
Option 628-1 Sensor Interface
Application layer LTAPP

Communication:
Link layer RTP1

Physical layer RS-232C


-

Laser Sensor

RAPID:
ReadVar: Read variable value from the Sensor
WriteVar: Write variable value to the Sensor
IVarValue: Order a variable value change interrupt

© ABB Group
May 18, 2015 | Slide 59
Sensor Interface
Variable Definition

You can find this file (LTAPP__variables.sys) in the system´s directory “HOME/LTC”.

© ABB Group
May 18, 2015 | Slide 60
Trackdata
Take command on tracking

track_system (num) - set to 1


This parameter defines which tracking system that is used, Optical or WeldGuide. It is also used for data
masking of the trackdata. The track_device is configured in the equipment configuration parameters.

store_path (bool) - FALSE


Parameter used when the path should be stored.(MultiLayer)

max_corr (num) – depending on space around the seam


The max_corr component defines the maximum path correction allowed.
If the TCP offset is more than max_corr by path corrections a track error is reported and program execution is
stopped.
Note: Some of the components of track data depend on the configuration of the robot. Trackdata will only
include component appropriate for the selected sensor type. trackdata - Seam tracking data

arctrack (arctrackdata) – not used for optical tracking


Trackdata with parameters for non-optical trackers (AWC)

opttrack (opttrackdata) – see later slide


Trackdata with parameters for optical trackers (laser trackers)

© ABB Group
May 18, 2015 | Slide 61
Trackdata
Maximum Correction

Define the size of the


“tube of admitted correction values”

Track error

Programmed
path
trackdata.max_corr
Measured
path

If the correction exceeds max_corr, welding is stopped with an error 110162 “Track
max correction error”
If “Max Correction Warning” is TRUE, welding will not be stopped. Just the warning
110162 “Track max correction error” will be sent

© ABB Group
May 18, 2015 | Slide 62
Trackdata
Trackdata -Opttrack
joint_no (num)
The identity (expressed as a number) of path correction programs to send to the sensor equipment.
filter (num)
The filter component defines the time constant of a low pass filter applied to path corrections.
The component may be set to values from 1 to 10 where 1 gives the fastest response to path errors
detected by the sensor.
seamoffs_y, seamoffs_z (num)
The seam offset components are used to add offsets to the path generated by the sensor input.
If for instance the sensor considers the upper edge of a lap joint to be the correct seam position, as
indicated in the figure below, the seam offsets may be used to correct the path.
seamadapt_y, seamadapt_z (num)
The seamadapt components are similar to the seam offset components. The magnitudes of the
offsets are however not given as fixed values. The offsets are calculated as the measured seam gap
multiplied by the seamadapt values.
The components are used to adaptively offset the torch with respect to the seam to optimize the
welding process for different gap sizes.
The components are supported for lap joints.
track_mode (num)
With the track_mode component it is possible to selectively influence the tracking behavior of a laser
tracker.
© ABB Group
May 18, 2015 | Slide 63
Trackdata
Trackdata.Filter
filters (mean value) corrections
filtering gives a delay, reduces path accuration
0 or 1: no filter
Max. 5, otherwise you might get correction oscillations
If possible, do not filter

Filter = 1

Filter = 5

© ABB Group
May 18, 2015 | Slide 64
Trackdata
Trackdata.seam_off_y/z

For manual adjustment


The given value is added to the correction measured by the
sensor
The actual path will be shifted ”seam_offs_y/z” compared
to the measured path
The shift is made in the path coordinate system

© ABB Group
May 18, 2015 | Slide 65
Trackdata
Trackdata.seam_adapt_y
Permits adaption of y-correction proportional to the gap
Useful for butt joints if the sensor cannot be configured to track the
center of the gap
Y correction = (measured y-correction) + seam_adapt_y * gap

Path measured by
sensor (edge)

Programmed path Measured path + halv gap


(seam_adapt_y = 0.5)

© ABB Group
May 18, 2015 | Slide 66
Trackdata
Trackdata.seam_adapt_z
Permits adaption of z-correction proportional to the gap
Useful for butt joints if the sensor cannot be configured to track the
center of the gap
z correction = (measured z-correction) + seam_adapt_y * gap
+ seam_adapt_z * gap
Path measured by
sensor (edge)
Measured path + halv gap
Programmed path (seam_adapt_y = 0.5)

Measured path + 0.5 gap (y)


- 0.2 gap (z)
(seam_adapt_z = - 0.2)

© ABB Group
May 18, 2015 | Slide 67
Trackdata
Trackdata.track_mode

Track_mode is used to temporarily and selectively switch


off sensor corrections
E.g. if a part of the seam is impossible for the sensor to
measure
There are 13 different track modes

© ABB Group
May 18, 2015 | Slide 68
Trackdata
Trackdata.track_mode
value track mode
0 Normal tracking - y and z corrections are both taken into account
1 tracking as if y corrections sent by the Laser Tracker were zero - z corrections are taken into account. See Note1!

2 tracking as if z corrections sent by the Laser Tracker were zero - y corrections are taken into account. See Note1!

3 tracking as if y and z corrections sent by the Laser Tracker were zero. See Note1!
4 y corrections switched off totally, i.e. the correction of the y component is set to zero before it is sent to the robot
- z correction is taken into account. See Note2!
5 z corrections switched off totally, i.e. the correction of the z component is set to zero before it is sent to the robot
- y correction is taken into account. See Note2!
6 y and z corrections switched off totally, i.e. the correction of the y and the z component is set to zero before it is
sent to the robot. See Note2!
7 y correction is ‘faded out’, i.e. the TCP returns ramped to the programmed y component of the path. z correction
is active.
8 z correction is ‘faded out’, i.e. the TCP returns ramped to the programmed z component of the path. y correction
is active.
9 y and z correction are ‘faded out’, i.e. the TCP returns ramped to the programmed path.
10 y correction is ‘faded in’, i.e. the TCP returns ramped to the programmed y component of the path. z correction is
active.
11 z correction is ‘faded in’, i.e. the TCP returns ramped to the programmed z component of the path. y correction is
active.
12 y and z correction are ‘faded in’, i.e. the TCP returns ramped to the programmed

© ABB Group
May 18, 2015 | Slide 69
Trackdata
Trackdata.track_mode

Note 1!
For track mode=1, 2 or 3, the accumulated correction from the previous Arc Welding
instruction in the same seam will be preserved for y or/and z and passed on to the next
Arc Welding instruction in the same seam.

Note 2!
For track mode=4, 5 or 6, the sensor readings are accumulated even though y or/and z
correction is set to zero before sending to the robot. That means, it might occur a ’dip’ in
the beginning and in the end of the Arc Weld instruction.

© ABB Group
May 18, 2015 | Slide 70
Trackdata
Trackdata.track_mode
Switch off/on corrections:

trackmode 0
trackmode 0
p20
trackmode 6

p10
trackmode 6

p30 p40 p50


Correction off - jump

trackmode 0

Correction on - jump

© ABB Group
May 18, 2015 | Slide 71
Trackdata
Trackdata.track_mode

Smooth fade in and out of corrections:

trackmode 0
trackmode 0
p20
trackmode 9

p10
trackmode 9

p30 p40 p50


Ramp out correction

trackmode 12

Ramp in correction

© ABB Group
May 18, 2015 | Slide 72
Optical Tracking
Rapid Error Codes
Error constant (ERRNO value) Description
SEN_NO_MEAS Measurement failure
SEN_NOREADY Sensor unable to handle command
SEN_GENERRO General sensor error
SEN_BUSY Sensor busy
SEN_UNKNOWN Unknown sensor
SEN_EXALARM External sensor error
SEN_CAALARM Internal sensor error
SEN_TEMP Sensor temperature error
SEN_VALUE Illegal communication value
SEN_CAMCHECK Sensor check failure
SEN_TIMEOUT Communication error
LTC_CALIB_ERR LTC error during calibration
LTC_VERIFY_ERR LTC error during verification

© ABB Group
May 18, 2015 | Slide 73
Optical Tracking
Error log codes – sensor supplier dependent
error log no. Description
110160 Track error
110161 Track start error
110162 Track max path correction error
110163 Track communication error
110164 Track correction lost
110165 No sensor measurement
110166 Sensor Not ready yet
110167 General error from sensor
110168 Sensor busy
110169 Unknown command to sensor
110170 Illegal variable or block number in sensor
110171 External alarm from sensor
110172 Camera alarm from sensor
110173 Temperature alarm from sensor
110174 Value to sensor out of range
110175 Camera check failed
110176 Sensor communication time out
110177 Tracker calibration error
110178 Tracker verification error
110179 Left lap joint definition not correct
© ABB Group
May 18, 2015 | Slide 74 110180 Sensor calibration data updated in RW Arc
Optical Tracking
Tracking Functionality
P

v
Horizontal Vertical Correction Sensor stimulated
correction corretion with weaving process adaption

Seamless restart On-the-Fly change of 3D-seams Coordination


after error trackdata MultiMove

© ABB Group
May 18, 2015 | Slide 75
Optical Tracking
Tracking Principle

Correction principle
Controller is master, sensor is slave
Sensor provides raw measurements
Transformation and correction calculation by controller

Corrections in y- and z-direction


X: weld direction and path tangent
Y: cross product of X and Z-tool
Z: cross product of X and Y

No correction of orientation

© ABB Group
May 18, 2015 | Slide 76
Optical Tracking
Correction Principle

Look-ahead

ArcLStart\Track

1st correction

ArcL\Track
Programmed
path

Blind start Current Measurement


= correction buffer
look-ahead Actual seam
Current
measurement

© ABB Group
May 18, 2015 | Slide 77
Optical Tracking
Rapid Examples

Set joint number


WriteVar “ScanSonic:”, LTAPP__JOINT_NO, 4;

Start camera measurements


WriteVar “ScanSonic:”, LTAPP__POWER_UP, 1;

Read y-correction
value := ReadVar(“ScanSonic:”, LTAPP__Y);
unit := ReadVar(“ScanSonic:”, LTAPP__UNIT);
# Convert unsigned to signed
IF value > 32767 value := value – 65536;
# Convert to mm
sens_y_mm := value * Pow(0.1, 1 + unit);

© ABB Group
May 18, 2015 | Slide 78
Optical Tracking
Rapid Examples

© ABB Group
May 18, 2015 | Slide 79
Communication Initialization

At cold and warm start of the robot controller

1. Initialization message

2. Initialization answer

3. Communication is up

© ABB Group
May 18, 2015 | Slide 80
Communication Initialization

At cold and warm start of the robot controller

1. Initialization message

2. Initialization answer

Communication error

3. Communication is down

Sensor controller has to be ready,


when the IRC5 controller is restarted.
⇒ 1. Boot the sensor controller first

© ABB Group
2. Restart the IRC5 controller
May 18, 2015 | Slide 81
© ABB Group
May 18, 2015 | Slide 82

You might also like