一种融合定位方法、装置、设备和计算机可读存储介质与流程

文档序号:24981671发布日期:2021-05-07 22:57阅读:104来源:国知局
一种融合定位方法、装置、设备和计算机可读存储介质与流程

本发明涉及机器人领域,特别涉及一种融合定位方法、装置、设备和计算机可读存储介质。



背景技术:

移动机器人在各种场合的应用,精确定位是机器人能够顺利完成任务的关键。一般而言,机器人的定位是基于三维或二维激光雷达实现,其中,二维激光雷达的定位方法主要是使用激光雷达点云数据与预先构建的二维栅格地图进行匹配来实现机器人位姿的估计。然而,这种定位方式也遭遇一些问题,原因在于实际应用场景中存在一些长走廊、空旷等某个自由度超出二维激光雷达观测范围的情形。这种情形下,二维激光雷达无法完全约束机器人在二维空间位姿的三个自由度,从而导致机器人位姿估计错误。

针对机器人在长走廊、空旷环境下机器人定位时遇到的上述问题,一种方案是利用人工制作高反光的路标(landmark)进行辅助定位,例如,使用反光板或反光柱进行辅助定位。然而,仅仅使用反光柱或反光板等高反光路标进行辅助定位,仍然无法适配对环境改造要求较高的环境。



技术实现要素:

本申请提供一种融合定位方法、装置、设备和计算机可读存储介质,以将路标定位与二维栅格地图定位结合,实现对机器人的精确定位。

一方面,本申请提供了一种融合定位方法,包括:

通过机器人搭载的二维激光雷达对环境物进行采样,获取所述环境物的雷达点云相关数据,所述雷达点云相关数据包括所述路标li在路标地图上的位置pi和所述环境物的去畸变点云数据;

将所述路标li在路标地图上的位置pi与路标地图进行邻近匹配,获取所述路标地图上距离所述位置pi最近的路标lj的位置pj;

使用所述环境物的去畸变点云数据在二维栅格地图进行扫面匹配,获取所述机器人在所述二维栅格地图中的全局位姿作为所述机器人的全局位姿观测值gpose;

根据所述路标li在路标地图上的位置pi、所述路标lj在所述路标地图上的位置pj、所述机器人的估计位姿和所述全局位姿观测值gpose,对所述机器人的位姿进行迭代优化,直至误差e1和误差e2最小时为止,所述误差e1为述路标li与所述路标lj在所述路标地图上的位置差值,所述误差e2为所述机器人的估计位姿与所述全局位姿观测值gpose之间的差值。

另一方面,本申请提供了一种融合定位装置,包括:

第一获取模块,用于通过机器人搭载的二维激光雷达对环境物进行采样,获取所述环境物的雷达点云相关数据,所述雷达点云相关数据包括所述环境物中路标li在路标地图上的位置pi和所述环境物的去畸变点云数据;

第二获取模块,用于将所述路标li在路标地图上的位置pi与路标地图进行邻近匹配,获取所述路标地图上距离所述位置pi最近的路标lj的位置pj;

第三获取模块,用于使用所述环境物的去畸变点云数据在二维栅格地图进行扫面匹配,获取所述机器人在所述二维栅格地图中的全局位姿作为所述机器人的全局位姿观测值gpose;

迭代优化模块,用于根据所述路标li在路标地图上的位置pi、所述路标lj在所述路标地图上的位置pj、所述机器人的估计位姿和所述全局位姿观测值gpose,对所述机器人的位姿进行迭代优化,直至误差e1和误差e2最小时为止,所述误差e1为述路标li与所述路标lj在所述路标地图上的位置差值,所述误差e2为所述机器人的估计位姿与所述全局位姿观测值gpose之间的差值。

第三方面,本申请提供了一种设备,所述设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述融合定位方法的技术方案的步骤。

第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述融合定位方法的技术方案的步骤。

从上述本申请提供的技术方案可知,本申请的技术方案一方面通过对环境物进行采样,匹配与环境物中路标li的位置pi最近的路标lj,取得路标li与路标lj在路标地图上的位置差值e1;另一方面,使用环境物的去畸变点云数据在二维栅格地图进行扫面匹配,进而取得机器人的估计位姿与机器人全局位姿观测值gpose之间的差值e2,最后对机器人的位姿进行迭代优化,直至误差e1和误差e2最小时为止,相对于现有技术仅仅采用路标辅助定位,本申请的技术方案融合了路标定位和二维栅格地图定位,从而使得对机器人的定位更加精确。

附图说明

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

图1是本申请实施例提供的融合定位方法的流程图;

图2是本申请实施例提供的融合定位装置的结构示意图;

图3是本申请实施例提供的设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在本说明书中,诸如第一和第二这样的形容词仅可以用于将一个元素或动作与另一元素或动作进行区分,而不必要求或暗示任何实际的这种关系或顺序。在环境允许的情况下,参照元素或部件或步骤(等)不应解释为局限于仅元素、部件、或步骤中的一个,而可以是元素、部件、或步骤中的一个或多个等。

在本说明书中,为了便于描述,附图中所示的各个部分的尺寸并不是按照实际的比例关系绘制的。

本申请提出了一种融合定位方法,可应用于机器人,该机器人可以是在餐厅作业的机器人,例如,传菜机器人,也可以是在医疗场所,例如医院作业的送药机器人,还可以是在仓库等场所作业的搬运机器人,等等。如附图1所示,融合定位方法主要包括步骤s101至s104,详述如下:

步骤s101:通过机器人搭载的二维激光雷达对环境物进行采样,获取环境物的雷达点云相关数据,其中,雷达点云相关数据包括环境物中路标li在路标地图上的位置pi和环境物的去畸变点云数据。

在本申请实施例中,环境是指机器人工作的环境,环境物是指机器人工作的环境中的一切物体,包括在环境中设置的路标以及其他物体,例如,某种货物、一棵树、一堵墙或一张桌子,等等,而路标可以是在机器人工作环境中、二维激光雷达的可视范围内设置的反光柱、反光条等杆状物,其中,反光柱的直径可以为5厘米左右,反光条的宽度也可以为5厘米左右。为了发挥更准确的辅助定位作用,这些反光柱、反光条等路标至少需设置3个以上,并且尽量不要设置在同一直线上,间距也尽量保持大于1米,等等。

作为本申请一个实施例,通过机器人搭载的二维激光雷达对环境物进行采样,获取环境物的雷达点云相关数据可通过步骤s1011至步骤s1014实现,说明如下:

步骤s1011:通过二维激光雷达对环境物进行采样,得到环境物的原始雷达点云数据。

在本申请实施例中,机器人搭载的二维激光雷达的采样过程与现有技术一样,都是通过向周遭环境发射激光束,实时对当前环境进行扫描,采用飞行时间测距法计算得到机器人与环境中路标之间的距离,每一束激光击中环境物时,该激光束相对于机器人的角度以及激光源与被击中环境物之间的距离等信息,多个激光束击中环境物时的上述信息就构成环境物的原始雷达点云数据;二维激光雷达所采样的路标li是环境中的任意一个路标。

步骤s1012:基于原始雷达点云数据中每个点的相对位姿,对环境物的原始雷达点云数据进行去畸变,得到环境物的去畸变点云数据。

由于二维激光雷达在对环境采样时,机器人在移动,因此,每次采样的点其在激光雷达坐标系下坐标的原点不一样。例如,二维激光雷达采样第二个点时,由于此时机器人产生了一个位移,二维激光雷达所在激光雷达坐标系的原点也产生了一个位移,同样地,第二个点至一个扫描周期结束时的最后一个点,每次采样的点,激光雷达坐标系的原点都不一样,这就使得雷达点云数据产生了畸变,这种畸变应当消除。具体而言,基于原始雷达点云数据中每个点的相对位姿,对环境物的原始雷达点云数据进行去畸变,得到环境物的去畸变点云数据可以是:确定一个扫描周期后,二维激光雷达所在激光雷达坐标系的新原点,将相对位姿△t与原始雷达点云数据中每个点在旧原点的激光雷达坐标系下的坐标p相乘,相乘后的结果△t*p作为原始雷达点云数据中每个点的坐标,其中,相对位姿△t为原始雷达点云数据中每个点相对于新原点得到的机器人位姿数据,其中,上述确定一个扫描周期后,二维激光雷达所在激光雷达坐标系的新原点,是指二维激光雷达一个扫描周期结束、二维激光雷达采样到一帧激光雷达点云数据最后一个点时,确定将此时二维激光雷达的中心点作为二维激光雷达所在激光雷达坐标系的新原点。

步骤s1013:对环境物中路标li的去畸变点云数据进行聚类,得到路标li的点云簇。

如前所述,环境物包括环境中设置的反光柱、反光条等路标,因此,经步骤s1012得到环境物的去畸变点云数据也包括环境物中路标li的去畸变点云数据。至于如何提取环境物中路标li的去畸变点云数据,一种方法是在对环境物的原始雷达点云数据进行去畸变,得到环境物的去畸变点云数据之后,将环境物的去畸变点云数据中各个点对应的激光反光强度与预设光强阈值相比,去除其中激光反光强度小于预设光强阈值的点,保留环境物的去畸变点云数据中激光反光强度高于预设光强阈值(即大于或等于预设光强阈值)的点云数据,将这些激光反光强度高于预设光强阈值的点云数据作为环境物中路标li的去畸变点云数据。例如,若将二维激光雷达能够检测到的激光反光强度假设为0至1,由于反光柱、反光条等路标的激光反光强度一般在0.85以上,则可将预设光强阈值设置为0.85,然后,保留环境物的去畸变点云数据中激光反光强度高于0.85的点云数据,这些激光反光强度高于0.85的点云数据就是环境物中路标li的去畸变点云数据。

考虑到具有噪声的基于密度的聚类(density-basedspatialclusteringofapplicationswithnoise,dbscan)算法具有能够对任意形状的稠密数据集进行聚类,并且在聚类的同时发现异常点,聚类结果鲜有发生偏倚等优点,在本申请实施例中,可以采用dbscan算法对环境物中路标li的去畸变点云数据进行聚类,得到路标li的点云簇。

步骤s1014:求取路标li的点云簇在机器人本体坐标系下的几何中心坐标,将路标li的点云簇在机器人本体坐标系下的几何中心坐标作为路标li在路标地图上的位置pi。

在经过聚类,得到路标li的点云簇之后,可以将路标li的点云簇视为一个质点,可以用几何或者物理方法求取路标li的点云簇在机器人本体坐标系下的几何中心坐标,将路标li的点云簇在机器人本体坐标系下的几何中心坐标作为路标li在路标地图上的位置pi。由于本申请实施例中,反光柱直径和反光条宽度都比较小,通过简单地求取路标li的点云簇几何中心,基本能够近似地反映反光柱、反光条等路标的几何中心。

步骤s102:将环境物中路标li在路标地图上的位置pi与路标地图进行邻近匹配,获取路标地图上距离位置pi最近的路标lj的位置pj。

在本申请实施例中,路标地图是指预先制作的反映路标(landmark)在世界坐标系中位置的地图,路标地图中的点即视为一个路标。如前所述,路标li在路标地图上的位置pi即路标li的点云簇在机器人本体坐标系下的几何中心坐标。具体地,可以采用最近邻算法,例如knn(k-nearestneighbor,k最近邻)算法将路标li在路标地图上的位置pi与路标地图进行邻近匹配,获取路标地图上距离位置pi最近的路标lj的位置pj。

步骤s103:使用环境物的去畸变点云数据在二维栅格地图进行扫面匹配,获取机器人在二维栅格地图中的全局位姿作为机器人的全局位姿观测值gpose。

在本申请实施例中,二维栅格地图也称为二维栅格概率地图或二维占据栅格地图(occupancygridmap),这种地图是将平面划分为一个个栅格,每个栅格赋予一个占据率(occupancy)。所谓占据率,是指二维占据栅格地图上,一个栅格被障碍物占据的状态(occupied状态)、无障碍物占据的状态(free状态)或者介于这两种状态之间的概率,其中,被障碍物占据的状态使用1表示,无障碍物占据的状态使用0表示,介于两种状态之间则使用0~1之间的值来表示,显然,占据率表明了一个栅格被障碍物占据的可能性大小,当一个栅格的占据率越大,表明该栅格被障碍物占据的可能性越大,反之则反。

作为本申请一个实施例,使用环境物的去畸变点云数据在二维栅格地图进行扫面匹配,获取机器人在二维栅格地图中的全局位姿作为机器人的全局位姿观测值gpose可以通过步骤s1031至步骤s1033实现,说明如下:

步骤s1031:由机器人当前时刻前一时刻的位姿确定位姿搜索空间中的若干候选位姿。

所谓机器人的位姿,是指机器人在世界坐标系中的状态,该状态使用位置和姿态表示,具体是以机器人在世界坐标系中的横坐标x、纵坐标y和相对于横轴的夹角θ,即(x,y,θ)表示了机器人在某个时刻的位姿。假设通过估计,得到的机器人当前时刻前一时刻的位姿为(x,y,θ),那么,在该位姿上对其每个分量给予一个增量△x、△y和△θ,则在位姿搜索空间(△x,△y,△θ)中存在若干候选位姿(x1,y1,θ1)、(x2,y2,θ2)、…、(xi,yi,θi)、…、(xn,yn,θn)。

步骤s1032:利用若干候选位姿中的每一个候选位姿,将环境物的去畸变点云数据投影至二维栅格地图,计算每一个候选位姿在二维栅格地图上的匹配得分。

此处,将环境物的去畸变点云数据投影至二维栅格地图,是指按照某种变换关系,将环境物的去畸变点云数据变换至二维栅格地图上的某个占据位置或者栅格,当候选位姿不同时,环境物的去畸变点云数据会变换至二维栅格地图上不同的栅格。假设某个候选位姿(xi,yi,θi),环境物的去畸变点云数据为(xj,yj,θj),对应于候选位姿(xi,yi,θi),该(xj,yj,θj)投影至二维栅格地图上的栅格位置用表示,则:

其中,zk是二维栅格地图上位置为的栅格的编号。

而如前所述,不同的栅格被赋予了不同占据率。对应于某个候选位姿(xi,yi,θi),其在二维栅格地图上的匹配得分为环境物的去畸变点云数据中各个去畸变点云数据投影至二维栅格地图上不同栅格时,这些不同栅格的占据率之和,即,环境物的去畸变点云数据中任意一个去畸变点云数据(xj,yj,θj)投影至二维栅格地图上位置为的栅格,其对应的占据率为oj,对应于候选位姿(xi,yi,θi),该环境物的去畸变点云数据投影至二维栅格地图时在二维栅格地图上的匹配得分其中,m为该环境物的去畸变点云数据的去畸变点云数据个数。

步骤s1033:将若干候选位姿在二维栅格地图上的匹配得分最高的候选位姿确定为机器人在二维栅格地图中的全局位姿。

从步骤s1032分析可知,对于上述n个候选位姿,将得到n个不同的匹配得分scorei,将n个候选位姿在二维栅格地图上的匹配得分最高的候选位姿确定为机器人在二维栅格地图中的全局位姿,即,选择scorek=max{scorei},将与scorek对应的候选位姿(xk,yk,θk)确定为机器人在二维栅格地图中的全局位姿,该全局位姿作为机器人的全局位姿观测值gpose。

步骤s104:根据路标li在路标地图上的位置pi、路标lj在路标地图上的位置pj、机器人的估计位姿和全局位姿观测值gpose,对机器人的位姿进行迭代优化,直至误差e1和误差e2最小时为止,其中,误差e1为路标li与路标lj在路标地图上的位置差值,误差e2为机器人的估计位姿与全局位姿观测值gpose之间的差值。

作为本申请一个实施例,根据路标li在路标地图上的位置pi、路标lj在路标地图上的位置pj、机器人的估计位姿和全局位姿观测值gpose,对机器人的位姿进行迭代优化,直至误差e1和误差e2最小时为止可以是:以机器人的位姿作为状态构建非线性最小二乘化问题,以误差e1为非线性最小二乘化问题的误差约束条件,迭代优化机器人的位姿,直至误差e1和误差e2最小时为止,此处,误差e1为路标li与路标lj在路标地图上的位置差值,误差e2为机器人的估计位姿与全局位姿观测值gpose之间的差值。

作为本申请另一实施例,根据路标li在路标地图上的位置pi、路标lj在路标地图上的位置pj、机器人的估计位姿和全局位姿观测值gpose,对机器人的位姿进行迭代优化,直至误差e1和误差e2最小时为止还可以是:基于路标li在路标地图上的位置pi、路标lj在路标地图上的位置pj、机器人的估计位姿和全局位姿观测值gpose,构建粒子滤波模型或扩展卡尔曼滤波模型,采用粒子滤波模型或扩展卡尔曼滤波模型,持续对机器人的估计位姿进行校正,直至误差e1和误差e2最小时为止,此处的误差e1和误差e2含义与前述实施例提及的误差e1和误差e2的含义相同。在本申请实施例中,扩展卡尔曼滤波(extendedkalmanfilter,ekf)是标准卡尔曼滤波在非线性情形下的一种扩展形式,它是一种高效率的递归滤波器即自回归滤波器,其基本思想是利用泰勒级数展开将非线性系统线性化,然后采用卡尔曼滤波框架对数据进行滤波,粒子滤波是通过寻找一组在状态空间中传播的随机样本来近似地表示概率密度函数,采用样本均值代替积分运算,进而获得系统状态的最小方差估计的过程,这些样本被形象地称为“粒子”。

上述基于路标li在路标地图上的位置pi、路标lj在路标地图上的位置pj、机器人的估计位姿和全局位姿观测值gpose,构建粒子滤波模型或扩展卡尔曼滤波模型,采用粒子滤波模型,持续对机器人的估计位姿进行校正,直至误差e1和误差e2最小时为止可以是:基于机器人的估计位姿和预设时间段内的位姿变化量,获取当前粒子群,粒子群中的每一个粒子表示机器人的一个位姿,粒子群用于表示机器人位姿的概率分布;为当前粒子群中的每一个粒子分配权重,并根据分配的权重获得机器人的第一估计位姿,其中,权重用于表征每一个粒子为当前实际位姿的概率;基于第一估计位姿、路标li在路标地图上的位置pi、路标lj在路标地图上的位置pj和全局位姿观测值gpose,采用预设扫描匹配模型进行扫描匹配,得到第二估计位姿;持续对第二估计位姿进行校正,直至误差e1和误差e2时得到的估计位姿作为机器人的最终位姿。

从上述附图1示例的融合定位方法可知,本申请的技术方案一方面通过环境物进行采样,匹配与环境物中路标li的位置pi最近的路标lj,取得路标li与路标lj在路标地图上的位置差值e1;另一方面,使用环境物的去畸变点云数据在二维栅格地图进行扫面匹配,进而取得机器人的估计位姿与机器人全局位姿观测值gpose之间的差值e2,最后对机器人的位姿进行迭代优化,直至误差e1和误差e2最小时为止,相对于现有技术仅仅采用路标辅助定位,本申请的技术方案融合了路标定位和二维栅格地图定位,从而使得对机器人的定位更加精确。

请参阅附图2,是本申请实施例提供的一种融合定位装置,可以包括第一获取模块201、第二获取模块202、第三获取模块203和迭代优化模块204,详述如下:

第一获取模块201,用于通过机器人搭载的二维激光雷达对环境物进行采样,获取环境物的雷达点云相关数据,其中,雷达点云相关数据包括环境物中路标li在路标地图上的位置pi和环境物的去畸变点云数据;

第二获取模块202,用于将环境物中路标li在路标地图上的位置pi与路标地图进行邻近匹配,获取路标地图上距离位置pi最近的路标lj的位置pj;

第三获取模块203,用于使用环境物的去畸变点云数据在二维栅格地图进行扫面匹配,获取机器人在二维栅格地图中的全局位姿作为机器人的全局位姿观测值gpose;

迭代优化模块204,用于根据路标li在路标地图上的位置pi、路标lj在路标地图上的位置pj、机器人的估计位姿和全局位姿观测值gpose,对机器人的位姿进行迭代优化,直至误差e1和误差e2最小时为止,其中,误差e1为路标li与路标lj在路标地图上的位置差值,误差e2为机器人的估计位姿与全局位姿观测值gpose之间的差值。

可选地,附图2示例的第一获取模块201可以包括采样单元、校正单元、聚类单元和中心求取单元,其中:

采样单元,用于通过二维激光雷达对环境物进行采样,得到环境物的原始雷达点云数据;

校正单元,用于基于原始雷达点云数据中每个点的相对位姿,对环境物的原始雷达点云数据进行去畸变,得到环境物的去畸变点云数据;

聚类单元,用于对环境物中路标li的去畸变点云数据进行聚类,得到路标li的点云簇;

中心求取单元,用于求取路标li的点云簇在机器人本体坐标系下的几何中心坐标,将路标li的点云簇在机器人本体坐标系下的几何中心坐标作为路标li在路标地图上的位置pi。

可选地,上述校正单元可包括新原点确定单元和相乘单元,其中:

新原点确定单元,用于确定一个扫描周期后,二维激光雷达所在激光雷达坐标系的新原点;

相乘单元,用于将相对位姿△t与原始雷达点云数据中每个点在旧原点的激光雷达坐标系下的坐标p相乘,相乘后的结果△t*p作为原始雷达点云数据中每个点的坐标,其中,相对位姿△t为原始雷达点云数据中每个点相对于新原点得到的机器人位姿数据。

可选地,附图2示例的装置还可以包括比较模块和筛选模块,其中:

比较模块,用于将环境物的去畸变点云数据中各个点对应的激光反光强度与预设光强阈值相比;

筛选模块,用于保留环境物的去畸变点云数据中激光反光强度高于预设光强阈值的点云数据,作为环境物中路标li的去畸变点云数据。

可选地,附图2示例的第三获取模块203可以包括搜索单元、匹配单元和全局位姿确定单元,其中:

搜索单元,用于由机器人当前时刻前一时刻的位姿确定位姿搜索空间中的若干候选位姿;

匹配单元,用于利用若干候选位姿中的每一个候选位姿,将环境物的去畸变点云数据投影至二维栅格地图,计算每一个候选位姿在二维栅格地图上的匹配得分;

全局位姿确定单元,用于将若干候选位姿在二维栅格地图上的匹配得分最高的候选位姿确定为机器人在二维栅格地图中的全局位姿。

可选地,附图2示例的迭代优化模块204可以包括问题构建单元和第一校正单元,其中:

构建单元,用于以机器人的位姿作为状态构建非线性最小二乘化问题;

第一校正单元,用于以误差e1为非线性最小二乘化问题的误差约束条件,迭代优化机器人的位姿,直至误差e1和误差e2最小时为止。

可选地,附图2示例的迭代优化模块204可以包括模型构建单元和第二校正单元,其中:

模型构建单元,用于基于路标li在路标地图上的位置pi、路标lj在路标地图上的位置pj、机器人的估计位姿和全局位姿观测值gpose,构建粒子滤波模型或扩展卡尔曼滤波模型;

第二校正单元,用于采用粒子滤波模型或扩展卡尔曼滤波模型,持续对机器人的估计位姿进行校正,直至误差e1和误差e2最小时为止。

从以上技术方案的描述中可知,本申请的技术方案一方面通过环境物进行采样,匹配与环境物中路标li的位置pi最近的路标lj,取得路标li与路标lj在路标地图上的位置差值e1;另一方面,使用环境物的去畸变点云数据在二维栅格地图进行扫面匹配,进而取得机器人的估计位姿与机器人全局位姿观测值gpose之间的差值e2,最后对机器人的位姿进行迭代优化,直至误差e1和误差e2最小时为止,相对于现有技术仅仅采用路标辅助定位,本申请的技术方案融合了路标定位和二维栅格地图定位,从而使得对机器人的定位更加精确。

请参阅图3,是本申请一实施例提供的设备的结构示意图。如图3所示,该实施例的设备3主要包括:处理器30、存储器31以及存储在存储器31中并可在处理器30上运行的计算机程序32,例如融合定位方法的程序。处理器30执行计算机程序32时实现上述融合定位方法实施例中的步骤,例如图1所示的步骤s101至s104。或者,处理器30执行计算机程序32时实现上述各装置实施例中各模块/单元的功能,例如图2所示第一获取模块201、第二获取模块202、第三获取模块203和迭代优化模块204的功能。

示例性地,融合定位方法的计算机程序32主要包括:通过机器人搭载的二维激光雷达对环境物进行采样,获取环境物的雷达点云相关数据,其中,雷达点云相关数据包括环境物中路标li在路标地图上的位置pi和环境物的去畸变点云数据;将环境物中路标li在路标地图上的位置pi与路标地图进行邻近匹配,获取路标地图上距离位置pi最近的路标lj的位置pj;使用环境物的去畸变点云数据在二维栅格地图进行扫面匹配,获取机器人在二维栅格地图中的全局位姿作为机器人的全局位姿观测值gpose;根据路标li在路标地图上的位置pi、路标lj在路标地图上的位置pj、机器人的估计位姿和全局位姿观测值gpose,对机器人的位姿进行迭代优化,直至误差e1和误差e2最小时为止,其中,误差e1为路标li与路标lj在路标地图上的位置差值,误差e2为机器人的估计位姿与全局位姿观测值gpose之间的差值。计算机程序32可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器31中,并由处理器30执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序32在设备3中的执行过程。例如,计算机程序32可以被分割成第一获取模块201、第二获取模块202、第三获取模块203和迭代优化模块204(虚拟装置中的模块)的功能,各模块具体功能如下:第一获取模块201,用于通过机器人搭载的二维激光雷达对环境物进行采样,获取环境物的雷达点云相关数据,其中,雷达点云相关数据包括环境物中路标li在路标地图上的位置pi和环境物的去畸变点云数据;第二获取模块202,用于将环境物中路标li在路标地图上的位置pi与路标地图进行邻近匹配,获取路标地图上距离位置pi最近的路标lj的位置pj;第三获取模块203,用于使用环境物的去畸变点云数据在二维栅格地图进行扫面匹配,获取机器人在二维栅格地图中的全局位姿作为机器人的全局位姿观测值gpose;迭代优化模块204,用于根据路标li在路标地图上的位置pi、路标lj在路标地图上的位置pj、机器人的估计位姿和全局位姿观测值gpose,对机器人的位姿进行迭代优化,直至误差e1和误差e2最小时为止,其中,误差e1为路标li与路标lj在路标地图上的位置差值,误差e2为机器人的估计位姿与全局位姿观测值gpose之间的差值。

设备3可包括但不仅限于处理器30、存储器31。本领域技术人员可以理解,图3仅仅是设备3的示例,并不构成对设备3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器30可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器31可以是设备3的内部存储单元,例如设备3的硬盘或内存。存储器31也可以是设备3的外部存储设备,例如设备3上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器31还可以既包括设备3的内部存储单元也包括外部存储设备。存储器31用于存储计算机程序以及设备所需的其他程序和数据。存储器31还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即,将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置/设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个非临时性计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,融合定位方法的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤,即,通过机器人搭载的二维激光雷达对环境物进行采样,获取环境物的雷达点云相关数据,其中,雷达点云相关数据包括环境物中路标li在路标地图上的位置pi和环境物的去畸变点云数据;将环境物中路标li在路标地图上的位置pi与路标地图进行邻近匹配,获取路标地图上距离位置pi最近的路标lj的位置pj;使用环境物的去畸变点云数据在二维栅格地图进行扫面匹配,获取机器人在二维栅格地图中的全局位姿作为机器人的全局位姿观测值gpose;根据路标li在路标地图上的位置pi、路标lj在路标地图上的位置pj、机器人的估计位姿和全局位姿观测值gpose,对机器人的位姿进行迭代优化,直至误差e1和误差e2最小时为止,其中,误差e1为路标li与路标lj在路标地图上的位置差值,误差e2为机器人的估计位姿与全局位姿观测值gpose之间的差值。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。非临时性计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读内存(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,非临时性计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,非临时性计算机可读介质不包括电载波信号和电信信号。以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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