Understanding the difference between motion types

  • KR 22 R1610, KSS8.5.6, KRC4


    Recently had a strange issue (crash) with a robot program we are developing and contacted out local Kuka for support. Couldn't get to the bottom of the problem/reproduce but the support guy critiqued the program we had written.


    To give a background, our application involves working within tight tolerances for what is essentially a pick and place operation. we go along a defined path using SPTP motions and finally an SLIN to the part location and then follow the same path back to the start position. The support guy said he couldn't understand why we would use SLIN motion when the tolerances we are working with are tight and suggested switching to LIN instead as well as putting a "buffer" LIN motion between the final SPTP point and the start of the desired LIN start to the part location. This has completely thrown me off as I was under the impression that SLIN succeeds LIN. Honestly, if this was suggested to me by someone other than a Kuka employee I would not have given it much thought at all . I've gone through the manual and the training documentation yet can't find anything that would support what he has suggested.


    I guess what I am trying to ask is this: Are there any applications where using PTP is desirable over SPTP, LIN over SLIN etc. ? If so what are some examples ? Why ?

  • "S" motions are newer and generally perform better. i stated here generally as there may be situation where this is not the case.

    hence good idea is to always test it and see for yourself.


    traditional motions LIN.PTP,CIRC are part of "legacy" motion planner. KSS5x included spline blocks. KSS8.x had more additions. the most recent one was SPTP which allowed to stay within new motion planner because switching back and fort between old(legacy) and new (spline) motion planner resets motion planner and result is advance run stop. so there is nothing wrong with mixing new and old motions but blending does not work if instructions are not from same motion planer.


    so if you have to run search that is long (find top pallet in a stack) SLIN can be faster than LIN. one can get more performance from LIN too by using KRL and increasing acceleration (note that inline forms are not too liberal here).

    new motion planner should have better path accuracy as well (which is what you are asking). one example often used to demonstrate this is circular motion for example (older CIRC was not perfect). this is why in the old days to get really good circle one would write own loop and blend bunch of short LIN segments. SCIRC is supposed to fix this (plus add some more things) though i have not run any tests.


    about your last question.... there may be also special applications where one or another motion command may be needed (like ConveyorTech). or there may be a special motion instruction added (like DLIN which is faster than LIN). note that paths are very similar but NOT exactly the same if you compare old and new motion planner. even more so if approximation is used but was not possible - in this case older motion planner was going to programmed point and stop, new motion planner stops at the begin of approximation segment which is quite notable difference. i was having some problems with SLIN and very slow motions, for some reason programmed speed was exceeded and that was not usable. did not have much time to dwell on it so i replaced it with LIN in that part of the program.


    the point is.... you have a controller with set of instructions. use it all... don't turn your back on part of the instruction set, you never know when it will come handy. I am glad that KUKA did not ditch the old motions and simply replaced them all with new ones. i like to have choice even when difference may be subtle.

    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

  • "S" motions are newer and generally perform better. i stated here generally as there may be situation where this is not the case.

    hence good idea is to always test it and see for yourself.

    Was under the impression that they do perform better, this is why I was surprised that he suggested changing it for better accuracy. The crash that initiated the call to support was to do with the robot going to an incorrect point ( ~10mm above the programmed point), not repeatable . No approximations in the path. I've been running some tests and see no issues with using "S" motions for our application.

    i was having some problems with SLIN and very slow motions, for some reason programmed speed was exceeded and that was not usable

    I came across a similar issue. This was when doing first tests in auto mode, programmed really slow SLIN speeds but programmed speed was exceeded. Ignored this as we would be running at faster speed anyway.


    the point is.... you have a controller with set of instructions. use it all...

    Good advice, I will keep this in mind. I thought they were left in for legacy support but my eyes have been opened and I can see clearer now.



    Thinking back at the conversation with the KUKA support, i think he must have been mixing up with the concept of splines or something. As "S" motions provide better path accuracy in general cases, will use them unless testing proves otherwise.


    Thank you for your response.

  • I came across a similar issue. This was when doing first tests in auto mode, programmed really slow SLIN speeds but programmed speed was exceeded. Ignored this as we would be running at faster speed anyway.

    I'm far from an expert on the Splines, but my understanding is that they have some hidden complexities that can trip you up under certain circumstances without being obvious.


    One of these is that the motion has to be "twice differentiable" -- that is, the first derivative of the path (velocity) and the second derivative of the path (acceleration) have to be continuous. If you were to plot all three elements (Position, Velocity, Acceleration) of a Spline path over time, all three would have to be smooth curves without any "steps".


    Most of the time, the path planner handles this invisibly, but I've run into a couple situations where a simple-looking Spline motion would either throw speed errors like this, or reduce its speed to a dead slow crawl, for no apparent reason. Spline motions involve a lot more calculation than pre-Spline motions, and have a lot more model complexity hidden "under the hood." Which means that there's more chances to trip over something.


    Also, the Spline path planner has been evolving rather rapidly over the past ten years. The early versions were sufficiently unpleasant to work with that I, and probably other people with lots of KRL programming experience, got into the habit of habitually avoiding Splines in favor of the more predictable and better-understood LINs and PTPs unless we hit a situation where the Spline motions were definitely superior. It's only recently (KSS 8.5, I think) where the Inline Forms began defaulting to Spline motions instead of the older types. KUKA is definitely pushing Spline over the older types as the default choice now, but there's going to be some deep-set inertia to overcome.


    For a simple pick&place with no approximations, I'm not sure that Splines offer you any advantage over "classic" KRL motions, but I'm also not sure that there's a penalty. In my (limited) experience, the "weird stuff" in Splines only shows up when you're using approximation to produce a smoothly blended path.

  • I forget just how complex the processes running in the background actually are, the interface and simplicity of programming masks so much of the complexity involved.


    If KUKA is pushing the use of splines, surely there must be an advantage to using them over the "classic" motions for most cases? I tested our program with both spline and classic motions, not noticeable difference in a simple application. I'm sure there will be edge cases where one is superior to the other though.

  • you should read the manual too. as mentioned paths are not exactly the same but this is not obvious. the only time this is obvious is if there was advance run stop and you can see robot pause at different places and take a different path.

    but there is more to it. new motions have nice additional features such as stopping on some condition. the true power is when stop condition is not active and robot just moves along without pause. this is not the same thing as placing CONTINUE before WAIT FOR.

    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

  • traditional motions LIN.PTP,CIRC are part of "legacy" motion planner. KSS5x included spline blocks. KSS8.x had more additions. the most recent one was SPTP which allowed to stay within new motion planner because switching back and fort between old(legacy) and new (spline) motion planner resets motion planner and result is advance run stop.

    This is preventing me from using S-motion on many spot welders my company deploys. It kills cycle time.


    I hope KUKA makes a servogun package that supports SPTP/SLIN spot weld commands.


    But then, I wonder how well the asynchronous motions would work with S-motions...

  • with spot welding all motions are PTP and normally all are inline form instructions. there is no reason to use anything else and hence no performance issue.

    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

Advertising from our partners