UR3 transformation matrix

Hi,

I am trying to develop a special purpose device with the Ur3 model robot arm. I aim to obtain a workspace by pairing the robot arm and the optical navigation system with each other. Since the robot arm will do the critical work, I decided to transfer the coordinate system of the robot arm to the optical navigation system. For this purpose, I obtained the transformation matrices of all system elements and created a trial loop from robot base to tool tip, from tool tip to Polaris, from Polaris to optical marker, respectively. The tool tip is set to be pivoted to the tool type on both the optical navigation and the robot side. When I multiply the matrices I mentioned above, respectively, I need to find the coordinates of the target marker tip according to the robot base. But unfortunately I get very different coordinate data. When I evaluate the optical navigation system separately, it works in harmony with the algorithm I have. The x, y, z and rpy orientation data I got from the robot seems to be correct in itself. But when I map these two different spaces to each other, a problem arises. I haven’t found a solution so far. I am willing to listen to those who will work on a similar issue and make suggestions.

Note: In addition to this information, UR has prepared an excel document showing the Denavit Hartenberg parameters of each robot and how these parameters work. So I decided to do a trial to compare it with the robot’s data. I updated the parameters in this excel document according to the CB3 UR3 parameters and transferred the joint angles that I gave to the physical robot to the table. When I examined the results, the x, y and z data were correct, but the angles required for orientation were inconsistent with the robot side. This one is a little weird.

Thanks.

Hi,

it is Rotation vector that UR used in its system, but not RPY or Euler Angle. explanation as below.

UR has script to convert Rotation vector to RPY.

in the Excel, it shall be RPY I think.

https://www.universal-robots.com/articles/ur/application-installation/explanation-on-robot-orientation/

https://www.universal-robots.com/articles/ur/programming/rpy-tofrom-rotation-vector/

Hope the info helps.

Have you consulted the following description of UR robot orientation?
https://www.universal-robots.com/articles/ur/application-installation/explanation-on-robot-orientation/

Best regards
Magnus

UR displays the orientation data as a rotation vector, but it also provides the opportunity to view it as rpy radians or degrees when desired via the gui. So I used the angles as they should be. The main purpose is to obtain the rotation matrix and then the transformation matrix. I am getting these correctly. My problem arises when I want to map two different spaces together.

Yes, I reviewed this article.

I prepared a simple data example. As you can see in the result, x,y and z values are different each other. Polaris data are given as quaternions, and I convert them into rotation matrix with Polaris coversion script.


Not: Tr matrix is Base to T.Tip