Yaskawa Motoman
This page is a guide to help users understand the requirements of setting up a Yaskawa Motoman robotic welding system for use with Verbotics Weld. Verbotics also offer consulting and training services to assist with the calibration and setup of a welding system - please contact us for pricing.
TCP Calibration
The real world TCP should be calibrated using the Yaskawa tool calibration. After calibration, it is then suggested that the rotational values are overwritten with theoretical values (that can be supplied by Verbotics) as rotational values are difficult to calibrate using this method.
Care should be taken to ensure that the axes directions follow the expected directions for Verbotics Weld:
Z - Pointing out in the wire direction.
X - Pointing up from the robot when the robot is at position
[0, 0, 0, 0, 0, 0]
. (This will be pointing out for the MH50-20).Y - Orthogonal to X and Z with a right hand rule.
The TCP calibration should use the expected stickout specified in the workcell model file supplied by Verbotics for the cell and the wirecut routine should be written to cut the wire to this length prior to touch sensing.
Workpiece Positioner Calibration
Headstock Tailstock Axis
The headstock and tailstock position should be known such that the axis direction between the headstock and tailstock can be calculated. Depending on the setup, the inbuilt ‘Robot Calibration’ function on the Yaskawa controller may be able to calibrate these positions with high enough accuracy for the purpose of offline programming with Verbotics Weld. In some cases this may require a slightly different calibration method. Verbotics may also supply these values to overwrite any existing values in the robot.
Controller Setup
Verbotics Weld requires the following options to be enabled on your controller:
Master Tool Frame (for synchronised positioner and tool movements).
Welding functionality created using Arc Start Files and Arc End Files.
Weaving functionality created using Weaving Files.
This list is not exhaustive.
It is also suggested that the P-variables space is maximised (including Base and External Axis) to allow large programs to be created with Verbotics Weld.
Code Output
Verbotics Weld is capable of creating a Yaskawa / Motoman Job file(s) (.jbi) that can be loaded and executed by your robot. The code output consists of the following parts:
The output created by the software for the specific Verbotics Weld project.
Routines (Jobs) supplied by Verbotics to perform specific functions. These should not be changed by the end user or system integrator .
Placeholder routines that are called at certain events (e.g. torch-clean). These are required and can be supplied blank by Verbotics. These should contain specific code to perform certain functions, and allow the system integrator (or end user) to create customised functions.
Overall Structure
The structure of the output is:
Initialisation of P-variables.
Wirecut.
Touchsense(s).
Weld(s).
Touchsense(s).
Weld(s).
…
The touch sense code has the following structure:
SET P28 P1 ' Initialise the result to zero.
SETE P31 (1) -999 ' Set the required TS constants.
SETE P31 (2) -5
SETE P31 (3) 0
SETE P31 (4) 200000
SETE P31 (5) -2147483648
MOVJ C153 BC153 VJ=25 +MOVJ EC140 VJ=25 ' Move into position.
MOVJ C154 BC154 VJ=25 +MOVJ EC141 VJ=25
SMOVL C155 BC155 V=50 +MOVJ EC142
REFP 8 RB1 C156 BC156 ' Set the TS point into the reference.
CALL JOB:VBSEARCH ARGF P31 ARGF P28 ' Perform the touch sense.
GETS LD0 $RV ' Save the error value.
SETE P31 (5) LD0
SMOVL C157 BC157 V=50 +MOVJ EC143 ' Move back to the approach point.
CALL JOB:VBOFFS ARGF P28 ARGF P31 ARGF LD0 ' Offset touch sense data modified by this action.
SET P28 P1
The weld(s) will follow this format (with touch sense active):
' Move into position for the weld.
MOVJ C355 BC355 VJ=25 +MOVJ EC315 VJ=25
MOVJ C356 BC356 VJ=25 +MOVJ EC316 VJ=25
MSG "Welding '12972 - 12978 #1'"
' Set the manual weld offset (if required)
'SHIFT XYZ in uM
SETE P3 (1) 0
SETE P3 (2) 0
SETE P3 (3) 0
GETS LPX001 $PX000
CONVSFT P004 P003 LPX001 MTF
SSFTON P004
' Move to approach position.
SMOVL C357 BC357 V=50 +MOVJ EC317
' Set the weld point as a reference (REFP 8) and calculate and apply the shift
' for that point.
SREFP 8 C358 BC358 +REFP EC318
CALL JOB:VBSSFT ARGF 0 ARGF P64 ARGF P65 ARGF P3
' Move to the weld point (from REFP 8).
GETS LPX001 $PX028
SMOVL LP1 LBP1 V=50 +MOVJ LEX1
' Turn on welding.
ARCON ASF#(1)
' Move through all weld points.
SREFP 8 C359 BC359 +REFP EC319
CALL JOB:VBSSFT ARGF 318 ARGF P65 ARGF P66 ARGF P3
GETS LPX001 $PX028
SMOVL LP1 LBP1 +MOVJ LEX1
' Repeat for all weld points
...
' Turn off welding.
ARCOF
' Move back to approach point and remove the shift.
SMOVL C363 BC363 V=50 +MOVJ EC323
SSFTOF
Helping Routines
The code output is supported by other routines that are supplied with the software. Typically these should not be modified:
VBSEARCH
- Performs a touch sense search action based on the touch sense data output into the program.VBOFFS
- Offsets a point by a supplied distance in the direction of a supplied vector.VBSFT
- Creates a robot shift using theSFTON
instruction.VBSSFT
- Creates a robot shift using theSSFTON
instruction.
Other Routines
The code output will call these routines at certain events in the code output. All routines are required, but can be empty and simply return upon executing. These should be modified as required by the system integrator to perform the required customised functions.
The following routine events are created:
VBCUTWIRE
- Called when a wire-cut is to be performed. This is usually before a group of touch sense operations. This should start and end with the robot in the home position (excluding external axes).VBTORCHCLEAN
- Called when a torch-clean is to be performed. Should also include a wire cut. This should start and end with the robot in the home position (excluding external axes).VBBEFORESEARCH
- Called before a search is initiated.VBAFTERSEARCH
- Called when a search is completed.VBBEFOREWELD
- Called before a weld is started.VBAFTERWELD
- Called when a weld is completed.
For example, if your welding torch had a wire brake to assist with touch sensing. The VBCUTWIRE
routine could be used to switch on the wire brake, and the VBBEFOREWELD
routine could be used to switch off the wire brake.
Code Touch-up
During commissioning, the output program points modified like any other program created on the teach pendant. Transition motions use MOVJ
command and can be modified, or additional points added.
Where touch sensing is active, Verbotics Weld uses reference points (REFP
or SREFP
) to pass some points to other routines.
REFP8
is used to pass the touch sense points toVBSEARCH
.REFP8
(SREFP8
) is used as the weld targets where touch sense is enabled. These points should be modified if required.
The reference points in the touch sense direction also have information regarding the expected distance to the touch such that the positional difference can be compensated for. If modifying these points care should be taken to only adjust the position perpendicular to the touch direction. The modified point should still touch the intended feature, if unsure please review the simulation for that weld.