Normalizing speed along path

  • whatever you are dealing with, does not come across.

    "robot milling wood" and "nasty vibrations" does not tell what setup you have there, what the feed rate is, what the tool is, if the tool is suitable for the job and sharp, if robot load is correct etc. also not all wood is equal, cutting oak and balsa is NOT the same.

    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

  • I have a 8KW mill and I'm using very conservative feed rates.

    If I set the CDIS to 0.1, the robot makes a little jerk at each point and it's aweful : it makes little dents in the material, and just feels wrong.


    If I use a CDIS of 3, the sharp angles are smooshed and the tool exits the material too soon and leaves little ridges.


    Are you going to stickle me to death or give me general guidance about CDIS and CVEL for milling ?

    :smiling_face:

  • Ok, ok, fair enough Panic.


    Anyways, are there any milling experts here that could guide me in the lines of :

    -In what milling use case does C_Vel give better results that C_Dis ?

    -Is there a general rule that can be used to get optimal values for these parameters, depending on the smallest detail/feature in the milling ?

  • -In what milling use case does C_Vel give better results that C_Dis ?

    C_VEL does the same thing C_DIS does, except that C_VEL prioritizes a fixed speed through the approximation path, where C_DIS prioritizes the the shape of the arc, allowing speed variance.


    Have you tried Spline blocks? They're more finicky, but can be more amenable to maintaining a path through lots of points, instead of "cutting corners".

    -Is there a general rule that can be used to get optimal values for these parameters, depending on the smallest detail/feature in the milling ?

    Not really, no. There's a reason that the software stack for doing this professionally is $$$. And even then, there's still a substantial amount of trial-and-error required. CNC machines brute-force their way through sharp corners, material resistance, cutter "recoil" forces, etc, but robots can't. For small sharp details, you'd better have a cutter much smaller than the detail, and be prepared to either accept rounding, or accept coming to a momentary dead stop in the corners.

  • Hello everyone,


    i want to share our experience.


    Kuka has various motion command,


    LIN and PTP [in the <8.5 KSS]

    SLIN and SPTP [for the newer controller]

    and SPLINE.


    Our goal was to reach a constant speed, upper than 800mm/s and may free from random speed or acceleration spike.


    As you know, the kuka's interpulator is running slower than a lot of other concurrent robot, and due to this [may the story is a little bit deeper] if you want to use the canonical command [lin or slin] you have to put some points far up to 20mm.


    The only way, admitted at now, is to use the spline block function.


    After several test the spline block really keeps a constant speed, reduce at minumum the fluctuation of speed and never slow down the advance pointer [so you can also put points very very close!]


    The attached picture show the difference between the SLIN and the SPLINE Block function.


    The SLIN is the blue, the red is SPLINE, is clear that the SLIN cmd never stabilize on a speed and jump around the setpoint.



  • Well the explanation above why you can not use SLIN and LIN to reach your desired velocities is wrong and in realty has nothing to do with interpolator cycle times or an slow down effect on the advance run pointer. But in effect what you see is not surprising even with the real reasons and I would recommend also spline blocks for this hence it does not matter.


    Fubini

  • if you want to use the canonical command [lin or slin] you have to put some points far up to 20mm.

    Hi Montanaro,


    Thanks for your post.

    What do you mean exactly by this ?Do you put a point every 20mm, even on straight trajectories ?

    What C_DIS value do you use to prevent "stuttering" on these points ?

  • CNC machines brute-force their way through sharp corners,

    Hi Skye,


    Thanks for the explanations.

    Would the following be a good overall strategy ?

    Since I'm generating my paths with Grasshopper, I can pretty much control anything regarding distribution of points.

    The idea would be to set a large C_DIS value and control the accuracy in sharp corners by adding extra points closer to the corner than the C_DIS value.

    Would that work ?

  • yes


    approximation distance is always trimmed down automatically if it exceeds half the length of the current segment (distance between points).

    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

  • Only to a limited degree. "Crowding" points in the corner will counteract the large $APO_DIS value, but you'll quickly hit the point where the points are so close together that the path smoothing breaks down entirely and the motion becomes herky-jerky.

Advertising from our partners