Motion interpolation beetwen procedures

  • KS V8.5.465_HF3

    KR8R1620 C4


    Hi,


    I have a question consider on motion interpolation beetwen two procedures.


    As I know, in Kuka, there is no posibility to approximate the last point in procedure but maybe sameone have a solution.


    I have a main loop in CELL which manages the actual procedure to execute. Inside the procedures a have the another ones responsible for motion commands and the utilis consider with that. So I can say the main loop in CELL is a 1 level, procedure with trajectory is 2 level and the motion procedures are 3 level.

    If the PLC choose for example procedure P1000 from main loop, the motion is going smoothly within this procedure up to the last motion. All of the motion instuctions are approximated. I want to make smooth motion (approximated) beetwen two another procedures for example p1000 -> p1100. Actualy before the last motion i get the msg 1123 and 1442.


    Mayby someone have the solution to make this movements interpolated. In my opinion this is little bit strange, because every next movement is called by the "subprocedure" and beetwen this "subprocedures" as i told the movment is smooth up to the last when the program goes down from 3 level to 1 to change the 2 levele procedure.


    I mark, the advance run does not stop, the $Advance isnt null and i explain my problem brightly. Below I added fragment of code.



    Thanks a lot for your help !


  • if you want to program smooth motions on a robot, you need to learn what Advance Run Pointer is nd how it works.


    if you have one program calling several subprograms and they all have INI, everything that motion planner could be using is reset.... this is why INI fold need only be executed once...

    removing INI from subprogram is not a good idea because in such case they cannot be really tested independently (without being called from some program that has the INI ... or equivalent).


    the best option is to add check if BCO is needed or not... by evaluating $MOVE_BCO.


    Code
    IF $MOVE_BCO THEN
    INI
    ELSE
     ; BCO is already done....
    ENDIF

    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

  • Thanks a lot for this infomative knowledge! I used your solution with CONTINUE before "IF" and it really help me but..


    Right now a have still a problem with notification 1123 "Aproximate positioning not posibble". This apperas in some points.

    I want to ask if you know what can cause this situation.

    If a really small $APO.C_DIS = 2 [mm] can affect on this ?

    If change direction of the movement can be a problem oder speed or acc ?


    Really helpful will be all yours information about movment approximation. I mark, i don want a solution, a want a clue and improve my knowledge.

  • You should at least mention specific line that causes this. Your code sample is too long for me to read.


    You can try looking up $StopNoAprox .... If you set it to true, program will not generate messages but halt execution at the line that is a problem


    Note that adding CONTINUE can be a problem (crash risk). This is why one need to understand what advance run pointer is and how it works.


    Learning is done on smaller programs...


    .

    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

  • Yeah, a understand a problem consider with CONTINUE and Advance RUN.


    If a continue works before interrupt declaration ? I have one procedure when i'm watching on hard stop detected on sensor and I think this declaration despite the application CONTINUE cause Advance Run Stop.



    Furthermore, same situations require turn off the approximation, is there a possibility to dynamic approxmiation off, oder dynamic change of $APO.CDIS ? Because right now, when the robot cant reached the approximation possition it stops "near" the position, so that cause i dont reach a one of home positions.

  • A have a problem with approximation,


    its possible, when im interpolating two points (SPTP -SLIN )beetween two procedures, and the second procedure have only SLIN instruction and in this case always i have trouble with interpolation.


    The advance run works properly and it is in the next procedure before end motion in first one .

  • You should be able to approximate this. Only if between the last motion command in your first program and the first motion command in your second subprogram is an advance run stopping command no approximation is done.


    Hint: The INI-Fold contains advance run stopping instructions.


    Quote
    Because right now, when the robot cant reached the approximation possition it stops "near" the position, so that cause i dont reach a one of home positions.


    This is normal behaviour for spline since spline stops at approximation start in case approximation is not possible. Read documentation on spline please:


    Approximating/branching Spline motions - KUKA Robot Forum - Robotforum - Support and discussion community for industrial robots and cobots (robot-forum.com)


    Approximate help needed - KUKA Robot Forum - Robotforum - Support and discussion community for industrial robots and cobots (robot-forum.com)


    Punkt genau anfahren trotz Überschleifkriterium - KUKA Roboter - Roboterforum.de - die Industrieroboter und Cobot Community


    Fubini

Advertising from our partners