Base-Manipulation with KUKA LBR

  • Hello,


    I have a question and couldn't realy find that topic via the search function (maybe I just overlooked it, in that case, please redirect me)

    Situation:
    I need a program that changes the value of a baseframe, depending on the inputs I get from my camera.

    The basic idea is that I save the coordinates of my baseframe into a temporary frame, change and use the baseframe, and afterwards restore it from said temporary frame.

    I already set up everything with motionframes as childframes etc.


    Problem:

    The main issue is, that we are using applicationblocks and I can't realy permanently save these frames.

    Now, I only know how to access the frames in a read-only manner (by using the getApplicationData().getFrame("/xxxyyyzzz") function.


    If one of you guys could just tell me how to access a frame in a read-write fashion, I would be thankfull beyond imagination

    Thank you in advance and have a nice day

  • Place your Ad here!
  • not sure, have not tried it yet... but why bother modifying it?


    Say you have point P1...

    i would try creating another frame programmatically and call it P2, then load it with copy of your original frame and whatever transform.

    then do the motions any way you like without recalculating or overwriting points.


    Code
    AbstractFrame P1 = getApplicationData().getFrame("/Base1/P1");
    AbstractFrame P2 = getApplicationData().getFrame("/Base1/P1").copy(); // and whatever else such as transform...
    
    lbr.move(ptp(P1));
    lbr.move(ptp(P2));
    lbr.move(ptp(P1));

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • Ok thanks for that, I can use that as long as my original base = robot base (0,0,0,0,0,0)


    But I imagine that our customer (who uses the method I described above on KRC) will have an issue with that solution.

    The next issue I have is that I either need to save the delta values globaly or the camera needs to keep the inputs until the program is done since I use application blocks with one routine. I don't know if a variable loses its value after the routine exits.

    If neccessary I can provide the code and screenshot of the program flow, even though I'd like to keep them for myself as I'm not 100% sure if the code is to be handled as confidential.

    (and I apologize for bad technical english since I'm a born german and yes, I'm quite new to LBR. My main experience comes from KRC)

  • same would be in KRL. Btw. it is always a good idea to not modify taught points.


    suppose you do modify and restore taught point.

    if program is aborted while taught point is modified but not yet restored, next time you run it would likely cause a crash.

    hence same strategy is used in KRL:


    Code
    DECL POS tP2 ; calculated point
    
    tP2=xP1:{X 150, Y 0, Z 0, A 0, B 0, C 0}
    
    PTP xP1 ; taught point
    PTP tP2  ; calculated point
    PTP xP1 ; taught point

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • Ok, you convinced me to use that method, thank you.

    Now all I need to find out, if the delta is sent to the robot constantly but that's just my worry.

    Anyway, have a good day and thanks again

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

Advertising from our partners