一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种机器人的地图回溯方法、机器人、装置及介质与流程

2022-06-29 15:23:22 来源:中国专利 TAG:


1.本技术涉及机器人技术领域,尤其涉及一种机器人的地图回溯方法、机器人、装置及介质。


背景技术:

2.家用清洁机器人由于能解放用户双手,以及能自主清洁与自主回充,因此特别受到用户的青睐。随着家用清洁机器人产品的发展,出现了各式各样不同传感器配置的产品,其中以配备测距传感器及视觉传感器为代表的清洁机器人产品以其低价、高效、准确著称,受到了一部分年轻白领的喜爱,这类产品往往具备定位和建图功能,能有效准确定位机器人自身位置并构建出环境地图,使用起来非常高效。
3.配备测距传感器及视觉传感器的清洁机器人产品虽然使用高效准确,但由于其在各式各样复杂的家庭环境中工作,使用时容易受到周围环境的影响和人为因素的干扰,当机器人发生定位出错时,便在错误的位置上构建地图,导致当前正确地图被建乱、建错,最终呈现给客户是一张错误杂乱的地图,使得机器人不能正常进行工作,导致机器人的工作效率低。


技术实现要素:

4.本技术的主要目的在于提供一种机器人的地图回溯方法、机器人、装置及介质,旨在解决当前机器人因定位出错后构建错误地图而导致工作效率低的技术问题。
5.为实现上述目的,本技术实施例提供一种机器人的地图回溯方法,所述机器人的地图回溯方法包括:
6.采集机器人当前时刻的雷达数据,并基于所述雷达数据构建子地图;
7.将所述子地图与所述机器人的当前地图进行比对;
8.若所述子地图与所述当前地图不一致,则基于所述雷达数据进行重定位,得到重定位结果;
9.基于所述重定位结果对所述当前地图执行回溯处理,得到所述机器人的目标地图。
10.可选地,所述将所述子地图与所述机器人的当前地图进行比对,包括:
11.分别将所述子地图与所述机器人的当前地图进行栅格化处理,对应得到子栅格图和全局栅格图;
12.分别对所述子栅格图和所述全局栅格图进行二值化处理,对应得到子二值图和全局二值图;其中,所述子二值图和所述全局二值图均包括黑色和白色的地图点;
13.将所述子二值图与所述全局二值图中相同颜色的地图点进行数量大小比较,以确定所述子地图是否与当前地图一致。
14.可选地,所述将所述子二值图与所述全局二值图中相同颜色的地图点进行数量大小比较,以确定所述子地图是否与当前地图一致,包括:
15.计算所述子二值图中黑色地图点的数量与所述全局二值图中黑色地图点的数量的比值,得到第一数量比率;
16.计算所述子二值图中白色地图点的数量与所述全局二值图中白色地图点的数量的比值,得到第二数量比率;
17.若所述第一数量比率与所述第二数量比率中存在数量比率不满足预设第一条件,则确定所述子地图与当前地图不一致;
18.若所述第一数量比率与所述第二数量比率均满足所述预设第一条件,则确定所述子地图与当前地图一致。
19.可选地,所述分别对所述子栅格图和所述全局栅格图进行二值化处理,对应得到子二值图和全局二值图,包括:
20.分别对所述子栅格图和所述全局栅格图进行二值化处理,获取所述子栅格图和所述当前地图中各地图点的概率值;
21.若存在地图点的概率值大于第一预设概率值,则将所述地图点的颜色设置为白色并设置所述地图点的像素值为1;
22.若存在地图点的概率值小于第二预设概率值,则将所述地图点的颜色设置为黑色并设置所述地图点的像素值为0;
23.更新所述子栅格图和所述全局栅格图,得到子二值图和全局二值图;其中,所述第一预设概率值与所述第二预设概率值之和为1。
24.可选地,所述采集机器人当前时刻的雷达数据,并基于所述雷达数据构建子地图,包括:
25.将所述当前地图进行复制操作,得到临时地图;
26.采集当前时刻相邻的连续多帧雷达数据,作为当前时刻的雷达数据;
27.基于当前时刻机器人所在的位姿,将所述雷达数据插入至所述临时地图,得到当前时刻所对应的子地图。
28.可选地,所述若所述子地图与所述当前地图不一致,则基于所述雷达数据进行重定位,得到重定位结果,包括:
29.获取所述雷达数据中最后一帧雷达数据;
30.基于所述最后一帧雷达数据,对所述当前地图执行粒子滤波算法,选取粒子得分最高的粒子位姿作为重定位位姿,以得到重定位结果。
31.可选地,所述若所述子地图与所述当前地图不一致,则基于所述雷达数据进行重定位,得到重定位结果之后还包括:
32.更新回溯标志;其中,所述回溯标志用于指示所述机器人是否执行回溯处理;
33.将回溯位姿更新为所述重定位位姿。
34.可选地,所述基于所述重定位结果对所述当前地图执行回溯处理,得到所述机器人的目标地图,包括:
35.基于所述重定位位姿,对所述当前地图进行定位,得到重定位地图;
36.所述回溯处理为:
37.将所述机器人的当前位姿更新为所述重定位位姿;
38.将当前地图更新为所述重定位地图,作为所述机器人的目标地图。
39.为实现上述目的,本技术还提供一种机器人的地图回溯装置,所述机器人的地图回溯装置包括:
40.构建模块,用于获取所述机器人当前时刻的雷达数据,并基于所述雷达数据构建子地图;
41.比对模块,用于将所述子地图与所述机器人的当前地图进行比对;
42.重定位模块,用于若所述子地图与所述当前地图不一致,则基于所述雷达数据进行重定位,得到重定位结果;
43.回溯模块,用于基于所述重定位结果对所述当前地图执行回溯处理,得到所述机器人的目标地图。
44.进一步地,为实现上述目的,本技术还提供一种机器人,所述机器人包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的机器人的地图回溯程序,所述机器人的地图回溯程序被所述处理器执行时实现上述的机器人的地图回溯方法的步骤。
45.进一步地,为实现上述目的,本技术还提供一种介质,所述介质为计算机可读存储介质,所述计算机可读存储介质上存储有机器人的地图回溯程序,所述机器人的地图回溯程序被处理器执行时实现上述的机器人的地图回溯方法的步骤。
46.本技术实施例提供一种机器人的地图回溯方法、机器人、装置及介质,该地图回溯方法包括采集机器人当前时刻的雷达数据,并基于所述雷达数据构建子地图;将所述子地图与所述机器人的当前地图进行比对;若所述子地图与所述当前地图不一致,则基于所述雷达数据进行重定位,得到重定位结果;基于所述重定位结果对所述当前地图执行回溯处理,得到所述机器人的目标地图。本技术可以通过机器人当前时刻的雷达数据集构建子地图,并在子地图与机器人的当前地图之间不一致时进行重定位,并根据重定位结果对当前地图执行回溯处理,可以在地图比对不一致的情况下基于重定位结果进行地图回溯来生成准确度较高的地图作为目标地图,避免机器人在使用时因受到周围环境的影响和人为因素的干扰发生定位出错而在错误的位置上构建地图,可以使机器人正常进行工作,有效提高机器人的工作效率。
附图说明
47.图1为本技术机器人的地图回溯方法实施例方案涉及的硬件运行环境的结构示意图;
48.图2为本技术机器人的地图回溯方法第一实施例的流程示意图;
49.图3为本技术机器人的地图回溯方法第二实施例的流程示意图;
50.图4为本技术机器人的地图回溯方法第三实施例的流程示意图;
51.图5为本技术机器人的地图回溯方法具体实施例的应用场景示意图;
52.图6为本技术机器人的地图回溯装置较佳实施例的功能模块示意图。
53.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
54.应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
55.如图1所示,图1为本公开实施例提供的一种机器人可能的应用场景,该应用场景
包括清洁机器人,例如扫地机器人、拖地机器人等。在某些实施中,该清洁机器人可以是自动清洁设备,具体可以为自动扫地机器人、自动拖地机器人。在实施中,清洁机器人可以设置有导航系统,可以自行探测确定工作区域并确定清洁机器人在工作区域的具体位置。清洁机器人可以设置各种传感器,例如测距传感器如激光雷达、tof传感器、视觉传感器如摄像头等,用于实时检测工作区域的地面杂物状况。在其他实施例中,自动清洁设备可以设置有触敏显示器,以接收用户输入的操作指令。自动清洁设备还可以设置有wifi模块、bluetooth模块等无线通讯模块,以与智能终端连接,并通过无线通讯模块接收用户利用智能终端传输的操作指令。自动清洁设备包含机器主体100、感知系统、控制系统、驱动系统106、清洁系统、能源系统和人机交互系统。
56.感知系统包括位于机器主体上方的位置确定装置102、位于机器主体的前向部分的碰撞传感器、防跌落传感器和超声传感器、红外传感器、加速度计、陀螺仪、里程计等传感装置104,向控制系统提供机器的各种位置信息和运动状态信息等环境信息。位置确定装置包括但不限于摄像头、激光测距装置(lds,即激光雷达)。在本技术实施例中,位置确定装置采用激光雷达设备,该激光雷达设备可以为单线激光雷达,也可以为多线激光雷达。
57.为了更好的理解上述技术方案,下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
58.为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
59.参照图2,图2为本技术第一实施例提供的一种机器人的地图回溯方法的流程示意图。该实施例中,所述机器人的地图回溯方法包括以下步骤:
60.步骤s10,采集机器人当前时刻的雷达数据,并基于所述雷达数据构建子地图;
61.本实施例中机器人的地图回溯方法应用于定位建图系统,本实施例中定位建图系统可以部署于机器人,机器人可以为无人配送小车、无人机、仓储机器人、商场服务机器人、送餐机器人、扫地机器人、拖地机器人、扫拖机器人、洗地机等。
62.本实施例中定位建图系统可以包括回溯模块和定位建图模块,回溯模块与定位建图模块通过回溯模块的检测结果标志位进行交互。在系统开始运行阶段,回溯模块与定位建图模块接收同一张地图作为各自模块的当前模块地图(后续也称为当前地图),用于后续地图更新。需要说明的是,接收的地图可以为机器人上一次清洁完成之后保存在内存中的清洁环境地图,该地图类型为栅格地图,在本次清洁的开始阶段会将该栅格地图拷贝成两份,分别设置为回溯模块和定位建图模块的当前模块地图。
63.进一步地,可以通过回溯模块采集一定数量的雷达数据,并基于该雷达数据构建一张子地图,用于与当前模块地图做地图比对,若两地图一致,将雷达数据画入当前模块地图中;若两地图不一致,则取出多帧雷达数据中的最后一帧作为当前雷达数据,使用粒子滤波进行全局重定位,对全局重定位结果进行校验,若校验成功,则以通讯信息的形式输出回溯位姿、回溯地图以及回溯标志至定位建图模块,其中回溯标志用于与定位建图模块做通讯;若连续校验失败多次,则将多帧雷达数据画入当前模块地图中,否则,继续下一次的数据处理更新处理。其中,回溯标志可以用数字0或1标示,0表示不回溯,1表示需要回溯,也可
以用字母、开关按键或字符串等区分标示。
64.进一步地,通过定位建图模块中的测距传感器如雷达,防跌落传感器、超声传感器、红外传感器、磁力计、加速度计、陀螺仪、里程计、ccd、光学探测传感器等传感器获取当前定位建图必备的传感器数据,分别为惯性测量单元imu(inertial measurement unit,惯性测量单元)、里程计和雷达数据,同时获取回溯模块的通讯信息,若通讯信息中回溯标志表示为需要进行回溯,则获取通讯信息中的回溯位姿和回溯地图,将定位建图模块中的当前模块地图更新为该回溯地图,位姿设置为该回溯位姿,并重新获取数据进入下一次定位建图更新;若通讯信息中回溯标志表示为不需要进行回溯,则不对当前模块地图和位姿进行设置更新。
65.进一步地,根据当前获取的数据中是否包含雷达数据进行处理更新,最终输出包含机器人最新2d位姿的更新地图。其中位姿包括位置信息,用x、y表示,和姿态信息如方位角,用yaw表示。基于定位建图系统中的回溯模块和定位建图模块,可以生成准确度较高的地图作为目标地图,避免机器人在使用时因受到周围环境的影响和人为因素的干扰发生定位出错而在错误的位置上构建地图,可以使机器人正常进行工作,有效提高机器人的工作效率。
66.具体地,通过回溯模块创建一张临时地图,该临时地图为栅格地图,并进一步从雷达数据队列中采集机器人所在区域当前时刻的前预设数量帧雷达数据,将采集的雷达数据画入创建的临时的栅格地图,得到一张子地图,其中雷达数据队列中包含定位建图模块基于机器人上的雷达获取的一帧或多帧雷达数据,并且当雷达数据达到预设数量帧后才会从雷达数据队列中进行雷达数据集的获取。
67.在本技术的一具体实施例中,预设数量帧雷达数据中预设数量根据经验值或用户需求所设定。在本技术实施例中,预设数量可以为50帧。具体地,在创建一张临时的栅格地图后,采集当前时刻的前50帧雷达数据,并将这50帧雷达数据画入临时的栅格地图中,创建出一张子地图。可以理解地,若当前时刻雷达数据队列中雷达数据不足50帧,则不执行后续操作,即不再进行后续的基于机器人的地图回溯流程,只有在雷达数据队列中雷达数据帧数满足预设数量帧即达到50帧后执行一次基于机器人的地图回溯流程。这样,便于后续将子地图与机器人的当前地图进行比对以确定是否需要进行回溯处理,避免机器人在使用时因受到周围环境的影响和人为因素的干扰发生定位出错而在错误的位置上构建地图,可以使机器人正常进行工作,有效提高机器人的工作效率。需要说明的是,为了提高比对准确性以及定位准确性,当前地图为机器人上一次清洁完成之后保存在内存中的清洁环境地图。
68.具体地,所述采集机器人当前时刻的雷达数据,并基于所述雷达数据构建子地图,包括:
69.步骤s11,将所述当前地图进行复制操作,得到临时地图;
70.步骤s12,采集当前时刻相邻的连续多帧雷达数据,作为当前时刻的雷达数据;
71.步骤s13,基于当前时刻机器人所在的位姿,将所述雷达数据插入至所述临时地图,得到当前时刻所对应的子地图。
72.具体地,对机器人的当前地图进行复制操作,得到一张与当前地图相同的地图作为临时地图。进一步地,从雷达数据队列中采集与当前时刻相邻的连续多帧雷达数据,并将采集的雷达数据作为当前时刻的雷达数据,其中连续多帧具体可以为连续50帧。同时,可以
通过位置传感器确定当前时刻机器人的位姿,并根据当前时刻机器人所在的位姿将多帧雷达数据插入至临时地图,得到当前时刻所对应的子地图。便于后续将子地图与机器人的当前地图进行比对来确定是否需要对机器人的当前地图进行回溯处理,避免机器人在使用时因受到周围环境的影响和人为因素的干扰发生定位出错而在错误的位置上构建地图,可以使机器人正常进行工作,有效提高机器人的工作效率。
73.步骤s20,将所述子地图与所述机器人的当前地图进行比对;
74.在基于雷达数据集构建出子地图后,分别将子地图与机器人的当前地图进行栅格化处理,对应得到子栅格图和全局栅格图。再分别对子栅格图和全局栅格图进行二值化处理,对应得到子二值图和全局二值图,需要说明的是,子二值图和全局二值图均包括黑色和白色的地图点,每一地图点对应栅格地图中的一个栅格;最后将子二值图与全局二值图中相同颜色的地图点进行数量大小比较,以确定子地图是否与当前地图一致。
75.具体地,将子二值图与全局二值图中相同颜色的地图点进行数量大小比较,以确定子地图是否与当前地图一致时具体可以为:计算子二值图中黑色地图点的数量与全局二值图中黑色地图点的数量的比值,得到第一数量比率;以及计算子二值图中白色地图点的数量与全局二值图中白色地图点的数量的比值,得到第二数量比率;若第一数量比率与第二数量比率中存在数量比率不满足预设第一条件,则确定子地图与当前地图不一致;若第一数量比率与第二数量比率均满足预设第一条件,则确定子地图与当前地图一致。其中,预设第一条件为任一相同颜色的像素点的数量比率均不小于预设比率阈值;或任一相同颜色的像素点的数量比率均处于预设第一阈值区域,预设比率阈值为根据实际需求设置的比值,本实施例中的预设比率阈值可以为比率值范围如50%-70%,一具体实施例中可以为60%。预设第一阈值区域为根据实际需求设置的比值范围,以便于后续在子地图与当前地图不一致,从而基于雷达数据进行重定位,得到重定位结果;并基于重定位结果对当前地图执行回溯处理,得到所述机器人的目标地图。避免机器人在使用时因受到周围环境的影响和人为因素的干扰发生定位出错而在错误的位置上构建地图,可以使机器人正常进行工作,有效提高机器人的工作效率。
76.步骤s30,若所述子地图与所述当前地图不一致,则基于所述雷达数据进行重定位,得到重定位结果;
77.进一步地,若对比后确定子地图与当前地图不一致,则基于雷达数据集的最后一帧雷达数据对进行重定位,得到重定位结果;具体地,提取雷达数据集中的最后一帧雷达数据,并通过该帧雷达数据与当前地图即回溯模块接收的地图进行重定位,本实施例中重定位的方法使用的是粒子滤波算法,粒子是根据当前地图生成的,也就是在当前地图上的所有地图点上放粒子,并通过提取的一帧激光雷达数据和每个粒子做比较,比较出得分最高的粒子,并将该得分最高粒子的位姿作为重定位结果,重定位结果是输出机器人当前正确的位姿(也就是该选出的粒子的位姿)。以便于后续基于重定位结果对当前地图执行回溯处理,得到机器人的目标地图。需要说明的是,将重定位得到的位姿更新至当前地图,更新后的地图就不会错,而重定位结果没有直接更改地图。可以避免机器人在使用时因受到周围环境的影响和人为因素的干扰发生定位出错而在错误的位置上构建地图,可以使机器人正常进行工作,有效提高机器人的工作效率。
78.可以理解地,在通过回溯模块完成子地图与当前地图的比对后,若子地图与当前
地图一致,则确定不需要对当前地图即当前地图执行回溯处理,将采集的雷达数据集画入当前地图即当前模块地图中,对当前地图进行数据更新,得到更新地图,以及将回溯标志设置为不需要回溯地图的标识,并将更新地图与回溯标志一同发送至定位建图模块。
79.进一步地,通过定位建图模块识别出回溯标志为不需要回溯地图,则获取当前定位建图必备的传感器数据,其中传感器数据中包括惯性测量单元imu、里程计,以及可能包含雷达数据;进一步地,判断获取的传感器数据中是否包含雷达数据,若不包含雷达数据,则根据惯性测量单元imu、里程计等数据通过kalman(卡尔曼)滤波算法计算出位姿信息作为机器人的当前位姿,最后将机器人的当前位姿画入从回溯模块接收的更新地图中,得到目标地图。
80.步骤s40,基于所述重定位结果对所述当前地图执行回溯处理,得到所述机器人的目标地图。
81.在基于雷达数据集对当前地图进行重定位并得到重定位结果后,对重定位结果进行校验,若确定校验结果为校验成功,则重定位结果符合回溯条件,获取重定位结果中的重定位位姿;将机器人的当前位姿更新为重定位位姿,并通过重定位位姿对当前地图进行定位,得到重定位地图,最后将机器人的当前地图更新为重定位地图,得到机器人的目标地图。避免机器人在使用时因受到周围环境的影响和人为因素的干扰发生定位出错而在错误的位置上构建地图,可以使机器人正常进行工作,有效提高机器人的工作效率。
82.本实施例提供一种机器人的地图回溯方法,采集机器人当前时刻的雷达数据,并基于所述雷达数据构建子地图;将所述子地图与所述机器人的当前地图进行比对;若所述子地图与所述当前地图不一致,则基于所述雷达数据进行重定位,得到重定位结果;基于所述重定位结果对所述当前地图执行回溯处理,得到所述机器人的目标地图。本技术可以通过机器人当前时刻的雷达数据集构建子地图,并在子地图与机器人的当前地图之间不一致时进行重定位,并根据重定位结果对当前地图执行回溯处理,可以在地图比对不一致的情况下基于重定位结果进行地图回溯来生成准确度较高的地图作为目标地图,避免机器人在使用时因受到周围环境的影响和人为因素的干扰发生定位出错而在错误的位置上构建地图,可以使机器人正常进行工作,有效提高机器人的工作效率。
83.进一步需要说明的是,本技术机器人的地图回溯方法相比于当前只存在定位建图模块但无定位及地图回溯功能的算法,鲁棒性显著提升。当环境或者外界干扰导致机器人定位及地图出错时,能在一段时间内恢复回正确的位置及地图,最终呈现给客户一张正确的地图,提高用户体验。
84.进一步地,参照图3,基于本技术机器人的地图回溯方法的第一实施例,提出本技术机器人的地图回溯方法的第二实施例,在第二实施例中,所述将所述子地图与所述机器人的当前地图进行比对,包括:
85.步骤s21,分别将所述子地图与所述机器人的当前地图进行栅格化处理,对应得到子栅格图和全局栅格图;
86.步骤s22,分别对所述子栅格图和所述全局栅格图进行二值化处理,对应得到子二值图和全局二值图;其中,所述子二值图和所述全局二值图均包括黑色和白色的地图点;
87.步骤s23,将所述子二值图与所述全局二值图中相同颜色的地图点进行数量大小比较,以确定所述子地图是否与当前地图一致。
88.在将子地图与当前地图进行比对时,将子地图进行栅格化处理,得到子栅格图;同时,将机器人的当前地图进行栅格化处理,得到全局栅格图,具体为将当前地图与子地图分别进行栅格划分,将当前地图与子地图分别划分成多个栅格。进一步地,分别对子栅格图和全局栅格图进行二值化处理,对应得到子二值图和全局二值图,具体地:获取当前栅格图中各栅格地图点的概率值,其中概率值是栅格地图自带的概率,每次画入一次地图就会更新一下概率,属于激光的通用算法,概率值用于表征该栅格地图点是否存在障碍或是否被占据。若当前栅格地图点概率值大于0.51,将该地图点设置为白色(1.0),若当前栅格地图点概率值小于0.49,将该地图点设置为黑色(0.0),直至子栅格图和全局栅格图中地所有栅格地图点均完成黑色或白色的二值化设置,使得子二值图和全局二值图均只包括黑色和白色的地图点。
89.进一步地,分别统计子二值图与全局二值图中白色和黑色的地图点的数量,并将子二值图与全局二值图中相同颜色的地图点进行数量大小比较,以确定子地图是否与当前地图一致,具体可以计算子二值图中黑色地图点的数量与全局二值图中黑色地图点的数量的比值,得到第一数量比率;以及计算子二值图中白色地图点的数量与全局二值图中白色地图点的数量的比值,得到第二数量比率。
90.进一步地,若第一数量比率与第二数量比率中存在数量比率不满足预设第一条件,则确定子地图与当前地图不一致;而若第一数量比率与第二数量比率均满足预设第一条件,则确定子地图与当前地图一致。以便于后续在子地图与当前地图不一致,基于雷达数据进行重定位,得到重定位结果;并基于重定位结果对当前地图执行回溯处理,得到所述机器人的目标地图。避免机器人在使用时因受到周围环境的影响和人为因素的干扰发生定位出错而在错误的位置上构建地图,可以使机器人正常进行工作,有效提高机器人的工作效率。
91.进一步地,所述分别对所述子栅格图和所述全局栅格图进行二值化处理,对应得到子二值图和全局二值图,包括:
92.步骤s221,分别对所述子栅格图和所述全局栅格图进行二值化处理,获取所述子栅格图和所述当前地图中各地图点的概率值;
93.步骤s222,若存在地图点的概率值大于第一预设概率值,则将所述地图点的颜色设置为白色并设置所述地图点的像素值为1;
94.步骤s223,若存在地图点的概率值小于第二预设概率值,则将所述地图点的颜色设置为黑色并设置所述地图点的像素值为0;
95.步骤s224,更新所述子栅格图和所述全局栅格图,得到子二值图和全局二值图;其中,所述第一预设概率值与所述第二预设概率值之和为1。
96.分别对子栅格图和全局栅格图进行二值化处理,使得子栅格图和全局栅格图具有相应的地图点概率值,并获取子栅格图中所有地图点的概率值和当前地图中所有地图点的概率值。将子栅格图和全局栅格图中所有地图点的概率值分别与第一预设概率值及第二预设概率值进行比较,将概率值大于第一预设概率值的地图点的颜色设置为白色并设置该地图点的像素值为1,例如本实施例中第一预设概率值为0.51,第二预设概率值为0.49。将概率值小于第二预设概率值的地图点的颜色设置为黑色并设置该地图点的像素值为0。
97.需要说明的是,本实施例中第一预设概率值与第二预设概率值均为根据实际需求
设置的数值,并且第一预设概率值与第二预设概率值之和为1。在子栅格图和全局栅格图中的所有地图点均完成颜色及像素值设置后,通过完成设置的地图点对应更新子栅格图和全局栅格图,得到均只由白色地图点与黑色地图点组成的子二值图和全局二值图。以便于候选将子二值图与全局二值图中相同颜色的地图点进行数量大小比较来确定子地图是否与当前地图一致。
98.进一步地,所述将所述子二值图与所述全局二值图中相同颜色的地图点进行数量大小比较,以确定所述子地图是否与当前地图一致,包括:
99.步骤s231,计算所述子二值图中黑色地图点的数量与所述全局二值图中黑色地图点的数量的比值,得到第一数量比率;
100.步骤s232,计算所述子二值图中白色地图点的数量与所述全局二值图中白色地图点的数量的比值,得到第二数量比率;
101.步骤s233,若所述第一数量比率与所述第二数量比率中存在数量比率不满足预设第一条件,则确定所述子地图与当前地图不一致;
102.步骤s234,若所述第一数量比率与所述第二数量比率均满足所述预设第一条件,则确定所述子地图与当前地图一致。
103.在得到子二值图和全局二值图后,统计子二值图中白色地图点与黑色地图点的数量,以及统计全局二值图中白色地图点与黑色地图点的数量。将子二值图中黑色地图点的数量与全局二值图中黑色地图点的数量进行比值运算,将本次比值运算的结果确定为第一数量比率;同时将子二值图中白色地图点的数量与全局二值图中白色地图点的数量进行比值运算,将本次比值运算的结果确定为第二数量比率。
104.将第一数量比率与第二数量比率分别与预设比率阈值进行比较,若第一数量比率与第二数量比率均大于或等于预设比率阈值,则确定第一数量比率与第二数量比率均满足预设第一条件,确定子地图与当前地图一致。而若第一数量比率与第二数量比率中存在任一数量比率小于预设比率阈值,则确定第一数量比率与第二数量比率中存在数量比率不满足预设第一条件,判定确定子地图与当前地图不一致。以在子地图与当前地图不一致时,基于雷达数据进行重定位,得到重定位结果;并基于重定位结果对当前地图执行回溯处理,得到机器人的目标地图。避免机器人在使用时因受到周围环境的影响和人为因素的干扰发生定位出错而在错误的位置上构建地图,可以使机器人正常进行工作,有效提高机器人的工作效率。
105.本实施例可以通过将子地图与当前地图进行地图比对,准确地确定子地图与当前地图是否一致,以便于在子地图与当前地图不一致时,基于雷达数据进行重定位,得到重定位结果;并基于重定位结果对当前地图执行回溯处理,得到机器人的目标地图。避免机器人在使用时因受到周围环境的影响和人为因素的干扰发生定位出错而在错误的位置上构建地图,可以使机器人正常进行工作,有效提高机器人的工作效率。
106.进一步地,参照图4,基于本技术机器人的地图回溯方法的第一实施例,提出本技术机器人的地图回溯方法的第三实施例,在第三实施例中,所述若所述子地图与所述当前地图不一致,则基于所述雷达数据进行重定位,得到重定位结果,包括:
107.步骤s31,获取所述雷达数据中最后一帧雷达数据;
108.步骤s32,基于所述最后一帧雷达数据,对所述当前地图执行粒子滤波算法,选取
粒子得分最高的粒子位姿作为重定位位姿,以得到重定位结果。
109.在确定子地图与所述当前地图不一致后,提取多帧雷达数据中的最后一帧雷达数据,最后一帧即生成时间与当前时间最接近的一帧雷达数据。进一步地,基于最后一帧雷达数据,对当前地图执行粒子滤波算法;具体地,在当前地图中的各个栅格中设置粒子,得到粒子集,其中设置的粒子可以为一个点,由该点与栅格的中心可以形成一个航向角角度。计算粒子集中各粒子与最后一帧雷达数据的匹配度得分,将各匹配度得分中得分最高的匹配度得分对应的粒子与相应栅格形成的位姿确定为重定位位姿,得到包括重定位位姿的重定位结果。
110.可以理解地,在得到重定位结果后,还需要对重定位结果进行校验,该校验结果用于验证重定位后的位姿准确性。该校验的步骤具体可以为:基于雷达数据集中的最后一帧雷达数据构建一张临时栅格地图,分别对临时栅格地图与当前地图对应的栅格地图进行二值化处理,将临时栅格地图设置为由白色地图点与黑色地图点组成的第一二值化地图,以及将当前地图对应的栅格地图设置为由白色地图点与黑色地图点组成的第二二值化地图;将第一二值化地图与第二二值化地图进行比对,确定第一二值化地图与第二二值化地图是否一致,具体比对过程参照上述的地图比对过程,在此不再进行赘述,若地图比对结果为第一二值化地图与第二二值化地图一致,则确定校验成功,得到校验成功的校验结果,并确定重定位结果符合回溯条件,需要进行回溯。
111.若地图比对结果为第一二值化地图与第二二值化地图不一致,则确定校验失败,确定重定位结果不符合回溯条件,不需要进行回溯。获取机器人上预设传感器采集的下一时刻的作为最新的雷达数据,并根据最新的雷达数据构建子地图,直至构建的子地图与当前地图一致,将回溯标志更新为不需要回溯的标志0,并基于不需要回溯的标志0,根据构建子地图的雷达数据进行地图更新,得到机器人的目标地图。
112.或,直至重定位结果通过校验,将回溯标志更新为标志1,并基于标志1,根据重定位位姿与重定位地图进行地图回溯处理,得到机器人的目标地图。
113.或,直至重定位结果未通过校验的次数达到3次,将回溯标志更新为不需要回溯的标志0,并基于不需要回溯的标志,根据构建子地图的雷达数据进行地图更新,得到机器人的目标地图。
114.具体地,若经确定重定位结果连续校验失败的次数达到预设阈值例如连续校验失败的次数达到3次,则需要强制将当前获取的多帧雷达数据集画入当前模块地图以更新地图。具体为获取当前的多帧雷达数据集,例如第3次获取的50帧雷达数据集,将该雷达数据集画入当前模块地图得到更新地图以及将回溯标志设置为不需要回溯地图,并将更新地图以及回溯标志一同发送至定位建图模块。进一步地,通过定位建图模块识别出回溯标志为不需要回溯地图,则获取当前定位建图必备的传感器数据。
115.进一步地,判断获取的传感器数据中是否包含雷达数据,若不包含雷达数据,则根据惯性测量单元imu、里程计等数据通过kalman滤波算法计算出位姿信息作为机器人的当前位姿,最后将机器人的当前位姿画入从回溯模块接收的更新地图中,得到目标地图。若包含雷达数据,则将包含的雷达数据更新至预设传感器获取的雷达数据中,根据惯性测量单元imu、里程计等数据通过kalman滤波算法计算出位姿信息作为机器人的当前位姿,最后将机器人的当前位姿画入从回溯模块接收的更新地图中,得到目标地图。以此避免机器人在
使用时因受到周围环境的影响和人为因素的干扰发生定位出错而在错误的位置上构建地图,可以使机器人正常进行工作,有效提高机器人的工作效率。
116.进一步地,所述若所述子地图与所述当前地图不一致,则基于所述雷达数据进行重定位,得到重定位结果之后还包括:
117.步骤a,更新回溯标志;其中,所述回溯标志用于指示所述机器人是否执行回溯处理;
118.步骤b,将回溯位姿更新为所述重定位位姿。
119.在得到重定位结果并确定重定位结果校验成功后,将回溯标志更新为标志1,标志1在本实施例中表征机器人需要执行回溯处理。并进一步将机器人的回溯位姿更新为上述的重定位位姿,即通过重定位位姿替换原回溯位姿作为最新的回溯位姿。
120.进一步地,所述基于所述重定位结果对所述当前地图执行回溯处理,得到所述机器人的目标地图,包括:
121.步骤s41,基于所述重定位位姿,对所述当前地图进行定位,得到重定位地图;
122.所述回溯处理为:
123.步骤c,将所述机器人的当前位姿更新为所述重定位位姿;
124.步骤d,将当前地图更新为所述重定位地图,作为所述机器人的目标地图。
125.使用重定位结果中的重定位位姿对机器人的当前地图进行定位,即将重定位位姿画入当前地图的相应位置(即相应栅格),由此得到包含机器人最新位姿的重定位地图。需要说明的是,本实施例中对当前地图进行的回溯处理具体为采用重定位位姿替换机器人的当前位姿作为最新位姿,并通过重定位地图替换机器人的当前地图作为表征机器人最新地图的目标地图。
126.本实施例可以在子地图与当前地图不一致时,基于雷达数据进行重定位,得到重定位结果;并基于重定位结果对当前地图执行回溯处理,得到机器人的目标地图。避免机器人在使用时因受到周围环境的影响和人为因素的干扰发生定位出错而在错误的位置上构建地图,可以使机器人正常进行工作,有效提高机器人的工作效率。
127.在本技术的一具体实施例中,参照图5,图5为本技术机器人的地图回溯方法具体实施例的应用场景示意图。在该实施例中,
128.步骤01:在系统开始运行阶段,回溯模块与定位建图模块接收同一张初始记忆地图作为各自模块的当前模块地图;
129.步骤02:回溯模块判断雷达数据队列中的数据队列大小是否大于50帧,若是,执行步骤03,若否,执行步骤04;
130.步骤03:提取前50帧雷达数据构建子地图并与当前地图进行地图比对;若对比成功,执行步骤05,若对比失败,则执行步骤06;
131.步骤04:不执行后续步骤;
132.步骤05:将50帧雷达数据画入地图得到机器人的最新地图;
133.步骤06:提取最后一帧雷达数据并进行旋转,完成雷达数据旋转后进行全局重定位,并对重定位结果进行校验,若重定位结果连续校验失败3次,则执行步骤05,若重定位结果校验成功,则执行步骤07;
134.步骤07:输出回溯位姿、回溯地图以及回溯标志至定位建图模块;
135.步骤08:定位建图模块获取imu、里程计与雷达数据等数据,同时接收回溯模块发送的通讯信息并进行回溯标志判断,若根据回溯标志判断需要进行回溯,则执行步骤09,若根据回溯标志判断不需要进行回溯,则执行步骤10;
136.步骤09:根据回溯地图与机器人位姿进行地图回溯,并持续获取imu、里程计及雷达数据;
137.步骤10:确定获取的数据中是否存在雷达帧,若存在,则执行步骤11,若不存在,则执行步骤12;
138.步骤11:处理imu、里程计、雷达数据;
139.步骤12:处理imu、里程计数据,并输出机器人位姿、将雷达数据画入地图。
140.进一步地,本技术还提供一种机器人的地图回溯装置。
141.参照图6,图6为本技术机器人的地图回溯装置第一实施例的功能模块示意图。
142.所述机器人包括:
143.构建模块10,用于采集机器人当前时刻的雷达数据,并基于所述雷达数据构建子地图;其中,所述构建模块10具体可以为传感器、摄像头、激光雷达设备等。
144.比对模块20,用于将所述子地图与所述机器人的当前地图进行比对;其中,所述比对模块20具体可以为计算器、计算程序等。
145.重定位模块30,用于若所述子地图与所述当前地图不一致,则基于所述雷达数据进行重定位,得到重定位结果;其中,所述重定位模块30可以为包含重定位算法的计算程序。
146.回溯模块40,用于基于所述重定位结果对所述当前地图执行回溯处理,得到所述机器人的目标地图。其中,所述回溯模块40可以为包含回溯算法的计算程序。
147.此外,本技术还提供一种介质,所述介质优选为计算机可读存储介质,其上存储有机器人的地图回溯程序,所述机器人的地图回溯程序被处理器执行时实现上述机器人的地图回溯方法各实施例的步骤。
148.在本技术机器人的地图回溯装置、计算机可读存储介质的实施例中,包含了上述机器人的地图回溯方法各实施例的全部技术特征,说明和解释内容与上述机器人的地图回溯方法各实施例基本相同,在此不做赘述。
149.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
150.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
151.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是固定终端,如物联网智能设备,包括智能空调、智能电灯、智能电源、智能路由器等智能家居;也可以是移动
终端,包括智能手机、可穿戴的联网ar/vr装置、智能音箱、自动驾驶汽车等诸多联网设备)执行本技术各个实施例所述的方法。
152.以上仅为本技术的优选实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献