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 ; ;