CN114266871B - 机器人、地图质量评估方法和存储介质 - Google Patents
机器人、地图质量评估方法和存储介质 Download PDFInfo
- Publication number
- CN114266871B CN114266871B CN202210190854.5A CN202210190854A CN114266871B CN 114266871 B CN114266871 B CN 114266871B CN 202210190854 A CN202210190854 A CN 202210190854A CN 114266871 B CN114266871 B CN 114266871B
- Authority
- CN
- China
- Prior art keywords
- map
- point
- pose
- robot
- target
- 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.)
- Active
Links
Images
Abstract
本申请涉及一种机器人、地图质量评估方法、存储介质和计算机程序产品。该机器人包括:包括存储器和处理器,存储器中存储有计算机程序,其特征在于,处理器用于调用并执行计算机程序时实现如下步骤:获取机器人基于建图过程构建的目标地图,其中,目标地图包括机器人在建图过程中确定的多个位姿;获取各位姿对应的地图评价参数,地图评价参数包括各位姿对应的坐标数据以及各位姿对应的点云;根据获取到的各位姿对应的地图评价参数,对目标地图的质量进行评估处理。采用本方法无需高精度的传感器设备得到标准地图,与机器人的目标地图进行比较,大大节省了地图质量评估的成本,同时能够避免高精度的传感器在实际环境无法运行的情况。
Description
技术领域
本申请涉及机器人定位导航技术领域,特别是涉及一种机器人、地图质量评估方法、存储介质和计算机程序产品。
背景技术
同步定位与建图(simultaneous localization and mapping,SLAM),也称为并发建图与定位(Concurrent Mapping and Localization,CML)。SLAM可以描述为:机器人在未知环境中从一个未知位置开始移动,在移动过程中根据位置和地图进行自身定位,同时在自身定位的基础上建造增量式地图,实现机器人的自主定位和导航。因此,一个精确且完善的地图,可使得机器人在定位、规划、感知等方面获得更好的效果。那么如何评估一个SLAM算法生成的地图是否是可用的、符合标准的地图就成为了现阶段一个必须要面对和解决的问题。
目前,评估激光建图质量最常用的方案是通过将机器人构建出的地图与精度高的传感器在实际环境进行测量得到的标准地图进行比较,得到建图质量评估结果。但是,现有技术的建图质量评估方法存在成本高且在实际场景中不易实现的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够降低建图质量评估成本且在实际场景中易实现的机器人、地图质量评估方法、存储介质和计算机程序产品。
第一方面,本申请提供了一种机器人。该机器人包括:存储器和处理器,存储器中存储有计算机程序,其特征在于,处理器用于调用并执行计算机程序时实现如下步骤:
获取机器人在建图过程中构建的目标地图,其中,目标地图包括机器人在建图过程中确定的各个位姿;
获取各位姿对应的地图评价参数,地图评价参数包括各位姿对应的坐标数据以及各位姿对应的点云;
根据所述地图评价参数,对目标地图的质量进行评估处理。
在其中一个实施例中,根据所述地图评价参数,对目标地图的质量进行评估处理,包括:
确定各位姿对应的点云在预设距离内是否存在世界地图点集中;
若各位姿对应的点云在预设距离内存在世界地图点集中,则根据各位姿对应的地图评价参数中的坐标数据计算目标地图的轨道误差值,和/或,
根据各位姿对应的地图评价参数中的点云计算目标地图的地图精确度;
基于轨道误差值和/或地图精确度,得到目标地图对应的质量参数,通过所述质量参数对目标地图的质量进行评估处理。
在其中一个实施例中,坐标数据包括各位姿的测量坐标和对测量坐标进行优化处理后得到的优化坐标;
根据各位姿对应的地图评价参数中的坐标数据计算目标地图的轨道误差值,包括:
根据各位姿对应的测量坐标、各位姿对应的优化坐标以及第一公式,计算目标地图的轨道误差值;
其中,第一公式为:
在其中一个实施例中,根据各位姿对应的点云计算目标地图的地图精确度,包括:
根据各位姿对应的点云,确定目标地图包括的各个位姿中不满足质量要求的目标位姿;
根据目标位姿在目标地图包括的各个位姿中的占比,确定目标地图的地图精确度。
在其中一个实施例中,点云包括第一点云,第一点云为当前位姿对应的点云,当前位姿预设邻近距离范围内的点云为第二点云,第二点云包含第一点云;
根据各位姿对应的地图评价参数中的点云,确定目标地图包括的各个位姿中不满足质量要求的目标位姿,包括:
根据各位姿对应的第二点云确定各位姿对应的第一点云中的重影点,根据当前位姿对应的重影点在当前位姿对应的第一点云中的占比,确定当前位姿是否为目标位姿,以确定各所述位姿是否为所述目标位姿。
在其中一个实施例中,根据各位姿对应的第二点云确定各位姿对应的第一点云中的重影点,包括:
以当前位姿为顶点生成多条测量射线;
对于每一条测量射线,采用预设的搜索方法搜索所述第一点云中位于预设搜索半径内的第一参考点,以及所述第二点云中位于所述预设搜索半径内的第二参考点;
获取与测量射线的距离小于第一预设距离阈值的第一参考点中的第一点,以及第二参考点中的第二点,并获取第一点在测量射线上的投影与第二点在测量射线上的投影之间的投影距离,若投影距离大于第二预设距离阈值,则将第一点确定为重影点。
在其中一个实施例中,若投影距离大于第二预设距离阈值,则将第一点确定为重影点,包括:
若测量射线与第二点云的轮廓线之间的角度大于预设的角度阈值,则获取轮廓线的法向量;
根据法向量和测量射线之间的夹角对投影距离进行修正,得到修正后的投影距离;
若修正后的投影距离大于第二预设距离阈值,则将第一点确定为重影点。
在其中一个实施例中,根据各位姿对应的地图评价参数中的点云,确定目标地图包括的多个位姿中不满足质量要求的目标位姿,包括:
对于各位姿,若根据预设的搜索算法确定位姿对应的点云的预设距离内不存在世界地图点集,则根据位姿对应的点云的协方差矩阵求解两个特征值,若两个特征值的差值大于预设差值阈值,则将位姿确定为目标位姿。
在其中一个实施例中,确定各所述位姿对应的点云在预设距离内是否存在世界地图点集中,包括:
根据各所述位姿对应的点云分别建立对应的d-tree,利用预设的搜索算法判断各所述位姿对应的点云在预设距离内是否存在世界地图点集中。
第二方面,本申请还提供了一种地图质量评估方法,该方法包括上述第一方面的机器人所实现的方法。
第三方面,本申请还提供了一种计算机可读存储介质。计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器调用并执行时实现上述第一方面的机器人所实现的方法。
上述机器人、地图质量评估方法、存储介质和计算机程序产品,由于机器人通过对获取基于建图过程构建的目标地图后,可以通过获取机器人在建图行驶过程中生成的各个位姿对应的坐标数据以及点云的地图评价参数,进一步地,可以根据获取到的各位姿对应的地图评价参数,对目标地图的质量进行评估处理,显然,无需通过高精度的传感器设备对指定区域进行建图,得到标准地图中各个真值位姿,与机器人建图生成的目标地图中的估计位姿进行比较,因此,可以大大节省地图质量评估的成本,同时能够避免由于高精度的传感器在进行建图过程对实际环境要求较高而出现的无法运行的情况,进一步地,无需等待高精度的传感器进行建图的过程。显然,基于本申请的地图质量评估方法具备成本低且可实现性高,同时还具备地图质量评价效率高的有益效果。
附图说明
图1为一个实施例中机器人的内部结构示意图;
图2为一个实施例中地图质量评估方法的流程示意图;
图3为另一个实施例中地图质量评估方法的流程示意图;
图4为另一个实施例中地图质量评估方法的流程示意图;
图4a为一个实施例中点云的示意图;
图4b为一个实施例中第一点云和第二点云的示意图;
图4c为一个实施例中不存在世界地图点集的示意图;
图4d为一个实施例中机器人处在空旷环境的示意图;
图5为另一个实施例中地图质量评估方法的流程示意图;
图5a为一个实施例中重影点的示意图;
图5b为一个实施例中第一点和第二点投影距离示意图;
图6为另一个实施例中地图质量评估方法的流程示意图;
图6a为一个实施例中修正投影距离的点云分布示意图;
图7为一个实施例中地图质量评估装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
目前评估激光建图质量最常用的方案是将估计出的位姿与位姿真值进行比较,但是实际环境中获取位姿真值的方法均需要依赖于精度更高的传感器进行测量获得,这类方法往往意味着成本高昂和实际场景中实施困难。针对以上难点,本发明提出一种机器人、地图质量评估方法、存储介质和计算机程序产品,使得在进行地图质量评估时,无需使用高精度的传感器对实际场景进行测量,仅需根据机器人在行驶过程中利用SLAM系统进行测量得到相关位姿、各个位姿对应的点云,即可对机器人建图生成的地图进行质量评价。其中,SLAM系统可以包括2D SLAM系统、3D SLAM系统,在此不加以限制。
其中,本申请提供的地图质量评估方法,可以应用于机器人中。该机器人为在实际环境中能够进行移动建图的智能终端。比如,扫地机器人、送餐机器人等。
在一个实施例中,该机器人的内部结构如图1所示,该内部结构中处理器用于根据机器人在建图过程中确定的地图评价参数对生成的目标地图进行指令评估。该内部结构中的存储器包括非易失性存储介质和内存储器,该非易失性存储介质存储有操作系统、计算机程序和数据库;该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该数据库用于存储机器人在建图过程中生成及获取的位姿和点云等数据。该网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现本申请提供的地图质量评估方法。
下面将通过实施例并结合附图,具体地对本申请实施例的技术方案以及本申请实施例的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。需要说明的是,本申请实施例提供的一种地图质量评估方法,其执行主体可以为机器人,也可以为任一终端设备中的智能组件。显然,所描述的实施例是本申请实施例一部分实施例,而不是全部的实施例。
在一个实施例中,本申请提供了一种机器人。该机器人包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序。如图2所示,处理器执行计算机程序时实现本申请提供的地图质量评估方法,该方法包括以下步骤:
S202,获取机器人在建图过程中构建的目标地图,其中,目标地图包括机器人在建图过程中确定的各个位姿。
其中,目标地图为机器人在指定区域进行行驶的过程中各个时刻计算得到位姿构成的地图信息。
具体地,机器人在建图过程中,需要在指定区域内行驶,通过机器人的SLAM系统,确定在行驶过程中各个时刻对应的位姿,进而可以整个区域内的行驶的各个时刻的位姿构成的行驶轨迹,即可确定指定区域的目标地图。
S204,获取各位姿对应的地图评价参数,地图评价参数包括各位姿对应的坐标数据以及各位姿对应的点云。
其中,地图评价参数为机器人在建图过程构建中,通过SLAM系统生成的各个时刻用于评价建图生成的目标地图的质量相关参数,包括各位姿对应的坐标数据以及各位姿对应的点云。
需要说明的是,位姿为根据机器人在世界地图中所处位置和方向构成。其中,位置即为坐标数据,该坐标数据在本申请中可以为二维坐标数据。其中,机器人在指定区域中行驶的过程中,可以使用机器人内置的激光雷达装置,获取机器人在各个位姿处附近的点云。其中,附近可以包括,以位姿点为圆心,半径在预设半径阈值范围内的区域。
具体地,在机器人建图完成后,在机器人行驶的每一时刻,SLAM系统都会对应计算得到各个时刻对应的位姿,且各个位姿也对应各个时刻采集到的点云。即可以获取到各位姿对应的地图评价参数。
S206,根据地图评价参数,对目标地图的质量进行评估处理。
具体地,获取到各位姿对应的坐标数据以及各位姿对应的点云后,可以将各位姿对应的坐标数据代入预设的公式进行计算,确定目标地图的轨迹误差值,和/或,查找各位姿对应的点云中的重影点,根据重影点的个数,确定出各位姿对应的点云中的不满足质量需求的位姿,并根据不满足质量需求的位姿和各个位姿,确定目标地图的地图精确度。其中,轨迹误差值,可以为机器人行驶过程中行驶轨迹的误差值。
需要说明的是,在对目标地图的指令进行评估处理时,首先需确定地图评价参数中各位姿对应的点云是否处于空旷的环境下,若处于空旷的环境下,则该位姿无法作为评判目标地图质量的依据。因此,仅有在各位姿对应的点云不是处于空旷的环境下,则可以根据获取到的各位姿对应的地图评价参数,对目标地图的质量进行评估处理。
在对目标地图的质量进行评估处理时,可以判断目标地图的轨迹误差值是否满足预设的误差范围,若轨迹误差值满足预设的误差范围,则确定目标地图的质量合格。还可以在轨迹误差值满足预设的误差范围时,进一步判断地图精确度是否满足预设的精确度阈值,若地图精确度满足预设的精确度阈值时,则目标地图的质量合格。也可以是,判断地图精确度是否满足预设的精确度阈值,若地图精确度满足预设的精确度阈值时,判断目标地图的轨迹误差值是否满足预设的误差范围,若轨迹误差值满足预设的误差范围,则确定目标地图的质量合格。还可以是当确定目标地图的轨迹误差值和地图精确度时,对轨迹误差值和地图精确度进行加权平均,得到质量参数,判断质量参数是否满足质量标准阈值范围,若质量参数满足质量标准阈值范围,则目标地图的质量合格。作为另一种确定质量参数的方式,还可以是对目标地图的轨迹误差值和地图精确度按照预设的赋权标准对两者进行赋权后相加,得到质量参数。其中,预设的赋权标准可以为针对轨迹误差值,将误差范围进行划分,每一部分的误差值对应不同的权重系数,基于相同的原理,可以对地图精确度的范围进行划分,每一部分的精确度对应不同的权重系数。
在本实施例中,机器人通过对获取在建图过程中构建的目标地图后,可以通过获取机器人在建图行驶过程中生成的各个位姿对应的坐标数据以及点云的地图评价参数,进一步地,可以根据获取到的各位姿对应的地图评价参数,对目标地图的质量进行评估处理,显然,无需通过高精度的传感器设备对指定区域进行建图,得到标准地图中各个真值位姿,与机器人建图生成的目标地图中的估计位姿进行比较,因此,可以大大节省地图质量评估的成本,同时能够避免由于高精度的传感器在进行建图过程对实际环境要求较高而出现的无法运行的情况,进一步地,无需等待高精度的传感器进行建图的过程。显然,基于本申请的地图质量评估方法具备成本低且可实现性高,同时还具备地图质量评价效率高的有益效果。
上述实施例对机器人实现地图质量评估方法进行了说明,在地图质量评估方法中,最重要的就是根据地图评价参数实现对目标地图的评估,现以一个实施例进一步对如何进行地图质量评估进行说明。在一个实施例中,如图3所示,根据获取到的各位姿对应的地图评价参数,对目标地图的质量进行评估处理,包括:
S302,确定各位姿对应的点云在预设距离内是否存在世界地图点集中。
具体地,当机器人在运行过程中,存在运行的环境为一个空旷的环境,即无法获取到世界地图点集的情况,基于此种情况,需要确定各位姿对应的点云在预设距离内是否存在世界地图点集中,即各个位姿是否能够作为评价目标地图质量的位姿。其中,世界地图点集,世界坐标系下地图点云集合。
进一步地,根据各位姿对应的点云分别建立对应的d-tree,利用预设的搜索算法判断各位姿对应的点云在预设距离内是否存在世界地图点集中。
具体地,可以根据各位姿对应的点云分别建立对应的d-tree,然后利用预设的搜索算法,分别判断各位姿对应的点云与世界地图点集之间的距离是否大于预设距离。若大于则证明所述位姿对应的点云在预设距离内不存在世界地图点集,即不存在世界地图点集中。其中,预设的搜索算法可以包括ke-tree搜索算法。世界地图点集为激光雷达发出射线后碰到障碍物时的点云。示例地,参照图4c所述,机器人在位姿p点,至发出射线的到达的o点的连线op 上采样再用ke-tree搜索算法,找不到世界地图上的点。即如图4d所示,此时机器人处于空旷的环境下。
可选地,若各位姿对应的点云虽然在预设距离内不存在于世界地图点集中,但是基于大于预设距离的第二距离内存在世界地图点集,则可以首先将各位姿对应的点云代入协方差公式:,得到各位姿对应的协方差矩阵。其中,x,y分别为各位姿对应的点云的横坐标和纵坐标、N为点云的总个数,E(x)为各位姿对应的点云的横坐标的期望值,E(y)为各位姿对应的点云的纵坐标的期望值。
并对各位姿对应的协方差矩阵进行特征值求解,每个位姿对应得到两个特征值。若两个特征值的比值大于预设阈值,则说明该位姿对应的点云满足线性特征,该位姿对应的点云不处于空旷环境下。进一步再确定各位姿对应的点云在预设距离内是否存在世界地图点集,如果在预设距离内不存在世界地图点集,则说明该位姿对应的世界地图是模糊的。将该位姿认为不存在世界地图点集中。
S304,若各位姿对应的点云在预设距离内存在世界地图点集中,则根据各位姿对应的坐标数据计算目标地图的轨道误差值。
其中,各位姿对应的地图评价参数中的坐标数据为位姿中的二维坐标。
具体地,若位姿对应的点云在预设距离内存在世界地图点集中,则当获取到各位姿对应的地图评价参数中的坐标数据后,将各个位姿对应的各个二维坐标代入至轨道误差值计算的公式中,计算目标地图的轨道误差值。
进一步地,在一个实施例中,坐标数据包括各位姿的测量坐标和对测量坐标进行优化处理后得到的优化坐标,根据各位姿对应的地图评价参数中的坐标数据计算目标地图的轨道误差值,包括:
根据各位姿对应的测量坐标、各位姿对应的优化坐标以及第一公式,计算目标地图的轨道误差值;
其中,第一公式为:
其中,测量坐标为机器人在建图过程中行驶的各个时刻SLAM系统计算的各个时刻对应的轮式历程计位姿中的二维坐标。其中,优化坐标为机器人在行驶结束后,SLAM系统对各位姿点进行优化处理后得到的优化位姿中的二维坐标。
具体地,将各位姿对应的测量坐标、各位姿对应的优化坐标代入至第一公式中,即可确定目标地图的轨道误差值。
S306,根据各位姿对应的地图评价参数中的点云计算目标地图的地图精确度。
其中,点云为各位姿对应的附近区域的机器人通过激光雷达采集到的点云。可以通过确定各个位姿对应点云的重影点,确定所有位姿中的不满足质量需求的目标位姿,再根据不满足质量需求的目标位姿的个数,或者,不满足质量需求的目标位姿在所有位姿中的占比,确定目标地图的地图精确度。
进一步地,在一个实施例中,如图4所示,根据各位姿对应的地图评价参数中的点云计算目标地图的地图精确度,包括:
S402,根据各位姿对应的地图评价参数中的点云,确定目标地图包括的各个位姿中不满足质量要求的目标位姿。
作为一种可以实现的实施例中,点云可以包括第一点云,第一点云为当前位姿对应的点云,当前位姿预设邻近距离范围内的点云为第二点云,且第二点云包括第一点云。进一步地,可以根据各位姿对应的第二点云确定各位姿对应的第一点云中的重影点,根据当前位姿对应的重影点在当前位姿对应的第一点云中的占比,确定当前位姿是否为目标位姿,以确定各位姿是否为所述目标位姿。
其中,当前位姿对应的点云为以当前位姿为圆心,第一预设半径范围内的点云;同理当前位姿预设邻近距离范围内的点云为以第二位姿为圆心,第一预设半径范围内的点云,由于第二位姿位于当前位姿的预设邻近距离范围内,第二位姿可以是当前位姿相邻的位姿,也可以是以第一位姿为圆心,第二预设半径范围内的位姿,在此不加以限制。所以,第二点云是第二位姿对应的点云的集合。显然,第二点云包含第一点云。参见图4a所示,第一点云为图中的三角形点云,第二点云为图中的圆形点云。
其中,重影点可以为机器人在各位姿处向四周发出测量射线后,第一点云和第二点云位于同一条测量射线的情况下,被第二点云遮挡的第一点云即为重影点。参照图4b所示,P0、P1、P2为第一点云的点,箭头所指为第二点云的点。
具体地,可以根据将各个位姿分别作为当前位姿,确定各个当前位姿对应的第一点云中的重影点,根据确定的重影点个数,以及第一点云中的点云个数,根据重影点所占第一点云个数的第一比例,若该第一比例大于预设的第一比例阈值,则可以确定第一位姿为目标位姿。
可选地,还可以分别获取到各个当前位姿中的重影点后,根据各个位姿的重影点个数之和,与各个位姿对应的点云的总个数,确定各个位姿中的目标位姿。根据重影点个数之和所占所有点云个数的第二比例,确定目标地图的位姿重影比率,若该目标地图的位姿重影比率大于预设的第二比例阈值,则可以确定该目标地图异常。
进一步地,在一个实施例中,如图5所示,根据各位姿对应的第二点云确定各位姿对应的第一点云中的重影点,包括:
S502,以当前位姿为顶点生成多条测量射线。
具体地,机器人在建图过程中,可以以当前位姿为顶点,通过激光雷达装置生成多条测量射线,并向四周发射。
S504,对于每一条测量射线,采用预设的搜索方法搜索第一点云中位于预设搜索半径内的第一参考点,以及第二点云中位于预设搜索半径内的第二参考点;获取与测量射线的距离小于第一预设距离阈值的第一参考点中的第一点,以及所述第二参考点中的第二点,并获取第一点在测量射线上的投影与第二点在测量射线上的投影之间的投影距离,若投影距离大于第二预设距离阈值,则将第一点确定为重影点;其中,第一点为第一点云中的点,第二点为第二点云中的点。
具体地,可以先通过预设的搜索方法(例如,范围搜索)在预设的搜索半径rghs内搜索第一点云中的第一参考点和第二点云中的第二参考点,然后确定在测量射线两边第一预设距离阈值内第一参考点中的第一点和第二参考点中的第二点,则可以认为获取到的第一点和第二点在测量射线上,且第一点为重影点参见图5a所示,第一点为第一点云的点,如图中的P1,第二点为第二点云中的点,如图中的Pghs、黑色叉号表示离散的采样点,会在采样点位置利用范围搜索的方式判定是否存在重影点,黑色虚线圆表示使用的以离散采样点为圆心,以预设的搜索半径rghs的搜索范围。
当获取到第一点和第二点后,可以根据第一点和第二点的坐标信息,确定第一点在测量射线的投影与第二点在测量射线上的投影之间的距离。原理图可参见图5b。Oi为位姿点、第一点为Pj、第二点为Pghs、黑色叉号为表示离散的采样点、dthre为第一预设距离阈值、黑色叉号表示离散的采样点,会在采样点位置利用范围搜索的方式判定是否存在重影点,黑色虚线圆表示以离散采样点为圆心,以预设的搜索半径rghs的搜索范围。其中,根据公式,计算得到第二点到测量射线上投影点的距离、根据公式,计算得到第一点在测量射线上的投影与第二点在测量射线上的投影之间的投影距离,若投影距离大于第二预设距离阈值,则将第一点确定为重影点。
进一步地,在一种特殊的情况下,若所述测量射线和第二点云的轮廓线近似平行时,则第一点在测量射线上的投影与第二点在测量射线上的投影之间的距离,并不能正确的表述投影距离,因此需要对第一点在测量射线上的投影与第二点在测量射线上的投影之间的距离进行修正。在一个实施例中,如图6所示,若投影距离大于第二预设距离阈值,则将第一点确定为重影点,包括:
S602,若测量射线与第二点云的轮廓线之间的角度大于预设的角度阈值,则获取轮廓线的法向量。
具体地,参照图6a所示,由于当测量射线op与第二点云的组成的轮廓线Sj之间的角度θ大于预设的角度阈值时,则认为测量射线与第二点云的组成的轮廓线平行,此时,则可以认为机器人在靠墙行驶,此时的第一点在测量射线上的投影与第二点在测量射线上的投影之间的距离,并不能正确的表述投影距离,则获取第二点云构成的轮廓线的法向量nj。
S604,根据法向量和测量射线之间的夹角对投影距离进行修正,得到修正后的投影距离。
具体地,当获取到法向量和测量射线之间的夹角后,既可以确定出夹角的余弦值。利用该余弦值乘以投影距离,对投影距离进行修正,得到修正后的投影距离dprj。
S606,若修正后的投影距离大于第二预设距离阈值,则将第一点确定为重影点。
具体地,若修正后的投影距离dprj大于第二预设距离阈值,则将第一点确定为重影点。可选地,第二预设距离阈值为10cm。
S404,根据目标位姿在目标地图包括的各个位姿中的占比,确定目标地图的地图精确度。
具体地,根据公式p_acc = 1 - p_bad/p_total,其中,p_bad为目标位姿的个数、p_total为所有位姿的个数、p_acc为地图精确度。
S308,基于轨道误差值和/或地图精确度,得到目标地图对应的质量参数,通过质量参数对目标地图的质量进行评估处理。
具体地,可以将轨道误差值和地图精确度分别与预设的阈值进行比较,当轨道误差值和地图精确度均大于预设阈值的情况下,确认目标地图质量合格,进一步地,可以对目标地图的轨迹误差值和地图精确度按照预设的赋权标准对两者进行赋权后相加,得到质量参数。其中,预设的赋权标准可以为针对轨迹误差值,将误差范围进行划分,每一部分的误差值对应不同的权重系数,基于相同的原理,可以对地图精确度的范围进行划分,每一部分的精确度对应不同的权重系数。
在本实施例中,通过在各位姿对应的点云在预设距离内存在世界地图点集的情况下,根据各位姿对应的地图评价参数中的坐标数据计算目标地图的轨道误差值,根据各位姿对应的地图评价参数中的点云计算目标地图的地图精确度,基于轨道误差值和地图精确度,得到目标地图对应的质量参数,质量参数用于表征目标地图的质量。无需通过高精度的传感器设备对指定区域进行建图,得到标准地图中各个真值位姿,与机器人建图生成的目标地图中的估计位姿进行比较,因此,可以大大节省地图质量评估的成本,同时能够避免由于高精度的传感器在进行建图过程对实际环境要求较高而出现的无法运行的情况,进一步地,无需等待高精度的传感器进行建图的过程。显然,基于本申请的地图质量评估方法具备成本低且可实现性高,同时还具备地图质量评价效率高的有益效果。
为了便于本领域技术人员的理解,现以一个实施例进一步对机器人实现的地图质量评估方法进行说明,在一个实施例中,地图质量评估方法包括:
S100,获取机器人在建图过程中构建的目标地图,其中,目标地图包括机器人在建图过程中确定的各个位姿。
S200,获取各位姿对应的地图评价参数,地图评价参数包括各位姿对应的坐标数据以及各位姿对应的点云。
S300,根据各位姿对应的点云分别建立对应的d-tree,利用预设的搜索算法判断各位姿对应的点云在预设距离内是否存在世界地图点集中,若各位姿对应的点云在预设距离内存在世界地图点集中,则根据各位姿对应的地图评价参数中的坐标数据计算目标地图的轨道误差值。
S400,以位姿为顶点生成多条测量射线。
S500,对于每一条测量射线,采用预设的搜索方法搜索第一点云中位于预设搜索半径内的第一参考点,以及第二点云中位于预设搜索半径内的第二参考点;获取与测量射线的距离小于第一预设距离阈值的第一参考点中的第一点,以及所述第二参考点中的第二点,并获取第一点在测量射线上的投影与第二点在测量射线上的投影之间的投影距离,若投影距离大于第二预设距离阈值,则将第一点确定为重影点;其中,第一点为第一点云中的点,第二点为第二点云中的点。
S600,若测量射线与第二点云的轮廓线之间的角度大于预设的角度阈值,则获取轮廓线的法向量。
S700,若修正后的投影距离大于第二预设距离阈值,则将第一点确定为重影点。
S800,根据目标位姿在目标地图包括的多个位姿中的占比,确定目标地图的地图精确度。
S900,基于轨道误差值和地图精确度,得到目标地图对应的质量参数,质量参数用于表征目标地图的质量。
在本实施例中,机器人通过对获取基于建图过程构建的目标地图后,可以通过获取机器人在建图行驶过程中生成的各个位姿对应的坐标数据以及点云的地图评价参数,进一步地,可以根据获取到的各位姿对应的地图评价参数,对目标地图的质量进行评估处理,显然,无需通过高精度的传感器设备对指定区域进行建图,得到标准地图中各个真值位姿,与机器人建图生成的目标地图中的估计位姿进行比较,因此,可以大大节省地图质量评估的成本,同时能够避免由于高精度的传感器在进行建图过程对实际环境要求较高而出现的无法运行的情况,进一步地,无需等待高精度的传感器进行建图的过程。显然,基于本申请的地图质量评估方法具备成本低且可实现性高,同时还具备地图质量评价效率高的有益效果。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的地图质量评估方法的地图质量评估装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个地图质量评估装置实施例中的具体限定可以参见上文中对于地图质量评估方法的限定,在此不再赘述。
在一个实施例中,如图7所示,提供了一种地图质量评估装置,包括:
第一获取模块701,用于获取机器人在于建图过程中构建的目标地图,其中,目标地图包括机器人在建图过程中确定的各个位姿;
第二获取模块702,用于获取各位姿对应的地图评价参数,地图评价参数包括各位姿对应的坐标数据以及各位姿对应的点云;
评估处理模块703,用于根据获取到的各位姿对应的地图评价参数,对目标地图的质量进行评估处理。
在本实施例中,第一获取模块获取基于建图过程构建的目标地图后,第二获取模块可以通过获取机器人在建图行驶过程中生成的各个位姿对应的坐标数据以及点云的地图评价参数,进一步地,评估处理模块可以根据获取到的各所述位姿对应的地图评价参数,对所述目标地图的质量进行评估处理,显然,无需通过高精度的传感器设备对指定区域进行建图,得到标准地图中各个真值位姿,与机器人建图生成的目标地图中的估计位姿进行比较,因此,可以大大节省地图质量评估的成本,同时能够避免由于高精度的传感器在进行建图过程对实际环境要求较高而出现的无法运行的情况,进一步地,无需等待高精度的传感器进行建图的过程。显然,基于本申请的地图质量评估方法具备成本低且可实现性高,同时还具备地图质量评价效率高的有益效果。
在一个实施例中,评估处理模块,包括:
第一确定单元,用于确定各位姿对应的点云在预设距离内是否存在世界地图点集中。
第一计算单元,用于若各位姿对应的点云在预设距离内存在世界地图点集中,则根据各位姿对应的地图评价参数中的坐标数据计算目标地图的轨道误差值;
第二计算单元,用于根据各位姿对应的地图评价参数中的点云计算目标地图的地图精确度;
质量参数确定单元,用于基于轨道误差值和地图精确度,得到目标地图对应的质量参数,质量参数用于表征目标地图的质量。
在一个实施例中,坐标数据包括各位姿的测量坐标和对测量坐标进行优化处理后得到的优化坐标,第一计算单元具体用于根据各位姿对应的测量坐标、各位姿对应的优化坐标以及第一公式,计算目标地图的轨道误差值;
其中,第一公式为:
在一个实施例中,第二计算单元,具体用于根据各位姿对应的地图评价参数中的点云,确定目标地图包括的各个位姿中不满足质量要求的目标位姿;根据目标位姿在目标地图包括的各个位姿中的占比,确定目标地图的地图精确度。
在一个实施例中,点云包括第一点云,第一点云为当前位姿对应的点云,当前位姿预设邻近距离范围内的点云为第二点云,第二点云包含第一点云;第二计算单元,具体用于根据各位姿对应的第二点云确定各位姿对应的第一点云中的重影点,根据当前位姿对应的重影点在当前位姿对应的第一点云中的占比,确定当前位姿是否为目标位姿,以确定各位姿是否为目标位姿。
在一个实施例中,第二计算单元,具体用于以当前位姿为顶点生成多条测量射线;对于每一条测量射线,采用预设的搜索方法搜索第一点云中位于预设搜索半径内的第一参考点,以及第二点云中位于预设搜索半径内的第二参考点;获取与测量射线的距离小于第一预设距离阈值的第一参考点中的第一点,以及第二参考点中的第二点,并获取第一点在测量射线上的投影与第二点在测量射线上的投影之间的投影距离,若投影距离大于第二预设距离阈值,则将第一点确定为重影点。
在一个实施例中,第二计算单元,具体用于若测量射线与第二点云的轮廓线之间的角度大于预设的角度阈值,则获取轮廓线的法向量;根据法向量和测量射线之间的夹角对投影距离进行修正,得到修正后的投影距离;若修正后的投影距离大于第二预设距离阈值,则将第一点确定为重影点。
在一个实施例中,第一确定单元,具体用于根据各位姿对应的点云分别建立对应的d-tree,利用预设的搜索算法判断各位姿对应的点云在预设距离内是否存在世界地图点集中。
上述地图质量评估装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种机器人,其内部结构图可以参见图1所示。该机器人包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该机器人的处理器用于提供计算和控制能力。该机器人的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该机器人的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种地图质量评估方法。该机器人的显示屏可以是液晶显示屏或者电子墨水显示屏,该机器人的输入装置可以是显示屏上覆盖的触摸层,也可以是机器人外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的机器人的限定,具体的机器人可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种机器人,包括存储器和处理器,存储器中存储有计算机程序,该处理器调用并执行计算机程序时实现上述任一项实施例中地图质量评估的方法步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器调用并执行时实现上述任一项实施例中地图质量评估的方法步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器调用并执行时实现上述任一项实施例中地图质量评估的方法步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种机器人,包括存储器和处理器,所述存储器中存储有计算机程序,其特征在于,所述处理器用于调用并执行所述计算机程序时实现如下步骤:
获取所述机器人在建图过程中构建的目标地图,其中,所述目标地图包括所述机器人在所述建图过程中确定的各个位姿;
获取各所述位姿对应的地图评价参数,所述地图评价参数包括各所述位姿对应的坐标数据以及各所述位姿对应的点云;
将各所述位姿对应的点云代入协方差公式,得到各所述位姿对应的协方差矩阵,对各所述位姿对应的协方差矩阵进行特征值求解,每个所述位姿对应得到两个特征值,若所述两个特征值的比值大于预设阈值,则确定所述位姿对应的点云不处于空旷环境下;
在确定所述位姿对应的点云不处于空旷环境下的情况下,根据各所述位姿对应的点云分别建立对应的d-tree,利用预设的搜索算法判断各所述位姿对应的点云在预设距离内是否存在世界地图点集中,若各所述位姿对应的点云在预设距离内存在世界地图点集中,则根据各所述位姿对应的坐标数据计算所述目标地图的轨道误差值,和,根据各所述位姿对应的点云计算所述目标地图的地图精确度;
基于所述轨道误差值和所述地图精确度,得到所述目标地图对应的质量参数,通过所述质量参数对所述目标地图的质量进行评估处理。
3.根据权利要求1所述的机器人,其特征在于,所述根据各所述位姿对应的点云计算所述目标地图的地图精确度,包括:
根据各所述位姿对应的点云,确定所述目标地图包括的各个位姿中不满足质量要求的目标位姿;
根据所述目标位姿在所述目标地图各个位姿中的占比,确定所述目标地图的地图精确度。
4.根据权利要求3所述的机器人,其特征在于,所述点云包括第一点云,所述第一点云为当前位姿对应的点云,所述当前位姿预设邻近距离范围内的点云为第二点云,所述第二点云包含所述第一点云;
所述根据各所述位姿对应的点云,确定所述目标地图包括的各个位姿中不满足质量要求的目标位姿,包括:
根据各所述位姿对应的第二点云确定各所述位姿对应的第一点云中的重影点,根据所述当前位姿对应的所述重影点在所述当前位姿对应的第一点云中的占比,确定所述当前位姿是否为所述目标位姿,以确定各所述位姿是否为所述目标位姿。
5.根据权利要求4所述的机器人,其特征在于,所述根据各所述位姿对应的第二点云确定各所述位姿对应的第一点云中的重影点,包括:
以所述当前位姿为顶点生成多条测量射线;
对于每一条测量射线,采用预设的搜索方法搜索所述第一点云中位于预设搜索半径内的第一参考点,以及所述第二点云中位于所述预设搜索半径内的第二参考点;
获取与所述测量射线的距离小于第一预设距离阈值的所述第一参考点中的第一点,以及所述第二参考点中的第二点,并获取所述第一点在所述测量射线上的投影与所述第二点在所述测量射线上的投影之间的投影距离,若所述投影距离大于第二预设距离阈值,则将所述第一点确定为所述重影点。
6.根据权利要求5所述的机器人,其特征在于,所述若所述投影距离大于第二预设距离阈值,则将所述第一点确定为所述重影点,包括:
若所述测量射线与所述第二点云的轮廓线之间的角度大于预设的角度阈值,则获取所述轮廓线的法向量;
根据所述法向量和所述测量射线之间的夹角对所述投影距离进行修正,得到修正后的投影距离;
若所述修正后的投影距离大于所述第二预设距离阈值,则将所述第一点确定为所述重影点。
7.根据权利要求6所述的机器人,其特征在于,所述根据所述法向量和所述测量射线之间的夹角对所述投影距离进行修正,得到修正后的投影距离,包括:
获取所述法向量和所述测量射线之间的夹角的余弦值,计算所述余弦值与所述投影距离的乘积,对所述投影距离进行修正,得到修正后的投影距离。
8.根据权利要求1所述的机器人,其特征在于,所述预设的搜索算法包括ke-tree搜索算法。
9.一种地图质量评估方法,其特征在于,所述方法包括:权利要求1至8中任一项所述的机器人所实现的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器调用并执行时实现权利要求1至8中任一项所述的机器人所实现的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210190854.5A CN114266871B (zh) | 2022-03-01 | 2022-03-01 | 机器人、地图质量评估方法和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210190854.5A CN114266871B (zh) | 2022-03-01 | 2022-03-01 | 机器人、地图质量评估方法和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114266871A CN114266871A (zh) | 2022-04-01 |
CN114266871B true CN114266871B (zh) | 2022-07-15 |
Family
ID=80833777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210190854.5A Active CN114266871B (zh) | 2022-03-01 | 2022-03-01 | 机器人、地图质量评估方法和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114266871B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115267796B (zh) * | 2022-08-17 | 2024-04-09 | 深圳市普渡科技有限公司 | 定位方法、装置、机器人和存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113671454A (zh) * | 2021-08-16 | 2021-11-19 | 中汽创智科技有限公司 | 一种车载雷达的位置参数标定方法、装置及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108279428B (zh) * | 2017-01-05 | 2020-10-16 | 武汉四维图新科技有限公司 | 地图数据评测装置及系统、数据采集系统及采集车和采集基站 |
CN113393519B (zh) * | 2020-03-12 | 2023-03-14 | 武汉四维图新科技有限公司 | 激光点云数据处理方法、装置及设备 |
CN112070870B (zh) * | 2020-07-31 | 2021-09-17 | 广州景骐科技有限公司 | 点云地图评估方法、装置、计算机设备和存储介质 |
CN112484738B (zh) * | 2020-11-24 | 2023-04-28 | 深圳市优必选科技股份有限公司 | 机器人建图方法、装置、计算机可读存储介质及机器人 |
CN112634260A (zh) * | 2020-12-31 | 2021-04-09 | 上海商汤智能科技有限公司 | 一种地图评估的方法、装置、电子设备及存储介质 |
CN113945937A (zh) * | 2021-09-16 | 2022-01-18 | 阿里巴巴达摩院(杭州)科技有限公司 | 精度检测方法、装置及存储介质 |
-
2022
- 2022-03-01 CN CN202210190854.5A patent/CN114266871B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113671454A (zh) * | 2021-08-16 | 2021-11-19 | 中汽创智科技有限公司 | 一种车载雷达的位置参数标定方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114266871A (zh) | 2022-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10880541B2 (en) | Stereo correspondence and depth sensors | |
US9135710B2 (en) | Depth map stereo correspondence techniques | |
US10086955B2 (en) | Pattern-based camera pose estimation system | |
Taylor et al. | Automatic calibration of multi-modal sensor systems using a gradient orientation measure | |
CN103369466A (zh) | 一种地图匹配辅助室内定位方法 | |
Windreich et al. | Voxel-based surface area estimation: from theory to practice | |
CN114266871B (zh) | 机器人、地图质量评估方法和存储介质 | |
Zhou | A closed-form algorithm for the least-squares trilateration problem | |
US20210201525A1 (en) | Augmented reality device and positioning method | |
Watanabe et al. | Robust estimation of camera homography by fuzzy RANSAC algorithm with reinforcement learning | |
CN109405834B (zh) | 一种基于数字地图的遮蔽角实时解算方法以及系统 | |
CN114463429B (zh) | 机器人、地图创建方法、定位方法及介质 | |
CN111982152B (zh) | 点云地图量化方法、装置、计算机设备和存储介质 | |
CN115496793A (zh) | 立体匹配方法、装置、计算机设备和存储介质 | |
CN115307641A (zh) | 机器人定位方法、装置、机器人和存储介质 | |
CN115544191A (zh) | 基于三维点云众包式语义地图的更新方法和装置 | |
CN115049744A (zh) | 机器人手眼坐标转换方法、装置、计算机设备和存储介质 | |
CN114219070A (zh) | 图像处理模型的训练方法、目标检测方法和属性识别方法 | |
Löffler et al. | Optimal beacon placement for indoor positioning using constraint programming | |
CN114511631A (zh) | 摄像机视觉物体高度测量方法、装置及计算机可读存储介质 | |
CN112781591A (zh) | 机器人定位方法、装置、计算机可读存储介质及机器人 | |
CN113112554B (zh) | 相机外参标定方法、装置、计算机设备和存储介质 | |
CN112763974B (zh) | 定位系统中传感器的部署方法、装置及介质 | |
US20230354258A1 (en) | Data processing method and apparatus | |
CN116993801A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |