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

Pick on the fly (KukaSim)

  • sloopkogel
  • April 29, 2022 at 4:30 PM
  • Thread is Unresolved
  • sloopkogel
    Trophies
    2
    Posts
    34
    • April 29, 2022 at 4:30 PM
    • #1

    We have ordered a Kuka KR10 R1100-2, and I am now in the proces of creating a simulation for it using KukaSim (the robot will not arrive for a few months but I want to start programming / testing in simultation). In KukaSim I am using RCS version Kuka 8.6, and controller firmware version 8.6.6. (these were the default settings). I am using KukaSim 4.0 and have purchased a floating license.

    One of the things I want to achieve is for the robot gripper to track a product and move in and out to perform an operation on this product. I have now acchieved this by making a for loop where I increment Base_data[1].X by 10, followed by a SLIN move command. The problem I have with this code is that the speed is not correct because the movement is composed of 100 small movements, and after each movement the robot decelrates and accelrates, blending does not seem to work here.

    Code
    FOR COUNTER = 1 TO 100
          ;shift base Y pos
          BASE_DATA[1].Y=BASE_DATA[1].Y + 10
          
          ;linear move
          SLIN P2 CONT Vel=0.1 m/s CPDAT6 Tool[0] Base[1]:BASE_DATA[1]
          
          ;move gripper 100mm forward after 200mm
          IF (COUNTER > 20) AND (COUNTER < 30) THEN
             BASE_DATA[1].X=BASE_DATA[1].X + 10
          ENDIF
          
          ;move gripper 100mm back after 400mm
          IF (COUNTER > 40) AND (COUNTER < 50) THEN
             BASE_DATA[1].X=BASE_DATA[1].X - 10
          ENDIF
    ENDFOR
    
    ;set base back to 0 (copy data from unused base)
    BASE_DATA[1]=BASE_DATA[2]
    Display More

    Would the ConveyorTech package be a better way to achieve what I'm describing? Or is conveyorTech only necessary when the speed of the conveyor might vary and the robot needs to follow it perfectly (this is not the case for me, the speed is a constant), and is there an other way to acchieve what I want without the ConveyorTech package?

    Second question: If I do decide to get the ConveyorTech package, can this package also be used in KukaSim?

    Edited 10 times, last by sloopkogel (May 7, 2022 at 2:29 PM).

  • Online
    SkyeFire
    Reactions Received
    1,042
    Trophies
    12
    Posts
    9,388
    • April 29, 2022 at 7:36 PM
    • #2

    In the real world, doing this without ConveyorTech (or perhaps RSI) is going to be questionable at best. It's not just a matter of following conveyor speed fluctuations (and there are always some, no matter how constant the conveyor speed is intended to be), but also synchronizing the start of the robot following to a particular position of the part on the conveyor. This is the reason that CT uses the Fast Measurement interrupt inputs, instead of the "normal" inputs -- it's only a matter of microseconds vs milliseconds, but in line-tracking, it matters.

    Also, trying to "fake" line tracking by iteratively shifting $BASE isn't going to make for good velocity matching, even if we assume the conveyor speed never varies even slightly. On top of that, while this might allow good motion blending with non-Spline motion, I'm honestly not sure if Spline motion will work with this. SPL motions are characterized by their advanced pre-planning, and SPL may not work well with this kind of "moving target".

  • Ben014
    Reactions Received
    5
    Trophies
    3
    Posts
    32
    • April 30, 2022 at 10:01 AM
    • #3

    Hello,

    Conveyortech simulation with KUKA.Sim is possible but only conceptual by utilizing the conveyor tracking base component within KUKA.Sim library. But It does not support the ILFS like COnvInit, ConvON or COnFollow and you have to also use the Visual Component Interpreter, instead of RCS. If you want to have a deterministic cycle time, you must use the real robot along with Conveyortech package and appropriate hardware.

    Edited once, last by Ben014 (April 30, 2022 at 8:05 PM).

  • sloopkogel
    Trophies
    2
    Posts
    34
    • May 7, 2022 at 11:22 AM
    • #4

    Thank you for your help, after further testing with Kukasim and evaluating your feedback we have decided to purchase the conveyortech package. However the robot will not arrive any time soon because of long delivery times, so I still want to try to simulate the motion using Kukasim.

    Could someone perhaps point me in the right direction for using the ConveyorTrackingBase component? I have created a simple model with a KR10-R1100-2 robot, a product feeder, conveyor belt, and the conveyor tracking base component. The feeder is producing simple square boxes (one every 5 seconds). But I have no clue yet how to make the robot follow the products that are on the conveyor.

    I suppose I have to use a python script but I cannot see where I can create or edit python scripts for my components. According to the help file this should be accesible in the components graph panel (in the modeling menu, after selecting a component) but I cannot find nor create the python feature for any of my components. My menu layout seems different from the help file examples. For instance I don't have the buttons 'features', 'tools' and 'behaviors' available in the toolbar in the modeling menu.

    Edited 5 times, last by sloopkogel (May 7, 2022 at 2:28 PM).

  • DannyDJ
    Reactions Received
    62
    Trophies
    6
    Posts
    493
    • May 8, 2022 at 8:09 PM
    • #5

    Go to the Visual Componets webpage and visit their Academy, there you have many tutorials which are very handy in how to do pyhton scripts for your components in simulations.

    https://academy.visualcomponents.com/

  • Ben014
    Reactions Received
    5
    Trophies
    3
    Posts
    32
    • May 9, 2022 at 7:53 AM
    • #6

    https://xpert.kuka.com/service-expres…c6-c50ab10cd624

    You can refer to this tutorial, the link will expire in 14 days.

  • sloopkogel
    Trophies
    2
    Posts
    34
    • May 9, 2022 at 9:11 PM
    • #7

    Thanks guys! This helped a lot. Is the video you provided part of a Kuka training program of some sort? Is this video, and perhaps other videos, accessible in any other way in the future?

    If anyone reads this in the future when the link to the video is not available anymore: I got 2 things wrong:

    -You have to use a batch conveyor (I used a straight conveyor and the ConveyorTrackingBase does not snap to this type of conveyor for some reason)

    -You have to turn off RCS

    The rest should be pretty obvious: Snap Base_data[1] to the ConveyorTrackingBase sphere, and set it as the node, and connect the sensor output to the robot input to start the motion

    Edited 3 times, last by sloopkogel (May 9, 2022 at 11:44 PM).

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

Tags

  • CONVEYOR
  • TRACKING
  • pick
  • conveyortech
  • motion
  • kukasim
  • place
  • linear
  • Fly
  • Follow
  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