FANUC smoothing with radius (not CNT)

  • Hi!


    I need smoothing for movements with radius. I use CNT but the physical meaning of CNT is the percent of desired velocity required at waypoint.
    And the positioning error while using CNT is unknown. Where can I find smoothing with radius? Something like CDIS in KUKA.

  • We use option Advanced motion package.


    I still have perfomance issues on my trajectories so i made test programs with 3 trajectories with Timers to understand how CNT and CR works.


    On the first screenshot i show 3 trajectories, first left contains 2 points, distance between them is ~800mm
    2-nd in the middle slighty longer. It is for understanding how robot will smooth trajectory.
    3-rd in right is the same as first but with 89 points (~ one point for each 9 mm)


    Linear move speed set for 800mm\sec - Data register 11
    CNT setup from Data register 10


    So then my screenshots from Roboguide with result of this timers -
    First trajectory in every case executed for about 1.0 - 1.1 seconds, so if we think with speed 800mm\sec trajectory with 800mm length should be executed close to 1 second. So this 0.05 - 0.1 sec error is normal for acceleration and deceleration.


    But 3-rd I can't understand
    CR100 - means that robot should smooth movement in radius of 100 mm, so at straight line it should move on max possible speed and i need got also about 1.1second for trajectory, but i got 13.44 !!!
    CNT50 ? what its means? 50% of maxumum speed? if so why i got 8 sec and not 2 sec?
    CNT100 ? what its means? No deceleration? Okay, why i got 1.55 and not 1 second as in first trajectory?


    P.S.
    Real robot execute this trajectories same as Roboguide. So test is robust


    For understanding why i need this tests
    I have a task with a lot of points for painting that should executed on high speed like 600 mm/sec - 1000 mm/sec
    And a lot of parts have complex geometry so i need a lot of points on trajectory to make good paint.

  • My understanding on CNT is that CNT100 does not mean 100 mm before
    CNTxx is calculated based on the speed and length of trajectory. In other words, yo have no idea what the value itself means
    You just know that 100 is wide open, 50 is halfway and 0 is almost fine

    Retired but still helping

  • My understanding is that at CNT100, it will round the corner as much as is necessary in order to safely maintain 100% of its current speed.


    CNT50 would do the same allowing it to loose up to 50% of its speed.


    CNT0 would allow it to come to a complete stop if necessary, but does not force a stop like FINE does.

  • I think it is because the speed is not fixed but in a variable.
    Every next line the program will have to check if the variable is changed, so it will stop at the end of each line.
    Try to set the speed with a fixed number.


  • I think it is because the speed is not fixed but in a variable.
    Every next line the program will have to check if the variable is changed, so it will stop at the end of each line.
    Try to set the speed with a fixed number.


    Yes, it's very helpful! 2 sec instead of 13 sec for path with CR100 :beerchug:


    But we still have a question...why robot moves between only 2 points faster than between them with intermediate points (with smoothing CNT100 or CR...)


    I created new topic for this question:
    https://www.robot-forum.com/ro…h-large-number-of-points/

  • : )


    Why robot have so bad performance with CR100 (it isn't CNT, it is CR, we use option "Advanced motion package")?


    Example:
    38:L P[26] R[11:L]mm/sec CR100 ;

    If you don't use constants, controller can't apply the famous "look ahead" feature. Unless you add "LOCK PREG" in your TP program. This line locks the registers so their values can't change during execution. You can also add "UNLOCK PREG" at the end of the TPP for ex.

Advertising from our partners