Actual motion speed much higher than programmed motion speed when J6 rotation dominates motion

  • Fanuc S-430iW / RJ3 controller running HandlingTool v5.30-3G.


    [Screenshot attached showing end of arm, motion path (green with white normal vectors) and the static dispenser.]


    This is an old robot being re-purposed in a dispensing application where the arm holds the part (a cylinder) so that the cylinder axis is co-linear with the J6 axis. The dispenser is static and oriented vertically. The motion path is imported from Rhino via RoboDK is assigned linear motion with speeds of 20mm/sec at each point. Where the overall motion path is predominantly linear, actual speeds seem to track with programmed motion speeds. However, where the motion path is dominated by J6 rotation, motion speeds are way too high. It seems to run at max joint speed here. The dispenser is more or less fixed output so faster motion results in under-application (or non-application) where the motion speed is too high.


    I've flipped $PARAM_GROUP[1].$spin_ctrl from 0 to 1 but didn't observe much (if any) difference.


    Any insight into how to control motion speed here is greatly appreciated.


    Thanks.


    Matt

  • Linear speeds only affect XYZ movement, not rotation about them. For example, if you have two points with the same XYZ co-ordinates, but with a 180 degree rotation, the linear distance between them would be 0. Any adjustment made to the linear speed will be a moot point, because the robot is not moving the TCP in XYZ, only about them. It looks like from your picture that you have several hundreds or thousands of points on your path, which would mean that the linear difference between them would be very small.


    There are a few things you can do to actually get real linear speed, but the easiest place to start would be to specify the speeds in degrees per second, or as a timed move in seconds. I don't know your process, but if surface speed is important, you will need to do some calculations for this to work.

  • Linear speeds only affect XYZ movement, not rotation about them. For example, if you have two points with the same XYZ co-ordinates, but with a 180 degree rotation, the linear distance between them would be 0. Any adjustment made to the linear speed will be a moot point, because the robot is not moving the TCP in XYZ, only about them. It looks like from your picture that you have several hundreds or thousands of points on your path, which would mean that the linear difference between them would be very small.


    There are a few things you can do to actually get real linear speed, but the easiest place to start would be to specify the speeds in degrees per second, or as a timed move in seconds. I don't know your process, but if surface speed is important, you will need to do some calculations for this to work.


    Makes sense. I keep forgetting that there is a difference between the tool path and the robot's motion to follow such path. So yes, where the robot only needs to rotate (eg, orientation change), the linear motion speeds are moot. Where linear robot motion is required (eg, location change), linear motion speeds are followed.


    In theory I can isolate the parts of the path where rotation dominates and call out speeds in degrees per second, etc, but not without a disruption to the current workflow. So hopefully the RTCP method can solve this issue...


    You should be using RTCP.


    Fortunately J624 Remote TCP was an authorized but uninstalled option for this controller. I just now installed it, and will now go through RTCP setup. Not familiar with motion instructions using RTCP - any differences? - but hopefully can figure this part out.


    Thanks all for the help.

  • So with the RTCP being used it should calculate the speed of the tool center point across the workpiece, so it should be more controllable. It has been quite some time since I did that with Fanuc but I seem to remember you just add the RTCP tag to the move instruction.

  • So with the RTCP being used it should calculate the speed of the tool center point across the workpiece, so it should be more controllable. It has been quite some time since I did that with Fanuc but I seem to remember you just add the RTCP tag to the move instruction.

    RTCP seems to fix the problem.


    Yes, it's just added to the motion instruction line after the termination setting, eg, "L P[1] 20mm/sec CNT100 RTCP".


    Thanks!

Advertising from our partners