机器人系统作为一种工作在复杂环境条件下和具有多种时变实时任务的复杂系统,领域的交叉导致其模型也较为复杂。一方面,其在实现上常需要使用多种实时总线接口,以满足关键的实时任务所面临的通讯需求;另一方面,由于机械和控制方面需要,机器人常使用嵌入式处理模块作为协处理器或运算单元,这些模块性能和资源配置通常较差,难以运行类似CORBA这类庞大的中间件体系平台。面临这些问题,传统的中间件CORBA、DCOM等在机器人中的应用受到很大限制,机器人中间件应有的实时接口也得不到有效支持。为了解决这个矛盾,日本提出的机器人使用的中间件RT-Middleware(RTM)。RTM在CORBA上作了大量的精简,使用OmniORB作为基础单元运行在X86平台。基于RTM平台,Yataka等人提出了LwRTC方法[1],建立RTM的代理来加入嵌入式模块构件,该方法可以支持使用嵌入式处理模块。
本文以CAN总线接口为例,利用LwRTC的方法设计了一种利用Proxy支持中间件的协议转换模块,以此为连接嵌入式机器人模块提供多种实时总线接口的支持。
2.总体结构
如图1所示,设计了基于Proxy的智能机器人协议转换模块,模块主要包括:实时系统部分、Proxy部分、协议支持部分和CAN接口部分。
2.1 实时系统部分