Acceleration and Velocity for CP and PTP

  • After a lot of reading it is still not entirely clear to me how to set acceleration and velocity for CP or PTP moves (KRC4, 8.3.32).


    So far i found that $ACC.CP defines the TCP acceleration and axis-wise accelerations seem to be set with $ACC_AXIS[1...6] in deg/sec.
    Likewise $VEL.CP and $VEL[1...6] define the respective velocities.


    (1)
    How do the values in $ACC and $ACC_AXIS relate?
    Is $ACC ($VEL) used for CP moves and $ACC_AXIS ($VEL_AXIS) for PTP moves?


    (2)
    If my assumption for (1) is correct: can a definitive ( e.g. m/s or m/s²) acceleration be set for PTP moves?


    (3)
    Am i correct that just writing to these values à la "$VEL.CP = 1.2" is a valid way to change acceleration or velocity for the next LIN/PTP?


    (3)
    What is the difference between the "swivel" and "rotation" values ORI1/2 in $ACC and $VEL?
    Or: What is the difference between swivel and rotation? Both translates to the same in german with a standard web-translator :stupid:

  • Do you have system variable manual for KSS 8.3 and 8.4?



    Take a pencil, keep it vertical and roll it between your palms. That is "rotation".(note axis of rotation is fixed)



    Keep pencil vertically on a table and then... let go and watch it fall. It can fall in any direction. This is "swivel".

    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


  • Do you have system variable manual for KSS 8.3 and 8.4?


    Yes. But it is not in there. E.g. it says $ACC "contains the cartesian acceleration". It does not say how this relates to $ACC_AXIS, PTP or LIN. For example, when performing PTP the TCP moves and the axes move. So theoretically both, $ACC_AXIS and $ACC.CP values could be relevant to a PTP motion. Neither does it say anything about wether these variables must, can or should be used to read or set the acceleration / velocity or whether there might be some other, better command.


    Please be patient with me, i am only a computer scientist knowing math, but the terminology used seems slightly different for some things in robotics...




    Take a pencil, keep it vertical and roll it between your palms. That is "rotation".(note axis of rotation is fixed)


    Keep pencil vertically on a table and then... let go and watch it fall. It can fall in any direction. This is "swivel".


    Okay i do not quite understand your explanation. Is rotation a rotation about the tool direction axis and a swivel a rotation about any other axis that is perpendicular to the tool?
    As in https://en.wikipedia.org/wiki/…a/File:3D_Spherical_2.svg swivel is a change in phi and rotation a change in theta where the Z-direction in the image is the tool direction axis (which is x by default in kuka)?

  • Quote

    It does not say how this relates to $ACC_AXIS, PTP or LIN.


    Old Motion (PTP, LIN, CIRC)
    PTP are axis specific movements, so no cartesian restrictions are used.
    LIN/CIRC are cartesian movements, so no axis specific restrictions are used.


    New Motion (Ptp_Spline, Spline, SLin, SCirc, SPtp)
    SPTP is the same as PTP in old Motion only $GEAR_JERK is added
    Spline, SLin, SCirc: The same as old Motion Ptp (!) only cartesian velocity $Vel.Cp and $Jerk are added. Additional (optional) restrictions can be added using $SPL_VEL_RESTR


    If you are Computer scientist it is probably easy to study bas.src which basically sets all necessary variable in case of inline form programming. Or read expert programming Manual (System Integrators Manual). These Topics are covered in there. Also the Basic programming courses offered by KUKA cover these.


    Fubini

    Edited once, last by Fubini ().

  • Thanks, fubini for pointing that differences out.



    If you are Computer scientist it is probably easy to study bas.src which basically sets all necessary variable in case of inline form programming. Or read expert programming Manual (System Integrators Manual). These Topics are covered in there. Also the Basic programming courses offered by KUKA cover these.


    I have the integrators manual and i have read it from top to bottom with focus on movement programming and the whole expert chapter.
    Everyone seems to assume that information is covered there (i would assume so myself), however IT IS NOT :mad: (prove me wrong). $ACC or $VEL is not even mentioned anywhere but in 2-3 examples codes where its functionality is not explained.


    Also the system variables manual rather lists variables and does not explain their function in detail.


    Unfortunately my company is not willing to pay for training courses.

    Edited once, last by toro ().

  • Quote

    Unfortunately my company is not willing to pay for training courses.


    Using machinery that can kill people without proper training is grossly negilgent. In my country (Germany) you go to jail if something happens and the prosecutor finds out that the machine user are not qualified. Tell this to your bosses.


    Fubini

  • Fubini
    Well, we have qualified people setting up the robots and doing all the safety things etc on site... i am more like a backend programmer. However i don't want to go down that road of discussing liability here ...



    Quote


    Is rotation a rotation about the tool direction axis and a swivel a rotation about any other axis that is perpendicular to the tool?
    As in https://en.wikipedia.org/wiki/…a/File:3D_Spherical_2.svg swivel is a change in phi and rotation a change in theta where the Z-direction in the image is the tool direction axis (which is x by default in kuka)?


    Anyone can say anything to the swivel vs. rotation thing?

  • I know I used to have a document that detailed this, but I'm having no luck digging it out.


    It is described in the KSS 8 Training Manual "Robot Programming 2," but even there it's a very brief note:

    Quote


    The working direction of the tool is the X axis in most cases. The rotational
    velocity is the rotation about the X axis with angle C. Swivel
    velocity is the velocity of the swivel motion about the other two angles
    (A and B).

  • If you simplify a lot there are two ways velocity works: linear(continuous path (CP) and PTP (Axis)).
    linear speed is set by m/s
    PTP set by axis velocity by %

    For linear speed you can set gear velocity limits(%), but can't set linear speed (m/s) limit to PTP motion.
    Examle: if you rotate the tool around TCP, then linear speed is 0 m/s, but axis speed can be 100%, sometimes you want to limit that.


    And check out this manual, I think it can give you a lot knowing your background: https://www.google.lt/url?sa=t…Vaw09ANLb_nlX2EjNHjyBDLNz

  • panic mode thats a good representation of velocity of rotational and swivel.


    but how does the velocity works? any idea.


    i have given


    $VEL.ORI1=200
    $VEL.ORI2=200
    $ACC.ORI1=100
    $ACC.ORI2=100


    $VEL.ORI1 can go up to 400 max. what kind of velocity is it?. is it TCP velocity maintained during rotational and swivel1?


    help

    All is well

  • No. For example if the TCP stand on the same position and only the orientation changes the TCP has velocity zero. But the tool changes orientation with the speed/acceleration given in the mentioned variables.

  • Check your science textbooks... fundamentals cover Newtonian motions, definitions of velocity, acceleration and jerk, linear and rotary motion, etc.



    Variables have values and units. Units are very important.



    Any physics course or textbook has this covered in depth.



    Forum and robot manuals are not a substitute for formal education. Rather formal education is prerequisite.
    Then one is able to take robot training and understand things.
    And then forum makes sense as a place to exchange ideas among experts.

    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

Advertising from our partners