# TCP joint angles and TCP/IP joint angle values do not match

**URL:** <https://forum.universal-robots.com/t/tcp-joint-angles-and-tcp-ip-joint-angle-values-do-not-match/22951>\
**Category:** Robot Communication\
**Created:** [July 27, 2022, 3:50pm UTC](https://forum.universal-robots.com/t/tcp-joint-angles-and-tcp-ip-joint-angle-values-do-not-match/22951 "2022-07-27T15:50:06Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![anon15423856](https://avatars.discourse-cdn.com/v4/letter/a/ecccb3/32.png) [@anon15423856](https://forum.universal-robots.com/u/anon15423856)\
**Post date:** [July 27, 2022, 3:50pm UTC](https://forum.universal-robots.com/t/tcp-joint-angles-and-tcp-ip-joint-angle-values-do-not-match/22951/1 "2022-07-27T15:50:06Z")

</div>

I have a simple LabVIEW application where I connect to the TCP/IP address of the robot and open port 30012, which is supposedly just spits out data about the robot. I don’t need data more than 10Hz, so this is fine. From the TCP IP client interfaces located here ([Remote Control Via TCP/IP - 16496](https://www.universal-robots.com/articles/ur/interface-communication/remote-control-via-tcpip/)) I can use the decoder ring to get the TCP Cartesian info. From here I can get the X, Y, Z position where it matches the teach pendant. But when I go for the Rx, Ry, and Rz angles, it looks like the values more often do not match. I can pull the TCP offset values, but am unsure if there is a transformation I need to do to get the values to match? If so can someone please help a brother out.

Robot UR10  
CB 3.15.4.106291

---

<div class="post-metadata">

**Author:** ![eric.feldmann](https://avatars.discourse-cdn.com/v4/letter/e/94ad74/32.png) [@eric.feldmann](https://forum.universal-robots.com/u/eric.feldmann)\
**Post date:** [July 27, 2022, 5:27pm UTC](https://forum.universal-robots.com/t/tcp-joint-angles-and-tcp-ip-joint-angle-values-do-not-match/22951/2 "2022-07-27T17:27:20Z")

</div>

Pretty sure the pendant displays it in helpful Roll Pitch Yaw, while the interfaces spit out Axis Angles, and I don’t remember nearly enough about my 3D transformations to make any sense of Axis Angles. The official UR forum links to the wiki here:  
[Axis–angle representation - Wikipedia](https://en.wikipedia.org/wiki/Axis%E2%80%93angle_representation#:~:text=In%20mathematics%2C%20the%20axis%E2%80%93angle,the%20rotation%20about%20the%20axis).

Which always does a nice job reminding me that I don’t understand anything.

---

<div class="post-metadata">

**Author:** ![anon15423856](https://avatars.discourse-cdn.com/v4/letter/a/ecccb3/32.png) [@anon15423856](https://forum.universal-robots.com/u/anon15423856)\
**Post date:** [July 28, 2022, 1:17pm UTC](https://forum.universal-robots.com/t/tcp-joint-angles-and-tcp-ip-joint-angle-values-do-not-match/22951/3 "2022-07-28T13:17:39Z")

</div>

> [@eric.feldmann](#):
>
> ce job reminding me that

Thanks Eric, your comment made me laugh.

---

<div class="post-metadata">

**Author:** ![aryabtsev](https://avatars.discourse-cdn.com/v4/letter/a/58956e/32.png) [@aryabtsev](https://forum.universal-robots.com/u/aryabtsev)\
**Post date:** [August 1, 2022, 1:28pm UTC](https://forum.universal-robots.com/t/tcp-joint-angles-and-tcp-ip-joint-angle-values-do-not-match/22951/4 "2022-08-01T13:28:35Z")

</div>

Keep in mind that the same pose can be defined in a different Rx Ry Rz combinations. It does not mean that the pose is different, just it was represented by a different set (remember that angles 0 and 6.28 rad are the same, transformation -3.14 and +3.14 are the same and so on)

I am pretty sure that what you see is the “normalization” that UR does to make display values to look “smooth”. If you read RTDE values - they are raw and more stable/predictable.

---

<div class="post-metadata">

**Author:** ![anon15423856](https://avatars.discourse-cdn.com/v4/letter/a/ecccb3/32.png) [@anon15423856](https://forum.universal-robots.com/u/anon15423856)\
**Post date:** [August 3, 2022, 8:12pm UTC](https://forum.universal-robots.com/t/tcp-joint-angles-and-tcp-ip-joint-angle-values-do-not-match/22951/5 "2022-08-03T20:12:35Z")

</div>

Thanks Aryabtsev,

I have taken 4 different data points to show my issues.  
From Pendant From TCP/IP packet  
| Rx | Ry | Rz | | Rx | Ry | Rz |  
| 2.251 | -2.076 | -0.104 | | 2.251 | -2.07639 | -0.104081 |  
| 2.5 | -2.313 | 0.641 | | -2.03248 | 1.88057 | -0.521 |  
| 2.076 | -1.856 | 0.62 | | 2.0756 | -1.8562 | 0.62 |  
| 2.731 | -2.448 | -1.14 | | -1.73664 | 1.55665 | 0.72507 |  
|1.686 | -3.607 | -0.543| | -0.95924 | 2.03287 | 0.306248 |

It looks like the data matches then just kindof goes astray at some points? TCP offsets are all zero’ed out and I got the data from the Base View on the move tab.

No clue, how to read the correct value?

---

<div class="post-metadata">

**Author:** ![aryabtsev](https://avatars.discourse-cdn.com/v4/letter/a/58956e/32.png) [@aryabtsev](https://forum.universal-robots.com/u/aryabtsev)\
**Post date:** [August 3, 2022, 8:37pm UTC](https://forum.universal-robots.com/t/tcp-joint-angles-and-tcp-ip-joint-angle-values-do-not-match/22951/6 "2022-08-03T20:37:22Z")

</div>

Please clarify what are those numbers.  
You mention 4 data points, but I see 10 sets of RxRyRz.  
Are you changing poses or all of them are the same pose?
