Circular moves

  • It looks like you want to kind of vibrate the part to make it easier fit into the box, right?
    I already looked for this feature but could not find it too. It would help placing my parts on a pretty tight fitted holder.


    I solved my problem with the folowing idea:



    It will cancel the movement when the torque in axis 3 is too high (Define the torque in R[1:Torque AX 3]), moves up a bit and tries the same movement again.
    Hope this helps!



  • Forgive me if this is a novice question, but how did you select $MISC[1].$HPD_TRQ[3]>R[1:Torque AX 3] as the Skip Condition type choice? What data type allows you to select system status variable like that?

  • Thanks Dofrey, it very useful function, I'll use it somewhere for sure,
    but not in this situation, because this movement is on very high speed, i don't have time for make other movements.
    But thanks again :winking_face::merci::fine:

  • I did a small program like this once - the robot was stacking large trays full of eggs. These trays were not always fitting together perfectly, so I added a section where this "wiggling" motion was executed, using a PR and a couple of registers to modify the amplitude as te robot was getting closer to the stack. I might even have a backup somewhere...

  • Forgive me if this is a novice question, but how did you select $MISC[1].$HPD_TRQ[3]>R[1:Torque AX 3] as the Skip Condition type choice? What data type allows you to select system status variable like that?




    One question $MISC[1].$HPD_TRQ[3]>R[1:Torque AX 3] ?
    what means : $MISC[1] and $HPD_TRQ[3]


    and what kind of value must be there? R[1:Torque AX 3]

  • From our experience, it seems that the Fanuc touch skip option does a bit more sophisticated data scrubbing than just acting the first time it sees a value beyond the set threshold. Specifically, we have robots using the option and robots using the system variable only, and those using the system variable have a much higher percentage failure rate due to very short duration torque/current spikes. With just the variable, it has no way of distinguishing between an actual torque limit being reached, and a rough spot on a bearing rail.


    It is possible that we have just had an unfortunate case of correlation without causation, but it is also possible that the Fanuc option does some internal data filtering to limit false positives on torque detection.

  • One question $MISC[1].$HPD_TRQ[3]>R[1:Torque AX 3] ?
    what means : $MISC[1] and $HPD_TRQ[3]


    and what kind of value must be there? R[1:Torque AX 3]


    Sorry for my late answer. I did not have notification turned on for this post.


    So basically what you read out of $MISC[1].$HPD_TRQ[3] is the torque of axis 3. This value you compare then to a maximum allowed value. I set R[1:Torque AX3] as 10.5
    I chose axis 3 because in this axis i have the highest torque in my application when an attempt fails.


    I do not know how precise the torque measurement is. I guess it measures the motor current and estimates the torque. But don't assume you can build a collaborative robot with this procedure :icon_wink:


    I had the case that sometimes the robot fell into a collision error when it should try again instead. To avoid this I set the collision guard to a really low level. Be careful with this option. The robot can damage things and not detecting a collision:


    Code
    1:  COL DETECT OFF ;
      2:  COL GUARD ADJUST 50 ;
      3:  COL DETECT ON ;

Advertising from our partners