Professional Documents
Culture Documents
© 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
© ABB Group
May 18, 2015 | Slide 3
Laser Sensor Training
Technical Data - Optical Tracking
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
© ABB Group
May 18, 2015 | Slide 5
Laser Sensor Training
Installation Prerequisites
© 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
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
© ABB Group
May 18, 2015 | Slide 13
RobotStudio
Connect to robot controller
Error event:
PC Network settings
are not configured to
use DHCP
© 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
© 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
© 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
© ABB Group
May 18, 2015 | Slide 21
Configuration of communication is finished
© ABB Group
May 18, 2015 | Slide 22
Calibration
Sensor Type Settings in Process Configuration
© 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
© ABB Group
May 18, 2015 | Slide 28
Calibration
Preparation
© 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
© ABB Group
May 18, 2015 | Slide 37
Configuration
RobotWare Arc – Optical Sensor Properties
© ABB Group
May 18, 2015 | Slide 38
Configuration
Editing Optical Sensor Properties – Part 1
© ABB Group
May 18, 2015 | Slide 39
Configuration
Editing Optical Sensor Properties – Part 2
© 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.
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
Track error
Programmed
path
trackdata.max_corr
Measured
path
© 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
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
© ABB Group
May 18, 2015 | Slide 61
Trackdata
Maximum Correction
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
© 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)
© 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)
© ABB Group
May 18, 2015 | Slide 67
Trackdata
Trackdata.track_mode
© 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
trackmode 0
Correction on - jump
© ABB Group
May 18, 2015 | Slide 71
Trackdata
Trackdata.track_mode
trackmode 0
trackmode 0
p20
trackmode 9
p10
trackmode 9
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
© 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
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
© ABB Group
May 18, 2015 | Slide 77
Optical Tracking
Rapid Examples
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
1. Initialization message
2. Initialization answer
3. Communication is up
© ABB Group
May 18, 2015 | Slide 80
Communication Initialization
1. Initialization message
2. Initialization answer
Communication error
3. Communication is down
© ABB Group
2. Restart the IRC5 controller
May 18, 2015 | Slide 81
© ABB Group
May 18, 2015 | Slide 82