Files
ros_contorl/devices/sensors/orisys/models
arm_dev 6edb8d39ab 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 / 模型权重二进制。
2026-09-23 10:53:06 +08:00
..

devices/sensors/orisys/models/ —— 传感器型号配置

放什么

每个传感器型号一个子目录,子目录内存放该型号的厂商配置。

格式与命名要求(必须遵守)

项 要求 违反的后果
子目录名 就是型号名,会被 config/site.yaml 的 tactile.model 引用 选型找不到配置
配置文件名 固定为 config.json 驱动按固定名加载
内容格式 厂商原始 JSON 结构,不要自己重排字段 解析失败
新增型号 从现有型号复制整个目录再改,不要在原型号上改 污染在用型号
生效 改 site.yaml 的 tactile.model → 重启 scripts/run_tactile.sh —

目录结构

models/
├── README.md            # 本文件
├── dd03/                # 当前在用型号
│   └── config.json      # 从 src/arm_application/config/orisys/dd03.json 迁来
└── <新型号>/
    └── config.json

型号之间的差异由这里承载

不同型号可能在以下方面不同,全部通过这个目录承载,上层代码不感知:

  • 相机分辨率与内参(影响深度图与力矢量图的标定)
  • 力的通道数(有的型号只有 1 路切向力)
  • 基线与噪声特性(影响阈值标定)
  • 左右指的拼接参数
  • 是否需要旋转配置(现有 site.yaml 里的 left_rotation / right_rotation)

新增一个型号的完整步骤

# 1. 复制现有型号作为模板
cp -r devices/sensors/orisys/models/dd03 devices/sensors/orisys/models/<新型号>

# 2. 按厂商资料修改 config.json 里的分辨率/内参/通道数

# 3. 在 site.yaml 里切换型号
#    tactile:
#      model: "<新型号>"

# 4. 重启并对比读数
bash scripts/run_tactile.sh --cli

关键提醒

换型号之后,必须重新测基线并重新标定所有力阈值。 site.yaml 里的 touch_delta / screw_done_shear_delta / screw_done_normal_delta / safe_delta 都是「相对静止均值的增量」,不同型号的噪声水平不同,直接沿用旧阈值会导致 接触判定误触发或完全不触发。