*这个示例演示如何进行相机机械手相对固定场合的手眼标定,标定物体附着在机械手臂上
- This example explains how to use the hand eye calibration for the case where
- the camera is stationary with respect to the robot and the calibration
- object is attached to the robot arm.
*在这个案例中,手眼标定的目标是:确定两个未知的位姿
*1.机械手基座在相机坐标系的位姿BaseInCamPose
*2.标定物体在工具坐标系的位姿CalObjInToolPose)
- In this case, the goal of the hand eye calibration
- is to determine two unknown poses:
-
- the pose of the robot base in the coordinate system
- of the camera (BaseInCamPose).
-
- the pose of the calibration object in the coordinate system of the
- tool (CalObjInToolPose)
*理论上来说,至少需要三个标定物体在相机坐标系的位姿和对应的机械手工具在机械手坐标系的位姿
*但是,为了更高精度,推荐是至少10个位姿
- Theoretically, as input the method needs at least 3 poses of the
- calibration object in the camera coordinate system and the corresponding
- poses of the robot tool in the coordinate system of the
- robot base. However it is recommended
- to use at least 10 Poses.
*标定物体的位姿从静态相机拍摄的图片中得来 - The poses of the calibration object are obtained from images of the
- calibration object recorded with the stationary camera.
*标定物体由机械手带动。 - The calibration object is moved by the robot with respect to the camera.
*为了获得高精度标定结果,推荐相对于相机定位标定物体,获取一些标定物体是倾斜的图片 - To obtain good calibration results, it its essential to position
- the calibration object with respect to the camera so that the object appears
- tilted in the image.
*手眼标定后,计算好的矩阵变换提取出来,用来计算标定物体在相机坐标系的位姿 - After the hand eye calibration, the computed transformations are
- extracted and used to compute the pose of the calibration object in the
- camera coordinate system.
dev_update_off () - Directories with calibration images and data files
ImageNameStart := ‘3d_machine_vision/hand_eye/stationarycam_calib3cm_’
DataNameStart := ‘hand_eye/stationarycam_’
NumImages := 17 - Read image
*读取图像
read_i