GrabBag/App/TireHolePose/Doc/轮胎定位TCP协议文档.md

100 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 轮胎定位 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_R1_X2_Y2_Z2_A2_B2_C2_R2_...\r\n
```
返回**全部检测结果**,每目标 7 个浮点XYZ + A/B/C + 孔半径 Rflat 排列,按相机坐标系 Z 升序排列Z 小的先输出)。
示例(检测到 2 个轮胎):
```text
2_100.500_200.300_50.100_15.500_-2.300_45.000_12.500_150.200_180.100_48.500_10.200_-1.500_42.000_12.800\r\n
```
无检测结果:
```text
0\r\n
```
字段说明:
| 字段 | 说明 |
|---|---|
| `PointNum` | 检测到的目标数量 |
| `X/Y/Z` | 目标中心坐标(机械臂基坐标系),单位 mm保留 3 位小数 |
| `A/B/C` | 目标姿态角,单位 deg保留 3 位小数 |
| `R` | 孔半径,单位 mm保留 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 |
以上三项均在"检测设置 → 网络配置"页面中配置。