Table of Contents

Drawing with the UR10

Prepare the image

  1. Open the vector image in Inkscape. Don't use Illustrator (it doesn't export the files correctly).
  2. Select all
  3. Path > Object to Path
  4. Save as. Choose Plain SVG.
    1. Optional: open saved file in text editor to check that there are only <path> objects present.
    2. Keep the filename simple and avoid spaces.

Prepare the canvas

Setup the physical robot

Setup RoboDK

Guide for RoboDK version 5.2.1

  1. On the Alienware laptop navigate to C:\Users\formlab\Documents\FORMLAB\UR10\URplotter
  2. Copy the vector image to this folder.
  3. Open file URplotter.rdk with RoboDK.
  4. Delete the two bottom files:

    This is to make sure we're working with the newest versions. We will load the latest files from the file browser. RoboDK can be confusing since it works with cached files.
  5. in the file browser, drag file URplotter.py onto the RoboDK viewport. It will be listed as a python script in the item tree.

Update the python script

We need to tell the script how big to draw, and what drawing to use.

  1. Right click the python script and choose Edit Python Script. The VSCodium text editor starts up and opens the python script.
  2. Change the variable SIZE_BOARD to the size you would like the drawing to be (in millimeters).
     SIZE_BOARD = [460, 310] #Set the size of the canvas (in mm) 
  3. Change the variable IMAGE_FILE to the filename of the SVG image.
     IMAGE_FILE = 'test-image.svg' 
  4. Press ctrl + s to save the file and go back to RoboDK. Keep in mind that this file is updated in RoboDK, but not in the file explorer. Save the changes to the file explorer if you want to keep them for the future.

Define the real world position of the canvas


The Frame draw reference frame defines the top-left corner of the image (with the blue arrow pointing towards the viewer). By defining the reference frame from real world robot poses, the real world canvas position and orientation can be set.

Power up the robot arm.


in Robodk, right-click on the UR10 robot, and choose Connect to robot.


When the connection is open the status bar turns green and shows 'Ready'. Leave the connection window open and right-click on reference frame Frame draw in the item tree and select Define Reference Frame.


Change Select Method to 3 point (P1 = origin) and set 'Calibrate using' to Joints.

Probe each point


Tip: if you're using a spring-loaded pen holder, add a spacer to the spring, so the pen is retracted a little bit. Then almost touch the canvast with the pen when probing. Remove the spacer before drawing.

  1. Move the physical robot to one of the 3 points
    • You can use a combination of the freedrive function and the move controls on the teaching pendant. Note that the physical robot is locked when trying to move with freedrive. To unlock the arm, make a small movement with the teaching pendant (Move-tab) first.
  2. Click 'Connect'. Back in RoboDK, the connection is closed for some reason. Without closing the 'Reference Frame Definition window', click 'connect' in the connection window.
  3. Click 'Get Position'. When the connection status is green, click get Position in the connection window. The virtual robot arm should assume the same pose as the real world robot arm.
  4. Click 'Get P1', 'Get P2' or 'Get P3'. In the 'Reference Frame Definition' window, click on Get p1 Get p2 or Get p3. Pay attention to the numbers: they should change when you click the button, and they should be different than the other points.

Send program to robot

Troubleshooting