微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 软硬结合的智能视觉让机器人行动更灵敏

软硬结合的智能视觉让机器人行动更灵敏

时间:12-20 来源:互联网 点击:
为了让机器人更好地与其周围的事物进行互动,并灵活地移动,机器人必须能够看到并辨别其周围的环境。经济高效且功能强大的视觉处理器(通过深度辨别图像传感器进行数据传输,并采用极具鲁棒性的软件算法)正在使人们盼望已久的自适应机器人成为现实。

机器人,这一长期出现在科幻世界和航运产品文档中的事物,被描述为能够帮助人类从呆板、单调和难以忍受的工作中释放出来,并利用其高速度及高精度的特点提升工作效果。无论是可完成吸尘、地毯清洗,甚至排水沟的清洁工作的第一代自主消费机器人系统,或是多种类型的生产环境下机器人的使用正不断增长,都可以说明上述观点(图1)。


图1:为消费者量身定制的自主产品(a)和工业制造系统(b)是众多可以通过视觉处理功能而得到增强的机器人中的一部分。

然而第一代消费类机器人采用了相对粗糙的方案来定位并感知其周围环境。这些基本技术包括由红外线发射器组成的人造壁垒,它可与内置在机器人当中的红外线传感器进行协作,从而防止机器人从楼梯上滚下或游荡到另一个房间。当自主机器人撞到了不可移动的物体时,震动传感器可通知机器人,让机器人不再继续前进。而更先进的绘图功能设计甚至让机器人不必再次回到这个特殊的位置。与人类的工作方式相比,机器人的工作不必考虑体力因素、更加快捷,并且更加准确,但机器人成功的前提是让来料到达固定的方向和位置,因此提升了制造流程的复杂性。来料部件的位置及方向出现任何偏离都将导致装配的失败。

人类用眼睛(以及感觉)和大脑对其周围的世界进行辨识和定位。从理论上讲,采用摄像头组件、视觉处理器和各种软件算法的机器人系统也应该可以做到。但纵观历史,这样的图像分析技术通常只有在复杂并且昂贵的系统中才能找到。但数字集成电路在成本、性能和功耗方面的进步,为视觉功能使用在多样化和高容量的应用上铺平了道路,其中包括机器人实现的功能越来越多。虽然机器人在功能实现方面仍然面临着诸多挑战,但与以往相比,今天已经可以更加轻松、快速、经济高效地解决这些问题。

软件技术

开发出可根据视觉适应其环境的机器人系统需要采用电脑视觉算法,该算法可将一个或多个图像传感器中的数据转换成该环境的可执行信息。机器人的两个常见任务分别是识别外部目标和方向,并决定机器人的位置和方向。许多机器人可与一个或多个特定目标进行互动。对于情境自适应机器人而言,必须能够检测到那些在未知地点和方向的目标,并且还要了解到这些目标很可能会移动。

摄像头每秒产生上百万像素的数据,从而形成了一个肩负着沉重处理负担的有效载荷。解决该问题的一种常见方法是检测这些多像素的特征,如视频数据每一帧的角、点、边或线(图2)。


图2:完整处理二维或三维机器人视觉传感器的原始输出涉及四个主要阶段,
每个阶段都有自己的独特性并受其处理要求的制约。

这种像素到特征的转换可使在视觉处理管道的这个特殊阶段的数据处理需求降低一千倍或更多;上百万的像素降低成了上百个特征,机器人就可以高效地对目标进行识别,并确定其空间特征(图3)。


图3:视觉处理器可以集成多种类型的内核,以满足每个处理阶段的独特需求。

目标检测首先包括采用机器学习或其他算法与多个特征相结合。然后,通过利用这些特征的数据库(该数据库根据特定目标在不同角度和方向的大量已采集图像生成),用户可以采用分类器算法运行并训练机器人正确地识别每个新目标。最有名的目标检测算法之一是Viola-Jones framework,它采用类Haar的特征和大量Adaboost分类器。该算法非常擅长于识别脸部,也可经过训练来识别其他常见目标。而基于机器学习算法的一大缺点是:他们需要大量的训练数据集,才能准确地检测目标。

通过特征来确定目标方位需要一种像RANSAC (随机抽样和均测)那样的基于统计的算法。该算法采用一组特征来模拟一个潜在的目标方向,然后确定多少其他特征适合该模型。具有最大数量匹配特征的模型对应于被正确识别的目标方向。为了检测移动目标,用户可以将特征识别与跟踪算法相结合。一旦一组特征正确地识别了一个目标, KLT(Kanade-Lucas-Tomasi)或卡尔曼滤波等算法将在视频的帧之间跟踪这些特征的运动轨迹。无论方向和阻塞如何改变,这些技术都是非常可靠的,因为他们仅需要跟踪一组最初特征便可成功。

上面所述算法可能对于固定式机器人来说足够了。但对于移动机器人来说,还需要采用其他算法才能使机器人在其环境中安全地移动。SLAM(同步定位绘图)是一种可使机器人创建环境地图并跟踪其当前位置的算法。这种算法需要绘制三维环境地图。由于有许多深度感应传感器选件;因此常见的方法是采用一对被配置成“立体”摄像头的2D摄像头,其作用类似于人类视觉系统。

立体摄像头依靠对极几何,采用一对2D图像的投射为每个场景内的每个点提供3D位置。根据前面2D观点所提到的,特征可用于检测3D场景中的有效位置。例如,与平整的墙面相比,机器人更容易检测到桌角的位置。在给定的位置和方向,机器人可以检测特征,通过比较其内部地图以确定其位置并改进地图质量。考虑到目标经常会移动,因此静态地图对于试图适应其环境的机器人来说,用处不大。

处理器的选择

为了有效地打造出机器人视觉,我们将所需的处理步骤分为若干阶段。特别是我们前面所讨论的算法,其处理步骤可分为4个阶段,根据处理要求,每个阶段都具有独特的特征与限制(参考1)。市场中充斥着各种类型的视觉处理器,并且不同类型的视觉处理器(根据其性能、功耗、成本、功能灵活性和其他因素)可能适合不同的算法处理阶段。实际上,视觉处理器芯片可能集成了多个不同类型的处理器内核,从而满足多个处理阶段的独特需求(图4)。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top