Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

KUKA KR 270 Wrong Cartesian positions via C3 Bridge

#1
Hi everyone,

I’m working with a KUKA KR 270 R2700 Ultra connected to RoboDK through C3 Bridge.
When I use the “Run on Robot” feature to send Cartesian moves (XYZABC), the positions received on the KUKA side are completely off — both position and orientation seem to be transformed incorrectly.

However, when I send joint targets, everything works as expected. The motion on the real robot matches the RoboDK simulation perfectly.

Here’s what I’ve checked so far:

- Tool and base frames are defined and matched between RoboDK and the KUKA controller.
- The same program runs fine when exported offline (.src/.dat) and executed directly on the robot.
- The problem only happens during online execution through C3 Bridge.

I’ve got screenshots showing:

- The RoboDK target (e.g. Target_12)
- The generated .dat file
- The actual robot setup
- The pendant showing the received E6POS values

Has anyone experienced similar behavior with C3 Bridge or Cartesian targets through RoboDK?
Is there a specific configuration step or driver setting I might be missing (e.g., base/tool sync or reference frame option)?

Any help or ideas would be really appreciated!


Attached Files Thumbnail(s)
kukapendent.jpg    kukakr270.jpg    kukaprogram.jpg    robodksetup.jpg   
#2
It looks like your controller has a custom coordinate system setup as the base system because we see these coordinates:
XYZ from E6POS=[0,0,-1550]
These values are different on your DAT file.

I would recommend you to revise where your base reference is defined. This forum thread and section of the documentation explains how to properly setup your system with a KUKA controller:
https://robodk.com/forum/Thread-How-to-c...ernal-axes
https://robodk.com/doc/en/Robots-KUKA.ht...ADriverExt
#3
We checked the base setup again on both RoboDK and the KUKA controller. However, the problem we are seeing cannot be explained by a base or reference frame mismatch.

In RoboDK, the target (Target 12) is defined as the following Cartesian pose:

X = 0
Y = -1550
Z = 1852
A = 90
B = 0
C = 180

When we generate the program offline (src/dat export), the dat file contains these exact values. Running the program directly on the controller works correctly, so the pose and base definitions are valid.

The issue only appears when running online through C3 Bridge. When using "Run on Robot", the values received by the robot on the smartPAD are:

X = 0
Y = 0
Z = -1550
A = 1852
B = 90
C = 0

This is not an offset or wrong base. The values are being placed into different fields. For example, Z becomes A, A becomes B, etc. Even if the base frame were incorrect, XYZ would still remain XYZ and ABC would remain ABC. The numerical values should not move from translation fields into rotation fields.

Joint targets work correctly when sent through C3 Bridge. Offline execution of the same Cartesian pose also works correctly. Only online streaming of Cartesian poses through the C3 Bridge driver produces incorrect mapping.

This indicates that the issue is in the data transfer or transformation in the C3 Bridge interface, not in the base setup.
#4
Could you open the log window before connecting to C3 Bridge, then connect to the control system and send a request for movement in the Cartesian coordinate system?
   
#5
I attached the log output. It looks normal and there is nothing unusual being reported on the RoboDK side.

kukaCannection.png   
#6
I see that RoboDK is using the apikuka driver instead of kukabridge. The apikuka driver is outdated. Try clicking the Select button and choosing the kukabridge driver from the list.
  




Users browsing this thread:
1 Guest(s)