Position of touch

  • Hello all,

    Please do you know somebody, can I use the Fanuc robot for offset position during the program by the touch position? I have a variable final position (± 2 mm) and I need some search routine for find the real position. Can I use some overload signal for it? Or some signal from robot engines?

    Thank you.

  • You need to give some more details concerning the application. What type of application is it? is it a pick and place? machine tending? arc welding? What is the robot model and which controller ?

    There are 2 functions that can help you with what you are trying to achieve. One is touch sensing and the other one is touch skip function. Touch skip usually comes together with high sensitivity collision detection function.

    If you have neither of these, then you can use High-speed skip instruction which is standard on all robots with a skip condition that monitors disturbance of the axis (or axes depending on the kind of move) but this is not really sensitive, that's why you have to give more info on the kind of application you are working with.

    You can save some hassle and look for a global vision system like pickIt which is very cost effective and a plug and play solution.

  • Hello, thanks for answer.

    I have R-30iB robot and LRMate 200iD/7L drive modul.

    Application: Robot carries the vacuum nozzle which sucks dust from processed part. This part has a variability (± 2 mm) and I need to have every time the same distance from part for precision clean.


    Please can you give me an example how to work the High-speed skip instruction?


    Thank you very much.

  • I doubt high-speed skip will help you on this kind of application. Is the workpiece flat or contoured? does the suction path involve tool orientation change?

    you can try this strategy:
    First set $MISC_MSTR.$hpd_enb to TRUE and make a cold start.

    slowly move the robot TCP towards your workpiece monitoring at the same time axis disturbance screen. Split your screen in 2 windows. Continue moving towards your workpiece until you identify which axis has the highest disturbance. Let's say its axis 5 and the disturbance just before a collision detection is 3.5.

    Then you can make a routine like this:


    J P[34] 100% CNT10 (clearance before piece)

    SKIP CONDITION $MISC[1].$HPD_TRQ[5]<(-3)

    L P[8] 10mm/sec CNT100 (approach

    L P[30] 1mm/sec FINE Skip,LBL[5],PR[18:workpiece touch]=LPOS
    PR[18:workpiece touch,3]=PR[18:workpiece touch,3]+5
    L PR[18:workpiece touch] 5mm/sec FINE
    JMPLBL[6]

    LBL[5]
    Pause
    *Put here logic that will handle the case where the robot doesnt find a workpiece during the search routine

    LBL[6]
    *cleaning path*

    If your nozzle normally touches the workpiece at for example Z= 30, modify P[30] z coord to 10, robot will try to slowly reach 10 and it will stop when the disturbance on the axis you defined (in the example axis 5) will reach the skip condition limit and save that position to PR[18]. Then it will increase Z coord of PR[18] by 5 mm and move to that position. From there, you can create a cleaning path with multiple ways:

    You could create your path as an offset to PR[18] or by using incremental moves.

    You can use PR[18] as a frame and program your cleaning path to that frame. Every cycle the robot will recalculate the User Frame and modify the cleaning path.
    To define the mentioned PR as a working user frame you can follow this example:


  • Nice, thank you very much.

    I think it will help me.


    The areas on the workpiece are flat, then it will be enough offset in the Z coordinate of the tool.

    I think I have to do some compromise between speed and accuracy, because, I am limited by takt time of the line. There will be better or ideal solution by laser distance sensor.


    We will see, I will try it...


    Sorry, but where i can finf the $MISC_MSTR.$hpd_enb fot switch to TRUE?

    Sorry, but I am a beginner with the Fanuc robots... :smiling_face:


    Thank you


    Pavel

  • Press MENU > SYSTEM > Variables. There you will find a list of all the system variables. They are sorted alphabetically. find $MISC_MSTR press enter and inside there set hpd_enb to true.

  • Hello,

    today I finally try to do some tests and I have a little problem. In the options of SKIP instruction is not the $MISC[]... choice. Do I have to turn it on somewhere?


    Thank you.

    Pavel

  • Hello,

    today I finally try to do some tests and I have a little problem. In the options of SKIP instruction is not the $MISC[]... choice. Do I have to turn it on somewhere?


    Thank you.

    Pavel

    In the options of Skip instruction you select Parameter option, you highlight the inputwith the 3 dots you press enter and you write the parameter MISC[1].$HPD_TRQ[x]<or>y where x is the axis you want to monitor and y is the amount of disturbance that the skip condition will return true

  • In the options of Skip instruction you select Parameter option, you highlight the inputwith the 3 dots you press enter and you write the parameter MISC[1].$HPD_TRQ[x]<or>y where x is the axis you want to monitor and y is the amount of disturbance that the skip condition will return true

    Nice, Thank you. I hope I won't bother you anymore.

    Have a nice day...

Advertising from our partners