CN113074726A - 位姿确定方法及装置、电子设备和存储介质 - Google Patents
位姿确定方法及装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN113074726A CN113074726A CN202110281141.5A CN202110281141A CN113074726A CN 113074726 A CN113074726 A CN 113074726A CN 202110281141 A CN202110281141 A CN 202110281141A CN 113074726 A CN113074726 A CN 113074726A
- Authority
- CN
- China
- Prior art keywords
- electronic equipment
- pose
- estimated pose
- time
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000003860 storage Methods 0.000 title claims abstract description 24
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 135
- 230000000007 visual effect Effects 0.000 claims description 79
- 230000010354 integration Effects 0.000 claims description 53
- 238000005070 sampling Methods 0.000 claims description 53
- 230000004927 fusion Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 15
- 238000012937 correction Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 description 21
- 238000012545 processing Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 16
- 238000005457 optimization Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 10
- 238000007781 pre-processing Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 238000001914 filtration Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000007499 fusion processing Methods 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/18—Stabilised platforms, e.g. by gyroscope
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/165—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Navigation (AREA)
Abstract
本公开涉及一种位姿确定方法及装置、电子设备和存储介质,所述方法包括:基于惯性定位算法,根据电子设备的惯性传感器采样得到的惯性数据,确定所述电子设备的第一预估位姿;基于预设定位算法,确定所述电子设备的第二预估位姿;根据所述第二预估位姿,对所述第一预估位姿进行修正,得到所述电子设备的目标位姿。本公开实施例可以实现对电子设备的高频平滑高精度定位。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种位姿确定方法及装置、电子设备和存储介质。
背景技术
目前,基于视觉定位算法的位姿估计技术已经取得了广泛应用,例如应用于增强现实、虚拟现实、机器人和自动驾驶等领域。
在相关技术中,视觉定位算法虽然定位精度较高,但是受限于图像的采样频率,视觉定位算法的定位频率较低,且位姿输出不平滑,在对定位频率要求较高的场景中无法满足定位频率需求,例如AR场景中,低频定位会导致虚拟物体出现抖动、拖线等不稳定现象。
发明内容
本公开提出了一种位姿确定方法及装置、电子设备和存储介质的技术方案。
根据本公开的一方面,提供了一种位姿确定方法,包括:基于惯性定位算法,根据电子设备的惯性传感器采样得到的惯性数据,确定所述电子设备的第一预估位姿;基于预设定位算法,确定所述电子设备的第二预估位姿;根据所述第二预估位姿,对所述第一预估位姿进行修正,得到所述电子设备的目标位姿。
在一种可能的实现方式中,所述基于惯性定位算法,根据电子设备的惯性传感器采样得到的惯性数据,确定所述电子设备的第一预估位姿,包括:对所述惯性传感器在t-1时刻至t时刻之间采样得到的第一惯性数据进行积分,得到第一积分结果;将所述第一积分结果和所述电子设备在t-1时刻的第一预估位姿进行融合,得到所述电子设备在t时刻的第一预估位姿。
在一种可能的实现方式中,所述预设定位算法包括视觉定位算法;所述基于预设定位算法,确定所述电子设备的第二预估位姿,包括:根据所述电子设备的视觉传感器在t-x时刻采样得到的环境图像,确定所述电子设备在t-x时刻的视觉预估位姿,t-x时刻是与t时刻最邻近的所述视觉传感器的采样时刻,x大于或等于0;将所述电子设备在t-x时刻的视觉预估位姿,确定为所述电子设备在t时刻的第二预估位姿。
在一种可能的实现方式中,所述预设定位算法包括视觉惯性定位算法;所述基于预设定位算法,确定所述电子设备的第二预估位姿,包括:根据所述电子设备的视觉传感器在t-x时刻采样得到的环境图像,确定所述电子设备在t-x时刻的视觉预估位姿,t-x时刻是与t时刻最邻近的所述视觉传感器的采样时刻,x大于或等于0;对所述惯性传感器在t-x时刻至t时刻之间采样得到的第二惯性数据进行积分,得到第二积分结果;将所述第二积分结果和所述电子设备在t-x时刻的视觉预估位姿进行融合,得到所述电子设备在t时刻的第二预估位姿。
在一种可能的实现方式中,所述根据所述第二预估位姿,对所述第一预估位姿进行修正,得到所述电子设备的目标位姿,包括:确定所述电子设备在t时刻的第二预估位姿对应的目标权重;基于预设融合算法和所述目标权重,对所述电子设备在t时刻的第一预估位姿和所述电子设备在t时刻的第二预估位姿进行融合,得到所述电子设备在t时刻的目标位姿。
在一种可能的实现方式中,所述确定所述电子设备在t时刻的第二预估位姿对应的目标权重,包括:确定所述电子设备在t-x时刻的视觉预估位姿对应的第一定位不确定度;根据所述第一定位不确定度,确定所述目标权重。
在一种可能的实现方式中,所述根据所述第一定位不确定度,确定所述目标权重,包括:将所述第一定位不确定度确定为所述目标权重。
在一种可能的实现方式中,所述方法还包括:确定第二积分结果对应的第二定位不确定度,所述第二积分结果为对所述惯性传感器在t-x时刻至t时刻之间采样得到的第二惯性数据进行积分得到的;所述根据所述第一定位不确定度,确定所述目标权重,包括:将所述第一定位不确定度和所述第二定位不确定度进行融合,得到所述目标权重。
根据本公开的一方面,提供了一种位姿确定装置,包括:第一位姿确定模块,用于基于惯性定位算法,根据电子设备的惯性传感器采样得到的惯性数据,确定所述电子设备的第一预估位姿;第二位姿确定模块,用于基于预设定位算法,确定所述电子设备的第二预估位姿;位姿修正模块,用于根据所述第二预估位姿,对所述第一预估位姿进行修正,得到所述电子设备的目标位姿。
在一种可能的实现方式中,所述第一位姿确定模块,包括:第一积分子模块,用于对所述惯性传感器在t-1时刻至t时刻之间采样得到的第一惯性数据进行积分,得到第一积分结果;第一融合子模块,用于将所述第一积分结果和所述电子设备在t-1时刻的第一预估位姿进行融合,得到所述电子设备在t时刻的第一预估位姿。
在一种可能的实现方式中,所述预设定位算法包括视觉定位算法;所述第二位姿确定模块,包括:第一确定子模块,用于根据所述电子设备的视觉传感器在t-x时刻采样得到的环境图像,确定所述电子设备在t-x时刻的视觉预估位姿,t-x时刻是与t时刻最邻近的所述视觉传感器的采样时刻,x大于或等于0;第二确定子模块,用于将所述电子设备在t-x时刻的视觉预估位姿,确定为所述电子设备在t时刻的第二预估位姿。
在一种可能的实现方式中,所述预设定位算法包括视觉惯性定位算法;所述第二位姿确定模块,包括:第三确定子模块,用于根据所述电子设备的视觉传感器在t-x时刻采样得到的环境图像,确定所述电子设备在t-x时刻的视觉预估位姿,t-x时刻是与t时刻最邻近的所述视觉传感器的采样时刻,x大于或等于0;第二积分子模块,用于对所述惯性传感器在t-x时刻至t时刻之间采样得到的第二惯性数据进行积分,得到第二积分结果;第二融合子模块,用于将所述第二积分结果和所述电子设备在t-x时刻的视觉预估位姿进行融合,得到所述电子设备在t时刻的第二预估位姿。
在一种可能的实现方式中,所述位姿修正模块,包括:第四确定子模块,用于确定所述电子设备在t时刻的第二预估位姿对应的目标权重;第三融合子模块,用于基于预设融合算法和所述目标权重,对所述电子设备在t时刻的第一预估位姿和所述电子设备在t时刻的第二预估位姿进行融合,得到所述电子设备在t时刻的目标位姿。
在一种可能的实现方式中,所述第四确定子模块,包括:第一确定单元,用于确定所述电子设备在t-x时刻的视觉预估位姿对应的第一定位不确定度;第二确定单元,用于根据所述第一定位不确定度,确定所述目标权重。
在一种可能的实现方式中,所述第二确定单元,具体用于:将所述第一定位不确定度确定为所述目标权重。
在一种可能的实现方式中,所述装置还包括:第五确定子模块,用于确定第二积分结果对应的第二定位不确定度,所述第二积分结果为对所述惯性传感器在t-x时刻至t时刻之间采样得到的第二惯性数据进行积分得到的;所述第二确定单元,具体用于:将所述第一定位不确定度和所述第二定位不确定度进行融合,得到所述目标权重。
根据本公开的一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
根据本公开的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。
在本公开实施例中,基于具有高频平滑输出特性的惯性定位算法,根据电子设备的惯性传感器采样得到的惯性数据,确定电子设备的第一预估位姿,并基于定位精度较高的预设定位算法,确定电子设备的第二预估位姿,进而根据高精度的第二预估位姿,对高频平滑的第一预估位姿进行修正,得到高频平滑且精度较高的电子设备的目标位姿,从而实现对电子设备的高频平滑高精度定位。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1示出根据本公开实施例的一种位姿确定方法的流程图;
图2示出根据本公开实施例的一种位姿确定装置的框图;
图3示出根据本公开实施例的一种电子设备的框图;
图4示出根据本公开实施例的一种电子设备的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
图1示出根据本公开实施例的一种位姿确定方法的流程图。如图1所示,该位姿确定方法可以包括:
在步骤S11中,基于惯性定位算法,根据电子设备的惯性传感器采样得到的惯性数据,确定电子设备的第一预估位姿。
电子设备可以是地理位置可变更的设备,地理位置的变更可以是电子设备自主变更,也可以是由外力导致的变更。电子设备例如可以是移动设备(例如智能手机、智能眼镜、平板电脑等)、车辆、船舶、飞行器等电子设备,或者也可以是机器人,例如扫地机器人、搬运机器人等等。
电子设备中设置有惯性传感器,惯性传感器(Inertial measurement unit,IMU)可以包括加速度计和/或陀螺仪,惯性数据包括加速度计采样得到的加速度数据,和/或,陀螺仪采样得到的陀螺仪数据。
位姿可以包括位置和姿态,位置用于指示电子设备的地理位置,姿态用于指示电子设备的方向。
电子设备的第一预估位姿,可以是基于惯性定位算法,对电子设备的惯性传感器采样得到的惯性数据进行积分得到的。
在步骤S12中,基于预设定位算法,确定电子设备的第二预估位姿。
预设定位算法可以是惯性定位算法以外的其它定位算法,预设定位算法的定位精度可以高于惯性定位算法的定位精度。基于预设定位算法,可以对电子设备进行定位,得到电子设备的第二预估位姿。
在步骤S13中,根据第二预估位姿,对第一预估位姿进行修正,得到电子设备的目标位姿。
由于预设定位算法的定位精度高于惯性定位算法,因此可以利用基于预设定位算法确定的电子设备的第二预估位姿,对基于惯性定位算法确定的电子设备的第一预估位姿进行修正,以得到精度较高且平滑高频输出的电子设备的目标位姿。
在本公开实施例中,基于具有高频平滑输出特性的惯性定位算法,根据电子设备的惯性传感器采样得到的惯性数据,确定电子设备的第一预估位姿,并基于定位精度较高的预设定位算法,确定电子设备的第二预估位姿,进而根据高精度的第二预估位姿,对高频平滑的第一预估位姿进行修正,得到高频平滑且精度较高的电子设备的目标位姿,从而实现对电子设备的高频平滑高精度定位。
本公开实施例的位姿确定方法主要包括三个流程:数据预处理、运动估计和运动估计修正。电子设备中包括:用于进行数据预处理的预处理模块,用于进行运动估计的运动估计模块,以及用于进行运动估计修正的运动估计修正模块。
电子设备的惯性传感器(IMU)持续对惯性数据进行采样,并将采样得到的惯性数据输入预处理模块,预处理模块对预设时长的惯性数据进行缓存。预设时长至少是预设定位算法对应的两个周期的时长。进而预处理模块将缓存的最新惯性数据输入运动估计模块。
运功估计模块根据惯性数据进行运动估计,实时估计惯性传感器IMU状态。IMU状态变量Xi=[P,q,V,ba,bg],其中,P是IMU的位置,q是IMU的姿态,V是IMU的速度,ba是加速度计偏差,bg是陀螺仪偏差。根据IMU状态变量,可以确定电子设备的第一预估位姿。
在一种可能的实现方式中,在根据预设定位算法进行定位时可以估计加速度计偏差和/或陀螺仪偏差的情况下,运动估计模块可以不对加速度计偏差和/或陀螺仪偏差进行估计,即IMU状态变量Xi=[P,q,V]。
在一种可能的实现方式中,基于惯性定位算法,根据电子设备的惯性传感器采样得到的惯性数据,确定电子设备的第一预估位姿,包括:对惯性传感器在t-1时刻至t时刻之间采样得到的第一惯性数据进行积分,得到第一积分结果;将第一积分结果和电子设备在t-1时刻的第一预估位姿进行融合,得到电子设备在t时刻的第一预估位姿。
当最新惯性数据输入运动估计模块之后,通过对t-1时刻至当前t时刻之间采样得到的第一惯性数据进行积分,可以得到第一积分结果,进而通过将第一积分结果和电子设备在t-1时刻的第一预估位姿进行融合,可以得到电子设备在当前t时刻的第一预估位姿,从而实现实时估计电子设备的第一预估位姿。t-1时刻和t时刻可以是惯性传感器的相邻采样时刻,以使得第一预估位姿的定位频率和惯性传感器的采样频率相同,从而实现高频定位。
在一示例中,运动估计模块利用t-1时刻至t时刻之间的惯性数据,对t-1时刻的IMU状态进行状态传播,主要包括估计状态均值和方差,例如,保持加速度计偏差和/或陀螺仪偏差不变,对IMU的位置、姿态和速度进行积分,得到第一积分结果,进而根据第一积分结果对t-1时刻的IMU状态进行状态传播,得到t时刻的IMU状态,以及更新状态均值和方差。根据t时刻的IMU状态,可以确定电子设备在t时刻的第一预估位姿。
由于惯性定位算法的积分过程存在累积误差,为了提高定位结果的准确性,还需利用预设定位算法,对第一预估位姿进行修正。
在一种可能的实现方式中,预设定位算法的定位精度高于惯性定位算法的定位精度,且预设定位算法的定位频率低于惯性定位算法的定位频率。
如上所述,预设定位算法可以是惯性定位算法以外的其它定位算法。例如预设定位算法可以是视觉定位算法、视觉惯性定位算法、视觉惯性雷达定位算法、多传感器融合定位算法,预设定位算法还可以是其它定位精度高于惯性定位算法,且定位频率低于惯性定位算法的定位算法,预设定位算法可以是一种定位算法,也可以是多种的定位算法的组合,本公开对此不做具体限定。
在一种可能的实现方式中,预设定位算法包括视觉定位算法;基于预设定位算法,确定电子设备的第二预估位姿,包括:根据电子设备的视觉传感器在t-x时刻采样得到的环境图像,确定电子设备在t-x时刻的视觉预估位姿,t-x时刻是与t时刻最邻近的视觉传感器的采样时刻,x大于或等于0;将电子设备在t-x时刻的视觉预估位姿,确定为电子设备在t时刻的第二预估位姿。
电子设备中设置有视觉传感器,例如视觉传感器可以是图像采集设备、相机等,视觉传感器持续进行采样得到环境图像,其中,环境图像可以是视觉传感器对当前电子设备所处的环境进行拍摄得到的图像。基于视觉定位算法,可以根据该环境图像和预设的点云地图进行视觉定位,得到用于对第一预估位姿进行修正的第二预估位姿,并将第二预估位姿输入运动估计修正模块。
视觉定位算法受限于视觉传感器的采样频率,由于视觉传感器的采样频率低于惯性传感器的采样频率,因此,视觉定位算法的定位频率低于惯性定位算法的定位频率。
在一示例中,在基于惯性定位算法,确定电子设备在t时刻的第一预估位姿之后,确定与t时刻最邻近的视觉定位时刻t-x时刻,其中,x大于或等于0,并根据视觉传感器在t-x时刻采样得到的环境图像进行视觉定位,确定电子设备在t-x的视觉预估位姿,进而将电子设备在t-x时刻的视觉预估位姿,确定为用于对电子设备在t时刻的第一预估位姿进行修正的电子设备在t时刻的第二预估位姿,并将电子设备在t时刻的第二预估位姿输入运动估计修正模块。其中,如果视觉传感器的采样时刻恰好是位姿确定的时刻,也即视觉传感器在t时刻进行了采样得到环境图像,则可以根据该环境图像进行视觉定位,确定电子设备在t时刻的视觉预估位姿,将电子设备在t时刻的视觉预估位姿确定为电子设备在t时刻的第二预估位姿(也即此时x取0);而如果传感器的采样时刻与位姿确定的时刻不是完全重合,也即视觉传感器是在t时刻之前进行采样得到了环境图像,则可确定与t时刻最邻近的采样时刻t-x时刻(此时x大于0),并根据t-x时刻采样得到的环境图像进行视觉定位,确定电子设备在t-x时刻的视觉预估位姿,将电子设备在t-x时刻的视觉预估位姿确定为电子设备在t时刻的第二预估位姿。
在一种可能的实现方式中,预设定位算法包括视觉惯性定位算法;基于预设定位算法,确定电子设备的第二预估位姿,包括:根据电子设备的视觉传感器在t-x时刻采样得到的环境图像,确定电子设备在t-x时刻的视觉预估位姿,t-x时刻是与t时刻最邻近的视觉传感器的采样时刻,x大于或等于0;对惯性传感器在t-x时刻至t时刻之间采样得到的第二惯性数据进行积分,得到第二积分结果;将第二积分结果和电子设备在t-x时刻的视觉预估位姿进行融合,得到电子设备在t时刻的第二预估位姿。其中,如果视觉传感器的采样时刻恰好是位姿确定的时刻,也即视觉传感器在t时刻进行了采样得到环境图像,则可以根据该环境图像进行视觉定位,确定电子设备在t时刻的视觉预估位姿(也即此时x取0);并将惯性传感器t时刻采样得到的第二惯性数据进行积分,得到第二积分结果,然后将第二积分结果和t时刻的视觉预估位姿进行融合,得到电子设备在t时刻的第二预估位姿。而如果传感器的采样时刻与位姿确定的时刻不是完全重合,也即视觉传感器是在t时刻之前进行采样得到了环境图像,则可确定与t时刻最邻近的采样时刻t-x时刻(此时x大于0),并根据t-x时刻采样得到的环境图像进行视觉定位,确定电子设备在t-x时刻的视觉预估位姿,并将惯性传感器t-x时刻至t时刻采样得到的第二惯性数据进行积分,得到第二积分结果,然后将第二积分结果和t-x时刻的视觉预估位姿进行融合,得到电子设备在t时刻的第二预估位姿。
在一示例中,可以通过卡尔曼滤波算法,对第二积分结果和电子设备在t-x时刻的视觉预估位姿进行融合,在具体融合过程中,会通过卡尔曼预测方程,将电子设备在t-x时刻的视觉预估位姿,与第二积分结果按比例进行融合,得到电子设备在t时刻的第二预估位姿,具体融合的比例由卡尔曼增益Kg来确定,Kg由卡尔曼更新方程根据卡尔曼预测方程的预测结果来更新,使得更新后的卡尔曼预测方程的预测结果更准确。
在一示例中,还可以通过均方根滤波算法、非线性优化算法,或其它融合算法,对第二积分结果和电子设备在t-x时刻的视觉预估位姿进行融合,本公开对此不作具体限定。
视觉惯性定位算法是使用视觉传感器和惯性传感器进行融合定位的定位算法,例如视觉惯性定位算法可以包括非线性优化定位算法VINS-Mono、OKVIS、滤波定位算法MSCKF等,本公开对此不作具体限定。
在一示例中,基于视觉传感器在t-x时刻采样得到的环境图像,确定电子设备在t-x时刻的视觉预估位姿之后,为了更精确地确定电子设备在t时刻的第二预估位姿,从预处理模块中缓存的数据中获取t-x时刻至当前t时刻之间的第二惯性数据,在可以从预设定位算法中读取到加速度计偏差和/或陀螺仪偏差的情况下,读取并更新最新的加速度计偏差和/或陀螺仪偏差,并对第二惯性数据进行积分得到第二积分结果。例如,保持加速度计偏差和/或陀螺仪偏差不变,对IMU的位置、姿态和速度进行积分,得到第二积分结果。通过将第二积分结果和电子设备在t-x时刻的视觉预估位姿进行融合,可以得到精度较高的电子设备在t时刻的第二预估位姿,并将电子设备在t时刻的第二预估位姿输入运动估计修正模块。
在一种可能的实现方式中,根据第二预估位姿,对第一预估位姿进行修正,得到电子设备的目标位姿,包括:确定电子设备在t时刻的第二预估位姿对应的目标权重;基于预设融合算法和目标权重,对电子设备在t时刻的第一预估位姿和电子设备在t时刻的第二预估位姿进行融合,得到电子设备在t时刻的目标位姿。
在一种可能的实现方式中,确定电子设备在t时刻的第二预估位姿对应的目标权重,包括:确定电子设备在t-x时刻的视觉预估位姿对应的第一定位不确定度;根据第一定位不确定度,确定目标权重。
定位不确定度是指由于误差的存在,定位结果不能被肯定的程度,或是定位结果被信赖的程度。定位不确定度越小,表示定位结果质量越高,定位精度越高;反之,定位不确定度越大,表示定位结果质量越低,定位精度越低。定位不确定度可以是根据影响定位结果准确度的多种因素确定得到的。
第一定位不确定度用于指示基于视觉定位算法确定的电子设备在t-x时刻的视觉预估位姿的可信赖程度。在一示例中,通过预先设置视觉定位算法对应的定位不确定度确定算法,使得在基于视觉定位算法确定电子设备在t-x时刻的视觉预估位姿时,可以同时确定该视觉预估位姿对应的第一定位不确定度。定位不确定度确定算法可以采用相关技术中用于确定定位不确定度的算法,本公开对此不作具体限定。
由于第一定位不确定度用于指示电子设备在t-x时刻的视觉预估位姿的可信赖程度,而电子设备在t时刻的第二预估位姿包括电子设备在t-x时刻的视觉预估位姿,因此,基于电子设备在t-x时刻的视觉预估位姿对应的第一定位不确定度,来确定电子设备在t时刻的第二预估位姿对应的目标权重,使得在基于目标权重对电子设备在t时刻的第一预估位姿和电子设备在t时刻的第二预估位姿进行融合时,充分考虑了电子设备在t时刻的第二预估位姿的可信赖程度,从而可以提高融合结果的准确度。
在一种可能的实现方式中,根据第一定位不确定度,确定所述目标权重,包括:将第一定位不确定度确定为目标权重。
在预设定位算法为视觉定位算法的情况下,电子设备在t时刻的第二预估位姿是电子设备在t-x时刻的视觉预估位姿,因此,可以直接将电子设备在t-x时刻的视觉预估位姿对应的第一定位不确定度,确定为电子设备在t时刻的第二预估位姿对应的目标权重,以使得在确定电子设备在t时刻的第二预估位姿对应的目标权重时,考虑了电子设备在t-x时刻的视觉预估位姿的可信赖程度,从而可以提高目标权重的准确度,进而可以有效提高后续融合过程的准确度。例如,电子设备在t-x时刻的视觉预估位姿对应的第一不确定度较高,即电子设备在t时刻的第二预估位姿的定位准确度较高,将电子设备在t-x时刻的视觉预估位姿对应的第一定位不确定度,确定为电子设备在t时刻的第二预估位姿对应的目标权重,可以提高融合过程中第二预估位姿的融合比例,从而可以提高融合结果的准确度。
在一种可能的实现方式中,该方法还包括:确定第二积分结果对应的第二定位不确定度,第二积分结果为对惯性传感器在t-x时刻至t时刻之间采样得到的第二惯性数据进行积分得到的;根据第一定位不确定度,确定目标权重,包括:将第一定位不确定度和第二定位不确定度进行融合,得到目标权重。
第二定位不确定度用于指示基于惯性定位算法,对惯性传感器在t-x时刻至t时刻之间采样得到的第二惯性数据进行积分得到的第二积分结果的可信赖程度。
在预设定位算法为视觉惯性定位算法的情况下,电子设备在t时刻的第二预估位姿包括电子设备在t-x时刻的视觉预估位姿,以及对惯性传感器在t-x时刻至t时刻之间采样得到的第二惯性数据进行积分得到第二积分结果,因此,可以将电子设备在t-x时刻的视觉预估位姿对应的第一定位不确定度,以及第二积分结果对应的第二定位不确定度进行融合,以得到电子设备在t时刻的第二预估位姿的目标权重,以使得在确定电子设备在t时刻的第二预估位姿的目标权重时,既考虑了电子设备在t-x时刻的视觉预估位姿的可信赖程度,又考虑了对惯性传感器在t-x时刻至t时刻之间采样得到的第二惯性数据进行积分得到第二积分结果的可信赖程度,从而可以提高目标权重的准确度,进而可以有效提高后续融合过程的准确度。
在一示例中,将第一定位不确定度和第二定位不确定度进行融合,得到目标权重,包括:将第一定位不确定度和第二定位不确定度进行相加,或相乘,以得到目标权重。
第一定位不确定度和第二定位不确定度进行融合的方式除了可以采用相加或相乘的方式以外,还可以采用其它融合方式,本公开对此不作具体限定。
在一种可能的实现方式中,还可以预先设置目标权重。例如目标权重为预先设置的固定值。目标权重的确定方式除了可以采样上述方式进行确定以外,还可以采用其它方式进行确定,本公开对此不作具体限定。
基于预设融合算法和目标权重,对电子设备在t时刻的第一预估位姿和第二预估位姿进行融合,得到电子设备在t时刻的目标位姿。
在一种可能的实现方式中,预设融合算法包括下述至少一项:卡尔曼滤波算法、均方根滤波算法、非线性优化算法。
下面以预设融合算法是非线性优化算法为例来对电子设备的第一预估位姿和第二预估位姿的融合进行详细说明。
在预设定位算法是视觉定位算法,且t时刻视觉传感器可以采集到环境图像的情况下,可以基于电子设备在t时刻的第一预估位姿和第二预估位姿,通过视觉约束来对电子设备在t时刻的目标位姿进行估计。
在一示例中,在预设定位算法是视觉定位算法的情况下,电子设备在t时刻的第二预估位姿是电子设备在t-k时刻的视觉预估位姿,根据该视觉预估位姿可以确定t-k时刻采样得到的第一环境图像对应的视觉特征,该视觉特征包括:第一环境图像中特征点i对应的2D位置信息和3D位置信息。由于t时刻视觉传感器可以采集到第二环境图像,因此,对t-k时刻采样得到的第一环境图像和t时刻采样得到的第二环境图像进行特征跟踪,得到t时刻采样得到的第二环境图像对应的视觉特征,该视觉特征包括:第二环境图像中特征点i对应的2D位置信息和3D位置信息。通过下述公式(1)对第一约束能量函数eC进行最小化优化,来实现通过视觉约束估计电子设备在t时刻的目标位姿,
其中,在对第一约束能量函数eC进行最小化优化之前,Xt是电子设备在t时刻的第一预估位姿,为t时刻采样得到的第二环境图像中特征点i对应的2D位置信息和3D位置信息,wC为eC对应的方差,其中,wC可以为预设的固定取值,也可以由视觉定位算法确定,本公开对此不作具体限定。通过对上述第一约束能量函数eC进行最小化优化,可以实现基于电子设备在t时刻的第一预估位姿和第二预估位姿,通过视觉约束来对电子设备在t时刻的目标位姿进行最优估计,在对第一约束能量函数eC进行最小化优化后之后,Xt是电子设备在t时刻的目标位姿。
在预设定位算法是视觉惯性定位算法的情况下,可以基于电子设备在t时刻的第一预估位姿和第二预估位姿,通过视觉定位约束和惯性预积分约束对电子设备在t时刻的目标位姿进行估计。
在一示例中,在预设定位算法是视觉惯性定位算法的情况下,电子设备在t时刻的第二预估位姿是电子设备在t-k时刻的视觉预估位姿,以及对惯性传感器在t-k时刻至t时刻之间采样得到第二惯性数据进行积分得到的第二积分结果进行融合之后得到的。通过下述公式(2)对第二约束能量函数eI进行最小化优化,来实现通过视觉定位约束和惯性预积分约束估计电子设备在t时刻的目标位姿,
其中,在对第一约束能量函数eI进行最小化优化之前,Xt为电子设备在t时刻的第一预估位姿,z为电子设备在t时刻的第二预估位姿,即电子设备在t-k时刻的视觉预估位姿和对惯性传感器在t-x时刻至t时刻之间采样得到的第二惯性数据进行积分得到的第二积分结果的融合,第一约束能量函数eI可以通过下述公式(3)来确定,
其中,gw是惯性传感器IMU所在的惯性坐标系下的重力参数,bt是t时刻的IMU坐标系,bt-k是t-k时刻的IMU坐标系,是对t-k时刻至t时刻之间采样得到第二惯性数据中的IMU的位置的预积分项,是对t-k时刻至t时刻之间采样得到第二惯性数据中的IMU的速度的预积分项,是对t-k时刻至t时刻之间采样得到第二惯性数据中的IMU的姿态的预积分项,是电子设备在t-k时刻的视觉预估位姿中包括的位置信息,是电子设备在t-k时刻的视觉预估位姿中包括的速度信息,是电子设备在t-k时刻的视觉预估位姿中包括的姿态信息,是电子设备在t时刻的第一预估位姿中包括的位置信息,是电子设备在t时刻的第一预估位姿中包括的速度信息,是电子设备在t时刻的第一预估位姿中包括的姿态信息。
在一示例中,还可以通过下述公式(4)为对第二约束能量函数eI进行最小化优化确定相应的权重:
其中,wP是eP对应的权重、σP是电子设备在t-k时刻的视觉预估位姿中包括的位置信息对应的方差,wV是eV对应的权重、σV是电子设备在t-k时刻的视觉预估位姿中包括的速度信息对应的方差,wq是eq对应的权重、σq是电子设备在t-k时刻的视觉预估位姿中包括的姿态信息对应的方差,和分别是第二积分结果中包括的位置信息、速度信息和姿态信息对应的方差。
通过对上述第二约束能量函数eI进行最小化优化,可以实现基于电子设备在t时刻的第一预估位姿和第二预估位姿,通过视觉定位约束和惯性预积分约束对电子设备在t时刻的目标位姿进行最优估计,在对第二约束能量函数eI进行最小化优化之后,Xt为电子设备在t时刻的目标位姿。
上述视觉约束、视觉定位约束和惯性预积分约束可以单独使用,也可以联合使用来对电子设备在t时刻的目标位姿进行估计,本公开对此不作具体限定。基于电子设备在t时刻的第一预估位姿和第二预估位姿,对电子设备在t时刻的目标位姿进行估计的方式除了上述非线性优化算法以外,还可以包括卡尔曼滤波算法、均方根滤波算法等其它方式,本公开对此不作具体限定。
在本公开实施例中,基于具有高频平滑输出特性的惯性定位算法,根据电子设备的惯性传感器采样得到的惯性数据,确定电子设备的第一预估位姿,并基于定位精度较高的预设定位算法,确定电子设备的第二预估位姿,进而根据高精度的第二预估位姿,对高频平滑的第一预估位姿进行修正,得到高频平滑且精度较高的电子设备的目标位姿,从而实现对电子设备的高频平滑高精度定位。
由于本公开实施例的位姿确定方法的计算量较小,因此,可以应用于增强现实、虚拟现实、机器人、自动驾驶、游戏、影视、教育、电子商务、旅游、智慧医疗、室内装修设计、智慧家居、智能制造、维修装配等应用场景,在移动设备中实现高频平滑高精度定位。
可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
此外,本公开还提供了位姿确定装置、电子设备、计算机可读存储介质、程序,上述均可用来实现本公开提供的任一种位姿确定方法,相应技术方案和描述和参见方法部分的相应记载,不再赘述。
图2示出根据本公开实施例的一种位姿确定装置的框图。如图2所示,装置20包括:
第一位姿确定模块21,用于基于惯性定位算法,根据电子设备的惯性传感器采样得到的惯性数据,确定电子设备的第一预估位姿;
第二位姿确定模块22,用于基于预设定位算法,确定电子设备的第二预估位姿;
位姿修正模块23,用于根据第二预估位姿,对第一预估位姿进行修正,得到电子设备的目标位姿。
在一种可能的实现方式中,第一位姿确定模块21,包括:
第一积分子模块,用于对惯性传感器在t-1时刻至t时刻之间采样得到的第一惯性数据进行积分,得到第一积分结果;
第一融合子模块,用于将第一积分结果和电子设备在t-1时刻的第一预估位姿进行融合,得到电子设备在t时刻的第一预估位姿。
在一种可能的实现方式中,预设定位算法包括视觉定位算法;
第二位姿确定模块22,包括:
第一确定子模块,用于根据电子设备的视觉传感器在t-x时刻采样得到的环境图像,确定电子设备在t-x时刻的视觉预估位姿,t-x时刻是与t时刻最邻近的视觉传感器的采样时刻,x大于或等于0;
第二确定子模块,用于将电子设备在t-x时刻的视觉预估位姿,确定为电子设备在t时刻的第二预估位姿。
在一种可能的实现方式中,预设定位算法包括视觉惯性定位算法;
第二位姿确定模块22,包括:
第三确定子模块,用于根据电子设备的视觉传感器在t-x时刻采样得到的环境图像,确定电子设备在t-x时刻的视觉预估位姿,t-x时刻是与t时刻最邻近的视觉传感器的采样时刻,x大于或等于0;
第二积分子模块,用于对惯性传感器在t-x时刻至t时刻之间采样得到的第二惯性数据进行积分,得到第二积分结果;
第二融合子模块,用于将第二积分结果和电子设备在t-x时刻的视觉预估位姿进行融合,得到电子设备在t时刻的第二预估位姿。
在一种可能的实现方式中,位姿修正模块23,包括:
第四确定子模块,用于确定电子设备在t时刻的第二预估位姿对应的目标权重;
第三融合子模块,用于基于预设融合算法和目标权重,对电子设备在t时刻的第一预估位姿和电子设备在t时刻的第二预估位姿进行融合,得到电子设备在t时刻的目标位姿。
在一种可能的实现方式中,第四确定子模块,包括:
第一确定单元,用于确定电子设备在t-x时刻的视觉预估位姿对应的第一定位不确定度;
第二确定单元,用于根据第一定位不确定度,确定目标权重。
在一种可能的实现方式中,所述第二确定单元,具体用于:
将第一定位不确定度确定为目标权重。
在一种可能的实现方式中,装置20还包括:
第五确定子模块,用于确定第二积分结果对应的第二定位不确定度,第二积分结果为对惯性传感器在t-x时刻至t时刻之间采样得到的第二惯性数据进行积分得到的;
第二确定单元,具体用于:
将第一定位不确定度和第二定位不确定度进行融合,得到目标权重。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。计算机可读存储介质可以是非易失性计算机可读存储介质。
本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,当计算机可读代码在设备上运行时,设备中的处理器执行用于实现如上任一实施例提供的位姿确定方法的指令。
本公开实施例还提供了另一种计算机程序产品,用于存储计算机可读指令,指令被执行时使得计算机执行上述任一实施例提供的位姿确定方法的操作。
电子设备可以被提供为终端、服务器或其它形态的设备。
图3示出根据本公开实施例的一种电子设备的框图。如图3所示,电子设备800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等终端。
参照图3,电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在电子设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为电子设备800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述电子设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当电子设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到电子设备800的打开/关闭状态,组件的相对定位,例如所述组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如互补金属氧化物半导体(CMOS)或电荷耦合装置(CCD)图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如无线网络(WiFi),第二代移动通信技术(2G)或第三代移动通信技术(3G),或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器804,上述计算机程序指令可由电子设备800的处理器820执行以完成上述方法。
图4示出根据本公开实施例的一种电子设备的框图。如图4所示,电子设备1900可以被提供为一服务器。参照图4,电子设备1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输出(I/O)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如微软服务器操作系统(Windows ServerTM),苹果公司推出的基于图形用户界面操作系统(Mac OSXTM),多用户多进程的计算机操作系统(UnixTM),自由和开放原代码的类Unix操作系统(LinuxTM),开放原代码的类Unix操作系统(FreeBSDTM)或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由电子设备1900的处理组件1922执行以完成上述方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是(但不限于)电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (11)
1.一种位姿确定方法,其特征在于,包括:
基于惯性定位算法,根据电子设备的惯性传感器采样得到的惯性数据,确定所述电子设备的第一预估位姿;
基于预设定位算法,确定所述电子设备的第二预估位姿;
根据所述第二预估位姿,对所述第一预估位姿进行修正,得到所述电子设备的目标位姿。
2.根据权利要求1所述的方法,其特征在于,所述基于惯性定位算法,根据电子设备的惯性传感器采样得到的惯性数据,确定所述电子设备的第一预估位姿,包括:
对所述惯性传感器在t-1时刻至t时刻之间采样得到的第一惯性数据进行积分,得到第一积分结果;
将所述第一积分结果和所述电子设备在t-1时刻的第一预估位姿进行融合,得到所述电子设备在t时刻的第一预估位姿。
3.根据权利要求2所述的方法,其特征在于,所述预设定位算法包括视觉定位算法;
所述基于预设定位算法,确定所述电子设备的第二预估位姿,包括:
根据所述电子设备的视觉传感器在t-x时刻采样得到的环境图像,确定所述电子设备在t-x时刻的视觉预估位姿,t-x时刻是与t时刻最邻近的所述视觉传感器的采样时刻,x大于或等于0;
将所述电子设备在t-x时刻的视觉预估位姿,确定为所述电子设备在t时刻的第二预估位姿。
4.根据权利要求2所述的方法,其特征在于,所述预设定位算法包括视觉惯性定位算法;
所述基于预设定位算法,确定所述电子设备的第二预估位姿,包括:
根据所述电子设备的视觉传感器在t-x时刻采样得到的环境图像,确定所述电子设备在t-x时刻的视觉预估位姿,t-x时刻是与t时刻最邻近的所述视觉传感器的采样时刻,x大于或等于0;
对所述惯性传感器在t-x时刻至t时刻之间采样得到的第二惯性数据进行积分,得到第二积分结果;
将所述第二积分结果和所述电子设备在t-x时刻的视觉预估位姿进行融合,得到所述电子设备在t时刻的第二预估位姿。
5.根据权利要求3或4所述的方法,其特征在于,所述根据所述第二预估位姿,对所述第一预估位姿进行修正,得到所述电子设备的目标位姿,包括:
确定所述电子设备在t时刻的第二预估位姿对应的目标权重;
基于预设融合算法和所述目标权重,对所述电子设备在t时刻的第一预估位姿和所述电子设备在t时刻的第二预估位姿进行融合,得到所述电子设备在t时刻的目标位姿。
6.根据权利要求5所述的方法,其特征在于,所述确定所述电子设备在t时刻的第二预估位姿对应的目标权重,包括:
确定所述电子设备在t-x时刻的视觉预估位姿对应的第一定位不确定度;
根据所述第一定位不确定度,确定所述目标权重。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第一定位不确定度,确定所述目标权重,包括:
将所述第一定位不确定度确定为所述目标权重。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
确定第二积分结果对应的第二定位不确定度,所述第二积分结果为对所述惯性传感器在t-x时刻至t时刻之间采样得到的第二惯性数据进行积分得到的;
所述根据所述第一定位不确定度,确定所述目标权重,包括:
将所述第一定位不确定度和所述第二定位不确定度进行融合,得到所述目标权重。
9.一种位姿确定装置,其特征在于,包括:
第一位姿确定模块,用于基于惯性定位算法,根据电子设备的惯性传感器采样得到的惯性数据,确定所述电子设备的第一预估位姿;
第二位姿确定模块,用于基于预设定位算法,确定所述电子设备的第二预估位姿;
位姿修正模块,用于根据所述第二预估位姿,对所述第一预估位姿进行修正,得到所述电子设备的目标位姿。
10.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为调用所述存储器存储的指令,以执行权利要求1至8中任意一项所述的方法。
11.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至8中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110281141.5A CN113074726A (zh) | 2021-03-16 | 2021-03-16 | 位姿确定方法及装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110281141.5A CN113074726A (zh) | 2021-03-16 | 2021-03-16 | 位姿确定方法及装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113074726A true CN113074726A (zh) | 2021-07-06 |
Family
ID=76612616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110281141.5A Pending CN113074726A (zh) | 2021-03-16 | 2021-03-16 | 位姿确定方法及装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113074726A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114427863A (zh) * | 2022-04-01 | 2022-05-03 | 天津天瞳威势电子科技有限公司 | 车辆定位方法及系统、自动泊车方法及系统、存储介质 |
CN115342806A (zh) * | 2022-07-14 | 2022-11-15 | 歌尔股份有限公司 | 头戴显示设备的定位方法、装置、头戴显示设备及介质 |
CN115844381A (zh) * | 2022-12-05 | 2023-03-28 | 立讯精密科技(南京)有限公司 | 一种人体动作识别方法、装置、电子设备和存储介质 |
WO2023185354A1 (zh) * | 2022-04-02 | 2023-10-05 | 腾讯科技(深圳)有限公司 | 实景导航方法、装置、设备及存储介质、程序产品 |
WO2024108394A1 (zh) * | 2022-11-22 | 2024-05-30 | 北京小米移动软件有限公司 | 姿态获取方法和装置、虚拟现实设备、可读存储介质 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101241011A (zh) * | 2007-02-28 | 2008-08-13 | 北京北科天绘科技有限公司 | 激光雷达平台上高精度定位、定姿的装置和方法 |
CN101793517A (zh) * | 2010-02-09 | 2010-08-04 | 北京航空航天大学 | 一种提高机载平台定姿精度的在线快速方法 |
CN104364823A (zh) * | 2012-06-14 | 2015-02-18 | 高通股份有限公司 | 视觉辅助惯性相机姿势估计与仅基于视觉的相机姿势估计之间的自适应性切换 |
CN107063246A (zh) * | 2017-04-24 | 2017-08-18 | 齐鲁工业大学 | 一种视觉导航/惯性导航的松散组合导航方法 |
CN109099912A (zh) * | 2017-08-11 | 2018-12-28 | 黄润芳 | 室外精确定位导航方法、装置、电子设备及存储介质 |
US20190219400A1 (en) * | 2017-12-29 | 2019-07-18 | Comnav Technology Ltd. | Integrated navigation system and positioning method thereof |
CN110207714A (zh) * | 2019-06-28 | 2019-09-06 | 广州小鹏汽车科技有限公司 | 一种确定车辆位姿的方法、车载系统及车辆 |
CN110352331A (zh) * | 2018-04-25 | 2019-10-18 | 深圳市大疆创新科技有限公司 | 手持云台的姿态解算的方法和云台系统 |
CN111174782A (zh) * | 2019-12-31 | 2020-05-19 | 智车优行科技(上海)有限公司 | 位姿估计方法、装置、电子设备及计算机可读存储介质 |
CN111221010A (zh) * | 2020-01-08 | 2020-06-02 | 安徽逻根农业科技有限公司 | 一种巡检节点精准定位方法和系统 |
CN111595333A (zh) * | 2020-04-26 | 2020-08-28 | 武汉理工大学 | 视觉惯性激光数据融合的模块化无人车定位方法及系统 |
CN111882607A (zh) * | 2020-07-14 | 2020-11-03 | 中国人民解放军军事科学院国防科技创新研究院 | 一种适用于增强现实应用的视觉惯导融合位姿估计方法 |
CN112097768A (zh) * | 2020-11-17 | 2020-12-18 | 深圳市优必选科技股份有限公司 | 机器人位姿的确定方法、装置、机器人及存储介质 |
CN112179336A (zh) * | 2019-07-02 | 2021-01-05 | 南京理工大学 | 基于双目视觉和惯导组合定位的自动行李运输方法 |
CN112287928A (zh) * | 2020-10-20 | 2021-01-29 | 深圳市慧鲤科技有限公司 | 一种提示方法、装置、电子设备及存储介质 |
-
2021
- 2021-03-16 CN CN202110281141.5A patent/CN113074726A/zh active Pending
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101241011A (zh) * | 2007-02-28 | 2008-08-13 | 北京北科天绘科技有限公司 | 激光雷达平台上高精度定位、定姿的装置和方法 |
CN101793517A (zh) * | 2010-02-09 | 2010-08-04 | 北京航空航天大学 | 一种提高机载平台定姿精度的在线快速方法 |
CN104364823A (zh) * | 2012-06-14 | 2015-02-18 | 高通股份有限公司 | 视觉辅助惯性相机姿势估计与仅基于视觉的相机姿势估计之间的自适应性切换 |
CN107063246A (zh) * | 2017-04-24 | 2017-08-18 | 齐鲁工业大学 | 一种视觉导航/惯性导航的松散组合导航方法 |
CN109099912A (zh) * | 2017-08-11 | 2018-12-28 | 黄润芳 | 室外精确定位导航方法、装置、电子设备及存储介质 |
US20190219400A1 (en) * | 2017-12-29 | 2019-07-18 | Comnav Technology Ltd. | Integrated navigation system and positioning method thereof |
CN110352331A (zh) * | 2018-04-25 | 2019-10-18 | 深圳市大疆创新科技有限公司 | 手持云台的姿态解算的方法和云台系统 |
CN110207714A (zh) * | 2019-06-28 | 2019-09-06 | 广州小鹏汽车科技有限公司 | 一种确定车辆位姿的方法、车载系统及车辆 |
CN112179336A (zh) * | 2019-07-02 | 2021-01-05 | 南京理工大学 | 基于双目视觉和惯导组合定位的自动行李运输方法 |
CN111174782A (zh) * | 2019-12-31 | 2020-05-19 | 智车优行科技(上海)有限公司 | 位姿估计方法、装置、电子设备及计算机可读存储介质 |
CN111221010A (zh) * | 2020-01-08 | 2020-06-02 | 安徽逻根农业科技有限公司 | 一种巡检节点精准定位方法和系统 |
CN111595333A (zh) * | 2020-04-26 | 2020-08-28 | 武汉理工大学 | 视觉惯性激光数据融合的模块化无人车定位方法及系统 |
CN111882607A (zh) * | 2020-07-14 | 2020-11-03 | 中国人民解放军军事科学院国防科技创新研究院 | 一种适用于增强现实应用的视觉惯导融合位姿估计方法 |
CN112287928A (zh) * | 2020-10-20 | 2021-01-29 | 深圳市慧鲤科技有限公司 | 一种提示方法、装置、电子设备及存储介质 |
CN112097768A (zh) * | 2020-11-17 | 2020-12-18 | 深圳市优必选科技股份有限公司 | 机器人位姿的确定方法、装置、机器人及存储介质 |
Non-Patent Citations (1)
Title |
---|
顾洪洋;方针;刘宇;张泽欣;付乐乐;: "基于卡尔曼滤波的视觉辅助惯导定位算法研究", 电子质量, no. 03, 20 March 2020 (2020-03-20) * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114427863A (zh) * | 2022-04-01 | 2022-05-03 | 天津天瞳威势电子科技有限公司 | 车辆定位方法及系统、自动泊车方法及系统、存储介质 |
WO2023185354A1 (zh) * | 2022-04-02 | 2023-10-05 | 腾讯科技(深圳)有限公司 | 实景导航方法、装置、设备及存储介质、程序产品 |
CN115342806A (zh) * | 2022-07-14 | 2022-11-15 | 歌尔股份有限公司 | 头戴显示设备的定位方法、装置、头戴显示设备及介质 |
WO2024108394A1 (zh) * | 2022-11-22 | 2024-05-30 | 北京小米移动软件有限公司 | 姿态获取方法和装置、虚拟现实设备、可读存储介质 |
CN115844381A (zh) * | 2022-12-05 | 2023-03-28 | 立讯精密科技(南京)有限公司 | 一种人体动作识别方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113074726A (zh) | 位姿确定方法及装置、电子设备和存储介质 | |
CN111540000B (zh) | 场景深度和相机运动预测方法及装置、电子设备和介质 | |
CN111551191B (zh) | 传感器外参数标定方法及装置、电子设备和存储介质 | |
CN112229424B (zh) | 视觉惯性系统的参数标定方法及装置、电子设备和介质 | |
CN111323007B (zh) | 定位方法及装置、电子设备和存储介质 | |
CN111401230B (zh) | 姿态估计方法及装置、电子设备和存储介质 | |
CN111881827B (zh) | 目标检测方法及装置、电子设备和存储介质 | |
JP7182020B2 (ja) | 情報処理方法、装置、電子機器、記憶媒体およびプログラム | |
CN110865405A (zh) | 融合定位方法及装置、移动设备控制方法及电子设备 | |
CN113052874B (zh) | 目标跟踪方法及装置、电子设备和存储介质 | |
CN112432637B (zh) | 定位方法及装置、电子设备和存储介质 | |
CN112945207B (zh) | 目标定位方法及装置、电子设备和存储介质 | |
CN111860373B (zh) | 目标检测方法及装置、电子设备和存储介质 | |
CN112541971A (zh) | 点云地图构建方法及装置、电子设备和存储介质 | |
CN112433211A (zh) | 一种位姿确定方法及装置、电子设备和存储介质 | |
CN112837372A (zh) | 数据生成方法及装置、电子设备和存储介质 | |
CN112767541B (zh) | 三维重建方法及装置、电子设备和存储介质 | |
CN113538701A (zh) | 渲染位置预测方法及装置、电子设备和存储介质 | |
CN112683262A (zh) | 定位方法及装置、电子设备和存储介质 | |
CN112308878A (zh) | 一种信息处理方法、装置、电子设备和存储介质 | |
CN114549983A (zh) | 计算机视觉模型训练方法及装置、电子设备和存储介质 | |
CN112461245A (zh) | 数据处理方法及装置、电子设备和存储介质 | |
CN112035583B (zh) | 定位更新方法、装置和系统、移动设备控制方法及装置 | |
CN112837361B (zh) | 一种深度估计方法及装置、电子设备和存储介质 | |
CN115164874A (zh) | 确定位姿的方法及装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |