update sensor bench

This commit is contained in:
ykcheungab
2026-09-01 11:14:56 +08:00
parent ef3ee84a68
commit 8cacb12abc
55 changed files with 4032 additions and 323 deletions
+52 -14
View File
@@ -1,6 +1,10 @@
# Sensor Bench
Sensor Bench 是一款用于触觉传感器测试的 Windows 桌面工具。它基于 Orisys SDK,可预览原始相机画面、显示处理后的传感器图像、录制原始视频,并在各测试步骤中监控 FN / FX / FY 力曲线。
Sensor Bench 是一款用于触觉传感器**展示**的 Windows 桌面工具。它基于 Orisys SDK,可预览处理后的传感器图像、录制原始视频,并实时显示 FN / FX / FY 力曲线。
默认启动为展示端界面(参考 `qt_viewer_2` 布局)。
> 内部检测 / 流程引导界面不在本公开包中。实验室内部工具见仓库内私有目录 [`internal/`](internal/README.md)(请勿随客户包发布)。
## 界面示意
@@ -10,12 +14,22 @@ Sensor Bench 是一款用于触觉传感器测试的 Windows 桌面工具。它
## 功能
- 通过左侧流程引导操作员完成检测,支持 **下一步**、**上一步**、**新样品 / 重置**。
- 从 `config/options.json` 加载可选项:传感器类型、弹性体、CMOS、标记、压头、平台。
- 默认使用 DDJX01 Orisys 采集:原始画面 `1920x1080 @ 30 FPS`,处理后输出约 `365x365`。
- 显示原始 `sensor.frame`、处理后的 `Sensor.get_img()`,以及实时力曲线。
- 将 SDK 原始相机帧录制为 MP4,保存到 `recordings/` 或自定义文件夹。
- 界面文案存放在 `config/locales/zh_CN.json` 与 `config/locales/en_US.json`。
展示端:
- 菜单栏 **帮助 → 关于** 显示 Sensor Bench / Orisys 版本
- 顶部工具栏:传感器类型(Orisys 拼接 / DD06 ROI)、搜索摄像机、摄像机(视频文件)、配置、启动 / 暂停、重置(传感器追踪器)、录像
- 默认画面为光流箭头绘制在现有背景色(`#121316`)上;也可切换到采集图像箭头或原始画面
- 右侧三路力曲线:FN / FX / FY(与 qt_viewer_2 相同的滤波与 Y 轴最小量程)
- 底部日志区,支持 ESC 全屏、S/E 录像、R 重置追踪器
通用能力:
- Orisys / DDJX01:原始画面 `1920x1080 @ 30 FPS`,处理后输出约 `365x365`
- DD06:外置采集 + 多边形 ROI 矫正后送入 `Sensor.get_img(..., already_processed=True)`
- 配置下拉框优先使用程序旁 `config/` 中的传感器 JSON(构建前从 Orisys wheel 同步到仓库 `config/`)
- 展示端可用“搜索”探测本机摄像机,也可用“摄像机”选择视频文件;也可用“配置…”浏览自定义 JSON
- 录制原始相机帧到 `recordings/`
- 界面文案存放在 `config/locales/zh_CN.json` 与 `config/locales/en_US.json`
## 运行环境
@@ -25,17 +39,21 @@ Sensor Bench 是一款用于触觉传感器测试的 Windows 桌面工具。它
- Python 3.10
- 从 PyPI 安装 `orisys`,或在开发时使用本地 `orisys-sdk` 源码
源码运行时安装依赖:
源码运行:
```powershell
cd D:\repo\sensor-bench
python -m pip install numpy opencv-python PyQt5 pyqtgraph
python -m pip install orisys
$env:PYTHONPATH = "D:\repo\orisys-sdk\src;$env:PYTHONPATH"
python run.py
```
使用 PyPI 包时可不设置 `PYTHONPATH`。若存在同级目录 `D:\repo\orisys-sdk\src`,`run.py` 也会自动检测并加入路径。
使用本地 SDK 源码开发时:
```powershell
$env:PYTHONPATH = "D:\repo\orisys-sdk\src;$env:PYTHONPATH"
python run.py
```
运行冒烟测试:
@@ -43,9 +61,15 @@ python run.py
python tests/test_smoke.py
```
内部操作员界面(私有,勿发布):
```powershell
python internal/run_operator.py
```
## 打包 EXE
发布包使用 PyInstaller `onedir` 模式,并依赖 Python 3.10 的 conda 环境。
发布包使用 PyInstaller `onedir` 模式,并依赖 Python 3.10 的 conda 环境。构建时从 PyPI 安装 `orisys`。
1. 创建构建环境:
@@ -53,16 +77,30 @@ python tests/test_smoke.py
.\build\create_env.bat
```
2. 构建可执行文件:
2. 构建**公开**展示端:
```bat
.\build\build_exe.bat
```
输出路径:
输出:
```text
dist/SensorBench/SensorBench.exe
```
打包结果包含 `config/`、`config/locales/` 和 `steps/`,操作员无需改代码即可编辑选项、翻译文案和工作流程。
公开构建**仅**包含展示端,不包含 `internal/`、`steps/` 或操作员流程文案。
3. 构建**内部**操作员端(勿发给客户):
```bat
.\build\build_operator_exe.bat
```
输出:
```text
dist/SensorBenchOperator/SensorBenchOperator.exe
```
内部包会附带 `steps/`、`config/options.json` 与完整操作员文案,可直接编辑。