GrabBag/App/ScrewPosition/Doc/螺杆定位TCP协议文档.md

79 lines
1.8 KiB
Markdown
Raw Normal View History

# 螺杆/工具盘定位 TCP/IP 通信协议文档
## 1. 协议概述
- 传输协议: TCP/IP
- 数据格式: 文本UTF-8以换行符 `\n` 分隔
- 服务模式: 服务端,支持多客户端连接
- 默认端口: 7800
- 模式: 眼在手上Eye-in-Hand
## 2. 触发格式(客户端→服务端)
格式: `类型+相机索引_X_Y_Z_RX_RY_RZ\n`,字段以 `_` 分隔。
### 2.1 螺杆检测
```text
S1_-23.45_200.30_50.10_15.50_-2.30_45.00\n
```
### 2.2 工具盘检测
```text
T1_-23.45_200.30_50.10_15.50_-2.30_45.00\n
```
字段说明:
| 位置 | 说明 |
|------|------|
| 第1段 | `S`=螺杆 / `T`=工具盘后跟相机索引1 或 2 |
| 第2段 | 机械臂当前 Xmm |
| 第3段 | 机械臂当前 Ymm |
| 第4段 | 机械臂当前 Zmm |
| 第5段 | 机械臂当前 RXdeg |
| 第6段 | 机械臂当前 RYdeg |
| 第7段 | 机械臂当前 RZdeg |
## 3. 结果格式(服务端→客户端)
```text
PointNum_X1_Y1_Z1_RX1_RY1_RZ1/X2_Y2_Z2_RX2_RY2_RZ2/\n
```
示例(检测到 2 个目标):
```text
2_100.50_200.30_50.10_15.50_-2.30_45.00/120.00_210.50_48.00_-5.00_1.20_30.00/\n
```
示例(检测到 0 个目标):
```text
0\n
```
字段说明:
| 字段 | 说明 |
|------|------|
| 第一个数字 | 检测到的目标数量 |
| `_` | 同一目标各分量分隔符 |
| `/` | 不同目标之间分隔符 |
| XYZ | 目标中心坐标mm |
| RX/RY/RZ | 目标姿态角deg |
## 4. 位姿字段说明
| 字段 | 类型 | 单位 | 说明 |
|------|------|------|------|
| `X` | double | mm | 目标中心点 X |
| `Y` | double | mm | 目标中心点 Y |
| `Z` | double | mm | 目标中心点 Z |
| `RX` | double | deg | 绕 X 轴旋转角 |
| `RY` | double | deg | 绕 Y 轴旋转角 |
| `RZ` | double | deg | 绕 Z 轴旋转角 |
所有坐标均为机械臂坐标系输出。