← 返回 09-27 总览(第一部分)
Agent 飞行记录仪 · 自由 focus 组 · 第2跑 · picking up trash
左:上帝视角(头部相机连续录像+我们叠加的注释, 非 agent 所见) · 右:agent 实际消费的信息, 逐字节原样、永不加工 · 下:产物架(点开看内容)与成对时间轴 ·
看本组第1跑 →与成对时间轴
▸ 起始 prompt(发给 agent 的原文,逐字)
加载中…
▸ 任务与输入(这只 agent 到底拿到什么)
任务 goal — env.task_goal() 返回的原文只有一句: "picking up trash"。更细的要求全在起始 prompt 里(见上一个下拉框)。
Agent 每轮可获得的全部输入(没有别的):
· RGB 图像 ×3: 头部 + 左腕 + 右腕 (480×480)
· 头部相机原始深度图 (.npy)
· 相机内参 K + 各相机在底盘上的安装位姿(手眼标定)
· 本体感知: 关节角 / 底盘系夹爪位姿 / 相对 episode 起点的里程计 / 持物标志
· 任务文本(上面那句)
明确不提供: 任何物体的位置或身份、世界坐标外参、场景资产。
运动规划器只知道机器人自身(关节限位/自碰撞), 不知道环境——避障完全靠 agent。
▸ focus 记录是怎么产生和使用的(机制说明)
这次跑里 focus 的实况机制,来自逐字会话记录核对:
1. 存放形式:JSON 文件。agent 自己写的 control.py 规定——每个动作执行前,把 {before_turn(轮次), op(动作), reason(理由), regions(关注区)} 写成两份文件:focus/current.json(覆盖式更新“当前关注”)+ focus/before_轮次_动作.json(逐条存档)。共 57 份。
2. 矩形框的来源:没有任何检测/分割代码。agent 看完 480×480 的相机图后,把像素坐标目测估出来直接写进 regions(例如 [239,365,293,403] "far upper rim of fallen bin")。
3. 3D 坐标的来源:它写的 points.py——对头部相机深度图做逐像素反投影(调 env.depth_to_cam),把选定像素换算成机器人基座坐标系下的 3D 点,存进 regions 的 target_base 等字段。这是全程唯一的数值化空间计算。
4. 使用方式(重要):57 轮里 agent 从未读回任何 focus 文件。它的状态延续靠对话上下文;这些文件是只写的外化记录。“持续更新而非重derive”体现在 current.json 被反复覆盖,但没有证据表明文件内容参与过后续决策。
5. 本次跑没有构建任何 3D asset(无 mesh/点云/体素/仿真场景);空间表示的全部形态 = 目测像素框 + 少量反投影 3D 点 + 文字描述。
左腕相机(每轮观测时刷新)
右腕相机(每轮观测时刷新)