Touch Sense help

  • Good morning,

    I have an RJ3-iB robot and am trying to figure out how to set up touch sensing, mainly how to set up the schedule and the syntax for calling the search and offsets from my program.

    In the touch schedule screen, I'm presented with these options:

    1 Touch schedule
    2 Master flag - I'm guessing this has to be on when I create & first run the program, and off the rest of the time?
    3 Search speed
    4 Search distance
    5 Touch frame - What is a touch frame? I'm familiar with user frames and tool frames; assuming that a touch frame is the same thing (an xyzwpr offset from world 000000), why would I want this to be different than my user frame?
    6 Search pattern - What is the difference between Simple, Fillet/Lap, V Groove, and OD/ID? When I use anything but Fillet/Lap, I get error THSR-013 "Illegal number of search"
    7 Pattern Type - How many points in each plane do I need to search for each of these options? 1_D Shift, 2_D Shift, 3_D Shift, 3_D Shift & Rot, 2_D Shift & Rot, 1_D Shift & Rot
    8 Incremental search - What does this option do?
    9 Auto Return
    10 Return Speed
    11 Return Distance
    12 Reference group - What is this?
    13 Return term type
    14 Contact record PR
    15 Error on failure - I'm guessing that this throws a fault and stops execution instead of letting the program run with bad data?
    16 Error register number - I've gotten plenty of errors while trying to figure Touch Sense out, but I've never seen any change in the error register. It's set to 32, I'm assuming that R[32] should have some value stored any time I get an error?
    17 Robot group - I'm thinking that this has something to do with multiple robot control, is this correct?

    I've started on this with a simple 1D offset program.

    J P[1] 100% CNT100
    Search Start [1] PR[60] - I think that this is telling the program to use Schedule 1 and store the offset in PR60?
    L P[2] 100 mm/s FINE Search[X] - I've noticed that the program disregards the movement part of this line - I.E, it will start searching from Position P[1] and ignore "L P[2] 100 mm/s FINE." Is this correct? I can't find a way to insert the search command except after a movement command, it seems odd to me that the movement command serves no purpose.
    Search End
    Touch Offset PR[60] - The way I understand it, the program should take the offset stored in PR[60] and adjust every position between this line and "Touch Offset End" accordingly.
    L P[3] 100mm/s FINE
    Touch Offset End

    When I run me program with the Master flag set, the offset in PR[60] is 0,0,0,0,0,0. This seems right so far. When I move my work piece 10mm, remove the master flag, and run my program, PR[60] changes to 10,0,0,0,0,0. Again, seems right. However, when the robot moves to P[3], it goes to the same spot regardless of what the value of PR[60] is. What am I missing here?


  • 1 Touch schedule
    2 Master flag - ON while teaching & first run (stores the nominal distances), OFF apply the offset (You probably are missing this)
    3 Search speed
    4 Search distance
    5 Touch frame - Defines the search directions (X,Y,Z) usually different from UFRAME directions, that´s why is provided
    6 Search pattern & 7 Pattern Type:

    V-groove is intended ONLY for parallel shifted parts thus requires 1 search (distance) in a given direction to calculate the offset
    Simple search requires 2 distances (searchs), in 2 diferent directions (2D shifted without rotation over the same plane)
    OD\ID is similar (2D), but the distances affects mutually so an additional search in one of the directions is required to calculate the real distance
    That´s it for V-Groove, Simple Search and OD\ID

    Fillet\Lap has the most variations and can be used instead of V-groove and Simple Search
    Basically a search per direction is needed to calculate the shift and an extra one in the same direction to calculate the perpendicular rotation

    8 Incremental search - As the controller calculates the offsets they are applied to the search points, otherwise it would miss a shifted target
    9 Auto Return
    10 Return Speed
    11 Return Distance
    12 Reference group - of the Touch Frame (could be either the robot (1) or positioner)
    13 Return term type
    14 Contact record PR
    15 Error on failure - ON: whe the part is missed PAUSE and alarms, otherwise continues with next instruction
    16 Error register number - When Error on failure - OFF this register acts as a flag 0 successful touch, 1 missed
    17 Robot group - Group that does the search motion, also the one affected by the calculated offset

    I think you only need to clear the MASTER flag

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign in Now