Approximate help needed

  • Hi


    I haven't quiet yet understand or figured out how the approximation work on kuka.
    On some movements it works and on other it dos not. What am I doing wrong?


    Code:
    SLIN {X 0,Y 0,Z 100,A 0,B 0,C 0} :pPickDamper WITH $VEL.CP=1,$APO.CDIS=1 C_DIS
    SLIN {X 0,Y 0,Z 30,A 0,B 0,C 0} :pPickDamper WITH $VEL.CP=0.5,$APO.CDIS=1 C_DIS
    SLIN pPickDamper WITH $VEL.CP=0.2


    In this example approximation does not work? Tell me why not


    zicki

  • First read the pinned topic "read first" because you are missing some important information in your question.
    Second describe not working, do you get an error message saying that approximation does not work or are you seeing it not work?
    Also your value for $APO.CDIS seems very low to get any approximation

    Every problem has a solution, that isn't the problem. The problem is the solution.

  • KSS Version is KRC4 V8.3.37.
    Robot type KR90 R2700 Pro


    I'm getting an error message saying approximation not possible. No detailed reason why its not working is told in the error message.


    Basically I just want the robot velocity to stay >0 when approaching/departing pick/place positions.


    On other robot brands (Fanuc/Abb) I'm used to use approximation values from 200-0mm and FINE when I want to stop at that end point
    I also used $APO.CDIS=10 C_DIS but it had no effect and robot velocity dropped to 0 when it reaches destination.



    zicki

  • Oke, if your getting the message "approximation not possible" it means that you have a advance pointer stop somewhere. advance pointer stops can happen for different reason, wait commands, setting output, reading some (system)variables.
    I myself aren't really familiar with spline motions so for details on those in combination with approximation. I cant help you with that any further. but maybe someone else can.


    What i can advise is look closely at which points exactly the robot stops and look if that there is something before that can trigger an advance run stop.
    For example if the robot stops in the first point of the sample code you supplied the problem is in the lines before.

    Every problem has a solution, that isn't the problem. The problem is the solution.

  • Old motion had a lot of situations where "approximation not possible" could happen. Spline basically only has two possible reasons for this message:


    [list type=decimal]

    • Advance run breaking instructions. This should also lead to an additional message and can be diagnosed using $STOPNOAPROX.

    • The motion coming after the blending command could not be calculated fast enough by the controller and is not yet available when the blending starts based on your programmed $APO value. This can happen if you use very small distances between your points.

    [/list]


    Anyway if you want to use fast velocities and spline you should not use single motion commands anyway. Use Spline blocks with SPL segments as often as possible and SLIN, SCIRC segments only if your contour is exactly linear or circular. Using spline blocks not blending needs to be done at all. Instead the "blending" should be done programming SPL -Segmemts, something like this:


    SPLINE
    SPL XP1
    SPL XP2
    SLIN XP3
    SPL XP4
    SLIN XP5
    SPL XP6
    ...
    ENDSPLINE


    Also spline uses not only $APO.CDIS but also the other components of $APO. Please check them as well. Using such small values as 1 or 10 in CDIS blending will in most cases not result in fast blending moves because when blending start the robot probably already has a velocity close to zero.


    Fubini

    Edited once, last by Fubini ().

Advertising from our partners