Detailed explanation of hand-eye calibration for robot positioning measurement [eye in hand]

insert image description here

Coordinate Transformation for Hand-Eye Calibration

​ There are four coordinate systems involved here: the robot base coordinate system base , the tool coordinate system tool on the flange , the camera coordinate system camera and the calibration plate coordinate system cal ; in addition, four key 4x4 homogeneous transformation matrices are involved , respectively explain the eyes on the hand and the eyes outside the hand, the following is the coordinate conversion process of the two configuration methods:
insert image description here
insert image description here

Each configuration mode has two moving coordinate systems and two stationary coordinate systems , and these four coordinate systems form a closed loop .

[1] For the moving camera (eye on the hand) method, as shown in the figure below, the base coordinate system of the manipulator and the coordinate system of the calibration plate are static (invariant) , and there is a fixed transformation matrix between them; the flange The tool coordinate system on the flange and the camera coordinate system are moving, and there is a fixed transformation matrix between them; what is needed is the transformation matrix between the tool coordinate system and the camera coordinate system on the flange . Among them, M1** (Base_H_Tool) can be read from the robot teach pendant or control, Mx (Cam_H_Tool)** is the unknown matrix that needs to be obtained, M2 **(Cam_H_Cal)** can be calculated from the photos taken, M3 * *(Base_H_Cal)** is unknown, but it is a fixed transformation matrix. Using coordinate transformation, there is the following equation: Mx=M2 M3 ^ (-1) M1 is

Cam_H_Tool =  (Cam_H_Cal)X(base_H_cal)^(-1)X(Base_H_Tool)

If I have many such equations, using M3 (Base_H_Cal) unchanged, I can construct a system of equations about Mx (Cam_H_Tool) , solve the system of equations, and obtain the value of each element in Mx (Cam_H_Tool) , in this process we It is not necessary to calculate the specific amount of M3 (Base_H_Cal) to be eliminated , but to use its fixed characteristic. Summary: Seek invariants (Cam_H_Tool)


insert image description here

[2] For the stationary camera (fixed camera-eye outside the hand) method, as shown in the figure below, the base coordinate system of the manipulator and the camera coordinate system are static (invariant) , and there is a fixed transformation matrix between them; The tool coordinate system on the flange and the calibration plate coordinate system are moving, and there is a fixed transformation matrix between them; what is required is the transformation matrix between the **camera coordinate system and the base coordinate system of the manipulator. Among them, M1 (Base_H_Tool)** can be read from the robot teach pendant or control, Mx **(Cam_H_Base)** is the unknown matrix that needs to be obtained, M3 **(Cam_H_Cal)** can be calculated from the photos taken, M2 (tool_H_cal) is unknown, but it is a fixed transformation matrix. Using coordinate transformation, there is the following equation: Mx=M3 *M2 (-1)*M1 (-1), that is

Cam_H_Base = (Cam_H_Cal)X(tool_H_cal)^(-1)X(Base_H_Tool)^(-1)

If I have many such equations, using M2**(tool_H_cal)** unchanged, I can construct a system of equations about Mx **(Cam_H_Base), solve the system of equations, and obtain the value of each element in Mx (Cam_H_Base) , in this process, we don't need to find out how much M2 (tool_H_cal)** is, but we just use its fixed characteristic.


insert image description here
Specific rotation and translation [homogeneous matrix], this brother wrote it very clearly

Guess you like

Origin blog.csdn.net/weixin_43925768/article/details/128972636