Files
orisys-app/apps/autocal/docs/implementation-plan.zh.md
T
ykcheungab 32dcecb270 接入 Autocal 实时相机及帧时间显示
视频和相机共用 Finger worker,并保留采集时间、源帧编号及媒体时间。通过界面、采集链和真实视频验证。
2026-10-11 12:50:52 +08:00

6.3 KiB
Raw Blame History

Autocal finger 标定实施计划

状态:2026-10-11 修订。用途:方案。阶段一的交付为操作员手动控制完成整条标定流程;M1 已接通视频与相机编号输入,并把主机采集时间绑定到 finger 帧。相机实机尚未验收,会话记录及灵敏度页面尚未实现。操作与文件字段以数据格式草稿为准。

阶段一目标

操作员选择 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 状态贯通;全局“运行”按钮也尚未启动记录。M3 应让操作员按“选点→设档→开始记录→逐档确认→卸载→结束”前进,并在操作期间持续看到选中点、输入状态和记录状态。现阶段传感器页明确提示仅供预览,避免误以为已保存标定数据。

主代理负责接口、M3 和集成;一名子代理负责 M1/M2,另一名负责 M4 与合成会话验证。建议总计主代理加两名子代理,约 4–6 个工程工作日并留设备联调时间;单人约 6–9 日。估算不包括设备、FT 协议或硬件等待。当前计划不启动子代理。

阶段一验收和后续

检查 通过条件
操作闭环 操作员对至少两个 finger 测点完成选择、设档、手动加载/卸载、记录、结束;每点至少两个 trial
时间与数据 每帧、参考样本和事件可按电脑采集时间关联;原始输入与 trial 输出可区分;缺失或失同步显式标记
分析与呈现 每点可见参考力—原始信号曲线、灵敏度和有效性;加载/卸载分别展示,跨点差异在 UV 图可见
恢复与故障 全新进程重开会话可复核结果;中断、写盘失败及无效参考不显示成有效系数
硬件 实际运动只在确认设备、行程/载荷边界及停机条件后执行,软件离线通过不等于实机通过

阶段二再增加自动测点遍历或自动加载:它们复用阶段一的 trial、事件、采集和分析接口,只替换人工动作及到档确认来源。FT/ECAT 自动参考接入可按设备可用性单独排期;测量延迟与钟偏通过实测确认。剪切、复杂空间模型和实时部署不属于阶段一。