43 lines
1.2 KiB
C
43 lines
1.2 KiB
C
#ifndef VRHANDEYECALIBCONFIG_H
|
|
#define VRHANDEYECALIBCONFIG_H
|
|
|
|
#include <cstring>
|
|
|
|
/**
|
|
* @brief 手眼标定矩阵(多项目共用)
|
|
*
|
|
* 每台相机独立保存:标定矩阵、欧拉角顺序以及工具坐标轴绕 X/Y/Z 三轴的补偿旋转。
|
|
* 欧拉角顺序同时用于机器人法兰姿态的分解(输入)和工具姿态的合成(输出)。
|
|
* 轴旋转在 Eye 坐标系下施加,按 Rx(rotX) * Ry(rotY) * Rz(rotZ) 的顺序合成。
|
|
*/
|
|
struct VrHandEyeCalibMatrix
|
|
{
|
|
int cameraIndex;
|
|
double matrix[16];
|
|
int eulerOrder;
|
|
double rotX;
|
|
double rotY;
|
|
double rotZ;
|
|
/* 接近点偏移 (mm): approach point offset along -axialDir (screw) / -normalDir (tool disk). */
|
|
double approachOffset;
|
|
|
|
VrHandEyeCalibMatrix()
|
|
: cameraIndex(1)
|
|
, eulerOrder(11)
|
|
, rotX(0.0)
|
|
, rotY(0.0)
|
|
, rotZ(0.0)
|
|
, approachOffset(0.0)
|
|
{
|
|
double identity[16] = {
|
|
1.0, 0.0, 0.0, 0.0,
|
|
0.0, 1.0, 0.0, 0.0,
|
|
0.0, 0.0, 1.0, 0.0,
|
|
0.0, 0.0, 0.0, 1.0
|
|
};
|
|
memcpy(matrix, identity, sizeof(matrix));
|
|
}
|
|
};
|
|
|
|
#endif // VRHANDEYECALIBCONFIG_H
|