【2019CVPR】CRAVES:通过廉价的视觉系统控制机械臂

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/dsoftware/article/details/99096097

该文章发表于2019年CVPR,题目是:CRAVES: Controlling Robotic Arm with a Vision-based Economic System,核心点是使用40美元的廉价无传感器机械臂进行控制操作。论文为清华、北大以及约翰霍普金斯大学合作完成。

引言

本文的出发点是训练一个强化学习网络,可以对机械臂进行较为精确的控制。使用强化学习的好处是可以允许低控制精度的机械臂,也就相对廉价。当前已有谷歌的工作(2016-Learning Hand-Eye Coordination for Robotic Grasping with Deep Learning and Large-Scale Data Collection)将机械臂每次移动时拍摄的整幅图像输入网络进行训练;这无论对于数据采集和设备性能都带来了极大挑战。该论文就思考一个弱化的版本,不使用整幅图像,只使用机械臂的空间位姿训练强化学习网络,这样数据的维度就大大降低。

当前对于刚体的6D姿态估计,方法相对成熟,基于深度学习的方法包括两类,一类是直接恢复6D位姿,一类是通过预测3d关键点的2d投影点,使用pnp方法解决。不同的是,机械臂不是一个刚体,而是一个多刚体系统,它的姿态不是6d,而是要加上对应的关节角度。因此,可以使用预测2d关键点的方式,将物体的6d姿态和关节角度同时估计出来。2d关键点的预测可以使用当前成熟的深度学习网络,训练数据可以基于unreal4引擎和机械臂的3d模型虚拟生成,训练的模型可以在真实世界数据集上进行域适应等。这样整个流程就打通了。

整体框架

在这里插入图片描述
图1:论文整体框架。目标是通过单个相机作为唯一的sensor完成任务;视觉模块检测机械臂的2D的关键点,然后计算它的3d位姿。控制模块使用估计的3d位姿来决定下一步的移动指令,并将其传送给motors。在他们的设定中,直接给定目标物体的3d位置。

数据集

在UnReal4引擎中构建虚拟场景,将OWI-535机械臂的3d模型置入其中,并在其上手动标记14个关键点和4个关节点。使用引擎的好处是和是实时获取相机的外参和3d关键点的坐标,也能够得到在2d图像上的投影坐标,可以生成完整的训练集。天空及桌面的背景使用公开集图片随机变换。
 的
图2 OWI-535机械臂的4个关节点和17个关键点的图示结果。每一个关节点对应一个唯一的名字,颜色代表了其对应的部件。其中,根节点没有使用,真正使用的是14个关键点和3个关节点。

直接使用虚拟生成的数据集,在真实图片上可能表现不好,因此,作者额外采集了两个数据集,一个是实验室采集,包含真值的2d关键点位置和3d机械臂位姿;一个从YouTube爬下来的,只包含人工标注的2d关键点。
在这里插入图片描述
图3 实验中用到的3个数据集。从上至下:合成的图像(上两行),实验室数据集和YouTube数据集。

在虚拟数据集上训练的模型可以使用真实图片进行fine-tune,过程图4。3d几何约束是关节之间的角度,能够唯一确定一个机械臂的3d姿态,也即3d点的关键点。之后将3d点投影到2d点,更新网络预测的结果。

在这里插入图片描述
图4 2d关键点更新过程。初始的估计值包括精确(green),不精确(cyan)和outliers(red)。通过引入3d-prior的约束,我们能够获得一个优化后的关键点位置,用来进行神经网络的fine-tune。

实验结果

2d关键点预测结果:

的的的的的
表1 2d关键点检测精度对比

3d位姿预测结果:在这里插入图片描述

表2 机械臂关节角度和相机外参预测结果

YouTube数据集预测结果:在这里插入图片描述

图5 在YouTube数据集上的定量结果。该数据集上的挑战包括遮挡,用户的修改,光照等。根据相机外参和估计的位子,合成了机械臂的图片。左边5列都成功了,最右一列失败了。

真实场景抓取结果

在这里插入图片描述
图6 真是世界的实验场景。目标点打印到了参考板上面,用来计算误差。背景物体随机放置。

在这里插入图片描述
表3 与人类在到达指定位置任务上的精度对比

总结

  • 提出了一种方法,通过视觉输入,来控制一个低成本的,无传感器的机械臂来完成移动任务。提出了一种半监督的算法来集成带标签的合成数据以及无标签的真实数据,共同训练位姿估计模块。使用多刚体系统的几何约束(机械臂)来进行域适应。算法仅需要机械臂的3d模型,具有潜力扩展到使用其他多刚体系统的姿态估计等。
  • 未来可以将视觉感知和控制模块以一种联合端到端的方式进行训练,例如结合目标检测和6d姿态估计,以完成更为复杂的任务。
  • 代码:https://craves.ai/

猜你喜欢

转载自blog.csdn.net/dsoftware/article/details/99096097
今日推荐