# 轮胎定位 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 + 孔半径 R),flat 排列,按相机坐标系 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 | 以上三项均在"检测设置 → 网络配置"页面中配置。