99 lines
2.1 KiB
Markdown
99 lines
2.1 KiB
Markdown
|
|
# 工件定位 TCP 协议
|
|||
|
|
|
|||
|
|
## 1. 概述
|
|||
|
|
|
|||
|
|
- 传输协议:TCP/IP
|
|||
|
|
- 数据编码:UTF-8 文本
|
|||
|
|
- 服务模式:视觉侧作为 TCP 服务端
|
|||
|
|
- 默认端口:`7800`
|
|||
|
|
- 报文结束符:`\r\n`
|
|||
|
|
- 标定模式:**眼在手外(Eye-to-Hand)**,相机固定,无需机械臂位姿
|
|||
|
|
|
|||
|
|
## 2. 请求报文
|
|||
|
|
|
|||
|
|
格式:
|
|||
|
|
|
|||
|
|
```text
|
|||
|
|
D1\r\n
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
示例:
|
|||
|
|
|
|||
|
|
```text
|
|||
|
|
D1\r\n
|
|||
|
|
D2\r\n
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
字段说明:
|
|||
|
|
|
|||
|
|
| 字段 | 说明 |
|
|||
|
|
|---|---|
|
|||
|
|
| `D` | 工件检测命令 |
|
|||
|
|
| `1` | 相机索引(1 或 2)|
|
|||
|
|
|
|||
|
|
> 眼在手外模式下,相机固定在工作环境中,不需要机械臂当前位姿。
|
|||
|
|
|
|||
|
|
## 3. 返回报文
|
|||
|
|
|
|||
|
|
格式:
|
|||
|
|
|
|||
|
|
```text
|
|||
|
|
PointNum_X1_Y1_Z1_A1_B1_C1_X2_Y2_Z2_A2_B2_C2_...\r\n
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
返回**全部检测结果**,每目标 6 个浮点(XYZ + A/B/C 姿态角),flat 排列,按相机坐标系 Z 升序排列(Z 小的先输出)。
|
|||
|
|
|
|||
|
|
示例(检测到 2 个工件):
|
|||
|
|
|
|||
|
|
```text
|
|||
|
|
2_100.500_200.300_50.100_15.500_-2.300_45.000_150.200_180.100_48.500_10.200_-1.500_42.000\r\n
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
无检测结果:
|
|||
|
|
|
|||
|
|
```text
|
|||
|
|
0\r\n
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
字段说明:
|
|||
|
|
|
|||
|
|
| 字段 | 说明 |
|
|||
|
|
|---|---|
|
|||
|
|
| `PointNum` | 检测到的目标数量 |
|
|||
|
|
| `X/Y/Z` | 工件中心坐标(机械臂基坐标系),单位 mm,保留 3 位小数 |
|
|||
|
|
| `A/B/C` | 工件姿态角,单位 deg,保留 3 位小数 |
|
|||
|
|
|
|||
|
|
## 4. 欧拉角顺序配置
|
|||
|
|
|
|||
|
|
### 4.1 输入顺序(eulerOrder)
|
|||
|
|
|
|||
|
|
机械臂法兰姿态分解为旋转矩阵时使用的欧拉角顺序(外旋约定):
|
|||
|
|
|
|||
|
|
- `RZ-RY-RX (外旋ZYX)` = 11
|
|||
|
|
- `RX-RY-RZ (外旋XYZ)` = 10
|
|||
|
|
- `RZ-RX-RY (外旋ZXY)` = 12
|
|||
|
|
- `RY-RX-RZ (外旋YXZ)` = 13
|
|||
|
|
- `RY-RZ-RX (外旋YZX)` = 14
|
|||
|
|
- `RX-RZ-RY (外旋XZY)` = 15
|
|||
|
|
|
|||
|
|
默认值:`11`(RZ-RY-RX 外旋ZYX)
|
|||
|
|
|
|||
|
|
### 4.2 输出顺序(outputEulerOrder)
|
|||
|
|
|
|||
|
|
旋转矩阵合成为欧拉角时使用的顺序(外旋约定),选项同 eulerOrder。默认值:`10`(RX-RY-RZ 外旋XYZ)
|
|||
|
|
|
|||
|
|
### 4.3 姿态输出顺序(poseOutputOrder)
|
|||
|
|
|
|||
|
|
返回报文中的 `A/B/C` 三元组排列顺序:
|
|||
|
|
|
|||
|
|
| 值 | 顺序 |
|
|||
|
|
|---:|------|
|
|||
|
|
| `0` | RX-RY-RZ(默认) |
|
|||
|
|
| `1` | RX-RZ-RY |
|
|||
|
|
| `2` | RY-RX-RZ |
|
|||
|
|
| `3` | RY-RZ-RX |
|
|||
|
|
| `4` | RZ-RX-RY |
|
|||
|
|
| `5` | RZ-RY-RX |
|
|||
|
|
|
|||
|
|
以上三项均在"检测设置 → 网络配置"页面中配置。
|