# Base coordinate system documentation

**URL:** <https://forum.universal-robots.com/t/base-coordinate-system-documentation/140>\
**Category:** URScript\
**Created:** [August 1, 2016, 12:46pm UTC](https://forum.universal-robots.com/t/base-coordinate-system-documentation/140 "2016-08-01T12:46:49Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![anon43982785](https://avatars.discourse-cdn.com/v4/letter/a/8c91f0/32.png) [@anon43982785](https://forum.universal-robots.com/u/anon43982785)\
**Post date:** [August 1, 2016, 12:46pm UTC](https://forum.universal-robots.com/t/base-coordinate-system-documentation/140/1 "2016-08-01T12:46:49Z")

</div>

Is there some diagram or document that clearly shows and/or describes the basic reference x,y,z coordinate system of the robot?

This would be helpful in setting up a procedure to translate from camera pixel coordinates to robot coordinates.

---

<div class="post-metadata">

**Author:** ![jbm](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.universal-robots.com/jbm/32/614_2.png) [@jbm](https://forum.universal-robots.com/u/jbm)\
**Post date:** [August 1, 2016, 1:53pm UTC](https://forum.universal-robots.com/t/base-coordinate-system-documentation/140/2 "2016-08-01T13:53:29Z")

</div>

@anon43982785,

**Base coordinate system / Base feature:**  
Right-hand coordinate system, where Y is into the robot cable and Z-axis upwards through the centre of the Base joint.

 ![](https://us1.discourse-cdn.com/flex020/uploads/universal_robots/original/1X/71730abd07b38b646c8e04837e313042631533ed.jpg)

**Tool coordinate system / Tool feature**  
Right-hand coordinate system, where Y is away from the Tool connector, and Z is normal to the tool flange.

 ![](https://us1.discourse-cdn.com/flex020/uploads/universal_robots/original/1X/1b7c74657a3b5377efcd28533b5ec8741f3f6220.jpg)

However, if there is a TCP offset defined, the Tool feature will be transformed by this offset, thus e.g.:

 ![](https://us1.discourse-cdn.com/flex020/uploads/universal_robots/original/1X/a6e808fe2c451eada82cbce3df945910d3103b33.jpg)

All script code moves or similar will have respect to the Base feature.

If you go to the Installation tab, choose Features \> Base, and tick “Show axes”, then you will be able to see the Base coordinate system of the robot.  
Then you can e.g. see it in the Move-tab.

 ![](https://us1.discourse-cdn.com/flex020/uploads/universal_robots/original/1X/3841cfa4879c0cea980ef6976a3c83d1d9001495.jpg)

---

<div class="post-metadata">

**Author:** ![anon43982785](https://avatars.discourse-cdn.com/v4/letter/a/8c91f0/32.png) [@anon43982785](https://forum.universal-robots.com/u/anon43982785)\
**Post date:** [August 1, 2016, 3:01pm UTC](https://forum.universal-robots.com/t/base-coordinate-system-documentation/140/3 "2016-08-01T15:01:44Z")

</div>

Thanks -great diagrams and explanations!

---

<div class="post-metadata">

**Author:** ![attila](https://avatars.discourse-cdn.com/v4/letter/a/b9bd4f/32.png) [@attila](https://forum.universal-robots.com/u/attila)\
**Post date:** [August 17, 2022, 6:43am UTC](https://forum.universal-robots.com/t/base-coordinate-system-documentation/140/4 "2022-08-17T06:43:19Z")

</div>

Hi,

I would like to know how could I transfer points that are relative to the Base feature to another feature ? I have generated a milling path in RoboDK and generated all the points relative to a reference frame. When I exported the program all points are relative to the Base feature. This will not help in the real life as I was planning to just measure the reference frame and all my points generated would align.

Looking forward to your suggestions,

Attila

---

<div class="post-metadata">

**Author:** ![MikeM](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.universal-robots.com/mikem/32/3114_2.png) [@MikeM](https://forum.universal-robots.com/u/MikeM)\
**Post date:** [August 17, 2022, 12:41pm UTC](https://forum.universal-robots.com/t/base-coordinate-system-documentation/140/5 "2022-08-17T12:41:35Z")

</div>

Check this out [Creating Waypoints wrt to Custom Features](https://www.universal-robots.com/articles/ur/programming/urscript-move-with-respect-to-a-custom-featureframe/)

It will probably take some trial and error but hope this helps and best of luck!

---

<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:** [August 17, 2022, 1:42pm UTC](https://forum.universal-robots.com/t/base-coordinate-system-documentation/140/6 "2022-08-17T13:42:16Z")

</div>

For what it’s worth, I don’t believe you can easily migrate existing taught points to a Feature. So if you’ve already generated all your points with respect to the Base, I think you have to reprogram everything after selecting a Feature. If I’m wrong about that I would love to be corrected because it’s cost me time in the past.

---

<div class="post-metadata">

**Author:** ![anon845691](https://avatars.discourse-cdn.com/v4/letter/a/4491bb/32.png) [@anon845691](https://forum.universal-robots.com/u/anon845691)\
**Post date:** [September 21, 2023, 9:37pm UTC](https://forum.universal-robots.com/t/base-coordinate-system-documentation/140/7 "2023-09-21T21:37:13Z")

</div>

I have a question on TCP coordinate vs Base coordinate, should x and y have the same directions?

Thanks,

Bill

---

<div class="post-metadata">

**Author:** ![efn](https://avatars.discourse-cdn.com/v4/letter/e/35a633/32.png) [@efn](https://forum.universal-robots.com/u/efn)\
**Post date:** [September 22, 2023, 4:01am UTC](https://forum.universal-robots.com/t/base-coordinate-system-documentation/140/8 "2023-09-22T04:01:23Z")

</div>

It depends on the z axis’ direction. As you can tell from the illustrations, y and x will always have the same directions relative to the z axis.  
If that’s what you mean. 🙂

---

<div class="post-metadata">

**Author:** ![farzaneh.gerami](https://avatars.discourse-cdn.com/v4/letter/f/e495f1/32.png) [@farzaneh.gerami](https://forum.universal-robots.com/u/farzaneh.gerami)\
**Post date:** [November 25, 2024, 12:44pm UTC](https://forum.universal-robots.com/t/base-coordinate-system-documentation/140/10 "2024-11-25T12:44:09Z")

</div>

@jbm Hi, I programmed the UR10e robot to position itself for a linear movement. After reaching each waypoint, I calculate its current position using pose = get\_forward\_kin() and publish it to an MQTT broker. The broker forwards this data to Unity, where I run an application on HoloLens to display a sphere at the exact position sent by the robot.

However, while I do receive the positions, the sphere doesn’t align perfectly with the robot’s position. After some investigation, I found that the UR uses a right-handed coordinate system, while Unity uses a left-handed coordinate system. I attempted to transform the coordinates accordingly, but the sphere’s position still doesn’t perfectly match the robot’s.

Could someone help me identify what might be causing this discrepancy?
