Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

TCP problem UR3 robots


I got into a problem with a UR3 robot. To summarize: if I read the joint position for the particular TCP position of the real UR3 robot and them use this joint values in a RoboDK environment and compare the TCP value of the simulation and real robot - we get some deviation. TCP positions deviate from 1 to 2 mm. What could be the problem? I tried at several different robot positions, but we always get some deviation in the TCP position.

Thanks for the help.

Best regards.
Hi Mitja,

Each UR robot kinematics is unique. You should follow the procedure described here to load the controller kinematics in RoboDK:


Thanks for that information, now it is clear to me.

Maybe one more question. The following steps are required (link:

1. Open your robot in RoboDK. You'll find your UR robot in the RoboDK library. You can also use a UR robot available in one of your existing RoboDK stations.

2. Select Tools-Run Script

3. Select UR_LoadControllerKinematics

4. Select the URP file extracted from the robot controller.

But under the tab 'Tools' I have no options Run Script. Is there anything else I need to do to make this possible? I also don't have the options: Robot Parameters -> Use Controller Kinematics ...

Thanks for the help and best regards.
Hi Mitja,

Can you make sure that you are using the latest version of RoboDK.
The "Run Script" option is something we added a few months back.


Thank you very much for your help!

I updated the version to the latest and it works.

I just want to make sure exactly which URP file is to be obtained from a real controller? Does this URP file have any specific name, and where can I find it on a real controller?

Thanks and best regards.

You simply create a new program directly on the teach pendant of your UR robot.
I generally add one MoveJ to the program.
You can then save it on a USB stick and bring it to your computer.

No specific name required.

I created a URP file (I added a moveJ command motion), but when importing a URP file into the RoboDK tool tells I get the following:

Kinematics information not found in the URP file provided.
Did you select a URP file generated from a real UR controller.

Robots Program:
def testc():
set_analog_inputrange(0, 0)
set_analog_inputrange(1, 0)
set_analog_inputrange(2, 1)
set_analog_inputrange(3, 0)
set_analog_outputdomain(0, 0)
set_analog_outputdomain(1, 0)
set_gravity([0.0, 0.0, 9.82])
while (True):
$ 1 "Robot Program"
$ 2 "MoveJ"
$ 3 "Waypoint_1"
movej([1.5582780656525672, -1.2129663415552285, -1.4723813413700129, -1.85480444469633, 1.5921288224410384, -0.6577450756658365], a=1.3962634015954636, v=1.0471975511965976)
$ 4 "Waypoint_2"
movej([2.8270797033930397, -1.166960755703696, -1.7465970572876306, -1.8233039574680792, 1.5783713037600406, -0.6577126703216907], a=1.3962634015954636, v=1.0471975511965976)

I created the URP file on a real robot controller and then uploaded it to a PC. What could be wrong - we are using the UR5-CB series robot.

Thanks and best regards.

Hi Mitja,
Can you provide the URP file?

The URP file is in the attachment.

Best regards.


Attached Files
.urp   test_calibration.urp (Size: 2.2 KB / Downloads: 466)
Hi Mitja,

It looks like this is a new format we were not aware of. I just updated the URP import script to automatically load the kinematics from this new format of URP files.

You can place this script here:

And re-run the procedure.
This script will be provided by default with new versions.

By the way, the URP file you provided is from a UR5 robot, not a UR3.


Attached Files
.py (Size: 5.46 KB / Downloads: 427)

Users browsing this thread:
1 Guest(s)