chore: 框架科学优化前的完整基线
在开始'设备契约层 + 目录重构 + 通止规装配'改造之前,先钉住当前可运行状态, 使后续任何删除/重构都可回退。 本基线包含: - 现有 ROS 2 工作区全部源码(arm_application / arm_control / arm_bringup 等) - 官方 flexiv_ros2 栈(含 flexiv_hardware / flexiv_controllers 等符号链接) - 设备契约层 src/arm_interfaces(新增,46 项单测通过) - devices/ 设备选型与品牌清单(新增) - scripts/gen_site_example.py 与由它生成的 config/site.example.yaml 按 .gitignore 排除:build/ / install/ / log/ / config/site.yaml / 模型权重二进制。
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
# devices/cameras/ —— 相机
|
||||
|
||||
## 厂商物料放置要求
|
||||
|
||||
| 项 | 要求 |
|
||||
|----|------|
|
||||
| 格式 | 厂商 SDK / 驱动包原始格式。RealSense 用 `pyrealsense2` 或官方 ROS 2 包 |
|
||||
| 命名 | 保持原样,不要改名 |
|
||||
| 序列号 | **不要写在这里**。序列号在 `config/site.yaml` 的 `cameras.<名字>.serial` |
|
||||
| 生效 | 放好物料 → 改 `registry.yaml` 选型 → 改 `site.yaml` 的 serial / 分辨率 / 曝光 → 重启对应相机脚本 |
|
||||
|
||||
## 目录结构
|
||||
|
||||
```
|
||||
cameras/
|
||||
├── README.md
|
||||
├── realsense/ # Intel RealSense(当前在用)
|
||||
│ ├── manifest.yaml
|
||||
│ └── driver/
|
||||
└── <新品牌>/
|
||||
```
|
||||
|
||||
## 相机角色与命名(重要)
|
||||
|
||||
框架里每台相机必须有一个**角色**,因为不同角色参与完全不同的流程:
|
||||
|
||||
| 角色 | 当前相机 | 参与流程 | 是否参与手眼标定 |
|
||||
|------|----------|----------|------------------|
|
||||
| `wrist_eye_in_hand` | D405(左腕 / 右腕各一台) | 视觉跟踪 k0、拍照推理 k1/k2 | 是(眼在手上) |
|
||||
| `overhead_eye_to_hand` | D435(双臂中间) | 粗定位兜底(S03) | 是(眼在手外) |
|
||||
|
||||
**注意**:D435 当前**还没有做手眼标定**,所以 S03 粗定位链路暂时不可用。
|
||||
但这不影响 S04 跟踪链路,两条链路用的是同一套权重、同一个跟踪目标 k0。
|
||||
|
||||
## 已知的坑(迁移时必须保留的处理)
|
||||
|
||||
1. **USB 独占**:RealSense 同时只能被一个进程打开。启动前必须 `pkill` 掉旧进程,
|
||||
现有脚本里那句 `sleep 2` 是必要的,不要删。
|
||||
2. **USB2 vs USB3 会自动降分辨率**:现有脚本检测到 USB2 会降到 `640x480@15` 并告警,
|
||||
这个降级逻辑要保留,否则会在弱链路上直接起不来。
|
||||
3. **`run_camera_d435.sh` 曾把分辨率/曝光/emitter 硬编码**,与 `site.yaml` 的
|
||||
`cameras.d435` 字段脱节。迁移后必须全部从 `site.yaml` 读,不允许硬编码。
|
||||
|
||||
## 当前状态(迁移参考)
|
||||
|
||||
| 现有位置 | 内容 | 迁移去向 |
|
||||
|----------|------|----------|
|
||||
| `src/arm_application/arm_application/realsense_color_pub.py` | 采集 + 发布彩图/对齐深度/红外 | `driver/` |
|
||||
| `src/arm_application/arm_application/realsense_view.py` | 独立预览进程(与采集分离) | `driver/` 或 tools/ |
|
||||
| `src/arm_application/arm_application/realsense_sdk_view.py` | Qt 四宫格窗口(被上面两者共用) | 保留 |
|
||||
| `src/arm_application/arm_application/handeye_realsense.py` | 内参查询、话题解析、曝光设置 | 拆开:相机相关的进 `driver/`,标定相关的进 `handeye/` |
|
||||
Reference in New Issue
Block a user