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:
arm_dev
2026-09-23 10:53:06 +08:00
commit 6edb8d39ab
635 changed files with 1165230 additions and 0 deletions
@@ -0,0 +1,31 @@
# devices/grippers/dh_pgea/protocol/ —— 大寰 Modbus 协议资料
## 放什么
大寰(DH)夹爪的 Modbus RTU 协议手册、寄存器表、型号规格书。
## 格式与命名要求
| 项 | 要求 |
|----|------|
| 格式 | 厂商原始 PDF / 文档,不要转换 |
| 命名 | 保持原文件名,或改为 `<型号>_<文档类型>.pdf`,如 `PGEA-100-20-W_寄存器表.pdf` |
| 是否必需 | **不必需**。寄存器表已固化进驱动代码,此目录仅供人工排查时对照 |
## 为什么放这里
驱动里硬编码了寄存器地址与 CRC 表。当现场出现「某个动作没反应」时,
需要拿手册逐条核对寄存器定义与从站号,所以把手册放在驱动旁边最方便。
## 已知的两处不一致(迁移时要处理)
1. 现在代码里有**两套独立的 Modbus 实现**,各自定义了一份寄存器常量:
- `src/arm_application/arm_application/dh_pgea.py`(PGEA,自带 CRC 表)
- `src/arm_application/arm_application/dh_official.py`(含 RGI 旋转寄存器)
两份功能重叠,P1 之后合并成一份。
2. `site.yaml` 里 `gripper.backend: rdk` 这条「走机械臂控制器 RS485」的分支
已被 `run_gripper.sh` 明确拒绝,对应的 `scripts/rdk_gripper.py` 是孤儿脚本。
如果你其实需要走控制器 RS485(而不是工控机 USB),请明确告知 ——
这会影响驱动是挂在 `devices/grippers/` 还是 `devices/robots/flexiv/` 下。