XYT·星野图
首页项目归档照片墙音乐灵境说说杂谈友链关于
封面
返回上一级

为什么不给机器人喂全局坐标

写作时间:2026-08-26 11:30
# 覆盖清扫
# 强化学习
# 输入契约
# BEV

问题

策略的输入里有覆盖染色图、障碍图、frontier 图,全部以机器人为中心。 那要不要再加两个数,告诉它「你现在在整层楼的 (x, y) 处」?

一句话答案

不加。位置不是不给,是用图给、不用数字给。

三个理由

① 图里已经有了。 所有输入都是以车为中心、车头朝上裁出来的。 站在 A 点和 B 点,裁出来的图完全不同——「裁在哪儿」本身就唯一确定了你在哪儿。 再喂两个坐标是同一个信息说两遍。

② 喂坐标会让网络背地图。 给了绝对坐标,网络可能学成 「到了 (12, 47) 就左转」。这栋楼里刷得挺好,换一栋楼直接废。 图上画的是「周围有什么」,任何楼里都通用。

③ 覆盖任务本来就是平移不变的。 「扫旁边那块没扫的」这个决策, 和你在楼里哪个角落没有关系。

论文怎么说

ICML 2024 的覆盖路径规划工作(Jonnarth, Zhao & Felsberg)在 §3.3 明确讨论过这件事:

用自车坐标系的图来编码位姿,让智能体直接把观测对应到动作, 而不必去学一个从「单独的位置特征表示」到动作的额外映射—— 并点名对比了 Theile et al. 2020 用「2D one-hot 位置图」来表示位置的做法。

也就是说这不是没人想过,是比较过之后选择不给。

那全局信息从哪来

靠多尺度:同一份地图裁多次,范围逐级放大、分辨率逐级降低,图的尺寸不变。

级 视野边长 每格 看什么
1 11.2 m 0.05 m 桌腿、门槛
2 44.8 m 0.20 m 整层楼还剩哪片没扫

最粗那一级就是「你在楼里哪儿」——只不过是画出来的,不是写成坐标的。

这也不是可选优化。论文附录 A.1 专门论证多尺度的必要性:

覆盖范围 训练单步耗时
4 级多尺度 76.8 × 76.8 m 40 ms
单尺度(同最细分辨率) 19.2 × 19.2 m 2500 ms

范围小 4 倍,耗时却多 60 倍,再往大走显存就爆了。

还有个配套机制:粗尺度上「一片区域覆盖率低」是有歧义的—— 可能是没扫过,也可能那儿本来就是障碍物。所以要让 frontier 跨尺度传递: 细尺度上算出 frontier 点,粗尺度上「格子里只要含 frontier 点就标为 frontier」。 这样「还有没扫的地方」在任何尺度都不会丢。

一句话收尾

不给坐标,不是少给了信息,是换了一种更好用、也更能迁移的给法。

参考

  • Jonnarth, Zhao & Felsberg. Learning Coverage Paths in Unknown Environments with Deep Reinforcement Learning. ICML 2024, PMLR 235:22491–22508 (论文 · arXiv:2306.16978 · 代码)
  • Theile et al. 2020(论文中作为「单独喂位置特征」的对照)
avatar

XYT

以文字为星,以思考为野,绘一幅属于自己的星野图。

RECOMMENDED

DrivoR 怎么处理相机:4 张图到 64 个 token

2026-08-25 18:10

想法博客

2026-08-27 23:50

机器人姿态输入对比:DrivoR 的 11 维与 TD25A 的 4 维

2026-08-26 15:30

Table of Contents