船载多传感器一体化测量数据实时存储方法转让专利

申请号 : CN201510727362.5

文献号 : CN105426121B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 阳凡林宿殿鹏冯成凯马跃石波卢秀山王明伟卜宪海

申请人 : 山东科技大学

摘要 :

本发明公开了一种船载多传感器一体化测量数据实时存储方法,属于海洋测绘技术领域,基于船载水岸线上下一体化测量系统,在研究设计一体化测量数据存储格式基础上,通过多线程网络通信、时间同步控制以及内存池技术实现船载多传感器一体化测量数据实时存储,将采集的多源数据存储到同一文件中。本发明船载多传感器一体化测量数据实时存储方法,有效提高了船载水岸线上下一体化测量系统的集成度,克服了多传感器存储效率冗余的缺陷,提高了测量数据存储性能。

权利要求 :

1.一种船载多传感器一体化测量数据实时存储方法,采用船载水岸线上下一体化测量系统,其水上部分包括三维激光扫描仪和组合导航系统,水下部分包括多波束测深仪,水上部分与水下部分通过一个平台支架固连;其中的三维激光扫描仪用于测量水上地形信息,多波束测深仪用于测量水下地形信息,组合导航系统用于为三维激光扫描仪和多波束测深仪提供定位信息、时间信息、姿态信息和航向信息;船载水岸线上下一体化测量系统还包括主控计算机和时间同步控制模块;所述时间同步控制模块,用于为一体化测量数据实时存储提供统一的时间同步基准;

所述主控计算机上建立有TCP客户端和TCP服务器端的主从关系,TCP客户端位于监控系统中,TCP服务器端位于采集系统中,TCP客户端通过和TCP服务器端进行通信连接,发送控制命令至三维激光扫描仪、多波束测深仪以及组合导航系统,三维激光扫描仪、多波束测深仪以及组合导航系统分别进行信息的采集并将采集的信息通过网络通信传输至TCP服务器端,然后通过信号槽机制传输至采集系统中的数据存储模块,按照设计的一体化测量数据存储格式进行多源数据的实时存储;

其特征在于:所述的船载多传感器一体化测量数据实时存储方法,按照如下步骤进行:

步骤1:启动采集通信线程,进行采集前的初始化设置;

步骤2:通过三维激光扫描仪、多波束测深仪以及组合导航系统分别采集水上数据、水下数据以及位置姿态数据,并分别将采集的数据信息通过网络通信传输至TCP服务器端;

步骤3:通过时间同步控制模块将传输至TCP服务器端的数据打上相对应的时间戳,然后通过信号槽机制传输至采集系统中的数据存储模块;

步骤4:确定水上数据、水下数据与位置姿态数据的匹配关系;

步骤5:设计一体化测量数据存储格式:包括公共文件头和点数据记录包;

步骤6:按照一体化测量数据存储格式进行数据实时存储,当进行点数据记录包存储时,需要根据PacketData Format id的特定值进行特定存储:当PacketData Format id值为1时,记录水下测深数据;当PacketData Format id值为4时,记录水上扫描仪必选数据。

2.根据权利要求1所述的船载多传感器一体化测量数据实时存储方法,其特征在于:所述时间同步控制模块包括主控芯片、电源模块、RTC模块、存储模块、以太网PHY接口模块、主控时钟模块以及EEPROM模块,所述主控芯片分别与电源模块、RTC模块、存储模块、以太网PHY接口模块、主控时钟模块以及EEPROM模块通过线路连接;所述主控芯片分别与三维激光扫描仪、多波束测深仪以及组合导航系统中的接收机通过线路连接。

3.根据权利要求1所述的船载多传感器一体化测量数据实时存储方法,其特征在于:在步骤6中,当PacketData Format id值为2时,记录水下侧扫数据;当PacketData Format id值为3时,记录水柱数据;当PacketData Format id值为5时,记录水上扫描仪扩展数据;当PacketData Format id值为6时,记录水上扫描仪波形数据。

说明书 :

船载多传感器一体化测量数据实时存储方法

技术领域

[0001] 本发明涉及海洋测绘技术领域,具体涉及一种船载多传感器一体化测量数据实时存储方法。

背景技术

[0002] 船载水岸线上下一体化测量系统集成了三维激光扫描仪、多波束测深仪、GNSS(全球导航卫星系统)、IMU(惯性测量单元)、传感器稳定平台等传感器,采用非接触式的测量方式同步获取水上水下地形,在海岸带和海岛礁测绘中有巨大的应用价值。但对于其测量数据管理,目前缺乏有效的船载多传感器一体化测量数据实时存储方法,现阶段都是采用水上水下数据单独保存的方法,数据集成度不够高,存在着数据安全隐患。就目前情况来说,水下数据存储通常采用XTF、ALL、PS格式,水上数据存储为rxp、las等格式。系统的高集成需要配套的测量数据集成,以便于保证数据的组织管理。
[0003] 多源数据存储是多传感器集成方法的关键环节。不同的传感器一般具有不同的数据存储格式,这会对一体化测量系统原始数据的读取及使用造成不便。基于以上考虑,亟需自主设计一套船载多传感器一体化测量数据存储格式,用以同时存储水上水下地形数据。
[0004] 因此,有必要对船载多传感器一体化测量数据实时存储方法进行研究与设计,以实现船载水岸线上下一体化测量系统高度集成。

发明内容

[0005] 针对现有技术中存在的上述技术问题,本发明提出了一种船载多传感器一体化测量数据实时存储方法,设计合理,克服了现有技术的不足,提高了船载水岸线上下一体化测量效率。
[0006] 为了实现上述目的,本发明采用如下技术方案:
[0007] 一种船载多传感器一体化测量数据实时存储方法,采用船载水岸线上下一体化测量系统,其水上部分包括三维激光扫描仪和组合导航系统,水下部分包括多波束测深仪,水上部分与水下部分通过一个平台支架固连;其中的三维激光扫描仪用于测量水上地形信息,多波束测深仪用于测量水下地形信息,组合导航系统用于为激光扫描仪和多波束测深仪提供定位信息、时间信息、姿态信息和航向信息;水岸线上下一体化测量系统还包括主控计算机和时间同步控制模块辅助设备;所述时间同步控制模块,用于为后期数据处理提供统一的时间同步基准;
[0008] 所述主控计算机上建立有TCP客户端和TCP服务器端的主从关系,TCP客户端位于监控系统中,TCP服务器端位于采集系统中,TCP客户端通过和TCP服务器端进行通信连接,发送控制命令至三维激光扫描仪、多波束测深仪以及组合导航系统,三维激光扫描仪、多波束测深仪以及组合导航系统分别进行信息的采集并将采集的信息通过网络通信传输至TCP服务器端,然后通过信号槽机制传输至采集系统中的数据存储模块,按照设计的一体化测量数据存储格式进行多源数据的实时存储;
[0009] 所述的船载多传感器一体化测量数据实时存储方法,按照如下步骤进行:
[0010] 步骤1:启动采集通信线程,进行采集前的初始化设置;
[0011] 步骤2:通过三维激光扫描仪、多波束测深仪以及组合导航系统分别采集水上数据、水下数据以及位置姿态数据,并分别将采集的数据信息通过网络通信传输至TCP服务器端;
[0012] 步骤3:通过时间同步控制模块将传输至TCP服务器端的数据打上相对应的时间戳,然后通过信号槽机制传输至采集系统中的数据存储模块;
[0013] 步骤4:确定水上数据、水下数据与位置姿态数据的匹配关系;
[0014] 步骤5:设计一体化测量数据存储格式:包括公共文件头和点数据记录包;
[0015] 步骤6:按照一体化测量数据存储格式进行数据实时存储,当进行点数据记录包存储时,需要根据PacketData Format id的特定值进行特定存储:当PacketData Format id值为1时,记录水下测深数据;当PacketData Format id值为4时,记录水上扫描仪必选数据;水下测深数据和水上扫描仪必选数据是一体化测量数据存储过程中必须保存的数据信息,同时还可以根据测量需求选择性保存水下侧扫数据、水柱数据和水上扫描仪扩展数据、扫描仪波形数据。
[0016] 优选地,所述时间同步控制模块包括主控芯片、电源模块、RTC模块、存储模块、以太网PHY接口模块、主控时钟模块以及EEPROM模块,所述主控芯片分别与电源模块、RTC模块、存储模块、以太网PHY接口模块、主控时钟模块以及EEPROM模块通过线路连接;所述主控芯片分别与三维激光扫描仪、多波束测深仪以及组合导航系统中的接收机通过线路连接。
[0017] 优选地,在步骤6中,当PacketData Format id值为2时,记录水下侧扫数据;当PacketData Format id值为3时,记录水柱数据;当PacketData Format id值为5时,记录水上扫描仪扩展数据;当PacketData Format id值为6时,记录水上扫描仪波形数据。
[0018] 船载多传感器一体化测量数据实时存储方法,其关键技术包括一体化测量数据存储格式以及一体化测量数据实时存储方法。
[0019] 一、一体化测量数据存储格式
[0020] 遵循格式清晰、内容完整、易于存储、预留数据接口的原则,船载多传感器一体化测量数据存储格式包括公共文件头和点数据记录包两部分。公共文件头对一体化测量数据存储文件整体信息进行描述,点数据记录包记录了测量的点位等具体信息,其记录内容在一体化测量数据存储文件中是可选的。
[0021] (1)公共文件头
[0022] 公共文件头区用来记录集成的船载水岸线上下一体化测量系统的基本信息,如版本号、传感器型号、文件创建日期等信息,同时记录船载多传感器之间的相对位置关系,这些相对关系用于表达多波束测深仪、三维激光扫描仪、组合导航系统中的GNSS相对于惯导系统的位置,从而确定出各传感器中心工作时在地理坐标系下的位置和姿态信息,用于后续的空间配准。考虑到集成方法的优化,在数据格式设计时添加扩展项。
[0023] (2)点数据记录包
[0024] 点数据记录包记录了水下多波束测深仪采集的测深数据、侧扫数据、水柱数据和激光扫描仪采集的原始点云数据,以及GNSS/IMU组合导航系统实时解算获得的位置、姿态等数据。为提高系统存储效率,根据用户的不同需求,将点数据记录包分为基本数据区、扩展数据区。
[0025] 基本数据区是外业采集必保存区域,用以提供地形点常规测量信息,存储了数据包大小、时间、水深数据、三维坐标、扫描距离、水平角度、垂直角度、反射强度和反射率;扩展数据区是可选区域,如水下多波束的侧扫数据、水柱数据和水上扫描仪的波形数据。具体格式设计包括水下多波束测深数据包、水下侧扫数据包、水柱数据包、水上扫描仪必选数据包、水上扫描仪扩展数据包、水上扫描仪波形数据包。
[0026] 二、一体化测量数据实时存储方法
[0027] 一体化测量数据的实时存储过程为:通过三维激光扫描仪及多波束测深仪进行水上、水下地形信息的采集及存储,同时通过GNSS/IMU组合导航系统提供位置、姿态信息。为保证多源数据的联系,多传感器之间的空间位置关系通过室内标定获得,实时存储时以配置文件的形式将其写入到一体化测量数据存储文件中。其具体实施步骤如下:
[0028] (1)多线程网络通信
[0029] 因存储端程序既要接收传感器发送来的数据,又要与监控端进行交互。为保证数据采集的实时和准确性,采集中采用多线程技术。将数据的采集存储和状态信息的发送、用户指令的响应放在不同的线程中。
[0030] 在编写多线程程序时,兼顾资源的线程安全性和系统效率,对可能同时被多个线程修改的资源,都使用互斥锁进行加锁和解锁,以保证整个系统的稳定和数据的准确。
[0031] (2)时间同步控制
[0032] 时间同步控制是一体化测量数据实时存储的首要前提,如果时间同步没有控制好,会导致后续点云显示变形。因此,船载多传感器一体化测量数据的实时存储过程中,应该具备高精度时间同步控制机制。
[0033] 时间同步控制的作用是为一体化测量数据实时存储中激光扫描仪、多波束测深仪等传感器提供相应的时间同步信号,并记录相应的时间,为一体化测量数据实时存储提供统一的时间同步基准。其中,时间同步控制基准与GNSS时间同步,时间同步控制模块主要由主控芯片、电源模块、RTC模块、存储模块、以太网PHY接口模块、主控时钟模块、EEPROM模块以及传感器接口等几部分组成。
[0034] (3)一体化测量数据实时存储的内存池技术
[0035] 考虑使用内存池完成对多传感器实时存储数据的缓存,一方面防止数据丢失,另一方面避免由于内存的重复申请和释放导致内存碎片过多而造成系统性能下降。本一体化测量数据实时存储方法采用Qt库中的列表和队列类实现了类似内存池的管理,由各子线程负责接收多波束测深仪、三维激光扫描仪以及GNSS/IMU组合导航系统的实时数据,并将其缓存放入内存池中,达到一定量时再将数据写入到存储器中。其中,关键过程在于实现实时采集的水上水下数据与GNSS/IMU组合导航系统提供实时位置姿态信息的一一匹配。
[0036] 本发明所带来的有益技术效果:
[0037] 1)存储数据的高度集成,以自主设计的数据存储格式实现船载多传感器一体化测量数据实时存储,既保存了完整的外业采集数据,又保证了数据的完整性和统一性,有效地提高了数据存储效率。
[0038] 2)高精度时间同步控制,提出的基于单片机开发板的时间同步方法,可以实现0.489μs(每秒的标准差为0.489μs)的时间同步,从而获得高质量精度的一体化测量数据,以满足后期数据融合对时间同步实时性和鲁棒性的要求。
[0039] 3)实时存储高效化,采用内存池技术,一方面防止数据丢失,另一发面避免由于内存的重复申请和释放导致内存碎片过多而造成系统性能下降,综合考虑了物理内存的大小以及线程的休眠唤醒周期。

附图说明

[0040] 图1为示出的本发明船载多传感器一体化测量数据存储格式设计。
[0041] 图2为示出的本发明中公共文件头格式设计。
[0042] 图3为示出的本发明中水下多波束测深数据包格式设计。
[0043] 图4为示出的本发明中水下侧扫数据包格式设计。
[0044] 图5为示出的本发明中水柱数据包格式设计。
[0045] 图6为示出的本发明中水上扫描仪必选数据包格式设计。
[0046] 图7为示出的本发明中水上扫描仪扩展数据包格式设计。
[0047] 图8为示出的本发明中水上扫描仪波形数据包格式设计。
[0048] 图9为示出的本发明中多线程网络通信设计。
[0049] 图10为本发明中时间同步控制模块的硬件原理图。
[0050] 图11为本发明中时间同步控制模块的流程框图。
[0051] 图12为本发明船载多传感器一体化测量数据实时存储方法的流程框图。

具体实施方式

[0052] 下面结合附图以及具体实施方式对本发明作进一步详细说明:
[0053] 一、一体化测量数据存储格式
[0054] 一体化测量数据存储格式包括公共文件头和点数据记录包两部分(如图1所示)。公共文件头对系统一体化测量数据存储文件整体信息进行描述,点数据记录包记录了测量的点位等具体信息,其记录内容在一体化测量数据存储文件中是可选的。
[0055] (1)公共文件头
[0056] 公共文件头区(如图2所示)用来记录集成的船载水岸线上下一体化测量系统的基本信息,如版本号、传感器型号、文件创建日期等信息,以及显控软件在文件记录时所选工程对应的多传感器相对位置关系,这些相对关系用于表达多波束测深仪、三维激光扫描仪、GNSS相对于惯导系统的位置,从而确定出各传感器中心工作时在地理坐标系下的位置和姿态信息,用于后续的空间配准。考虑到集成方法的优化,在数据格式设计时添加扩展项。
[0057] ①Header Size:头文件大小;
[0058] ②Version Major、Version Minor:主版本号和副版本号,以便于一体化测量数据存储格式的优化更新;
[0059] ③File Creation Time:文件创建时间;
[0060] ④Generating System:采集系统,本一体化测量数据存储格式是基于船载水岸线上下一体化测量系统设计的;
[0061] ⑤Laser scanner Sensor:水上数据采集所选用三维激光扫描仪传感器型号;
[0062] ⑥LaserCalibration X、LaserCalibration Y、LaserCalibration Z:水上三维激光扫描仪相对于惯导中心xyz轴三方向的偏移量,用于后处理时的数据融合,此三量通过系统标定获得;
[0063] ⑦LaserCalibrationα、LaserCalibrationβ、LaserCalibrationγ:水上三维激光扫描仪坐标系相对于惯导坐标系的旋转欧勒角α、β、γ,此三量亦通过系统标定获得;
[0064] ⑧MultiBeam Sensor:记录水下数据采集所选用多波束测深仪传感器型号;
[0065] ⑨RxMountTilt:为多波束换能器朝向角度,单位为弧度;
[0066] ⑩HeadNumber:探头个数,一般为单探头,也可以为双探头或多探头测量模式;
[0067] SwathNumber:条带个数;
[0068] DetaGNSSX、DetaGNSSY、DetaGNSSZ:GNSS相对于惯导中心xyz三轴方向偏移量;
[0069] HeadCounter:探头序号(探头个数大于1,则重复之后数据n次,n为探头数,至Head end);
[0070] DetaX、DetaY、DetaZ:多波束换能器相对于惯导中心xyz三轴方向偏移;
[0071] Draught:静态吃水。
[0072] (2)点数据记录包
[0073] 点数据记录包记录了水下多波束测深仪采集的测深数据、侧扫数据、水柱数据和三维激光扫描仪采集的原始点云数据,以及GNSS/IMU实时解算获得的位置、姿态等数据。为提高系统存储效率,根据用户的不同需求,将点数据记录包分为基本数据区、扩展数据区。
[0074] 基本数据区是外业采集必保存区域,用以提供地形点常规测量信息,存储了数据包大小、时间、水深数据、三维坐标、扫描距离、水平角度、垂直角度、反射强度和反射率等数据信息;扩展数据区是可选区域,包括水下多波束的侧扫数据、水柱数据和水上扫描仪的扩展数据、波形数据。具体格式设计包括水下多波束测深数据包(如图3所示)、水下侧扫数据包(如图4所示)、水柱数据包(如图5所示)、水上扫描仪必选数据包(如图6所示)、水上扫描仪扩展数据包(如图7所示)、水上扫描仪波形数据包(如图8所示)。
[0075] 以测深数据为例,测深数据中包括的信息需要考虑到多探头以及多条带情况下的数据存储,对于每ping(一个发射接收周期)的测深数据记录,需要考虑测深时波束间隔为等角模式还是等距模式的情况。基于这些考虑,设计的格式将区分出各种情况,进行判断后按不同的情况进行选择不同的标识,比如当测深使用等角模式时则使用‘EA’格式存储,此时参考Sonic2024多波束测深仪原始数据传输格式,只记录第一个与最后一个的波束角度,然后给出波束角度差就可将等角模式下的角度数据完整记录下来。在实现一体化测量数据存储的前提下,可兼容具有多条带的多波束测深系统如EM950,其一次得到两个条带的测深数据;也可兼容具有多扇区的多波束系统如EM302,其可产生分布于两个条带中的8个扇区;还可兼容多个探头的情况,如R2Sonic2024可实现同时使用两个换能器探头进行外业采集。
[0076] 实时存储时,考虑到采集数据的安全性,在进行数据管理时设计保存两套数据——既在主控计算机中实时保存,也在传感器内存中保存。主控计算机中得到的数据包括了内插得到的测量点的瞬时位置和姿态信息,可以直接参与后处理计算。同时,为了提高测量精度,可以利用GNSS/IMU保存的原始数据进行组合导航后处理,得到更加精确的位置和姿态信息,然后与测量点信息一同参与数据后处理计算。
[0077] 二、一体化测量数据实时存储方法
[0078] 一体化测量数据实时存储过程为:通过三维激光扫描仪及多波束测深仪进行水上、水下地形信息的采集及存储,同时通过GNSS/IMU提供位置、姿态信息。为保证多源数据的联系,多传感器之间的空间位置关系通过室内标定获得,实时存储时以配置文件的形式将其写入到一体化测量数据存储文件中。其具体实施步骤如下:
[0079] (1)多线程网络通信
[0080] 考虑到一体化测量数据实时存储采用的传感器较多,为了更高效地实现一体化存储,将系统中涉及的数据分为上行数据和下行数据。将三维激光扫描仪、多波束测深仪及GNSS/IMU发送至采集端需要保存的数据称之为上行数据,包括多波束数据、激光数据、GNSS数据、惯导数据、监控反馈信息数据等。将监控系统经采集系统发送至三维激光扫描仪、多波束测深仪及GNSS/IMU的控制命令、参数设置等相关数据称之为下行数据。
[0081] 同时考虑到整个采集过程上行数据量巨大,若整个数据传输仅采用单一线程,势必会影响显控界面的响应速度。针对此问题,采用多线程网络通信方法来解决,如图9所示。
[0082] 其具体的步骤如下:
[0083] 步骤1:将整个实时存储部分分为监控系统和采集系统。监控系统包括各传感器(三维激光扫描仪、多波束测深仪及GNSS/IMU)监控端(即TCP客户端),采集系统包括各传感器采集端(即TCP服务器端)和数据存储模块;监控端通过与采集端进行通信连接,发送控制命令(下行数据);采集端分别与相应监控端和传感器建立通信连接,接收监控端发送的控制命令(下行数据)和各传感器传输的采集数据信息(上行数据),并将反馈信息发送给监控端;
[0084] 步骤2:设计通信报文协议;
[0085] 步骤3:在建立主线程后,同时构建三个子线程,分别对应多波束测深仪、激光扫描仪、GNSS/IMU;主线程主要负责下行数据的通讯传输,三个子线程分别用于接收原始数据等上行数据,并将实时数据经信号槽机制传输至采集系统中的数据存储模块。
[0086] (2)时间同步控制
[0087] 时间同步控制是一体化测量数据实时存储的首要前提,如果时间同步没有控制好,会导致后续点云显示变形。因此,船载多传感器一体化测量数据的实时存储过程中,应该具备高精度的时间同步控制机制。
[0088] 时间同步控制的作用是为一体化测量数据实时存储中三维激光扫描仪、多波束测深仪等传感器提供相应的时间同步信号,并记录相应的时间,为一体化测量数据实时存储提供统一的时间同步基准。其中,时间同步控制基准与GNSS时间同步,时间同步控制模块主要由主控芯片、电源模块、RTC模块、存储模块、以太网PHY接口模块、主控时钟模块、EEPROM模块以及传感器接口等几部分组成(如图10所示)。
[0089] 由于系统采集使用的多波束测深仪,其本身具有时间同步控制器,多波束测深仪采集控制端与GNSS接收机连接,就可以实现与GNSS时间同步。而一体化测量数据实时存储过程中的三维激光扫描仪,时间同步功能为选配模块,成本较高,因此提出了一种新的基于单片机的时间同步方法。通过GNSS脉冲与网络通信相结合实现时间同步,该同步方法能够满足一体化测量数据实时存储对时间同步实时性和稳定性的要求,取得高质量的实时数据匹配效果,该方法实现简单并且同步误差较小。流程图如图11所示:
[0090] 步骤1:同步版硬件集成:Arduino Mega2560是采用USB接口的核心电路板,处理器核心是ATmega2560;
[0091] Arduino Ethernet是Arduino以太网接口版本,采用了Wiznet公司的Ethernet接口,Arduino Ethernet的处理器核心是ATmega328;
[0092] 将Arduino Ethernet插在Arduino Mega2560开发板上,构成时间同步模块,其中管脚2连接GNSS/IMU中的GNSS接收机接收脉冲,管脚13连接激光扫描仪发送脉冲,UDE为网线接口;
[0093] 步骤2:将步骤1组成的同步板(时间同步模块)与GNSS接收机连接接收GNSS脉冲;
[0094] 步骤3:同步板借助Arduino Ethernet与GNSS接收机进行TCP/IP网络通信,接收GNSS接收机发送过来的GNSS报文。GNSS脉冲每秒产生一次,与GNSS报文同时到达同步板,同步板内部建立一个时钟系统,以解析出的第一个UTC时间为初始时间,内部时钟开始运行;
[0095] 步骤4:同步板需要对脉冲是否异常进行检查,同步板内部程序规定若在1.2s内没有接收到GNSS脉冲视为脉冲出现异常;同时,根据不同情况执行不同操作。
[0096] 步骤4.1:脉冲正常
[0097] 脉冲正常即同步板在正常的时间内接收到GNSS的脉冲,接收到脉冲后对这一时刻的报文进行检查并解析,得出此时的UTC时间。同步板与三维激光扫描仪的采集端进行TCP/IP网络通信,在解析出的UTC前面加上编号(编号从1开始,依次进行累加),把这一时间信息通过网络通信发送给三维激光扫描仪的采集端。同时,通过同步板某一指定管脚(本方法指定为管脚13)的高低电平变化产生脉冲,即管脚初始电平置为高电平,发送给三维激光扫描仪的采集端时间信息后管脚电平置为低电平,并将此脉冲发送给激光扫描仪。
[0098] 步骤4.2:脉冲异常
[0099] 脉冲异常即同步板在距离接收到上一个脉冲1.2s内没有收到GNSS脉冲,同步板会把此时的内部时钟的时间作为这一秒应该接收到的UTC时间,并在加上相对应的序号后通过网络通信发送给三维激光扫描仪的采集端,再运用和脉冲正常时相同的方法产生内部脉冲,发送给三维激光扫描仪。
[0100] 时间同步板对激光扫描仪的采集端发送时间信息的同时,将此时间信息(UTC整秒)实时存储在同步板上的SD卡中。
[0101] 步骤5:对于不具备时间同步控制器的三维激光扫描仪,其本身采用内部时钟,三维激光扫描仪测量点只具备相对时间,即通过解析扫描线数据报文,可以得到扫描点的LineSyncTimer(扫描线开始时间)和ShotSyncTimer(扫描点距本扫描线的时间),需要在此基础上加上每秒从GNSS获取的UTC整秒数即得到完整的扫描时间Timer。具体表达为:
[0102] Timer=UTCtimer+LineSyncTimer+ShotSyncTimer          (1)
[0103] (3)一体化测量数据实时存储的内存池技术
[0104] 一体化测量数据实时存储的内存池技术一方面可以防止采集数据丢失,另一方面避免由于内存的重复申请和释放导致内存碎片过多而造成系统性能下降,为水上三维激光扫描仪数据、水下多波束测深数据与GNSS/IMU的位置姿态数据的实时匹配提供了数据接口。
[0105] 船载多传感器一体化测量数据实时存储方法的具体步骤如下(如图12所示):
[0106] 步骤1:采用Qt库中的列表和队列类添加类似内存池的管理模块;
[0107] 步骤2:启动采集通信线程,进行采集前的初始化、设置(包括系统设置以及一体化测量数据实时存储所需数据类型设置)等;
[0108] 步骤3:开始采集,将各采集端从三维激光扫描仪数据、水下多波束测深仪与GNSS/IMU接收到的水上数据、水下数据以及实时位置姿态数据根据时间同步控制模块打上相对应的时间戳,并以报文的形式发送到监控端的内存池中;
[0109] 步骤4:确定水上数据、水下数据与位置姿态数据的匹配关系。在一体化测量数据存储格式中,水上数据、水下数据应该与位置姿态数据需要是一一对应,然而在采集过程中,三维激光扫描仪的扫描频率可以达到300kHz,此时有效激光点可以达到每秒钟122000个;多波束测深仪每ping可以产生256个波束,每秒可以发射几ping甚至几十ping;相比较而言,GNSS/IMU组合导航输出频率为200Hz,即每5ms输出一次位置和姿态信息,实时数据并不是一一对应的。
[0110] 待内存池中数据达到一定的阈值后,针对水上水下实时数据的单个测量点时间遍历寻找最近点IMU信息,以此来进行线性内插获取每个测量点的姿态和位置信息,并将内插出的位置姿态信息添加到各个测量点的点位信息中。
[0111] 步骤5:设计一体化测量数据存储格式:包括公共文件头和点数据记录包;
[0112] 步骤6:按照设计好的一体化测量数据存储格式进行数据存储,当进行点数据记录包存储时,需要根据PacketData Format id的特定值进行特定存储:当PacketData Format id值为1时,此时记录水下测深数据;当PacketData Format id值为2时,此时记录水下侧扫数据;当PacketData Format id值为3时,此时记录水柱数据;当PacketData Format id值为4时,此时记录水上扫描仪必选数据;当PacketData Format id值为5时,此时记录水上扫描仪扩展数据;当PacketData Format id值为6时,此时记录水上扫描仪波形数据。
[0113] 本发明船载多传感器一体化测量数据存储格式,能够将三维激光扫描仪采集的水上数据、多波束测深仪采集的水下数据以及GNSS/IMU采集的位置姿态数据融为一体,同时方便后期数据提取融合。在此一体化测量数据存储格式基础上,通过多线程网络通信、时间同步控制以及内存池技术实现一体化测量数据的实时存储,并通过存储器双备份对采集的一体化测量数据进行保存。
[0114] 当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。