04adf17f60
统一测点坐标、保持窗口和试验目录,补齐逐点初步分析。定向测试与真实视频闭环通过;两项轮询失败在修改前版本同样复现。
57 lines
7.2 KiB
Markdown
57 lines
7.2 KiB
Markdown
# Autocal finger 标定实施计划
|
||
|
||
状态:2026-10-11 修订。用途:方案。阶段一的交付为操作员手动控制完成整条标定流程;M1 已接通视频与相机编号输入,并把主机采集时间绑定到 finger 帧。跨点 session、保持倒计时和模拟页测点操作表已接通;已接通会话重开、保持窗口统计、逐点曲线和 UV 初步灵敏度;正式系数及相机实机尚未验收。操作与目标文件字段以[数据格式草稿](calibration-data-format.zh.md)为准。
|
||
|
||
## 阶段一目标
|
||
|
||
操作员选择 finger 测点,设定法向加载范围和档位,在已有平台手动控制界面逐步移动或人工加砝码,标记实际到档时间。系统从加载前到卸载恢复持续记录图像、参考载荷、平台反馈和事件;结束后按测点计算灵敏度,展示曲线与空间分布,并能重新打开会话复核。阶段一不自动遍历测点或按载荷闭环运动。“自动执行”只作为以后可替换的动作来源,不改变记录和分析链。
|
||
|
||
| 边界 | 阶段一选择 |
|
||
|---|---|
|
||
| 传感器与坐标 | 仅 finger;UV pixel 与 mesh mm 同存,保存几何版本和测点姿态 |
|
||
| 加载 | 目标范围暂定 0–30 N;操作员确认档位并手动控制,加载与卸载保持同一 trial;不把范围当设备动作许可 |
|
||
| 参考 | 先用人工砝码/人工确认的有效时段跑通;ECAT 或 FT 有可用接口时接入同一时间与参考数据契约 |
|
||
| 视频 | 先用已有视频调试 `FingerAcquisitionWorker`;正式采集由相机进入同一 `SdkPacket`、记录和分析路径;每 trial 保存独立视频 |
|
||
| 结果 | 每个测点的参考力—原始法向信号曲线、拟合系数、有效点数、误差和加载/卸载差异;在 UV 测点图上着色,可切换测点看曲线 |
|
||
|
||
## 时间与来源契约
|
||
|
||
实时相机在电脑收到新帧时记录高精度单调时钟,时间戳须与**该帧身份**一起传递;`frames.csv` 记录采集时间,不用处理完成时间或配置帧率推算时间。另存 UTC 墙钟供外部追溯,时长和同进程流对齐用单调时钟。ECAT/FT 采样在电脑收到对应样本时使用相同时间基准,记录来源、采样序号、有效性及可测得的通信延迟。低延迟是待验证条件,不能省略时间戳或默认各流无偏移。
|
||
|
||
`orisys-sdk` 0.5.4 的 `CaptureSource.read_raw_stamped`/`read_latest_stamped` 现将图像、源帧编号、主机单调与 UTC 时钟一并返回;shared finger worker 将这些字段写入 `SdkPacket`,并区分 `host_camera` 与 `host_replay`。自定义运行时若没有带时间的读取接口则仅标 `host_fallback`,不能把该时间当成已验证的采集时刻。文件视频的主机时间是**本次解码时间**;媒体时间另存,不能凭配置帧率伪造原实验时间,也不能与原实验的 FT/运动流做物理同步。相机输入只经过模拟验证,仍需实机检查驱动延迟、丢帧与时钟对应。
|
||
|
||
## 复用边界与实施顺序
|
||
|
||
| 包 | 交付与验收 | 主要所有者 | 人时 |
|
||
|---|---|---|---:|
|
||
| M1 采集与时钟 | 视频/相机同一 finger worker;帧身份与电脑采集时间配对,来源和掉帧可见;针对两种输入测试 | SDK capture、shared acquisition | 8–12 |
|
||
| M2 会话记录 | `session/site/trial/step`、基准、每 trial 视频、帧/参考/事件索引;失败保留 incomplete,可重新打开 | Autocal 控制;shared record 仅提取真正共用的写入能力 | 12–18 |
|
||
| M3 手动操作 | 选点、设范围/档位、预览、开始、到档确认、卸载、结束/中止;沿用已有手动运动入口 | Autocal UI 与 motion | 10–14 |
|
||
| M4 灵敏度与图表 | 从有效保持窗口取原始法向信号和参考力,逐测点拟合;展示曲线、空间图、误差和滞后 | Autocal analysis/UI;优先复用 shared 的标定准备及拟合逻辑 | 8–12 |
|
||
| M5 集成验收 | 合成会话、旧消费者回归、视频重放、真实设备手动试验及操作指南核对 | 主代理集成 | 6–10 |
|
||
| 合计 | 可手动完成一次多点标定并复核结果 | 见下文 | 44–66 |
|
||
|
||
M1 的视频与相机输入现共用带时间的数据包;M2 记录器与 M3 手动 UI 可在接口固定后并行。M4 可先用合成 session 开发,但阶段一只有在真实记录上重新打开并计算逐测点结果才算完成。Studio 的 `SessionController`、widget 和 `RecordingCoordinator` 保留在 Studio;Autocal 直接复用 shared `FingerAcquisitionWorker`、`SdkPacket` 和 sink,不跨应用导入私有模块。只有出现两端实际共用的逻辑时才移到 shared;SDK 不依赖 UI。
|
||
|
||
界面复核:原先测点、计划和输入分散在“手指调试”“测试序列”“传感器”页。现在“标定采集”页串起单次 trial;全局“运行”按钮尚未负责标定,页面内有独立的“开始本次试验”。
|
||
|
||
已实现的最小闭环在“标定采集”页:点击 UV 图粗选、以 U/V 整数像素精确修改、切换到实时二维 UV 图像。首个 trial 建立本场 session,同点重复和新测点试验归入其 trials 子目录;每档人工确认后倒计时,初始/最终零载也需保持。参考窗口在计时终点结束,换档只保留视频和信号,不标成恒定参考力;中止保留 incomplete。
|
||
|
||
模拟页可按选点顺序导出与标定页相同 U/V 的 CSV 操作表,导入仍后置。未实现 FT 同步、稳定性复核、图像基准快照、正式标定和实体相机验收。手动 Z 控制仍使用既有设备界面,专用弹窗需先确定操作边界。
|
||
|
||
目前 M4 已提供独立会话复核窗口:按帧身份和采集时间取完整保持窗口,排除无效帧和换档,显示加载/卸载散点、加载分支初步线性拟合及 UV 测点着色。结果可另存 derived;未复核稳定性的人工参考及视频调试不升级为正式系数。
|
||
|
||
主代理负责接口、M3 和集成;一名子代理负责 M1/M2,另一名负责 M4 与合成会话验证。建议总计主代理加两名子代理,约 4–6 个工程工作日并留设备联调时间;单人约 6–9 日。估算不包括设备、FT 协议或硬件等待。当前计划不启动子代理。
|
||
|
||
## 阶段一验收和后续
|
||
|
||
| 检查 | 通过条件 |
|
||
|---|---|
|
||
| 操作闭环 | 操作员对至少两个 finger 测点完成选择、设档、手动加载/卸载、记录、结束;每点至少两个 trial |
|
||
| 时间与数据 | 每帧、参考样本和事件可按电脑采集时间关联;原始输入与 trial 输出可区分;缺失或失同步显式标记 |
|
||
| 分析与呈现 | 每点可见参考力—原始信号曲线、灵敏度和有效性;加载/卸载分别展示,跨点差异在 UV 图可见 |
|
||
| 恢复与故障 | 全新进程重开会话可复核结果;中断、写盘失败及无效参考不显示成有效系数 |
|
||
| 硬件 | 实际运动只在确认设备、行程/载荷边界及停机条件后执行,软件离线通过不等于实机通过 |
|
||
|
||
阶段二再增加自动测点遍历或自动加载:它们复用阶段一的 trial、事件、采集和分析接口,只替换人工动作及到档确认来源。FT/ECAT 自动参考接入可按设备可用性单独排期;测量延迟与钟偏通过实测确认。剪切、复杂空间模型和实时部署不属于阶段一。
|