Custom Turntable Simulation

Started by erikmartinez, February 01, 2019, 12:37:33 AM

Previous topic - Next topic


Hi Johannes,

We are in the process of setting up our custom turntable and have followed some of your instructions from a previous post but had some questions. Our setup is a KR125 arm with a KR C2 computer and a KR C1 controller, as well as a custom turntable.

Previously you said:
"As the next step you would calibrate your turntable, as a result you will get the XYZABC values that signify how the turntable is located in relation to the robot's base. So if X is 1500, the turntable would be 1.5m in front of the robot. Enter those values in the dropdown menu that you get from right-clicking the turntable component in PRC." We completed this calibration using the root point method and the numbers make sense.

"Finally you would calibrate an Offset system. That is the same as a Base system, but its zero-point is the origin of your turntable. So the values will be rather small, in the hundreds of millimeters probably." We completed this calibration and received VERY small values.  We are unclear as to how these values are utilized in prc or within KR C2 itself?

"Enter the XYZABC values as a base in KUKA|prc." This step I am a little unclear on. What base number should be used when inputting these values into prc? The robot base (in our case 0,0,0,0,0,0), or the turntable as a base with the root point numbers?

"Before you proceed with KUKA|prc, activate a calibrated tool and your offset base. Go into e.g. base movement mode and move the E1. The tip of the tool should stay at exactly the same position in relation to the turntable, it rotates with it. If it wobbles around, your calibration isn't very accurate. Or maybe the gear ratio is incorrect." We completed this step and the tool tip follows the turntable consistently.

With all of this said, we still seem to be getting issues when trying to run a file which includes turntable rotation via dynamic vector. Depending on which combination of base number, base values, and turntable values in the component right-click menu we use, the errors are either an A4 out-of-range to begin with OR the file begins as expected but then the robot proceeds to circle around the turntable as if it didn't know the turntable was rotating (the turntable IS indeed rotating). It seems as though our calibration is fine and we can run files as expected when not inputting a turntable, but cannot seem to get the right combination to get our turntable and robot working together correctly in our prc outputs.

Any help is appreciated and we would be happy to provide files if need be!
Thank you,

Johannes @ Robots in Architecture


Regarding the offset system: If you place the offset system close to the root point of the turntable then VERY small numbers are totally fine.
When you calibrate an offset system, it gets saved along with the regular bases, just with an additional tag declaring it an offset base. So just use the number you chose at the beginning.
You set the root point of your turntable by right-clicking the turntable component.
The dynamic vector can be tricky at times, for those occasions you can also create your own strategy, see the attached example for defining your own rotary table strategy.

Hope that helps!


I have the very same problem, and still don't understand this "Offset base" concept.
Where should the base be tagged as "Offset" ?
On the controller ? A search accross ALL my KUKA documentation yielded Zero result.
In KUKA|prc ?

Johannes @ Robots in Architecture

Attached is a snippet from the KSS SI documentation, so it's definitely in there. You can also refer to the separate documentation "Configuration of Kinematic Systems" which is very useful for correctly setting up external axis. All of them should be available within KUKA Xpert, and possibly also somewhere else online.
An offset base is just like every other base, it is just tagged so that the controller knows that it is in relation to a given external kinematic system.
You do not have to do anything special in KUKA|prc - KUKA|prc automatically assumes an offset base if a rotary axis is connected.


Ok then. I'll look it up.

Attached are all my KUKA documentations.
I actually had this document, but "Offset base" yields no result.
The best keywords here are "External kinematic system".

Thanks for pointing me to the "KUKA Xpert" web page ; I didn't know about it.
I thought you were speaking of loging in Expert mode or something. :)


The more I read the KUKA documentation, the less I understand the settings in KUKA|prc...

As shown in the attached illustration, the "ROOT" coordinate system is supposed to be at the base of the External Kinematic system, while in your sample file, the ROOT coordinates (2500,0,500) seem to correspond to the "FLANGE" coordinate system.
I suppose that the "BASE" (in your file : Base N°17) is the "OFFSET" coordinate system of the illustration.

In the KUKA documentation, I haven't found any explanation about how to define the FRANCGE coordinate system relative to the ROOT coordinate system.

Could you clarify ?

Johannes @ Robots in Architecture


As with most things there is no "correct" way to set everything up. For a typical turntable the difference between ROOT and FLANGE is not really important, with a two axis positioner as you linked to it is of course important and its set up kinematically like that in KUKA|prc.
As the FLANGE is basically the result of several transformations such as the $ETx_TA1KR in the documentation that defines the kinematic setup. In WoV, the normal KUKA turntables come with these values, you only need to set it up if you are using a custom model.

KSS stands for KUKA System Software, it's the basic instructions for robot operations, and the SI (System Integrator) version of it is the most detailled.