导读
学界解决机器人操纵任务往往依赖于带有深度信息的环境感知,如使用深度相机捕捉物体的三维坐标。
然而,能否仅用一个 RGB 相机让机器人自主感知环境并完成操纵任务?
北京大学董豪团队和香港中文大学窦淇团队联合发表在 ICRA 2024 的最新成果 RGBManip 证明了这个命题的可行性。
这个问题难在哪?
环境感知在几乎所有机器人任务中都是极其重要的一环。机器人需要对环境中的物体、障碍等各项因素有着精确的建模:以抓取一个马克杯为例,除了知道马克杯的位置还不够,要想成功地拿起马克杯,机器人还需要了解把手的朝向。
在各项机器人任务中,学界获得这些精确信息的方式主要依赖于深度相机,相比于普通相机,深度相机可以额外获得每个像素到相机的距离,通过投影变换即可得知图片中每个像素点在空间中的三维坐标。
而这种三维信息成为了解决各项机器人任务的关键,根据这些信息便可以计算出各个物体的位置、朝向,障碍的分布等,在此基础上机器人才能完成各项任务。如果缺失了深度相机带来的第三维信息,单纯依赖一张二维的图片,上述这些信息无从得知,因此各项机器人任务将无法开展。
这个问题意义何在?
深度相机在可以获得深度这一关键信息的同时,根据原理的不同,普遍有着一些致命的弱点。基于视差的深度相机在纹理特征缺失或重复的物体上可能会无法计算深度,且精度有限;基于光飞行时间和结构光法的深度相机无法处理全反射或透明的物体。单一视角的深度图像还会无可避免的受到物体自遮挡的影响。另外,同等水平的深度相机的价格相比 RGB 相机也高出一到两个数量级。
如果能使用 RGB 相机完全代替深度相机,将使得机器人对环境的适应能力大大增强,同时满足了机器人商业化对成本的考量。
机器人如何使用单目RGB相机实现环境感知并完成任务?
这篇工作的出发点就是:通过训练基于强化学习的决策模型,让机器人在完成操纵任务的同时,主动地从各个视角通过机械臂末端的相机进行观测并获得精确的物体,由专门的位姿估计模块对环境中的物体建模,最终解决操纵任务。
主动多视角姿态估计
如何利用单目相机获得足够的三维信息呢?该研究采用了最简单也最直观的方案:从多个视角来观察物体,并融合各个视角的信息。
单一视角的图片只能确定物体位置的两个自由度,而物体的远近和大小是无法确定的。而拥有两个视角的信息便能完全还原出物体位置的三个自由度。
这种方案可以用简单的一句话来描述:假设已知两个视角 A 和 B,并且已知视角 A 下的像素 a 和视角 B 下的像素 b 属于物体的同一个部分,那么分别沿着两个视角做像素 a,b 的延长线,两延长线的焦点便是物体对应部分在空间中的位置。
当然,实际情况会复杂一些。对于某一类操纵任务,涉及到的物体虽然属于同一类,但可能存在多样化的外形,比如大小不一形状各异的马克杯,这给我们的位姿估计算法带来了很大的挑战,因为每个像素属于物体的哪个部分是未知的。
▲ 图片前两行为预测的物体位姿,第三行为预测的每个像素所属的部位,第四行为真实环境中做的测试
为了应对这种复杂的情况,北大和港中文的团队创新性地给出了一种结合机器学习和几何投影的算法:
通过机器人的动力学状态可以计算出每个视角在空间中的坐标和朝向,
对每个视角用机器学习的方法预测出每个像素在物体上所属的部位,作为一种特征
将两个视角的每个像素的特征分别投影到多个预先设定好的平面上做合并
利用合并后的特征预测物体的位姿
这种方式通过投影法组合多个视角的特征,最大程度地保留了不同视角间的空间关系。该方法使得机器人有能力通过二维 RGB 图片重建场景中物体的位姿,为后续的操作任务铺平了道路。
全局决策
机器人操纵任务可以解偶成三个部分:全局决策、姿态估计和末端执行。这三者的关系类似于人的脑、眼和手。
全局决策模块(脑)的作用是根据当前机器人的状态和任务目标,决定以何种姿态观测物体可以获得更准确的估计、并决定何时执行完成操作的动作。姿态估计模块(眼)的作用则是依靠各个视角的观测结果来生成尽可能准确的物体位姿。物体的位姿最终会服务于末端执行模块(手)来完成操作。
如果用于位姿估计的视角越多、视角间差异越大,越有可能获得更好的估计结果,但是相应的执行时间也会增加。因此全局决策模块不光需要优化视角来获得更好的位姿估计,还需要优化执行的时间。在这样的复杂的优化问题的情景下,RGBManip 使用了强化学习来寻找最优的策略,避免了复杂的参数化。
末端执行
前面介绍的位姿估计和全局决策模块最终都服务于操纵任务的完成。在人完成操纵任务的时候,往往需要肉眼的实时介入,调整手的动作,但是这在工作中考虑的机器人任务设定下并不现实:由于相机固定在机械臂的末端,在完成任务的过程中,由于过于接近物体,往往会无法获得足够的全局信息。
比如在开门的过程中无法从视觉角度得知门的开合角度。因此,北大和港中文的联合团队采用了类似于“盲人摸象”的做法,通过捕捉机械臂末端的力反馈来动态调整施加到机械臂末端的力矩,流畅地完成各类动作。
具体来说,机械臂的末端可以通过阻抗控制(Impedance Control)被模拟成一个带阻尼的线性谐振子,使得机械臂末端在自然状态下会趋向于平衡位置。而通过机械臂真实位置和平衡位置之间的差异就能计算出机械臂受到的外力。只需要根据外力来实时修正平衡位置,就能引导着机械臂完成特定的操作任务,而无需视觉的参与。
如动图中所示,全局决策模块只需要指引机械臂抓住物体,后续的操作工作就交给末端执行模块全权负责即可。
训练和测试
训练流程分为两个阶段:首先采集数据用于位姿估计模块的训练,然后在模拟器内基于训练好的位姿估计模块来训练全局决策模块。末端执行模块无需训练。
实验数据表明该方法在多个任务上都打败了所有基线算法。
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:hr@paperweekly.site
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
·
·
·