梁毅峰
(淮北职业技术学院,安徽 淮北 235000)
近年来,机器人的研究领域越来越多地被人形机器人所吸引。拟人机器人的设计,构建和应用解决了许多有趣的研究挑战:双足步行,人机交互,与非结构化和未知环境的交互[1]。其中,如何能够将机器人的性能设计与人相同,是比较复杂的一个问题。开发人员在考虑设计问题时必须面对的挑战是机器人手和手臂的设计。在设计人形机器人的手时,由功能引导设计,大量机器人设计对手指的自由度、尺寸和类似人的外观有极高的要求。设计人体大小的轻型手臂/手部系统,要么专注于纯机械方法,要么采取一些拟人和生物灵感设计。专注于设计符合要求且可靠的人形手臂,能够保证安全运行,并且超长待机。机器人手的有限尺寸对关节制动器的布置有一定的影响。一般的解决方案是利用新型驱动系统或流体或电缆驱动。为了处理以人为中心的环境中的操作任务,在封闭的控制回路中密集使用视觉和触觉传感器信息。视觉信息主要用于识别和理解物体的姿态和形状。操纵任务的控制架构主要目标是协调操作的一系列行为,在传感器运动协调中引入学习的思路,并从生物学中获取灵感[2]。本文的工作目标是开发一种帮助人类完成日常生活任务的机器人,人形、多模态以及与人合作和学习的能力。在操作方面,它包括从示范中学习和使用对象和任务的高级认知模型的能力。
本文提出了一种适合抓取的综合方法。该系统的核心思想是建立一个数据库,其中包含机器人工作空间中所有对象模型的建立。以中心事实开发两个必要的模块:一个能够定位和识别物体的视觉系统,另一个为每个物体提供抓取配置的离线抓取分析器。模块运算结果决定对特定对象的抓取效果[3],本文对机器人抓取系统进行深入研究。在整体研究的过程中,对象和手模型的使用允许快速开发和测试多种交互操作技能。本文涉及的开发能够处理未建模和未知对象的抓取和操纵策略。
抓取算法是抓取未知物体的典型方法,抓取算法由两个阶段组成:在第一阶段,物体外表面的几何形状完全由获取的图像重建。在第二阶段中,首先计算在所选全局标准下最优的对象上的抓取点,然后计划并执行机器人手的相应轨迹。这种方法会产生较高的抓取质量,因为最佳把握的评估是以全局方式进行的。重建对象几何模型所需的时间,以及执行抓取所需的时间之和可能是相当大的[4]。显然,这与离线应用程序无关,但它可能是在线抓取计划的严重缺陷。本文所提出的方法是并行视觉抓取算法,可以代表实时应用的有效候选,因为总计算时间由重建和规划阶段的时间总和,而抓取执行可以与之前的过程并行(见图1)。事实上,对象模型重建和抓取计划是独立的过程,也可以分配给不同的计算资源,但存在的缺点是所实现的最终结果仅在局部有意义。
图1 经典串行算法与提出的并行视觉抓取算法
由于机器人主要是在人类设计的环境中工作,整个项目的方法是建立一个拟人的手臂/手指系统,允许机器人模仿人类执行活动。系统设计的机器人拥有23个机械自由度。 从运动学控制的角度来看,机器人由五个子系统组成:头部、左臂、右臂、躯干和移动平台。头部有2个自由度,平移和倾斜,每个自由度都会配备摄像系统和立体声麦克风系统。每个臂都有7个DOF,手腕上配有6个DOF力传感器。每只手都有五个手指和11个DOF(拇指3个,其他4个手指2个)由流体执行器驱动[5]。
图2 人形机器人和手指构型
本文描述的把握计划系统的功能描述如图2所示,人形机器人和手指构型包括:
1. 全局模型数据库。这是本方法的核心。它不仅包含所有对象的CAD模型,还为每个对象存储一组可行的抓取模型数据库。并且该数据库是系统的不同模块之间的接口。
2. 离线抓取分析器,它是确保对象和手的模型在模拟环境中稳定的抓取、计算。此分析器计算的结果存储在抓取数据库中,以供其他模块使用。
3. 通过对图像特征及3D预建模型的识别与匹配,建立在线视觉过程。在识别目标对象后,确定其位置和姿势。
4. 模拟对象先明确工作场景中的定位,主要预先计算稳定抓取数据,然后集中选择对该对象的抓取[6]。此种方式适用于特定的手臂/手部配置,需要充分考虑位置和方向与对象的特定姿势和可达性条件。
图3 描述抓取的原理图
在大多数专门用于抓取合成的工作中,抓取被描述为物体表面上施加力/扭矩的接触点组。 然而,当考虑它们在以人为中心的环境中执行时,这种抓取方式存在若干缺点。主要缺点是对象信息的不准确性和不确定性。由于有物体形状的模型,这种不确定性主要来自物体的位置和移动机器人位置的不准确性[7]。基于抓取系统接触描述,一般则要求系统能够精确地到达接触点并施加精确的力。由于机器人在运行中存在力/扭矩模型的不准确性,本文拟从不同的方向解决这个问题。 在本文提到的方法中,抓取是通过定性和知识的方式进行描述,给定一个对象,将通过以下特征来描述该对象的抓取(参见图3)。
图4 手指成形为五种类型
1. 抓取类型:手指执行抓取的五种类型(参见图4)。抓取的类型具有实际后果,因为它确定抓取执行控制,即:手形预成形姿势,手的控制策略,手指在抓取中使用,手接近物体的方式以及接触信息如何触觉传感器的解释。
2.抓住起点:为了接近物体,将手放在靠近它的远点。
3.接近方向:一旦手定位,它就会沿着这个方向接近物体,接近线由接近方向定义。
4.手部方向:可围绕接近方向旋转。旋转角度由抓取配置的参数来设置。要注意所有方向都给出相对于以物体为中心的坐标系。真实的接近方向是由描述与机器人工作空间中的局部对象姿势匹配而产生的。该抓取的主要优点是可以选择描述信息简单的执行抓取,并且更适合与诸如手臂路径规划的执行模块一起使用。
本文收集了16种不同的人手抓取手势, 描述的分类法非常完整,并且提供了很多抓取,这些抓取很难通过我们的拟人五指手来解决它的机械限制。因此,选择了执行的最具代表性的抓取:钩抓、圆柱形抓取、球形抓取、捏抓和三脚架抓取。
1.钩抓:在此抓取中,手抵抗重力。所有的手指,除拇指,形成一个钩子,将包围一个圆柱形物体。 手掌可能会施加与手指相反的力量。 拇指在任何情况下都不参与。
2.圆柱形抓取:所有手指围绕圆柱形物体闭合。拇指完全与其他四个手指相对。
3.球形抓取:所有手指围绕球形物体闭合。 拇指以最大化手指覆盖区域的方式设置。
4.捏抓:抓取的特点是拇指和食指尖的对立。 其余的手指不参加。 这适合于抓取薄物体。
5.三脚架抓取:在这种情况下,通过拇指指尖与食指和中指尖的相对来确定抓取。这种把握对于抓取小物体很有用。
精确抓取仅意味着指尖上的触点,而电源抓取使用整个手表面,指尖,指骨和手掌上的触点。这种差异与执行控制器的设计有关。粗略地说,为了执行动力抓取,手接近物体直到与它接触,然后闭合手指[8]。然而,在精确抓取的情况下,手指必须以一定距离闭合,仅指尖与物体接触。考虑拟人手时的一个重要方面是如何将手与抓取起点和接近方向联系起来。为此,需要为手定义抓取中心点,定义一个必须为每只手定义的虚拟点,并且给定抓取的参考。然后根据抓取的描述对手进行定向和预成形,最后,它沿着接近线移动。
抓取系统的一个重要特征是,工作空间中出现的每个对象都存在3D CAD模型。对抓取对象的不同可能性进行广泛的离线分析,而不是关注快速在线方法。为了实现这一目标,需要构建一个手的计算机3D模型。对每个对象进行了广泛的分析,包括测试各种手形预成形和逼近方向。该分析在模拟环境中进行,其中根据质量标准评估每个测试的准确度。存储每个对象的最佳抓取,以便在机器人在线执行期间使用。作为抓取模拟环境它具有一些非常方便的属性,例如包含接触模型、碰撞检测算法以及导入,使用和定义对象和机器人模型的能力。计算3D物体稳定抓取的方法受到前工作的启发。离线分析遵循以下四个步骤来查找给定对象的抓取:
1.物体模型的形状由一组基本形状基元(盒子,圆柱体,球体和锥体)组成。有许多方法可以获得这些原始数据,但没有设置任何生成它们的程序。
2.为对象描述原始形状自动生成一组候选抓取。抓取候选者包括手型,抓取起始点,接近方向和手部方向。对于每个对象,都存在一组预定义的抓取类型和接近方向。
3.在模拟环境中测试每个抓取候选者。将手放在抓取起始点并根据接近方向和手的方向定向,然后,根据抓取类型对手进行预成形。对于功率和精度要求的抓取,接近阶段是不同的。对于有动力要求的抓取,手沿着接近方向移动直到它接触物体,然后将其关闭并评估抓取的质量。如果质量低于特定阈值,则手打开,退回一步并再次关闭。重复该顺序,直到达到最大稳定性测量。在精确抓取的情况下,设计了不同的测试:1)手在抓取起始点预成形;2)保持关闭如果存在与物体的接触则评估抓取;3)再次打开并移动向前迈出一步;4)重复步骤2和3,直到达到最大稳定性或达到最大步数。按照此程序,确保指尖是第一次接触完成的。存储手的最终位置和获得的质量。
4.最后,对超过最小阈值的所有最终抓取进行排序和存储。
图5 通过抓取计划产生两个抓取的例子
重新设计了适应模型。作为评估抓取质量的指标,使用合适的力度扰动扳手的大小,可以通过抓取单位强度来抵抗。以抓取啤酒瓶和鸡蛋两个例子来完成设计示于图5中。抓住数据库:存储着为每个对象计算的所有稳定抓取数据在数据库中,以供执行模块使用。存储的每个把柄包括抓取类型,抓取开始点,手的方向,接近的方向和质量从模拟中获得的测量值。该值用于其他模块为给定对象选择最佳抓取。
现实场景中应用的人形机器人视觉系统的所有组件必须满足最少数量的要求[9]。在本文提出的抓取系统的特定环境下,主要约束条件如下:1)当以任意方式接近场景时,机器人必须能够识别和定位任意场景中的对象;2)对象的识别需要保证对3D旋转和平移无任何影响,对象放置在场景中旋转与平移不影响任何操作;3)对象必须相对于世界坐标系中的3D刚性模型在6D(位置+方向)中定位,计算出的3D姿势是至关重要的;4)计算必须实时进行。
图6 由导线模型建模的对象的例证
基于模型的对象跟踪算法是以基于对象的相对简单的CAD线模型为背景,如图6中所示。使用此类模型,开始和结束线点可以非常有效地投射到图像平面中,允许以相对较低的计算量实时跟踪对象。然而,这些系统的限制显然是他们可以处理的形状。大多数真实的被抓取对象,例如杯子、盘子和瓶子,都不能以这种方式表示。当看到具有复杂形状的物体时,被描述模型变得清晰,如水杯三维模型(见图7)。
图7 一个水杯的三维模型的图解
将这样的对象表示为3D模型的唯一实用方法是通过相对大量的多边形来近似其形状。为了计算这种模型在图像平面中的投影,必须执行渲染引擎所做的相同的计算。但是更高的计算成本使得基于模型的通用方法无法实施,从概念的角度来看,算法也无法扩展到复杂的形状。可以用直线和偶数平面表示的对象具有每个属性的特性。对象的边缘由模型中的直线表示用于匹配。一旦物体具有弯曲表面,情况就不再相同。多边形的边缘不对应于可能的可见边缘。对于任意3D对象模型的纯粹基于模型的方法将花费超过5分钟来分析一个潜在区域,具有三个对象的数据库。
本方法结合了基于模型和全局外观基础方法的优点,用于对象识别和本地化。使用纹理特征的基于外观的局部方法变得非常流行[10]。然而,这些方法仅适用于充分纹理化的物体,对于整体系统的预期应用而言,这通常不适用于感兴趣的物体[11]。 本文提出了一个系统,该系统可以在给定对象的3D模型的情况下自动构建基于外观的识别和定位的对象表示。通过立体视觉确定对象位置的初始估计,而通过检索生成识别视图的旋转来确定方向的初始估计。进行多次校正计算以进行精确定位,通过以下步骤给出整体算法的概要。
图8 红色和绿色的颜色分割结果的例证
1)在两个图像中执行颜色分割;2)使用连通分量算法确定颜色斑点;3)匹配左右图像中基于其属性和极线几何的斑点;4)计算每个匹配的blob;5)对立体三角测量计算位置的初始估计;6)计算PCA固有空间的近邻来确定最佳匹配视图;7)检索所识别的匹配存储旋转来确定方向的初始估计;8)应用中提出的姿势校正公式;9)通过比较blob的大小和预期大小来验证有效性,该大小是根据计算出的姿势和对象模型确定的。
正如图8中所展示的那样,系统非常强大,能够准确、可靠、实时识别和定位测试环境中的对象。在3 GHz CPU上识别和定位一个潜在区域大约需要5 ms,其中包含五个对象的数据库:杯子,带手柄的杯子,量杯,盘子和小碗。
图9 对示例性场景的识别和定位结果
如图9所示,对示例性场景的识别和定位结果。左:左输入图像。右图:结果的三维可视化。视觉部分,主要目的是能够处理任何复杂形状的物体,而大多数方法只能处理平面物体。方法的另一个目的是自动和离线计算抓取,不需要人工操作员。在现实环境中添加这些功能,自动抓取确保方法更加完整和自主。
本文提出了一种综合方法,包括具有视觉对象识别系统的离线抓取计划系统。这两个集成的模块抓取被数据库描述的对象提供支撑[12]。本文介绍的内容只是大操纵系统的一部分,还需要构建一些模块,以便执行任何计算的抓取。保证在任何情况下都可以使用几个抓取候选者。选择任务和执行条件的模块是必要的。一旦选择了抓取,就需要手臂运动规划器来移动手根据抓取描述和对象姿势到预备位置[13]。 另外,还需要开发一个利用触觉和视觉反馈执行抓取的模块。
本文提出了利用多指机器人快速视觉抓取未知物体的方法。方法是基于对象模型数据库的使用,该数据库包含可以出现在机器人工作空间中的所有对象的描述。包含两个使用此对象表示的模块,一个是详尽的离线抓取分析系统和一个实时立体视觉系统。离线抓取分析系统通过采用仿真系统以及对象的CAD模型和五指手来确定对象的最佳抓取。使用适合于执行模块的要求的描述将该分析的结果添加到对象数据库中。立体摄像系统用于使用基于外观和基于模型的方法的组合的实时对象定位。
该算法由物体表面重建算法和局部抓取规划器组成,重建算法利用由机器人手臂携带的相机拍摄的图像。所提出的方法由迭代对象的表面重建算法和局部最优抓取规划器组成,以同步并行方式演化。该方法被称为并行视觉抓取,显示了所提方法的有效性。总计算时间由重建和计划阶段之间的较慢给出,而抓取执行可以与这些过程并行开始。不同的组件集成在控制器架构中,以实现人形机器人的操作任务目标。