SenseKit to Robot Calibration

Guide to the calibration process of SenseKit with respect to the Robot.

The SenseKit to Robot Calibration is a crucial step in the optimization process that ensures seamless coordination between the SenseKit device and the robotic arm within the AMAS VR App. This calibration process is pivotal to achieving a level of precision that is fundamental for a truly immersive and accurate virtual reality robotics experience. Let's delve into the significance and intricacies of the SenseKit to Robot Calibration:

The Calibration Process: A Closer Look

Now let us look into the step-by-step process:

  1. Before we start make sure that the SenseKit and RoboKit is properly setup, and you have the Charuco Board handy as per the previous instructions.

  2. Now we start by going in to the Interaction panel and switching into the Robot Control Mode and turning on the Grip Mode.

  3. Now go to the Configuration Panel and click on SenseKit.

  4. Now click on the the SenseKit you want to calibrate in the list of Active SenseKits.

  5. This should open the configuration page of the SenseKit. In that menu, click on Calibrate button located at the bottom of the right hand side panel.

  6. This should open the options of three buttons asking to Select the Calibration Type. Click on SenseKit to Robot button.

  7. Next it will show the list of active RoboKits, select the RoboKit for the arm you want the camera to be calibrated.

  8. Next there are two options in the next page where it asks whether the camera calibration needs to be done with respect to the Base or the End Effector. Choose the appropiate option as per your camera setup i.e., if the camera is mounted on a tripod select Base otherwise if you have a camera mounted on the gripper/end-effector of the robot, select End Effector.

  9. This will open the SenseKit Calibration panel where in top you could see the the information such as: Calibration Type, Sample Size, Position Error and Rotation Error.

The Position Error and Rotation Error will be shown as zero untill the 4th sample is taken as the software doesn't have enough data previously to calculate the error.

  1. The bottom panels will have the buttons: Take Sample,Reset,Save and Cancel.

  2. Now move the robot arm using the Robot Control Mode and grab the Charuco Board in the end-effector to start taking samples.

For best results make sure that Charuco Board is completely visible to the camera during the whole process. While Charuco Board supports partial views and occlusions this limits the number of markers possible to detect and potentially decreases accuracy of calibration.

  1. Now move the end effector position and rotation of the joint to change the angle at which the camera observes the Charuco board and take your first sample by clicking on Take Sample.

  2. Repeat Step 12 three more times to reach a sub-optimal point where the SenseKit will align with the robot partially.

  3. Press Save if you're happy with the first result which will take you back to the Configuration Page of the SenseKit from Step 5.

  4. Now press Save Local or Save Local and Device to save the calibration done so far.

Usually the first four samples only achieves a partial calibration with high positonal and rotational errors. We recommend repeating the steps from 5 to 15 multiple times to achive the fine-tuning of the calibration and decreasing the error, wherein Step 13 you can take as many samples as necessary and then press Savewhen you're happy with results.

In case the calibration gets botched at any sample you can press Reset to reset to the last save and try from Step 12 again.

Alternatively, fine-tuning can also be achived using manual calibration. See this page Manual Sensekit Calibration for further instructions.

Improving calibration accuracy

Calibration accuracy may be improved by:

  • increasing the number of robot movements

  • maximizing the angular spread between robot movements

  • minimizing the distance between the camera and the calibration target

  • minimizing the distance moved by the robot arm between two positions

For detailed technical description of the problem see for example:

A Comparative Review of Hand-Eye Calibration Techniques for Vision Guided Robots