Spaces:
Running
Running
Commit History
-
collector: 更新采集工程至 v1.3.11(手套链路整体换厂商 SDK v2.1.0,全栈因此锁 Python 3.10)
stouchinglhh +1: Claude Code【v1.3.11 手套 SDK 迁移】新增 core/glove_sdk_boot.py 作为**全进程唯一**的 sys.path 注入点(append 到末尾而非 insert 0 —— SDK 根下也有个 config/ 与仓库的 config/ 同名;注入后 _verify() 逐包复查解析结果,把静默错变成当场报错)。core/usb_glove_engine.py 的传输与触觉降噪整体改走 SDK 的 RawImuStream / TactilePreprocessor(引擎内不再 import sdk.*、不自己插 sys.path)。新增 core/glove_registry.py 作为 glove_devices.json 的唯一读入口:SDK 的 load_device_registry 对缺失的 channel_to_hand 抛的是**裸 ValueError**(不是 GloveDeviceError),会穿透 DeviceManagerEngine.list_devices 炸掉整个设备面板;而 SDK 的 _serialize_registry 只输出 schema_version + left/right 且 os.replace 整体覆盖 ⇒ 权威文件上**绝不允许**调 SDK 的写操作(绑定变更继续走我方写入路径)。glove_devices.json 升至 schema v2 复数数组(6 个序列号;v1 单数与 extra_usb_serials 仍按优先级回退)。core/device_detector.py 的 VID/PID 硬过滤移交 SDK(枚举面变宽到连蓝牙 dongle 一起列,故在 glove_registry 按 link_kind 收窄回有线);GLOVE_USB_BACKEND 留 sdk/fork 回退开关,验收后随 fork 一起删。 ★ **全栈锁 Python 3.10**:SDK 的解算核心按 3.10 ABI 加密,3.11+ 下 `import sdk.api` 直接失败 ⇒ 丢的是**整条手套链路**而不是「少个骨架」。四个分发壳的判据从「>= 3.10,推荐 3.12」改成**恰好 3.10**(3.12 的 venv 起得来但 SDK import 不了,「起得来却缺一块功能」最…0901daa
-
collector: 更新采集工程至 v1.3.10(夹爪 RGB 帧空洞可见化 6/6 全部落地;普通版一键部署自带实时骨架解算与 D435)
stouchinglhh +1: Claude Code【夹爪 RGB 帧空洞可见化 6/6】episode-099 录到第 45 帧丢了 4.68s,而当时所有计数器都是 0——相机侧没帧可读、emit 帧槽被覆盖、GUI 主线程卡顿这三条路在 parquet 里留下完全相同的空洞签名。本次让每条路各记各的账,只装仪表、不动录制通路行为。 1/6 指标底座 —— core/frame_gap.py::GapWatch(相邻两帧时间差超出标称帧间隔的部分记为空洞,只报「断了多久」不反推「丢了几帧」;录制侧与离线审计脚本共用这一个类,口径只此一份。两处防呆:首帧锁定时间基座、之后 source 不符的帧一律跳过——混源会把设备钟与宿主钟的基准差当成天文数字级假空洞;0 是「无时间戳」哨兵;时间倒退只重锚不报洞)。core/gripper/rgb_quality.py::RgbReadWatch + MaxLagWatch(去抖契约照抄 slam/process_controller.py 的 FaysRateAlarm:健康态静默、进入报一次、持续按 repeat 限频、恢复报一次;类内自锁、无 IO、不 emit)。core/pipeline.py::DropStats 加 note_max,并加 is_frame_drop_key / frame_drop_total 钉死「帧数 vs 时长」口径——ext:<slot>/sensor_queue 可加总,*_ms/*_ns/*_count 不可,新键混进 sum() 会虚增丢帧数并把用户指去调编码器。config/settings.py 四个新旋钮。 2/6 落盘侧空洞 —— front `_note_ext_gap` 在写线程取到帧之后、写进视频之前记一次,只统计「确实进了队列、确实写进了视频」的帧(队列满丢的帧由 ext: 计数认领,两边不重复也不互相掩盖,判据可互推)。基座每段首帧锁定:带 hardware_ns 的槽位走 hw、恒传 0 的 lite 槽位退化为宿主单调钟 mono,两者绝不混用。空洞闭合到 500ms 当场 emit recording_log。每段重置看门狗(不重置则第二段换基座,钟差会被记成一次天文数字级假空洞)。CameraPipeline.note_drop_stats() 让 UI 把采集侧计数并进来。 3/6 采集侧三层计数…330cf83
-
collector: 更新采集工程至 v1.3.9(v1.3.9:接夹爪时自动把 DECXIN 曝光/白平衡写回「自动」,新增 core/gripper/decxin_exposure.py 纯 fcntl.ioctl 读写、已是自动档则一个字节都不写,调用点在 bridge._open_run 拿到租约后且 UvcCameraServiceManager.select() 之前——顺序是硬要求,服务一开 /dev/videoN 就被注销;Sightac 绝不触碰;另新增 tools/diag_frame_trace.py。chore:ORB-SLAM 核心源码整棵树入库 core/gripper/orb_slam_src/(350 文件 / 3.2MB)——四个崩溃家族的修复全在这份源码上,此前只活在不入库的 online/ 里,目录一丢就改不动。test:契约测试随树带 run_contract_tests.py 加载器,修 4 份没有 unittest.main() 直跑 rc=0 零输出的假绿)
stouchinglhh +1: Claude CodeCo-Authored-By: Claude Code <noreply@anthropic.com>42af1ef
-
collector: 更新采集工程至 v1.3.6(夹爪并入极简版「只录不显」,Linux 包把约 460MB 夹爪原生栈当必需资源下发并逐项自检、缺则报 [错误 B] 拒启,Windows 包有意不带、靠载荷缺失降级;三个分发壳从 lite_package/ 搬到仓库根;力矩阵编码搬到 core/gripper_codec.py 作为唯一数据契约;SLAM 轨迹点新增宿主时刻戳 observation.{prefix}slam_trajectory_ns,真机验收最近邻残差中位 6.9ms(原行号配对 83ms);另回收 native 树 339MB 重复 .so。含版本注释瘦身)
stouchinglhh +1: Claude CodeCo-Authored-By: Claude Code <noreply@anthropic.com>2535d68
-
collector: 同步采集工程 v1.2.1(全部 LFS 模式文件指针化,与 Space 现有文件合并)
stouchinglhhd646dd7