2. 海岛(礁)测绘技术国家测绘地理信息局重点实验室,青岛市前湾港路579号,266590
由于船载水陆一体化测量系统的多数据源特性,测量数据管理一直是系统集成的难点,缺乏有效的一体化测量数据实时存储方案。现阶段多采用水上、水下数据单独存储的方法,数据集成度不够高,存在数据时间同步问题。水上数据存储多采用RXO、LAS等格式[1-3],水下数据存储通常采用XTF、ALL、UNB格式[4-6]。随着多维遥感数据时空谱一体化存储方法的发展,长时间序列遥感影像的文件离散问题已经解决,实现了时空谱一体化数据的高效处理与分析[7]。另外,通过GIS数据与制图数据的一体化数据存储,能够实现地理信息的获取实时化、处理自动化、传输网络化[8]。因此,系统的高集成需要配套的测量数据集成,以保证数据的组织管理[9]。
多源数据存储是多传感器集成的关键环节[10]。不同的传感器具有特定的数据存储格式,对一体化测量系统原始数据的读取及使用造成不便。同时,需要考虑存储效率、时间同步、数据质量等问题。因此,船载水陆一体化测量系统亟需自主设计一套船载多传感器一体化测量数据存储格式,用以实时存储水上、水下地形数据,实现系统高度集成。
1 一体化测量数据实时存储原理一体化测量数据实时存储方法能够将三维激光扫描仪采集的水上数据、多波束测深仪采集的水下数据以及GNSS/INS采集的位置姿态数据融为一体,方便后续数据处理,具体存储方法如图 1所示。
一体化测量数据存储方法的优点主要为:
1) 存储数据的高度集成。以自主设计的数据存储格式实现一体化测量数据实时存储,既保存了外业采集数据,又保证了数据的完整性和统一性,能有效提高数据存储效率。
2) 高精度时间同步控制。本文提出了基于单片机开发板的时间同步方法,可以实现μs级的时间同步精度,从而获得高精度的一体化测量数据,满足后期数据融合对时间同步实时性的要求。
3) 实时存储高效化。采用内存池技术,一方面防止数据丢失,另一方面避免由于内存的重复申请和释放导致内存碎片过多而造成系统性能下降,综合考虑了物理内存的大小以及线程的启动周期。
2 一体化实时存储关键技术 2.1 一体化存储格式设计一体化存储格式是系统从数据采集到内业处理的重要环节。合理的一体化存储格式能够有效解决数据冗余、离散等一系列问题,实现多源数据的实时整合,为船载水陆一体化测量提供科学的数据存储技术方案。
自主设计的一体化存储格式遵循格式清晰、内容完整、易于存储、预留数据接口的原则,包括公共文件头和点数据记录区两个部分[11-12],具体格式结构如图 2所示。
1) 公共文件头区。公共文件头区用来记录测量系统的基本信息,如版本号、传感器型号、文件创建日期等,同时记录船载多传感器之间的相对位置关系。这些相对关系用于表达多波束测深仪、三维激光扫描仪、GNSS相对于惯性测量单元的位置,从而确定测量时各传感器中心在地理坐标系下的位置和姿态信息,用于后续空间配准。
2) 点数据记录区。点数据记录区记录了测量系统采集的水上、水下多源数据,按数据类别分为水下多波束测深数据包、水下侧扫数据包、水柱数据包、水上扫描仪必选数据包、水上扫描仪扩展数据包、水上扫描仪波形数据包。其中,水下多波束测深数据和水上扫描仪必选数据是外业采集必保存区域,用以提供地形点常规测量信息,存储了数据包大小、时间、水深数据、三维坐标、扫描距离、水平角度、垂直角度、反射强度和反射率等。剩余4项数据包为可选部分,可以根据测量需求选择性保存。下面以测深数据包为例(表 1)进行说明。
测深数据包中包括的信息需要考虑到多探头以及多条带情况下的数据存储,对于每ping(一个发射接收周期)的测深数据记录,需要考虑测深时波束间隔为等角模式还是等距模式的情况。基于这些考虑,设计的格式将按不同的情况选择不同的标识,比如当测深使用等角模式时使用“EA”格式存储,此时参考R2Sonic2024多波束测深仪原始数据传输格式,只记录第一个与最后一个的波束角度,然后给出波束角度差就可将等角模式下的角度数据完整记录下来。在实现一体化测量数据存储的前提下,可兼容具有多条带的多波束测深系统如EM950,其一次得到两个条带的测深数据;也可兼容具有多扇区的多波束系统如EM302,其可产生分布于两个条带中的8个扇区;还可兼容多个探头的情况,如R2Sonic2024可同时实现使用两个换能器探头进行外业采集。
2.2 多线程网络通信考虑到数据存储过程中数据量巨大,若数据传输仅采用单一线程,势必会影响显控界面的响应速度[13]。采用多线程网络通信方法解决此问题,如图 3所示。
将整个实时存储部分分为监控系统和采集系统。监控系统包括各传感器(三维激光扫描仪、多波束测深仪及GNSS/INS)监控端(即TCP客户端),采集系统包括各传感器采集端(即TCP服务器端)和数据存储模块。监控端通过与采集端建立通信连接,发送控制命令,采集端分别与相应监控端和传感器建立通信连接,接收监控端发送的控制命令和各传感器传输的原始数据,并将反馈信息发送给监控端。
在设计通信报文协议的基础上,建立主线程后,同时构建3个子线程,分别对应多波束测深仪、激光扫描仪、GNSS/INS。主线程主要负责下行数据(控制命令、参数设置)的通信传输,3个子线程分别用于接收上行数据(多传感器原始数据、反馈信息),并将实时数据经信号槽机制传输至采集系统中的数据存储模块。
2.3 时间同步控制时间同步控制的作用是为系统中的激光扫描仪、多波束测深仪等多传感器提供相应的时间同步信号,并记录相应的时间,为一体化测量数据实时存储提供统一的时间同步基准[14]。其中,时间同步控制基准与GNSS时间同步。时间同步控制模块主要由主控芯片、电源模块、RTC模块、存储模块、以太网PHY接口模块、主控时钟模块、EEPROM模块以及传感器接口等几部分组成,如图 4所示。
GNSS/INS组合导航系统能够提供载体实时位置和姿态信息;系统采集使用的多波束测深仪本身具有时间同步控制器,然而实时存储过程中的三维激光扫描仪,其时间同步功能为选配模块,成本较高,因此研究了一种基于单片机的时间同步方法。通过GNSS脉冲与网络通信相结合实现时间同步,该同步方法能够满足实时存储对时间同步实时性和稳定性的要求,取得高质量的实时数据匹配效果,实现流程如图 5所示。
具体方法实现为:
1) 同步板硬件集成。将Arduino Ethernet插在Arduino Mega 2560开发板上,构成时间同步模块,通过指定管脚分别连接GNSS/INS中的GNSS接收机接收脉冲和激光扫描仪发送脉冲。
2) 将步骤1)组成的同步板(时间同步模块)与GNSS接收机连接,接收GNSS脉冲。
3) 同步板借助Arduino Ethernet与GNSS接收机进行TCP/IP网络通信,接收GNSS接收机发送的GNSS报文。GNSS脉冲每秒产生一次,与GNSS报文同时到达同步板,同步板内部建立一个时钟系统,以解析出的第一个UTC时间为初始时间,内部时钟开始运行。
4) 同步板需要对脉冲是否异常进行检查。同步板内部规定,若在1.2 s内没有接收到GNSS脉冲视为脉冲出现异常。同时,根据不同情况执行不同操作。
① 脉冲正常。脉冲正常即同步板在正常的时间内接收到GNSS的脉冲,接收到脉冲后对这一时刻的报文进行检查并解析,得出此时的UTC时间。同步板与三维激光扫描仪的采集端进行TCP/IP网络通信,把解析出的UTC时间信息通过网络通信发送给三维激光扫描仪的采集端。同时,通过同步板指定管脚的高低电平变化产生脉冲,即管脚初始电平置为高电平,发送给三维激光扫描仪的采集端时间信息后管脚电平置为低电平,并将此脉冲发送给激光扫描仪。
② 脉冲异常。脉冲异常即同步板在距离接收到上一个脉冲1.2 s内没有收到GNSS脉冲,同步板会把此时的内部时钟的时间作为这一秒应该接收到的UTC时间,并加上相对应的序号后通过网络通信发送给三维激光扫描仪的采集端,再运用和脉冲正常时相同的方法产生内部脉冲,发送给三维激光扫描仪。
时间同步板对激光扫描仪的采集端发送时间信息的同时,将此时间信息(UTC整秒)实时存储在同步板上的SD卡中[15]。
5) 对于不具备时间同步控制器的三维激光扫描仪,其本身采用内部时钟,三维激光扫描仪测量点只具备相对时间,即通过解析扫描线数据报文,可以得到扫描点的LineSyncTimer(扫描线开始时间)和ShotSyncTimer(扫描点距本扫描线的时间),需要在此基础上加上每秒从GNSS获取的UTC整秒数,即得到完整的扫描时间Timer。具体表达为:
$ \begin{array}{l} {\rm{Timer}} = {\rm{UTCtimer}} + {\rm{LineSyncTimer}} + \\ \;\;\;\;\;\;\;\;\;\;{\rm{ShotSyncTimer}} \end{array} $ | (1) |
无时标的多传感器数据与GNSS数据的时间配准是需要解决的突出问题。为高效实现时间匹配,本文采用内存池技术,一方面可以防止采集数据丢失;另一方面可以避免由于内存的重复申请和释放导致内存碎片过多,造成系统性能下降。
时间匹配实现过程如图 6所示。GNSS将PPS秒脉冲和GNSStime报文分别发送给扫描仪和多波束测深仪,从而得到带有时间标签的相应测量数据。同时,将PPS秒脉冲和GPGGA数据发送给INS,通过组合导航得到载体实时位置和姿态信息。然后,采用Qt库中的列表和队列类实现类似内存池的管理[16]。扫描仪测量数据和多波束测量数据分别存储到水上和水下数据内存池中(同时存储INS测量数据),待内存池中数据达到一定的阈值后,按照水上、水下实时数据的单个测量点时间遍历寻找最近点INS信息,以此来进行线性内插,获取每个测量点的姿态和位置信息,并将内插出的位置姿态信息添加到各个测量点的点位信息中,实现一一匹配和精准数据融合。
2015-06~08将该系统分别应用于青岛市薛家岛周围海域及杭州市千岛湖,实施船载多传感器一体化测量数据实时存储功能测试。其中,系统水上部分采用RIEGL VZ-1000激光扫描仪,最大扫描距离1 400 m,测量精度8 mm,垂直扫描角度30°~130°;系统水下部分采用多波束SONIC 2024,最大量程500 m,量程分辨率1.25 cm,覆盖宽度10°~160°,分为256个波束。时间同步控制模块与GNSS接收机记录的时间差如表 2所示(单位: μs)。
对上述数据进行统计分析,如表 3所示。
图 7为薛家岛码头的实验效果图。利用一体化存储的水上扫描仪数据、水下多波束测深数据及其匹配的定位定姿数据,将点云转换到地心地固坐标系下。此时,点云特征物——码头橡胶护舷呈现规则的矩形状,实现了水上、水下一体化测量的无缝拼接,表明该一体化测量数据实时存储方法具有良好的时间同步性能。
图 8为千岛湖的实验效果。通过一体化测量数据实时存储,将获得的水岸线边缘特征与测区遥感影像图结果进行比对,发现图 8中的水陆交界地带(即水岸线边缘)与影像图(图 9)中的锯齿状边界相吻合,说明通过一体化测量数据实时存储,能够获得高质量的点云数据,准确提取水岸线边缘特征。
本存储方法测试得出,系统采集的多源数据能够保证0.378 μs标准差,1.297 μs均值(由于RS232通信中传输速率的影响,秒脉冲的前缘与通过串口读出报文有相应的时间延迟)的时间同步,数据存储及时、完整。经数据后处理能够准确、高效地反映所测地形,满足船载综合测量系统对于数据实时存储的需求。
4 结语针对船载水陆一体化测量系统数据文件离散、不易管理等问题,提出一种船载多传感器一体化测量数据实时存储方法。通过研究一体化测量数据实时存储格式设计、多线程网络通信、时间同步控制和时间匹配等关键技术,最终实现一体化测量数据的实时存储。实验结果表明,本文方法能够实现多源数据0.378 μs标准差的时间同步,保证时间同步精度。数据存储过程中未出现数据丢失情况,有效保证了数据存储效率。该一体化测量数据实时存储方法应用到船载水陆一体化测量系统是切实可行的。
[1] |
宿殿鹏, 阳凡林, 石波, 等. 船载多传感器综合测量系统点云实时显示技术[J]. 海洋测绘, 2015, 35(6): 29-32 (Su Dianpeng, Yang Fanlin, Shi Bo, et al. Point Cloud Real-Time Display Technology for Shipborne Multi-Sensor Measurement System[J]. Hydrographic Surveying and Charting, 2015, 35(6): 29-32)
(0) |
[2] |
刘春, 姚银银, 吴杭彬. 机载激光扫描(LiDAR)标准数据格式(LAS)的分析与数据提取[J]. 遥感信息, 2009(4): 38-42 (Liu Chun, Yao Yinyin, Wu Hangbin. Analysis of LiDAR Standard Data Format (LAS) and Data Extraction[J]. Remote Sensing Information, 2009(4): 38-42)
(0) |
[3] |
Samberg A. An Implementation of the ASPRS LAS Standard[C]. ISPRS Workshop on Laser Scanning and SilviLaser, Espoo, 2007
(0) |
[4] |
丁维凤, 冯霞, 傅晓明, 等. 多波束XTF格式数据航向信息重写入实例[J]. 海洋通报, 2011, 30(1): 1-6 (Ding Weifeng, Feng Xia, Fu Xiaoming, et al. A Case Study for Rewriting Gyro Data in Multibeam XTF File[J]. Marine Science Bulletin, 2011, 30(1): 1-6)
(0) |
[5] |
王煜, 赵英俊, 阳凡林, 等. EM300X系列多波束ALL数据格式解析[J]. 山东科技大学学报:自然科学版, 2009, 28(5): 16-22 (Wang Yu, Zhao Yingjun, Yang Fanlin, et al. The Analytics of ALL Data Format with EM300X Series Multi-Beam[J]. Journal of Shandong University of Science and Technology(Natural Science), 2009, 28(5): 16-22)
(0) |
[6] |
李军, 吴自银, 尚继宏, 等. 多波束UNB数据文件格式的解析及应用[J]. 海洋学研究, 2007, 25(2): 74-82 (Li Jun, Wu Ziyin, Shang Jihong, et al. Analyzing the File Format of Multi-Beam UNB and Its Application[J]. Journal of Marine Sciences, 2007, 25(2): 74-82)
(0) |
[7] |
张立福, 陈浩, 孙雪剑, 等. 多维遥感数据时空谱一体化存储结构设计[J]. 遥感学报, 2017, 21(1): 62-73 (Zhang Lifu, Chen Hao, Sun Xuejian, et al. Designing Spatial-Temporal-Spectral Integrated Storage Structure of Multi-Dimensional Remote Sensing Images[J]. Journal of Remote Sensing, 2017, 21(1): 62-73)
(0) |
[8] |
王蓉, 何红梅, 严晓斌. GIS数据与制图数据一体化方法研究与实现[J]. 测绘与空间地理信息, 2014, 37(9): 142-143 (Wang Rong, He Hongmei, Yan Xiaobin. Study and Realization of GIS Data and Cartographic Data Integration[J]. Geomatics & Spatial Information Technology, 2014, 37(9): 142-143)
(0) |
[9] |
李清泉, 杨必胜, 郑年波. 时空一体化GIS-T数据模型与应用方法[J]. 武汉大学学报:信息科学版, 2007, 31(11): 1034-1040 (Li Qingquan, Yang Bisheng, Zheng Nianbo. An Integrated Spatio-Temporal Data Model for GIS-Transporation and Related Applications[J]. Geomatics and Information Science of Wuhan University, 2007, 31(11): 1034-1040)
(0) |
[10] |
李芳, 邬群勇, 汪小钦. 基于GeoRaster的多源遥感数据存储研究[J]. 测绘科学, 2009, 34(3): 149-151 (Li Fang, Wu Qunyong, Wang Xiaoqin. Storage of Multi-Source Remote Sensing Data Based on GeoRaster[J]. Science of Surveying and Mapping, 2009, 34(3): 149-151)
(0) |
[11] |
冯成凯. 多波束测深系统数据存储格式设计与波束归位显示[D]. 青岛: 山东科技大学, 2015 (Feng Chengkai. The Design of Sounding Data Storage Format and the Beam Point Positioning and Display for Multibeam Sounding System[D]. Qingdao: Shandong University of Science and Technology, 2015)
(0) |
[12] |
宿殿鹏. 船载激光扫描系统数据管理与显控软件研发[D]. 青岛: 山东科技大学, 2015 (Su Dianpeng. Research on Data Management and Display and Control Software of Shipborne Laser Scanning System[D]. Qingdao: Shandong University of Science and Technology, 2015)
(0) |
[13] |
苏程. 深水多波束测深侧扫声纳线控系统研究[D]. 杭州: 浙江大学, 2012 (Su Cheng. Research on Display and Control System for Deep Water Multi-Beam Bathymetric SideScan Sonar[D]. Hangzhou: Zhejiang University, 2012)
(0) |
[14] |
刘钊, 戴斌, 刘大学. 多传感器信息融合中时间同步方法的研究[J]. 计算机仿真, 2009, 26(6): 124-127 (Liu Zhao, Dai Bin, Liu Daxue. A Time Synchronization Approach for Multi-Sensor Fusion[J]. Computer Simulation, 2009, 26(6): 124-127)
(0) |
[15] |
索春宝, 石波, 杨东清. 船载岛礁综合测量系统多传感器时间同步[J]. 全球定位系统, 2014, 39(3): 56-59 (Suo Chunbao, Shi Bo, Yang Dongqing. Multi-Sensor Time Synchronization of Shipborne Island Comprehensive Measurement System[J]. GNSS World of China, 2014, 39(3): 56-59)
(0) |
[16] |
Blanchette J, Summerfield M. C++ GUI Qt4[M]. 北京: 电子工业出版社, 2010 (Blanchette J, Summerfield M. C++ GUI Qt4[M]. Beijing: Publishing House of Electronics Industry, 2010)
(0) |
2. Key Laboratory of Surveying and Mapping Technology on Island and Reef, NASMG, 579 Qianwangang Road, Qingdao 266590, China