总第174期
2008年第12期
舰船电子工程
Ship Electronic Enginee ring Vol.28No.12
45
基于ACE 的RTK 移动终端接入VRS 系统
3
王慧青 王 庆 蔡文雯 毕 亮
(东南大学仪器科学与工程学院 南京 210096)
摘 要 网络R TK 相比于常规R TK ,作业范围广,可靠性高。RT K 移动终端与VRS 数据中心之间实时性好的差分数据传输链路是实现稳定高精度定位的关键技术之一。ACE 实现了通信软件开发中用到的许多基本设计模式,基于AC E 框架构建的R TK 移动终端接入VRS 系统,通讯延时小,测试结果表明系统能
稳定实现RT K 定位。
关键词 虚拟参考站;VRS 系统;ACE;R TK 中图分类号 TP391
R T K Mobile Termi nal Accessi ng V RS System Based on ACE
Wa ng Huiqi ng Wa ng Qing Cai We nw en Bi L iang
(Department of Instr ument Science and Engineering ,Sout heast Univer sity ,Na njing 210096)
Abs tra ct Compa red wit h t he tra ditional R TK tec hnology ,networ k R TK ha s highe r reliability and positioning accura 2cy.G ood real 2time perfor ma nce of t he tra nsmission link for DGPS data betwee n R T K mobile terminals a nd VRS data ce ntr e is a key tec hnology to realize stable and high 2pr ecision positioning.ACE ha s implemented many of t he basic de sign patter ns used in developing communications soft war e.Finally ,R TK mobile ter minal accessing VRS system ba sed on ACE is designed a nd realized in t his paper.The test r esult shows that the system has good robustne ss ,and can meet the nee ds of practical ap 2plication.
Ke y w ords virtual ref erence station ,VR S system ,AC E ,R TK Class N umber TP391
1 引言
V RS (Vi rt ual Reference Station ,虚拟参考
站技术)是GPS 网络R T K 技术最新的成果[1],大大扩展R T K 的作业范围,使GPS 的应用更广泛,精度和可靠性进一步提高。目前已广泛应用于林业、国土资源调查等领域。与常规R T K 相比,V RS 技术对电离层、对流层等改正算法考虑更完善、定位可靠性和精度更高、作用范围更大,最大程度上保护了用户的设备投入。
V RS 系统包括三个组成部分:数据处理与控
制中心(包括数据传输)、连续运行参考站网络、移动用户站。移动站上电启动后,先向控制中心发送一个概略坐标,收到位置信息后,控制中心根据用户位置,自动选择一组固定最佳的参考站,利用它们观测数据在用户位置附近模拟出一个虚拟站,整体地改正GPS 的轨道误差以及电离层、对流层和大气折射引起的误差,再将高精度的差分信号发给移动站。虚拟参考站与移动站构成了短基线,从而确保R T K 高精度、可靠地实现。
R TK 移动终端可以采用PDA (Personal Digital Asi st ,个人数字助理)作为数据采集及网络通讯手
3
收稿日期年月5日,修回日期年月3日
基金项目国家“十一五”科技支撑计划课题(编号6B B 5B )资助。
作者简介王慧青,女,博士研究生,讲师,研究方向G S 高精度定位,G S 在土地调查中的应用。王庆,博士生导师。
:20087:200880::200A 101::P P
46 王慧青等:基于AC E 的R TK 移动终端接入VRS 系统总第174期
簿,PDA 通过G PRS 从VRS 数据中心获取差分数据进行实时差分[2],传输数据流量较大。为了满足高精度、高可靠性的要求,要求通讯链路必须具备很高的实时性,应当尽量减小数据在传输链路中的通讯时延。在理解AC E(Adaptive C ommunication Envi 2ronment ,自适配通讯环境)框架的基础上,设计并实现了R TK 移动终端接入VRS 系统。
2 基于ACEReactor 的网络传输框架
A CE 是一个开源免费的面向对象工具包,它实现了通信软件开发中用到的许多基本的设计模式。A CE 依其良好的设计简化了网络链路管理、进程/线程间通信、事件多路分离、显式动态链接、内存分配管理和并发的OO 网络应用和服务的开发[3~4]。并且,A CE 采用标准C ++语言开发,具有很好的平台兼容性。
根据分析,移动GIS 网络传输框架具有事件驱
动的特性。操作系统提供句柄(handle )来识别各类网络指示事件,包括:网络连接的I/O 事件、长时间不通信的超时事件、链路出现的异常事件等。如何以一种方便明了的方式处理这些事件关系到传输框架的复杂性和易维护性,AC E 反应器模式很好地解决了这一问题。反应器本质上提供一组更高级的编程抽象,简化了事件驱动的分布式应用的设计和实现。
A CE 中的反应器与若干内部和外部组件协同工作。其基本概念是反应器框架检测事件的发生(通过在OS 事件多路分离接口上进行侦听),并发出对预登记事件处理器(event handler )对象中的
方法的“回调”(call back )。该方法由应用开发者实现,其中含有应用处理此事件的特定代码[5]。2.1 基于React or 的网络传输框架
结合Reactor 的先进设计思想,设计并实现了移动GIS 网络传输框架,其体系结构如图1所示
:
图 移动GIS 网络传输框架体系结构
整个框架划分为三个层次,K er nel Level ;Mid 2dle Level ;Applicat ion Level 。
Kernel Level ,底层的网络传输以TC P/IP 作为通讯协议,建立在Socket 应用程序接口之上,并且采用TCP 面向连接的操作,提供双向、可靠、有序、不重复的消息传送。
Middle Level ,上层网络数据处理和底层网络传输之间的缓冲层,它的作用便是利用Reactor 模式,以单线程取代了多线程,统一处理与多个连接对端之间的网络传输。其中的反应器内部封装了OS 的同步事件多路分离器,同步等待多个socket 句柄集上的指示事件,将同时或依次发生的多个句柄上的网络事件排成队列。反应器将上层事件处理器对象Event Handle 作为服务提供者使用,并在内部维护一个分派表Handle Table ,将不同的指示事件类型与事件处理器对象关联起来。一旦同步事件分离器通知“就绪”的句柄及指示事件类型,反应器通过查该内部表,依次出相应事件处理器的对应钩子方法来处理队列中的网络传输事件。
Applicat ion L evel 重载事件处理器对象Event Handle 的钩子方法,以处理与应用相关的网络事件,并且在分派表上进行登记,使得当特定类型的事件发生时,反应器知道应该回调哪一个事件处理器对象的哪一个钩子方法。2.2 S ocket 句柄集的分派和处理
Socket 句柄一般会产生三种不同类型的指示事件:
1)“读”,指网络上连接的对端有数据传输过来,缓冲区有数据可以读出;
2)“写”,缓冲区有空间可写,数据可以发送到对端;
3)“异常”,网络传输出现错误。
当这些事件发生时,Socket 句柄会变为“就绪”状态。反应器便可以感知的到,并将来自不同Socket 句柄上的网络事件自动排队然后向上层进行分派,然后将上层处理这些事件的操作进行封装,统一抽象为Event _Ha ndler 类,为应用处理指示事件提供公共接口,如下所示:
cla ss Event _Handle r
{ public :
_(_NDL ,_R 2
_M );
_(_NDL );
1virtu al int han dle clo se A CE H A E A C E eac to r ask virtu al int han dle inp u t A CE H A E
2008年第12期舰船电子工程47
vir tual int handle_output(ACE_HANDLE);
vir tual int handle_except(ACE_HANDL E);
};
ha ndle_i nput(),可用于处理网络socket上的“读”事件,例如差分通过网络传输过来差分数据、监控中心传输过来任务发布信息等,这些数据被操作系统存在缓冲区,我们可以将其读出进行进一步处理。
ha ndle_output(),可用于处理socket“写”事件,将需要发送的数据,例如认证信息、坐标信息等写到缓冲区,并由底层TCP/IP协议通过网络发送出去。
ha ndle_except(),当网络传输出现异常事件,通过该接口进行异常处理。
ha ndle_clo se(),执行相关终止活动,例如关闭日志文件或删除对象分配的动态内存。
为了在反应器内部正确实现网络事件的分派,在反应器里设计了一个内部分派表React or_Ha n2 dle r_Repository,以链表形式保存了已建立连接的socket句柄与将要处理该句柄上网络事件的事件处理器之间的映射关系。
当一条与对端通讯用的Socket连接建立好后,反应器提供接口regist er_handl er()为该Soc k2 et句柄登记指定的事件处理器以处理这条通讯线路上特定的网络事件。
一旦所需的网络事件被处理后,可能就无需再让事件处理器登记在反应器上。因而,我们设计了从反应器的内部分派表中拆除事件处理器的接口re move_handler()。这时反应器会自动调用处理器的handle_close()清扫方法来执行终止活动。
3 基于ACE的移动终端接入VRS 系统
VR S系统采用的通讯协议是Nt rip)Net2 worked Tra nsport of R TCM via Int ernet Proto2 col)协议[6],移动终端顺从该协议,通过GPR S接入VRS差分数据中心。
1)主线程创建新线程,并在新线程中启动反应器。
reactor软件2)主线程建立与VR S数据中心的Socket连接,并通知事件处理器Cent er_Event_Handle对象利用_()将句柄、处理器句柄、以及“读”事件掩码注册到反应器上。
__派生自_接口类,通过重写接口来实现与数据中心的具体网络交互。
3)主线程主动向VRS系统发起请求信息,请求数据资源表中某个特定mountpoint的数据流。系统数据流受密码保护,用户在请求之前要获得系统的授权用户名和密码,并在请求信息中包含用户名密码。移动站发送的请求信息格式如下:
GET<mountpoint>HTTP/1.1<CR><LF>
User-Age nt:N TR IP<product|co mme nt><CR><L F >
Aut horization:Ba sic<name:password><CR><L F>其中,<mount poi nt>是移动站用户请求的系统数据流mountpoint,在系统资源表中选择数据流。<product|comment>是用户所使用的客户端网络程序的产品信息。<name:pa sswor d>是此用户的授权用户名和密码,为保护其安全,用户名密码字符串是不可读的,Nt rip协议中规定其编码类似于H T TP的基本认证方案,使用base64编码。
主线程将编码好的请求信息存入消息队列A,该队列会在内部以“写”事件形式通知反应器,于是反应器回调ch的ha ndle_output()钩子函数,该函数从队列中取出消息并发送出去。
4)VR S数据中心通过了用户请求并发回应答消息,反应器检测到网络上有数据传输到缓冲区,于是回调ch的handle_i nput(),该函数从缓冲区取出消息,并通知用户认证通过。
5)主线程这时就可以和V RS数据中心传输数据了,于是定时地将自身定位数据—GGA语句打包成数据消息,存入消息队列A,该队列会在内部以“写”事件形式通知反应器,于是反应器回调ch的ha ndle_out put()钩子函数,在该函数中我们从队列中取出消息并发送出去。
6)VR S数据中心根据GG A信息通过网络回送相应D G P S差分数据,反应器检测到网络上有数据传输到缓冲区,于是回调ch的handle_i nput(),该函数判断是差分数据传输过来,于是将其从缓冲区取出,并通过串口通信模块写入到GPS接收机中实现差分定位。
7)主线程结束GP S坐标采集工作,主动关闭Socket连接,反应器检测到该关闭事件并通知ch, ha ndle_close()被回调进行清理,然后ch通过re2 _(),将自身从反应器分派表上拆除,结束此次网络传输。
D成功接入VRS数据中心并实现R T K定
ch regi st er handler socket
Cent er Event Handl e Event Handle move handler
P A
48 王慧青等:基于AC E 的R TK 移动终端接入VRS 系统
总第174期
位的界面如图2、图3
所示。
4 结语
本文在分析了VR S 系统的Nt rip 协议的基础上,基于ACE 网络框架构建了R T K 移动终端接入VRS 系统,并设计了具体的工作流程,系统在数据传输方面更高效,更稳定。测试结果表明,系统具有较好的实时性。
参考文献
[1]张漫,何月芳,李民赞,等.基于VRS 技术的GPS 接收
系统设计与实现[J ].江苏大学学报,2007,28(2):97~
99
[2]杨小军,周乐韬,黄丁发,等.利用多网络生成
VR S/R TK 差分改正信息的方法研究[J ].测绘工程,2005,14(1):5~7
[3]Uma r Syyid ,马维达.ACE 自适配通信环境中文技术
文档[E B /OL ].http ://www.f lyingdo nke y /
ace /2002,12
[4]张志详,任雄伟,肖斌.面向模式的软件体系结构-卷
2:用于并发和网络化对象的模式[M ].北京:机械工业
出版社,2003
[5]Dougla s C.Schmidt ,Stephen D.Husto n ,於春景.C
++网络编程卷1C ++Networ k Progr amming Vol 2ume 1:Ma s2tering Comp lexit yWith ACE and Patter ns [M ].武汉:华中科技大学出版社,2003
[6]张锋.基于多参考站网络的VRS 算法研究与实现[D ].
郑州:解放军信息工程大学,2007
(上接第11页)
西安光机所、长春光机所、上海光机所、北京理工大学、华中科技大学、东南大学等单位均对水下测距和成像系统进行了研究,但与国际先进水平相比还有一定的差距。
4 结语
水下激光探测技术是集光、机、电为一体的综合技术,涉及海洋光学、激光技术、微弱信号检测技术、计算机技术等诸多领域。还有一些重要问题本文并未涉及,如光学系统优化设计技术、信号处理技术、目标识别技术等。总之水下激光探测技术是一个系统工程,它不但依赖于相应的器件性能,而且依赖于系统的整体设计,只有进一步提高激光器的发射功率、探测器接收灵敏度、增强目标识别能力以及减小系统的体积、重量和功耗,才能使水下激光探测技术走向实用化。
参考文献
[1]赵远,张宇著.光电信号检测原理与技术[M ].北京:机
械工业出版社,2005
[2]徐启阳,杨坤涛著.蓝绿激光雷达海洋探测[M ].北京:
国防工业出版社,2002
[3]潘曙光,邓甲昊,裘之亮水下激光引信探测环境特性
分析[]探测与控制学报,,()
[]黄勇,邓甲昊水下激光引信探测及距离选通技术研究
[J ].红外与激光工程,2007,36(增刊)
[5]杨华勇,梁永辉著.机载蓝绿激光水下目标探测技术的
现状及前景[J ].激光技术与应用,2003,(12)
[6]钱惟贤,柏连发.基于频域的激光水下传输后向散射理
论分析[J ].红外与激光工程,2006,8
[7]李丽,高稚允.水下距离选通成像系统后向散射光的计
算[J ].北京理工大学学报,2003,23(4)
[8]袁易全.国外水中目标激光探测技术概述[J ].声学与
电子工程,1996,(4)
[9]冯包根.蓝绿激光水下军事应用研究[J ].舰船电子工
程,1999,(3)
[10]李源慧,钟晓春,杨超.水下激光目标探测及其发展
[J ].光通信技术,2008,(6)
[11]孔捷,张保民.激光水下成像技术及其进展[J ].光电
子技术,2006,26(2)
[12]付殿岭,李健.大功率LD 泵浦被动调Q Nd:Y VO4/KTP
倍频绿光激光器的研究[J ].青岛大学学报,2005,18(4)
[13]潘曙光.水下激光引信探测技术研究[D ].北京理工大
学博士学位论文,2005
[14]Ant h o ny D.G leckler ,Gregor y J.Fetze r.Multipurpose
underwate r imaging and ranging ca mer a forlow 2visibil 2ity MineCo untermeasure (MCM)missions.April 1999[15]Duo 2M m He ,G erald G L See t.Laser gated 2ranging
f [6]M K ,G ff U y 2
.J .20072914.o r un de rwa te r ro bo t visio n in tu rbid water s.20021ar k u shina eo H eberle.n der water la ser s s te m.2002
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论