嵌入式系统及其在机器人中的应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式系统及其在机器人控制中的应用
2012-6-11
(XXXX,XXXX,XXXX)
摘要:介绍了嵌入式系统的相关概念及其特点,综述了嵌入式系统在机器人运动控制系统、远程控制、视频监控系统等方面的相关应用。在了解了嵌入式系统在机器人控制中的应用现状的基础上,提出了基于嵌入式系统的机器人技术的发展趋势。
关键词:嵌入式机器人远程控制视频监控
Embedded System and its Application in the
System of Robot Control
XXXX
(XXXX,XXXX,XXXX)
Abstract:The related concepts and characteristics of the embedded system were introduced in this paper. The motion control system, remote control and video monitoring systems which used embedded system was also reviewed.By understanding the present situation of the application of embedded system used in robot control, the development tendency of robot technology based on embedded system was put forward.
Keywords: embedded system, robot, remote control, video monitoring systems
引言
以嵌入式计算机为核心的嵌入式系统(Embedded System)是继IT网络技术之后,又一个新的技术发展方向,它以其强大而灵活的可应用性得到了计算机、通信和信息等产业的广泛认可,已被广泛应用在工业控制、交通管理、信息家电、家庭智能管理系统、网络及电子商务、环境监测和机器人控制等领域[1]。嵌入式系统的出现与发展将真正实现计算机的“无处不在”。
机器人技术的发展从来就是与嵌入式系统的发展紧密联系在一起的,机器人技术的研究就是嵌入式技术的应用,而嵌入式技术的发展必定促进机器人智能化水平。70年代中期以后,由于智能控制理论的发展和微处理器的出现,机器人逐渐成为研究的热点,并且获得了长足的发展。目前,嵌入式系统在机器人控制系统被广泛采用。
1 嵌入式系统
1.1 嵌入式系统的定义及其特点
嵌入式系统从应用角度出发,它是20世纪70年代以后计算机发展的一个分支,以应用为中心,以计算机技术为基础,软、硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗等方面有严格要求的专用计算机系统。简单的说,嵌入式系统是嵌入到目标体系中的专用计算机系统[1]。
嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式软件操作系统以及用户的应
用程序4大部分组成,用于实现对其他外部设备控制以及网络的数据交换等功能。针对于某种特定的应用需求,嵌入式系统嵌入到对象软硬件体系中。
嵌入式系统与普通的PC系统相比主要具有以下特点:
(1) 嵌入式系统功耗低,体积小,专用性强。嵌入式CPU工作在为特定用户群设计的系统中,能够把PC中许多板卡完成的任务集成到芯片内部,有利于嵌入式系统设计的小型化。
(2) 嵌入式系统中的软件一般固化在存储芯片或单片机本身中,以提高实行速度与系统可靠性。硬软件都必须高效设计,系统要精简,对软件代码质量要求很高。操作系统一般和软件集成在一起。
(3) 嵌入式系统开发需要专门的开发工具和开发环境。
2 嵌入式系统在机器人中的应用
嵌入式控制器越来越微型化、功能化。微型机器人、特种机器人等也获得更大的发展机遇,无论从控制系统的结构还是机器人的智能程度方面都得到了很大的提高。以索尼的机器狗为代表的智能机器宠物是最典型的嵌入式机器人控制系统,除了能够实现复杂的运动功能,它还具有图像识别、语音处理等高级人机交互功能,它可以模仿动物的表情和运动行为。火星车也是一个典型例子,这个价值10亿美金的技术高度密集移动机器人,采用的是VxWorks操作系统,它可以在不与地球联系的情况下自主工作。下面从运动控制系统[1-4]、远程控制[2-5]、视频监控系统[5-7]三个方面分析嵌入式系统在机器人中的应用情况。
2.1 运动控制系统
机器人的运动控制部分一般采用ARM 7来完成,主要是由于整个系统对实时性要求较高,利用ARM 7来专门控制伺服能更好的满足要求。
图2.1 ARM 7实现电机控制框图图2.2 远程控制系统框架图图2.1是ARM 7实现电机控制的框图,ARM 7通过串口接收数据,并根据定义好的串口相关通信协议对接收到的数据进行解析,得到各个电机的转向以及运动圈数,从而控制电机的转动,串口数据的接收是通过中断的方式来实现的。一旦有数据到达,就产生一次中断,
在中断服务程序中,新发送过来的数据将被保存起来,并且设置标志位为真,用以通知主任
务有新的数据到达,可以调用电机驱动程序来实现电机的运动。
2.2 远程控制
图2.2是远程控制系统的框架图,任何能连接上互联网的地方的用户,在远程用户端,OPENGL仿真将预演用户所输入的机器人控制命令后机器人的运动轨迹,并且将机器人的运动轨迹做相应的反解,从而得到各个控制关节,即相应的电机的运动数据,这些数据通过互联网传送到近端控制中心ARM 9控制板上,通过它转发给实时控制板ARM7,ARM7就控制伺服驱动器让电机按预定的轨迹运动,从而实现机器人的远程控制。
远程用户端一个重要的功能是能实时地观看到机器人的运动姿态,所以一个视频客户端是必须的。基于服务器/客户端的模型,在ARM 9控制板上运行着视频服务器,该视频服务器与带USB接口的摄像头相连,摄像头实时地采集并联机器人的运动状态,并将采集到的图像编码,ARM 9控制板将经过编码压缩后图像数据通过以太网传送到远程客户端,远程客户端在接收到图像数据后经过解码、显示从而形成视频图像,用户也就可以观测到机器人的运动状态。
ARM 9控制板是整个系统的核心,它扮演着系统的数据中心,控制中心的角色。一方面它将摄像头采集到的视频数据经过编码后,通过以太网发送到远程用户端;另一方面它将它还需要负责将远程用户端传送过来的控制命令解析并转发给ARM 7控制板并接收反馈信息。
图2.3 远程机器指令流程
图2.3显示了远程指令的数据流向以及机器人的运动状态反馈给远端用户的数据流向。
远端用户通过人机交互界面将所要求机器人运动姿态位置的指令输入到远端PC中,经过网络传输到达ARM 9控制中心,ARM 9控制中心这里扮演着近段调试模式中那个近端PC的角色,在接收到远端数据后经过数据处理后,控制其串口将串口数据包发送到ARM 7控制板上,ARM 7控制板接收到数据后解析数据并且驱动电机的伺服驱动器,从而实现对机器人地控制。
由于控制命令对准确性的要求以及现实的网路情况,目前多数采用TCP协议来传送控制命令。
2.3 视频监控系统
图2.4显示了视频监控系统的总体框架,带USB接口的摄像头连接到ARM 9(uclinux 操作系统)的嵌入式开发板上,开发板的以太网控制器连接到路由器上,路由器接入Interact,监视平台是远端一台连入Internet的PC机。