Universal Robots Forum

Rx, Ry and Rz in Real Time Communication

Hey there!

Simple question but I couldn’t find the answer. When I use the Realtime Interface (port 30003),
I can get the Tool Vector Actual and the Tool Vector Target Positions, which gives me the 6d Vector (x, y, z, rx, ry, rz). The problem is, the rx, ry and rz that I receive are not equal or even similar to the ones I can see in the Interface.

What exactly they represent? Is there a way to get the RPY orientation of the tool via the Realtime Interface TCP/IP?

Example of what I mean

In the Interface (relative to base):

         x = 573.32 mm
         y = -377.45 mm
         z = 110.4 mm

         Rotation Vector (rad)
         Rx = 1.656 
         Ry = -3.893
         Rz = -1.859

         RPY (rad)
         Rx = 0.154
         Ry = 1.485
         Rz = 0.973

The Tool vector I receive

         x = 0.5733132233401346
         y = -0.37745289619949307
         z = 0.11039638592902691

         Rx = -0.5957311311260479
         Ry = 1.4005856604020908
         Rz = 0.6689512228953933

The (x, y, z) is ok, but I can’t figure the (rx, ry, rz).

Thanks in advance.

Can it be that you’re decoding angles incorrectly?
It should correspond to what you see on the move tab, and value returned by get_actual_tcp_pose().
rx,ry,rz are angles relative to base feature corrected by tcp rotation.
So if tcp rotation offset == (0, 0, 0), then (rx, ry) == (0, 0) when tool flage is pointing in base z-axis direction.

Also check out this topic.

I checked the topic and it looks like the position is the same but with other axis-angle representation (like the topic suggested, but in this case its not just a pi rotation), but when I command the robot to move (with movel) to the position returned by the RTDE, it says it’s a singularity.

The same applies when I try to apply the angles direct in the pendant. It’s a reacheble position exactly where it’s supposed to be in the pendant interface, but when I set it to move, it says it’s a singularity.

For now, I’ll try to work with the joint angles instead.

Singularity means robot close to its kinematic singularity rather than they cannot reach it actually. Robot vector is not unique to a given reorientation so although they have different appearances, they are indeed the same. Check out via wiki on rotation vector.