本公开涉及导航领域,具体地,涉及一种用于无人设备的导航方法、装置、存储介质及无人设备。
背景技术:
无人设备,例如无人机,在配送、物流、航拍等领域的使用越来越广泛。无人设备依靠于高精度的导航技术支撑,只有准确的导航信息,才能保证无人设备的安全、精准运行。
目前,无人设备中通常集成有视觉惯性测程vio(visual-inertialodometry)模块和组合导航系统。其中,vio模块中集成有相机和惯性测量单元,相机可用于采集无人设备当前所处的场景的图像,惯性测量单元可以用于定位。组合导航系统指的是为提高导航精度和导航性能而将两种以上导航系统组合在一起的导航系统,例如将全球卫星导航系统与惯性导航系统组合在一起的导航系统。
由于需要使用组合导航系统的导航信息对无人设备进行导航,因此,相关技术中通常将vio模块的导航信息融合进组合导航系统中,用vio模块的导航信息对组合导航系统的误差进行修正,以进一步保证组合导航系统的导航信息的准确性。然而,根据相关技术中的融合方法,会使得组合导航系统的误差随时间不断积累,从而使得其导航信息的精度逐渐降低,这样便无法保证无人设备的安全、精准运行。
技术实现要素:
本公开的目的是提供一种用于无人设备的导航方法、装置、存储介质及无人设备,以解决相关技术中组合导航系统的误差随时间而不断积累的问题,提高组合导航系统的导航信息的精确性,从而保证无人设备的安全精准运行。
为了实现上述目的,第一方面,本公开提供一种用于无人设备的导航方法,所述无人设备上设置有视觉惯性测程vio模块和组合导航系统,所述方法包括:确定所述vio模块在当前时刻与所述当前时刻的参考时刻之间的位移增量,所述参考时刻早于所述当前时刻;至少根据所述位移增量,确定所述组合导航系统的观测量;根据所述观测量,对所述组合导航系统的当前导航信息进行修正,以获得所述无人设备的目标导航信息;确定所述vio模块在所述当前时刻采集到的图像与在所述参考时刻采集到的图像之间的相似度;在所述相似度满足预设的相似度条件的情况下,将所述参考时刻继续作为下一时刻的参考时刻。
可选地,所述方法还包括:在所述相似度不满足所述相似度条件的情况下,将所述当前时刻作为所述下一时刻的参考时刻。
可选地,所述至少根据所述位移增量,确定所述组合导航系统的观测量,包括:根据尺度因子和所述组合导航系统在所述当前时刻的所述参考时刻确定的位移信息中的至少一者以及旋转矩阵和所述位移增量,确定所述观测量,其中,所述尺度因子用于表征所述组合导航系统的第一导航信息与所述vio模块的第二导航信息之间的比例关系,所述旋转矩阵是根据所述vio模块在所述参考时刻确定的第一航向角与所述组合导航系统在所述参考时刻确定的第二航向角构建的,所述旋转矩阵用于将所述位移增量调整到所述组合导航系统的坐标系下。
可选地,所述尺度因子通过如下方式中的一者确定:根据所述组合导航系统在所述当前时刻与所述当前时刻的所述参考时刻之间的位移信息与所述vio模块在所述当前时刻与所述当前时刻的所述参考时刻之间的位移信息的比值,确定所述尺度因子;根据所述组合导航系统在所述当前时刻的速度信息与所述vio模块在所述当前时刻的速度信息的比值,确定所述尺度因子;根据所述组合导航系统在所述当前时刻与所述当前时刻的所述参考时刻之间的位移信息与所述vio模块在所述当前时刻与所述当前时刻的所述参考时刻之间的位移信息的比值,以及所述组合导航系统在所述当前时刻的速度信息与所述vio模块在所述当前时刻的速度信息的比值,确定所述尺度因子。
可选地,所述根据尺度因子和所述组合导航系统在所述参考时刻确定的位移信息中的至少一者以及旋转矩阵和所述位移增量,确定所述观测量,包括:根据所述尺度因子、所述位移信息、所述旋转矩阵与所述位移增量,通过以下公式,确定所述观测量:
s'=r·a·s e
其中,s'表示所述观测量,r表示所述旋转矩阵,a表示所述尺度因子,s表示所述位移增量,e表示所述位移信息。
可选地,所述相似度条件包括所述vio模块在所述当前时刻采集到的图像与在所述参考时刻采集到的图像中相同的特征点个数大于或等于预设的数量阈值。
第二方面,本公开提供一种用于无人设备的导航装置,所述无人设备上设置有视觉惯性测程vio模块和组合导航系统,所述装置包括:位移增量确定模块,被配置成用于确定所述vio模块在当前时刻与所述当前时刻的参考时刻之间的位移增量,所述参考时刻早于所述当前时刻;观测量确定模块,被配置成用于至少根据所述位移增量,确定所述组合导航系统的观测量;修正模块,被配置成用于根据所述观测量,对所述组合导航系统的当前导航信息进行修正,以获得所述无人设备的目标导航信息;相似度确定模块,被配置成用于确定所述vio模块在所述当前时刻采集到的图像与在所述参考时刻采集到的图像之间的相似度;第一参考时刻确定模块,被配置成用于在所述相似度满足预设的相似度条件的情况下,将所述参考时刻继续作为下一时刻的参考时刻。
可选地,所述装置还包括:第二参考时刻确定模块,被配置成用于在所述相似度不满足所述相似度条件的情况下,将所述当前时刻作为所述下一时刻的参考时刻。
可选地,所述观测量确定模块包括:观测量确定子模块,被配置成用于根据尺度因子和所述组合导航系统在所述当前时刻的所述参考时刻确定的位移信息中的至少一者以及旋转矩阵和所述位移增量,确定所述观测量,其中,所述尺度因子用于表征所述组合导航系统的第一导航信息与所述vio模块的第二导航信息之间的比例关系,所述旋转矩阵是根据所述vio模块在所述参考时刻确定的第一航向角与所述组合导航系统在所述参考时刻确定的第二航向角构建的,所述旋转矩阵用于将所述位移增量调整到所述组合导航系统的坐标系下。
可选地,所述观测量确定子模块被配置成用于根据所述尺度因子、所述位移信息、所述旋转矩阵与所述位移增量,通过以下公式,确定所述观测量:
s'=r·a·s e
其中,s'表示所述观测量,r表示所述旋转矩阵,a表示所述尺度因子,s表示所述位移增量,e表示所述位移信息。
第三方面,本公开提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第一方面提供的所述方法的步骤。
第四方面,本公开提供一种用于无人设备的导航装置,所述无人设备上设置有视觉惯性测程vio模块和组合导航系统,所述装置包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第一方面提供的所述方法的步骤。
第五方面,本公开提供一种无人设备,所述无人设备上设置有视觉惯性测程vio模块和组合导航系统,所述无人设备还包括本公开第四方面提供的所述导航装置。
通过上述技术方案,如果vio模块在当前时刻采集到的图像与在参考时刻采集到的图像的相似度满足预设的相似度条件,则可将当前时刻的参考时刻继续作为下一时刻的参考时刻。这样,在下一时刻,根据vio模块在参考时刻与该下一时刻之间的位移增量确定观测量,该观测量可以对组合导航系统从参考时刻到该下一时刻之间的误差进行修正,对于在当前时刻之前未修正完的误差,仍然可以继续进行修正,增大了对组合导航系统进行误差修正的范围,因此可以有效避免相关技术中组合导航系统的误差随时间不断积累的问题,提高组合导航系统的导航信息的精确性,从而能够保证无人设备的安全精准运行。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据一示例性实施例示出的一种用于无人设备的导航方法的流程图。
图2是根据另一示例性实施例示出的一种用于无人设备的导航方法的流程图。
图3是根据一示例性实施例示出的一种用于无人设备的导航装置的框图。
图4是根据另一示例性实施例示出的一种用于无人设备的导航装置的框图。
具体实施方式
在将vio模块的导航信息融合进组合导航系统中时,通常使用vio模块的导航信息确定观测量,通过该观测量对组合导航系统的误差进行修正,因此,组合导航系统的导航信息的准确性依赖于该观测量的确定,观测量能够修正组合导航系统越多的误差,则组合导航系统最终的导航信息越准确。
首先对相关技术中确定该观测量的过程及原理进行说明。示例地,例如从前到后依次有t0、t1、t2三个时刻,在t1时刻,通过vio模块在t0~t1时刻之间的位移增量来确定观测量,该观测量可以用于修正组合导航系统在t0~t1时刻之间的误差。在t2时刻,通过vio模块在t1~t2时刻之间的位移增量来确定观测量,该观测量可以用于修正组合导航系统在t1~t2时刻之间的误差。可见,如果在t1时刻并未将组合导航系统在t0~t1时刻之间的误差修正完成,在t2时刻则无法再进行修正。由此可知,相关技术中使用的是vio模块在当前时刻与上一时刻之间的位移增量来确定该观测量,该观测量仅可以用于修正组合导航系统在当前时刻与上一时刻之间的误差,而对于上一时刻之前未修正完的误差,则无法再进行修正。这样,每一时间段内未修正完的误差后续便无法再进行修正,就会出现如背景技术中所阐述的组合导航系统的误差随时间而不断积累的问题,从而使得其导航信息的精度逐渐降低。
鉴于此,本公开提供一种用于无人设备的导航方法、装置、存储介质及无人设备,以解决相关技术中组合导航系统的误差随时间而不断积累的问题,提高组合导航系统的导航信息的精确性,从而保证无人设备的安全精准运行。
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
图1是根据一示例性实施例示出的一种用于无人设备的导航方法的流程图,该方法可以应用于无人设备中的控制器。如图1所示,该方法可以包括s101-s105。
在s101中,确定vio模块在当前时刻与该当前时刻的参考时刻之间的位移增量。
其中,该参考时刻早于该当前时刻。示例地,本公开以从前到后依次为t0、t1、t2、t3、t4五个时刻为例进行说明。当前时刻例如为t1时刻,t1时刻的参考时刻为t0时刻,则可以确定vio模块在t0~t1时刻之间的位移增量,例如可将vio模块在t1时刻的位移值减去在t0时刻的位移值得到该位移增量。
在s102中,至少根据位移增量,确定组合导航系统的观测量。
在s103中,根据观测量,对组合导航系统的当前导航信息进行修正,以获得无人设备的目标导航信息。
例如采用vio模块在t0~t1时刻之间的位移增量确定的观测量,可以对组合导航系统在t0~t1时刻的误差进行修正。该当前导航信息即组合导航系统当前解算出来的还未经修正的导航信息,对该当前导航信息进行修正的方式可参照本领域相关技术,例如可以采用扩展卡尔曼滤波(extendedkalmanfilter,ekf)技术进行修正,以获得无人设备的目标导航信息。由于该目标导航信息是通过对当前导航信息进行修正之后得到的,因此,该目标导航信息更为精确。
该目标导航信息可以包括无人设备的位置信息、速度信息和姿态信息。其中,位置信息可以包括经度信息、纬度信息、高度信息等,速度信息可以包括东向速度、北向速度、天向速度等,姿态信息可以包括航向角信息、俯仰角信息和横滚角信息等。
在s104中,确定vio模块在当前时刻采集到的图像与在参考时刻采集到的图像之间的相似度。
vio模块可通过其上面集成的相机采集图像,vio模块采集到的图像可以当做是无人设备当前所处的场景的图像。示例地,该步骤中,控制器可对vio模块在当前时刻采集到的图像与在参考时刻采集到的图像进行图像相似度计算,例如计算两张图像中相同的特征点个数,通过相同的特征点个数来表征两张图像之间的相似度。或者,也可通过计算两张图像之间距离来进行图像相似度计算,比如计算图像之间的余弦距离、欧式距离、汉明距离等,本公开对确定该相似度的方式不进行限定。
在s105中,在相似度满足预设的相似度条件的情况下,将参考时刻继续作为下一时刻的参考时刻。
预设的相似度条件可以包括vio模块在当前时刻采集到的图像与在参考时刻采集到的图像中相同的特征点个数大于或等于预设的数量阈值。该数量阈值可以是一固定值,可预先被标定出。该数量阈值也可以根据vio模块在参考时刻采集到的图像中的所有特征点的个数来确定,例如将该所有特征点的个数的预设倍数(如20%)确定为该数量阈值。
两张图像之间的相似度满足预设的相似度条件,可表征两张图像中相同的特征点个数较多,两张图像较为相似,可认为无人设备在当前时刻所处的场景与在参考时刻所处的场景大部分相同,未发生明显变化,以无人设备为无人机为例,无人机可能飞行速度较慢,或处于悬停状态。本公开中,如果vio模块在当前时刻采集到的图像与在参考时刻采集到的图像之间的相似度满足预设的相似度条件,可将当前时刻的参考时刻继续作为下一时刻的参考时刻。
示例地,例如当前时刻为t1时刻,t1时刻的参考时刻为t0时刻,如果vio模块在t1时刻采集到的图像与在t0时刻采集到图像的相似度满足相似度条件,则可将t0时刻继续作为t1时刻的下一时刻即t2时刻的参考时刻,之后,可将t2时刻作为新的当前时刻,继续执行s101-s105。在t2时刻,在确定组合导航系统的观测量时,是根据vio模块在t0~t2时刻之间的位移增量来确定的,因此,根据该观测量,可以对组合导航系统在t0~t2时刻之间的误差进行修正,这样,对于t0~t1时刻未修正完的误差,在t2时刻还可以继续进行修正。
之后,如果vio模块在t2时刻采集到的图像与在t0时刻采集到的图像之间的相似度满足预设的相似度条件,则可将t0时刻继续作为t2时刻的下一时刻即t3时刻的参考时刻,并将t3时刻作为新的当前时刻继续执行s101-s105。在t3时刻,在确定组合导航系统的观测量时,是根据vio模块在t0~t3时刻之间的位移增量来确定的,因此,根据该观测量,可以对组合导航系统在t0~t3时刻之间的误差进行修正,这样,对于t0~t2时刻未修正完的误差,在t3时刻仍然可以继续进行修正。
由此可见,本公开中,确定出的观测量可以用于修正组合导航系统更大范围的误差,对于组合导航系统在某一时间段内未修正完的误差,之后还有机会再进行修正,因此可以有效避免相关技术中组合导航系统的误差随时间不断积累的问题,提高组合导航系统的导航信息的精确性。
通过上述技术方案,如果vio模块在当前时刻采集到的图像与在参考时刻采集到的图像的相似度满足预设的相似度条件,则可将当前时刻的参考时刻继续作为下一时刻的参考时刻。这样,在下一时刻,根据vio模块在参考时刻与该下一时刻之间的位移增量确定观测量,该观测量可以对组合导航系统从参考时刻到该下一时刻之间的误差进行修正,对于在当前时刻之前未修正完的误差,仍然可以继续进行修正,增大了对组合导航系统进行误差修正的范围,因此可以有效避免相关技术中组合导航系统的误差随时间不断积累的问题,提高组合导航系统的导航信息的精确性,从而能够保证无人设备的安全精准运行。
图2是根据另一示例性实施例示出的一种用于无人设备的导航方法的流程图,如图2所示,除s101-s105,该方法还可包括s201。
在s201中,在相似度不满足相似度条件的情况下,将当前时刻作为下一时刻的参考时刻。
如果vio模块在当前时刻采集到的图像与在参考时刻采集到的图像中相同的特征点个数小于预设的数量阈值,即两张图像的相似度不满足预设的相似度条件,可表征两张图像中相同的特征点个数较少,两张图像差别较大,可认为无人设备在当前时刻所处的场景与在参考时刻所处的场景发生了较大变化。本公开中,两张图像的相似度不满足相似度条件的情况下,可将当前时刻作为下一时刻的参考时刻。
沿用上述示例,例如当前时刻为t3时刻,如果vio模块在t3时刻采集到的图像与在t0时刻采集到的图像之间的相似度不满足预设的相似度条件,则可将t3时刻作为下一时刻即t4时刻的参考时刻。之后,将t4时刻作为新的当前时刻,继续执行s101-s201。
本公开中,s102中至少根据位移增量,确定组合导航系统的观测量的实施方式可以为:根据尺度因子和组合导航系统在当前时刻的参考时刻确定的位移信息中的至少一者,以及旋转矩阵和vio模块在当前时刻与参考时间之间的位移增量,确定组合导航系统的观测量。
其中,旋转矩阵是根据vio模块在参考时刻确定的第一航向角与组合导航系统在参考时刻确定的第二航向角构建的,构建旋转矩阵的方式可参照本领域相关技术,例如可以根据第一航向角与第二航向角的差值构建该旋转矩阵。该旋转矩阵可以用于将vio模块的位移增量调整到组合导航系统的坐标系下。由于vio模块使用的是vio坐标系,组合导航系统使用的世界坐标系,二者使用的坐标系不同,因此在使用vio模块的位移增量确定组合导航系统的观测量时,需要通过旋转矩阵将vio模块的位移增量调整到组合导航系统的坐标系下。示例地,可以将该旋转矩阵乘以该位移增量,以将该位移增量调整到组合导航系统的坐标系下。
其中,尺度因子可以用于表征组合导航系统的第一导航信息与vio模块的第二导航信息之间的比例关系。可以了解的是,vio模块可通过相机采集到的图像的特征点作为基准计算自身的位移,如果vio模块采集到的图像不清晰,或者图像中的特征点较少,那么vio模块计算出的位移可能不够精准。由于需要根据vio模块的位移增量确定的观测量,对组合导航系统进行修正,如果vio模块的位移增量不够准确,不但不会起到对组合导航系统进行修正的目的,还会导致组合导航系统更大的误差。因此,本公开中,在确定组合导航系统的观测量时,例如可将该尺度因子乘以该位移增量,通过该尺度因子,保证vio模块的位移增量的准确性,从而保证所得到的观测量的准确性。
示例地,可通过如下三种方式中的任一种确定该尺度因子。
第一种,根据组合导航系统在当前时刻与当前时刻的参考时刻之间的位移信息与vio模块在当前时刻与当前时刻的参考时刻之间的位移信息的比值,确定该尺度因子,例如可将该比值输入到滤波器进行滤波计算以得到该尺度因子,滤波器可以是卡尔曼滤波器、互补滤波器、pid控制器滤波器等。
其中,组合导航系统在当前时刻与当前时刻的参考时刻之间的位移信息可以是组合导航系统在当前时刻与该参考时刻之间的位移增量的模长。vio模块在当前时刻与当前时刻的参考时刻之间的位移信息可以是vio模块在当前时刻与该参考时刻之间的位移增量的模长。
第二种,根据组合导航系统在当前时刻的速度信息与vio模块在当前时刻的速度信息的比值,确定该尺度因子。例如可将该比值输入到滤波器进行滤波计算以得到该尺度因子。
其中,组合导航系统在当前时刻的速度信息可以是组合导航系统在当前时刻的速度的模长。vio模块在当前时刻的速度信息可以是vio模块在当前时刻的速度的模长。
第三种,根据组合导航系统在当前时刻与当前时刻的参考时刻之间的位移信息与vio模块在当前时刻与当前时刻的参考时刻之间的位移信息的比值,以及组合导航系统在当前时刻的速度信息与vio模块在当前时刻的速度信息的比值,确定该尺度因子。例如可将这两个比值同时输入到滤波器进行滤波计算以得到该尺度因子。
在一种实施方式中,根据组合导航系统在当前时刻的参考时刻确定的位移信息、旋转矩阵以及vio模块在当前时刻与参考时刻之间的位移增量,确定组合导航系统的观测量。示例地,可通过如下公式(1)确定该观测量:
s'=r·s e(1)
其中,s'表示该观测量,r表示旋转矩阵,s表示vio模块在当前时刻与参考时刻之间的位移增量,e表示组合导航系统在当前时刻的参考时刻确定的位移信息。
在另一种实施方式中,根据尺度因子、旋转矩阵以及vio模块在当前时刻与参考时刻之间的位移增量,确定组合导航系统的观测量。示例地,可通过如下公式(2)确定该观测量:
s'=r·a·s(2)
其中,a表示尺度因子,可通过上述三种方式中的任一种来确定。
在又一种实施方式中,根据尺度因子、旋转矩阵、vio模块在当前时刻与参考时刻之间的位移增量以及组合导航系统在当前时刻的参考时刻确定的位移信息,确定组合导航系统的观测量。示例地,可通过如下公式(3)确定该观测量:
s'=r·a·s e(3)
下面以该实施方式为例,基于公式(3),以一个完整的实施例对本公开提供的用于无人设备的导航方法进行说明。
首先,在t0时刻,根据vio模块在t0时刻确定的第一航向角与组合导航系统在t0时刻确定的第二航向角构建旋转矩阵r0,组合导航系统在t0时刻的位移信息为e0,该位移信息e0可以是组合导航系统在t0时刻进行误差修正之后的结果,vio模块在t0时刻的位移信息为s0。
在t1时刻,以t0时刻为参考时刻,vio模块在t1时刻的位移信息为s1,vio模块在t0~t1时刻之间的位移增量为(s1-s0),并且通过上述三种方式中的任一种确定出尺度因子为a1,可通过如下公式(4)确定组合导航系统在t1时刻的观测量s1':
s1'=r0·a1·(s1-s0) e0(4)
如果vio模块在t1时刻采集到的图像与在t0时刻采集到的图像之间的相似度满足相似度条件,则将t0时刻继续作为下一时刻t2时刻的参考时刻。
在t2时刻,继续以t0时刻作为参考时刻,vio模块在t2时刻的位移信息为s2,vio模块在t0~t2时刻之间的位移增量为(s2-s0),并且通过上述三种方式中的任一种确定出尺度因子为a2,可通过如下公式(5)确定组合导航系统在t2时刻的观测量s2':
s2'=r0·a2·(s2-s0) e0(5)
这样,观测量s2'可用于对组合导航系统在t0~t2时刻的误差进行修正,对于t0~t1时刻之间未修正完的误差还可以继续进行修正。如果vio模块在t2时刻采集到的图像与在t0时刻采集到的图像之间的相似度满足相似度条件,则将t0时刻继续作为下一时刻t3时刻的参考时刻。
在t3时刻,继续以t0时刻作为参考时刻,vio模块在t3时刻的位移信息为s3,vio模块在t0~t3时刻之间的位移增量为(s3-s0),并且通过上述三种方式中的任一种确定出尺度因子为a3,可通过如下公式(6)确定组合导航系统在t3时刻的观测量s3':
s3'=r0·a3·(s3-s0) e0(6)
这样,观测量s3'可用于对组合导航系统在t0~t3时刻的误差进行修正,对于t0~t2时刻之间未修正完的误差还可以继续进行修正,有效增大了对组合导航系统进行误差修正的范围,使得其导航信息更为精确。
如果vio模块在t3时刻采集到的图像与在t0时刻采集到的图像之间的相似度不满足相似度条件,则将t3时刻作为下一时刻t4时刻的参考时刻。并且在t3时刻,根据vio模块在t3时刻确定的第一航向角与组合导航系统在t3时刻确定的第二航向角构建旋转矩阵r1,组合导航系统在t3时刻的位移信息为e3,该位移信息e3可以是组合导航系统在t3时刻进行误差修正之后的结果。
在t4时刻,以t3时刻作为参考时刻,vio模块在t4时刻的位移信息为s4,vio模块在t3~t4时刻之间的位移增量为(s4-s3),并且通过上述三种方式中的任一种确定出尺度因子为a4,可通过如下公式(7)确定组合导航系统在t4时刻的观测量s4':
s4'=r1·a4·(s4-s3) e3(7)
对于后续时刻,可参照上述实施方式,本公开不再赘述。
基于同一发明构思,本公开还提供一种用于无人设备的导航装置,所述无人设备上设置有视觉惯性测程vio模块和组合导航系统。图3是根据一示例性实施例示出的一种用于无人设备的导航装置的框图,如图3所述,该装置300可以包括:
位移增量确定模块301,被配置成用于确定所述vio模块在当前时刻与所述当前时刻的参考时刻之间的位移增量,所述参考时刻早于所述当前时刻;观测量确定模块302,被配置成用于至少根据所述位移增量,确定所述组合导航系统的观测量;修正模块303,被配置成用于根据所述观测量,对所述组合导航系统的当前导航信息进行修正,以获得所述无人设备的目标导航信息;相似度确定模块304,被配置成用于确定所述vio模块在所述当前时刻采集到的图像与在所述参考时刻采集到的图像之间的相似度;第一参考时刻确定模块305,被配置成用于在所述相似度满足预设的相似度条件的情况下,将所述参考时刻继续作为下一时刻的参考时刻。
采用上述装置,如果vio模块在当前时刻采集到的图像与在参考时刻采集到的图像的相似度满足预设的相似度条件,则可将当前时刻的参考时刻继续作为下一时刻的参考时刻。这样,在下一时刻,根据vio模块在参考时刻与该下一时刻之间的位移增量确定观测量,该观测量可以对组合导航系统从参考时刻到该下一时刻之间的误差进行修正,对于在当前时刻之前未修正完的误差,仍然可以继续进行修正,增大了对组合导航系统进行误差修正的范围,因此可以有效避免相关技术中组合导航系统的误差随时间不断积累的问题,提高组合导航系统的导航信息的精确性,从而能够保证无人设备的安全精准运行。
可选地,所述装置300还可包括:第二参考时刻确定模块,被配置成用于在所述相似度不满足所述相似度条件的情况下,将所述当前时刻作为所述下一时刻的参考时刻。
可选地,所述观测量确定模块302可以包括:观测量确定子模块,被配置成用于根据尺度因子和所述组合导航系统在所述当前时刻的所述参考时刻确定的位移信息中的至少一者以及旋转矩阵和所述位移增量,确定所述观测量,其中,所述尺度因子用于表征所述组合导航系统的第一导航信息与所述vio模块的第二导航信息之间的比例关系,所述旋转矩阵是根据所述vio模块在所述参考时刻确定的第一航向角与所述组合导航系统在所述参考时刻确定的第二航向角构建的,所述旋转矩阵用于将所述位移增量调整到所述组合导航系统的坐标系下。
可选地,所述观测量确定子模块被配置成用于根据所述尺度因子、所述位移信息、所述旋转矩阵与所述位移增量,通过以下公式,确定所述观测量:
s'=r·a·s e
其中,s'表示所述观测量,r表示所述旋转矩阵,a表示所述尺度因子,s表示所述位移增量,e表示所述位移信息。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图4是根据另一示例性实施例示出的一种用于无人设备的导航装置400的框图。例如,导航装置400可以被提供为一控制器。参照图4,导航装置400包括处理器422,其数量可以为一个或多个,以及存储器432,用于存储可由处理器422执行的计算机程序。存储器432中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器422可以被配置为执行该计算机程序,以执行上述的用于无人设备的导航方法。
另外,导航装置400还可以包括电源组件426和通信组件450,该电源组件426可以被配置为执行电子设备400的电源管理,该通信组件450可以被配置为实现导航装置400的通信,例如,有线或无线通信。此外,该导航装置400还可以包括输入/输出(i/o)接口458。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的用于无人设备的导航方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器432,上述程序指令可由导航装置400的处理器422执行以完成上述的用于无人设备的导航方法。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的用于无人设备的导航方法的代码部分。
本公开还提供一种无人设备,所述无人设备上设置有视觉惯性测程vio模块和组合导航系统,所述无人设备还包括上述提供的所述用于无人设备的导航装置400。该无人设备可以是无人机、机器人、无人配送车、无人船等。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
1.一种用于无人设备的导航方法,所述无人设备上设置有视觉惯性测程vio模块和组合导航系统,其特征在于,所述方法包括:
确定所述vio模块在当前时刻与所述当前时刻的参考时刻之间的位移增量,所述参考时刻早于所述当前时刻;
至少根据所述位移增量,确定所述组合导航系统的观测量;
根据所述观测量,对所述组合导航系统的当前导航信息进行修正,以获得所述无人设备的目标导航信息;
确定所述vio模块在所述当前时刻采集到的图像与在所述参考时刻采集到的图像之间的相似度;
在所述相似度满足预设的相似度条件的情况下,将所述参考时刻继续作为下一时刻的参考时刻。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述相似度不满足所述相似度条件的情况下,将所述当前时刻作为所述下一时刻的参考时刻。
3.根据权利要求1所述的方法,其特征在于,所述至少根据所述位移增量,确定所述组合导航系统的观测量,包括:
根据尺度因子和所述组合导航系统在所述当前时刻的所述参考时刻确定的位移信息中的至少一者以及旋转矩阵和所述位移增量,确定所述观测量,其中,所述尺度因子用于表征所述组合导航系统的第一导航信息与所述vio模块的第二导航信息之间的比例关系,所述旋转矩阵是根据所述vio模块在所述参考时刻确定的第一航向角与所述组合导航系统在所述参考时刻确定的第二航向角构建的,所述旋转矩阵用于将所述位移增量调整到所述组合导航系统的坐标系下。
4.根据权利要求3所述的方法,其特征在于,所述尺度因子通过如下方式中的一者确定:
根据所述组合导航系统在所述当前时刻与所述当前时刻的所述参考时刻之间的位移信息与所述vio模块在所述当前时刻与所述当前时刻的所述参考时刻之间的位移信息的比值,确定所述尺度因子;
根据所述组合导航系统在所述当前时刻的速度信息与所述vio模块在所述当前时刻的速度信息的比值,确定所述尺度因子;
根据所述组合导航系统在所述当前时刻与所述当前时刻的所述参考时刻之间的位移信息与所述vio模块在所述当前时刻与所述当前时刻的所述参考时刻之间的位移信息的比值,以及所述组合导航系统在所述当前时刻的速度信息与所述vio模块在所述当前时刻的速度信息的比值,确定所述尺度因子。
5.根据权利要求3所述的方法,其特征在于,所述根据尺度因子和所述组合导航系统在所述参考时刻确定的位移信息中的至少一者以及旋转矩阵和所述位移增量,确定所述观测量,包括:
根据所述尺度因子、所述位移信息、所述旋转矩阵与所述位移增量,通过以下公式,确定所述观测量:
s′=r·a·s e
其中,s'表示所述观测量,r表示所述旋转矩阵,a表示所述尺度因子,s表示所述位移增量,e表示所述位移信息。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述相似度条件包括所述vio模块在所述当前时刻采集到的图像与在所述参考时刻采集到的图像中相同的特征点个数大于或等于预设的数量阈值。
7.一种用于无人设备的导航装置,所述无人设备上设置有视觉惯性测程vio模块和组合导航系统,其特征在于,所述装置包括:
位移增量确定模块,被配置成用于确定所述vio模块在当前时刻与所述当前时刻的参考时刻之间的位移增量,所述参考时刻早于所述当前时刻;
观测量确定模块,被配置成用于至少根据所述位移增量,确定所述组合导航系统的观测量;
修正模块,被配置成用于根据所述观测量,对所述组合导航系统的当前导航信息进行修正,以获得所述无人设备的目标导航信息;
相似度确定模块,被配置成用于确定所述vio模块在所述当前时刻采集到的图像与在所述参考时刻采集到的图像之间的相似度;
第一参考时刻确定模块,被配置成用于在所述相似度满足预设的相似度条件的情况下,将所述参考时刻继续作为下一时刻的参考时刻。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-6中任一项所述方法的步骤。
9.一种用于无人设备的导航装置,所述无人设备上设置有视觉惯性测程vio模块和组合导航系统,其特征在于,所述装置包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-6中任一项所述方法的步骤。
10.一种无人设备,所述无人设备上设置有视觉惯性测程vio模块和组合导航系统,其特征在于,所述无人设备还包括权利要求9所述的导航装置。
技术总结