无线通信模块是机器人控制系统的一部分,是连接决策管理模块和协调规划模块的纽带。其主要任务是:在上位机、下位机之间实施实时、高效、无差错的无线通信。
无线通信模块的连接对象是控制台的上位机和机器人自带的下位机。连接工具用无线网卡和AP。
由于上下位机都具有各自独立的操作系统(上位机上安装的是Windows XP,下位机上安装的是Windows CE)。所以,在设计机器人无线通信解决方案时,可以将解决对象的硬件平台简化成两台普通的带有无线网卡的PC。要解决的问题,就是在两台带有无线网卡的PC之间搭建一个实时、高效、无差错的无线通信通道。因此,有必要对通信信道提出要求。
首先,上位机和下位机之间的通信必须是双工形式。在机器人行进过程中,控制中心需要向机器人发送指令,机器人需要向控制中心报告所处的方位和自身状态以及任务的执行进度,因此所建立的通信通道必须是双工的。其次,上位机和下位机之间的通信必须具有实时性。在设计通信通道时,必须考虑到信息传递的延时给整个机器系统带来的影响,因为所设计的机器人面临的环境是险恶复杂的灾后环境,并且机器人系统是运动的,不同的时间面临的情况都不一样,每一个微小的延时都可能导致整个任务的失败。所以,在设计时必须考虑到信息传递的延时带来的影响,并尽力控制传递的延迟。最后,上位机和下位机之间的通信必须有反馈。机器人执行的任务是一个整体,整个任务过程中的每一个指令都是环环相扣的,就像精密的仪表,如果其中的任何一环发生了异常(比如延时或丢包),都会引起连锁反应,导致任务的失败。因此,有必要跟踪每一条指令,监视其执行的进度,对机器人实行实时的控制。因此,上位机和下位机之间搭建的通行通道必须记录数据传输的情况,使信息的发送方可以得到接收方的反馈。
2.无线通信系统模块搭建
借助开放系统互连参考模型(Open System Interconnection/Reference Model,OSI/RM),建立搜救机器人无线通信系统解决方案。
OSI的七层结构分别为:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。整体模型如图2-40所示。
图2-40 七层结构的整体模型
对于这个模型的物理层和数据链路层的底层(通常称为媒体访问控制(MAC)子层)部分,IEEE 802.1规范已经将其包括在内。因此,只需要选用支持IEEE 802.11的无线网卡和AP来搭建无线通信网络,其通信模块图如图2-41所示。
机器人系统是搭建在Windows平台上的,因此可以在Windows操作系统平台上搭建应用程序,建立通信渠道。作为Windows应用程序可以使用SDK提供的Winsock功能加入网络数据通信功能,这个环节在通信系统中相当于接口作用,其原理图如图2-42所示。
(www.xing528.com)
图2-41 无线网络通信模块图
图2-42 Winsock无线网络原理图
对于Winsock来说,现阶段成熟的技术分主要基于有连接传输(TCP)和无连接传输(UDP)两类。根据项目实际,将控制中心设计为服务器端(Server),机器人设为客户端(Client)。这样,可以实现一个控制中心控制多台机器人,并进一步规划多个机器人协作完成救灾场景下的任务,其原理图如图2-43所示。
图2-43 基于无线通信的多机器人搜救系统原理图
其中,服务器端建立连接流程如图2-44所示。其中,初始化环境包括:获得SOCKET对象,设置IP地址值,绑定SOCKET对象和IP地址,关闭连接包括清理环境等。
客户端建立连接流程图如图2-45所示。其中,初始化环境包括:获得SOCKET对象,设置IP地址值,关闭连接包括清理环境等。
图2-44 服务器端建立连接流程
图2-45 客户端建立连接流程图
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。