Step by step starting guide – RobPathRec

Preparations #

To be able to complete this tutorial, you will need to prepare the following:

  • The RobPathRec Demo Sheet – you can reach the RobPathRec Demo Sheet from your Dashboard, once you already purchased the free RobPathRec App.
  • USB flash drive – to transfer the program from the PC to the robot
  • RoboDK – with license
  • RobPathRec app – with license
  • Installed and powered up Based Stations from the RobPathRec Starter kit
  • RobPathRec Teach Pen with full battery

Create a TCP needle for your robot #

We recommend using a 3D-printed tool TCP definition tool, which can be mounted onto the flange of your robot arm.

Please note, that usually robot / cobot flanges has a alignment position (either a spike or a hole), which defines the orientation of the tool on the flange exactly.

For the easiest start, we recommend using a straight and symmetrical tool. Here is an example.

Once the file for the 3D printing is created, it should be saved as an “stl” file.

Stl files can be easily imported into RoboDK.

Create a TCP needle for your desk #

To keep it simple, you can print a second tool as well, which can be fixed on your desk in front of the robot arm to define the tool tcp.

It can be exactly the same tool, which was created for the flange.

Build your station #

Import a desk or robot cell #

To be able to use the RobPathRec easy robot programming tool, a simple RoboDK station with some boundaries is necessary.

The station MUST CONTAIN at least:

  • 1 robot
  • 1 tool
  • 1 frame

If one of the components missing, a failure will occur.

First, save the empty station.

A table, desk or a robotic cell can be added for easier orientation in the station file. However, this step is optional.

Please take care, that the desk is not too detailed, as the file size gets big and the visualization later on can become laggy.

The visibility of the objects can be switched easily, via right-clicking the object and select “Visible”.

Open a robot #

RoboDK maintains a huge number of robots, which can be used for free by downloading them from the library:

Defining the tool TCP #

The TCP needle for the robot should be now installed onto the flange.

The other needle should be placed and fixed on the desk, near to the robot.

This tool (which is fixed on the desk) doesn’t need to be imported into the station file. You need the needle on the desk only in the real life near to the robot arm. 

The tool fixed on the desk should be placed in a position, where the robot arm can reach it from several directions.

The tool, mounted on the flange, should be now imported into the station file. Open the saved tool stl file from your hard drive. In this case, for a UR10.

The tool will show up in the tree. Now it can be set up as a tool, if you drag and drop the file onto your robot:

For the further steps, we will use a generic tool, which can be found in the RobPathRec installation folder.


If everything is prepared right, the robot station should look similar on your screen and in the real life as well.

Tool Frame Defintion (Tool TCP) utility #

Once it is ready, in RoboDK the Tool Frame Definition utility should be opened:

Utilities –> Define Tool Frame (TCP)

In the window, which pops up, please check, if the right tool and robot are selected.
Make sure, you are using joints for the calibration. The number of the positions should be at least 4.  The more positions are used, the better accuracy can be achieved on the tool tcp.

If all parameters are set up correct,the robot arm should be driven to the tool on the desk. The tips of both tools (flange + desk) should touch each other without any gap. Once the correct position is reached, the joint values from the robot (from the teach pendant, or from the control software) must be copied into the fields in RoboDK.

The wider range of positions will be driven touching the tips, the better accuracy can be achieved for the tool tcp.

We show on the model some example position. Keep in mind, you have to drive the positions in the real life and copy each time the joint values into RoboDK.

Defining the reference frame #

Insert the frame into the station file #

A reference frame must be inserted into the station file. The be able to use with the RobPathRec Tool the reference frame must be placed under the world coordinate system of the robot.

The frame can be renamed to something meaningful.

If you are not familiar with the visualization of the coordinates, you can pick a “coordinate system” which is easier to follow. Please note: this is only the visualization system. It will not change the robot.

You can see the differences of the printed values:

UR (deg) 127.28°, -127.28°, 0° means the same like 
Default 180, -0, -90

Insert the RobPathRec Demo sheet into the station file #

Load the “Demo sheet” file. 

You can file the file in the
We recommend to load the DEMO Sheet under the world coordinate system of the robot.

Once loaded, you should move it into the correct position. Hit the right click on DEMO Sheet and choose Options.

Select the object reference Frame 2 – or equivalent, if you renamed it. Then enter everywhere the values 0. With this you will place the DEMO Sheet exactly to the Frame 2 origin.

Now only a slight adjustment needed to place the DEMO Sheet coordinate system origin exactly to the Frame 2 origin.

Please note: we had to rotate the DEMO Sheet as well (180°) to see the pattern.

Now the origin of the Frame 2 coordinate system and the DEMO Sheet are exactly on the same position. The coordinate systems show into the same direction:

  • DEMO Sheet printed axis
  • Frame 2
  • Tool

Define the robot home position #

The most robots have a factory defined home position.

A project based home position or starting position should be defined as well.

This step is crucial to avoid strange movements and singularities during recording the path in RoboDK.

First choose the world coordinate system of the robot and choose the robot below. Right-click on the robot to access the dropdown menu and finally the Options.


In the joint axis jog set up a position with which you can avoid singularities and which looks as a reasonable start potion to reach the points of the path you want to record.

Once ready, select again the world coordinate system of the robot and insert a new target. With this, you define the absolute position of the robot arm as a home or starting position.

Now right-click on the robot again. DO NOT LEFT-CLICK! 

From the dropdown menu select “joint target”. With this, the position will be defined by the axis values but not by the room coordinates. This ensures that the robot can always reach this position with the best axis config for the device.

Right-click the Target again – DO NOT LEFT-CLICK!

Rename the target by a meaningful name like “jHome”.

Right-click the robot again and hit “Teach Current Position”.

With this, the home position will be saved for the project.

Please note: this home does not influence or overwrite the factory home position.

Definition of the frame points #

3 points should be reached by the tool of the real robot. The coordinates of the 3 points will define the reference frame – in our case Frame 2. The real values must be transferred into the RoboDK model. Once done, the model will fit perfect to the reality and finally, you can start with the RobPathRec recording.

First, fix the printed DEMO Sheet exactly there, where you want to work with your robot arm later.

Now add the 3 points to your RoboDK station file. 

Please select the world coordinate system add 3 tragets.

Rename the targets to avoid the change of them during later operations.

Important note: Pay attention that you do not insert the targets Origo, X direction, Y direction under the Frame 2, which you want to define!
If you would do so, later as the Frame 2 will be moved the targets will move along, which would be fatal, as the complete working frame of the RobPathRec tool would be wrong!

So again avoid this:


Now, drive with the real robot to the corresponding points:

  1. 0 or Origo
  2. X direction
  3. Y direction

To reach better accuracy, please try to hit with the tip of the pen the middle of the 2 corners.

For X and Y directions it’s easy, just hit the tip of the printed arrows.

Once you hit a point e.g. Origo with the tool on the flange, enter the values from the robot into RoboDK. You can read out the values either from the robot software or from the teach pendant of your device. For specific instructions please follow the user manual of the manufacturer of the robot.

To enter the coordinates into RoboDK, select the corresponding target, in this case Origo, right-click on it and hit “Options”.

Make sure that the target position will be defined with respect to the world coordinate system.

Additionally, pay attention, that you use the same coordinate display format, which is used by the robot manufacturer as well. This helps a lot to avoid entering misleading values.

Complete the steps with all 3 points:

  • Origo
  • X direction
  • Y direction.

Pay attention to the right sequence, avoid mistaking the points!

If you completed everything right, it should look like below.

Define reference frame = user frame #

Finally, all points should be right defined, so you can start to define the user frame, in thi case Frame 2.

To do so, go in the menu to
Utilities –> Define Reference Frame (User Frame)

Check if each parameter is right.

  • Reference: Frame 2 (in this case it must be changed)
  • Calibrate using: joints
  • Robot: in this case the UR10e

The right settings:

Start with the 1st point: Origo.

Select the target with left-click. The robot will move to the Origo point on the screen. Check if it’s right. Now right-click and hit Options from the dropdown menu.

Hit the “Get p1” button in the reference frame defintion window. The joint values and definitely by this the coordinates of the Origo will be taken over.

Double check if the joint values in both the windows are the same.

If yes, continue with the point: “X direction”.

Left-click on the “X direction” target and let the robot move there. Right-click it and choose Options.

Check the position on the screen.

Hit the “Get p2” button to take over the joint values of this point.

Compare the joint values of the target and in the reference frame definition windows.

Continue with the last point: “Y direction”.

Left-click the Y direction target.

Check the position and right-click the same target to choose Options from the dropdown menu.

Hit “Get p3”  to take over the joint values of this point as well., Finally, double check the joint values.

You can check the error of the user frame. 

Please note: here you sum up all the errors from the previous actions before:

  • Tool TCP
  • Recorded Targets
  • Print deviations of the DEMO Sheet

You can use later any other 3 points of your choice for this calibration, which are:

  • Reproducible, you can reach them any time
  • Have the same sequence (0, X, Y)
  • The robot arm can reach all of them

The bigger the distance between the points, the better accuracy you can reach later on with the RobPathRec tool.

First recording with the RobPathRec Pen #

Finally, this is time to fire up the device and do the first recording.

How to place and setup the Base Stations (VR boxes / Laser boxes) is described detailed here:
Setting up the VR System for RobPathRec

A short checklist before you start:

  • Both Base Stations are powered up, the control LED is lighting green
  • There is a clear sight connection between the teaching station and Base Stations.
  • USB dongle of the tracker is connected to the PC
  • Tracker is charged up and switched on: control LED is green

If everything is fine, start SteamVR – you find it after a successful installation in the RobPathRec folder in the Start Menu.

Start the RobPathRec app. You can start it via the launcher in the Start Menu.

Check if the right Tool and Frame are selected. By now, there should be only 1 Tool and 1 Frame in the station file, therefore you do not have to choose.

If you would have more tools and/or Frames in the station file than you can choose from the dropdown menu, what you want to use for the recording.

For now, check the button setup and hit “Configure Buttons”

For the initial calibration, please consider using the button “PosRecL”

  • PosRecL: record 1 point as a Lin
  • PosRecJ: record 1 point as a joint
  • PathRec: records multiple points as long you pres and hold the certain button.
  • PosRecComm1 and 2: insert a comment, which you can predefine in the Options menu (e.g. welding job start)
  • SaveOri: Uses only 1 fixed orientation
  • AddComment: insert a bookmark/placeholder into the program, where you press it. Later you can insert any kind of information or code here. So you can control external devices on the right position.
  • TogglePathRec: hit (no need to hold) 1 time = Start recording; hit again = stop recording. Very useful if the Pen is attached by an adapter to a tool

After saving the config, the RobPathRec must be restarted.

Before you start, move the robot on the screen to your personal home position.

Once the app is running again, hit the “Start recording” button on the Welcome Screen.

You will be guided through the calibration process to reach the best possible results.

So first put the tip of the RobPathRec Pen to the Origo position and press the physical button on the PEN: “PosRecL”. Alternatively you can use the software buttons as well.

Follow the instructions on the screen and continue with X.

And finish with Y

To avoid calibration failures, you have to go back to Origo and record this point again. 

The absolute failure will be shown on the screen. If it’s greater than 5mm, the recording process will be aborted and must be restarted. In such a case please check, if there are reflecting objects in the near (acyl, Plexiglas!, polished metal surface, etc.) or if you just simply cross the optical lines between tracker and base stations.

For this manual, we provoked a big error to demonstrate:

In a normal case, even with 1 base station, a superb accuracy below 1 mm could be reached.

Congratulations! Right now the robot should move exactly so, as the RobPathRec Pen is moved around.

You can record the path!

Finish the recording #

Once you are ready, just simply click on “Finish recording”. The program will be fully created, which you can free manipulate in RoboDK based on your need and requirements.

You can enter speed data and other options, they can complete the path to a real program.

If you are satisfied with the results you can export it to the robot.

Export the program #

Right-click on the Program you want to export and select “Generate Program” from the dropdown menu. The right post processor based on the loaded robot will be automatically selected.

To upload the program to the robot, please follow the instructions of the manufacturer.

Fix the strange robot position, while recording #

In some cases the robot will change to a strange position during the recording. 

In some cases the robot will change to a strange position during the recording. 

This can be fixed, if the robot – in the RoboDK station – will be moved home.

To do so, select the robot in the tree and hit right-click. Choose “Move Home”

Now the failure should be fixed.

Leave a Reply

Your email address will not be published. Required fields are marked *

Shopping Cart
Scroll to Top