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

UR10 double offset


I adapted the 'Drawing with a robot' example for a UR10 robot.
It works fine if I simulate the python script in RoboDK. (Run on robot works too, although the motion is slow and jerky.)
When I generate a robot program and simulate this in RoboDK or send to the robot, the arm starts drawing at a different offset. Instead of starting at the 'Frame draw' reference frame, it seems to make the same ('UR10 Base'—'Frame draw') pose again from the 'Frame draw' reference point, basically doubling the intended offset.

An explanatory image and the roboDK file is attached. I hope that helps clarify the problem.

After the program was generated, I can change the reference link on the 'change frame' program entries to 'UR10 Base', instead of the default 'Frame draw'. Then the problem is resolved, but I would need to do that for every single moveL command, which is a bit inconvenient.

I tried changing the python script and looked at the 'program' preference options, but without a useful outcome.

I tried the updated Universal Robots URP post processor, as suggested in this forum thread, but that made no difference.

Any help is greatly appreciated!

Attached Files Thumbnail(s)

.zip (Size: 1.32 MB / Downloads: 375)
Hi Elias,

Could you update RoboDK to the latest version? (If you are still under your maintenance period)
I feel like you are using an older version of the post-processor as I did post-process the same program on my end and do not get the same program.

Find useful information about RoboDK and its features by visiting our Online Documentation and by watching tutorials on our Youtube Channel

Hi Jeremy,

Thanks for the quick reply!
I'll let you know what I find out on Tuesday!
I updated RoboDK from 5.0.2 to 5.2.1, referenced the Python 3.7 version and restarted the computer.
This unfortunately didn't change the behaviour.

When I replaced the UR10 robot with the UR10e robot (as the UR10 robot file is not present in the library of RoboDK anymore), the simulation of the generated script worked, but when I sent the script to the physical robot, it moved to the 'home' position as defined in the RoboDK python script and then continued to the center of the robot and stopped due to a singularity fault.
I noticed the problem was not related to the robot-file I chose, but the post processor. The change happened, because I was testing with post processor "Universal Robots URP' and changing to UR10e also changed the post processor to "Universal Robots".

I tested some different post processors and put the results in a grid, which you can find attached.

The generated script (in this case: configuration UR10 + "Universal Robots URP" post processor) now has one "Change Frame" item instead of one per movement. When I right click on it, and change "Set Reference Link" to "UR10Base", the program simulates with the correct position in RoboDK and the physical robot arm moves correctly too. In short, this workaround works, but I guess it should be possible to execute a script without this step. I'd like to keep the amount of steps as small as possible for ease of use.

Attached Files Thumbnail(s)
Any thoughts?
I'm out of ideas what I can try next.

Users browsing this thread:
1 Guest(s)