Updating Tool Offset from BGLogic during motion

  • Hi all,


    I am trying to make sense of an existing robot program and I'm hoping someone can shed some light on this.


    The program is trying to track a part by adjusting a PR used as a OFFSET, PR[x] option, from some BGLogic while the motion is occurring. The BGLogic is adjusting the PR based on some feedback from a compliance device. From what I can tell, it appears that the robot only looks at the PR for the offset at the beginning of the motion, rather than continuously throughout the motion. Can someone confirm that this is how the robot would handle this?


    Assuming that you cannot update an offset during motion, any suggestions for better ways to perform this tracking? We have a PushCorp compliance device so we apply a constant pressure, the robot movements would only be to try to keep in the middle of the compliance zone.

  • I think Fanucs DPM/Dynamic Path Modification option is one way to achieve what you are looking for.


    Quick and dirty would be just looping a short <1mm Incremental motion option move until your robot position matches your desired offset.

    Crappy psudo code:


    but keep in mind that short arc and repetitive motions can cause wear issues in the robot SV/Harmonic reducers. I'm not sure exactly what your application looks like, but you will typically want to allow the pushcorp/compliant device to take up most of the small variations

  • Thanks!


    DPM does seem cool, but it is probably a little overkill for what we are doing here.


    I kind of figured you cant update an offset during the motion instruction. First step will be to disable that logic as it is causing us to overcorrect when it gets to the next motion instruction (It keeps adding offset, but the robot doesnt listen until it gets to the second half of the circle when it moves way too much).


    The PushCorp takes up most of the variation, so I don't think I would need to update every mm, but I might try breaking the circle up into a few parts and adjusting in between to keep myself in check.


    I got excited this morning when I started looking into the Arc motion instruction, due to the possibility of executing statements between the points, but it looks like you cannot change PRs for an offset as that will mess with the motion planner.


    Thanks again!

  • You can not deal with motion in BG Logic (believe me, is for the greater good hehe).

    BG Logic, like it says in it's name, is only for logic.


    Dynamic Path would be the way.


    If not, maybe you could have a sort of measurement before the job, even using the device, and apply the given variation using a pr offset.


    But like you said, the device itself should absord the variations, maybe even better than the robot.

  • Try skipping the motion when out of compliance, with immediate re-execution with new offset..

    Not sure it has necessarily to be FINE.


    LBL 10

    SKIP CONDITION= F[10:OUT OF COMPLIANCE]

    L P[1] 250mm/s FINE OFFSET PR[1] SKIP LBL 20

    JMP LBL 10

    LBL 20


Advertising from our partners