机器人技术的发展从来就是与嵌入式系统的发展紧密联系在一起的,机器人技术的研究就是嵌入式技术的应用,而嵌入式技术的发展必定促进机器人智能化水平。70年代中期以后,由于智能控制理论的发展和微处理器的出现,机器人逐渐成为研究的热点,并且获得了长足的发展。目前,嵌入式系统在机器人控制系统被广泛采用。主板定制
嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式软件操作系统以及用户的应用程序4大部分组成,用于实现对其他外部设备控制以及网络的数据交换等功能。针对于某种特定的应用需求,嵌入式系统嵌入到对象软硬件体系中。
嵌入式系统与普通的PC 系统相比主要具有以下特点:
(1) 嵌入式系统功耗低,体积小,专用性强。嵌入式CPU 工作在为特定用户群设计的系统中,能够把PC 中许多板卡完成的任务集成到芯片内部,有利于嵌入式系统设计的小型化。
(2) 嵌入式系统中的软件一般固化在存储芯片或单片机本身中,以提高实行速度与系统可靠性。硬软件都必须高效设计,系统要精简,对软件代码质量要求很高。操作系统一般和软件集成在一起。
(3) 嵌入式系统开发需要专门的开发工具和开发环境。
嵌入式控制器越来越微型化、功能化。微型机器人、特种机器人等也获得更大的发展机遇,无论从控制系统的结构还是机器人的智能程度方面都得到了很大的提高。以索尼的机器狗为代表的智能机器宠物是最典型的嵌入式机器人控制系统,除了能够实现复杂的运动功能,它还具有图像识别、语音处理等高级人机交互功能,它可以模仿动物的表情和运动行为。
火星车也是一个典型例子,这个价值10亿美金的技术高度密集移动机器人,采用的是VxWorks 操作系统,它可以在不与地球联系的情况下自主工作。下面从运动控制系统、远程控制、视频监控系统三个方面分析嵌入式系统在机器人中的应用情况。
运动控制系统
机器人的运动控制部分一般采用ARM 7来完成,主要是由于整个系统对实时性要求较高,利用ARM 7来专门控制伺服能更好的满足要求。
ARM 7实现电机控制
图是ARM 7实现电机控制的框图,ARM 7通过串口接收数据,并根据定义好的串口相关通信协议对接收到的数据进行解析,得到各个电机的转向以及运动圈数,从而控制电机的转动,串口数据的接收是通过中断的方式来实现的。一旦有数据到达,就产生一次中断,在中断服务程序中,新发送过来的数据将被保存起来,并且设置标志位为真,用以通知主任务有新的数据到达,可以调用电机驱动程序来实现电机的运动。
远程控制
远程控制系统任何能连接上互联网的地方的用户,在远程用户端,OPENGL 仿真将预演用户所输入的机器人控制命令后机器人的运动轨迹,并且将机器人的运动轨迹做相应的反解,从而得到各个控制关节,即相应的电机的运动数据,这些数据通过互联网传送到近端控制中心ARM 9控制板上,通过它转发给实时控制板ARM7,ARM7就控制伺服驱动器让电机按预定的轨迹运动,从而实现机器人的远程控制。
远程用户端一个重要的功能是能实时地观看到机器人的运动姿态,所以一个视频客户端是必须的。基于服务器/客户端的模型,在ARM 9控制板上运行着视频服务器,该视频服务器与带USB 接口的摄像头相连,摄像头实时地采集并联机器人的运动状态,并将采集到的图像编码,ARM 9控制板将经过编码压缩后图像数据通过以太网传送到远程客户端,远程客户端在接收到图像数据后经过解码、显示从而形成视频图像,用户也就可以观测到机器人的运动状态。
ARM 9控制板是整个系统的核心,它扮演着系统的数据中心,控制中心的角色。一方面它将摄像头采集到的视频数据经过编码后,通过以太网发送到远程用户端;另一方面它将它还需要负责将远程用户端传送过来的控制命令解析并转发给ARM 7控制板并接收反馈信息。
上图显示了远程指令的数据流向以及机器人的运动状态反馈给远端用户的数据流向。 远端用户通过人机交互界面将所要求机器人运动姿态位置的指令输入到远端PC 中,经过网络传输到达ARM 9控制中心,ARM 9控制中心这里扮演着近段调试模式中那个近端PC 的角色,在接收到远端数据后经过数据处理后,控制其串口将串口数据包发送到ARM 7控制板上,ARM 7控制板接收到数据后解析数据并且驱动电机的伺服驱动器,从而实现对机器人地控制。
由于控制命令对准确性的要求以及现实的网路情况,目前多数采用TCP 协议来传送控制命令。
视频监控系统
视频监控系统
图显示了视频监控系统的总体框架,带USB 接口的摄像头连接到ARM 9(uclinux 操作系统)的嵌入式开发板上,开发板的以太网控制器连接到路由器上,路由器接入Interact ,监视平台是远端一台连入Internet 的PC 机。
图像数据由摄像头采集,ARM 9通过USB 接口读取其缓存中的数据,并对图像数据进行压缩编码。然后基于socket 编程来传送这些数据,将ARM 9作为server 端,一旦有client 端(监视平台) 与之连接,它将把压缩后的数据发送过去。监视平台接收到数据后解码,然后显示在终端上。控制单位时间内图像帧显示次数就能形成流畅的动画效果。
随着网络技术的日益成熟,支持网络功能的嵌入式产品将得到越来越广泛的应用,这不仅将成为嵌入式系统发展的一个热点,也将是机器人技术的一个研究热点,基于嵌入式系统的机器人技术的未来的研究有以下几点趋势:
(1) 高集成度、低功耗、小型化。随着嵌入是系统的微型化、智能化,机器人将朝着高智能化、高集成度、小型化方向发展;
(2) 提供方便、快捷的人机界面。嵌入式系统被广泛使用,主要原因是它的多媒体人机界面的方便、快捷,这将使机器人的操作更加方便快捷、人性化;
(3) 远程控制必成为趋势。
在嵌入式技术的支持以及多媒体网络技术的支持下,对机器人进行远程控制与监测将会成为现实,并且随着嵌入式系统以及多媒体网络技术的进一步发展,机器人技术将会有着更广阔的发展空间。