# Joint 6 encoder gives conflicting joint positions

**URL:** <https://forum.universal-robots.com/t/joint-6-encoder-gives-conflicting-joint-positions/2308>\
**Category:** Technical Questions\
**Tags:** joints\
**Created:** [July 13, 2018, 10:36am UTC](https://forum.universal-robots.com/t/joint-6-encoder-gives-conflicting-joint-positions/2308 "2018-07-13T10:36:45Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![anon75497214](https://avatars.discourse-cdn.com/v4/letter/a/4da419/32.png) [@anon75497214](https://forum.universal-robots.com/u/anon75497214)\
**Post date:** [July 13, 2018, 10:36am UTC](https://forum.universal-robots.com/t/joint-6-encoder-gives-conflicting-joint-positions/2308/1 "2018-07-13T10:36:45Z")

</div>

We have experienced problems with the last joints encoder of our UR3 (software version: 3.5.4.10845)

During training sessions, we rely on fixed joint configurations,  
so we save them once and execute a movej to get there before every new session.

However, when we restart the robot we get different joint values for the joint 6.

In the same configuration, we sometimes get a value of x or x + 2R.  
When we boot the robot and initialize by loading our config file first and then start the robot, we would get the x value  
and if we started first (by accident), stopped, loaded config file and started again, it would be in the x+2R position.

And because the first case happened more reliably, we chose to focus on the x value.

But now, we end up with the x+2R value no matter of we initialized the robot.

I don’t know how the encoders work here but from our experience I thought that after initialization the value is taken between 0 and 360 and then it is tracked and returned in absolute values.

But how come we get different initial values after boot no matter how we setup the robot? And what do we have to do to get the same configuration at every startup? We need reliable values.

---

<div class="post-metadata">

**Author:** ![ajp](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.universal-robots.com/ajp/32/471_2.png) [@ajp](https://forum.universal-robots.com/u/ajp)\
**Post date:** [July 16, 2018, 4:26am UTC](https://forum.universal-robots.com/t/joint-6-encoder-gives-conflicting-joint-positions/2308/2 "2018-07-16T04:26:09Z")

</div>

Hi @anon75497214,

It’s not entirely clear what is happening from your explanation. Recommend that you contact the UR partner that you purchased the robot from for technical support regarding this issue as this seems to be related to the robot system itself more than your URCap development.

---

<div class="post-metadata">

**Author:** ![m.birkholz](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.universal-robots.com/m.birkholz/32/7084_2.png) [@m.birkholz](https://forum.universal-robots.com/u/m.birkholz)\
**Post date:** [July 16, 2018, 7:42am UTC](https://forum.universal-robots.com/t/joint-6-encoder-gives-conflicting-joint-positions/2308/3 "2018-07-16T07:42:44Z")

</div>

did you try to use a different joint firmware?

---

<div class="post-metadata">

**Author:** ![anon75497214](https://avatars.discourse-cdn.com/v4/letter/a/4da419/32.png) [@anon75497214](https://forum.universal-robots.com/u/anon75497214)\
**Post date:** [July 16, 2018, 1:47pm UTC](https://forum.universal-robots.com/t/joint-6-encoder-gives-conflicting-joint-positions/2308/4 "2018-07-16T13:47:25Z")

</div>

Okay thank you.

Just to clarify:  
Sometimes when we boot the robot we have a 6th joint value of, lets say, 5 and sometimes a value of 725  
without having changed anything in the software or setup.

@m.birkholz No I did not.

---

<div class="post-metadata">

**Author:** ![ajp](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.universal-robots.com/ajp/32/471_2.png) [@ajp](https://forum.universal-robots.com/u/ajp)\
**Post date:** [July 16, 2018, 2:07pm UTC](https://forum.universal-robots.com/t/joint-6-encoder-gives-conflicting-joint-positions/2308/5 "2018-07-16T14:07:29Z")

</div>

Updating to the latest firmware is a good precautionary measure. Assume you’re shutting the robot down correctly and not just pulling the power?

---

<div class="post-metadata">

**Author:** ![anon75497214](https://avatars.discourse-cdn.com/v4/letter/a/4da419/32.png) [@anon75497214](https://forum.universal-robots.com/u/anon75497214)\
**Post date:** [July 16, 2018, 2:27pm UTC](https://forum.universal-robots.com/t/joint-6-encoder-gives-conflicting-joint-positions/2308/6 "2018-07-16T14:27:28Z")

</div>

yes no we always just shut it down properly.

How does the encoder work for the last joint?  
Does it just initialize to a value (e.g. between 0 and 360) and than tracks when going over or under?  
Or is it truly absolutely encoding the joint position?

---

<div class="post-metadata">

**Author:** ![ajp](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.universal-robots.com/ajp/32/471_2.png) [@ajp](https://forum.universal-robots.com/u/ajp)\
**Post date:** [July 17, 2018, 2:23am UTC](https://forum.universal-robots.com/t/joint-6-encoder-gives-conflicting-joint-positions/2308/7 "2018-07-17T02:23:44Z")

</div>

The sensor is absolute within one revolution and then increments in software beyond that. I don’t see a specific known solution for this so please contact your supplier for more in depth troubleshooting.

---

<div class="post-metadata">

**Author:** ![Savoia](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.universal-robots.com/savoia/32/4844_2.png) [@Savoia](https://forum.universal-robots.com/u/Savoia)\
**Post date:** [January 26, 2021, 10:56pm UTC](https://forum.universal-robots.com/t/joint-6-encoder-gives-conflicting-joint-positions/2308/8 "2021-01-26T22:56:33Z")

</div>


