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. KUKA 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

Setting Safety Speed Limits

  • mjnewsum
  • August 31, 2023 at 7:36 PM
  • Thread is Unresolved
  • mjnewsum
    Reactions Received
    1
    Trophies
    3
    Posts
    60
    • August 31, 2023 at 7:36 PM
    • #1

    Hey all, I am running some test to validate I am limiting the speed of my robot correctly.

    I am using a KRC5 8.7.5 with a KR 20 R1810-2.

    I have read through this post which was very helpful, but I still had some questions.
    How to limt the speed of KUKA robot

    I setup this simple program to make the robot Move at 200 mm, Twist 30 degrees, Swivel 30 degrees, then return to the starting position before I set any limits on the velocity.

    I ran the program before and after setting a velocity limit at 20 mm.
    I was doing this to check multiple things:

    1. make sure the velocity limit would slow down my tool after setting velocity limit
      • I monitored $VEL_ACT while running to see the speed reduction
        • Before limiting velocity, $VEL_ACT topped out at 180 mm/s
        • After limiting velocity, $VEL_ACT topped out at 15mm/s
          • I am not sure why I wasn't getting up to the set velocity. My LIN move seemed long enough to accelerate to 200 mm/s.
    2. see if any warnings or errors are thrown if I exceed my set limit
      • No warnings or errors popped up when I commanded a most at 200mm when the limit was set to 20m
        • I guess this is something I could check for in the submit and throw my own warnings
    3. confirm that swivel and twist would happen at the same speed after setting the velocity limit if the point of the positions were the same
      • Swivel and Twist happened at the same speed with or without the velocity limit (as assumed)
      • I changed $VEL.ORI1 and $VEL.ORI2 to control the rotations speeds
        • This doesn't seem like a "safe" way to limit the robot
        • I guess my only real option is to limit the degrees/s for the axis of the arm
    Code
    DECL E6POS startPos
    DECL E6POS endPos
    DECL E6POS twistPos
    DECL E6POS swivPos
    
    ;make positions
    startPos = $POS_Act
    
    endPos = startPos
    endPos.Y = endPos.Y + 200
    
    twistPos = endPos
    twistPos.c = twistPos.c - 30
    
    swivPos = endPos : {x 0,y 0, z 0,a 30,b 0,c 0}
    
    ;set coordinates
    BAS (#INITMOV, 0)
    FDAT_ACT.TOOL_NO = 0
    FDAT_ACT.BASE_NO = 0
    BAS (#FRAMES)
    
    ;set speed
    $APO.CDIS = 20
    BAS(#VEL_CP, 200)
    $vel.ori1 = 200
    $vel.ori2 = 200
    
    ;move
    PTP $AXIS_ACT
    LIN startPos
    LIN endPos
    LIN twistPos
    LIN endPos
    LIN swivPos
    LIN endPos
    LIN startPos
    Display More

    I have a couple of questions ( sorry if I provided too much information up front ).

    1. Is there a reason why the robot went slower than my commanded velocity?
      • I can understand why it didn't reach 200 mm/s before the set limit, but I don't understand why it couldn't get to 20 mm/s with the limit on the exact same move.
    2. Is there any other "safe" way to limit ORI1 and ORI2 directly other than limiting the degrees/s of the Axis?
    3. Is there a way to make the robot report warnings if the set velocity exceeds the Velocity limit
    4. Is there a way to make the robot report warnings if the joint speed is commanded to exceed rotation limits?

    Thank you for the help in advance! I hope this post is informative and helpful for others as well.

  • Go to Best Answer
  • panic mode
    Reactions Received
    1,278
    Trophies
    11
    Posts
    13,079
    • September 1, 2023 at 4:31 AM
    • #2

    There could be different things:

    Speed limited by safety config,

    Low setting of one or more overrides,

    Singularity,

    Mada,

    Etc

    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

  • Fubini
    Reactions Received
    278
    Trophies
    9
    Posts
    1,886
    • September 1, 2023 at 5:56 AM
    • Best Answer
    • #3
    Quote from mjnewsum

    make sure the velocity limit would slow down my tool after setting velocity limit

    I monitored $VEL_ACT while running to see the speed reduction

    Before limiting velocity, $VEL_ACT topped out at 180 mm/s
    After limiting velocity, $VEL_ACT topped out at 15mm/s

    I am not sure why I wasn't getting up to the set velocity. My LIN move seemed long enough to accelerate to 200 mm/s.

    If I understand this correctly you restricted velocity to 20 mm/s by setting this limit in the safety configuration and when running your program you see $VEL_ACT reaching 15 mm/s. Is this correct?

    Then probably $SR_VEL_RED is true and $SR_OV_RED in $custom.dat is set to 75 meaning non safe internal override control aims at 75% of the configured safety velocity restriction. $SR_OV_RED can be set up to a value of 95%. Since override control can lead to overshoot over and some oscillations around the velocity bound there is a safety margin. The overshoot will be maximal when entering constant velocity (acceleration needs to be reduced to zero) and fades out over time. Its not a planned trajectory but control! The higher the setup dynamics of the robt the higher the overshoot needs also to be considered. So for high speed/accelaration/torque applications the safety margin in $SR_OV_RED needs to be set to smaller values than for low speed/acc/torque applications.

    Btw. $SR_OV_RED and therefore override control is not needed if you would use spline SLIN instead of old motion LIN. Here the mechanism is no longer control (a beforehand planned trajectory needs to be stripped down during execution) but the reduction is considered differently and the overshooting override control is not applied.

    Fubini

  • mjnewsum
    Reactions Received
    1
    Trophies
    3
    Posts
    60
    • September 5, 2023 at 5:26 PM
    • #4

    Thanks Fubini, I haven't ever messed with $SR_VEL_RED or $SR_OV_RED.

    This makes sense for what I was I was seeing, so I will dig into those options when I am near that machine again.

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

Similar Threads

  • Its not my birthday but it sure feels like it!

    • ericwiz7923
    • July 30, 2020 at 4:55 PM
    • Kawasaki Robot Forum

Tags

  • SPEED
  • safety
  • Limit
  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