Home Programming


Left ArrowBack to discussions page
AndyBarnesAndyBarnes Posts: 6 Apprentice
edited August 2018 in Programming

I'm having trouble understanding how the Rx,Ry and Rz values are calculated with respect to the base on a UR3 robot. I'm seeing some oddities that I can't explain. I updated to the latest 4.6.1 software from 4.4 and still see the same issue:

1) Align end effector vertically so the z-axis is pointing upwards as well as can be. 
2) Rotate wrist so tool rotates around z-axis
3) Observe Rx and Ry values staying more or less constant and Rz axis values changing. (This is via the move screen and using Base feature)

All well and good so far! However:

1) Rotate 2nd joint from end so that tool points down and z-axis points down vertically. Presumably one of the most common modes of operation (eg pick and place)
2) Rotate wrist so tool rotates around z-axis.
3) Observe Rx and Ry values changing and Rz value staying constant. (This is via the move screen and using Base feature)

Confusion. Also note that x-axis rotation using the orientation arrows works as expected, but y-axis rotation works as above (seemingly incorrect). However, the actual physical movement is as expected.

Can someone please enlighten me as to what I'm missing here? (I'm familiar with motion control, but a 6-axis robot newbie).


Andy Barnes.



  • matthewd92matthewd92 Founding Pro, Tactile Sensor Beta Testers Posts: 1,250 Handy
    @AndyBarnes that is a really good question and something I had never looked at before.  I don't know the exact answer but will throw out my observations after playing around with it some this morning.

    When the wrist is pointing with the Z-Axis toward the ceiling this is in the same orientation as the base frame of reference so makes sense that the position of the arm can be described by representing the X,Y,Z of the TCP and then the rotation around x, y and z and that when you spin around Z only the Rz changes since you are aligned with the frame of reference.  When you flip the wrist over the Z axis is now parallel to the base frame Z but pointing in opposite directions which you would think (at least I do) would simply be referenced by a different sign on either the Ry or Rx but there must be more going on in the math than that simple explanation.

    TL;DR; No clue why that is happening and really hope someone with more matrix math in their background can jump in and explain it to us.  @Stefan_Stubgaard any insight you can share into why this is the case?
  • AndyBarnesAndyBarnes Posts: 6 Apprentice
    Thank you for verifying that. At least I don't feel completely stupid now! I too thought it would just flip the Ry or Rx. I'll do some more experimenting today and if I figure out what is going on I'll post an update here.

    Thanks again.
  • AndyBarnesAndyBarnes Posts: 6 Apprentice
    To follow up: I have a workaround at least, and also a theory as to what is happening.

    If you start with the tool pointing down, if you set Rx to pi radians, then everything more or less works as expected (as long as the plane is very flat). Or you can set a plane with the z-axis pointing down instead of up and that seems to work fine too.

    It appears that if the tool is then flipped vertically, that is then when things go awry as the z-axis appears to not move and the x and y axes are changed. I suspect it doesn't matter which axis is looked at, the same thing happens.

    The interesting thing is, you can imagine, if the tool is not 'quite' oriented in the z axis (say) of the base (assume the z-axis of the tool is not quite vertical), that by rotating the x and y planes in sync, you would get a rotation of the z-axis vector of the tool around the z-axis vector of the base. This is what I suspect is happening here and somewhat what I observe. Quite why it doesn't do it when the tool is pointing 180 degrees in the other direction, I have no idea.

Sign In or Register to comment.
Left ArrowBack to discussions page