无人船导航方法、装置、计算机设备和存储介质与流程

文档序号:16125402发布日期:2018-11-30 23:41阅读:190来源:国知局

本申请涉计算机技术领域,特别是涉及一种无人船导航方法、装置、计算机设备和存储介质。

背景技术

随着计算机技术的发展,出现了导航技术,传统的无人船导航装置主要是根据惯性测量单元和图像数据进行导航,惯性测量单元能够计算出无人船的航行位移等,由于惯性测量单元存在误差,随着无人船的航行,惯性测量单元的误差逐渐变大,导致定位出现误差,导致导航偏离原来的导航目的地,为了使得导航更为准确,增加图像数据,通过图像数据进行更为准确的定位,但是由于图像数据,但是由于图像数据容易受到航行天气等因素影响,导致定位数据依旧存在较大误差。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种提高定位精确度的无人船导航方法、装置、计算机设备和存储介质。

一种无人船导航方法,包括:

获取第一时刻和第二时刻之间的图像数据、点云数据和惯性测量单元的测量数据;

在导航地图中获取第一时刻的初始位置和第二时刻的标准位置;

根据第一时刻和第二时刻之间的图像数据、点云数据、测量数据和初始位置进行计算,得到无人船在第二时刻的预测位置;

当预测位置与标准位置不一致时,计算标准位置与预测位置的位置差,根据位置差生成控制指令,根据控制指令更新无人船的加速度、姿态和速度参数,控制指令用于指示无人船向标准位置航行。

在其中一个实施例中,生成导航地图的步骤,包括:

获取初始导航地图;

获取示教数据,示教数据包括示教图像数据集合、示教点云数据集合和示教测量数据集合,示教数据为示教过程传感器采集的数据;

将示教图像数据集合、示教点云数据集合和示教测量数据集合按照时间一致性进行数据同步;

获取示教图像数据集合中各个图像的匹配特征点,组成第一匹配特征点集合;

获取示教点云数据集合中各个点云数据的匹配特征点集合,组成第二匹配特征点集合;

根据第一匹配特征点集合、第二匹配特征点集合、示教图像数据集合、示教点云数据集合和示教测量数据集合进行计算得到目标位置信息;

将目标位置信息添加到初始导航地图,得到导航地图。

在其中一个实施例中,根据第一匹配特征点集合、第二匹配特征点集合、示教图像数据集合、示教点云数据集合和示教测量数据集合进行进行计算得到目标位置信息,包括:

根据示教图像数据集合、第一匹配特征点集合和示教测量数据集合计算得到示教图像数据集合中各个图像对应的无人船的位置信息,组成第一位置信息集合;

根据示教点云数据集合、第二匹配特征点集合和示教测量数据集合计算得到示教点云数据集合中各组点云数据对应的无人船的位置信息,组成第二位置信息集合;

对相同时间的第一位置信息和第二位置信息进行加权,得到目标位置信息。

在其中一个实施例中,第一时刻为获取第一点云数据的时间,第二时刻为获取下一点云数据的时间,根据第一时刻和第二时刻内的图像数据、点云数据、测量数据和初始位置进行计算,得到无人船在第二时刻的预测位置,包括:

从图像数据和点云数据分别获取第一时刻对应的初始图像和初始点云数据;

从测量数据中获取第一时刻对应的初始测量数据和初始测量数据的下一测量数据,根据初始测量数据和下一测量数据计算得到初始预测位移和初始预测旋转矩阵;

将下一测量数据作为初始测量数据,重复进入从测量数据中获取初始测量数据和初始测量数据的下一测量数据的步骤,更新初始预测位移和初始预测旋转矩阵;

当获取到初始图像的下一帧图像时,根据初始图像和下一帧图像计算初始图像和下一帧图像对应的无人船的图像预测位移和图像预测旋转矩阵;

根据当前时刻更新的初始预测位移、初始预测旋转矩阵、图像预测位移和图像预测旋转矩阵计算得到第一预测位移和第一预测旋转矩阵;

将下一帧图像作为初始图像,重复进入根据初始图像和下一帧图像计算初始图像和下一帧图像对应的无人船的图像预测位移和图像预测旋转矩阵的步骤,直至更新第一预测位移和第一预测旋转矩阵;

当获取到初始点云数据对应的下一点云数据时,根据初始点云数据和下一点云数据计算初始点云数据和下一点云数据对应的无人船的点云预测位移和点云预测旋转矩阵;

根据第二时刻更新后的第一预测位移和第一预测旋转矩阵、第二时刻对应的的测量数据、点云预测位移和点云预测旋转矩阵计算得到预测位置。

在其中一个实施例中,根据第一时刻和第二时刻之间的图像数据、点云数据、测量数据和初始位置进行计算,得到无人船在第二时刻的预测位置之后,包括:

当预测位置与标准位置一致时,获取无人船在第二时刻和第三时刻之间的图像数据、点云数据和惯性测量单元的测量数据;

将第二时刻对应的标准位置作为初始位置,在导航地图中获取第三时刻的位置作为标准位置,执行计算第二时刻和第三时刻之间的位移数据和旋转矩阵,根据位移数据和旋转矩阵再次确定预测位置;

根据预测位置和标准位置控制无人船的航行。

一种无人船导航装置,包括:

数据获取模块,用于获取第一时刻和第二时刻之间的图像数据、点云数据和惯性测量单元的测量数据,在导航地图中获取第一时刻的初始位置和第二时刻的标准位置;

预测位置计算模块,用于根据第一时刻和第二时刻之间的图像数据、点云数据、测量数据和初始位置进行计算,得到无人船在第二时刻的预测位置;

导航模块,用于当预测位置与标准位置不一致时,计算标准位置与预测位置的位置差,根据位置差生成控制指令,根据控制指令更新无人船的加速度、姿态和速度参数,控制指令用于指示无人船向标准位置航行。

在其中一个实施例中,无人船导航装置还包括:

数据同步模块,用于获取初始导航地图,获取示教数据,所述示教数据包括示教图像数据集合、示教点云数据集合和示教测量数据集合,所述示教数据为示教过程传感器采集的数据,将所述示教图像数据集合、所述示教点云数据集合和所述示教测量数据集合按照时间一致性进行数据同步;

特征点获取模块,用于获取所述示教图像数据集合中各个图像的匹配特征点,组成第一匹配特征点集合,获取所述示教点云数据集合中各个点云数据的匹配特征点集合,组成第二匹配特征点集合;

地图生成模块,用于根据所述第一匹配特征点集合、所述第二匹配特征点集合、所述示教图像数据集合、所述示教点云数据集合和所述示教测量数据集合进行计算得到目标位置信息,将所述目标位置信息添加到所述初始导航地图,得到所述导航地图。

在其中一个实施例中,无人船导航装置包括:

数据获取模块,还用于当预测位置与标准位置一致时,获取无人船在第二时刻和第三时刻之间的图像数据、点云数据和惯性测量单元的测量数据;

预测位置计算模块,还用于将第二时刻对应的标准位置作为初始位置,在导航地图中获取第三时刻的位置作为标准位置,执行计算第二时刻和第三时刻之间的位移数据和旋转矩阵,根据位移数据和旋转矩阵再次确定预测位置;

导航模块,还用于根据预测位置和标准位置控制无人船的航行。

一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述无人船导航方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求上述无人船导航方法的步骤。

上述无人船导航方法、装置、计算机设备和存储介质,获取第一时刻和第二时刻之间的图像数据、点云数据和惯性测量单元的测量数据,在导航地图中获取第一时刻的初始位置和第二时刻的标准位置;根据第一时刻和第二时刻之间的图像数据、点云数据、测量数据和初始位置进行计算,得到无人船在第二时刻的预测位置;当预测位置与标准位置不一致时,计算标准位置与预测位置的位置差,更新无人船的加速度、姿态和速度参数,根据位置差生成控制指令,控制指令包含更新后的加速度、姿态和速度参数,控制指令用于指示无人船向标准位置航行。通过一段时间的惯性测量单元的测量数据、图像数据和点云数据对无人船进行定位,根据定位结果更新无人船的加速度、位姿和加速数参数,根据更新的数据是的无人船向目的地航行,采用多个不同类型的测量数据,提高无人船的导航定位精确度。

附图说明

图1为一个实施例中无人船导航方法的应用环境图;

图2为一个实施例中无人船导航方法的流程示意图;

图3为另一个实施例中无人船导航方法的流程示意图;

图4为一个实施例中计算目标位置步骤的流程示意图;

图5为一个实施例中计算预测位置步骤的流程示意图;

图6为再一个实施例中无人船导航方法的流程示意图;

图7为一个实施例中无人船导航的结构框图;

图8为另一个实施例中无人船导航的结构框图;

图9为一个实施例中地图生成模块的结构框图;

图10为一个实施例中预测位置计算模块的结构框图;

图11为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的无人船导航方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。终端102获取第一时刻和第二时刻之间的图像数据、点云数据和惯性测量单元的测量数据,在导航地图中获取第一时刻的初始位置和第二时刻的标准位置;根据第一时刻和第二时刻之间的图像数据、点云数据、测量数据和初始位置进行计算,得到无人船在第二时刻的预测位置;当预测位置与标准位置不一致时,计算标准位置与预测位置的位置差,更新无人船的加速度、姿态和速度参数,根据位置差生成控制指令,控制指令包含更新后的加速度、姿态和速度参数,控制指令用于指示无人船向标准位置航行。终端102将获取到的获取第一时刻和第二时刻之间的图像数据、点云数据和惯性测量单元的测量数据发送给服务器104,服务器104在导航地图中获取第一时刻的初始位置和第二时刻的标准位置;根据第一时刻和第二时刻之间的图像数据、点云数据、测量数据和初始位置进行计算,得到无人船在第二时刻的预测位置;当预测位置与标准位置不一致时,计算标准位置与预测位置的位置差,更新无人船的加速度、姿态和速度参数,根据位置差生成控制指令,控制指令包含更新后的加速度、姿态和速度参数,控制指令用于指示无人船向标准位置航行。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机和平板电脑,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种无人船导航方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:

步骤202,获取第一时刻和第二时刻之间的图像数据、点云数据和惯性测量单元的测量数据。

其中,无人船就是无人驾驶的船,图像数据是指无人船上的图像拍摄设备拍摄到的图像组成的图像集合,图像数据包含至少两幅图像。点云数据为无人船上的激光传感器采集到的数据,点云数据是利用激光在同一空间参考系下获取物体表面每个采样点的空间坐标,得到一系列表达目标空间分布和目标表面特性的点的集合,点云数据包含至少2个点云数据。惯性测量单元的测量数据包括位置坐标、角速度和线速度。

具体地,终端获取第一时刻和第二时刻之间的图像拍摄设备拍摄的图像数据,激光传感器采集的点云数据和惯性测量单元的测量到的位置坐标、角速度和线速度。由于图像拍摄设备的拍摄频率、激光传感器采集点云数据的采集频率和惯性测量单元采集测量数据的频率存在不一致的情况,故在获取图像数据、点云数据和测量数据时,各个数据都带有时间标签,通过时间标签可以对数据进行同步处理,由于数据采集过程中容易存在噪声点,故在使用上述图像数据、点云数据和测量数据之前可以对数据进行去燥处理,得到更为准确的数据。

步骤204,在导航地图中获取第一时刻的初始位置和第二时刻的标准位置。

其中,导航地图为根据示教过程中采集的数据进行处理得到的导航地图。初始位置为定义的起始位置,是无人船的航行过程中的其中一个位置,标准位置是无人船航行过程中的其中一个目的地。

具体地,导航地图中标注了多个目标位置,根据导航地图配置无人船的在第一时刻的位置信息,将导航地图中标注了多个目标位置中的其中一个目标位置作为第一时刻的位置信息,从多个目标位置选取除第一时刻的位置信息外的其中目标位置作为第二时刻的标准位置。

步骤206,根据第一时刻和第二时刻之间的图像数据、点云数据、测量数据和初始位置进行计算,得到无人船在第二时刻的预测位置。

其中,预测位置是指根据各种测量数据计算得到的无人船在第二时刻的位置信息。根据第一时刻和第二时刻之间获取到的图像数据,对图像数据做图像分析处理得到无人船在第一时刻和第二时刻的位移和旋转矩阵。对获取到的点云数据做数据分析得无人船在第一时刻和第二时刻的位移和旋转矩阵,对测量数据进行数据分析得到对应的位移和旋转矩阵,根据上述三个不同类型的数据处理得到的位移和旋转矩阵进行数据优化,如使得位移和旋转矩阵等的误差最小从而得到更为准确的位移和旋转矩阵,根据初始位置、位移和旋转矩阵计算得到第二时刻无人窗的预测位置。

步骤s208,当预测位置与标准位置不一致时,计算标准位置与预测位置的位置差,根据位置差生成控制指令,根据控制指令更新无人船的加速度、姿态和速度参数,控制指令用于指示无人船向标准位置航行。

其中,加速度包括角加速度和线加速度,角加速度是用于调整无人船的航行方向,线加速度用于调整无人船的航行速度。

具体地,对预测位置与标准位置进行匹配,当两者不一致,即为预测位置的位置信息和姿态信息和标准位置的位置信息和姿态信息不一致时,计算标准位置和预测位置的位置差,根据位置差生成用于控制无人船航行的控制指令,根据该控制指令调整无人船的加速度、位姿和速度参数,使得该无人船向着标标准位置航行。

上述无人船导航方法,获取第一时刻和第二时刻之间的图像数据、点云数据和惯性测量单元的测量数据,在导航地图中获取第一时刻的初始位置和第二时刻的标准位置,根据第一时刻和第二时刻之间的图像数据、点云数据、测量数据和初始位置进行计算,得到无人船在第二时刻的预测位置,当预测位置与标准位置不一致时,计算标准位置与预测位置的位置差,根据位置差生成控制指令,根据控制指令更新的无人船的加速度、姿态和速度参数,控制指令用于指示无人船向标准位置航行。上述无人船通过多种传感器获取多种测量数据,对多种测量数据的进行融合,根据融合后的数据进行无人船定位,得到更准确的定位。

如图3所示,在一个实施例中,上述无人船导航方法还包括:

步骤s402,获取初始导航地图,获取示教数据,示教数据包括图像集合、示教点云数据集合和示教测量数据集合,示教数据为示教过程传感器采集的数据。

具体地,终端获取构建的空白地图,或不包含示教航行的地图作为初始导航地图,获取对无人船的示教过程中各个传感器采集到到的数据,其中采集的数据包括示教图像集合、示教点云数据集合和示教过程惯性测量单元采集的测量数据。其中传感器采集的原始数据需要进行数据处理才可以做进一步处理,,如对数据去燥、筛选等处理。

步骤s404,将示教图像数据集合、示教点云数据集合和示教测量数据集合按照时间一致性进行数据同步。

具体地,数据同步是指将数据按照时间顺序和时间一致性建立对应关系,如在10点10分00秒获取到一组示教点云数据,将10点10分00秒的示教图像集合和示教测量数据集合对应起来。

步骤s406,获取示教图像集合中各个图像的匹配特征点,组成第一匹配特征点集合,获取示教点云数据集合中各个点云数据的匹配特征点集合,组成第二匹配特征点集合。

步骤s408,根据第一匹配特征点集合、第二匹配特征点集合、示教图像数据集合、示教点云数据集合和示教测量数据集合进行计算得到目标位置信息。

具体地,对示教图像集合中各个图像进行特征提取,对不同图像的特征进行匹配,获取各个图像的匹配特征点,由各个匹配特征点组成第一匹配特征点集合,同样的对示教点云数据集合进行特征提取处理,得到各个时刻点云数据的特征点集合,组成第二匹配特征点集合。

根据第一匹配特征点集合和示教图像数据集合计算得到图像位置信息,根据第二匹配特征点集合和示教点云数据集合计算得到点云位置信息,根据示教测量数据集合计算得到测量位置信息,根据上述图像位置信息、点云位置信息和测量位置信息计算得到各个时刻对应的目标位置信息。

步骤s410,将目标位置信息添加到初始导航地图,得到导航地图。

具体地,将上述根据示教图像集合、示教点云数据集合和示教测量数据集合计算得到的目标位置信息添加到初始导航地图中,生成步骤s104中的导航地图,该导航地图包含了示教的航线等信息。通过示教导航确定得到导航地图,根据示教导航对应的无人船的航线、航行速度和航行时间等信息,对导航地图进行标注。在导航地图中标注多个目标里程位置,该目标里程位置可以作为导航时的重要参考位置,将这些位置坐标,对应的航行速度,航行方向等信息标注在导航地图中,并将上述信息保存。

如图4所示,在一个实施例中,步骤s408包括:

步骤s4082,根据示教图像数据集合、第一匹配特征点集合和示教测量数据集合计算得到示教图像数据集合中各个图像对应的无人船的位置信息,组成第一位置信息集合。

步骤s4084,根据示教点云数据集合、第二匹配特征点集合和示教测量数据集合计算得到示教点云数据集合中各组点云数据对应的无人船的位置信息,组成第二位置信息集合。

步骤s4086,对相同时间的第一位置信息和第二位置信息进行加权,得到目标位置信息。

具体地,示教图像数据集合和第一匹配特征点集合存在对应关系,每一帧图像都对应一个或多个匹配特征点,在计算同一个匹配特征点对应的图像对应的无人船相对位置时,可以先对匹配的特征点进行筛选,筛选规则可根据实际需要自定义。如相邻时间间隔太近的可以剔除匹配特征点与图像的对应关系等。对匹配的特征点与图像之间的对应关系,计算得到每一个匹配特征点对应的多个图像之间的位移,得到多个匹配特征点对应的无人船的位移和旋转矩阵。根据示教测量数据计算得到无人船各个时刻的位移和旋转矩阵,根据示教测量数据集合与图像数据集合通过数据采集时间建立的联系关系,可以通过示教测量数据集合计算得到的位移确定图像数据计算得到的位移度量单位和旋转矩阵中各个旋转角度的度量单位,由各个带上位移度量单位的位移和旋转角度组成第一位置信息集合。

对于示教点云数据集合,与对示教图像数据集合进行处理的原理一致,通过计算示教点云数据集合对应的匹配特征点集合,根据点云匹配特征点集合、示教点云数据集合和示教测量数据集合计算得到各个时间点各组点云数据对应的无人船的位移和旋转矩阵,由位移和旋转矩阵组成第二位置信息集合。

将图像对应的第一位置信息和点云数据对应的第二位置信息,根据时间建立对应关系,获取到相同的时间对应的第一位置信息和第二位置信息,对第一位置信息和第二位置信息进行加权,得到最终的目标位置信息。其中加权时,第一位置信息和第二位置信息对应的权重可以自适应调整,也可以是固定的参数,自适应调整可以根据航行天气等原因,或者建立图像数据和点云数据的数据质量检测模型,根据数据的质量确定对应的权重等。

由于在航行时,航行天气是多变的,故自适应的权重调整方法能够更好的适应实际的航行。

如图5所示,在一个实施例中,步骤s206包括:

步骤s2062,从图像数据和点云数据分别获取第一时刻对应的初始图像和初始点云数据。

具体地,第一时刻为获取到第一点云数据的时间点,第二时刻为获取到第一点云数据的下一组点云数据的时间,将第一时刻作为起始时刻,从图像数据中获取第一时刻对应的图像数据和点云数据,将其图像数据作为初始图像,将其点云数据作为初始点云数据。必须说明的是,起始时刻不等于航行的起始时刻,起始时刻可以选择航行过程中任意一个时间点。

步骤s2064,从测量数据中获取第一时刻对应的初始测量数据和初始测量数据的下一测量数据,根据初始测量数据和下一测量数据计算得到初始预测位移和初始预测旋转矩阵,将下一测量数据作为初始测量数据,重复进入从测量数据中获取初始测量数据和初始测量数据的下一测量数据的步骤,更新初始预测位移和初始预测旋转矩阵。

具体地,测量数据是根据惯性测量单元采集的数据,可以根据惯性测量单元在一段时间内检测到的数据进行自定义的数学运算得到不同时刻无人船之间的相对位移和位姿,其中位姿可以根据位移和旋转矩阵确定。如在获取到第一时刻对应的初始测量数据时,惯性测量单元会继续检测数据,当获取到第一时刻测量数据的下一组测量数据时,根据初始测量数据和下一测量数据进行数学计算得到无人船在第一时刻和获取下一测量数据的时刻之间的位移和旋转矩阵,将该位移和旋转矩阵分别作为初始预测位移和初始预测矩阵。然后不断的重复上述过程得到下一组测量数据与下一组测量数据的下一组测量数据的位移和旋转矩阵,根据下一组测量数据与下一组测量数据的下一组测量数据的位移和旋转矩阵更新初始预测位移和初始预测矩阵,不断重复上述过程,更新初始预测位移和初始预测矩阵。

步骤s2066,当获取到初始图像的下一帧图像时,根据初始图像和下一帧图像计算初始图像和下一帧图像对应的无人船的图像预测位移和图像预测旋转矩阵。

具体地,获取到初始图像后的下一帧图像时,提取初始图像的特征和下一帧图像的特征,对初始图像的特征和下一帧图像的特征进行匹配得到对应的匹配特征点,根据两幅图像的匹配特征点在同一个坐标系下坐标相同的坐标计算得到无人船的在第一时刻和获取到下一帧图像时刻之间的位移和旋转矩阵,将位移和旋转矩阵分别作为图像预测位移和图像预测旋转矩阵。

步骤s2068,根据当前时刻更新的初始预测位移、初始预测旋转矩阵、图像预测位移和图像预测旋转矩阵计算得到第一预测位移和第一预测旋转矩阵,将下一帧图像作为初始图像,重复进入根据初始图像和下一帧图像计算初始图像和下一帧图像对应的无人船的图像预测位移和图像预测旋转矩阵的步骤,直至更新第一预测位移和第一预测旋转矩阵。

具体地,当前时刻为获取到下一帧图像对应的时刻,获取当前时刻根据惯性测量单元的测量数据更新后的初始预测位移和初始预测旋转矩阵,根据初始预测位移和初始预测旋转矩阵、图像预测位移和图像预测旋转矩阵进行计算得到位移和旋转矩阵分别作为第一预测位移和第一预测旋转矩阵。初始预测位移和初始预测旋转矩阵是带有度量单位的数据,图像预测位移和图像预测旋转矩阵是不带有度量单位的数据,由于是同样时间不同种类数据测量的得到位移和旋转角度,故虽然每种测量数据计算得到的数据都存在一定的误差,但差别不会特别大,故可以根据惯性测量单元的测量数据的度量单位确定图像预测位移和图像预测旋转矩阵的度量单位。将下一帧图像作为初始图像,当获取该初始图像的下一帧图像时,重复上述对初始图像和下一帧图像的位移和旋转矩阵计算过程,直到计算得到更新后的第一预测位移和第一预测旋转矩阵,然后继续重复上述过程继续更新第一预测位移和第一预测旋转矩阵。

步骤s2070,当获取到初始点云数据对应的下一点云数据时,根据初始点云数据和下一点云数据计算初始点云数据和下一点云数据对应的无人船的点云预测位移和点云预测旋转矩阵。

具体地,从传感器中获取初始点云数据和初始点云数据的下一组点云数据,下一点云数据的获取时间为第二时刻,分别初始点云数据和下一组点云数据的特征,对两组点云数据进行特征匹配,得到对应的匹配特征,根据匹配的特征计算得到第一时刻和第二时刻无人船之间的位移和旋转矩阵,将位移和旋转矩阵分别作为点云预测位移和点云预测旋转矩阵。

步骤s2072,根据第二时刻更新后的第一预测位移和第一预测旋转矩阵、第二时刻对应的的测量数据、点云预测位移和点云预测旋转矩阵计算得到预测位置。

具体地,根据第二时刻更新后的第一预测位移和第一预测旋转矩阵,和点云预测位移和点云预测旋转矩阵,对第二时刻更新后的第一预测位移和点云预测位移进行加权得到对的预测位移,对第一预测旋转矩阵和点云预测旋转矩阵进行加权得到对应的预测旋转矩阵,根据第二时刻对应的测量数据得到的位移和旋转矩阵、预测位移、预测旋转矩阵计算得到预测位置。

如图6所示,在一个实施例中,上述无人船导航方法还包括:

步骤s602,当预测位置与标准位置一致时,获取无人船在第二时刻和第三时刻之间的图像数据、点云数据和惯性测量单元的测量数据。

步骤s604,将第二时刻对应的标准位置作为初始位置,在导航地图中获取第三时刻的位置作为标准位置,执行计算第二时刻和第三时刻之间的位移数据和旋转矩阵,根据位移数据和旋转矩阵再次确定预测位置。

步骤s606,根据预测位置和标准位置控制无人船的航行。

具体地,在第二时刻对应的预测位置与导航地图中获取的标准位置一致时,获取无人船在第二时刻和第三时刻之间的图像数据,点云数据和测量数据,重复计算得到第三时刻的预测位置,第三时刻的预测位置和标准位置进行匹配,根据匹配结果确定是生成控制指令,根据控制指令调整无人船的参数,使得无人船按照预先设定的时间向标准位置航行,还是进入步骤s202,继续获取新的数据,将标准位置作为初始位置,获取新的标准位置。

在一个具体的实施例中,如从导航地图中获取第一时刻和第二时刻对应的位置信息,在第一时刻到第二时刻之间,惯性测量单元对应的测量数据更新了500次,图像数据更新了50次,点云数据更新了1次,故在下一点云数据到来时,图像数据更新50次得到50张图像,根据两幅图像计算得到两幅图像对应的无人船的相对位置,统计第一时刻和第二时刻之间的各个相邻图像对应的相对位置,得到第一时刻和第二时刻之间无人船的相对位置,对第一时刻和第二时刻之间惯性测量单元对应的测量数据计算得到无人船的相对位置,根据统计的惯性测量单位对应的测量数据计算得到的相对位置、图像数据计算的相对位置和点云数据计算得到的相对位置,计算得到第二时刻的预测位置。对第二时刻的预测位置和导航地图中第二时刻的位置信息进行匹配,根据匹配结果执行生成控制命令,还是执行获取导航地图中的下一位置作为第三时刻对应的位置,根据第三时刻的导航位置,获取各种类型的测量数据,根据获取到的测量数据不断对无人船进行定位,根据定位结果确定航行的参数。

通过三个类型的测量数据对无人船进行定位,能够得到更为精确的定位结果,定位准确才能更好的导航。

在一个实施例中,如图7所示,提供了一种无人创导航装置,包括:数据获取模块202、预测位置计算模块204和导航模块206,其中:

数据获取模块202,用于获取第一时刻和第二时刻之间的图像数据、点云数据和惯性测量单元的测量数据,在导航地图中获取所述第一时刻的初始位置和第二时刻的标准位置。

预测位置计算模块204,用于根据第一时刻和第二时刻之间的图像数据、点云数据、测量数据和初始位置进行计算,得到无人船在第二时刻的预测位置。

导航模块206,用于当预测位置与标准位置不一致时,计算标准位置与预测位置的位置差,根据位置差生成控制指令,根据控制指令更新的无人船的加速度、姿态和速度参数,控制指令用于指示无人船向标准位置航行。

在一个实施例中,如图8所示,无人船导航装置200还包括:

数据同步模块402,用于获取初始导航地图,获取示教数据,示教数据包括示教图像数据集合、示教点云数据集合和示教测量数据集合,示教数据为示教过程传感器采集的数据,将示教图像数据集合、示教点云数据集合和示教测量数据集合按照时间一致性进行数据同步。

特征点获取模块404,用于获取示教图像数据集合中各个图像的匹配特征点,组成第一匹配特征点集合,获取示教点云数据集合中各个点云数据的匹配特征点集合,组成第二匹配特征点集合。

地图生成模块406,用于根据第一匹配特征点集合、第二匹配特征点集合、示教图像数据集合、示教点云数据集合和示教测量数据集合进行计算得到目标位置信息,将目标位置信息添加到初始导航地图,得到导航地图。

在一个实施例中,如图9所示,地图生成模块406包括:

第一位置信息计算单元4062,用于根据示教图像数据集合、第一匹配特征点集合和示教测量数据集合计算得到示教图像数据集合中各个图像对应的无人船的位置信息,组成第一位置信息集合。

第二位置信息计算单元4064,用于根据示教点云数据集合、第二匹配特征点集合和示教测量数据集合计算得到示教点云数据集合中各组点云数据对应的无人船的位置信息,组成第二位置信息集合。

目标信息计算单元4066,用于对相同时间的第一位置信息和第二位置信息进行加权,得到目标位置信息。

在一个实施例中,如图10所示,预测位置计算模块204包括:

初始数据获取单元2042,用于从图像数据和点云数据分别获取第一时刻对应的初始图像和初始点云数据。

测量数据处理单元2044,用于从测量数据中获取第一时刻对应的初始测量数据和初始测量数据的下一测量数据,根据初始测量数据和下一测量数据计算得到初始预测位移和初始预测旋转矩阵,将下一测量数据作为初始测量数据,重复进入从测量数据中获取初始测量数据和初始测量数据的下一测量数据的步骤,更新初始预测位移和初始预测旋转矩阵。

图像数据处理单元2046,用于当获取到初始图像的下一帧图像时,根据初始图像和下一帧图像计算初始图像和下一帧图像对应的无人船的图像预测位移和图像预测旋转矩阵,根据当前时刻更新的初始预测位移、初始预测旋转矩阵、图像预测位移和图像预测旋转矩阵计算得到第一预测位移和第一预测旋转矩阵,将下一帧图像作为初始图像,重复进入根据初始图像和下一帧图像计算初始图像和下一帧图像对应的无人船的图像预测位移和图像预测旋转矩阵的步骤,直至更新第一预测位移和第一预测旋转矩阵。

点云数据处理单元2048,用于当获取到初始点云数据对应的下一点云数据时,根据初始点云数据和下一点云数据计算初始点云数据和下一点云数据对应的无人船的点云预测位移和点云预测旋转矩阵。

预测位置计算单元2050,用于根据第二时刻更新后的第一预测位移和第一预测旋转矩阵、第二时刻对应的的测量数据、点云预测位移和点云预测旋转矩阵计算得到预测位置。

在一个实施例中,上述无人船导航装置200还包括:

数据获取模块202,还用于当预测位置与标准位置一致时,获取无人船在第二时刻和第三时刻之间的图像数据、点云数据和惯性测量单元的测量数据。

预测位置计算模块204,还用于将第二时刻对应的标准位置作为初始位置,在导航地图中获取第三时刻的位置作为标准位置,执行计算第二时刻和第三时刻之间的位移数据和旋转矩阵,根据位移数据和旋转矩阵再次确定预测位置。

导航模块206,还用于根据预测位置和标准位置控制无人船的航行。

关于无人船导航的具体限定可以参见上文中对于无人船导航方法的限定,在此不再赘述。上述无人船导航中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如物11所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种无人船导航方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,物11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:获取第一时刻和第二时刻之间的图像数据、点云数据和惯性测量单元的测量数据,在导航地图中获取第一时刻的初始位置和第二时刻的标准位置,根据第一时刻和第二时刻之间的图像数据、点云数据、测量数据和初始位置进行计算,得到无人船在第二时刻的预测位置,当预测位置与标准位置不一致时,计算标准位置与预测位置的位置差,根据位置差生成控制指令,根据控制指令更新的无人船的加速度、姿态和速度参数,控制指令用于指示无人船向标准位置航行。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取初始导航地图,获取示教数据,示教数据包括示教图像数据集合、示教点云数据集合和示教测量数据集合,示教数据为示教过程传感器采集的数据,将示教图像数据集合、示教点云数据集合和示教测量数据集合按照时间一致性进行数据同步,获取示教图像数据集合中各个图像的匹配特征点,组成第一匹配特征点集合,获取示教点云数据集合中各个点云数据的匹配特征点集合,组成第二匹配特征点集合,根据第一匹配特征点集合、第二匹配特征点集合、示教图像数据集合、示教点云数据集合和示教测量数据集合进行计算得到目标位置信息,将目标位置信息添加到初始导航地图,得到导航地图。

在一个实施例中,根据第一匹配特征点集合、第二匹配特征点集合、示教图像数据集合、示教点云数据集合和示教测量数据集合进行进行计算得到目标位置信息,包括:根据示教图像数据集合、第一匹配特征点集合和示教测量数据集合计算得到示教图像数据集合中各个图像对应的无人船的位置信息,组成第一位置信息集合,根据示教点云数据集合、第二匹配特征点集合和示教测量数据集合计算得到示教点云数据集合中各组点云数据对应的无人船的位置信息,组成第二位置信息集合,对相同时间的第一位置信息和第二位置信息进行加权,得到目标位置信息。

在一个实施例中,根据第一时刻和第二时刻内的图像数据、点云数据、测量数据和初始位置进行计算,得到无人船在第二时刻的预测位置,包括:从图像数据和点云数据分别获取第一时刻对应的初始图像和初始点云数据,从测量数据中获取第一时刻对应的初始测量数据和初始测量数据的下一测量数据,根据初始测量数据和下一测量数据计算得到初始预测位移和初始预测旋转矩阵,将下一测量数据作为初始测量数据,重复进入从测量数据中获取初始测量数据和初始测量数据的下一测量数据的步骤,更新初始预测位移和初始预测旋转矩阵,当获取到初始图像的下一帧图像时,根据初始图像和下一帧图像计算初始图像和下一帧图像对应的无人船的图像预测位移和图像预测旋转矩阵,根据当前时刻更新的初始预测位移、初始预测旋转矩阵、图像预测位移和图像预测旋转矩阵计算得到第一预测位移和第一预测旋转矩阵,将下一帧图像作为初始图像,重复进入根据初始图像和下一帧图像计算初始图像和下一帧图像对应的无人船的图像预测位移和图像预测旋转矩阵的步骤,直至更新第一预测位移和第一预测旋转矩阵,当获取到初始点云数据对应的下一点云数据时,根据初始点云数据和下一点云数据计算初始点云数据和下一点云数据对应的无人船的点云预测位移和点云预测旋转矩阵,根据第二时刻更新后的第一预测位移和第一预测旋转矩阵、第二时刻对应的的测量数据、点云预测位移和点云预测旋转矩阵计算得到预测位置。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:当预测位置与标准位置一致时,获取无人船在第二时刻和第三时刻之间的图像数据、点云数据和惯性测量单元的测量数据,将第二时刻对应的标准位置作为初始位置,在导航地图中获取第三时刻的位置作为标准位置,执行计算第二时刻和第三时刻之间的位移数据和旋转矩阵,根据位移数据和旋转矩阵再次确定预测位置,根据预测位置和标准位置控制无人船的航行。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取第一时刻和第二时刻之间的图像数据、点云数据和惯性测量单元的测量数据,在导航地图中获取第一时刻的初始位置和第二时刻的标准位置,根据第一时刻和第二时刻之间的图像数据、点云数据、测量数据和初始位置进行计算,得到无人船在第二时刻的预测位置,当预测位置与标准位置不一致时,计算标准位置与预测位置的位置差,根据位置差生成控制指令,根据控制指令更新的无人船的加速度、姿态和速度参数,控制指令用于指示无人船向标准位置航行。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取初始导航地图,获取示教数据,示教数据包括示教图像数据集合、示教点云数据集合和示教测量数据集合,示教数据为示教过程传感器采集的数据,将示教图像数据集合、示教点云数据集合和示教测量数据集合按照时间一致性进行数据同步,获取示教图像数据集合中各个图像的匹配特征点,组成第一匹配特征点集合,获取示教点云数据集合中各个点云数据的匹配特征点集合,组成第二匹配特征点集合,根据第一匹配特征点集合、第二匹配特征点集合、示教图像数据集合、示教点云数据集合和示教测量数据集合进行计算得到目标位置信息,将目标位置信息添加到初始导航地图,得到导航地图。

在一个实施例中,根据第一匹配特征点集合、第二匹配特征点集合、示教图像数据集合、示教点云数据集合和示教测量数据集合进行进行计算得到目标位置信息,包括:根据示教图像数据集合、第一匹配特征点集合和示教测量数据集合计算得到示教图像数据集合中各个图像对应的无人船的位置信息,组成第一位置信息集合,根据示教点云数据集合、第二匹配特征点集合和示教测量数据集合计算得到示教点云数据集合中各组点云数据对应的无人船的位置信息,组成第二位置信息集合,对相同时间的第一位置信息和第二位置信息进行加权,得到目标位置信息。

在一个实施例中,根据第一时刻和第二时刻内的图像数据、点云数据、测量数据和初始位置进行计算,得到无人船在第二时刻的预测位置,包括:从图像数据和点云数据分别获取第一时刻对应的初始图像和初始点云数据,从测量数据中获取第一时刻对应的初始测量数据和初始测量数据的下一测量数据,根据初始测量数据和下一测量数据计算得到初始预测位移和初始预测旋转矩阵,将下一测量数据作为初始测量数据,重复进入从测量数据中获取初始测量数据和初始测量数据的下一测量数据的步骤,更新初始预测位移和初始预测旋转矩阵,当获取到初始图像的下一帧图像时,根据初始图像和下一帧图像计算初始图像和下一帧图像对应的无人船的图像预测位移和图像预测旋转矩阵,根据当前时刻更新的初始预测位移、初始预测旋转矩阵、图像预测位移和图像预测旋转矩阵计算得到第一预测位移和第一预测旋转矩阵,将下一帧图像作为初始图像,重复进入根据初始图像和下一帧图像计算初始图像和下一帧图像对应的无人船的图像预测位移和图像预测旋转矩阵的步骤,直至更新第一预测位移和第一预测旋转矩阵,当获取到初始点云数据对应的下一点云数据时,根据初始点云数据和下一点云数据计算初始点云数据和下一点云数据对应的无人船的点云预测位移和点云预测旋转矩阵,根据第二时刻更新后的第一预测位移和第一预测旋转矩阵、第二时刻对应的的测量数据、点云预测位移和点云预测旋转矩阵计算得到预测位置。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:当预测位置与标准位置一致时,获取无人船在第二时刻和第三时刻之间的图像数据、点云数据和惯性测量单元的测量数据,将第二时刻对应的标准位置作为初始位置,在导航地图中获取第三时刻的位置作为标准位置,执行计算第二时刻和第三时刻之间的位移数据和旋转矩阵,根据位移数据和旋转矩阵再次确定预测位置,根据预测位置和标准位置控制无人船的航行。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1