Splines on FANUC robots

  • Hey y'all!


    A few months ago I switched from using KUKA robots to FANUC. I am trying to convert several KRL programs into TPP. For the most part, this is pretty straightforward, but I'm not quite sure how to handle splines. In KRL, you can just do

    Code
    SPLINE
      SPL P1
      SPL P2
      SPL P3
    ENDSPLINE


    and the robot will smoothly interpolate through all of the points (I think it's a cubic spline, but I'm not positive about that).


    I doubt I can create a program as simple as this:

    Code
    :J P[1] 100% CNT0;
    :J P[2] 100% CNT0;
    :J P[3] 100% CNT0;


    Is there a way to spline through points on FANUC, or is my best bet to calculate a bunch of intermediate points, put them in position registers, and do something like

    Code
    :J P[1] 100% CNT0;
    :J PR[1] 100% CNT100;
    :J PR[2] 100% CNT100;
    ...
    :J P[2] 100% CNT0;
    ...
    :J PR[98] 100% CNT100;
    :J PR[99] 100% CNT100;
    :J P[3] 100% CNT0;


    Thanks!

  • Fanuc doesn't have a motion type equivalent to KUKA's Spline, unfortunately.


    Your idea of:

    Code
    :J P[1] 100% CNT0;
    :J P[2] 100% CNT0;
    :J P[3] 100% CNT0;


    will result in short stops at all the points because CNT0 behaves like FINE.

  • The closest you are likely to get is with Circluar Arc moves (Ex: A P[1] 1000mm/s CNT100). These are only a circular interpolation though.


    For example, a string of A moves


    A[1]
    A[2]
    A[3]
    A[4]
    A[5]


    Moving to A[1] will be a linear move.
    Moving from A[1] to A[2] will follow the arc of the circle defined by A[1], A[2], and A[3].
    Moving from A[2] to A[3] will follow the arc of the circle defined by A[2], A[3], and A[4].
    Etc...


    This can create some very good approximations of variable curves, but it is not a true spline interpolation.

Advertising from our partners