# Math behind Pose\_inv & Pose\_trans

**URL:** <https://forum.universal-robots.com/t/math-behind-pose-inv-pose-trans/39279>\
**Category:** Technical Questions\
**Created:** [March 27, 2025, 10:34am UTC](https://forum.universal-robots.com/t/math-behind-pose-inv-pose-trans/39279 "2025-03-27T10:34:32Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![ali.mohammadijou\_1](https://avatars.discourse-cdn.com/v4/letter/a/d07c76/32.png) [@ali.mohammadijou\_1](https://forum.universal-robots.com/u/ali.mohammadijou_1)\
**Post date:** [March 27, 2025, 10:34am UTC](https://forum.universal-robots.com/t/math-behind-pose-inv-pose-trans/39279/1 "2025-03-27T10:34:32Z")

</div>

Dear Forum,

I am wondering what is the math behind **Pose\_trans** and **Pose\_inv** functions ?  
I would like to make a little function in Labview to perform the following conversion:

Point in Base = p[0.45311, 0.30546, 0.47648, 4.071, -0.539, -2.517]  
Feature plane “display” = p[0.53916, 0.25017, 0.33852, 0.72307, -0.77053, -1.38234]

After applying the following formula within a program:

Point in Display: pose\_trans(pose\_inv(display), get\_actual\_tcp\_pose()).  
which results in this: p[-0.05104, 0.0677, 0.14934, 1.727, -0.221, -2.762]

**Problem** : I want to know the math (for dummies 🙂 since I am not a mathematician) behind **pose\_inv** and **pose\_trans** functions to convert a point from Base to Feature plane locally in labVIEW. without the need to run a program on the robot to get this conversion.

---

<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:** [March 27, 2025, 2:40pm UTC](https://forum.universal-robots.com/t/math-behind-pose-inv-pose-trans/39279/2 "2025-03-27T14:40:43Z")

</div>

> **[Universal Robots - Explanation on robot orientation](https://www.universal-robots.com/articles/ur/application-installation/explanation-on-robot-orientation/)**

Here’s a link talking a little bit about what the robot is doing. I would try to leverage LabView to get you the elements of the math that you need.  
For example:

> **[Product Documentation - NI](https://www.ni.com/docs/en-US/bundle/labview-robotics-module/page/lvrobovi/matrix_to_transform.html)**

I’ve never used LabView, so don’t hold me to that, I just did some simple googling. Looks like there’s a handful of functions for producing/computing rotation matrices and transforms in there.
