一种基于激光定位的室内定位方法及装置与流程

文档序号:13235110阅读:591来源:国知局
一种基于激光定位的室内定位方法及装置与流程

本发明涉及定位技术领域,尤其涉及一种基于激光定位的室内定位方法及装置。



背景技术:

激光定位技术是一种常见的室内定位技术,激光定位通过在定位空间内搭建发射激光的定位灯塔,对定位空间进行激光扫射,在被定位物体上设置多个激光接收感应器,并通过计算机对数据进行运算处理,从而输出三维空间坐标信息。

现有激光定位方案通常是根据外部激光扫射数据定位接收端的空间坐标信息,再通过内置imu来实时输出接收端的转动自由度。在一定程度上可以满足一般的定位需求,但是在待定位物体处在有障碍物遮挡的情况下,或者处在激光扫射的边界时,激光无法扫射到,从而无法对遮挡的物体进行定位。同时,激光光塔的扫射周期受转子转动的角速度约束,时间较长,导致最终输出数据频率较慢,增加系统延迟,在体验虚拟现实设备时,易引起眩晕等,体验较差。



技术实现要素:

有鉴于此,本发明提供一种基于激光定位的室内定位方法及装置来解决已有技术中有障碍物遮挡的情况下无法进行定位的问题。

具体地,本发明是通过如下技术方案实现的:

本发明提供一种基于激光定位的室内定位方法,所述方法包括:

判断当前周期是否从缓存中获取被定位物体的激光扫射数据;

若是,则根据所述激光扫射数据计算待定位物体在所述当前周期的定位数据;

若否,则根据上一个周期计算的被定位物体的定位数据和当前周期从缓存中获取的惯性传感器数据计算待定位物体在当前周期的定位数据。

作为一个实施例,所述根据上一个周期计算的被定位物体的定位数据和当前周期从缓存中获取的惯性传感器数据计算待定位物体在当前周期的定位数据,具体为:

以当前周期的上一个周期计算的被定位物体的定位数据与当前周期从缓存中获取的惯性传感器数据之和作为待定位物体在当前周期的定位数据。

作为一个实施例,所述惯性传感器数据的采集周期小于所述激光扫射数据的采集周期;

所述当前周期的时间间隔与所述惯性传感器数据的采集周期的时间间隔相同。

作为一个实施例,所述方法还包括:

如果预设时间内从缓存中未获取被定位物体的激光扫射数据,则停止计算定位数据;所述预设时间大于所述激光扫射数据的采集周期。

基于相同的构思,本发明还提供一种基于激光定位的室内定位装置,所述装置包括:

判断单元,用于判断当前周期是否从缓存中获取被定位物体的激光扫射数据;

第一计算单元,用于若在当前周期从缓存中获取被定位物体的激光扫射数据,则根据所述激光扫射数据计算待定位物体在所述当前周期的定位数据;

第二计算单元,用于若在当前周期未从缓存中获取被定位物体的激光扫射数据,则根据上一个周期计算的被定位物体的定位数据和当前周期从缓存中获取的惯性传感器数据计算待定位物体在当前周期的定位数据。

作为一个实施例,所述第二计算单元,具体用于以当前周期的上一个周期计算的被定位物体的定位数据与当前周期从缓存中获取的惯性传感器数据之和作为待定位物体在当前周期的定位数据。

作为一个实施例,所述惯性传感器数据的采集周期小于所述激光扫射数据的采集周期;

所述当前周期的时间间隔与所述惯性传感器数据的采集周期的时间间隔相同。

作为一个实施例,所述装置还包括:

计算停止单元,用于如果预设时间内从缓存中未获取被定位物体的激光扫射数据,则停止计算定位数据;所述预设时间大于所述激光扫射数据的采集周期。

由此可见,本发明提供的基于激光定位的室内定位方法及装置可以使计算机判断当前周期是否从缓存中获取被定位物体的激光扫射数据,如果获取到,则说明当前周期待定位物体没有被遮挡,因此可以根据所述激光扫射数据计算待定位物体在所述当前周期的定位数据;如果没有获取到,则说明当前周期待定位物体可能被障碍物遮挡,因此可以根据上一个周期计算的被定位物体的定位数据和当前周期从缓存中获取的惯性传感器数据计算待定位物体在当前周期的定位数据。相比于现有技术中在有障碍物遮挡的情况下,无法对待定位物体进行定位的情况,本发明可以通过惯性传感器的位移数据来弥补激光扫射数据缺失的问题,从而保证定位的准确性;此外由于惯性传感器的数据采集频率很高,因此可以提高输出数据频率,降低系统延迟,提升用户体验。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一种示例性实施方式中的室内定位布局示意图;

图2是本发明一种示例性实施方式中的一种基于激光定位的室内定位方法的处理流程图;

图3是本发明一种示例性实施方式中的定位时间轴示意图;

图4是本发明一种示例性实施方式中的基于激光定位的室内定位装置所在设备的硬件结构图;

图5是本发明一种示例性实施方式中的一种基于激光定位的室内定位装置的逻辑结构图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

在对本发明实施例进行详细地解释说明之前,先对本发明实施例的应用场景予以说明。请参见图1,是本发明一种示例性实施方式中的室内定位布局示意图,本方案包括激光发射装置11、激光接收装置12、计算机13,其中激光发射装置11安装在室内,该激光发射装置11可以发射扇面激光,先由左至右,再由下至上不断进行激光扫描,通常室内安装至少两个激光发射装置,这两个激光发射装置可以安装在室内顶部的对角线位置,如图1所示;激光接收装置12通常安装在待定位物体14上,例如待定位物体为人的情况下,激光接收装置12可以做成帽子佩戴在其身上,所述激光接收装置12包括激光接收传感器121、惯性传感器122、处理器123,其中激光接收传感器121接收激光发射装置11的激光扫射数据;惯性传感器122用于获取惯性传感器数据,惯性传感器定位是通过估计待定位物体的运动状态,推测运动轨迹,得到相对初始点或者参考点的相对位置,其优点是输出频率高,约1000hz,缺点是存在误差累计,时间越长,误差越大;处理器123用于分别读取激光扫射数据和惯性传感器数据至设备的缓存区,并将激光扫射数据和惯性传感器数据分别存储至缓存一1231和缓存二1232中;计算机13不断轮询从激光接收装置12的缓存一1231和缓存二1232读取激光扫射数据和惯性传感器数据,经算法计算,得到待定位物体的位置和姿态,并输出。

现有技术中,激光定位技术是通过对定位空间进行激光扫射,在待定位物体上设计多个激光接收器,并在接收端对数据进行运算处理,直接输出三维空间坐标信息。已有的激光定位方案通常是根据外部激光扫射数据定位接收端的空间坐标信息,再通过内置imu来实时输出接收端的转动自由度,可以满足一般的定位需求,但是在待定位物体处在有障碍物遮挡的情况下,激光无法扫射到,从而无法对待遮挡的物体进行定位。激光发射装置的扫射周期受转子转动的角速度约束,时间较长,导致最终输出数据频率较慢(约100hz),系统延迟较大。

为了解决已有技术中障碍物遮挡导致的定位不准确的问题,本发明提供的基于激光定位的室内定位方法及装置可以使计算机判断当前周期是否从缓存中获取被定位物体的激光扫射数据,如果获取到,则说明当前周期待定位物体没有被遮挡,因此可以根据所述激光扫射数据计算待定位物体在所述当前周期的定位数据;如果没有获取到,则说明当前周期待定位物体可能被障碍物遮挡,因此可以根据上一个周期计算的被定位物体的定位数据和当前周期从缓存中获取的惯性传感器数据计算待定位物体在当前周期的定位数据。相比于现有技术中在有障碍物遮挡的情况下,无法对待定位物体进行定位的情况,本发明可以通过惯性传感器的位移数据来弥补激光扫射数据缺失的问题,从而保证定位的准确性;此外由于惯性传感器的数据采集频率很高,因此可以提高输出数据频率,降低系统延迟,提升用户体验。

请参考图2,是本发明一种示例性实施方式中的一种基于激光定位的室内定位方法的处理流程图,该方法包括:

步骤201、判断当前周期是否从缓存中获取被定位物体的激光扫射数据;若是,则转步骤202;若否,则转步骤203;

在本实施例中,待定位物体14上安装激光接收装置12,处理器123可以周期性的采集激光扫射数据和惯性传感器数据;其中激光扫射数据即激光扇面扫射时到激光接收传感器121接收到激光信号的时间差(△tx,△ty);惯性传感器122通过内置的三轴陀螺仪、加速度计、磁力计测得的数据,经过惯性传感器中的微处理器计算,得到惯性传感器测得的待定位物体的位移(△x,△y,△z)及旋转角度(△α,△β,△γ)。

作为一个实施例,当前周期是指输出定位数据的周期,所述当前周期的时间间隔与所述惯性传感器数据的采集周期的时间间隔相同,且所述惯性传感器数据的采集周期小于所述激光扫射数据的采集周期。例如,激光扫射周期为t,惯性传感器输出周期为t,则输出定位数据的周期的当前周期为t,并且激光扫射周期t大于惯性传感器周期t,两者之间的关系可以用n=t/t来表示,其中n向下取整数,示例的,如果t与t的比值为3.6,则n取为整数3。例如,处理器123在一个激光扫射周期t1读取的激光扫射数据存储到缓存一1231,即t1:(△tx,△ty),同时在该激光扫射周期t1中处理器123可以读取n个周期的惯性传感器数据存储到缓存二1232中,即t1:(△x1,△y1,△z1),(△α1,△β1,△γ1)……tn:(△xn,△yn,△zn),(△αn,△βn,△γn)。

在本实施例中,计算机13在当前周期内需要判断是否从激光接收装置12的缓存中读取激光扫射数据,也即当前周期的待定位物体被遮挡时,激光接收装置12的缓存中不存在当前周期的激光扫射数据,从而可以根据计算机13在当前周期内需要判断是否从激光接收装置12的缓存中读取激光扫射数据,确定当前周期的待定位物体是否被遮挡。若是,则转步骤202;若否,则转步骤203。

步骤202、根据所述激光扫射数据计算待定位物体在所述当前周期的定位数据;

当计算机13在当前周期内获取到激光扫射数据时,说明当前周期的待定位物体没有被遮挡,从而能够采集到激光扫射数据,因此可以根据所述激光扫射数据计算待定位物体在所述当前周期的定位数据。例如激光扫射数据为t1:(△tx,△ty),根据计算出该待定位物体的位置和旋转角度,即t1(x1,y1,z1),(α1,β1,γ1),具体计算过程可参考现有技术中的激光定位计算过程,此处不再赘述。

步骤203、根据上一个周期计算的被定位物体的定位数据和当前周期从缓存中获取的惯性传感器数据计算待定位物体在当前周期的定位数据。

当计算机13在当前周期内获取到激光扫射数据时,说明当前周期的待定位物体可能被遮挡,从而无法采集到激光扫射数据,因此可以根据上一个周期计算的被定位物体的定位数据,例如s1(x1,y1,z1),(α1,β1,γ1)和当前周期从缓存中获取的惯性传感器数据,例如t2(△x2,△y2,△z2),(△α2,△β2,△γ2)计算待定位物体在当前周期的定位数据。具体来讲,计算机13可以以当前周期的上一个周期计算的被定位物体的定位数据与当前周期从缓存中获取的惯性传感器数据之和作为待定位物体在当前周期的定位数据,即。s2=s1(x1,y1,z1),(α1,β1,γ1)+t2(△x2,△y2,△z2),(△α2,△β2,△γ2)=(x1+△x2,y1+△y2,z1+△z2),(α1+△α2,β1+△β2,γ1+△γ2),从而计算出当前周期待定位物体的位置和旋转角度,并输出。

相比于现有技术中激光定位无法在有障碍物遮挡的情况下实现定位,本发明可以在有障碍物遮挡时,即获取不到激光扫射数据时,根据上个周期的定位数据以及当前周期的惯性传感器数据来计算定位数据,从而实现定位。另外,由于惯性传感器的输出频率远大于激光扫射频率,因此可以提高定位数据的输出频率,使定位更具实时性。

作为一个实施例,如果预设时间内从缓存中未获取被定位物体的激光扫射数据,则停止计算定位数据,其中所述预设时间大于所述激光扫射数据的采集周期,例如预设时间为激光扫射数据采集周期的5倍,具体的预设时间长度可以根据用户实际需求设定,此处不做限定。由于惯性传感器存在一定累计误差,长时间使用惯性传感器数据时,会导致定位不准确,而激光扫射数据相对比较准确,因此本发明只建议在短时间无法获取到激光扫射数据时,采用惯性传感器数据计算定位数据,如果长时间仍无法获取激光扫射数据,则为了保证定位准确性,此时应停止通过惯性传感器数据计算定位数据,并且停止输出定位数据。

为使本发明的目的、技术方案及优点更加清楚明白,下面结合图3对本发明的方案作进一步地详细说明。

请参考图3是本发明一种示例性实施方式中的定位时间轴示意图,本实施例中以秒作为时间单位,其中激光扫射周期t为10秒,惯性传感器输出周期t为1秒,t/t=n=10;定位周期以惯性传感器周期t为准。计算机在第1秒时的定位数据为s1,在第10秒时的定位数据为s10,在第11秒时的定位数据为s11。下面分别以上述几个时间点的定位数据为例,对本发明的具体实施过程进行说明。

在第1秒时,计算机读取缓存中的激光扫射数据和惯性传感器数据,假设激光扫射数据为t1(△tx1,△ty1),惯性传感器数据t1(△x1,△y1,△z1),(△α1,△β1,△γ1),则第1秒的定位数据根据激光扫射数据t1得到,及s1=(x1,y1,z1),(α1,β1,γ1);由于激光扫射数据每个周期t(例如10秒)才采集一次,因此计算机在第2秒时的定位数据s2可根据第1秒的定位数据s1和第2秒的惯性传感器数据t2(△x2,△y2,△z2),(△α2,△β2,△γ2)相加计算得到;以此类推,计算机在第10时的定位数据s10可根据第9秒的定位数据s9和第10秒的惯性传感器数据t10(△x10,△y10,△z10),(△α10,△β10,△γ10)相加计算得到;在第11秒时,由于计算机又读取到了新的激光扫射数据t2(△tx2,△ty2)和惯性传感器数据t11(△x11,△y11,△z11),(△α11,△β11,△γ11),则第11秒的定位数据根据新的激光扫射数据t2得到,即s11=(x11,y11,z11),(α11,β11,γ11)。后面的定位数据计算过程与第1—11秒的计算过程相同,此处不再赘述。

如果计算机在预设时间(例如50秒)内没有获取到激光扫射数据,则不再输出定位数据。直至再次接收到激光扫射数据时,再根据上述步骤计算输出定位数据。

通过本方案,可以在激光传感器被障碍物遮挡,或者是在激光扫射的边界时,可以进行定位,且提升输出频率。

基于相同的构思,本发明还提供一种基于激光定位的室内定位装置,该装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,本发明的基于激光定位的室内定位装置作为一个逻辑意义上的装置,是通过其所在终端的cpu将存储器中对应的计算机程序指令读取后运行而成。

请参考图4,是本发明一种示例性实施方式中的一种针基于激光定位的室内定位装置500,该装置基本运行环境包括cpu,存储器以及其他硬件,从逻辑层面上来看,该装置500的逻辑结构如图5所示,其中包括:

判断单元501,用于判断当前周期是否从缓存中获取被定位物体的激光扫射数据;

第一计算单元502,用于若在当前周期从缓存中获取被定位物体的激光扫射数据,则根据所述激光扫射数据计算待定位物体在所述当前周期的定位数据;

第二计算单元503,用于若在当前周期未从缓存中获取被定位物体的激光扫射数据,则根据上一个周期计算的被定位物体的定位数据和当前周期从缓存中获取的惯性传感器数据计算待定位物体在当前周期的定位数据。

可选的,所述第二计算单元503,具体用于以当前周期的上一个周期计算的被定位物体的定位数据与当前周期从缓存中获取的惯性传感器数据之和作为待定位物体在当前周期的定位数据。

可选的,所述惯性传感器数据的采集周期小于所述激光扫射数据的采集周期;

所述当前周期的时间间隔与所述惯性传感器数据的采集周期的时间间隔相同。

可选的,所述装置还包括:

计算停止单元504,用于如果预设时间内从缓存中未获取被定位物体的激光扫射数据,则停止计算定位数据;所述预设时间大于所述激光扫射数据的采集周期。

综上所述,本发明可以使计算机判断当前周期是否从缓存中获取被定位物体的激光扫射数据,如果获取到,则说明当前周期待定位物体没有被遮挡,因此可以根据所述激光扫射数据计算待定位物体在所述当前周期的定位数据;如果没有获取到,则说明当前周期待定位物体可能被障碍物遮挡,因此可以根据上一个周期计算的被定位物体的定位数据和当前周期从缓存中获取的惯性传感器数据计算待定位物体在当前周期的定位数据。相比于现有技术中在有障碍物遮挡的情况下,无法对待定位物体进行定位的情况,本发明可以通过惯性传感器的位移数据来弥补激光扫射数据缺失的问题,从而保证定位的准确性;此外由于惯性传感器的数据采集频率很高,因此可以提高输出数据频率,降低系统延迟,提升用户体验。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

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