Hello,
Below is my original Query, I think I have narrowed down the problem to not having set the offset of my external kinematic system properly, or called it in the code. When I measure the offset, do I give it a different number and name from the kinematic root? Do I simply call the base data this relates to (eg. $BASE=BASE_DATA[x]) or do I need to be using $BASE=EK(...)?
Another issue I can't understand, is when I measure the kinematic offset as the center of the turntable, I get very small values, as expected for XYZABC, but when I then call the base in a program using $BASE=BASE_DATA[x] it seems the values have been changed to the offset base, not from the kinematic root but $WORLD instead (so when attempting to move to cartesian points 0,0,0 it is on the robot base).
I have used the external axis and programming manual and the expert programmming manual and barely found reference to exactly how you are supposed to use these functions. If someone could point me in the right direction that would be great.
I am using a KUKA KR240L 180-2 With KRC2Ed05 on KSS5.4.14. I have a turntable using a kuka MGU, I have set up the axis configurator and calibrated the external kinematic root and can jog the turntable with the tool mathematically coupled, this all looks to work perfectly. My issue is that I want to run a machining toolpath generated in RoboDK, this simulates perfectly, but when I try to run it on the robot, rather than the turntable moving and the tool staying relatively still, the TCP moves in a circular motion, maintaining orientation with the turntable.
I thought this meant I need to use a kinematic offset, my understanding from the manual is that the reference will then move with the turntable, however I am struggling to understand how exactly this should be set up. If I measure the offset from the robot flange at close to the center, getting XYZABC values close to 0,0,0 0,0,0, when I try to run the toolpath the robot attempts to move to its own root, and checking on the base data I am using for the kinematic base ($BASE_DATA[17]) it has been overwritten to 0,0,0 0,0,0. The manual I am using is for KSS 5.5 as this is all I could find on KUKA Xpert.
The output code from RoboDK starts with a PTP, then a series of cartesian LIN moves that describe a circle, while the E1 value also rotates. I have tried flipping the root point 180 degrees, inverting the turntable direction, re-measured the kinematic root and offset numerous times. I have also had an issue when measuring the kinematic root that I get a XYZABC C=-179.9 but this does not seem to affect the mathematical coupling of a tool point on the turntable surface. I think I am not understanding the ROBROOT/WORLD>ROOT>FLANGE>OFFSET process correctly.
Any help would be great, apologies if there is something simple I have missed.