随着国内经济企稳回升、欧美市场复苏,以及上海国际航运中心建设的加快,我国港口货运吞吐量增长显著,但是国内绝大部分港口散货装卸仍采用人工操作的装卸设备,自动化水平低。而且港口在业内被公认为拥有最复杂的环境[1](高温、大风、暴雨、大雪等各种严峻考验),不适宜铺设有线网络。因此将无线通信技术应用到码头作业中,对于提高码头作业效率,促进港口智能化具有重要的意义。
摘要:散货装船机的自动化水平对于港口作业效率具有重要影响,而船舱边缘识别是装船机自动作业的必要环节。文中运用物联网ZigBee无线通信技术,结合OPNET仿真,应用于装船机自动化作业中的船舱边缘识别。并对现有路由算法在该应用背景上进行了改进,根据节点间传输数据特性的不同选择不同的路由方法。实验结果表明,改进的算法在船舱边缘识别应用中比现存算法在性能上具有明显的提高。
关键词:物联网论文发表,船舱边缘识别,物联网,ZigBee,OPNET,路由改进算法
0引言
目前国内外已经将物联网技术逐渐应用到港口运作管理中。SchmidtRene综合运用FM广播技术、加速度计、IEEE892.15.4无线通信协议和GPS来监控集装箱运输的安全[2]。LanielM针对RFID技术在具有金属外壳包装的情况下集装箱监控做了相关研究,实验得出天线位置放置侧面较好,而且采用433MHz进行通信效果最好[3]。RizzoFrancesco等将RFID技术应用到集装箱的安全管理中,给出了详细的技术路线,并做了相关实验,得出该系统可靠[4]。ChoiHyungRim将RFID技术运用到集卡道口中,实现了集装箱自动识别,提高了工作效率[5]。刘千波运用无线通信技术实现中控室与卸船机无线通信,为该公司创造了很好的效益[6]。林健伟运用CDMA技术将卸船机PLC与外部网络相连,完善了卸船机的故障报警功能,并形成可视界面实现卸船机实时监测[7]。
在路由算法方面,ZigBee采用的路由算法主要有3种:Cluster-tree、AODVjr、Cluster-tree&AODVjr[8-10],其中Cluster-tree和AODVjr算法各有优缺点,最后一种虽然结合了以上两种路由的优点但是路由开销相对仍较大,许多学者针对已有路由存在的问题,提出了一些改进算法。郭状辉提出一种降低路由开销的ZigBee路由算法,根据目的节点和源节点的深度进一步限制传输范围,同时根据树的结构来限制路由的转发方向,从而降低路由开销[11]。刘伟针对机场场面监控,提出了利用地理位置信息的ZigBee的路由协议,在原有AODVjr算法基础上,采用路由期望域和寻找域的方法,使路由具有较高的目的性和方向性,有效地降低了路由开销、减少了时延[12]。
本文利用CC2530芯片设计基于ZigBee技术的无线传感器节点模块,借助OPNET软件对ZigBee网络进行仿真来找到合适的网络拓扑结构;再次,使用设计好的ZigBee节点进行实际组网测试,通过实验论证该方案在船舱边缘识别应用中的可行性;最后结合本文应用背景,改进了ZigBee路由算法并进行了仿真验证。
1船舱识别的物联网系统设计
1.1基于OPNET的ZigBee网络仿真
在进行实际组网之前,可以通过仿真软件模拟实际场景,考察ZigBee网络各方面的性能,如数据收发延时,通信丢包率等等。
图1所示为船舱识别模型,在船舱的四个角放置GPS+ZigBee模块,GPS中的数据通过RS232通信协议与ZigBee模块通信,ZigBee模块再将GPS发送过来的位置信息无线发送给网关节点或中心节点,接收到所有GPS节点的位置信息后,就可以初步得到船舱边缘的形状和船舱的位置,在信息到达网关节点的途中,通过由ZigBee节点组成的无线传感网络进行数据转发。
图1船舱识别模型
1.1.1网络拓扑结构
在建立网络拓扑之前,设置船舶为9万吨左右的散货船,船长150m,船宽12m。仿真网络拓扑结构如图2所示。
图2网络拓扑结构图
1.1.2设置及结果分析
通过配置业务和收集统计量,节点router_5~8将转发数据到中心节点,其余节点(主要指路由节点)负责转发来自节点5~8的数据包,设置仿真时间为10min。在实际网络应用过程中,数据接收的可靠性及丢包率,数据延时是两个主要考虑的指标。除此以外,当节点失效以及节点移动时,网络工作是否可靠,数据是否还能正常传输,也是需要考虑的。
(1)理想情况下的节点数据收发
在图3所示的数据收发中,第一幅表示协调器应用层共接收到的数据,接下来4幅图表示节点5~8应用层发送的数据,从图3可以看出,发送的数据和接收的数据基本相等,符合组网要求,即数据传输的稳定性有保障。
(2)节点数据收发延时
另外,网络延时也是需要考虑的,延时显示如图4所示。
纵坐标单位为秒,横坐标单位为分,从图4可以看出,其平均延时为0.023s,除开始阶段延时较大外,后续延时呈现出稳定状态。
(3)节点失效以及节点移动时数据收发
在实际应用的过程中,节点可能会失效,在这里进行网络仿真,模拟其中一个节点失效。在该仿真中在第5分钟的时候将节点4移出通信范围,相当于节点4失效。具体的仿真结果如图5所示。
图3数据收发
图4数据收发延迟
图5节点失效仿真结果
在数据进行传输的过程中,实际中船会发生摇晃等运动。这里通过给节点设置运动轨迹来模拟实际中船的运动。设置节点运动的范围为以节点为中心2m范围内。仿真结果如图6所示。从图6可以看出,节点4~8移动幅度不是很大的时候,数据收发数量相等,即节点移动基本不影响数据的传输。可知,采用ZigBee技术符合应用的要求。图6节点移动仿真结果
1.2软硬件设计和选择
硬件采用的是C2530,它满足IEEE802.15.4标准和ZigBee2007/PRO技术标准,支持最新TI公司ZigBee2007/PRO网络协议栈。GPS模块选用新月-HC12A。
软件编写的内容主要包括串口回调函数的编写和相关API函数的调用。GPS借助ZigBee节点将数据无线发送给中心节点,路由节点收到数据后,如自己不是目的节点,转发该数据;中心节点收到数据后,调用相应的任务事件处理函数对数据进行处理,另外使用ZigBee协议栈所提供的函数实现数据发送以及组网等功能。
1.3组网及通信测试
本文应用背景中,主要运用多对一通信。将船舱简化为一个矩形,在四个角各安置一个GPS模块,而每个模块的定位信息最终需要发送给上位机以便收集和远程检测。终端发送时间间隔可自由设定。此外,原理上多个无线通讯的终端节点需同时向中心节点发送数据。这里所建立的拓扑结构如图7所示。
图7ZigBee拓扑图
网络形成后,4个采集节点发送位置信息给中心节点,4个采集节点发送的数据都为1501×86B,4个采集节点都为静止,通过8串口调试助手可以看到中心节点收到的数据为4×1501×86B。4个采集节点需要实时将GPS中的位置信息发送到收集节点,为更好地测试网络的性能,分别模拟节点移动和节点失效来查看网络的丢包率。
ZigBee网络在运行过程中,节点可能会因为电池没电或其他因素导致节点失效,在这里主要考虑路由节点失效或某一条路由失效对数据的传输的影响。具体的实验结果如表1所列。
表1丢包率列表
测试条件发包数收包数丢包率
发送间隔测试环境网络拓扑
200ms理想情况图7600459201.40%
200ms节点移动图7600458742.17%
200ms节点失效图7600457284.60%
1s理想情况图7600460020.03%
1s节点移动图7600459720.53%
1s节点失效图7600459630.68%
通过实验数据可以看出,随着发送时间间隔越短,丢包率越严重,在满足应用需求的前提下,适当增加发送时间间隔可以有效的降低丢包率。当采集节点小范围移动时(以自己为中心2m范围内)丢包率并虽有增加,但不明显,不影响系统的正常工作。当其中一个路由节点失效时,会增加丢包率。
另外,在图7中,如果其中一个路由节点失效,采集节点会自动寻找替代路由,路由节点失效瞬时,汇聚节点将收不到数据,大概6s左右,采集节点寻找到新的路由,汇聚节点又重新收到数据。
2ZigBee路由算法改进
ZigBee网络应用在装船机作业中,不同时间传输的数据类型不一样。这里对于突发类的数据,采用抑制路
由发现方式,采用改进的树路由,最大限度减少时间延迟。对于批量传输的数据,采用强制路由发现过程,在路由发现过程中,将位置信息和树结构考虑进去,限制RREQ转发范围,降低时延。
针对AODVjr中空中数据包复杂,路由开销大,提出一种改进算法,从两个方面限制路由请求包的转发方向,图8所示是其改进AODVjr算法。该算法首先将每个节点位置信息考虑进去,当源节点需要寻找到目的节点的路由时,会附带相应位置信息,中间节点收到路由请求包后,判断自己是否在寻找域中,如果在,则转发,如果不在,则放弃。其次,将网络树结构考虑进去,节点收到路由请求包后,判断自己的后代节点和父节点是否适合转发,并设置相应的标志位。
因为改进路由的主要目的是减少延迟,这里从两个方面来降低延迟:第一,通过采用不同路由策略,来满足实际应用需要;第二,从路由算法层面来进行改进,在树路由中增加邻居表来减少延时,在网络路由中,综合考虑树的结构和地理位置信息来减少路由发现的时间。路由仿真利用Matlab来进行,网络配置参数为Cm=3,Lm=6。
图8改进AODVjr算法
首先比较树路算法和改进树路由的平均跳数,跳数越短代表延时越短。其次,比较AODVjr算法、加入地理位置信息的路由算法和以及加入地理位置信息和树结构三者之间的差别。主要比较三种参数分为:路由寻找时路由请求包的数量被转发的次数,路由形成时产生的广播包。比较的结果如图9所示。
图9平均每次路由跳数
在图9中,虚线表示改进前树状路由平均每次路由的平均跳数,实线表示引入邻居表后的平均跳数,从图9中可知,加入邻居表后,路由跳数平均减少1次左右,可知在不过多的增加计算量的同时,有效的将树路由平均跳数减少一跳。在图10、图11和图12中,实线表示AODVjr路由,虚线表示加入位置信息的AODVjr改进路由,点划线表示加入树结构和位置信息的路由,从这3副图可以看出,平均广播包、转发次数、路由发现平均延时依次减少。未改进的算法在平均广播包、路由包转发次数以及路由发现平均延时都最多,在路由中加入地理位置信息后,3项指标都大大优化,在此基础上继续加入ZigBee网络树结构,3项指标得到进一步优化。在其中,加入地理位置信息对路由算法的性能影响尤为明显。
图10平均广播包数目
图11平均每次路由转发次数
图12平均路由延时
3结语
本文将ZigBee技术应用到装船机自动作业中,结合GPS定位仪,采用ZigBee无线技术传输GPS中地理位置信息,来进行船舱边缘初步识别,针对该应用背景,开发出一套船舱边缘辅助识别系统,在理论创新方面,结合应用背景对现有路由算法进行改进并仿真。针对现有ZigBee路由算法在船舱边缘识别中的不足,结合实际应用背景的特点对其进行改进,实验结果表明改进的算法在船舱边缘识别应用中比之前算法在性能上有明显的提高。