机械臂抓取行为规划研究综述

2018-09-17 04:32王奇志韩丽丽杨永刚
计算机与现代化 2018年9期
关键词:物体机械机器人

王奇志,韩丽丽,杨永刚

(北京交通大学计算机与信息技术学院,北京 100044)

0 引 言

随着工业社会的发展,越来越多的人们从事着机械性的工作,枯燥的工作使得人们渴望从机械性的劳动中解脱出来。1959年美国英格伯格和德沃尔制造出世界上第一个工业机器人,机器人开始替代人们进行单调的机械工作,至此机器人的历史才真正开始。

机器人在近百年来的发展过程中,大致经历了3个成长阶段,也可以称之为机器人的3个时代。第一代为简单个体机器人,第二代为群体劳动机器人,第三代为类似人类的智能机器人,它的未来发展方向是有知觉、有思维、能与人对话,并且越来越具有人类的智能。

截至目前,机器人已经被应用到军工、医疗、服务等行业。机器人已经深入人们生活的方方面面,越来越多的学者开始热衷于机器人控制的研究。在对机器人的研究过程中,机械臂作为一个模拟人的上臂而制造的机械结构[1],成为了机器人发展的一个必不可少的重要环节。目前机械臂大多用在工业领域,其控制方法多为预先设定机械臂的各类规定动作[2]。机械臂的运动轨迹基本采用轨迹插补法进行规划,然而这些方法用到的数据量过于庞大,且编程较为复杂,工作效率比较低[3]。以上这些方法已经无法满足人们对当代机械臂的控制需要。

随着机械臂的工作环境越来越复杂,人们对机械臂动作的多样性和行为的灵活性提出了更高的要求。模仿学习的出现使得机械臂的抓取行为满足了人们的需求。模仿是人类以及其他动物获得动作技巧的有效学习方法,机械臂可以通过模仿学习到示教者的动作技巧,如此便能更好地解决机械臂动作单一、死板的问题[4]。模仿学习的基本步骤有3步:行为获取、行为表征和行为再现[5]。

对模仿学习的改进多从行为获取和行为表征2个部分进行。行为获取分为2种:一种是通过视频、摄像机和可穿戴设备等直接得到人类的动作行为数据,另一种是通过虚拟平台对仿真机械臂的操作获取运动数据。行为表征也有很多方法,例如,将获取的动作数据通过运动学转换直接用到机械臂上;将提取的数据进行建模,通过建好的模型对机械臂的抓取行为进行控制,目前最前沿的模型是由神经网络构建的控制模型。笔者将在下文进行详细的介绍。

1 真人示教法

1.1 基于动作的控制方法

张利格等人[6]提出了一种在基于运动捕捉系统的仿人机器人复杂动作设计中人体运动数据的提取及分析方法,应用运动重定向技术实现从人体运动数据到仿人机器人的映射,并给出了基于人体运动数据到仿人机器人的逆运动学求解方法,最终得到适用于仿人机器人的关节角数据。通过运动学和动力学的匹配,在仿人机器人BHR-2的刀术实验中验证了他们提出的新方法的有效性。

李少波等人[7]采用AdaBoost算法对捕捉到的图像进行训练,通过训练可以得到人体部件检测器,该检测器可以在图片中寻找到对应部件的若干候选区域,在此过程中可以同时检测到部件的位置和方向。然后依据提出的指标评价这些候选区域,进而从中选出最优候选区域。该方法在NAO机器人平台上进行实验,结果表明,在NAO动作的可达范围内实现了对人体动作姿态的识别和模仿,达到了对机器人手臂控制的目的。

传统的获取人体动作数据的方法有2种:1)基于视觉的动作或手势识别方法,该方法的缺点是无法准确地识别和模仿动作,这是因为光学传感器捕捉的图像对光照条件、阴影、遮挡和杂乱背景等都很敏感,捕捉的数据本身就有很大缺陷[8-9];2)用可穿戴传感器捕捉运动,可穿戴传感器用于更健壮的手势识别和模仿[10],因为它们比视觉获取数据更加可靠,且对照明条件和背景混乱不敏感。但是,用户必须佩戴传感器并且进行校准,而且,它们通常比光学传感器更昂贵。随着摄影技术的发展,传统的获取人体行为数据的方法已无法满足人类对精准数据的需要。Kinect深度相机的问世,无疑是人体行为研究者的福音。Kinect深度相机出现以来,得以在许多最新的应用中实现,成为了摆脱传统摄像机和可穿戴设备缺点的首选工具[11-15]。

朱特浩等人[16]提出一种自动分割和基于RVM的轨迹估计算法,该算法大大提高了Kinect深度摄像机感知到人体动作数据的精确度,使得人们可以采用成本较低的非穿戴设备实现较好的人体动作感知。通过对该算法的时间一致性、空间一致性和平滑度进行评价,以及在NAO机器人平台上的动作实现,结果表明,该方法在提高Kinect感知人体上肢行为方面十分有效。

卡内基梅隆大学[18-20]也进行了相关工作的研究,作者采用的是他们自己设计实现的人体行为获取系统。卡内基梅隆大学所研发的OpenPose模型可以精确地预测人体行为的姿态,但其渲染速度慢,所采用的摄像头是480个VGA,价格高昂,且实现难度较大,并不适合对人体行为研究的入门学习。

目前真人示教法已取得很大的进步,但是,还有很大的进步空间。目前,一些问题还有待进一步解决:1)人体行为直接获取的数据与实体机械臂的结构相差较大,在数据转换过程中存在摩擦力不同、关节点差异等问题;2)仅仅实现了机械臂的抓取行为对人体行为的模仿,而不能自主地进行控制。

1.2 基于物体的控制方法

根据一个给定物体确定抓取规划的问题,需要考虑实现力的封闭或优化相关质量指标[21]。基于物体的抓取通常假设物体已准确知道并且触点准确放置。鲁棒的抓取规划需要解决有限的物体扰动时发生的一些问题,这就需要考虑物体形状、姿态或摩擦力等机械特性,由于感知和控制不够精确,对这些特性的考虑是极为必要的。处理扰动的一种方法是统计抽样。由于高维采样可能在计算上要求很高,最近的工作探索了如何从抓取一个物体中学习到的鲁棒抓取来指导类似物体的鲁棒抓取[22],例如通过翘曲接触[23]或在Grasp Moduli Space上的内插抓取和成型[24]。为了研究大规模的抓取规划,Goldfeder等人[25-26]开发了Columbia抓取数据库,该数据库包含1814个不同模型的数据集,以及使用GraspIt!生成的超过200000个强制抓取数据集。

Brook等人[27]为892点云数据库规划了鲁棒抓取,并开发了一个模型来预测物理机器人基于该数据库的抓握成功率。Kehoe等人[28]创建了一个基于云的系统,通过使用Google Goggles对象识别引擎对对象进行索引,将PF在数据库中的100个对象上评估的抓取转移到物理机器人上,并在桌子上抓取对象时取得了80%的成功率。

另一种研究主要集中在使用统计模型合成抓取动作,抓取动作是从一个物体的点云数据库[29-31]或图像数据库[32]中学到的。Kappler等人[33]创建了一个超过700物体实例的数据库,每个对象实例标有500个Barrett手部抓取动作,以及来自人类注释的相关质量,还包括ODE物理引擎的模拟结果。作者训练了一个深度神经网络通过物体局部表面高度图来预测抓取质量。

最近,Laskey等人[34]使用MAB算法来减少抓取样本数量,所减少的是2D中在物体形状、姿态和摩擦的不确定性的情况下识别的具有高PF的样本,最终实现了更加高效的物体抓取。

加州大学伯克利分校博士后研究员Mahler等人[35-37]关于Dex-Net的系列文章,提出了一种新的根据物体形态对机械臂的抓取行为进行控制的方法。他们仿照人类的认知模式,先通过图像识别对物体的形态进行判断,然后确定最优的抓取方式和动作。

Dex-Net 1.0[35]中采用10000以上的独立3D物体模型和超过250万个平口钳抓取物体的方式得到的数据作为数据集,每个3D物体模型Oi对应250个平口钳抓取方式及其PF(PF指力闭合的概率);深度学习网络采用多视图卷积神经网络(Multi-View Convolutional Neural Networks, MV-CNNs)作为物体之间相似度的度量。实验结果表明,采用标签式的数据格式可以加速抓取规划,抓取规划的成功率和数据集中类似物体的数量成正比。

Dex-Net 2.0[36]与Dex-Net 1.0[35]相比,训练网络的数据量更大,数据的复杂度有很大提高,主要体现在Dex-Net 2.0[36]结合三维点云的数据集并采取候选鲁棒性抓取的方法上。这可以提高机械臂抓取物体的精确度,还可以极大地缩短机械臂抓取物体的时间。通过对抓取质量卷积神经网络(Grasp Quality Convolutional Neural Networks, GQ-CNNs)进行训练,可以对抓取规划的鲁棒性进行评价,得到概率值,并对鲁棒性进行排序,最后得到最优的抓取动作。

Dex-Net 3.0[37]提出一种采用吸气式末端抓取物体的方法,相比多指式和平行鄂式末端,吸气式末端只有单一接触点,操作更为简化。Dex-Net 3.0[37]采用的网络架构是GQ-CNNs,与Dex-Net 2.0[36]的网络架构基本相似,数据集是280万个点云、吸气式抓取和由1500个3D物体模型完成的抓取鲁棒性标签。

大量实验结果证实,Dex-Net系列的抓取规划取得了惊人的结果,对于很多不同形状的物体抓取的可靠性很高,然而,该系列的方法还是存在一定的局限性:1)传感器的精度较低,深度相机对桌面上透明物体或平面物体无法识别;2)模型单一,该系统只能抓取一个物体,并且没有包括用夹持器夹起一张纸的策略;3)该方法没有将物体的精确定位或者堆叠考虑进去。

2 虚拟器示教法

让机器人直接学习人类的行为是对机器人控制的一种方法,还有一种方法是让机器人在仿真环境中学习动作,构建行为模型,以此实现机器人对自身的控制[38-39]。随着老龄化社会的到来,越来越多的老年人和残疾人得不到家庭成员全面及时的照顾,家政服务机器人的出现给老年人和残疾人的服务行业带来福音。然而,真人示教的机器人需要示教者动作灵敏,多数老年人已动作缓慢,且有个别残疾人因断臂、眼盲、手臂残疾等原因无法正常示教,这就需要一个可以在虚拟平台上学习动作的机器人。很多科研工作者针对此已经开展了一系列的工作,他们提出让使用者在虚拟的环境中教机器人完成动作,用获取的数据建立机器人的控制模型,使用模型构建的控制器对机器人进行控制。有些学者从改进虚拟平台的角度去提高示教的规范性,有些研究人员从改善模型的角度提高示教的准确性。

2.1 改进虚拟平台法

仿真是机器人研究领域的一个非常有用的工具,因为机器人技能在仿真环境下的执行要比在真实世界中的执行容易得多。然而,模拟学习的价值受到模拟器在建立物理世界动态模型时的固有不确定性的限制[40]。因此,在模拟器中的学习是不可能提高机器人在真实世界中的表现的。

为了更快地在较高保真度的模拟器或真实世界中进行学习,Cutler等人[41]使用较低保真度的模拟器去缩小动作搜索的空间。Cully等人[42]使用模拟器估计低维机器人动作的适应值,在机器人将要遇到危险时,可以提供给机器人怎么适应这种行为的优先知识。Rajeswaran等人[43]使用一组不同的模拟器去学习机器人策略,这些策略可以在各种环境中表现良好且效果稳健。Christiano等人[44]通过转变政策行动,将模拟政策转化为现实政策,以便产生与模拟环境中相同的效果。这种方法在策略执行期间可以将其重置为任意状态。

Hanna等人[45]介绍了一种地面行为转换(Grounded Action Transformation, GAT)的方法。该算法通过使用高保真模拟器作为现实世界的替代品被充分地应用和评估。这项研究结果有助于加深对模拟转换和GAT有效性的理解。该方法与最先进的手动编码相比,使步行速度提高了43.27%,从而产生了可能是目前步行最快的机器人SoftBank NAO。

2.2 控制模型完善法

国内外多数学者已着手于控制模型完善的方法,主要方法有强化学习、迁移学习、深度学习等,各种方法在不同程度上都对该科研方法的不断进步做出了自己的贡献。

国内于建均等人[46]在ADAMS环境下搭建了等比例的机械臂模型,通过拖动仿真环境中的机械臂获取动作数据,将数据放入BP神经网络进行训练,最后得到机械臂的控制模型。通过大量实验,结果表明,该方法可以模仿不同的示教行为动作,效果良好,证明该系统有较好的泛化能力。

为了缩短在虚拟平台上收集数据的时间,Schulman等人[47]将强化学习的方法用在仿真环境下的高维控制任务中,去降低数据维数,以此减少数据收集的时间,该方法取得了令人瞩目的成功。

图1 渐进网络的网络架构

Rusu等人[48-49]介绍了一种名为渐进网络(Progressive Networks)的结构,该网络实现了迁移学习。该渐进网络的网络结构如图1所示。左边是渐进网络架构,右边是优化后用于机器人迁移学习的渐进网络结构。本文建议使用渐进网络连接现实与模拟环境之间的鸿沟,并将学习策略从模拟环境转移到现实世界。渐进式网络方法是一个通用的框架,可以应用从低级视觉特征到高级策略的所有内容,以便转移到新任务中,从而实现构建复杂技能的简单方法。实验结果显示,该方法具有很强的可靠性。

Rahmatizadeh等人[50]提出长短期记忆循环神经网络(Long Short Term Memory Recurrent Neural Network, LSTM)和混合密度网络(Mixture Density Network, MDN)的机械臂的行为控制模型。

在仿真器中获取机械臂的行为数据,用获取的数据训练基于深度神经网络的控制器。本文中所用的深度神经网络是三层的双向LSTM网络和MDN网络。LSTM网络的时间步长为50,在第t时刻,机械臂的姿势和状态et和相关物体的姿势qt作为输入,机械臂下一时刻的姿势和状态et+1作为输出,以此计算并返回误差来更新权重。在卷积阶段,混合密度网络用来提取三层网络的输出中最优的作为t时刻的输出,最后的输出用来控制机械臂。通过对模型的不断训练,最后得到一个最优的机械臂的控制模型。

通过微软的Kinect传感器获取t时刻物理环境中机械臂的姿态,对物体进行标记,以获取t时刻物体的姿态。获取的t时刻数据通过训练好的控制器,可产生t+1时刻机械臂的姿态,运用反向运动学的方法得到关节角,进而实现对机械臂的控制。

3 存在的问题

用人体的行为数据直接训练机械臂的控制模型,可以使机械臂的活动更加灵活,但是多数实验证明,训练得到的控制模型在实体机械臂上的控制并没有在虚拟平台上的效果好。总结原因有2点:1)实体机械臂的关节处存在摩擦,在虚拟平台上尽管可以模仿实体机械臂的摩擦力,但还是跟实体有差距;2)示教的人或虚拟平台跟实体机械臂的大小、结构有一定的差距。

把物体的结构、形状和抓取的动作作为输入数据训练网络取得了很好的效果,然而,该方法目前抓取的物体较为单一,对柔性物体的抓取考虑不全,且对物体的定位不够精准。

在虚拟平台上训练的机械臂的控制模型越来越受到广大科研人员的关注,但是,在虚拟平台上学习到的策略在转换到实体机械臂上时工作并没有那么流畅。虚拟平台并不完美,因此,虚拟平台会有一个候选策略来应付与预期不同的状态。训练好的模型是这种更正的不断叠加,应用到实体机械臂上问题就会尤为突出。

再有,仿真机器人到实体机器人之间有一个巨大的鸿沟。最先进的学习方法需要成千上万的实验,这对机器人来说是不切实际的。主要因为:1)获取这些数据会消耗大量的时间;2)不断地进行模型训练会给机器人带来过多的磨损;3)机器人自己探索不同的执行策略会造成机器人执行不安全动作的后果。

4 结束语

采用人类示教和虚拟平台示教的方法去构建机械臂的行为控制模型无论是在工业还是科研领域都将是一个热门话题,加上近几年正以惊人的速度产生令人惊艳的新应用程序和先进的深度学习方法,两者碰撞定能产生奇妙的火花,给科学和社会的进步带来福音。虽然目前的机械臂的建模控制方法还存在一些问题,但随着科技的进步、科研工作者的不断创新和努力,机械臂的建模控制一定会越来越趋近人类理想的状态。无论是人类直接示教还是虚拟平台示教,不断的技术更新才能使其有长足的进步。

猜你喜欢
物体机械机器人
调试机械臂
深刻理解物体的平衡
我们是怎样看到物体的
简单机械
按摩机械臂
机器人来帮你
认识机器人
机器人来啦
为什么同一物体在世界各地重量不一样?
悬浮的鸡蛋