基于Kinect的灵巧机械臂示范学习技术研究与应用文献综述

 2022-10-31 11:28:37

文献综述(或调研报告):

不同于应用在结构化环境中的工业机器人,室内服务机器人[1]面对的是以满足人类居住舒适性而设计的室内环境。此类环境存在复杂多变的因素,如:(1)不确定的动态障碍物的存在,如:人,宠物;(2)变化的工作环境,如:橱柜,书桌,冰箱,门等家具摆设的位置和姿态;(3)种类繁多的任务操控对象,如:装水的水壶,喝咖啡的马克杯,炒菜的锅铲等有不同外形和材质的物品。上述因素给服务机器人在处理日常物品操控的任务时带来了诸多具有挑战性的难题。与此同时,近年来计算机视觉技术得到了快速发展,特别是各类视觉传感器的应用,已经受到了机器人认知学习研究领域的高度关注,越来越多地被各国研究人员运用到解决机器人任务操控的问题中。

现在有很多完整的机器人操控平台, 它们包含在众多完全集成设计的移动或非移动机器人系统中,都是用来解决服务机器人任务操控规划系列问题的,前几年出现了一些典型的机器人操控平台。MIT的人形机器人小组发明了一款仿人型机器人Domo[2]。UMass Amherst的研究者设计了好几款机器人操作平台,如单臂的UMan[3] ,双臂的Dexter[4] ,他们都使用了Barrett Technologies的7自由度的WAM(Whole ArmManipulators)机械臂和三指手爪这一组合来作为操作器。Carnegie Mellon University的机器人研究所组合成的机器人操作平台实现了在抓取和操控日常物体时主动力感应和运动之间的协同调控机制[5]。Willow Garage公司的明星产品PR2[6] ,它将2010年微软公司推出的3D Kinect相机作为视觉输入设备[7],利用其便捷一体化的设计为机器人操控任务提供丰富有效的信息源数据,是完全架构在机器人操作系统(Robot Operation System, ROS)之上的一款提供科学研究或开发应用的综合性平台。加拿大英属哥伦比亚大学的Marius Muja和Willow Garage的Radu Bogdan Rusu [8] 等人就基于装载有Kinect传感器的PR2平台,设计出多种新型的机器人感知分类器,实时性的解决物体识别和姿态辨识等问题,辅助PR2完成多种复杂的日常室内操控任务。

上述各系统在解决特定的操控问题上已取得较好的结果.但是有两个问题仍然有待进一步研究:(1)机器人操控规划问题通常都包括一系列子问题(诸如:针对特定的操控对象选择合适的抓取位置,选择合适的抓取姿势,如何依据机械臂的已有模块结构确定它的演变轨迹等),已有的工作大多倾向于有针对性地解决孤立的子问题;(2)已有的机器人平台所使用的关键器件,如上述系统中所使用的3D激光扫描仪和3D ToF型相机等多传感器搭载的视觉系统,对比于仅含Kinect传感器的视觉系统,通常价格成本高而且后期多传感器之间的信息融合算法较复杂,不利于服务器人未来的广泛推广应用。

针对第一个问题,Hao Dang和Peter K.Allen提出了一种利用操作元组成操作链的方式存储动作,并且处理为一种泛型的表示法,可以将一个特定的物体处理方式推广到几何形状相类似的物体上[9]。针对第二个问题,Chen Nan,Hu Ying等人提出了利用Kinect这一新型的传感器装置,结合传统的视觉识别、定位以及追踪技术,进行了一次提升服务机器人任务操控的学习能力,完成一系列室内日常物品操作任务的尝试[10]

文件[11][12][13]概述了Kinect的基本知识与深度图像的采集原理。Kinect 是微软在2010年对XBOX360发布的体感周边外设。通过收集视野范围内红外传感器发出的的光谱,形成一幅描述周围环境距离信息的深度图像,通过对深度图像数据的处理可以实时再现周围环境的三维场景模型。Kinect 传感器首先通过红外摄像头投射满足一定规律的点阵信息,然后再捕捉这些点阵信息,当场景发生变化时摄像头捕捉到的点阵也会发生相应的变化,最后通过芯片解码分析点阵模式的变化情况计算出距离信息。如今,除了微软自家的 Windows Kinect SDK,还有许多如openNI的开发平台。openNI本身定义了自然操作程序所需要的 API,提供了多语言、跨平台的程序框架。最上层框架是应用程序,即开发者自己撰写的部分。最下方是硬件部分,主要分为3D Sensor、RGB Camera、IR Camera、Audio Device这四类。而中间的一层就是 openNI这一部分了。除了和硬件沟通,还预留了中间软件的空间,比如可以采用PrimeSense的NITE中间软件。

在Chen Nan,Hu Ying等人的实验研究了联动物体运动轨迹的规划和操控。通过观察总结人类日常的生活经验,可以发现人类在面对许多日常物品的复杂操控运动时,不论任务操控者有什么差别(包括年龄,身高,性别),也不论是否是在同样的室内环境中,这些复杂任务的操控都可以分解成一系列有先后执行顺序的旋转和平移子运动,这些原子型运动即可以构建成操控基元。旋转门把手即可抽象成一个按顺时针旋转四分之一圆弧的旋转运动;开橱柜的门即可视为一个在平行于地板的平面上旋转90°的旋转运动;开音响的开关则可抽象为一个垂直于按钮平面向里的一个平移动作;拉抽屉即可视为一个垂直于抽屉平面向外做的一个平移动作。而对于较复杂操控任务,则可以将其描述成一个由多个有先后顺序的旋转或平移型操控基元组织成的向量。在参考文献[9]中对于这种简化成操作元的思想有详细的描述。

这样就可以将机器人通过学习人类示教来完成对复杂任务操控的过程分解成人类示范和机器人操控两个子过程。前者通过Kinect在一些热点捕获人手的3维位置,构成由一系列点组成的示范元;后者在综合考虑了机器人与人类在自身组成结构和对外界的感知方式之间的不同因素的同时,基于前面获取的示范元,计算出不同操控运动轨迹中的平移或旋转基元轴的位置和方向,得到适宜机器人操控的操作元,来指导机器人完成计划中的操控任务。

生成示范元时,考虑到利用NITE中间件从Kinect采集的深度图中提取手的位置时,来自周围环境结构的变化,操作者的身体结构变动,目标物上反射的光照变化等参数带来不可避免的噪声影响,使得使用Kinect采集即使在人眼中看来相对静止的3D手部位置时,也不会只是包含一个点的准确坐标,而是以一团点云的形式被记录下来。为获得每一团点云中密度分布最大处的位置,我们使用自适应带宽的Mean-shift算法,它能使用无参数模型的密度梯度估计的迭代方式来获得最大密度估计。

生成操控基元时,最关键的是关于基元轴的计算。通过基元轴的转换,我们可以排除人手和机械手爪在抓取过程中姿态和抓取点位置的不一致,机械臂和人手臂在运动过程中各关节轴之间的耦合调度不相同等因素带来的干扰。类似于参考文献[9],我们使用PCA算法来区别子动作是旋转型操控基元还是平移型操控基元。

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。