net_lib 2.0.4
 
Loading...
Searching...
No Matches
nrc_craft_vision_parameter.h
Go to the documentation of this file.
1#ifndef INTERFACE_PARAMETER_NRC_CRAFT_VISION_PARAMETER_H_
2#define INTERFACE_PARAMETER_NRC_CRAFT_VISION_PARAMETER_H_
3
4#include <string>
5#include <vector>
6
7struct CameraList {
8 std::string currentName{"customize"};
9 int listNum{0};
10};
11
12struct Protocol {
13 std::string addDataInitialPara{"GD001"}; // 附加数据初始参数
14 int addDataNum{0}; // 附加数据数量
15 int angleUnit{1}; // 角度单位
16 std::string endMark{"$"}; // 结束标志
17 std::string failFlag{"NG"}; // 失败标志
18 std::string frameHeader{""}; // 帧头
19 bool hasTCS{false}; // 是否有TCS
20 bool hasUCS{false}; // 是否有UCS
21 std::string separator{","}; // 分隔符
22 bool singleTarget{true}; // 单目标
23 std::string successFlag{"OK"}; // 成功标志
24 int timeOut{30}; // 超时时间
25 int type{1}; // 类型
26};
27
28struct Socket {
29 std::string IP{"192.168.1.120"}; // IP地址
30 int cameraDataType{0}; // 相机数据类型
31 int portNum{1}; // 端口号
32 int portOne{5050}; // 端口1
33 int portTwo{5051}; // 端口2
34 bool server{true}; // 是否为服务器
35};
36
37struct Trigger {
38 int IOPort{0}; // IO端口
39 int duration{1000}; // 持续时间
40 int intervals{35}; // 间隔时间
41 int triggerMode{2}; // 触发模式 1 IO 2 Ethercat
42 bool triggerOnce{true}; // 单次触发
43 std::string triggerStr{"TRG"}; // 触发字符串
44};
45
53
55 std::string maxX{""}; // 最大X坐标
56 std::string maxY{""}; // 最大Y坐标
57 std::string maxZ{""}; // 最大Z坐标
58 std::string minX{""}; // 最小X坐标
59 std::string minY{""}; // 最小Y坐标
60 std::string minZ{""}; // 最小Z坐标
61};
62
63struct Excursion {
64 double Xexcursion{0.0}; // X轴偏移
65 double Yexcursion{0.0}; // Y轴偏移
66 double Zexcursion{0.0}; // Z轴偏移
67 double angle{0.0}; // 角度
68};
69
70struct Position {
71 int angleDirection{-1}; // 视角方向(角度)
72 std::string cameraData{""}; // 相机数据
73 std::vector<double> cameraPoint{14, 0.0}; // 相机点位
74 std::vector<double> datumPoint{14, 0.0}; // 参考点位
75 std::vector<double> datumPointDeg{14, 0.0}; // 参考点位(角度)
77 int recvPointsType{0}; // 接收点类型
78 std::string sampleData{"x,y,Rz,h,$"}; // 样本数据
79 double scale{1.0}; // 比例
80};
81
84 int protocol{0}; // 协议类型
85};
86
88 std::vector<double> pixel_pos{7,0.0}; // 像素位置
89 std::vector<double> pixel_pos_deg{7,0.0}; // 像素位置(角度)
90 std::vector<double> robot_pos{7,0.0}; // 机器人位置
91 std::vector<double> robot_pos_deg{7,0.0}; // 机器人位置(角度)
92};
93
95 bool calibrated; // 是否已校准
96 std::vector<CalibrationPoint> point; // 校准点
97 int point_num; // 点的数量
98
100 point.push_back(pos);
101 }
102
103 CalibrationPoint getPoint(int index) const {
104 if (static_cast<size_t>(index) < point.size() && index >= 0) {
105 return point[index];
106 }
107 return CalibrationPoint();
108 }
109
110 Calibration(int num_points = 6) : calibrated(false), point_num(num_points) {
111 // 确保点数在合理范围内
112 if (point_num < 6) point_num = 6;
113 else if (point_num > 30) point_num = 30;
114 }
115};
116
118 int visionNum; // 视觉编号
119 Calibration calibration; // 校准数据
120 VisionCalibrationData(int num_points = 6)
121 : visionNum(0), calibration(num_points) {}
122};
123
124#endif /* INTERFACE_PARAMETER_NRC_CRAFT_VISION_PARAMETER_H_ */
Definition nrc_craft_vision_parameter.h:94
CalibrationPoint getPoint(int index) const
Definition nrc_craft_vision_parameter.h:103
void addCalibrationPoint(const CalibrationPoint &pos)
Definition nrc_craft_vision_parameter.h:99
std::vector< CalibrationPoint > point
Definition nrc_craft_vision_parameter.h:96
Calibration(int num_points=6)
Definition nrc_craft_vision_parameter.h:110
bool calibrated
Definition nrc_craft_vision_parameter.h:95
int point_num
Definition nrc_craft_vision_parameter.h:97
Definition nrc_craft_vision_parameter.h:87
std::vector< double > robot_pos_deg
Definition nrc_craft_vision_parameter.h:91
std::vector< double > robot_pos
Definition nrc_craft_vision_parameter.h:90
std::vector< double > pixel_pos_deg
Definition nrc_craft_vision_parameter.h:89
std::vector< double > pixel_pos
Definition nrc_craft_vision_parameter.h:88
Definition nrc_craft_vision_parameter.h:7
int listNum
Definition nrc_craft_vision_parameter.h:9
std::string currentName
Definition nrc_craft_vision_parameter.h:8
Definition nrc_craft_vision_parameter.h:63
double Yexcursion
Definition nrc_craft_vision_parameter.h:65
double angle
Definition nrc_craft_vision_parameter.h:67
double Zexcursion
Definition nrc_craft_vision_parameter.h:66
double Xexcursion
Definition nrc_craft_vision_parameter.h:64
Definition nrc_craft_vision_parameter.h:70
std::vector< double > cameraPoint
Definition nrc_craft_vision_parameter.h:73
std::string cameraData
Definition nrc_craft_vision_parameter.h:72
Excursion excursion
Definition nrc_craft_vision_parameter.h:76
std::vector< double > datumPointDeg
Definition nrc_craft_vision_parameter.h:75
int angleDirection
Definition nrc_craft_vision_parameter.h:71
std::vector< double > datumPoint
Definition nrc_craft_vision_parameter.h:74
std::string sampleData
Definition nrc_craft_vision_parameter.h:78
double scale
Definition nrc_craft_vision_parameter.h:79
int recvPointsType
Definition nrc_craft_vision_parameter.h:77
Definition nrc_craft_vision_parameter.h:12
std::string addDataInitialPara
Definition nrc_craft_vision_parameter.h:13
int type
Definition nrc_craft_vision_parameter.h:25
std::string frameHeader
Definition nrc_craft_vision_parameter.h:18
std::string successFlag
Definition nrc_craft_vision_parameter.h:23
int angleUnit
Definition nrc_craft_vision_parameter.h:15
bool hasUCS
Definition nrc_craft_vision_parameter.h:20
std::string endMark
Definition nrc_craft_vision_parameter.h:16
std::string separator
Definition nrc_craft_vision_parameter.h:21
int addDataNum
Definition nrc_craft_vision_parameter.h:14
int timeOut
Definition nrc_craft_vision_parameter.h:24
bool hasTCS
Definition nrc_craft_vision_parameter.h:19
std::string failFlag
Definition nrc_craft_vision_parameter.h:17
bool singleTarget
Definition nrc_craft_vision_parameter.h:22
Definition nrc_craft_vision_parameter.h:28
int portNum
Definition nrc_craft_vision_parameter.h:31
int portOne
Definition nrc_craft_vision_parameter.h:32
std::string IP
Definition nrc_craft_vision_parameter.h:29
bool server
Definition nrc_craft_vision_parameter.h:34
int portTwo
Definition nrc_craft_vision_parameter.h:33
int cameraDataType
Definition nrc_craft_vision_parameter.h:30
Definition nrc_craft_vision_parameter.h:37
std::string triggerStr
Definition nrc_craft_vision_parameter.h:43
int IOPort
Definition nrc_craft_vision_parameter.h:38
bool triggerOnce
Definition nrc_craft_vision_parameter.h:42
int triggerMode
Definition nrc_craft_vision_parameter.h:41
int duration
Definition nrc_craft_vision_parameter.h:39
int intervals
Definition nrc_craft_vision_parameter.h:40
Definition nrc_craft_vision_parameter.h:117
VisionCalibrationData(int num_points=6)
Definition nrc_craft_vision_parameter.h:120
int visionNum
Definition nrc_craft_vision_parameter.h:118
Calibration calibration
Definition nrc_craft_vision_parameter.h:119
Definition nrc_craft_vision_parameter.h:46
Trigger trigger
Definition nrc_craft_vision_parameter.h:50
int userCoordNum
Definition nrc_craft_vision_parameter.h:51
Socket socket
Definition nrc_craft_vision_parameter.h:49
Protocol protocol
Definition nrc_craft_vision_parameter.h:48
CameraList cameraList
Definition nrc_craft_vision_parameter.h:47
Definition nrc_craft_vision_parameter.h:82
Position position
Definition nrc_craft_vision_parameter.h:83
int protocol
Definition nrc_craft_vision_parameter.h:84
Definition nrc_craft_vision_parameter.h:54
std::string maxZ
Definition nrc_craft_vision_parameter.h:57
std::string minZ
Definition nrc_craft_vision_parameter.h:60
std::string maxY
Definition nrc_craft_vision_parameter.h:56
std::string minY
Definition nrc_craft_vision_parameter.h:59
std::string maxX
Definition nrc_craft_vision_parameter.h:55
std::string minX
Definition nrc_craft_vision_parameter.h:58