Bustape Petal Testing Robot calibration manual

Work in progress

This manual is intended to guide the authorized operator throught the calibration steps, which have to be taken before the robot can be used for any testing. The calibration steps should also be retaken if any of the robot components, which could affect the performance and accuracy, have been replaced or modified. In such cases, retake all the steps (in a downward order) from the first one that includes the modified component.


1. Camera calibratons

2. Camera View 2 World calibration

Following the initial camera calibrations, this step is needed to connect camera movements with the camera view. You need to use the same calibration plate, that was used for the first calibration. It can be positioned in the same way as before. To start the calibration, press the Calibrate Lens V2W button.


  • This will open a calibration GUI.


  • If the calibration plate is on the vacuum chuck, input negative thickness of the plate into the Distance from lens Cal point field (-2.2 mm for standard 40 mm calibration plate).
  • This calibration is done using room lighting only, without the LED lights mounted to the robot stages. First turn the LED lights above the robot table to the maximum and set Camera exposure time to around 1500000.
  • Select which stage to calibrate and press Lens Calibration.
  • Use the Manual Control GUI to move the camera over the calibration plate. For Stage1, move the camera to the top right corner of the calibration plate, with the entire point of view still above the calibration plate. For Stage2, move the camera to the bottom left corner of the calibration plate, with the entire point of view still above the calibration plate. Press DONE to start the calibration.


  • Robot will now take 9 images at different locations above the calibration plate. The images will be saved to the location within the main Tape Tester program folder, specified under ImageV2W in Constants.xml. The calculated V2W pose and transformation matrix will be saved to the location within the main Tape Tester folder, specified under OutpV2W in Constants.xml. Output files will be named dd_mm_yyyyV2W*.mtx and dd_mm_yyyyViewToWorld*.mtx, where * represents the selected stage. To use the new calibration, move the files to a desired location within the main Tape Tester folder (preferably TapeTesterResources/CameraCalibration/) and update the filepaths under V2Wfile* in Constants.xml.

3. Stage 1 to Stage 2 calibration

This is the second calibration, which defines the transformation between the coordinate systems of both robot stages. It is best to perform the calibration using the black dotted tape, which is positioned roughly in the middle of our calibration area. In our case, the tape is already stuck to the vacuum chuck.


Calibration can also be done using the dotted calibration film or any other sequence of 7 points, positioned in a straight line. The diameter of the points can be up to 6.5 mm and spacing between them up to 30 mm. The procedure then goes as follows:

  • After initialising the robot, start the procedure by pressing the Calibrate S1 to S2 button.


  • Calibration GUI will open.


    Select the correct parameters:
    • Distance from lens Cal point: Input the thickness of the calibration surface (in milimeters), which is positioned on the vacuum chuck. Negative values means the top of the surface is higher than the vacuum chuck.
    • Point size: Point size in mm, size for black tape is 3.0 mm and size for dotted calibration film is 5.0 mm.
    • Point distance: Distance between centers of calibration points. 10 mm for black tape and 20 mm for dotted film.
    • If calibration film is being used, check the vacuum box. This will apply vacuum and suck down the film.
  • Select Stage 1 and press the Find First Point button. This will start Stage 1 camera, turn on the LED light and open the Manual Control GUI.


    • Select Stage 1 as Moving stage, input a suitable step size and press Acquire Control button.
    • Move to the center of the first calibration point. First calibration point is the one with the smallest X in the coordinate system of Stage 1.
    • When camera is positioned over the center of the first point, press DONE.
    • Robot will now locate the first point and perform some infinitesimal steps until the camera is positioned directly over the center of the point.


      Then, it will move for the step distance to the next point and again repeat the procedure until it finds the exact center.
    • After all 7 points are measured, Stage 1 will return to home position.
  • Now select Stage 2 and press the Find First Point button again. Repeat the steps in Stage 1 positioning, this time using Stage 2. Robot will again measure the 7 points.
  • After we have measured the points with both stages, we can calculate the pose between them. Press the Calculate button.

    The average transformaton values will be written to console and the resulting pose will be saved in the main results folder, under the name new_s1_to_s2_pose.dat.
  • Move the pose to the TapeTesterResources/CameraCalibration/ folder, rename it as desired and configure the new name in the program Constants.xml. Next time the program starts, the new pose will be active.
  • Close the Calibration GUI and press Disconnect to exit the program. Start the program again for the changes to take effect.

4. Dotted film calibration

The dotted film calbration is required for factoring in any imperfections of the X and Y stage through the length of the vacuum chuck. The calibration film should be placed on the vacuum chuck as perfectly aligned with the X axis as possible. Good alignment is very important. The film can be secured in position using kapton tape. During testing, vacuum should be used to tightly secure and suck down the dotted film.


Before starting the main Tape Tester program, configuration files for dotted calibration should be created. Configuration files are named TableCalibFile1.txt and TableCalibFile2.txt and are located in the TapeTesterResources/ folder. Exact description of the files is in DottedCalibrationConfigFiles. Now let us start with the calibration procedure.

  • After the main Tape Tester program is started, proceed to the initialisation of the robot. After the robot is up and running, calibratin options will be enabled in the main GUI.
  • Press the Calibrate Stage 1 button to start Stage 1 calibration or Calibrate Stage 2 button to start with Stage 2.


  • Pop-up window informing the user that Manual Control will open and that the user must move the selected stage to the first point. Press OK to continue.


  • Now the Manual Control GUI and camera view will open.


    Using the GUI, select the desired stage, input the desired step size and press Acquire Control to start controlling the stage. Move around using W,A,S,D keys. Using the camera view, move directly over the center of the first point and press DONE.
  • Another pop-up with the extracted origin coordinates will show.


    Press OK to continue.
  • The robot will now measure through all calibration points, extracting the centers of the calibration dots. User should see something similar to the screen below each time coordinates of a point are found.


    The robot can measure the dots when the camera is positioned up to a maximum of around 5 mm off the center. If the dotted film is not in good alignment with the robot X-Y coordinate system, the robot could veer of the line with the dots and fail to measure some points. That is why the alignment of the dotted film with the vacuum chuck and the robot coordinate system is very important.
  • During the process, the calibration can be safely aborted if needed by pressing the ABORT & EXIT button.


    This will abort the process, move all the stages home, disconnect and power-off the robot end exit the program. If the program is aborted during the measurement of the dots, it can take up to a few seconds for the robot to get to a safe point to abort the program. If the abort button is pressed during the calibration set-up, please continue with the set-up, as described above, until the program reaches a safe point to abort.
  • When the calibration is finished, a new pop-up whows, asking the user to Start calibration check?


    By pressing Yes, the robot will remeasure all the calibration points again, this time taking the corrections into account. Therefore the robot should be able to position itself directly over the center of each dot and the offset should be very small. However this check is not really neccessary and can be skipped by pressing No.

Now the calibration is finished. An updated file, containing the measured calibrations, TableCalibrationStage*.dat is saved in TapeTesterResources/. If calibration check was performed at the end of the calibration,the results of the check are also available in TapeTesterResources/ folder in TableCalibratinReportStage*.dat file and are useful to verify that all the points were measured correctly.

Finally, the above process has to be repeated for the other stage too.

User can also start the calibration check manually from the main GUI, by pressing the Check Stage * calibration button under the Calibrate Stage * buttons. However this can only be done after the calibration was performed and it has to be in the same program session.

5. Z-stage probing height calibration

This calibration is used to accurately determine the probing height for both stages. Before starting this procedure, user must make sure the limits for Z stage are correctly set under ⟨Limits⟩ secton in the Constants.xml file. The relevant entries are ZLowBounds* and ZUpBounds* (up bounds are not so critical). These limits were already mentioned at the beginning of this manual, but let us again mention, that they must be set in a way that the camera and the LED ring on the Z stage never hits the vacuum chuck and has at least 1 mm clerance. Because the Camera-Probe calibration has not been performed yet, also check the St*ShiftX and St*ShiftY values under ⟨CameraProbe⟩ section in the Constants.xml file. They should be something like St*ShiftX=0.020***** and St*ShiftY=0.0000** for both stages. These are just approximate values, neccessary for this calibration. Accurate calibration will be done in Camera-Probe calibration later. For the Z-stage calibration, we will also use the Calibration PCB, which is primarily used for Camera-Probe calibration.


The PCB has to be placed somewhere in the middle of the vacuum chuck, it is best to position it on the marked location, used for camera-probe calibration. The PCB is than secured to the vacuum chuck using kapton tape. Ideally both the Z=0 position for both stages are roughly at the same height globally. This will make the faster, easier and more precise. We can now proceed to the actual calibration.

  • First we start the main Tape Tester program and proceed with the robot initialisation. Once the robot is running, Z-axis Calibration button will be enabled. Press the button to start the calibration.


  • Z calibration GUI will open after that.


    First, check that the distance from lens cal point value is correct. The value should be minus thickness of the calibraiton plate of the vacuum chuck in milimeters. The calibration film is 1.59 mm thick, therefore the value should be -1.59. If any other similar PCBs are used, check their thickness first.
  • Next press the Position S1 button, which will open tha camera window and Manual Control GUI.


    Using the GUI, select Stage 1, input the desired step size and press Acquire Control to start controlling the stage. Move around using W,A,S,D keys. Using the camera view, move the stage directly over the the first arrowhead, as shown in the next image, and press DONE.


    The stage will then automatically shift a little and now the probe should be positioned over the center of the arrow. Here the stage shift, defined at the beginning of this calibration, is used.
  • Now repeat the same procedure for stage 2, by clicking on the Position S2 button and repeating the above steps.
  • After both stages are positioned, start the calibration by pressing Find Z positions button.
    This will start the calibration process by lowering both stages in small 0.3 mm steps and measuring the resistance between them. When some smal resistance is measured, this signals that both probes have reached the calibration surface. Now a more precise calibration will start, by raising just one of the probes in 0.05 mm steps until the probe loses contact with the surface. This precise stepping is then performed for the other stage too.
  • When both stages are successfully calibrated, robot will raise probes and return to home position. A green message with calibration positions will be written to the console.


    Write down both values. Now we can close the Z calibration GUI. With this, the probe-height calibration is finished.

Update the Probe*Depth values under ⟨ProbeValues⟩ section in the Constants.xml file with the acquired probing depths. Both values can be increased for 0.1 mm to ensure a better probing contact.

6. Camera - Probe calibration

This procedure is required to correctly determine the offset between the camera center and the probing position. Before starting the calibration process in the main program, we have to mount the Calibration PCB.


The PCB should be aligned with the robot axis as accurately as possible and placed at roughly the same height as the tapes will be. Its location should be somewhere in the middle of the desired testing arrea, for best results. Best placement is at the edge of the vacuum chuch, roughly halfway down the robot X axis, the location is also marked on the vacuum chuck. PCB has to be firmly attached using kapton tape. The procedure is then started by pressing the Camera-Probe buton in the Advance Controls section of the main Tape Tester GUI.


The details of this a bit more complicated and lengthy procedure are found in CameraProbeCalibration. The calibraton for one stage takes, depending on the desired accuracy and scanning area, from 20 to 120 minutes.
This calibration should also be repeated every time a probe is replaced, vacuum chuck height changes, etc.

-- MihaMali - 2021-12-28

Edit | Attach | Watch | Print version | History: r8 < r7 < r6 < r5 < r4 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r8 - 2021-12-28 - MihaMali
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Sandbox All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback