Universal Robots RTDE C++/Discrepancies between Tool Orientation Reading and Teach Pendant Display

Hello everyone,

I’m facing an issue with reading the tool orientation using the getActualTCPPose() function in my C++ program using the Universal Robots RTDE interface. The problem arises under specific conditions when the robot has a certain tool orientation. I’m getting results that differ from what is displayed on the UR5 CB-series teach pendant screen.

For instance, for a particular tool orientation, I’m obtaining the following values from the getActualTCPPose() function:

RX = -1.96
RY = -1.83
RZ = -0.71
However, on the teach pendant screen, I’m seeing:

RX = 2.479
RY = 2.315
RZ = 0.898
It’s worth noting that regardless of the values I input on the teach pendant (whether it’s RX = -1.96, RY = -1.83, RZ = -0.71, or RX = 2.479, RY = 2.315, RZ = 0.898), the robot always positions itself in the same manner.

I’ve also attempted to use the getTargetWaypoint() and getForwardKinematics() functions, but the results remain consistent. It appears that the issue might be related to the conversion of the tool orientation representation.

Could anyone assist me in understanding why such discrepancies occur between the readings in my program and the displayed values on the teach pendant? Is there a way to accurately read the tool orientation just as it appears on the teach pendant screen?

I would greatly appreciate any guidance or suggestions!

Thank you in advance for your help.

Anyone with a good explanation for this? I’m facing the same issue using the RTDE and actual_TCP_pose.

Getting from the RTDE:

RX = -1.745
RY = 2.604
RZ = 0.054

On the teach pendant screen, I’m seeing:

RX = 1.752
RY = -2.615
RZ = -0.055

Hi.

When something like this happens to me its usually because the feature of the move tab is set to ‘view’ or something random and not to ‘base’.

Which is the frame you get your rtde data in.

Hi, in my case I made sure that the feature was set to base!