Robot ballbar testing


The ballbar test is often used to test the performance of computerized numerical control (CNC) machines. This test can also be performed to robots to check their performance and degradation. The measuring system requires two spheres of 0.5 ' in diameter. This test shows the error, repeatability, and backlash of a circular path.

The most common ballbar device for performance purposes Renishaw QC20-W. This ballbar works wirelessly with a battery CR2 (3V) and requires a computer with Bluetooth connection.

Robot Validation Ballbar Test - Image 1

The following image shows the ballbar test performed using a medium sized robot.

Robot Validation Ballbar Test - Image 2

RoboDK software guides you through each step to successfully accomplish a ballbar test. RoboDK can prepare the robot program in the 3D simulation environment, record ballbar measurements, and generate a performance report specific to your robot.


Test Requirements

It is necessary to have a computer with the following characteristics to properly perform a ballbar test (generate the robot program, complete data acquisition and generate a PDF report):

1.Laptop with Bluetooth. The Bluetooth connection must be managed by the “Microsoft Bluetooth stack” (default). Bluetooth devices included in laptops are often very limited. It is strongly recommended to install an external Bluetooth module with the manufacturer’s drivers.

2.It is necessary to have the USB ports of the computer unlocked AND without encryption. This allows the program to be transferred to the robot without any problems. Alternatively, an FTP connection can be established.

3.The Renishaw QC20-W ballbar kit.

4.RoboDK software must be installed and an appropriate license is required. For network licenses, an internet connection is required to check the license. To install or update RoboDK for a ballbar test follow these steps:

a.Download RoboDK from the download section

b.Set up the ballbar driver: unzip and copy the ballbar folder:
to the folder: C:/RoboDK/api/ballbar/


Offline Preparation

A robot program must be prepared to complete the ballbar test. The robot program is a circular path around a center point. This section explains how to prepare the program. Before continuing, it is recommended to watch the following introductory video:

What’s required from the robot cell:

1.The joints of the robot when setting the pivot support (center of the circle).

2.The [X, Y, Z] values of the TCP of the tool (tool position relative to the robot flange). These values are very important if we want to make a validation tool together with the validation of the robot. Otherwise, this information is not important (an estimate is sufficient) because the accuracy of the TCP will not be required or validated with the ballbar test.

Create a RoboDK station

The following these steps must be followed to prepare the test offline:

1.Select the Robot:

a.Select FileOpen online library. A window should appear with a list of robots.

b.(Optional) Use filters to refine the selection of the robot.

c.  Find your robot and select Download.         
Alternatively, select File
Open… and select a robot file in the computer. This file can be downloaded from the website: or obtained after a robot calibration project.

Robot Validation Ballbar Test - Image 3

2.Add the ballbar test module in the station:

a.Select UtilitiesBallbar accuracy test

b.The following window will appear and a target Ballbar center will be created automatically. If the robot has no TCP, the TCP Tool 1 will also be created automatically.

Robot Validation Ballbar Test - Image 4

3.Insert the robot joints of the center of the ballbar test (target Ballbar center):

a.Select Set next to the target Ballbar center.

b.Enter the robot joints (joint axes 1 to 6).

c.  Select OK.

Robot Validation Ballbar Test - Image 5

4.Enter the TCP coordinates:

a.Select Set next to the selected tool (Tool 1 in this example)

b.Enter the X,Y,Z coordinates of the TCP (relative to the robot end effector)

c.  Select OK

Robot Validation Ballbar Test - Image 6

5.Generate programs:

a.Select Make ballbar program and the program will be created. Actually, two programs will appear:

            i. BallbarSetup: This program is used to place the center toolcup pivot point (center of the circle) in the same place it was previosuly positioned

           ii. BallbarTest: This program is used to make the circle around the pivot point (center of the circle) for data acquisition with the ballbar

b.Double click the newly generated programs. RoboDK will simulate the robot running the programs.

Robot Validation Ballbar Test - Image 7

If the ballbar test is not feasible with the default settings you can change the test parameters. See the next section on how to change these settings.

6.Once the robot program is to your liking, the program files for the robot can be generated:

a.Right click on the BallbarTest program.

b.Select Generate robot program

c.  Repeat for the BallbarSetup program (all programs can be automatically generated on the desktop by pressing F6).

d.Then the programs can be saved in a USB disk and transferred to the robot. FTP connection can also be used with most robots.

Robot Validation Ballbar Test - Image 8

7.Finally, select FileSave Station to save the RoboDK station in a single file. The project can be resumed in RoboDK by double clicking the file (rdk format).


Editing the ballbar test parameters

The following screen can be seen in the ballbar test parameters menu. It can be accessed by double clicking the item Ballbar accuracy validation in the station (see previous step).

Robot Validation Ballbar Test - Image 9

It could be that the ballbar test is not feasible by default. The feasibility of the test depends on all these parameters plus the robot joints of the center toolcup and the position of the TCP.

If the test is not feasible in the first place, we can select “Preview test” and we will probably see an incomplete sequence. In this case, we can decrease the “Angle turn (deg)”) so that the program is feasible. If this is not the case, we can reduce the radius of the circle (“Target distance”). With the Renishaw’s ballbar we can test distances of 100 mm, 150 mm and 300 mm with an error of +/-1 mm. The “Approach distance (mm)” and the pause (“Pause (seconds)”) can be left as default. These parameters allow detecting the start and the end of the test.

The test plane is oriented with respect to the robot base reference frame (“Reference” in the “Align” section), this means that the XY plane of the robot reference frame is used to create the circle. We can choose to make the test with respect to the tool reference frame. In this case, the XY plane of the tool is used (when the center was taught). We can add additional rotations with respect to X, Y and/or Z axis of the reference frame in both cases.

If we change certain parameters (such as adding the tool in the validation), the message “Improtant: The TCP must be accurate” will appear. This means that the movements are calculated with respect to the tool center. Otherwise, we can have TCP errors and the test will be feasible anyway.

If we select the option “Include TCP” the tool orientation changes with the movement along the circle. This options allows evaluating the error of the robot plus the tool as one system. Otherwise, we are checking the error of the robot only (“Ignore TCP”).


Test ballbar

This section describes the steps required to take the ballbar measurements.

You should have 2 robot programs:

    BallbarSetup: this program allows setting the center of the ballbar test (center tool cup) at the same place where we recorded the robot joints.

    BallbarTest: this program is the circular path around the center toolcup to make the measurement acquisition with the ballbar.

To make sure that the center toolcup is at the right position we must run the program BallbarSetup. The robot will move to the center point with a linear approach. We must then place and lock the magnetic support.

We must make sure that we have properly entered the mastering parameters of the ballbar kit (see the following image). These values must be inserted in the cases “Ballbar reference distance ...” from the test parameter menu. The ballbar will be able to measure these distances plus or minus 1 mm with one micrometer accuracy. The accuracy is enough for industrial robots, but the measurement range can be limited in certain cases.

Robot Validation Ballbar Test - Image 10

Robot Validation Ballbar Test - Image 11

We can start with the test by selecting “Start test” (it is not required to previously select “Connect ballbar”). A new window will appear showing the ballbar connection status. If the ballbar was not detected or there are some issues, you must close the ballbar connection window, turn off the ballbar device, turn it back on and retry to start the test. If the problem persists, make sure that you have an appropriate Bluetooth connection.


Once the Bluetooth connection has been stablished with the ballbar, RoboDK will guide the user to follow these steps:

1.   Initialise the ballbar with the distance selected for the test.

2.   Move the robot to the start position (the program will pause before continuing)

3.   The user must then place the ballbar in the robot.

4.   Start the test by selecting OK on the computer screen. The robot won’t move until we select to continue on the robot teach pendant.

5.   If everything is correct, a new window will appear showing the ballbar current measurement.

6.   We can continue with the robot program to move along the path.

7.   When the robot finishes the movement, we can stop the measurements (clockwise and counter clockwise).

When the test is done, RoboDK will show the result of the test and will ask the user to save a report in PDF format.

Step 4 is important to detect the beginning and end of the test. These limits are detected because the robot makes a radial movement of about 1.5 mm to trigger the start and end of measurements (at the start and end points of the path).


Ballbar test report

When the ballbar test is completed, a PDF report is obtained (as shown in the following image):

Robot Validation Ballbar Test - Image 12

The report shows the ballbar readings in mm (Y axis on the left) for the clockwise and counter clockwise movements (blue and red lines respectively) with respect to the time in seconds (bottom X axis). The robot joints are also displayed. The robot joints are displayed in degrees (right Y axis) with respect to the circle angle (360 degrees mean a full turn). A faulty motor would show considerable measurement changes when the corresponding joint movement changes the direction, noticing a considerable backlash.

The report will prevent the user if the backlash is larger than a given threshold. The threshold can be defined in the menu ToolsOptionsAccuracy tab.

Robot Validation Ballbar Test - Image 13


Annex – Bluetooth connection #BallbarBluetooth

This section explains how to establish a Bluetooth connection between the computer and the ballbar. For the communication to work, we must first establish communication between the computer and the ballbar device using Windows.

The “Windows Bluetooth Stack” must be activated (default Bluetooth manager on Windows). You must then follow these steps to stablish a first connection:

1.Select the Windows Start button

2.Select Control Panel

3.Look for the keyword Bluetooth

Robot Validation Ballbar Test - Image 14

4.Select Bluetooth devices

5.Select Add a Device if you don’t see the ballbar device.

6.Once the device shows up you must select it and select Next. The number you see is the ballbar serial number, printed on the device.

7.Finally, you should select Pair without using a code.

The Bluetooth device is now ready to take measurements through RoboDK.

Robot Validation Ballbar Test - Image 15Robot Validation Ballbar Test - Image 16

The Bluetooth connection can be very limited if we use the Bluetooth dongle integrated in some laptops (even for recent computer). It is then recommended to purchase an external Bluetooth dongle so that the connection works without any problems.

The computer should not be very far from the ballbar device. If problems arise with the connection it is recommended to use a USB extension cable for the Bluetooth dongle.