Mech-Eye API
2.6.0
API reference documentation for Mech-Eye Industrial 3D Camera
Toggle main menu visibility
Loading...
Searching...
No Matches
area_scan_3d_camera
HandEyeCalibration.h
1
#pragma once
2
#include <cmath>
3
#include "Camera.h"
4
#include "CameraProperties.h"
5
#include "CommonTypes.h"
6
7
namespace
mmind {
8
9
namespace
eye {
10
11
class
MMIND_API_EXPORT
HandEyeCalibration
12
{
13
public
:
18
enum struct
CameraMountingMode
{
19
EyeInHand,
20
EyeToHand,
21
};
22
26
enum struct
CalibrationBoardModel
{
27
BDB_5,
28
BDB_6,
29
BDB_7,
30
OCB_5,
31
OCB_10,
32
OCB_15,
33
OCB_20,
34
CGB_20,
35
CGB_35,
36
CGB_50,
37
};
38
43
struct
Transformation
44
{
45
Transformation() =
default
;
46
Transformation(
double
x,
double
y,
double
z,
double
qW,
double
qX,
double
qY,
double
qZ)
47
: x(x), y(y), z(z), qW(qW), qX(qX), qY(qY), qZ(qZ)
48
{
49
}
50
51
std::string toString()
const
52
{
53
char
buff[256] = {0};
54
snprintf(buff,
sizeof
(buff),
"%lf,%lf,%lf,%lf,%lf,%lf,%lf"
, x, y, z, qW, qX, qY, qZ);
55
return
buff;
56
}
57
double
x{};
// Translation 3*1 vector robot pose unit: mm; extrinsic unit: m.
58
double
y{};
59
double
z{};
60
double
qW{1};
// Quaternion 4*1 vector
61
double
qX{};
62
double
qY{};
63
double
qZ{};
64
};
65
73
ErrorStatus
initializeCalibration
(
Camera
& camera,
CameraMountingMode
mountingMode,
74
CalibrationBoardModel
boardModel);
75
88
ErrorStatus
addPoseAndDetect
(
Camera
& camera,
const
Transformation
& poseData,
89
Color2DImage& color2DImage,
unsigned
int
timeoutMs = 10000);
90
98
ErrorStatus
calculateExtrinsics
(
Camera
& camera,
Transformation
& cameraToBase);
99
110
ErrorStatus
testRecognition
(
Camera
& camera, Color2DImage& testResult,
111
unsigned
int
timeoutMs = 20000);
112
125
ErrorStatus
extractCurrentImageFirstCorner
(
Camera
& camera,
PointXYZ
& corner,
126
unsigned
int
timeoutMs = 20000);
127
};
128
129
}
// namespace eye
130
131
}
// namespace mmind
mmind::eye::Camera
Operates the camera. Use Camera::connect to connect an available camera, and then call the correspond...
Definition
Camera.h:55
mmind::eye::HandEyeCalibration
Definition
HandEyeCalibration.h:12
mmind::eye::HandEyeCalibration::extractCurrentImageFirstCorner
ErrorStatus extractCurrentImageFirstCorner(Camera &camera, PointXYZ &corner, unsigned int timeoutMs=20000)
Detects features in the current image and retrieves the first detected corner point.
mmind::eye::HandEyeCalibration::CameraMountingMode
CameraMountingMode
Definition
HandEyeCalibration.h:18
mmind::eye::HandEyeCalibration::CalibrationBoardModel
CalibrationBoardModel
Definition
HandEyeCalibration.h:26
mmind::eye::HandEyeCalibration::initializeCalibration
ErrorStatus initializeCalibration(Camera &camera, CameraMountingMode mountingMode, CalibrationBoardModel boardModel)
Sets the board model and camera mounting mode for this calibration.
mmind::eye::HandEyeCalibration::addPoseAndDetect
ErrorStatus addPoseAndDetect(Camera &camera, const Transformation &poseData, Color2DImage &color2DImage, unsigned int timeoutMs=10000)
Adds current pose of the robot, captures the image, and calculates necessary parameters prepared for ...
mmind::eye::HandEyeCalibration::testRecognition
ErrorStatus testRecognition(Camera &camera, Color2DImage &testResult, unsigned int timeoutMs=20000)
Only captures current image with feature recognition result for test.
mmind::eye::HandEyeCalibration::calculateExtrinsics
ErrorStatus calculateExtrinsics(Camera &camera, Transformation &cameraToBase)
Starts to calculate the result of hand-eye calibration.
mmind::eye::ErrorStatus
Describes the types of errors.
Definition
ErrorStatus.h:12
mmind::eye::HandEyeCalibration::Transformation
Defines rigid body transformations, including translation vector and quaternion vector.
Definition
HandEyeCalibration.h:44
mmind::eye::PointXYZ
Represents a point in UntexturedPointCloud with the coordinate (x, y, z) information.
Definition
CommonTypes.h:102
Generated by
1.17.0