1. Home
    1. Dashboard
    2. Search
  2. Forum
    1. Unresolved Threads
    2. Members
      1. Recent Activities
      2. Users Online
      3. Team Members
      4. Search Members
      5. Trophys
  3. Articles
  4. Blog
  5. Videos
  6. Jobs
  7. Shop
    1. Orders
  • Login or register
  • Search
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Blog Articles
  • Products
  • More Options
  1. Robotforum - Support and discussion community for industrial robots and cobots
  2. Forum
  3. Industrial Robot Support and Discussion Center
  4. Fanuc Robot Forum
Your browser does not support videos RoboDK Software for simulation and programming
Visit our Mainsponsor
IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Sponsored Ads

FANUC smoothing with radius (not CNT)

  • Vlad222
  • October 28, 2018 at 7:05 PM
  • Thread is Resolved
  • Vlad222
    Reactions Received
    2
    Trophies
    4
    Posts
    161
    • October 28, 2018 at 7:05 PM
    • #1

    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.

  • Nation
    Typical Robot Error
    Reactions Received
    522
    Trophies
    9
    Posts
    1,900
    • October 28, 2018 at 8:44 PM
    • #2

    I beleive you have to have the advanced motion package, but with that you can change your termination type to CR, which stands for corner radius.

    Check out the Fanuc position converter I wrote here! Now open source!

    Check out my example Fanuc Ethernet/IP Explicit Messaging program here!

  • Vlad222
    Reactions Received
    2
    Trophies
    4
    Posts
    161
    • November 1, 2018 at 12:59 PM
    • #3

    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.

    Images

    • trajectory.PNG
      • 431.77 kB
      • 1,222 × 1,611
      • 65
    • cr_performance.PNG
      • 586.23 kB
      • 1,597 × 1,313
      • 59
    • cnt50.PNG
      • 486.61 kB
      • 1,604 × 1,291
      • 46
    • cnt60.PNG
      • 476.56 kB
      • 1,612 × 1,293
      • 26
    • cnt75.PNG
      • 445.6 kB
      • 1,608 × 1,290
      • 17
    • cnt100.PNG
      • 495.26 kB
      • 1,605 × 1,302
      • 33

    Files

    trajectory.PNG_thumb 19.8 kB – 279 Downloads cr_performance.PNG_thumb 25.19 kB – 274 Downloads cnt50.PNG_thumb 22.03 kB – 268 Downloads cnt60.PNG_thumb 22.49 kB – 265 Downloads cnt75.PNG_thumb 19.86 kB – 264 Downloads cnt100.PNG_thumb 20.56 kB – 262 Downloads bench_cr.txt 25.31 kB – 20 Downloads bench_orig.txt 25.94 kB – 15 Downloads

    Edited once, last by Vlad222 (November 2, 2018 at 2:08 PM).

  • Fabian Munoz
    Reactions Received
    133
    Trophies
    9
    Articles
    1
    Posts
    1,517
    • November 1, 2018 at 5:23 PM
    • #4

    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

  • Robo_Eng_13
    Reactions Received
    26
    Trophies
    4
    Posts
    432
    • November 1, 2018 at 8:24 PM
    • #5

    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.

  • Fabian Munoz
    Reactions Received
    133
    Trophies
    9
    Articles
    1
    Posts
    1,517
    • November 1, 2018 at 9:26 PM
    • #6

    which means You (the robot, not you) really have no clue how many millimeters is before of after or whatever
    For me, programming CNT beside common sense is trial and error

    Retired but still helping

  • Vlad222
    Reactions Received
    2
    Trophies
    4
    Posts
    161
    • November 2, 2018 at 2:07 PM
    • #7

    : )

    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 ;

    Edited once, last by Vlad222 (November 2, 2018 at 2:13 PM).

  • kluk-kluk
    Reactions Received
    51
    Trophies
    5
    Posts
    300
    • November 5, 2018 at 9:01 AM
    • #8

    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.

  • Vlad222
    Reactions Received
    2
    Trophies
    4
    Posts
    161
    • November 6, 2018 at 12:08 PM
    • #9
    Quote from kluk-kluk


    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/robotforum/fan…mber-of-points/

  • lemon132
    Reactions Received
    2
    Trophies
    2
    Posts
    14
    • May 3, 2022 at 8:28 AM
    • #10
    Quote from Vlad222

    : )

    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

IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Advertise in Robotics
Advertise in Robotics

Job Postings

  • Anyware Robotics is hiring!

    yzhou377 February 23, 2025 at 4:54 AM
  • How to see your Job Posting (search or recruit) here in Robot-Forum.com

    Werner Hampel November 18, 2021 at 3:44 PM
Your browser does not support videos RoboDK Software for simulation and programming

Tag Cloud

  • abb
  • Backup
  • calibration
  • Communication
  • CRX
  • DCS
  • dx100
  • dx200
  • error
  • Ethernet
  • Ethernet IP
  • external axis
  • Fanuc
  • help
  • hmi
  • I/O
  • irc5
  • IRVIsion
  • karel
  • kawasaki
  • KRC2
  • KRC4
  • KRC 4
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • robodk
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000

Thread Tag Cloud

  • abb
  • Backup
  • calibration
  • Communication
  • CRX
  • DCS
  • dx100
  • dx200
  • error
  • Ethernet
  • Ethernet IP
  • external axis
  • Fanuc
  • help
  • hmi
  • I/O
  • irc5
  • IRVIsion
  • karel
  • kawasaki
  • KRC2
  • KRC4
  • KRC 4
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • robodk
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000
  1. Privacy Policy
  2. Legal Notice
Powered by WoltLab Suite™
As a registered Member:
* You will see no Google advertising
* You can translate posts into your local language
* You can ask questions or help the community with your knowledge
* You can thank the authors for their help
* You can receive notifications of replies or new topics on request
* We do not sell your data - we promise

JOIN OUR GREAT ROBOTICS COMMUNITY.
Don’t have an account yet? Register yourself now and be a part of our community!
Register Yourself Lost Password
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on Google Play
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on the App Store
Download