计算机设备定位方法、装置、计算机设备和存储介质转让专利

申请号 : CN202010747143.4

文献号 : CN111862219B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 宋乐曾令兵陈侃霍峰秦宝星程昊天

申请人 : 上海高仙自动化科技发展有限公司

摘要 :

本发明公开了一种计算机设备定位方法、装置、计算机设备和存储介质,其中,该方法包括:获取计算机设备顶视传感器的顶视数据集和定位装置的定位数据集,其中,所述顶视数据集包括所述计算机设备所处建筑物的内顶面的数据;根据所述定位数据集确定所述顶视数据集与局部地图的位姿变换;根据所述位姿变换将所述顶视数据集添加到所述局部地图;基于添加所述顶视数据集后的局部地图确定所述计算机设备在全局地图的定位。通过顶视传感器采集计算机设备所处建筑物内顶面的数据,降低环境变换对计算机设备定位功能的影响,提高计算机设备位置确定的准确性,可增强定位功能的鲁棒性。

权利要求 :

1.一种计算机设备定位方法,其特征在于,所述方法包括:获取计算机设备顶视传感器的顶视数据集和定位装置的定位数据集,其中,所述顶视数据集包括所述计算机设备所处建筑物的内顶面的数据;

根据所述定位数据集确定所述顶视数据集与局部地图的位姿变换;

根据所述位姿变换将所述顶视数据集添加到所述局部地图;

基于添加所述顶视数据集后的局部地图确定所述计算机设备在全局地图的定位;

所述根据所述定位数据集确定所述顶视数据集与局部地图的位姿变换,包括:确定所述顶视数据集中数据对应的时间戳时间;

根据所述时间戳时间查找所述定位数据集的定位数据,并根据所述定位数据确定初始位姿变换;

通过所述初始位姿变换转换所述顶视数据集,并确定顶视数据集与局部地图的匹配率;

确定匹配率的方式包括提取顶视数据集中数据的特征值,通过特征值进行匹配;

根据数值最大的匹配率选择数据以确定位姿变换;

所述确定顶视数据集与局部地图的匹配率,包括:将所述顶视数据集的数据投射到局部地图所处的平面栅格坐标系;

针对所述平面栅格坐标系的栅格,通过预设公式在高斯分布上确定各所述数据对应高度投影与所述栅格内局部地图对应的高度值匹配的概率,将各所述概率之和作为顶视数据集与局部地图的匹配率。

2.根据权利要求1所述的方法,其特征在于,还包括:对齐所述顶视传感器和定位装置的时间戳。

3.根据权利要求1所述的方法,其特征在于,在所述根据所述定位数据集确定所述顶视数据集确定与局部地图的位姿变换之前,还包括:基于统计滤波器去除所述顶视数据集中的噪声数据;

滤除所述顶视数据集中不属于建筑物的内顶面的数据。

4.根据权利要求3所述的方法,其特征在于,所述滤除所述顶视数据集中不属于建筑物的内顶面的数据,包括:

将所述顶视数据集中的数据投射到平面栅格坐标系,并获取所述数据在所述平面栅格坐标系中的栅格坐标和高度投影,其中,所述平面栅格坐标系以所述顶视传感器为原点;

按照所述栅格坐标统计属于相同栅格的数据对应高度投影的最大值和最小值;

确定所述最大值与所述最小值的差大于阈值时,将属于所述栅格的数据从所述顶视数据集中删除。

5.根据权利要求1所述的方法,其特征在于,还包括:基于预设代价公式对所述顶视数据集与局部地图的位姿变换进行非线性优化。

6.根据权利要求1所述的方法,其特征在于,所述根据所述位姿变换将所述顶视数据集添加到所述局部地图,包括:

通过所述位姿变换将所述顶视数据集的数据转换到与所述局部地图相同的坐标系;

基于栅格坐标,将转换后的数据中的高度投影作为高度值更新到所述局部地图。

7.根据权利要求1所述的方法,其特征在于,所述基于添加所述顶视数据集后的局部地图确定所述计算机设备在全局地图的定位,包括:确定所述局部地图与所述全局地图的地图位姿变换;

根据所述地图位姿变换确定所述计算机设备在所述全局地图的定位。

8.根据权利要求7所述的方法,其特征在于,还包括:确定所述计算机设备处于建图模式,则根据地图位姿变换转换所述局部地图;

将转换后的局部地图存储到所述全局地图。

9.根据权利要求1‑8任一所述的方法,其特征在于,所述顶视传感器设置于计算机设备顶部,所述顶视数据集内数据的采集方向包括水平夹角30度到150度范围,所述数据包括轮廓数据、深度数据和纹路数据中至少一种。

10.根据权利要求1‑8任一所述的方法,其特征在于,所述顶视传感器包括激光雷达传感器、视觉传感器和红外传感器中至少一种,所述定位装置包括轮式编码器、基站定位、惯性导航和卫星导航中至少一种。

11.根据权利要求1所述的方法,其特征在于,所述顶视传感器的数据采集视野被障碍物遮挡时,改变所述顶视传感器的方向以使所述顶视传感器的数据采集视野不被所述障碍物遮挡,其中,所述障碍物位于所述计算机设备与所述内顶面之间。

12.一种计算机设备定位装置,其特征在于,所述装置包括:数据采集模块,用于获取计算机设备顶视传感器的顶视数据集和定位装置的定位数据集,其中,所述顶视数据集包括所述计算机设备所处建筑物的内顶面的数据;

位姿确定模块,用于根据所述定位数据集确定所述顶视数据集与局部地图的位姿变换;

地图更新模块,用于根据所述位姿变换将所述顶视数据集添加到所述局部地图;

地图定位模块,用于基于添加所述顶视数据集后的局部地图确定所述计算机设备在全局地图的定位;

位姿确定模块包括:

时间确定单元,用于确定所述顶视数据集中数据对应的时间戳时间;

初始位姿单元,用于根据所述时间戳时间查找所述定位数据集的定位数据,并根据所述定位数据确定初始位姿变换;

匹配处理单元,用于通过所述初始位姿变换转换所述顶视数据集,并确定顶视数据集与局部地图的匹配率;

确定匹配率的方式包括提取顶视数据集中数据的特征值,通过特征值进行匹配;

位姿确定单元,用于根据数值最大的匹配率选择数据以确定位姿变换;

所述匹配处理单元包括:

栅格投影子单元,用于将所述顶视数据集的数据投射到局部地图所处的平面栅格坐标系;

匹配率子单元,用于针对所述平面栅格坐标系的栅格,通过预设公式在高斯分布上确定各所述数据对应高度投影与所述栅格内局部地图对应的高度值匹配的概率,将各所述概率之和作为顶视数据集与局部地图的匹配率。

13.一种计算机设备,其特征在于,所述计算机设备包括:一个或多个处理器;

存储器,用于存储一个或者多个程序;

至少一个顶视传感器,用于获取顶视数据集,所述顶视数据集包括所述计算机设备所处建筑物的内顶面的数据;

至少一个定位装置,用于获取辅助计算机设备定位的定位数据集;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1‑11中任一所述的计算机设备定位方法。

14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1‑11中任一所述的计算机设备定位方法。

说明书 :

计算机设备定位方法、装置、计算机设备和存储介质

技术领域

[0001] 本发明实施例涉及自动化控制技术领域,尤其涉及一种计算机设备定位方法、装置、计算机设备和存储介质。

背景技术

[0002] 随着科技技术的不断发展,移动计算机设备逐渐出现在生活的方方面面,如,车站中的清洁机器人、商场中的导购机器人和餐厅中的送餐机器人等,为了实现在不同场景中
的不同功能,首先要解决的就是计算机设备的定位问题,计算机设备需要通过所处的环境
确定出自身的位置,从而根据用户预先设定或者即时下达的指令实现相应功能。
[0003] 现有的技术中计算机设备使用相机和激光雷达采集数据并根据采集到的数据实现定位,然而相机和激光雷达等采集设备都是安装在计算机设备的前方,采集计算机设备
前方环境的数据,数据存在局限只能反应某一时刻当前环境状态。现实中环境会随着时间
变化,当环境参数发生改变时,容易导致计算机设备定位精确度下降,制约了计算机设备的
应用场景。

发明内容

[0004] 本发明提供一种计算机设备定位方法、装置、计算机设备和存储介质,以实现计算机设备的定位,通过计算机设备所处建筑物内顶面的数据,解决周围环境变化过大导致定
位失效的问题,提高计算机设备定位的精确度。
[0005] 第一方面,本发明实施例提供了一种计算机设备定位方法,该方法包括:
[0006] 获取计算机设备顶视传感器的顶视数据集和定位装置的定位数据集,其中,所述顶视数据集包括所述计算机设备所处建筑物的内顶面的数据;
[0007] 根据所述定位数据集确定所述顶视数据集与局部地图的位姿变换;
[0008] 根据所述位姿变换将所述顶视数据集添加到所述局部地图;
[0009] 基于添加所述顶视数据集后的局部地图确定所述计算机设备在全局地图的定位。
[0010] 第二方面,本发明实施例提供了一种计算机设备定位装置,该装置包括:
[0011] 数据采集模块,用于获取计算机设备顶视传感器的顶视数据集和定位装置的定位数据集,其中,所述顶视数据集包括所述计算机设备所处建筑物的内顶面的数据;
[0012] 位姿确定模块,用于根据所述定位数据集确定所述顶视数据集与局部地图的位姿变换;
[0013] 地图更新模块,用于根据所述位姿变换将所述顶视数据集添加到所述局部地图;
[0014] 地图定位模块,用于基于添加所述顶视数据集后的局部地图确定所述计算机设备在全局地图的定位。
[0015] 第三方面,本发明实施例提供了一种计算机设备,该计算机设备包括:
[0016] 一个或多个处理器;
[0017] 存储器,用于存储一个多个程序;
[0018] 至少一个顶视传感器,用于获取顶视数据集,顶视数据集计算机设备所处建筑物的内顶面的数据;
[0019] 至少一个定位装置,用于获取辅助计算机设备定位的定位数据集;
[0020] 当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例中任一所述的计算机设备定位方法。
[0021] 第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一所述的计算机设备定位方法。
[0022] 本发明实施例,通过顶视传感器采集计算机设备所处建筑物内顶面的数据以及定位装置获取定位数据集,基于定位数据集确定顶视数据集与局部地图的位姿变换,将通过
位姿变换转换后的顶视数据集添加到局部地图,通过局部地图与全局地图进行匹配以获取
计算机设备的定位。通过采集计算机设备所处建筑物内顶面的数据,解决环境变化导致计
算机设备定位失效的问题,实现了计算机设备的精确定位,增强计算机设备的鲁棒性。

附图说明

[0023] 图1是现有技术中计算机设备数据获取的示例图;
[0024] 图2是本发明实施例提供的一种数据获取的示例图;
[0025] 图3是本发明实施例一提供的一种计算机设备定位方法的流程图;
[0026] 图4是本发明实施例一提供的顶视传感器的数据获取角度的示意图;
[0027] 图5是本发明实施例二提供的一种计算机设备定位方法的流程图;
[0028] 图6是本发明实施例三提供的一种计算机设备定位方法的流程图;
[0029] 图7是本发明实施例三提供的一种计算机设备位姿示例图;
[0030] 图8是本发明实施例三提供的一种计算机设备地图构建和定位的示例图;
[0031] 图9是本发明实施例四提供的一种计算机设备定位装置的结构示意图;
[0032] 图10是本发明实施例五提供的一种计算机设备的结构示意图;
[0033] 图11是本发明实施例五提供的一种计算机设备的示例图。

具体实施方式

[0034] 下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便
于描述,附图中仅示出了与本发明相关的部分而非全部结构,此外,在不冲突的情况下,本
发明中的实施例及实施例中的特征可以相互组合。
[0035] 图1是现有技术中计算机设备数据获取的示例图,参见图1,现有技术采集物体的传感器2常设置在计算机设备1的前方,通过传感器2采集计算机设备1前方对象3的数据,由
于在现实生活中,对象3放置在地面上可以随着时间变化而更改位置,因此对象3的数据只
能在一段时间内具有准确性,甚至当对象3具体为人时,会随时发生位置改变,计算机设备1
采集到的数据无法用于计算机设备定位。而参见图2,本申请实施例提供的采集数据的传感
器20设置在计算机设备10的顶部,在实际环境中,在计算机设备所处建筑物内顶面上的物
体,例如,天花板、灯具和装饰物等物品常处于固定状态,短时间内不会发生较大的改变,本
申请通过设置在计算机设备10顶部的传感器20在计算机设备所处的建筑物内顶面上的采
集对象30的数据,降低对象30位置改变的机率,减少动态物体对定位的影响,从而提高定位
的准确性,增强在商场和超市等场景的定位效果。
[0036] 实施例一
[0037] 图3是本发明实施例一提供的一种计算机设备定位方法的流程图,本发明实施例可以适用于计算机设备定位的情况,该方法可以由计算机设备定位装置来执行,该装置可
以采用硬件和/或软件的方式来实现,参见图3,本发明实施例的方法具体包括如下步骤:
[0038] 步骤101、获取计算机设备顶视传感器的顶视数据集和定位装置的定位数据集,其中,所述顶视数据集包括所述计算机设备所处建筑物的内顶面的数据。
[0039] 其中,顶视传感器可以是采集计算机设备所处环境的传感器,顶视传感器的数据采集方向可以为计算机设备所处的建筑物的顶部方向,顶视数据集可以由顶视传感器采集
的数据组成,该数据的数据来源为计算机设备所处建筑物的内顶面,可以包括天花板、吊
灯、空调口或者装饰物等,进一步的,顶视传感器采集到的数据可以具体为轮廓数据、深度
数据和纹理数据中至少一种。定位装置可以是获取计算机设备位置信息的装置,可以将定
位装置采集到的位置信息存储为定位数据集,定位装置可以包括轮式编码器、基站定位、卫
星导航和惯性导航等。
[0040] 具体的,计算机设备在运动过程中可以使用顶视传感器和定位装置获取顶视数据集和定位数据集,计算机设备每隔一段时间可以通过顶视传感器采集计算机设备所处建筑
物的内顶面的数据,将将该数据组成顶视数据集。相应的,计算机设备也可以每隔一段时间
通过定位装置获取计算机设备的位置信息,可以将该位置信息存储为定位数据集,可以理
解的是,顶视传感器和定位装置的数据采集时间不同,例如,计算机设备可以每隔一秒使用
顶视传感器测取建筑物的内顶面的数据,而定位装置可以在计算机设备运动过程中持续获
取数据,当定位装置为5G通信芯片时,计算机设备在移动过程中不断接受5G基站发送的信
令,可以将信令中的位置信息存储为定位数据集。
[0041] 步骤102、根据所述定位数据集确定所述顶视数据集与局部地图的位姿变换。
[0042] 其中,位姿变换可以是从一个坐标系转换到另一个坐标系需要的参数,可以表示不同坐标系之间的相对位置关系,包括位置变化量和姿态变换量,位姿变换具体可以表示
顶视数据集中数据从计算机设备所处的坐标系转换到地图坐标系所处的坐标系需要的位
置变化量和姿态变化量。局部地图可以是最近一段时间内获取到的数据,例如,可以使用顶
视传感器最近采集的连续N帧点云数据构成局部地图,局部地图中数据可以处于相同坐标
系,建立局部地图时,,局部地图中的数据可以具体为三维深度数据或者三维点云数据。
[0043] 在本发明实施例中,为了将采集到的顶视数据集添加到局部地图中,定位数据集可以是计算机设备移动产生的数据,可以确定出计算机设备的位置变化量和姿态变化量,
可以将获取到的位置变化量和姿态变化量作为计算机设备在数据采集对应时间段的位姿
变换。
[0044] 步骤103、根据所述位姿变换将所述顶视数据集添加到所述局部地图。
[0045] 在本发明实施例中,可以通过位姿变换将顶视数据集内数据对应的坐标系同步到局部地图对应的坐标系下,然后将变换后的顶视数据集添加到局部地图中。
[0046] 示例性的,位姿变换可以表示为 数据 则将顶视数据集中数据转换到局部地图的坐标系的过程可以表示为:
[0047]
[0048] 其中,计算机设备旋转角度 t表示数据在以计算机设备为坐标系原点的坐标系下的位置坐标,t′表示数据在局部地图对应坐标系下位置坐标,θ表示
计算机设备的翻滚角。
[0049] 步骤104、基于添加所述顶视数据集后的局部地图确定所述计算机设备在全局地图的定位。
[0050] 其中,全局地图可以是反应出计算机设备所处环境的环境数据,局地图可以是三维深度数据或者三维点云数据,全局地图的建立可以早于计算机设备定位,例如,可以控制
计算机设备在当前环境中行走一圈或者多圈,通过传感器获取当前环境中的环境数据,通
过将环境数据拼接生成。
[0051] 具体的,可以通过局部地图在全局地图进行匹配,可以将全局地图中匹配程度最好的环境数据对应的位置作为计算机设备所处位置,由于建筑物内顶面的数据的差别较
小,可以通过局部地图匹配的方式增强计算机设备所处位置的特征,通过将局部地图中与
全局地图的匹配提高计算机设备定位的准确度。匹配的方式可以包括:将局部地图与全局
地图中各位置对应的环境数据进行匹配或者将局部地图与全局地图中不同帧的环境数据
进行匹配。
[0052] 本发明实施例,通过分别获取计算机设备顶视传感器和定位装置的顶视数据集和定位数据集,其中顶视数据集包括计算机设备所处建筑物内顶面的数据,基于定位数据集
确定出顶视数据集与局部地图的位姿变换,通过位姿变换更改顶视数据集的坐标系后添加
到局部地图,根据局部地图在全局地图进行匹配以确定计算机设备的位置,解决环境变化
导致定位失效的问题,实现计算机设备的准确定位,增强计算机设备定位功能的鲁棒性。
[0053] 进一步的,在上述发明实施例的基础上,所述顶视传感器设置于计算机设备顶部,所述顶视数据集内数据的采集方向包括水平夹角30度到150度范围,所述数据构成物体轮
廓、物体深度和物体纹路中至少一种。
[0054] 在本发明实施例中,顶视传感器设置在计算机设备的顶部,通过顶视传感器监测计算机设备所处建筑物内顶面,顶视传感器的采集方向可以位于计算机设备水平方向夹角
30度到150度的范围内。图4是本发明实施例一提供的顶视传感器的数据获取角度的示意
图,参见图4,顶视传感器20设置于计算机设备10的顶部,顶视传感器20的数据采集视野范
围可以为与水平夹角可以为30度到150度,包括30度和150度,顶视传感器20可在[30,150]
的范围任意选择角度以测取建筑物的内顶面的数据,当顶视传感器获取数据的方向与水平
夹角不在该范围内时,由于计算机设备的高度问题,顶视传感器的数据采集范围可能被周
围地面上的物体遮挡,导致无法准确监测到建筑物的内顶面的数据。进一步的,为了提高数
据的准确度,顶视传感器可以在与水平夹角90度的方向上获取采集建筑物内顶面的数据。
可以理解的是,采集到的数据可以是建筑物的内顶面的轮廓数据、深度数据或者纹理数据
等,基于顶视传感器的种类不同,可以采集到不同种类的数据。
[0055] 进一步的,在上述发明实施例的基础上,所述顶视传感器的数据采集视野被障碍物遮挡时,改变所述顶视传感器的方向以使所述顶视传感器的数据采集视野不被所述障碍
物遮挡,其中,所述障碍物位于所述计算机设备与所述内顶面之间。
[0056] 其中,数据采集视野可以是顶视传感器采集数据的范围,数据采集视野可以由顶视传感器的种类和设置位置决定。障碍物可以是计算机设备与计算机设备所处建筑物内顶
面之间的物体,能够妨碍顶视传感器采集内顶面数据。
[0057] 在本发明实施例中,顶视传感器与计算机设备之间可以设置有运动装置,当检测到顶视传感器的数据采集视野被障碍物遮挡时,可以控制运动装置改变顶视传感器的安装
角度和安装位置等,减少或者避免障碍物对顶视传感器数据采集视野的影响。
[0058] 实施例二
[0059] 图5是本发明实施例二提供的一种计算机设备定位方法的流程图,对上述发明实施例进行了具体化,通过顶视数据集确定时间差,并确定出定位数据集在该时间差内的初
始位姿,实现顶视数据集与局部地图的位姿变换,参见图5,本发明实施例提供的计算机设
备定位方法包括如下步骤:
[0060] 步骤201、对齐顶视传感器和定位装置的时间戳。
[0061] 在本发明实施例中,时间戳可以是产生和管理顶视传感器和定位装置时间信息的软件和/或硬件装置,可以通过同步顶视传感器和定位装置的计时器的方式实现时间戳的
对齐,使得顶视传感器的时间信息与定位装置的时间信息相同,提高顶视数据集与定位数
据集时间的一致性,可提高数据精度,增强计算机设备定位的准确性。
[0062] 步骤202、获取计算机设备顶视传感器的顶视数据集和定位装置的定位数据集。
[0063] 步骤203、基于统计滤波器去除顶视数据集中的噪声数据;滤除所述顶视数据集中不属于建筑物的内顶面的数据。
[0064] 其中,噪声数据可以是由于顶视传感器的硬件误差造成的错误数据,统计滤波器可以是清洗顶视数据集的数据处理装置,可以按照预设规则对测距数据进行清洗。
[0065] 具体的,确定顶视传感器对应的数据与其他数据的位置坐标的平均距离,各平均距离符合高斯分布的规律,可以通过统计滤波器可以确定每一个数据与其他数据的平均距
离,并确定出各平均距离的标准差σ和均值μ,由于平均距离符合高斯分布的规律,当一个数
据与其他数据的平均距离不在[‑3σ+μ,+3σ+μ]的范围内时,可以认为该数据为噪声数据,并
将该数据从顶视数据集中删除。
[0066] 在本发明实施例中,顶视传感器获取到建筑物内顶面的数据时,计算机可能采集到前方墙壁的数据,将该数据误判为建筑物内顶面数据,需要将该数据从顶视数据集清除。
可以通过对数据对应的位置进行判断,确定该位置不属于建筑物内顶面时,可以将对应的
数据从顶视数据集清除,例如,可以将顶视数据集内的数据分别与阈值高度进行比较,当确
定数据对应的高度小于该阈值高度时,可以将该数据从顶视数据集中删除,通过对顶视数
据集内数据的清洗,提高数据的准确性,可以进一步提高计算机设备定位的准确性。
[0067] 步骤204、确定顶视数据集中数据对应的时间戳时间。
[0068] 其中,时间戳时间可以表示各数据的获取时间,时间戳时间可以与顶视数据集中的数据关联存储。
[0069] 具体的,可以在顶视数据集中查找各数据对应的时间戳时间。
[0070] 步骤205、根据时间戳时间查找定位数据集的定位数据,并根据定位数据确定初始位姿变换。
[0071] 其中,初始位姿变换可以是通过定位数据确定出的计算机设备位置变化量和姿态变换量。
[0072] 具体的,由于顶视传感器和定位装置的时间戳对齐,则定位数据集中时间戳与顶视传感器的时间戳处于同步状态,在相同时间戳时间下定位数据集中的定位数据与顶视数
据集中的数据对应的计算机设备姿态相同。通过时间戳时间查找定位数据集中的定位数
据,可以将获取到的定位数据作为计算机设备平面位姿,通过各时间戳时间对应的时间差
确定出对应的计算机设备位姿的位置和姿态的变化量作为初始位姿变换,可以用于确定顶
视数据集与局部地图的位置和姿态的变化量。示例性的,从顶视数据集确定出的时间戳时
间为t0和t1,根据t0和t1在定位数据集中查找这个两个时间戳时间范围内的定位数据T1,
T2,T3,其中,t0时戳时间对应的定位数据为T1,t1时间戳对应的定位数据为T3,则t0到t1时
刻计算机设备的初始位姿变换可以为T1*T3。
[0073] 步骤206、通过初始位姿变换转换顶视数据集,并确定顶视数据集与局部地图的匹配率。
[0074] 其中,匹配率可以是顶视数据集与局部地图中内数据的匹配程度,匹配率越高,则顶视数据集在局部地图对应位置的可能性越高。
[0075] 在本发明实施例中,可以将通过定位数据确定出的初始位姿变换作为对顶视数据集进行坐标系转换的参数,将顶视数据集中的数据的坐标系转换到局部地图对应的坐标
系,例如,若初始位姿变换为转换矩阵时,可以将数据的坐标与初始位姿变换的乘法运算结
果作为位姿转换后的数据的坐标。
[0076] 具体的,在对顶视数据集中各数据进行位姿转换后,可以确定出顶视数据集与局部地图的匹配率,可以理解的是,局部地图中包括有多个数据,可以将局部地图中的数据与
测试数据集中的数据进行匹配,获取到对应的匹配率。当局部地图可以由多帧地图数据组
成,一帧地图数据可以对应计算机设备所处环境中不同位姿,一帧地图数据可以包括一个
或多个数据,可以将顶视数据集分别与局部地图中各帧地图数据进行匹配,确定出顶视数
据集与各帧地图数据的匹配率。确定匹配率的方式可以包括提取顶视数据集中数据的特征
值,通过特征值进行匹配。
[0077] 步骤207、根据数值最大的匹配率选择数据以确定位姿变换。
[0078] 具体的,可以在确定出的匹配率中选择数值最大的匹配率,由于匹配率由顶视数据集与局部地图匹配生成,可以确定出顶视数据集与局部地图中参与匹配的数据,可以通
过比较两组数据确定出位置和姿态的变化量,可以将该变化量作为位姿变换。
[0079] 步骤208、根据位姿变换将顶视数据集添加到局部地图。
[0080] 在本发明实施例中,可以通过位姿变换更新顶视数据集内各数据的坐标系,从顶视数据集对应的坐标系转化到局部地图对应的坐标系,可以将顶视数据集内变换后的数据
添加到局部地图中,可以将顶视数据集内的数据作为一帧地图数据添加到局部地图中,也
可以将顶视数据集内的数据根据位置添加到局部地图中相应位置。
[0081] 步骤209、基于添加顶视数据集后的局部地图确定计算机设备在全局地图的定位。
[0082] 本发明实施例,通过对齐顶视传感器和定位装置的时间戳,获取顶视数据集和定位数据集,使用统计滤波器滤除顶视数据集中的噪声数据并清除其中不属于建筑物内顶面
的数据,确定各数据的时间戳时间,通过时间戳时间查找定位数据集中的定位数据,并通过
定位数据的位置和姿态的变化量确定出初始位姿变换,确定初始位姿变换改变后的顶视数
据集与局部地图的匹配率,通过数值最大的匹配率确定顶视数据集与局部地图的位姿变
换,根据该位姿变换更改顶视数据集后添加到局部地图,通过局部地图在全局地图中确定
出计算机设备的定位,实现了计算机设备定位功能,通过采集建筑物内顶面的数据减少环
境变化对计算机设备定位的影响,防止计算机设备定位失效,增强计算机设备定位功能的
鲁棒性。
[0083] 实施例三
[0084] 图6是本发明实施例三提供的一种计算机设备定位方法的流程图,对上述发明实施例进行了具体化,参见图6,本发明实施例提供的计算机设备定位方法包括如下步骤:
[0085] 步骤301、获取计算机设备顶视传感器的顶视数据集和定位装置的定位数据集,其中,所述顶视数据集包括所述计算机设备所处建筑物的内顶面的数据。
[0086] 步骤302、基于统计滤波器去除顶视数据集中的噪声数据。
[0087] 步骤303、将顶视数据集中的数据投射到平面栅格坐标系,并获取数据在平面栅格坐标系中的栅格坐标和高度投影,其中,平面栅格坐标系以顶视传感器为原点。
[0088] 其中,平面栅格坐标系可以是将平面划分为若干栅格的坐标系,该平面栅格坐标系可以将顶视传感器作为原点,平面栅格坐标系所在的平面可以是顶视传感器所在的水平
面,平面栅格坐标系中栅格的大小可以预设设置,例如,栅格的长和宽可以分别设置为5厘
米。栅格坐标可以是数据在顶视传感器所在水平面上的横纵坐标,高度投影可以是数据所
在平面到平面栅格坐标系原点所在平面的高度。
[0089] 在本发明实施例中,可以将顶视数据集中的数据投影到平面栅格坐标系中,根据数据的横坐标和纵坐标作为平面栅格坐标系中的栅格坐标,并将数据的竖坐标作为高度投
影。可以理解的是,平面栅格坐标系所在的平面不限制于水平面,可以是在空间内经过顶视
传感器的任意一个平面,相应的高度投影可以是数据到该平面的距离。
[0090] 步骤304、按照栅格坐标统计属于相同栅格的数据对应高度投影的最大值和最小值。
[0091] 在本发明实施例,可以确定顶视数据集中的数据的栅格坐标,根据栅格坐标确定数据在平面栅格坐标系中对应的栅格,统计每个栅格中数据的高度投影的最大值和最小
值。例如,数据的坐标为(X,Y,Z),按照X‑Y平面投影后,统计平面栅格坐标系中不同栅格的Z
值,在每个栅格内确定Z值的最大值和最小值。可以理解的是,由于投影平面的不同,高度投
影可以是数据坐标中的X值,也可以是数据坐标中的Y值。
[0092] 步骤305、确定最大值与最小值的差大于阈值时,将属于所述栅格的数据从顶视数据集中删除。
[0093] 其中,阈值可以是预先设置的数值,该阈值可以判断数据是否属于建筑物的内顶面,阈值可以设定为0.5。
[0094] 在本发明实施例中,平面栅格坐标系每个栅格可以确定最大值和最小值之间的差值,可以将获取到的差值与阈值进行比较,若最大值与最小值的差值大于阈值,确定该数据
为非建筑物内顶面的数据,则将该栅格内的数据从顶视数据集中删除。
[0095] 步骤306、确定顶视数据集中数据对应的时间戳时间。
[0096] 步骤307、根据时间戳时间查找定位数据集的定位数据,并根据所述定位数据确定初始位姿变换。
[0097] 步骤308、通过所述初始位姿变换转换所述顶视数据集,将所述顶视数据集的数据投射到局部地图所处的平面栅格坐标系。
[0098] 其中,初始位姿变换可以是将顶视数据集转换到局部地图所处坐标系的位姿变换。
[0099] 具体的,可以先通过初始位姿转换对顶视数据集中的数据进行变换,例如,可以将数据的坐标与初始位姿转换的乘积作为转换后的坐标。可以将顶视数据集中的数据投射到
局部地图所处的平面栅格坐标系,每个数据根据其横纵坐标投射到平面栅格坐标系中一个
栅格,并将数据的竖坐标作为高度投影关联存储到该栅格。
[0100] 步骤309、针对平面栅格坐标系的栅格,通过预设公式在高斯分布上确定各数据对应高度投影与栅格内局部地图对应的高度值匹配的概率,将各概率之和作为顶视数据集与
局部地图的匹配率。
[0101] 其中,预设公式包括: Score表示匹配率,k表示落在栅格内顶视数据集内数据的数量,hi表示经过初始位姿变换转换后的数据的高度投影,μ和σ表
示局部地图内高度值符合的高斯分布参数。
[0102] 在本发明实施例中,局部地图可以由数据构成,在局部地图所处的平面栅格坐标系中,按照横纵坐标将构成局部地图的数据投射到栅格内,并将该数据的竖坐标作为高度
投影存储到对应栅格。各栅格内的高度投影符合高斯分布,可以将顶视数据集中各数据与
所属栅格内高度投影在高斯分布上匹配的概率值,可以将落在相同栅格内的数据的概率值
之和,作为顶视数据集与局部地图的匹配率。可以理解的是,当顶视数据集数据落在多个栅
格内时,顶视数据集与局部地图的匹配率可以存在多个。
[0103] 具体的,针对各栅格计算当前栅格内顶视数据集的数据的高度投影与所在栅格内局部地图的高度值匹配的概率值,可以将相同栅格内各数据对应的概率值之和作为顶视数
据集与局部地图的匹配率。匹配率可以通过公式 确定,其中,Score
表示匹配率,k表示顶视数据集内数据落在栅格内的数量,hi表示经过初始位姿变换转换后
的各数据的高度投影,μ和σ表示局部地图的高度值符合的高斯分布参数,μ可以表示局部地
图内数据的高度值的均值,σ可以表示局部地图内数据的高度的标准差。
[0104] 步骤310、根据数值最大的匹配率选择数据以确定位姿变换。
[0105] 步骤311、基于预设代价公式对位姿变换进行非线性优化,其中,所述预设代价公式包括: e表示代价,n表示顶视数据集中数据的
数量,μ和δ表示局部地图内数据的高度值符合的高斯分布参数,hi表示经过初始位姿变换
转换后的数据的高度值,T′表示初始位姿变换,T表示位姿变换,ω表示定位装置的误差影
响。
[0106] 在本发明实施例中,为了进一步提高定位的准确性,可以在确定顶视数据集与局部地图的位姿变换后,可以对位姿变换进行非线性优化,可以将获取到的初始位姿变换、位
姿变换、误差影响、局部地图内数据的高度值对应的均值以及局部地图内数据的高度值对
应的标准差等数据代入到预设代价公式,然后通过迭代的方式调整位姿变换,使得预设代
价公式生成的代价最小,可以将预设代价公式对应的代价最小时的位姿变换作为非线性优
化后的位姿变换。预设代价公式具体可以是 其
中e表示代价,n表示顶视数据集中数据的数量,μ和σ表示局部地图内数据对应高度值符合
的高斯分布参数,hi表示经过初始位姿变换转换后的数据的高度投影,T′表示初始位姿变
换,T表示位姿变换,ω表示定位装置的误差影响。 表示二维平面上的乘法运算,具体计算
过程可以为
[0107] 步骤312、通过位姿变换将顶视数据集的数据转换到与局部地图相同的坐标系。
[0108] 在本发明实施例中,由于顶视数据集中的数据对应的坐标系是以顶视传感器为原点的坐标系,可以使用非线性优化后的位姿变换对顶视数据集中的数据进行处理,例如,将
数据的坐标与位姿变换作乘法运算,将顶视数据集转换到与局部地图相同坐标系。
[0109] 步骤313、基于栅格坐标,将转换后的数据中的高度投影作为高度值更新到所述局部地图。
[0110] 在本发明实施例中,获取转换后数据的横坐标和纵坐标作为栅格坐标,确定各栅格坐标在局部地图对应的平面栅格坐标系中栅格,并将转换后的数据的竖坐标作为局部地
图的高度值填充到对应栅格中。
[0111] 步骤314、确定局部地图与全局地图的地图位姿变换;根据地图位姿变换确定计算机设备在全局地图的定位。
[0112] 其中,地图位姿变换可以是局部地图转换到全局地图的方向变换参数,可以表示局部地图与全局地图坐标系之间的相对位置关系。
[0113] 在本发明实施例中,由于局部地图和全局地图的坐标系可以不同,因此需要确定出局部地图与全局地图之间的地图位置变换,可以将局部地图中的数据与全局地图中的数
据进行匹配确定出对应的匹配率,可以选择其中匹配率最高的数据作为数据与全局地图的
地图位置变换,通过该地图位置变换转换局部地图后,确定出局部地图在全局地图中位置,
也就是计算机设备在全局地图中的位置。
[0114] 示例性的,可以将局部地图中的数据投影到全局地图所处的平面栅格坐标系,利用每个数据的横纵坐标确定所在的栅格,并将数据的竖轴坐标作为高度值在全局地图范围
内搜索匹配率,其中,匹配率的计算公式可以是 Score表示匹配
率,k表示落在栅格内局部地图数据的数量,hi表示经过初始位姿变换转换后的数据的高度
值,μ和σ表示全局地图的高度值符合的高斯分布参数,μ可以表示全局地图内测距数据的高
度值的均值,σ可以表示全局地图内测距数据的高度值的标准差。
[0115] 本发明实施例,通过获取计算机设备顶视传感器和定位装置的顶视数据集和定位数据集,基于统计滤波器去除顶视数据集中的噪声数据,通过顶视数据集在平面栅格坐标
系的高度投影确定在相同栅格内的最大差值和最小差值,若栅格内最大差值与最小差值的
差大于阈值,可以将该栅格内的数据从顶视数据集中删除,确定顶视数据集各数据的时间
戳时间,根据时间戳戳时间查找定位数据中定位数据,根据定位数据确定出初始位姿变换,
将初始位姿变换后对局部地图匹配获取到匹配率,将匹配率数值最大的数据作为对应的位
姿变换,并根据预设代价公式对位姿变换进行非线性优化,通过位姿变换将顶视数据集转
换到局部地图,然后顶视数据集添加到局部地图,有局部地图与全局地图的匹配确定出计
算机设备的位置,解决了环境变化导致计算机设备环境变化容易导致定位失效的问题,增
强了计算机设备定位功能的鲁棒性,提高计算机设备定位的准确性。
[0116] 进一步的,在上述发明实施例的基础上,还包括:确定所述计算机设备处于建图模式,则根据地图位姿变换转换所述局部地图;将转换后的局部地图存储到所述全局地图。
[0117] 其中,建图模式可以是计算机设备建立全局地图的模式,建图模式中计算机设备可以识别周围环境并存储相关的数据,建图模式可以是在计算机设备启动时选择。
[0118] 在本发明实施例中,当计算机设备处于建图模式时,可以根据地图位姿将局部地图转换到全局地图的坐标系下,将转换后的局部地图存储到全局地图。
[0119] 示例性的,局部地图到全局地图的位姿变换为TGL,上标G表示全局地图坐标系,下L
标L表示局部地图坐标系,局部地图中任意一个数据可以表示为pi,上标L表示局部坐标系,
下标i表示局部地图中每个点的序列号,局部地图的数据转换到全局地图的过程可以表示
为 可以将转换后的数据确定在全局地图内的栅格坐标确定全局地图的平
面栅格坐标系中的栅格,根据数据的高度投影更新对应栅格的高度分布。
[0120] 进一步的,在上述发明实施例的基础上,所述顶视传感器包括激光雷达传感器、视觉传感器和红外传感器中至少一种,所述定位装置包括轮式编码器、基站定位、惯性导航和
卫星导航中至少一种。
[0121] 在本发明实施例中,顶视传感器可以为激光雷达传感器,其中,激光雷达传感器获取到的数据可以是激光点云数据,具体的,激光打到建筑物的内顶面上物体产生激光点,将
各激光点在三维空间内的坐标存储到顶视数据集。通过各激光点与计算机设备之间的相对
位置关系,可以反应出计算机设备的位置和姿态。图7是本发明实施例三提供的一种计算机
设备位姿示例图,参见图7,位姿可以包括航向角、俯仰角和翻滚角。而定位装置可以是轮式
编码器,可以设置在计算机设备的主传动轴,计算机设备运动时轮式编码器可以记录速度
和位移等数据从而反应出计算机设备的运动状况。顶视传感器还可以是视觉传感器和红外
传感器,相应的,顶视数据集可以是采集计算机设备所处建筑物的内顶面的图像数据和红
外数据等。而定位装置还可以包括基站定位、惯性导航和卫星导航中的一种或者多种,对计
算机设备的移动轨迹进行监测。
[0122] 在一个示例性的实施方式中,图8是本发明实施例三提供的一种计算机设备地图构建和定位的示例图,本发明实施例中使用轮式编码器作为定位装置,以及激光雷达传感
器作为顶视传感器。参见图8,本发明实施例示出的方法包括如下步骤:
[0123] 步骤S1:在机器人顶部安装顶视传感器在机器人驱动轮的轮轴上安装轮式编码器,在机器人运动过程中采集激光数据。其中,顶视传感器安装在机器人的顶部,并且顶视
传感器的数据采集方向与水平方向的夹角范围为[30°,50°],当顶视传感器设置的数据采
集方向与水平方向夹角为90°时,可以完全避免周围物体对测距传感影响。可以将各传感器
采集到的数据的时间戳对齐。
[0124] 步骤S2:顶视传感器采集到的激光数据进行预处理。
[0125] 进一步的,步骤S2还可以包括以下步骤:
[0126] 步骤S21,使用统计滤波器,对激光数据进行噪点去除,去除与其他激光数据之间平均距离落在[‑3σ+μ,+3σ+μ]之外的激光数据,其中,σ和μ分别是激光数据之平均距离的标
准差和均值。
[0127] 步骤S22:去除激光数据中落在竖直墙面上的数据,仅保留落在天花板不同平面上的激光数据。其中,步骤S22具体通过如下步骤实现:
[0128] 以顶视传感器为原点建立平面栅格坐标系,将激光数据转换到笛卡尔坐标系下,并将激光数据安装X‑Y投影到建立的平面栅格坐标系中,记录每个栅格中激光数据的坐标。
遍历每个栅格,记录每个栅格内激光数据的竖坐标Z值的最大值和最小值的,当栅格中最大
值与最小值的差大于阈值时,该栅格内的激光数据是落在竖直墙面上的激光点,将该栅格
对应的激光数据丢弃。阈值一般可以取0.5。
[0129] 步骤S3:计算采集到的激光数据与预设的局部地图之间的位姿变换。
[0130] 其中,步骤S3还可以包括如下步骤:
[0131] 步骤S31:利用对齐时间戳后的激光数据和编码器数据,计算顶视传感器当前时刻获取到的激光数据与顶视传感器获取到的上一帧激光数据之间的时间差,利用该时间差从
编码器中获取到在该时间差内机器人运动的位姿变换。
[0132] 例如,从编码器中获取的编码器数据记为(t0,T0),(t1,T1),....,(tn,Tn)其中,t表示获取到编码器数据时的时间戳。T表示在t时刻获取到的编码器数据,下标0、1、n表示编码
器数据的获取顺序。顶视传感器的时间差的开始时间为k‑1,顶视传感器的时间差的结束时
间为k,则位姿变换为Tk‑1*Tk。
[0133] 步骤S32:利用步骤S31步骤中获取到的位姿变换当作激光数据与局部地图进行匹配的初始,可以将激光数据以X‑Y平面投影到局部地图所在的平面栅格坐标系,确定各激光
数据对应的栅格,通过激光数据的竖坐标Z值与栅格内局部地图的测距数据进行匹配,在相
同栅格内竖坐标Z值服从高斯分布,根据Z值计算激光数据与局部地图的匹配率,将匹配率
最高的激光数据对应的位姿作为激光数据与局部地图之间的位姿变换,匹配率的计算公式
可以如下:
[0134] 其中Score表示匹配率,k表示落在栅格内激光数据的数量,hi表示经过初始位姿变换转换后的激光数据的高度投影,μ和σ表示栅格内局部地图的
高度值符合的高斯分布参数,μ可以表示局部地图内测距数据的高度值的均值,σ可以表示
局部地图内测距数据的高度的标准差。
[0135] 步骤S33,在步骤S32确定出位姿变换后,还可以通过代价公式对该位姿变换进行非线性优化,代价公式可以如下所示:
[0136]
[0137] 其中,e表示代价,n表示顶视数据集中数据的数量,μ和σ表示局部地图的高度值符合的高斯分布参数,hi表示经过初始位姿变换转换后的数据的高度投影,T′表示步骤S3中
通过编码器数据确定出的位姿变换,T表示位姿变换,ω表示定位装置的误差影响。通过调
整位姿变换T的取值迭代计算代价公式,使得代价e的结果最小,当代价e的结果最小时,对
应的位姿变换T可以是经过非线性优化的结果值。
[0138] 步骤S4:利用步骤S3得到的位姿变换,将激光数据添加到局部地图中。
[0139] 进一步的,步骤S4具体包括如下步骤:利用步骤S3得到位姿,将激光数据转换到局部地图对应的坐标系,利用激光数据在局部地图坐标下的坐标参数确定在X‑Y平面的投影,
并确定各激光数据对应的栅格,使用坐标参数中的Z值更新对应栅格内的高度分布。
[0140] 步骤S5:利用添加激光数据后的局部地图与预先生成的全局地图进行匹配,确定局部地图与全局地图之间的位姿变换。
[0141] 进一步的,步骤S5具体包括以下步骤:将局部地图中中所有激光数据的坐标按照X‑Y平面进行投影,确定每个激光数据在X‑Y平面中的对应的栅格,利用坐标中Z值与全局地
图中的该栅格的Z值进行匹配,确定对应的匹配率,匹配率的计算公式如下:
[0142]
[0143] 其中,Score表示匹配率,k表示落在栅格内局部地图激光数据的数量,hi表示经过初始位姿变换转换后的激光数据的高度值,μ和σ表示全局地图的高度值符合的高斯分布参
数,μ可以表示全局地图内数据的高度值的均值,σ可以表示全局地图内数据的高度值的标
准差。
[0144] 步骤S6:确定机器人是否处于建图模式,若是则继续执行步骤S7,若否,则将全局地图中匹配率最高的位置作为机器人定位确定位置。
[0145] 步骤S7:将步骤S5中最高匹配率对应的位姿,将局部地图中激光数据添加到全局地图。
[0146] 在上述发明实施例的基础上,局部地图到全局地图的位姿确定为TGL,上标G表示全L
局地图坐标系,下标L表示局部地图坐标系,局部地图中任意一个激光数据可以表示为pi,
上标L表示局部坐标系,下标i表示局部地图中每个点的序列号,局部地图的数据转换到全
局地图的过程可以表示为 可以将转换后的数据确定在全局地图内的栅格
坐标确定全局地图的平面栅格坐标系中的栅格,根据数据的高度投影更新对应栅格的高度
分布。
[0147] 实施例四
[0148] 图9是本发明实施例四提供的一种计算机设备定位装置的结构示意图,图9中示出的装置可以执行本发明任意实施例所提供的计算机设备定位方法,具备执行方法相应的功
能模块和有益效果。该装置可以由软件和/或硬件实现,具体包括:数据采集模块410、位姿
确定模块420、地图更新模块430和地图定位模块440.
[0149] 其中,数据采集模块410,用于获取计算机设备顶视传感器的顶视数据集和定位装置的定位数据集,其中,所述顶视数据集包括所述计算机设备所处建筑物的内顶面的数据。
[0150] 位姿确定模块420,用于根据所述定位数据集确定所述顶视数据集与局部地图的位姿变换。
[0151] 地图更新模块430,用于根据所述位姿变换将所述顶视数据集添加到所述局部地图。
[0152] 地图定位模块440,用于基于添加所述顶视数据集后的局部地图确定所述计算机设备在全局地图的定位。
[0153] 本发明实施例,通过数据采集模块分别获取计算机设备顶视传感器和定位装置的顶视数据集和定位数据集,其中顶视数据集包括建筑物内顶面的数据,位姿确定模块基于
定位数据集确定出顶视数据集与局部地图的位姿变换,地图更新模块通过位姿变换更改顶
视数据集的坐标系后添加到局部地图,地图定位模块根据局部地图在全局地图进行匹配以
确定计算机设备的位置,解决了由于计算机设备所处环境变化导致定位失效的问题,实现
了计算机设备定位的准确性,增强计算机设备定位功能的鲁棒性。
[0154] 进一步的,在上述发明实施例的基础上,还包括:
[0155] 时间戳对齐模块,用于对齐所述顶视传感器和定位装置的时间戳。
[0156] 进一步的,在上述发明实施例的基础上,还包括:
[0157] 噪声去除模块,用于基于统计滤波器去除所述顶视数据集中的噪声数据。
[0158] 距离数据清洗模块,用于滤除所述顶视数据集中不属于建筑物的内顶面的数据。
[0159] 进一步的,在上述发明实施例的基础上,距离数据清洗模块具体用于:将所述顶视数据集中的数据投射到平面栅格坐标系,并获取所述数据在所述平面栅格坐标系中的栅格
坐标和高度投影,其中,所述平面栅格坐标系以所述顶视传感器为原点;按照所述栅格坐标
统计属于相同栅格的数据对应高度投影的最大值和最小值;确定所述最大值与所述最小值
的差大于阈值时,将属于所述栅格的从所述顶视数据集中删除。
[0160] 进一步的,在上述发明实施例的基础上,位姿确定模块420包括:
[0161] 时间确定单元,用于确定所述顶视数据集中数据对应的时间戳时间。
[0162] 初始位姿单元,用于根据所述时间戳时间查找所述定位数据集的定位数据,并根据所述定位数据确定初始位姿变换。
[0163] 匹配处理单元,用于通过所述初始位姿变换转换所述顶视数据集,并确定顶视数据集与局部地图的匹配率。
[0164] 位姿确定单元,用于根据数值最大的匹配率选择数据以确定位姿变换。
[0165] 进一步的,在上述发明实施例的基础上,匹配处理单元包括:
[0166] 栅格投影子单元,用于将所述顶视数据集的数据投射到局部地图所处的平面栅格坐标系。
[0167] 匹配率子单元,用于针对所述平面栅格坐标系的栅格,通过预设公式在高斯分布上确定各所述数据对应高度投影与所述栅格内局部地图对应的高度值匹配的概率,将各所
述概率之和作为顶视数据集与局部地图的匹配率。
[0168] 进一步的,在上述发明实施例的基础上,位姿确定模块420还包括:
[0169] 非线性优化单元,用于基于预设代价公式对所述位姿变换进行非线性优化。其中,所述预设代价公式包括: e表示代价,n表示顶
视数据集中数据的数量,μ和σ表示局部地图的高度值符合的高斯分布参数,hi表示经过初
始位姿变换转换后的数据的高度投影,T′表示初始位姿变换,T表示位姿变换,ω表示定位
装置的误差影响。
[0170] 进一步的,在上述发明实施例的基础上,所述地图更新模块430包括:
[0171] 坐标转换单元,用于通过所述位姿变换将所述顶视数据集的数据转换到与所述局部地图相同的坐标系。
[0172] 数据添加单元,用于基于栅格坐标,将转换后的数据中的高度投影作为高度值更新到所述局部地图。
[0173] 进一步的,在上述发明实施例的基础上,所述地图定位模块440包括:
[0174] 地图转换单元,用于确定所述局部地图与所述全局地图的地图位姿变换。
[0175] 地图定位单元,用于根据所述地图位姿变换确定所述计算机设备在所述全局地图的定位。
[0176] 进一步的,在上述发明实施例的基础上,所述装置还包括建图模块,用于确定所述计算机设备处于建图模式,则根据地图位姿变换转换所述局部地图;将转换后的局部地图
存储到所述全局地图。
[0177] 进一步的,在上述发明实施例的基础上,所述装置中的顶视传感器设置于计算机设备顶部,所述顶视数据集内数据的采集方向包括水平夹角30度到150度范围,所述数据包
括轮廓数据、深度数据和纹路数据中至少一种。
[0178] 进一步的,在上述发明实施例的基础上,所述顶视传感器包括激光雷达传感器、视觉传感器和红外传感器中至少一种,所述定位装置包括轮式编码器、基站定位、惯性导航和
卫星导航中至少一种。
[0179] 进一步的,在上述发明实施例的基础上,还包括,采集调整模块,用于顶视传感器的数据采集视野被障碍物遮挡时,改变所述顶视传感器的方向以使所述顶视传感器的数据
采集视野不被所述障碍物遮挡,其中,所述障碍物位于所述计算机设备与所述内顶面之间。
[0180] 实施例五
[0181] 图10是本发明实施例五提供的一种计算机设备的结构示意图,如图10所示,该计算机设备包括处理器50、存储器51、输入装置52、输出装置53、顶视传感器54和定位装置55;
计算机设备中处理器50的数量可以是一个或多个,图10中以一个处理器50为例;计算机设
备中的处理器50、存储器51、输入装置52、输出装置53、顶视传感器54和定位装置55可以通
过总线或其他方式连接,图10中以通过总线连接为例。
[0182] 存储器51作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的计算机设备定位方法对应的程序指令/模块(例如,计算
机设备定位装置中的数据采集模块410、位姿确定模块420、地图更新模块430和地图定位模
块440)。处理器50通过运行存储在存储器51中的软件程序、指令以及模块,从而执行计算机
设备的各种功能应用以及数据处理,即实现上述的计算机设备定位方法。
[0183] 存储器51可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此
外,存储器51可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁
盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器51可进一步
包括相对于处理器50远程设置的存储器,这些远程存储器可以通过网络连接至计算机设
备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0184] 输入装置52可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置53可包括显示屏等显示设备。
[0185] 顶视传感器54可以设置在计算机设备的顶部,可以采集计算机设备所处建筑物内顶面的数据作为顶视数据集,顶视传感器54具体可以包括激光雷达传感器,声波顶视传感
器和红外顶视传感器等,定位装置55可以获取计算机设备定位数据,可以辅助确定计算机
设备所处位置,定位装置可以包括全球定位系统和轮式编码器等。
[0186] 图11是本发明实施例五提供的一种计算机设备的示例图,参见图11,顶视传感器61设置在计算机设备的顶部,可以获取建筑物内顶面的数据,顶视传感器61的顶视传感器
的视野范围可以如图11所示。本发明实施例中计算机设备主动轮的传动轴上设置有轮式编
码器62,在传动轴的两侧各设置有一个轮式编码器62,通过两个轮式编码器62之间的位移
和速度之差可以确定出计算机设备的转弯方向和转弯角度,从而确定出计算机设备经过运
动后所处的位置。本发明实施例中计算机设备通过顶视传感器61采集的顶视数据集和轮式
编码器62采集的定位数据集确定出计算机设备在运动后的所处位置。
[0187] 实施例六
[0188] 本发明实施例六还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种计算机设备定位方法,该方法包括:
[0189] 获取计算机设备顶视传感器的顶视数据集和定位装置的定位数据集,其中,所述顶视数据集包括所述计算机设备所处建筑物的内顶面的数据;
[0190] 根据所述定位数据集确定所述顶视数据集与局部地图的位姿变换;
[0191] 根据所述位姿变换将所述顶视数据集添加到所述局部地图;
[0192] 基于添加所述顶视数据集后的局部地图确定所述计算机设备在全局地图的定位。
[0193] 当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的计算机设
备定位方法中的相关操作。
[0194] 通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更
佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的
部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质
中,如计算机的软盘、只读存储器(Read‑Only Memory,ROM)、随机存取存储器(Random 
Access Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设
备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0195] 值得注意的是,上述计算机设备定位装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;
另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
[0196] 注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、
重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行
了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还
可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。