GrabBag/AppUtils/AppConfig/Inc/VrHandEyeCalibConfig.h

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