← 报告首页 / reports index
2026-09-05 · 现场清单 · 取代 2026-09-04 那份

明天现场做什么

按性价比排序。第 1 项五分钟,可能直接解释掉昨天的 0/3, 所以它排在所有事情前面。往下每一项都标了要多久、以及做完长什么样。

先说昨天的结论:相机内参标定完成了(17 张有效,误差 0.335 px), 这一项可以划掉。手眼标定没做成,但它不阻塞任何当前工作——可以往后排。 昨天试跑 0/3,但发现了两个填错的输入框,还没验证。

① 用正确的设置重跑试跑 ★ 最优先

优先级 1 · 先做这个

把两个填错的输入框改回来,跑 10 次

五分钟设置 + 约 30 分钟跑完

要改的两处,都在详情页:

昨天用的明天改成
任务指令串...with the left arm.Pick up the cup with the right arm.
speed0.31.0
时长25 s40 s
chunk-rateautoauto(不变)

杯子仍然放中段(120–175 mm),每次换一个杯位,顺序固定——和昨天一样, 这样两批数据才能直接比。

为什么这两处是错的
指令串:现役模型的训练数据里只有一句指令 Pick up the cup with the right arm. (查自 tasks.parquet)。SmolVLA 是语言条件模型,喂 left arm 等于给它一个从没见过的任务。
speed:0.3 会把安全层的步长上限乘 0.3。昨天四条轨迹实测, 策略想让手臂下降的动作被削掉了 11%、5%、14%、20%,单帧最多削 13°。 被削的正是「把手臂放下去够杯子」那个关节。
做完的样子:跑满 10 次,每次照常判成功/失败。 跑完不用做别的,轨迹和结果文件会自动存好,远程这边会出一张削减对比表。
这一项的意义:如果成功率明显上去,昨天的问题就是两个输入框,不是模型不行—— 那能省掉后面好几天的重训和补数据。

② 在更宽的杯位范围补录示范

优先级 2

把杯子放到以前没放过的位置,录示范

按录制批次算,1–2 小时

远程量过现有 202 集的数据覆盖:右臂的横向范围只有 35°,标准差 5.15°—— 杯子位置一直集中在一个窄带里。模型没见过的位置,靠算法变不出来。

怎么放:把杯子放到比平时更左、更右、更近、更远的位置, 每个新位置录若干集。重点是横向(左右),那是覆盖最窄的一维。

用右臂,指令串用 Pick up the cup with the right arm. ——和现役模型的训练数据保持一致。

如果只做一件事,做①。如果还有时间,做②。 ②是「换位置也能抓」的唯一途径,架构改进解决不了它。

③ 换不同的杯子录几集

优先级 3

准备 3 种外观差别明显的杯子

30 分钟

磨砂、透明、彩色各一只,位置不用变。换杯子和换位置是两件事: 同一个位置换一只杯子,需要的动作完全一样,变的只是画面。

录几集,另外每种杯子拍几张头相机的静态照片—— 远程这边要用它们评估检测器对不同外观的稳定性,那是纯离线活。

顺便回答一个问题:现有 202 集里到底用过几种杯子? 如果一直是同一只,模型很可能已经锁死在那只的外观上。

④ 相机内参:可选的收尾

优先级 4 · 锦上添花

★ 已改:不是「补拍」,是重拍一套 1280×720

20 分钟
⚠ 2026-09-06 更正:原来这一条写的是「补 5–6 张」,那样做会毁掉整套标定。
OpenCV 标定要求所有图同一分辨率,而这台相机不同模式视场不同——把新图混进 09-04 那 17 张 640×480 里,算出来是垃圾,而且不会报错。

为什么要重拍而不是补:原生读出 848×480,640×480 是它的居中横向裁切(水平视场 69.7°), 424×240 是 2× binning(85.4°),1280×720 与 424×240 同视场 (2026-09-06 实测尺度 s=0.3330,等视场理论值 0.3312)。
生产里头相机跑的是 424×240。09-04 那次标在了三个模式里唯一被裁边的那个上, 所以那组内参按宽度比例缩到生产分辨率时差 32%。改标 1280×720,缩过去直接就对,不需要任何推导。

怎么拍:分辨率写死 1280×720,全部照片同一个分辨率。头停在 trial 位不动, 手持棋盘拍 15–20 张——覆盖画面中心和四个角、近和远、正对和明显倾斜(30–45°,肉眼一看就是斜的)。 板要占画面 30% 以上。细则见 棋盘格那一页。

影响范围:只影响 conversational_ai 那条线(人脸/杯子的角度和距离)。 SmolVLA 实机试跑完全不用内参,端到端只吃像素,所以这一项不挡跑测。

⑤ 手眼标定:如果时间充裕才做

优先级 5 · 不阻塞任何事

棋盘要夹在爪子上,不是放在桌上

40 分钟
昨天这一步的指示给错了,是远程的责任。 相机装在头上,所以棋盘必须夹在夹爪里跟着手臂动; 昨天说成了「棋盘固定、手臂动」,那是相机装在手腕上时的做法。昨天那 34 张因此大半无效。

正确做法:

  1. 把贴好硬板的棋盘夹进右爪,夹紧,确认全程不会滑动。板太大就打印一张小的。
  2. 移动手臂到不同姿态,每次确认整块板完整入画再点一次按钮。
  3. 至少 10 个姿态,转动要多样——不能只在一个竖直平面里上下动, 肩部左右转、腕部翻转都要参与。
  4. 头继续不许动,还是 trial 位。

已经修好的一点:这个按钮现在每拍一张会自动记录当时全部 17 个舵机的位置, 不用再担心「拍了但没记姿态」。

为什么排最后:手眼挡住的是视觉伺服、朝人递出、人身安全区, 这些都不是当前瓶颈。它不影响训练模型、跑模型、也不影响 B0 那条改进路线。

面板使用提醒

刷新一次页面。昨天修了四处:作业轮询的崩溃、 操作页一个把 CPU 吃满的失控轮询、模型选择「选了又变没选」、 以及中止按钮改成醒目的「⏹ 提前终止并保存」。页面顶部会弹「面板已更新」,点一下刷新。
设置在哪个浏览器就在哪个浏览器点启动。 speed / 时长 / chunk / 指令串这些存在浏览器本地,笔记本上设了、VNC 里的 Firefox 点启动,是不会带过去的。
只留一个面板页面。昨天笔记本上开着两个,其中一个停在登录页, 每 2.5 秒被拒一次,它显示的按钮是假的、点了没反应。

棋盘格在这里

棋盘格下载页(含打印说明) · 直接下载 PDF
打印三句话:普通白纸不要相纸、100% 实际大小不要「适应页面」、黑白最高质量。 印完贴硬板压平,再量 4 个格子把实测值告诉远程。

一句话

先花五分钟把指令串改成 right arm、speed 改成 1.0,跑 10 次。 这一件可能就解释掉昨天的 0/3。剩下的时间用来在更宽的杯位范围补录示范。 手眼可以不做。