97 lines
3.2 KiB
Markdown
Raw Permalink Normal View History

2025-12-10 00:01:32 +08:00
# WorkpieceProject - 工件定位与拼接项目
本项目包含基于双目视觉的工件定位抓取和精密拼接两大应用。
## 📂 项目结构
```
WorkpieceProject/
├── WorkpiecePositionApp/ # 工件定位抓取应用
│ └── 使用 BinocularMarkReceiver + EpicEyeDevice 进行工件抓取
├── WorkpieceSpliceApp/ # 工件拼接装配应用
│ └── 使用 BinocularMarkReceiver 进行精密拼接闭环控制
├── WorkpieceProjectConfig/ # 公共配置库
├── BUSINESS_FLOW.md # 📖 业务流程总览
└── BUSINESS_FLOW_DETAILS.md # 📖 业务流程详细说明
```
## 🎯 核心应用
### 1. WorkpiecePositionApp - 工件定位抓取
- **传感器**: BinocularMark (远程) + EpicEyeDevice (本地点云相机)
- **功能**: 双传感器融合,计算工件抓取位姿
- **精度**: ±0.2mm
- **算法**: Mark 坐标系建立 + 点云配准 + PCA 姿态估计
### 2. WorkpieceSpliceApp - 工件拼接装配
- **传感器**: BinocularMark (远程)
- **功能**: 闭环位姿调整,精密拼接
- **精度**: ±0.1mm, ±0.5°
- **控制**: 实时 Mark 反馈 + SVD 位姿拟合 + 闭环 PID 控制
## 📖 文档说明
### [BUSINESS_FLOW.md](./BUSINESS_FLOW.md) - 业务流程总览
包含以下内容:
- 🎯 系统架构图
- 🔄 核心业务流程
- 📊 关键模块对比
- 🔗 数据结构定义
- 💡 典型应用场景
### [BUSINESS_FLOW_DETAILS.md](./BUSINESS_FLOW_DETAILS.md) - 业务流程详细说明
包含以下内容:
- WorkpiecePositionApp 详细流程(双传感器融合)
- WorkpieceSpliceApp 详细流程(闭环控制)
- 算法实现细节
- 数据结构完整定义
- 系统性能指标
- 模块依赖关系
## 🔗 依赖模块
### 核心依赖
- **BinocularMarkReceiver**: TCP 客户端,接收 Mark 3D 数据
- **BinocularMarkApp**: TCP 服务端,提供 Mark 检测(位于 `App/BinocularMark/`
- **EpicEyeDevice**: VisionPro 相机驱动,提供点云数据(仅 WorkpiecePositionApp
- **GalaxyDevice**: 大恒相机驱动BinocularMarkApp 使用)
### SDK 依赖
- **SDK/binocularMark**: Charuco Mark 3D 检测算法
- **SDK/workpieceCornerExtraction**: 工件角点提取算法
- **SDK/VzNLSDK**: VisionPro 相机 SDK
- **Eigen 3.3.9**: 矩阵运算和位姿计算
## 🚀 快速开始
### 查看业务流程
1. 先阅读 [BUSINESS_FLOW.md](./BUSINESS_FLOW.md) 了解系统架构
2. 再阅读 [BUSINESS_FLOW_DETAILS.md](./BUSINESS_FLOW_DETAILS.md) 了解技术细节
### 构建项目
```bash
cd WorkpieceProject
qmake WorkpieceProject.pro
nmake # Windows
# 或
make # Linux
```
## ⚙️ 系统性能
| 指标项 | WorkpiecePosition | WorkpieceSplice |
|--------|-------------------|-----------------|
| **精度** | ±0.2mm | ±0.1mm, ±0.5° |
| **速度** | <500ms/ | <1s/次调整 |
| **可靠性** | 95%成功率 | 2-3次收敛 |
| **延迟** | <50ms反馈 | <100ms反馈 |
## 📞 相关文档
- BinocularMarkApp 配置说明: `../../BinocularMark/BinocularMarkApp/CONFIG_README.md`
- BinocularMarkReceiver 接口说明: `../../../Module/BinocularMarkReceiver/Inc/IBinocularMarkReceiver.h`
- 项目整体说明: `../../../CLAUDE.md`