Uploaded by Mr Robot

touch sensing

advertisement
Chapter 29
TOUCH SENSING
Contents
Chapter 29
29.1
29.2
29.2.1
29.2.2
29.2.3
29.2.4
29.3
29.3.1
29.3.2
29.3.3
29.3.4
29.4
29.4.1
29.4.2
29.4.3
29.4.4
29.4.5
29.4.6
29.4.7
29.5
29.5.1
29.5.2
29.5.3
29.5.4
29.5.5
29.5.6
29.5.7
29.5.8
29.5.9
29.5.10
29.6
29.6.1
29.6.2
TOUCH SENSING ............................................................................
OVERVIEW .........................................................................................
ASSIGNING TOUCH SENSING I/O .......................................................
Touch Sensing I/O Overview ..............................................................
Touch Sensing Input Signal ................................................................
Touch Sensing Enable/Disable Output Signal ....................................
Assigning the Touch Sensing Inputs and Outputs .............................
SETTING UP TOUCH SENSING ..........................................................
Touch Sensing Setup Overview .........................................................
Touch Frames ..................................................................................
Search Pattern .................................................................................
Touch Schedule ...............................................................................
TOUCH SENSING PROGRAMMING ...................................................
Programming Overview ....................................................................
Touch Sensing Instructions ..............................................................
Touch Sensing Motion Option ..........................................................
Motion Instructions Used with Touch Sensing .................................
Executing a Touch Sensing Program ................................................
Touch Sensing Robot Position Touchup ...........................................
Programming Examples ..................................................................
TOUCH SENSING MASTERING .........................................................
Mastering Overview ..........................................................................
Mastering ..........................................................................................
Remastering .....................................................................................
Offsets .............................................................................................
Patterns ............................................................................................
Master Flag .......................................................................................
Touching Up Path Positions .............................................................
Adding New Positions ......................................................................
Multiple Searches .............................................................................
Touching Up Search Start Positions .................................................
TOUCH SENSING HARDWARE .........................................................
Hardware Overview ...........................................................................
Touch Sensing Input Signal ..............................................................
29–1
29–3
29–4
29–4
29–5
29–5
29–6
29–7
29–7
29–10
29–15
29–21
29–26
29–26
29–26
29–27
29–28
29–28
29–28
29–29
29–35
29–35
29–35
29–36
29–36
29–38
29–39
29–41
29–42
29–43
29–45
29–46
29–46
29–47
29–1
29. TOUCH SENSING
MAROUAR9102171E REV F
Touch Sensing Enable/Disable Output Signal ...................................
Simple Low Voltage Touch Sense Detection Circuit .........................
LASER ANALOG INPUT NON-CONTACT TOUCH SENSING .............
Overview ..........................................................................................
System Setup ....................................................................................
Analog Input Touch I/O Setup ...........................................................
Analog Input Search Direction .........................................................
LASER DIGITAL INPUT TOUCH SENSING ..........................................
Overview ............................................................................................
Laser Digital Touch Sensing Schedule Setup ....................................
Laser Digital Touch I/O Setup ............................................................
Multi-Arm Laser Digital Simultaneous Touch Sensing
Schedule Setup .................................................................................
29.8.5 Laser Digital Input Touch Sensing Program Example........................
29.6.3
29.6.4
29.7
29.7.1
29.7.2
29.7.3
29.7.4
29.8
29.8.1
29.8.2
29.8.3
29.8.4
29–2
29–47
29–47
29–48
29–48
29–49
29–51
29–52
29–52
29–52
29–53
29–54
29–55
29–55
MAROUAR9102171E REV F
29. TOUCH SENSING
29.1 OVERVIEW
Touch sensing (an optional feature) allows the robot to change a path automatically to compensate
for object displacement.
Note For Multi-Arm Touch Sensing, refer to the Multi-Arm Controller Option Manual.
Touch sensing consists of:
• Moving the robot tool center point (TCP) toward the object using pre-defined robot motion,
speed, and direction.
• Using an input signal to indicate that the robot has come into contact with the object.
• Storing the found location of the object, or position offset information, in position registers.
• Using the stored position to move the robot to the stored position, or using the stored position
offset information to shift one or more positions in your welding program.
To use touch sensing you must:
• Set up the robot Tool Center Point (TCP) properly. Refer to Section 29.3 to set up the tool
frame.
• Set up touch sensing hardware. The hardware monitors an input signal to determine when
the robot comes into contact with the object.
• Assign I/O to enable and use the electrical interface circuit.
• Set up how the robot moves to the object and the type of position offset information that
is stored.
• Set up a coordinated motion pair for coordinated motion touch sensing
• Create a touch sensing program.
See Figure 29–1 for an example of a program that includes touch sensing.
29–3
29. TOUCH SENSING
MAROUAR9102171E REV F
Figure 29–1. Example Program Including Touch Sensing Routine
29.2 ASSIGNING TOUCH SENSING I/O
29.2.1 Touch Sensing I/O Overview
To use touch sensing you must assign the
• Input signal that the touch sensing circuit monitors to indicate when the robot has reached
the object.
• Output signal that enables and disables the touch sensing circuit.
Note You must wire the necessary connections for the input and output signals to be used for
touch sensing. The wire stick detection circuit on the process I/O board also can be used for
touch sensing.
The controller supports numerous I/O options. If you decide to use an I/O point other than the
standard, (such as a modular I/O), then the controller must be wired and configured correctly.
Note Some welding power supplies, such as the Lincoln Electric PowerWave models and the
Miller Auto Invision provide internal touch sensing circuitry. These power supplies can be set up
for the appropriate inputs and outputs when software configuration is performed.
29–4
MAROUAR9102171E REV F
29. TOUCH SENSING
29.2.2 Touch Sensing Input Signal
The touch sensing input signal indicating contact with a part is monitored by the touch sensing
circuit. When the input is received, the current robot position is stored in a position register. Refer
to Section 29.6 for more information about the touch sensing circuit.
Any of the following can be used as the touch sensing input signal:
• Welding Digital Inputs (WI) 1-8, found on the CRW1 Connector of the process I/O board.
• Digital Inputs (DI) 1-22, found on the CRM2A and CRM2B connectors of the process I/O
board, or any Digital Inputs.
• Wire stick detection circuit input WSI (WDI+, WDI-), found on the CRW1 connector of the
process I/O board.
• Robot Digital Inputs (RI) 1-8, found on the Axis Control PCB.
• Optional Digital I/O, (such as a Modular I/O or DeviceNet I/O).
You can also set up touch sensing to monitor the condition of any RO or DO signal as an input
signal. When the selected output turns on during a touch sensing routine, the controller reads this
as a received input signal.
29.2.3 Touch Sensing Enable/Disable Output Signal
Any of the following can be used to enable the touch sensing circuit:
• Robot Digital Outputs (RO).
• Digital Outputs (DO).
• Welding Digital Outputs (WO) 1-8 found on the CRW1 Connector of the Process I/O Board.
• Wire stick detection circuit enable WSE is an internal output on the process I/O board that
enables the detection circuit and allows it to be used for touch sensing.
Caution
If a WO is assigned as the touch sensing input signal, the dedicated
function it performs must be disabled. Refer to Section 29.2.4 .
Note To use touch sensing, the weld interface cable must be installed. If you are using a
weld power supply for the touch sense circuit, the power source must be turned on for touch
sensing to work.
Refer to the Connections section of the Maintenance and Connection Manual for connector
location, pin configurations, and I/O signal specifications.
29–5
29. TOUCH SENSING
MAROUAR9102171E REV F
29.2.4 Assigning the Touch Sensing Inputs and Outputs
You must assign touch sensing inputs and outputs to match the hardware interface at your site.
This involves assigning both input and output type and port number.
Touch sensing inputs are shown as sensor ports on the Touch Sense I/O SETUP screen. Touch
sensing outputs are shown as circuit ports on the Touch Sense I/O Setup screen. Use Procedure
29-1 to assign touch sensing I/O.
Note After you have decided what I/O to use for touch sensing, you should add a comment to the
selected I/O indicating that the I/O has been assigned to touch sensing. This is done using the
SETUP menu. Refer to Chapter 10 GENERAL SETUP .
Procedure 29-1 Assigning Touch-Sensing Inputs and Outputs
Steps
1. Press MENU.
2. Select SETUP.
3. Press F1, [TYPE]
4. Select Touch I/O. You will see a screen similar to the following.
Touch I/o Setup
NAME
Sensor port type
Sensor port number
Circuit port type
Circuit port number
VALUE
RDI
1
RDO
1
5. Assign Sensor (input) and Circuit (output) types as follows:
a. Move the cursor to the line you want to assign.
b. Press [F4], CHOICE.
c. Move the cursor to the desired input/output type.
d. Press ENTER.
Note The allowable input range for the sensor and circuit ports is from 1 to 1024.
The software checks the validity of the port type and port number when running your
program that includes touch sensing. If the port type or number is invalid, the system
displays an I/O invalid error message.
6. Assign Sensor and Circuit number:
a. Move the cursor to the line you want to assign.
b. Type the value and press ENTER.
29–6
MAROUAR9102171E REV F
29. TOUCH SENSING
Note After the input signal has been wired and assigned, perform a test to verify that it
is connected properly. The input signal condition can be monitored from the I/O Menu.
29.3 SETTING UP TOUCH SENSING
29.3.1 Touch Sensing Setup Overview
Search motions locate an object and store the found location, or position offset information , of the
object in a position register. Search motions use
• Touch frames
• Touch patterns
• Touch schedules
A touch frame determines the direction of the search motion. The search motion is actually a
programmed move along the x, y, or z axis of a selected touch frame.
For touch sensing with coordinated motion, you can select the touch frame relative to the
UFRAME of the robot (follower) or the coordinated frame of the reference group (leader). The
reference group must be set for the leader group so that the search direction will be relative to
that group.
Typically, only one search motion is used for each search direction. Some search patterns require
two search motions in each of two search directions for the software to calculate an angular
offset. Search patterns determine the type of information stored in the position register. The
stored information is either the found position or position offset information depending on the
search pattern used.
Up to five search motions in one search direction can be done to improve the accuracy of locating
an object. When more than one search motion in a direction is used, the software calculates an
average value of the searches and uses the average for the offset calculation except when using the
search pattern 1D+Rotate, 2D +Rotate, or 3D+Rotate.
Also, you can include a maximum of 15 searches between the program instructions SEARCH
START and SEARCH END. Refer to Section 29.3.3 .
Touch schedules allow you to set up the conditions that define the search motions. These
conditions include the position register, touch frame and search pattern to use; the robot speed and
motion type; and other conditions.
Figure 29–2 , Figure 29–3 , and Figure 29–4 represent how search motions are used in a program.
Touch Sense defaults to using position register 32.
29–7
29. TOUCH SENSING
Figure 29–2. Search Using Searches in One Direction
29–8
MAROUAR9102171E REV F
MAROUAR9102171E REV F
29. TOUCH SENSING
Figure 29–3. Search Using Offsets in Two Dimensions
29–9
29. TOUCH SENSING
MAROUAR9102171E REV F
Figure 29–4. Search Using Two Search Motions in Two Different Directions to Obtain X
and Y Offset and Rotation about Z
The characteristics of a search motion are controlled by variables set in touch schedules. The x, y,
or z movements in a search motion are aligned with an object by using one of the touch frames.
29.3.2 Touch Frames
A touch frame determines the motion direction of the robot TCP. A touch frame is defined by three
points. The first point defines the origin , or starting point. The second point defines the positive x
direction of the touch frame. The third point defines the positive x-y plane.
Figure 29–5 shows a touch frame and how it is used in a touch sensing program. The orientation
of the touch frame to the object is arbitrary in Figure 29–5 . The positive x axis could be aligned
with the current z direction. This would re-define positive z to be in the opposite direction of the
current positive x direction.
29–10
MAROUAR9102171E REV F
29. TOUCH SENSING
Figure 29–5. Touch Frame Used in a Program
Note You can set up a maximum of 32 touch frames. Touch frames are set up using the touch
frame screen in the SETUP menu.
Note You must define a touch frame before you perform a search motion in a program.
There are two ways to define touch frames: the teaching method and the direct entry method. The
teaching method defines the touch frame by recording three points. The direct entry method
defines the touch frame by the rotation angle value you enter in the Touch Sense SETUP screen.
For Direct Entry, use Procedure 29-3 . For the Teach Method, use Procedure 29-2 .
Table 29–1 lists and describes the items you must set to define the touch frame.
29–11
29. TOUCH SENSING
MAROUAR9102171E REV F
Table 29–1. Touch Frame Setup Items
ITEM
DESCRIPTION
Frame Number
This item specifies the number of the touch frame you want to define.
Reference Group
This item specifies the reference group to which the touch frame is relative:
•
0: There is no reference group and no leader group; touch frame is
relative to the robot itself.
•
1 : Touch frame is relative to the UFRAME of the robot (follower)
•
2 : Touch frame is relative to the coordinated frame of robot group 2
(leader) **
•
3 : Touch frame is relative to the coordinated frame of robot group 3
(leader) **, ***
•
4 : Touch frame is relative to the coordinated frame of robot group 4
(leader) **
•
5 : Touch frame is relative to the coordinated frame of robot group 5
(leader)** The coordinated frame is established between a positioner/robot
(leader) and a robot (follower) motion group. Refer to the Coordinated
Motion Setup and Operations Manual.
*** In the case of DualARM systems with Touch Sensing, standard Touch
Sensing for group 2 robot references group 2.
Robot Group
This item specifies the motion group performing the search move and to which
the offset is applied. When using DualARM or Multi-Robot systems this can be
group 1 or 2. For single group systems this will always be 1.
When using multi-arm simultaneous touch sensing, each touch process robot
can define its own touch frame within the same touch frame number.
Direct Entry
Rotate about X
This item specifies the rotation about X for the touch frame.
Rotate about Y
This item specifies the rotation about Y for touch frame.
Rotate about Z
This item specifies the rotation about Z for touch frame.
Teach Method
Origin
This item allows you to record the origin of the touch frame.
+X direction
This item allows you to define the +X direction of the touch frame.
+Y direction
This item allows you to define the +Y direction of the touch frame.
Note When Reference Group is not equal to 1 for robot #1 or 2 for robot #2, the touch frame
changes with the coordinated motion frame, but the display of the Rotate about X, Y, and Z
items remains unchanged.
Use Procedure 29-2 to define your touch frame by using the teaching method. Use Procedure 29-3
to define your touch frame by using the direct entry method.
29–12
MAROUAR9102171E REV F
29. TOUCH SENSING
Procedure 29-2 Setting Up a Touch Frame Using the Teaching Method
Steps
1. Press MENU.
2. Select SETUP.
3. Press F1, [TYPE].
4. Select Touch Frame. You will see a screen similar to the following.
Touch Frame Setup
Frame #: 7 Ref Grp: 2
Direct Entry:
Rotate about X :
Rotate about Y :
Rotate about Z :
Teach Method:
Origin
:
+X direction
:
+Y direction
:
Robot Grp: 1
11.732
2.274
-20.195
USED
USED
USED
5. Move the cursor to Frame Number. Type the number of the frame to define and press
ENTER.
6. Move the cursor to Reference Grp. Type the number of the reference group and press
ENTER.
7.
Caution
Searches and offsets for coordinated motion cannot be mixed with
non-coordinated. That is, you cannot do searches for coordinated
motion, then do searches for non-coordinated motion, and then use the
offset from the coordinated motion search. You must use the offsets
for coordinated motion searches before doing any non-coordinated
searches. Similarly, you must use any offsets from non-coordinated
motion searches before doing any coordinated motion searches.
Move to Robot Grp and select the appropriate group number.
Note The Robot Group refers to the robot that is making the search moves. The Reference
Group is the group in which the touch sensing frame is established. In single group systems,
these two groups will have a value of "1" and "1" respectively (the default values).
In the case of multi-group systems using touch sensing with coordinated motion, the
reference group will be the leader group of your coordinated motion CD_pair, and the robot
group will be the follower group of your CD_pair. A valid CD_pair calibration is required.
This causes the offset calculated by the search routine to be calculated with respect to the
29–13
29. TOUCH SENSING
MAROUAR9102171E REV F
coordinated motion frame. Refer to the Coordinated Motion Setup and Operations Manual
for more details regarding coordinated motion setup and calibration.
In the case of multi-robot multi-group systems, touch sensing is supported on each robot,
and group1 and group2 are supported. Standard touch sensing for group 1 will have a value
of "1" and "1" respectively (the default values). Standard touch sensing for group 2 robot
will have a value of "2" and "2" respectively. Coordinated motion touch sensing will have a
positioner group and a robot group (for example, Ref Grp = 3, Robot Grp = 1).
8. Define the origin point of the Touch Frame.
a. Move the cursor to Origin.
b. Jog the Robot TCP to the desired starting point (origin).
c. Press F2, RECORD.
9. Define the +X direction.
a. Move the cursor to X.
b. Jog the robot TCP to a point along the +X axis of the touch frame.
c. Press F2, Record.
10. Define the +Y direction.
a. Move the cursor to Y.
b. Jog the robot in the +Y direction of the touch frame, to a point on the X-Y plane.
c. Press F2, RECORD.
11. Press F5, DONE, to complete the definition of the frame.
Procedure 29-3 Setting Up a Touch Frame Using the Direct Entry Method
Steps
1. Press MENU.
2. Select SETUP.
3. Press F1, [TYPE].
4. Select Touch Frame. You will see a screen similar to the following.
Touch Frame Setup
Direct Entry:
Rotate about X
Rotate about Y
Rotate about Z
Teach Method:
Origin
+X direction
+Y direction
29–14
:
:
:
:
:
:
11.732
2.274
-20.195
USED
USED
USED
MAROUAR9102171E REV F
29. TOUCH SENSING
5. Move the cursor to Frame Number. Type the number of the frame to define and press
ENTER.
6. Move the cursor to Reference Grp. Type the number of the reference group and press
ENTER.
7. Move to Robot Grp and select the appropriate group number.
Note If you change the value of Reference Grp for an initialized frame, the following
warning message will be displayed:
Frame data will be cleared!
Yes
No
If you press F3, Yes, the frame data will be reinitialized.
If you set Reference Grp > 1, but no leader group matches the selected reference group, or it
has not been calibrated for coordinated motion, the value of Reference Grp will not change
and the following warning message will be displayed:
Referenced group does not exist
8. Define the rotation angle about X.
a. Move the cursor to Rotate about X.
b. Enter the value (in degrees).
9. Define the rotation angle about Y.
a. Move the cursor to Rotate about Y.
b. Enter the value (in degrees).
10. Define the rotation angle about Z.
a. Move the cursor to Rotate about Z.
b. Enter the value (in degrees).
11. Press F5, DONE, to complete the definition of the frame.
29.3.3 Search Pattern
Search patterns determine the kind of information stored in the position register. The stored
information is either the found position, or the position offset information depending on the
search pattern used and the reference group specified in the touch schedule. Four types of search
patterns are available:
• Simple search
29–15
29. TOUCH SENSING
MAROUAR9102171E REV F
• Fillet/lap search
• V-Groove search
• Outside/inside diameter search
Note You select the type of search pattern that is used when you set up the touch sensing
schedule. See Section 29.3.4 .
Simple Search
For a simple search , a two-dimensional search is executed to find the actual location of one
position on an object. A simple search stores the found position (x, y, z, w, p, r) into a position
register PR[]. Once completed, the robot is programmed to move to the position stored in that
position register.
Caution
Do not use simple search when you use the multi-pass option with touch
sensing because both the simple search and multi-pass features use position
registers. Simple search stores the computed position in a position register.
Multi-pass cannot use position registers to plan paths. Use the 2D fillet
search pattern when using multipass with touch sensing.
Simple search requires:
• That the surfaces being searched are perpendicular to each other.
• Searches to be done in two different directions.
• The second search motion to be performed with the desired torch angle.
The first search defines the positional information for that search direction only (x, for example).
The second search defines the other direction positional information (z, for example). The starting
position of the second search defines the remaining positional information, (y, w, p, r, for example)
that determines the torch angle for welding and, in this case, the y value.
Simple search is typically used to find the starting point of a weld path that uses the Thru-Arc
Seam Tracking (TAST) option.
A two-dimensional search is programmed in the software as the only valid search pattern type
when a simple search is used. Changing the search pattern type has no effect.
The two-dimensional search that Simple Search does is called a pattern type. The two-dimensional
search is the only valid pattern type for a simple search.
Refer to Table 29–2 for information on search patterns and valid pattern types for each search
pattern.
29–16
MAROUAR9102171E REV F
29. TOUCH SENSING
Refer to Section 29.3.4 for example programs using simple search. See Figure 29–6 for an
illustration of a simple search routine.
Figure 29–6. Simple Search Routine Using Searches in Two Directions
Fillet/Lap Search
For a Fillet/Lap Search a one, two, or three dimensional search is executed to obtain positional
offset information. A Fillet/Lap Search stores positional offset information in a position
register PR[ ] . This offset can be applied to one or more positions in a programmed path.
The offset can be in one, two, or three directions. The offset can also be in two directions plus
rotation about the axis of which no searching is performed. For example, if the object is being
searched for offset in both x and y directions, a fillet search can offset for a rotation about the z axis.
Another type of offset can be in one direction plus rotation about an axis of which no searching
is performed. For example, if the object is being searched for offset in x, a fillet search can
offset for a rotation about z. Note that is this type of search, the first touch point is used as the
arc start point. See Figure 29–7 .
Figure 29–7. Fillet Search in One Direction (x) with Rotation about Z
29–17
29. TOUCH SENSING
MAROUAR9102171E REV F
Another type of offset can be in three directions plus rotation about the axis of which no searching
is performed. For example, if the object is being searched for offset in x, y, and z directions, a fillet
search can offset for a rotation about the z axis. In Figure 29–9 , three searches are performed
in the z direction. These searches define the single plane of rotation in the 3D + Rotate pattern.
These three searches must be in the same plane and be co-planer to the welding plane.
A fillet search stores an offset into a position register [PR]. The robot program then uses the touch
offset commands to begin and end the offset.
The type of searches that a Fillet/Lap Search does is called a pattern type. See Figure 29–8 for
information on search patterns and valid pattern types for each search pattern.
Refer to Section 29.3.4 for example programs using Fillet/Lap Search. See Figure 29–8 and Figure
29–9 for illustrations of Fillet/Lap Searches.
Figure 29–8. Fillet Search in Two Directions (x and y) with Rotation about Z
Figure 29–9. Fillet Search in Three Directions (x, y, z) with Rotation about Z
29–18
MAROUAR9102171E REV F
29. TOUCH SENSING
V-Groove Search
For V-Groove Search a one-dimensional search is executed to obtain positional offset information.
A V-Groove Search stores positional offset information in a position register [PR ]. This offset
can be applied to one or more positions in a programmed path.
The types of searches that a V-Groove Search does is called a pattern type. Refer to Table 29–2 for
information on search patterns and valid pattern types for each search pattern.
Refer to Section 29.3.4 for example programs using V-Groove Search. See Figure 29–10 for an
illustration of a V-Groove Search.
Figure 29–10. V-Groove Search
Outside/Inside Diameter Search (OD/ID)
For Outside/Inside Diameter Search (OD/ID Search) a two dimensional search is executed to
obtain the positional offset information of the center point of a circular path relative to the original
(master) location. An Outside/Inside Diameter Search stores positional offset information in a
position register [PR ]. This offset can be applied to one or more positions in a programmed path.
The types of searches that an Outside/Inside Search does is called a pattern type. Refer to Table
29–2 for information on search patterns and valid pattern types for each search pattern.
Refer to Section 29.3.4 for example programs using OD/ID Search. See Figure 29–11 for an
illustration of a OD/ID Search.
Figure 29–11. OD/ID Search in Two Directions (X and Y)
29–19
29. TOUCH SENSING
MAROUAR9102171E REV F
Table 29–2 shows a matrix of possible search pattern and valid pattern types. Select a combination
that you would like to use on your application and verify that it will provide the proper results.
Table 29–2. Search Pattern and Valid Pattern Type
29–20
Search
Patterns
Pattern
Type 1_D
Pattern
Type 2_D
Pattern
Type 3_D
Pattern Type
1_D and
Rotation
Pattern
Type
2_D and
Rotation
Pattern
Type3_D
and
Rotation
Simple Search
Not Valid
Requires
2 different
search
directions.
Minimum 1
search per
direction.
Not Valid
Not Valid
Not Valid
Not Valid
Fillet/Lap
Requires
1 search
direction.
Minimum 1
search per
direction.
Requires
2 different
search
directions,
x and y, x
and z, y and
z. Minimum
1 search per
direction.
Requires
3 different
search
directions,
x,y, and z.
Minimum 1
search per
direction.
Requires
1 search
direction.
Minimum 2
searches per
direction.
Requires
2 different
search
directions.
Minimum 2
searches
per
direction.
Requires
3 different
search
directions.
3 searches
in one
direction
(usually -z)2
searches in
each of the
remaining
directions.
V-Groove
Requires
1 search
direction.
Minimum 1
search per
direction.
Not Valid
Not Valid
Not Valid
Not Valid
Not Valid
OD/ID
Not Valid
Requires
3 different
searches in
2 different
directions.
For example,
+x,-x,+y,
NOT x,y,z.
Minimum 1
search per
direction.
Not Valid
Not Valid
Not Valid
Not Valid
MAROUAR9102171E REV F
29. TOUCH SENSING
29.3.4 Touch Schedule
A touch schedule is a series of conditions that control how the search motion is completed.
Thirty-two (32) touch schedules are available.
You access touch schedules from the DATA menu. There are two screens associated with touch
schedules: the SCHEDULE screen and the DETAIL screen.
The SCHEDULE screen allows you to view and set limited information for nine schedules at one
time. DETAIL allows you to view and set the complete information for a single schedule. You
can display the SCHEDULE screen by pressing PREV. You can display the DETAIL screen by
pressing the function key F2, DETAIL.
Table 29–3 lists and describes each schedule setup item.
Use Procedure 29-4 to define touch schedules. Refer to Section 29.3.3 for a description of
search patterns.
Table 29–3. Touch Sensing Schedule Setup Items
ITEM
DESCRIPTION
Touch Schedule
This item indicates the number of the displayed schedule. A comment can be entered.
Master Flag
Default = OFF
This item enables the search routine to be used as a mastering routine for those touch
sensing programs that generate position offset information. If set to ON, when the search
routine is executed, the touched positions are recorded as the reference positions to be used
by future searches. This flag must be set to OFF after the master search is completed in
order to generate position offset information on the objects to be searched. Also, when the
search is performed, the position offset information in the position register is set to all zero
values. This means the when touch sensing finds the object in its master position, no offset
is to be applied to the weld path.
Note The Master Flag condition has no effect on simple searches.
Search Speed
Default = 50.0 mm/sec
This item specifies how fast the robot will move when performing a Search Motion.
Caution
A search motion is programmed as a motion option at the end of a position
instruction. The speed at which the robot will move is determined by the search
speed, not by what is indicated in the position instruction. During testing, when
dry run is in effect, this search speed is also used. The dry run speed has no
effect.
Search Distance
Default = 100 mm
This item defines how far the robot can move when it is performing a search. Error code
THSR-017 Pause No contact with part. is displayed when this distance is reached without
making contact with the object.
29–21
29. TOUCH SENSING
MAROUAR9102171E REV F
ITEM
DESCRIPTION
Touch Frame
Default = 1
This item defines the touch frame to be used in the touch schedule. This determines the x, y,
and z directions for the search motion. The same touch frame can be used in more than one
touch schedule. When using multi-arm simultaneous touch sensing, each touch process robot
can define its own touch frame within the same touch frame number.
Search Patterns
Default = SIMPLE
This item defines the type of object to be searched and causes the software to compute the
found position or positional offset information dependent on the search pattern selected. The
computed data is stored in a position register. There are four available search patterns:
Pattern Type
Default = 1_D Shift
1_D Shift
2_D Shift
3_D Shift
1_D Offset
2_D Offset
3_D Offset
•
Simple Search
•
Fillet Search
•
V-Groove Search
•
OD/I D Search
This item selects the type of offset to be stored in the position register. Six pattern types
are available: Stores a one dimensional offset. Offsets can be in the x, y, or z direction.
Stores a two dimensional offset. Offsets can be in two of the x, y, or z direction. Stores a
three dimensional offset to a program. Offsets are in the x, y, or z direction. Stores a one
dimensional offset with rotation about the axis of which the search is not performed. Stores a
two dimensional offset with rotation about the axis of which no searches are performed. For
example, if the object is being searched for an offset in both the x and y directions, a 2_D
Shift & Rotate search can offset for a rotation about the z axis. Stores a three dimensional
offset with rotation about the axis of which no searches are performed. For example, if the
object is being searched for an offset in both the x and y directions, a 3_D Shift & Rotate
search can offset for a rotation about the z axis.
Note Simple, OD/ID, and V-Groove search patterns are pre-defined. Changing the pattern type for
these searches has no effect.
Incremental Search
Default = ON
NOTE: Simple search
does not support
incremental search
29–22
MAROUAR9102171E REV F
29. TOUCH SENSING
ITEM
DESCRIPTION
Auto Return
Default = ON
This item moves the robot back to the search start position when contact is made with the
object. If set to OFF, the robot stops at the contact point and moves straight to the next
position.
Return Speed
Default = 100 mm/sec
This item specifies the speed at which the robot will return to the search start position upon
making contact with the part.
Return Distance
Default = 2000 mm
Minimum = 0 mm
Maximum = 2000 mm
When Auto Return is set to ON, Return Distance specifies the distance the robot will return
automatically. If the return distance passes the initial search start position, the robot will
return to the initial start position.
Reference Group
This item specifies how the offset is recorded:
•
0 : There is no reference group and no leader group. OFFSET is recorded with respect
to the robot itself.
•
1 : OFFSET is recorded with respect to the UFRAME of robot group 1.
•
2 : OFFSET is recorded with respect to the coordinated frame of robot group 2 (leader)
Caution
Searches and offsets for coordinated motion cannot be mixed with
non-coordinated. That is, you cannot do searches for coordinated motion,
then do searches for non-coordinated motion, and then use the offset from
the coordinated motion search. You must use the offsets for coordinated
motion searches before doing any non-coordinated searches. Similarly, you
must use any offsets from non-coordinated motion searches before doing
any coordinated motion searches.
Return Term Type
Default = Fine
•
3 : OFFSET is recorded with respect to the coordinated frame of robot group 3 (leader).
•
4 : OFFSET is recorded with respect to the coordinated frame of robot group 4 (leader).
•
5 : OFFSET is recorded with repsect to the coordinated frame of robot group 5 (leader).
NOTE: For searches other than simple search, Reference Group must equal the frame
Reference Group. Otherwise, an error message, "Reference grp mismatch," will be
displayed. For simple search , Reference Group must be 1. Otherwise an error
message, "Illegal motion ref. grp," will be displayed.
This item specifies the termination type the robot will use to return to the search start position.
Five Return Term Types are available:
•
FINE
•
CNT20
•
CNT40
•
CNT100
29–23
29. TOUCH SENSING
MAROUAR9102171E REV F
ITEM
DESCRIPTION
Contact Record PR
Default = 32
The search output position register is used as a temporary buffer to hold the last search
contact position. The purpose for this temporary position register buffer is to provide the ability
to look at the positional data of an individual search, or to extract data from the buffer in a
program. By default, this register is position register 32. The search output position register
should be assigned to the last position register number in your system.
Warning
The data position register is overwritten at each motion so the same
position register should not be used to store the final positional data from
the search motion. Also, the contents of this temporary buffer is a real
position, not an offset. Do not program motion instructions to use this
position register data as an offset.
Error on Failure
Default = ON
This item posts error code THSR - 017( PAUSE) No contact with part , if the search move
exceeds the distance set in Search Distance. When OFF, the program execution continues
with the next instruction if the Search Distance is exceeded; Programming Hint: If this is
set to OFF, the next instruction in the program looks at the contents of the Error Register
and branches accordingly.
Error Register Number
Default = 32
When Error On Failure is set to OFF, this register is set to 1 when the search distance is
exceeded. A successful search sets this register to 0.
Robot Group Mask
This item specifies the motion group performing the search move and to which the offset is
applied. When using DualARM or Multi-Robot systems this can be group 1 or 2. For single
group systems this will always be 1. For coordinated motion Touch Sensing, the leader
and follower groups must be included in the touch frame you select. Robot group mask
together with reference group should be equal to TP program group mask that uses this
touch schedule, otherwise an error "Group number mismatch" will be posted. When using
multi-arm simultaneous touch sensing, all touch process robots used by this schedule should
be included in this item.
Procedure 29-4 Defining Touch Schedules
Steps
1. Press DATA.
2. Press F1, [TYPE].
3. Select Touch Sched. You will see a screen similar to the following.
29–24
MAROUAR9102171E REV F
DATA Touch Sched 1/32
(mm/sec)
(mm) FRAME
1
50.0
100.0
1
2
50.0
100.0
1
3
50.0
100.0
1
4
50.0
100.0
1
5
50.0
100.0
1
6
50.0
100.0
1
7
50.0
100.0
1
8
50.0
100.0
1
9
50.0
100.0
1
29. TOUCH SENSING
MASTER
OFF
OFF
OFF
OFF
OFF
OFF
OFF
OFF
OFF
GMASK
1
1
1
1
1
1
1
1
1
4. Move the cursor to the desired schedule number.
5. To display more information about the schedule, press F2, DETAIL. See the following
screen for an example.
DATA Touch Sched 1/17
1 Touch Schedule:8
[
2 Master flag:
3 Search speed
4 Search distance
5 Touch frame
6 Search pattern
7 Pattern Type
8 Incremental search:
9 Auto return:
10 Return speed
11 Return distance:
12 Reference Group:
13 Return term type:
14 Contact Record PR:
15 Error on failure:
16 Error register num:
17 Robot Group:
Touch
]
OFF
50.0 mm/sec
100.0 mm
2
Simple
2_D Shift
ON
ON
100.0 mm/sec
2000.0 mm
1
Fine
31
ON
32
[1,*,*,*,*,*,*,*]
6. Set each schedule item as desired.
7. To add a comment:
a. Move the cursor to the to the comment line and press ENTER.
b. Select a method of naming the comment.
c. Press the appropriate function keys to add the comment.
d. When you are finished, press ENTER.
8. To copy schedule information from one schedule to another:
a. Press NEXT, >.
29–25
29. TOUCH SENSING
MAROUAR9102171E REV F
b. Move the cursor to the schedule you want to copy.
c. Press F2, COPY.
d. Type the number of the schedule to which you want to copy the data.
e. Press ENTER. The data will be copied, but the comment will not be copied.
9. To clear the information you have entered for a schedule:
a. Move the cursor to the schedule.
b. Press NEXT, >.
c. Press F2, CLEAR. The data will be cleared, but the comment will not be cleared.
d. To continue, press F4, YES, otherwise, press F5, NO.
29.4 TOUCH SENSING PROGRAMMING
29.4.1 Programming Overview
A touch sensing routine consists of search instructions to locate an object, and offset instructions
to displace programmed positions.
Note Any changes to the tool frame affects the touch start position.
Caution
Recorded positions and position registers are affected by UFRAME, and
UFRAME has an effect during playback. If you change UFRAME, any
recorded positions and position registers will also change.
29.4.2 Touch Sensing Instructions
Touch sensing instructions are used to implement touch sensing programming. Four touch sensing
instructions are provided:
• Search Start
• Search End
• Touch Offset
• Touch Offset End
Note See Section 7.8 for detailed information about the touch sensing instructions.
29–26
MAROUAR9102171E REV F
29. TOUCH SENSING
29.4.3 Touch Sensing Motion Option
Search [ ] Motion Option
J P[1] 50% Fine Search [ ]
There is one Touch Sensing motion option: Search [ ]..The Search [ ] motion option directs the
motion of the robot (in a positive or negative x,y or z direction) to search for the object. The x, y,
and z vectors are defined by the touch frame assigned in the touch schedule. When contact is made
with the object, the robot's current TCP position is stored and robot motion is stopped.
The Search [ ] motion option is entered at the end of a motion instruction.
Note Search and Search Start must use FINE termination type.
The recorded position that has the search motion option is not executed, so motion to the search
start position must be recorded in a separate motion instruction. See Figure 29–12 .
Figure 29–12. Touch Sensing Motion Option Example
Warning
Motion speed and direction are controlled by values set in the touch
schedule assigned by the Search Start instruction, not by the motion
instruction associated with that line of the program. The motion
and speed could be different than what is displayed on the motion
instruction.
Use Procedure 29-5 to add a Search[ ] instruction.
Procedure 29-5 Adding a Search [ ] Instruction to a Program
Note Refer to Chapter 8 CREATING A PROGRAM for details on creating and modifying a
program.
Steps
1. Jog the robot to the search start position and record the position.
2. Record another position at the same location. This second motion instruction will be
controlled by the touch sensing software during the search.
3. Move the cursor to the end of the motion instruction line of the selected position.
4. Press F4, [CHOICE], to view the motion option choices.
5. Select 8, Next Page
29–27
29. TOUCH SENSING
MAROUAR9102171E REV F
6. Select Search and press ENTER.
7. Select the direction of the search to be performed and press ENTER.
29.4.4 Motion Instructions Used with Touch Sensing
Touch sensing routines, using a simple search, apply the positional data by using a motion
instruction. A simple search stores an actual position in the specified position register.
After a "simple" search routine, the touch sense software will calculate a real position (x,y,z,w,p,r)
and put the data in the position register defined by the SEARCH START[1] PR[x] instruction.
Since this is a real position, the robot will be commanded to move to the position in the position
register instead of to a recorded position.
Example:
J
PR [4]
100% FINE
ARC START [1]
J PR[4] 100% FINE ARC START[1] shows where position register
4 is
the position register specified in the simple search routine.
29.4.5 Executing a Touch Sensing Program
When executing a touch sensing program, all testing and cautions must be followed. Refer to
Chapter 9 TESTING A PROGRAM AND RUNNING PRODUCTION for more information about
testing programs and running production.
For Fillet/Lap, V-Groove, OD/ID search pattern programs you must establish master positions for
all search motion by:
1. Setting the master flag in the touch schedule that is specified in the SEARCH START
command used to ON.
2. Running the program to establish master positions for all search motions.
3. Setting the master flag in the touch schedule that is specified in the SEARCH START
command to OFF.
Refer to Chapter 8 CREATING A PROGRAM for details on creating and modifying a program.
29.4.6 Touch Sensing Robot Position Touchup
You can use the function key F5, TOUCHUP, when editing your program to modify the recorded
robot position. When you use the TOUCHUP function with touch sensing, the new positional
information is added to the offset information to determine the weld path. Use Procedure 29-6 to
touch up robot positions in a touch sensing program.
29–28
MAROUAR9102171E REV F
29. TOUCH SENSING
Figure 29–13 shows an example of points that require touching up. Refer also to Section 29.5.2
and Section 29.5.3 .
Figure 29–13. Points that Require Touching Up
In order to correctly touch up Touch Offset positions, follow Procedure 29-6 .
Procedure 29-6 Touching Up Robot Positions in a Touch Sensing Program
Steps
1. Execute the program so that the search data is complete and the position register contains
the offset information.
2. Execute the line of your program that contains the Touch Offset instruction.
Caution
Do not execute a Touch Offset End instruction and then use backward
execution to move to the program line that contains the robot position
you want to touchup. Otherwise, the offset data will be incorrect.
3. Single step to a line in the program that contains the first robot position that you want to
touch up.
4. Jog the robot to the new position, press and hold in the SHIFT key and press F5, TOUCHUP.
5. Touch up all necessary robot positions between the Touch Offset Start and Offset End
positions.
29.4.7 Programming Examples
Example programs contained in this section include:
• Simple search - Figure 29–14
• One-dimensional search (Fillet/Lap, V-Groove) - Figure 29–15
• Two-dimensional with rotation - Figure 29–16
• Two-dimensional with coordinated motion - Figure 29–17 , Figure 29–18 , and Figure 29–19
• Simple search with coordinated motion - Figure 29–20
29–29
29. TOUCH SENSING
MAROUAR9102171E REV F
Note Do not use a continuous term type (CNT) for motion that is right before a Search. Instead,
use the FINE term type. See line 3 in the Simple Search Example Program. If you use continuous,
the search cannot compute a valid offset.
Figure 29–14. Simple Search Example Program
Note Simple search is different from all other searches in two aspects: First, the master flag in
the schedule is always set to off. Second, the position register contains an absolute position
instead of an offset.
Figure 29–15. One-Dimensional Search Ex. Prog. (Fillet/Lap, V-Groove)
29–30
MAROUAR9102171E REV F
29. TOUCH SENSING
Figure 29–16. Two Dimensional Search Example Program
Caution
Searches and offsets for coordinated motion cannot be mixed with
non-coordinated motion. That is, you cannot do searches for coordinated
motion, then do searches for non-coordinated motion, and then use the
offset from the coordinated motion search. You must use the offsets for
coordinated motion searches before doing any non-coordinated searches.
Similarly, you must use any offsets from non-coordinated motion searches
before doing any coordinated motion searches.
29–31
29. TOUCH SENSING
MAROUAR9102171E REV F
Figure 29–17. Two Dimensional Search with Coordinated Motion Example Program (See
Figure 29–18 and Figure 29–19 for illustrations)
Figure 29–18. First Illustration of Two Dimensional Search with Coordinated Motion Program
Example
29–32
MAROUAR9102171E REV F
29. TOUCH SENSING
Figure 29–19. Second Illustration of Two Dimensional Search with Coordinated Motion
Program Example
Figure 29–20. Simple Search with Coordinated Motion Example Program
Three Dimensional Search Example Program
The 3D search is very similar to the 2D search. To do a 3D search, add searches in the z-direction.
29–33
29. TOUCH SENSING
MAROUAR9102171E REV F
Figure 29–21. Three Dimensional Search with Rotation Example Program (See Figure 29–22
for an illustration)
Figure 29–22. Illustration of Three Dimensional Search with Rotation Program Example
29–34
MAROUAR9102171E REV F
29. TOUCH SENSING
29.5 TOUCH SENSING MASTERING
29.5.1 Mastering Overview
Touch sensing provides a method for determining part location and automatic adjustment of the
robot path, to compensate for part displacement. This section contains the details of mastering a
part for touch sensing with the following items:
• Mastering
• Remastering
• Offsets
• Patterns
• Master Flag
• Touching up Path Positions and Incorrect Touch Up
• Adding New Positions
• Multiple Searches
• Touching Up Search Start Positions
29.5.2 Mastering
Mastering refers to defining taught positions in a program as the expected locations of positions.
When the robot follows the taught positions of the master path, then the offset is zero. An example
is shown in Figure 29–23 .
29–35
29. TOUCH SENSING
MAROUAR9102171E REV F
Figure 29–23. Part in Mastered Position and Offset Applied Illustration
29.5.3 Remastering
The touchup procedure described in Section 29.5.10 should work for most instances where the
search start positions do not need to be moved or if the parts do not change drastically.
Remastering is required if the search start positions must be retaught. Also, if the path must be
altered significantly, it is recommended to remaster to ensure a correct path.
Remastering is accomplished by turning the Master Flag ON and running through the program.
The path followed will be the master path with no offset applied. Points not in the correct location
must be touched up. After executing the program, the Master Flag is turned OFF. For touching up
path positions refer to Section 29.5.7 .
In addition, if the specific schedule reference group is not equal to 1 (follower), all of the mastering
information is stored with respect to the reference group. If you change the reference group in a
schedule, you will have to remaster.
Note Complex parts with multiple searches might only require remastering of specific portions
of the path.
29.5.4 Offsets
Offsets generated by touch sensing are relative to the position found while mastering. An offset is
computed by comparing the location of the part with the stored location. Figure 29–24 illustrates
the offset value.
29–36
MAROUAR9102171E REV F
29. TOUCH SENSING
• The search performed during mastering establishes the expected location (which is indicated
by the small straight line).
• This location is stored when mastering the part.
• An offset is computed by comparing the location of the part with this stored location.
• The offset is part relative when the schedule reference group is not equal to 1.
Caution
Do not mix the touch offset with a different touch schedule. If you do, an
incorrect touch offset will be applied to the nominal path.
For example, a coordinated touch offset PR[1] is derived when using touch
schedule 1 with reference to a leader group, and an absolute touch offset
PR[2] is derived when using touch schedule 2 with reference to itself. An
incorrect offset will be applied if the system uses schedule 2 to derive PR[2],
and uses schedule 1 to derive PR[1], then applies PR[2] to a TP program
without leader group and coordinated motion. An incorrect path is generated
with PR[2], since the system uses the most recent schedule 1 with reference
to a leader group.
The correct sequence is to use touch search to derive the offset, then
immediately apply touch offset in the same TP program. Thus, it will force
both Search Start and Touch Offset to use the same Touch Schedule with
the same reference group.
29–37
29. TOUCH SENSING
MAROUAR9102171E REV F
Figure 29–24. Offset Value Illustration
29.5.5 Patterns
Mastering is needed for search patterns that generate offset data. The search patterns that require
mastering are as follows:
• Fillet/Lap
• V-Groove
• Outside and Inside diameter searches
Note A simple search does not require mastering since it produces an actual location stored
in a position register.
Program Example
The following program example describes a part with a search start location and three points along
a straight path. Refer to Figure 29–25 and the program example screen shown below.
• The points are numbered according to the program example.
• The search is a two dimensional search, one in the x direction and the second in the -z
direction.
• A 2_D Fillet/Lap search was performed.
• The type of search and other details are defined in Touch Sense Schedule 3.
29–38
MAROUAR9102171E REV F
29. TOUCH SENSING
• Both searches were started at point 2 and the offset information is stored in position register 1.
• Points 5, 6, and 7 are offset according to the results of the search.
PROG_01
1: J P[1] 100% FINE
2:
Search Start[3] PR[1]
3: J P[2] 100% FINE
4: J P[3] 100% FINE Search[X]
5: J P[2] 100% FINE
6: J P[4] 100% FINE Search[-Z]
7:
Search End
8:
9:
Touch Offset PR[1]
10: J P[5] 100% FINE
11: L P[6] 20IPM CNT100
12: L P[7] 20IPM CNT100
13:
Touch Offset End
To perform incremental searches, each search must have its own start point. In the example
program, line 5 was included so the incremental search feature could be used for the second
search. If incremental is turned off , line 5 could be removed and both searches would start at the
taught location of position 2.
29.5.6 Master Flag
The first time the program is executed the part must be mastered.
• Mastering is done by turning ON the Master Flag in the Touch Sense Schedule 3.
• Execute the program.
• The search is performed and the path is followed according to the taught positions.
• After the program is completed, the Master Flag is turned OFF.
Note Incremental search is disabled while the Master Flag is turned ON.
Program Example
If incremental search does not appear to be operating as expected, check the Master Flag. The
Master Flag might have been inadvertently left on.
29–39
29. TOUCH SENSING
MAROUAR9102171E REV F
Figure 29–25. Part with One Touch Sense Start Position, 2, and Three Points along a Path,
5, 6, 7
PROG_01
1: J P[1] 100% FINE
2:
Search Start[3] PR[1]
3: J P[2] 100% FINE
4: J P[3] 100% FINE Search[X]
5: J P[2] 100% FINE
6: J P[4] 100% FINE Search[-Z]
7:
Search End
8:
9:
Touch Offset PR[1]
10: J P[5] 100% FINE
11: L P[6] 20IPM CNT100
12: L P[7] 20IPM CNT100
13:
Touch Offset End
• The path represented by points 5, 6, and 7 will be offset by the amount stored in position
register 1.
• Figure 29–26 shows the position of the master path.
• The search is performed and the offset from the master location is computed and stored in
position register 1.
• The offset is then applied to the master path to produce the new, offset path.
Figure 29–26. Illustration of the Path when an Offset is Applied
29–40
MAROUAR9102171E REV F
29. TOUCH SENSING
29.5.7 Touching Up Path Positions
Occasionally the part or its placement on a fixture will change requiring adjustment of the path.
The entire process of remastering is not need to accommodate these changes. Refer to Figure
29–27 for an illustration of offset path touchup to adjust the location of points.
Note Touch up must be performed after a successful touch sense and at the same time the offset is
being applied. Figure 29–28 illustrates the result of the touch up process.
Figure 29–27. Offset Path Touch Up to Adjust Location of Points 6 and 7
Figure 29–28. New Master Touch Up Illustration
Incorrect Touch Up
A common error is to alter the path without the correct offset being applied. Touching up must be
done after executing the search and while the Touch Offset is applied.
An example of an incorrect touch up is as follows:
• You can move through the program without executing the touch sense.
• You can touch up point 6 to place it on the part. Refer to Figure 29–29 .
• The master path has been altered as shown by the new master path. It was originally intended
for the path to be straight and follow the part.
29–41
29. TOUCH SENSING
MAROUAR9102171E REV F
Figure 29–29. Incorrect Touch Up of a Path
• The part will not be followed correctly when the program is run. Refer to Figure 29–30 .
• The offset shifts points 5 and 7 to the correct location along the part. Point 6 will not be along
the part since the master path was incorrectly touched up.
• Figure 29–30 exhibits the path that was followed after altering one point. It shows that the
part is not followed correctly.
Figure 29–30. Path Followed After Altering One Point
29.5.8 Adding New Positions
Additional points can be added in the same manner as touching up.
• The search must be completed.
• An accurate offset must be generated.
• Points can then be added to the offset path.
• The program is executed by first performing the search and then generating a valid offset.
29–42
MAROUAR9102171E REV F
29. TOUCH SENSING
Figure 29–31 illustrates adding a point to a path. The offset must be actively applied for the
master path to be correctly updated.
Note If the program is ABORTED while adding new positions, the offset is cancelled. New
positions will be taught as actual locations rather than positions with an offset applied. The results
would be similar to what is shown in Figure 29–30 .
Figure 29–31. New Point Taught while Executing the Offset Path
29.5.9 Multiple Searches
Complex programs can have multiple searches generating several offsets as shown in Figure
29–32 .
Program Example
The following program example shown in Figure 29–32 exhibits two searches that can be
performed for complex shapes.
• The first search stores the offset data in position register 1 with positions 10, 11, and 12
using the offset.
• The second search stores offset data in position register 2 with positions 13, 14, and 15
using the offset.
If a position of the taught path is to be touched up, the corresponding search must be performed.
Figure 29–33 shows the complex part with a section moved and the path represented by positions,
10, 11, and 12 which must be touched up.
• The first search must be executed to obtain an accurate offset.
• The offset is applied and the positions, 10, 11, and 12 can be touched up as normal.
• The master will be correctly updated.
If the path using positions 13, 14, and 15 must be touched up, the second search must be executed.
29–43
29. TOUCH SENSING
MAROUAR9102171E REV F
• The second search stores offset data in position register 2 with positions 13, 14, and 15
using the offset.
Note Using this method can reduce the amount of time required to adjust a small section
of the program.
See the following screen for an example.
PROG_01
1:
J P[1] 100% FINE
2:
SEARCH START[3] PR[1]
3:
J P[2] 100% FINE
4:
J P[3] 100% FINE SEARCH
5:
J P[4] 100% FINE SEARCH
6:
SEARCH END
7:
J P[5] 100% FINE
8:
SEARCH START[4] PR[2]
9:
J P[6] 100% FINE
10: J P[7] 100% FINE SEARCH
11: J P[8] 100% FINE
12: J P[9] 100% FINE SEARCH
13:
SEARCH END
14:
15:
TOUCH OFFSET PR[1]
16: J P[10] 100% FINE
17: L P[11] 20IPM CNT100
18: L P[12] 20IPM CNT100
19:
TOUCH OFFSET END
20:
21:
TOUCH OFFSET PR[2]
22: J P[13] 100% FINE
23: L P[14] 32IPM CNT100
24: L P[15] 32IPM CNT100
25:
TOUCH OFFSET END
29–44
[X]
[-Z]
[-X]
[-Z]
MAROUAR9102171E REV F
29. TOUCH SENSING
Figure 29–32. Multiple Searches can be Performed for Complex Shapes
Figure 29–33. Illustration of Part Shape Change and the Effect on Multiple Searches Performed
29.5.10 Touching Up Search Start Positions
Touching up a search start position is different from touching up the path position. If the search
start position is moved, then the search and affected path positions must be remastered. There is
one exception:
• Moving the search start position along the axis of the search.
Program Example
The following program example shown in Figure 29–34 exhibits a part and search start position.
If the search start position is too close to the part due to poor programming, changes in the part, or
a change in the part location, then
• The search start position needs only to be moved back along the search direction.
• This can be accomplished with no effect on the path positions and remastering will not be
required.
29–45
29. TOUCH SENSING
MAROUAR9102171E REV F
Program Example
The program example shown in Figure 29–35 shows the search start position moved to a new
location off the axis of the search direction.
If the search position is moved off the axis of the search direction, then:
• Remastering is required. To remaster refer to Section 29.5.3 .
Figure 29–34. Moving a Search Start Position along the Search Direction
Figure 29–35. Search Start Position moved to a New Location Off the Axis of the Search
Direction
29.6 TOUCH SENSING HARDWARE
29.6.1 Hardware Overview
Typically for GMAW (Gas Metal Arc Welding), a low voltage signal is applied to the welding
wire. When contact is made with the object, the circuit is completed and the required input signal
is sent to the robot. When the input is received, the current robot tool center point (TCP) position
is stored and robot search motion is stopped.
The touch sensing circuit is enabled in a program by the SEARCH START instruction that turns
on an output that has been assigned for touch sensing.
29–46
MAROUAR9102171E REV F
29. TOUCH SENSING
29.6.2 Touch Sensing Input Signal
The touch sensing input signal being monitored during the touch sensing routine can be any
one of the following:
• Robot Digital Inputs (RI) 1-16
• Digital Inputs (DI), can be any DI
• Welding Digital Inputs (WI) 1-8
• Wire stick detection circuit input WSI, an internal input through the process I/O WDI+, WDIYou can also set up touch sensing to monitor the condition of any RDO or DO signal as an input
signal. When the selected output turns on during a touch sensing routine, the controller reads this
as a received input signal.
Refer to Section 29.2.2 for more information.
29.6.3 Touch Sensing Enable/Disable Output Signal
Any one of the following outputs can be selected as the output to enable and disable the touch
sensing circuitry:
• Robot digital output (RO) 1 - 16
• Digital Outputs (DO), can be any DO
• Welding Digital Outputs (WO) 1 - 8
• Wire stick detection circuit enable WSE, an internal output on the process I/O board that
enables the wire stick detection circuit for touch sensing
Refer to Section 29.2 for more information on how to assign this output.
29.6.4 Simple Low Voltage Touch Sense Detection Circuit
Figure 29–36 shows the schematic for a simple low voltage circuit. Any other circuit that will
provide the required input can be used.
29–47
29. TOUCH SENSING
MAROUAR9102171E REV F
Figure 29–36. Simple Low Voltage Touch Sense Detection Circuit
29.7 LASER ANALOG INPUT NON-CONTACT TOUCH SENSING
29.7.1 Overview
Touch Sensing Search time requires a significant portion of the overall cycle time. The current
search time in the Touch Sensing Search operation normally takes about two seconds per search.
Laser Analog Input Non-Contact Touch Sensing reduces the search time to less than one second.
There are no additional teach pendant instructions required. Touch Sensing will not issue a search
29–48
MAROUAR9102171E REV F
29. TOUCH SENSING
motion if Analog Input is selected. It will read the analog value and convert it to the offset distance
based on the calibration data you provide in a data file.
Analog Input Non-Contact Touch sensing has the following limitations:
• Coordinated motion is not supported in the current implementation.
• It currently supports a single arm robot and supports only the first robot arm of a multi arm
system.
29.7.2 System Setup
Hardware Setup
You are responsible for the selection of the proper laser sensor and I/O device. The recommended
laser sensor should offer CCD technology which is not sensitive to color, texture, and angle
changes. Both Keyence LK-503 and Banner LG10A65NIQ can be selected, but Banner
LG10A65NIQ is a more cost effective option.
Laser Analog Input Calibration Data
A calibration data file “frs:th_calib.dt” is required with the following format:
MaxAnalogInput
MinAnalogInput
TotalDataPair
DistSensorToPart AnalogInput
distance 1
distance 2
.....
analog voltage 1
analog voltage 2
distance 3
analog voltage n
Note Use an offline editor to create this file and then save it in the FRS: device.
For example, the following calibration data file is created based on laser sensor Banner
LG10A65NIQ. It has 52 analog reading data pairs with a 1 mm distance difference between two
consecutive pairs. The minimum number of data pairs is 10, and the maximum is 100.
!! Touch Sensing Analog Input Calibration Data File
!
MaxAnalogInput
909
MinAnalogInput
256
29–49
29. TOUCH SENSING
TotalDataPair
!
29–50
MAROUAR9102171E REV F
52
DistSensorToPart
AnalogInput
125.659
124.659
123.659
122.659
121.659
120.659
119.659
118.659
117.659
116.659
!
115.659
114.659
113.659
112.659
111.659
110.659
109.659
108.659
107.659
106.659
909
897
884
871
860
847
834
822
810
796
105.659
104.659
103.659
102.659
101.659
100.659
99.659
98.659
97.659
96.659
!
95.659
94.659
93.659
92.659
91.659
90.659
89.659
88.659
87.659
86.659
!
661
648
636
623
610
598
585
571
558
545
785
771
759
746
734
722
709
697
685
673
532
519
506
493
480
467
454
441
428
414
MAROUAR9102171E REV F
85.659
84.659
83.659
82.659
81.659
80.659
79.659
78.659
77.659
76.659
!
75.659
74.659
29. TOUCH SENSING
401
388
375
362
348
335
322
309
296
282
270
256
29.7.3 Analog Input Touch I/O Setup
You can assign the Touch Sensing inputs and outputs from the Touch I/O Setup screen.
Refer to Table 29–4 for information on the Touch I/O Setup Screen Items. Use Procedure
Procedure 29-7 to set the sensor port type to Analog Input.
Table 29–4. Touch I/O Setup Screen Items
ITEM
DESCRIPTION
Sensor port type
Select RDI, WDI, DI, or WDI to be assigned to the touch sensor.
Sensor port number
Set the input number for the touch input
Circuit port type
Select RDO, WDO, DO or WDI to to be assigned to the touch circuit.
Circuit port number
Set the output number for the touch output.
Procedure 29-7 Setting the sensor port type in Touch I/O
1. Press MENU.
2. Select I/O
3. Press F1, [TYPE]
4. Select Touch I/O Setup
5. Move the cursor to Sensor port type and select AI. You will see a screen similar to the
following.
29–51
29. TOUCH SENSING
MAROUAR9102171E REV F
Touch I/O Setup
1/4
NAME
1
Sensor port type:
VALUE
AI
2 Sensor port number: 1
3 Circuit port type:
RDO
4 Circuit port number: 1
6. Set each item as desired.
29.7.4 Analog Input Search Direction
Analog Input Search Direction Guidelines
The laser sensor needs to be aligned with the search direction to get an accurate analog reading.
The search direction is defined by the touch frame:
• You are responsible for aligning the laser with the search direction for the Search operation.
• The search direction should be perpendicular to the part during the master operation.
• For the rotation search pattern type, the robot TCP needs to be set at the emitted light on
the laser sensor front panel.
• You can conduct a dry run by selecting the DI sensor type. Then the laser search direction
can be verified with an actual search motion.
Caution
Extra care should be taken during the dry run, otherwise damage to the
laser sensor could occur.
29.8 LASER DIGITAL INPUT TOUCH SENSING
29.8.1 Overview
Laser Digital Input Touch Sensing system supports the following features:
• Supports both Wire Touch and Laser Sensor on each robot arm.
• Supports the following advanced features:
— Multi-Arm Simultaneous Touch Sensing
29–52
MAROUAR9102171E REV F
29. TOUCH SENSING
— Coordinated motion
— Dynamic Uframe
Figure 29–37. Laser Digital Input Touch Sensing
Laser Digital Input Touch Sensing system has the following limitations:
• The user needs to teach the Laser Sensor tool frame.
• Both the laser tool frame and torch tool frame are required for Touch Sensing:
— Utilize the laser tool frame during the Touch Search motion.
— Switch back to the torch tool frame when the Touch Offset is applied.
• Based on the laser sensor type, user determines the nominal position and the range of the
sensor output ON and OFF to trigger Touch Sensing contact detect.
29.8.2 Laser Digital Touch Sensing Schedule Setup
This supports Wire Touch Sensing and Laser Touch Sensing on each robot arm:
29–53
29. TOUCH SENSING
MAROUAR9102171E REV F
Figure 29–38. Laser Digital Touch Sensing Schedule
• Touch Sensing Type
— The popup menu contains Wire Touch and Laser Sensor.
— If Laser Sensoris selected, the Auto Return function will be disabled and a search start
position is required between searches. (See the program in Example 1.)
• Laser Z Inv Signal: applies to Laser digital Touch Sensing only.
— The default value is OFF.
— When Laser Z Inv Signal is ON, Touch Sensing software will inverse the sensor input
signal internally during Z search; i.e. the sensor input OFF will be treated as contact
detected and ON as no contact.
Figure 29–39. Example 1
29.8.3 Laser Digital Touch I/O Setup
Touch I/O Setup menu supports both Wire Touch and Laser Sensor.
29–54
MAROUAR9102171E REV F
29. TOUCH SENSING
• The Touch I/O Setup menu is motion group based.
• Wire Touch and Laser Sensor have separate buffers to store the Touch I/O configurations.
Figure 29–40. Touch Sensing Type Screen
29.8.4 Multi-Arm Laser Digital Simultaneous Touch Sensing Schedule Setup
This supports Multi-Arm laser digital simultaneous Touch Sensing:
Figure 29–41. Multi-Arm Laser Digital Simultaneous Touch Sensing Schedule
Note This does not support mixed Touch Sensing Type, e.g. Wire Touch and Laser Sensor
in the same schedule.
29.8.5 Laser Digital Input Touch Sensing Program Example
/MN
1:
!SET LASER UTOOL ;
29–55
29. TOUCH SENSING
2:
3:
4:J
5:
6:
7:L
8:L
9:L
10:L
11:
12:L
13:
14:L
15:L
16:L
17:L
18:
19:
20:
21:
22:
23:
24:L
25:
26:
27:L
28:L
29:
30:
31:L
29–56
UTOOL_NUM=2 ;
RO[1:LASER ON]=ON ;
P[1] 100% FINE
;
;
Search Start [2] PR[2] ;
P[2] 100mm/sec FINE
;
P[2] 100mm/sec FINE Search[-Z]
;
P[3] 100mm/sec FINE INC
;
P[3] 100mm/sec FINE INC Search[Y]
;
P[5] 500mm/sec CNT100
;
;
P[6] 100mm/sec FINE
;
P[6] 100mm/sec FINE Search[-Z]
;
P[7] 100mm/sec FINE INC
;
P[7] 100mm/sec FINE INC Search[Y]
;
Search End ;
;
!SET TORCH UTOOL ;
UTOOL_NUM=1 ;
;
P[8] 100mm/sec FINE
;
;
Touch Offset PR[2] ;
P[9:AS] 100mm/sec FINE
;
P[10:AE] 100mm/sec FINE
;
Touch Offset End ;
;
P[11] 100mm/sec FINE
;
MAROUAR9102171E REV F
;
;
Download