软硬结合的智能视觉让机器人行动更灵敏
时间:12-20
来源:互联网
点击:
为了让机器人更好地与其周围的事物进行互动,并灵活地移动,机器人必须能够看到并辨别其周围的环境。经济高效且功能强大的视觉处理器(通过深度辨别图像传感器进行数据传输,并采用极具鲁棒性的软件算法)正在使人们盼望已久的自适应机器人成为现实。
机器人,这一长期出现在科幻世界和航运产品文档中的事物,被描述为能够帮助人类从呆板、单调和难以忍受的工作中释放出来,并利用其高速度及高精度的特点提升工作效果。无论是可完成吸尘、地毯清洗,甚至排水沟的清洁工作的第一代自主消费机器人系统,或是多种类型的生产环境下机器人的使用正不断增长,都可以说明上述观点(图1)。
人类用眼睛(以及感觉)和大脑对其周围的世界进行辨识和定位。从理论上讲,采用摄像头组件、视觉处理器和各种软件算法的机器人系统也应该可以做到。但纵观历史,这样的图像分析技术通常只有在复杂并且昂贵的系统中才能找到。但数字集成电路在成本、性能和功耗方面的进步,为视觉功能使用在多样化和高容量的应用上铺平了道路,其中包括机器人实现的功能越来越多。虽然机器人在功能实现方面仍然面临着诸多挑战,但与以往相比,今天已经可以更加轻松、快速、经济高效地解决这些问题。
软件技术
开发出可根据视觉适应其环境的机器人系统需要采用电脑视觉算法,该算法可将一个或多个图像传感器中的数据转换成该环境的可执行信息。机器人的两个常见任务分别是识别外部目标和方向,并决定机器人的位置和方向。许多机器人可与一个或多个特定目标进行互动。对于情境自适应机器人而言,必须能够检测到那些在未知地点和方向的目标,并且还要了解到这些目标很可能会移动。
摄像头每秒产生上百万像素的数据,从而形成了一个肩负着沉重处理负担的有效载荷。解决该问题的一种常见方法是检测这些多像素的特征,如视频数据每一帧的角、点、边或线(图2)。
通过特征来确定目标方位需要一种像RANSAC (随机抽样和均测)那样的基于统计的算法。该算法采用一组特征来模拟一个潜在的目标方向,然后确定多少其他特征适合该模型。具有最大数量匹配特征的模型对应于被正确识别的目标方向。为了检测移动目标,用户可以将特征识别与跟踪算法相结合。一旦一组特征正确地识别了一个目标, KLT(Kanade-Lucas-Tomasi)或卡尔曼滤波等算法将在视频的帧之间跟踪这些特征的运动轨迹。无论方向和阻塞如何改变,这些技术都是非常可靠的,因为他们仅需要跟踪一组最初特征便可成功。
上面所述算法可能对于固定式机器人来说足够了。但对于移动机器人来说,还需要采用其他算法才能使机器人在其环境中安全地移动。SLAM(同步定位绘图)是一种可使机器人创建环境地图并跟踪其当前位置的算法。这种算法需要绘制三维环境地图。由于有许多深度感应传感器选件;因此常见的方法是采用一对被配置成“立体”摄像头的2D摄像头,其作用类似于人类视觉系统。
立体摄像头依靠对极几何,采用一对2D图像的投射为每个场景内的每个点提供3D位置。根据前面2D观点所提到的,特征可用于检测3D场景中的有效位置。例如,与平整的墙面相比,机器人更容易检测到桌角的位置。在给定的位置和方向,机器人可以检测特征,通过比较其内部地图以确定其位置并改进地图质量。考虑到目标经常会移动,因此静态地图对于试图适应其环境的机器人来说,用处不大。
处理器的选择
为了有效地打造出机器人视觉,我们将所需的处理步骤分为若干阶段。特别是我们前面所讨论的算法,其处理步骤可分为4个阶段,根据处理要求,每个阶段都具有独特的特征与限制(参考1)。市场中充斥着各种类型的视觉处理器,并且不同类型的视觉处理器(根据其性能、功耗、成本、功能灵活性和其他因素)可能适合不同的算法处理阶段。实际上,视觉处理器芯片可能集成了多个不同类型的处理器内核,从而满足多个处理阶段的独特需求(图4)。
机器人,这一长期出现在科幻世界和航运产品文档中的事物,被描述为能够帮助人类从呆板、单调和难以忍受的工作中释放出来,并利用其高速度及高精度的特点提升工作效果。无论是可完成吸尘、地毯清洗,甚至排水沟的清洁工作的第一代自主消费机器人系统,或是多种类型的生产环境下机器人的使用正不断增长,都可以说明上述观点(图1)。
图1:为消费者量身定制的自主产品(a)和工业制造系统(b)是众多可以通过视觉处理功能而得到增强的机器人中的一部分。
人类用眼睛(以及感觉)和大脑对其周围的世界进行辨识和定位。从理论上讲,采用摄像头组件、视觉处理器和各种软件算法的机器人系统也应该可以做到。但纵观历史,这样的图像分析技术通常只有在复杂并且昂贵的系统中才能找到。但数字集成电路在成本、性能和功耗方面的进步,为视觉功能使用在多样化和高容量的应用上铺平了道路,其中包括机器人实现的功能越来越多。虽然机器人在功能实现方面仍然面临着诸多挑战,但与以往相比,今天已经可以更加轻松、快速、经济高效地解决这些问题。
软件技术
开发出可根据视觉适应其环境的机器人系统需要采用电脑视觉算法,该算法可将一个或多个图像传感器中的数据转换成该环境的可执行信息。机器人的两个常见任务分别是识别外部目标和方向,并决定机器人的位置和方向。许多机器人可与一个或多个特定目标进行互动。对于情境自适应机器人而言,必须能够检测到那些在未知地点和方向的目标,并且还要了解到这些目标很可能会移动。
摄像头每秒产生上百万像素的数据,从而形成了一个肩负着沉重处理负担的有效载荷。解决该问题的一种常见方法是检测这些多像素的特征,如视频数据每一帧的角、点、边或线(图2)。
图2:完整处理二维或三维机器人视觉传感器的原始输出涉及四个主要阶段,
每个阶段都有自己的独特性并受其处理要求的制约。
图3:视觉处理器可以集成多种类型的内核,以满足每个处理阶段的独特需求。
通过特征来确定目标方位需要一种像RANSAC (随机抽样和均测)那样的基于统计的算法。该算法采用一组特征来模拟一个潜在的目标方向,然后确定多少其他特征适合该模型。具有最大数量匹配特征的模型对应于被正确识别的目标方向。为了检测移动目标,用户可以将特征识别与跟踪算法相结合。一旦一组特征正确地识别了一个目标, KLT(Kanade-Lucas-Tomasi)或卡尔曼滤波等算法将在视频的帧之间跟踪这些特征的运动轨迹。无论方向和阻塞如何改变,这些技术都是非常可靠的,因为他们仅需要跟踪一组最初特征便可成功。
上面所述算法可能对于固定式机器人来说足够了。但对于移动机器人来说,还需要采用其他算法才能使机器人在其环境中安全地移动。SLAM(同步定位绘图)是一种可使机器人创建环境地图并跟踪其当前位置的算法。这种算法需要绘制三维环境地图。由于有许多深度感应传感器选件;因此常见的方法是采用一对被配置成“立体”摄像头的2D摄像头,其作用类似于人类视觉系统。
立体摄像头依靠对极几何,采用一对2D图像的投射为每个场景内的每个点提供3D位置。根据前面2D观点所提到的,特征可用于检测3D场景中的有效位置。例如,与平整的墙面相比,机器人更容易检测到桌角的位置。在给定的位置和方向,机器人可以检测特征,通过比较其内部地图以确定其位置并改进地图质量。考虑到目标经常会移动,因此静态地图对于试图适应其环境的机器人来说,用处不大。
处理器的选择
为了有效地打造出机器人视觉,我们将所需的处理步骤分为若干阶段。特别是我们前面所讨论的算法,其处理步骤可分为4个阶段,根据处理要求,每个阶段都具有独特的特征与限制(参考1)。市场中充斥着各种类型的视觉处理器,并且不同类型的视觉处理器(根据其性能、功耗、成本、功能灵活性和其他因素)可能适合不同的算法处理阶段。实际上,视觉处理器芯片可能集成了多个不同类型的处理器内核,从而满足多个处理阶段的独特需求(图4)。
软硬结合智能视觉机器 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)