嵌入式系统在机器人视觉中的应用

2011-08-04来源 : 互联网

随着Internet技术与信息家电、工业控制技术等的结合日益紧密,嵌入式设备与Internet的结合已成为大势所趋。此时期新的微处理器层出不穷,要求嵌入式操作系统的设计更加便于移植,支持更多的微处理器。 嵌入式系统的开发需要强大的硬件开发工具和软件支持包。通用计算机上使用的***、新观念开始逐步移植到嵌入式系统中,如嵌入式数据库、移动代理、实时CORBA等。各类嵌入式Linux操作系统在**数以**计爱好者的合力开发下迅速发展,由于具有源代码开放、系统内核小、执行效率高、网络功能强,多媒体人机交互界面友好等特点,很适合信息家电等嵌入式系统的需要。

早期的嵌入式系统设计方法,通常采用"硬件优先"原则,即在只粗略估计软件任务需求的情况下,*先进行硬件设计与实现。然后,在此硬件平台上再进行软件设计。因而很难达到充分利用软硬件资源,取得*佳性能的效果。同时,一旦需要对设计进行修改时,整个设计流程将重新进行,这对成本和设计周期的影响很大。这种传统的设计方法只能改善软件/硬件各自的性能,在有限的设计空间不可能对系统做出较好的性能综合优化,在很大程度上依赖

于设计者的经验和反复实验。

上世纪90年代以来,随着电子系统功能的日益强大和微型化,硬件和软件也**是截然分开的两个概念,而是紧密结合、相互影响的。因而出现了软硬件协同设计方法,即使用统一的方法和工具对软件和硬件进行描述、综合和验证。在系统目标要求的指导下,通过综合分析系统软硬件功能及现有资源,协同设计软硬件体系结构,以*大限度地挖掘系统软硬件能力,避免由于*立设计软硬件体系结构而带来的种种弊病,得到高性能低代价的优化设计方案。

在网络、通信、微电子发展的基础上,以及势不可挡的数字化信息产品的强大需求推动下,嵌入式技术具有广阔的发展创新空间。

低功耗、高性能、高可靠性的系统需求对我国芯片设计是一个机遇。以嵌入式处理 器为**的国产CPU、片上系统、片上网络系统将有很大的发展。

Linux正逐渐成为嵌入式操作系统的主流;J2ME技术也将对嵌入式软件的发展产生深远影响。目前自由软件技术备受青睐,并对软件技术的发展产生了*大的推动作用。嵌入式操作系统内核不仅需要具有微型化、高实时性等基本特征,还将向高可信性、自适应性、构件组件化方向发展;支撑开发环境将更加集成化、自动化、人性化;系统软件对无线通信和能源管理的功能支持将日益重要。近几年来,为使嵌入式设备更有效地支持Web服务而开发的操作系统不断推出。这种操作系统在体系结构上采用面向构件、中间件技术,为应用软件乃至硬件的动态加载提供支持,即所谓的"即插即用",在克服以往的嵌入式操作系统的局限性方面显示出明显的优势。

Java虚拟机与嵌入式Java将成为开发嵌入式系统的有力工具。嵌入式系统的多媒体化将变成现实。它在网络环境中的应用已是不可抗拒的潮流,并将占领网络接入设备的主导地位。

嵌入式系统与人工智能、模式识别技术的结合,将开发出各种更具人性化、智能化的实际系统。智能手机、数字电视,以及汽车电子的嵌入式应用,是这次机遇中的切入点。伴随网络技术、网格计算的发展,以嵌入式移动设备为中心的"无所不在的计算"将成为现实。

不论是在工业控制中,还是在商业领域里,机器人技术都得到了广泛的应用。从用于生产加工的传统工业机器人到丰富大众生活的现代娱乐机器人,都与嵌入式系统密不可分。现有的大多数机器人,都采用单片机作为控制单元,以8位和16位*为常见,其处理速度较低,没有操作系统,无法实现丰富的多任务功能,系统的潜力没有得到充分的发掘和应用。

基于ARM9的机器人视觉系统的目标是在选定好的S3C2410平台上移植并配置Linux操作系统,针对平台和应用的特点,制作合适的文件系统,为机器人视觉系统构建稳定的软硬件开发环境。其次编写应用程序,通过S3C2410平台,从USB摄像头实时采集图像,并利用这款嵌入式处理器的强大运算能力,对图像进行后期的处理,完成目标识别与定位,作为机器人动作单元的输入。*后针对机器人关节所使用的电机,编写特定的设备驱动程序,**操作系统可准确地控制机器人动作,响应视觉处理的结果,开发一套完整的"机器人视觉系统"。

1. 硬件平台的选型和搭建

机器人系统如图1所示。全身由24个舵机组成,控制24个关节。通过对舵机的控制,可实现机器人的动作。

启动系统,通过PC机的超级终端,可看到启动信息:包括内核的版本、Flash分区表、交叉编译器的版本,以及内核中静态编译的组件等。

3. 驱动程序的编写和应用程序的开发

视觉功能的*终实现,*先需要为机器人的关节电机编写驱动程序,使操作系统可完成对机器人动作的控制,作为对视觉结果的响应。视觉绝非*终目的,而是机器人获取信息的一种途径,其根本目的在于为机器人的动作、行为提供策略或数据支持。单纯的视觉并没有意义。

机器人全身的关节均为舵机。舵机结构简单,控制方便,外部只有3个引脚:电源、地、PWM信号。对舵机的控制实际上就是要产生频率、脉宽合适的PWM波。

S3C2410芯片内部集成4个PWM发生单元。驱动程序利用其中的一个作为机器人头部电机的控制信号源,通过改写寄存器的值,改变频率和占空比,产生期望的PWM波。

将驱动程序交叉编译为模块,在系统启动后动态地插入内核中。模块加载前*立于内核,方便了驱动程序的调试。编写简短的测试程序,确认关节电机可以正常工作。

这里为机器人视觉系统搭建了一个实际的应用场景:活动的目标小球在背景中运动,期望机器人可以识别目标并对其定位,*后控制头部跟随目标运动。

从USB摄像头实时读取视频数据,进行简单的预处理;

随后进行图像处理,主要完成空域的图像增强。通过对图像进行二值化,将目标小球从背景中提取出来;

计算目标的位置,进而计算出机器人头部的旋转角度,通过舵机驱动程序,控制机器人头部转动到目标所在角度,实现对目标物体的跟踪。

经过实验,机器人头部可较好地跟踪目标,实现了视觉原型系统。

4. 拓展性工作

机器人视觉系统的开发只是嵌入式系统在机器人领域中应用的一个方面。事实上,还有很多值得我们继续去实现的子系统,诸如语音系统、行走控制、网络系统等等。应当承认,虽然目前的嵌入式处理器已经具备了比较强大的功能,但是受功耗、体积、成本因素的限制,在实时视频处理、多媒体协同计算等方面,其速度仍然无法满足需求;所以,更强劲的嵌入式处理器也是将来在为机器人选择控制单元时的重要考虑因素。

从本文所述的机器人视觉系统中就可看出嵌入式系统的强大功能与广阔应用领域。在当今数字信息和网络技术高速发展的后PC时代,嵌入式系统已被广泛应用于移动计算平台、信息家电、无线通信设备、工业/商业控制、电子商务平台、甚至军事应用等诸多领域,其前景无疑是令人非常乐观的。

©2004 3158招商加盟网. All Rights Reserved.

3158招商加盟网友情提示:投资有风险,选择需谨慎