Skip to content

5.1.2 Camera not on Robot

This chapter describes the calibration and detection process for a camera mounted independently of the robot (eye-to-hand), including the use case of camera and robot mounted on a mobile platform.

Calibration use case

If the camera is not on the robot, the calibration process consists of two steps.

For the first step of the calibration process, mount the calibration plate on the robot. Teach a minimum of five calibration poses (e.g., seven to eleven poses). For more accurate results, teach further calibration poses. Make sure to use big variations between the different poses (especially variations in the pose angles).

calibration_pose_1_eih
Calibration pose 1
target_view_1
calibration_pose_2_eih
Calibration pose 2
target_view_2
calibration_pose_3_eih
Calibration pose 3
target_view_3
calibration_pose_4_eih
Calibration pose 4
target_view_4
calibration_pose_5_eih
Calibration pose 5
target_view_5

For the second step of the calibration process, put the calibration plate on the measuring or picking plane and capture a single image.

calibration_cam_to_ground

After running the calibration, an optional verification step can be performed to check the calibration's accuracy. Running it moves the robot TCP to the bottom left corner of the calibration plate (with an adjustable safety height offset). The calibration plate must not have been moved between the second calibration step and the verification step. In case of bad results, check the setup and re-run the calibration.

Note

  • For the verification step, the Z-axis must point to the object plane at a right angle.
  • The reprojection error shows how good the calibration was. Typical values are 0.1 for ZVZJ calibration plates and 0.5 for printed calibration plates.

Detect use case

After successful calibration, pick your objects. Use any detection pose where the camera sees the objects.

detection_pose_eth

With the object position sent by the camera, move the robot to the object.

robot_at_object_eth

Mobile platforms and further use cases

This section covers further use cases, such as correcting positional deviations of mobile platforms in front of a machine or shelf.

If using camera and robot on a mobile platform, make sure that the calibration plate is permanently mounted at each machine or shelf as a reference position. Run the normal first calibration step once at the beginning with several different poses with big variations (especially differences in the pose angles) when the calibration plate is mounted on the robot. Also run the second calibration step once, e.g., when the camera sees the calibration plate at the machine. Afterwards, in the run use case, when the mobile platform is in front of the machine or shelf, the camera captures only one image of the calibration plate and calculates the positional deviation of the mobile platform towards the target position. Use this info to update the reference frame of the machine or shelf if the handling pose is fixed.

mobile_platform_camera_not_on_robot

In case of varying handling poses at mobile platforms, it is possible to perform the camera-to-target calibration and afterwards use the detect command. Run the normal first calibration step once at the beginning with several different poses with big variations (especially differences in the pose angles). Also run the second calibration step once, e.g., when the camera sees the calibration plate at the machine. Afterwards, in the run use case, the camera captures only one image of the calibration plate and then captures another image via the detect command for flexible object picking. Make sure that the position of the mobile platform is unchanged between the camera-to-target calibration and detecting the object.

Note

  • It is also possible to mount camera and robot on the machine. Then the calibration plate must be at a fixed reference position on the mobile platforms or on the boxes from which the robot picks the objects. In this case, the camera must be able to see the calibration target attached to the boxes.
  • For unique identification of the machine, the shelf, or the mobile platform, it is possible to label them, e.g., with codes. The camera can read the code and send it to the robot as additional information. The code result must be linked to the additional value in Device Robot Vision in the uniVision job.