RoboDK TwinTrack


RoboDK TwinTrack allows you to easily replay human movements with a robot for fast and reliable automation. You can manually teach your robot the path to follow in just a few minutes. The same way you would manually perform a manufacturing operation with your hands, you can track it and replay it with a robot.

RoboDK TwinTrack offers a new way to teach robots by demonstration and can be used for many manufacturing applications like deburring, dispensing, welding etc …

One advantage of using a teach by demonstration method such as TwinTrack is that this method of robot programming does not require you to use 3D models. It does not require an operator to use a computer either. This will allow you to save a significant amount of time and you can start programming robots faster.

TwinTrack - Image 1

RoboDK TwinTrack requires a 6D measurement system and a handheld probe.

RoboDK supports over 500 robots from 50 different robot manufacturers. This means you can program any robot arm supported by RoboDK. You can also create your own robots and mechanisms.

TwinTrack - Image 2

With the TwinTrack and RoboDK calibration tools you can create highly accurate robot programs. With a good measurement system, you can reach up to 0.150 mm position accuracy. The level of accuracy highly depends on the quality and size of the robot. By using RoboDK calibration tools you can accurately create your digital twin.


It is required to install the RoboDK TwinTrack App and have a supported measurement system to use the TwinTrack tools.

Make sure to have the following:

1.One or more industrial robot arms.

2.A supported measurement system (6 DOF).

3.RoboDK software must be installed and an appropriate license for TwinTrack must be installed.

4.You need compatible robot drivers for your robot controller if you want to automatically run robot programs.

5.Install the TwinTrack RoboDK App:

a.Download the TwinTrack App (rdkp file).

b.Double click the file to install the app and open it in RoboDK.

c.  If you don’t see the TwinTrack menu: select ToolsApps List and double click on TwinTrack to see the TwinTrack menu on the top right.

TwinTrack - Image 3


To use the TwinTrack system you need to load your robot in RoboDK and connect to the robot and the measurement system. We can optionally model the cell by adding the 3D models of objects and tools. This will help prevent collisions.

1.Load the robot:

a.Select FileOpen online library. The online library will show up in RoboDK.

b.Use the filters to find your robot.

c.  Select Download to automatically load the robot in your RoboDK station.

d.Alternatively, download the robot file directly from the online library ( and open the file with RoboDK (.robot file).

2.Connect the measurement system:

a.Connect the measurement system to your computer.

b.Select Connect and connect to your measurement system. Make sure required software is also installed. You may have to the IP of the tracker depending on the measurement system you use.

TwinTrack - Image 4

3.Connect the robot:

a.Select ConnectConnect robot.

b.Enter the robot IP and port.

c.  Select Connect.

TwinTrack - Image 5

System Calibration

This section will guide you to calibrate your robot and the probe. This step only needs to be done once but it is important to obtain good accuracy results.

Before starting the calibration, it is recommended to load the 3D models of your cell. This will help you automatically avoid collisions during the calibration process. If you don’t have the 3D models of each component you can simply load planes boxes and spheres to represent the areas you don’t want to access.

Robot calibration

This section describes how to automatically calibrate your robot using RoboDK TwinTrack and your measurement system. Robot calibration allows you to improve robot accuracy to up to 0.150 mm when you generate programs offline or using TwinTrack teach by demonstration tools in RoboDK (the level of accuracy highly depends on the quality and size of the robot).

It is recommended to perform the robot calibration after you build your robot cell or you make major modifications (such as changing the payload of your tool). This helps obtaining the best accuracy.

Before you begin the calibration, you can model your cell in RoboDK to automatically avoid collisions. You can use basic geometries such as planes or cubes to avoid unwanted areas. You can also limit the joint space of the robot.

You can select TwinTrackCalibrate robot to start the robot calibration procedure.

TwinTrack - Image 6

This operation will guide you to calibrate the robot, including the automatic generation of points for calibration and validation. RoboDK can automatically generate points that are visible by the tracker.

The robot calibration procedure requires taking around 200 measurements. The procedure starts by taking some measurements around the home position of the robot.

Once the setup is ready and the communication with the robot are properly stablished, the calibration procedure should take 15-30 minutes.

The system requires no special fixtures or accessories, it simply tracks the position of the tool with respect to the tracker reference.

It’s fine if you miss some measurements because the targets are not visible.

Probe calibration

It is important to properly calibrate the tip of your probe and make sure it is accurate within your desired tolerances.

Calibrating the tip of the probe is accomplished by moving the tip around a static point.

Select TwinTrackCalibrate/Validate Probe Tip to start the tool calibration.

TwinTrack - Image 7

In this case, because we are using the Creaform HandyProbe, you can calibrate the probe using Creaform VXElements software and validate it using RoboDK.

To validate the tip of your probe you simply need to move around a static point and RoboDK will display the accuracy.

Teach Targets

With RoboDK TwinTrack you can create robot targets manually by teaching points with your probe.

You can start the teach targets mode by selecting TwinTrackTeach Targets. This button is also available in the TwinTrack toolbar by default.

TwinTrack - Image 8

RoboDK calculates and displays the robot position in real time based on the position of your hand. You can easily see what areas are reachable by your robot.

With the create targets option you will be teaching one target with every push of a button. Once you want to create a program, you can push the second button of your probe and RoboDK will simulate the program:

·    First button: teach targets.

·    Second button: create and simulate the program in RoboDK.

·    Hold the second button: run the program on the robot.

Teach Curves

With RoboDK TwinTrack you can create robot paths or curves manually with your probe.

You can start the teach targets mode by selecting TwinTrackTeach Curves. This button is also available in the TwinTrack toolbar by default.

TwinTrack - Image 9

RoboDK calculates and displays the robot position in real time based on the position of your hand. You can easily see what areas are reachable by your robot.

You can create a curve by holding the first button of your probe. Once you want to create a program, you can push the second button of your probe and RoboDK will create and simulate the program:

·    Hold the first button: teach curves/paths.

·    Second button: create and simulate the program in RoboDK.

·    Hold the second button: run the program on the robot.

Teach a coordinate system

With RoboDK TwinTrack you can probe and locate your coordinate systems (or reference frames) to locate objects in the robot workspace.

Right click your coordinate system and select Probe Reference.

TwinTrack - Image 10

You should then probe 3 points in the following order:

1.First point in the origin.

2.Second point along the positive X axis.

3.Third point along the positive Y axis.

By properly setting your coordinate system you can program robots remotely. For example, if you have a properly defined fixture, when you want to program a new part you can simply do it from your office or from home without even having to be near your robot.

Teach Curves in Motion

You can create a curves, targets and coordinate systems on a moving object if your measurement system supports tracking multiple objects at the same time. This can be done following the same procedure as if they were static.

The main difference is that the moving object needs to be tracked in real time (using a tracker or reflective targets). For example, if you use the Creaform C-Track measurement system you should specify the model in the part reference section and link it to the coordinate system it represents.

TwinTrack - Image 11

The correct dependency of coordinate systems and objects needs to be defined in RoboDK so you can define new coordinate systems relative to your moving target.

This method of programming parts may not be as accurate as when the parts are static.


This section describes the TwinTrack settings that allow you to better customize the default behavior of the TwinTrack actions.

Select TwinTrack Settings to open the settings window shown in the following image.

TwinTrack - Image 12

Among other things, you can change the default names used to display the handheld device and the reference frames. You can also customize the approach speed approach distance.

Program Filtering

Once the robot has been calibrated, we need to make sure we generate filtered programs or account for calibrated robot parameters to make sure we take advantage of the robot calibration.

We should follow one and only one of the following methods to program robots accurately after calibration:

1.Use RoboDK for Offline Programming to generate accurate programs (generated programs are already filtered). This is the recommended offline programming option for optimal accuracy results.

2.Calibrate robot controller parameters (such as link lengths, DH-DHM parameters and/or mastering parameters).

Accurate Offline Programming

When a robot has been calibrated with RoboDK we have the option to activate accurate kinematics by right clicking the robot and selecting Use accurate kinematics.

TwinTrack - Image 13

If accuracy is active, we will see a green dot, if it is not active, we will see a red dot.

This is the recommended option to have optimal accuracy results. With the robot accuracy option activated in RoboDK, all programs generated by RoboDK will be automatically filtered. This means that all Cartesian coordinates will be slightly modified to compensate robot errors.

This is the most suitable option if you are planning to use your robots for robot machining, program robots from NC files or use any of RoboDK’s supported CAD/CAM plugins.

Calibrate robot parameters

You can access the calibrated parameters in the Parameters menu once a robot has been calibrated. Some robot controllers allow modifying certain robot parameters.

TwinTrack - Image 14

Reference frame and tool frame

RoboDK provides some utilities to calibrate reference frames and tool frames. These tools can be accessed from UtilitiesCalibrate Reference frame and UtilitiesCalibrate Tool frame respectively.

TwinTrack - Image 15

To calibrate a reference frame or a tool that has not been automatically calibrated (also known as User frame and TCP respectively) we need some robot configurations touching 3 or more points, these robot configurations can either be joint values or Cartesian coordinates (with orientation data in some cases). It is recommended to use the joint values instead of the Cartesian coordinates as it is easier to check the real robot configuration in RoboDK (by copy-pasting the robot joints to the RoboDK main screen).

Tool calibration

Select UtilitiesCalibrate tool to calibrate the TCP using RoboDK. We can use as many points as desired, using different orientations. More points and larger orientation changes is better as we will get a better estimate of the TCP as well as a good estimate of the TCP error.

Reference frame calibration

Select UtilitiesCalibrate reference to calibrate a reference frame. It is possible to set a reference frame using different methods. In the example of the figure, a reference frame is defined by three points: point 1 and 2 define the X axis direction and point 3 defines the positive Y axis.

TwinTrack - Image 16