整个流程涉及很多技术。底层控制不做考虑。包含3D视觉,机器人规划,抓取位置的选择等。

 

机械臂抓取需要确定每段机械臂的位姿

首先,机械臂需要视觉伺服系统,来确定物体的位置,根据末端执行器(手)和视觉传感器(眼)的相对位置,可分为Eye-to-HandEye-in-Hand两种系统。

Eye-to-Hand的分离式分布,视野固定不变,如果相机的标定精度高的话,那么视觉定位于抓取的精度也越高。

Eye-in-Hand则将机械臂与视觉传感器固定在一起,视野随机械臂的移动而改变,传感器越近时精度越高,但过于靠近时则可能使目标超出视野范围。

精密的视觉系统与灵活机械臂的配合,才能完成一次的抓取,而这正是当前机器人操作中的核心难题,归纳起来就是这么一件事:找到合适的抓取点(或吸附点),抓住它。之后的转运执行,则属于运动规划的分支。

目前几种主流的解决方案

Model-based(基于模型的方法)

这种方法很好理解,即知道要抓什么,事先采用实物扫描的方式,提前将模型的数据给到机器人系统,机器在实际抓取中就只需要进行较少的运算:

1. 离线计算:根据搭载的末端类型,对每一个物体模型计算局部抓取点;

2. 在线感知:通过RGB或点云图,计算出每个物体的三维位姿;

3. 计算抓取点:在真实世界的坐标系下,根据防碰撞等要求,选取每个物体的抓取点。

RGB颜色空间由红绿蓝三种基本色组成,叠加成任意色彩,同样地,任意一种颜色也可以拆解为三种基本色的组合,机器人通过颜色坐标值来理解“颜色”。这种方式与人眼识别颜色的方向相似,在显示屏上广泛采用。

Half-Model-based(半模型的方法)

在这种训练方式中,不需要预知抓取的物体,但是需要大量类似的物体来训练算法,让算法得以在物品堆中有效对图像进行“分割”,识别出物体的边缘。这种训练方式,需要这些流程:

1.离线训练图像分割算法,即把图片里的像素按物体区分出来,此类工作一般由专门的数据标注员来处理,按工程师的需求,标注出海量图片中的不同细节;

2.在线处理图像分割,在人工标注出的物体上,寻找合适的抓取点。

这是一种目前应用较为广泛的方式,也是机械臂抓取得以推进的主要推力。机械臂技术发展缓慢,但计算机视觉的图像分割则进展迅速,也从侧面撬动了机器人、无人驾驶等行业的发展。

Model-free(自由模型)

这种训练方式不涉及到“物体”的概念,机器直接从RGB图像或点云图上计算出合适的抓取点,基本思路就是在图像上找到Antipodal(对映点),即有可能“抓的起来”的点,逐步训练出抓取策略。这种训练方式往往让机器手大量尝试不同种类的物品,进行self-supervisedlearning,Google的Arm Farm,即为其中的代表之一。

 

 

抓取方法上分类可以分成两种:基于分析方法(Analytical),基于数据驱动(Data-driven)。

分析方法:主要是基于动力学及几何学的分析,一般要求知道物体的模型(known object),集大成之作为李泽湘教授的《机器人操作的数学导论》。书中基于旋量理论,介绍了很多机器人manipulation的基础。分析方法有助于我们理解整个抓取过程,理解哪些物理量会影响抓取的稳定性。