CN115902862A - 移动机器人重定位方法、装置、移动机器人及存储介质 - Google Patents
移动机器人重定位方法、装置、移动机器人及存储介质 Download PDFInfo
- Publication number
- CN115902862A CN115902862A CN202211737972.XA CN202211737972A CN115902862A CN 115902862 A CN115902862 A CN 115902862A CN 202211737972 A CN202211737972 A CN 202211737972A CN 115902862 A CN115902862 A CN 115902862A
- Authority
- CN
- China
- Prior art keywords
- mobile robot
- radar data
- map
- grid
- simulated
- 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.)
- Pending
Links
Images
Landscapes
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本说明书公开了一种移动机器人重定位方法、装置、移动机器人及存储介质。其中,移动机器人重定位方法包括:获取移动机器人当前位姿的实际雷达数据;其中,实际雷达数据是通过对移动机器人的作业区域进行实际旋转扫描而得到的;基于实际雷达数据生成模拟雷达数据;其中,模拟雷达数据是模拟移动机器人对作业区域进行旋转扫描而得到的雷达数据;将模拟雷达数据与作业区域的先验地图进行匹配,确定移动机器人在先验地图中的定位位姿。本说明书实施例利用移动机器人采集的多帧雷达数据作为移动机器人的重定位的数据基础,在环境发生变化或由于机械机构设计对某一帧雷达数据产生影响时,仍能保证重定位的准确率。
Description
技术领域
本发明涉及移动机器人定位技术领域,尤其涉及一种移动机器人重定位方法、装置、移动机器人及存储介质。
背景技术
移动机器人重定位是移动机器人学的重要研究方向,也是移动机器人实现自主定位导航的关键。通常采用单帧激光数据、单帧图像数据实现移动机器人重定位。
相关技术中,在一些比如家庭等复杂作业场景中,移动机器人在作业时可能会面临被外力移动而导致其处于未知位置。此时,可以使用单帧激光数据完成移动机器人的自主定位。
然而,使用单帧激光数据重定位移动机器人的准确率有待提升。
发明内容
本说明书旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本说明书的第一个目的在于提出一种移动机器人重定位方法。
本说明书的第二个目的在于提出一种移动机器人重定位装置。
本说明书的第三个目的在于提出一种电子设备。
本说明书的第四个目的在于提出一种计算机可读存储介质。
为达到上述目的,本说明书第一方面实施例提出了一种移动机器人重定位方法。移动机器人重定位方法包括:获取移动机器人当前位姿的实际雷达数据;其中,实际雷达数据是通过对移动机器人的作业区域进行实际旋转扫描而得到的;基于实际雷达数据生成模拟雷达数据;其中,模拟雷达数据是模拟移动机器人对作业区域进行旋转扫描而得到的雷达数据;将模拟雷达数据与作业区域的先验地图进行匹配,确定移动机器人在先验地图中的定位位姿。
根据本说明书实施例的移动机器人重定位方法,在移动机器人需要进行重定位的情况下,控制移动机器人在当前位姿进行旋转,获得移动机器人对作业区域扫描得到的实际雷达数据。由于仅使用单帧雷达数据进行重定位容易造成定位失误。因此本说明书实施例的实际雷达数据是包括移动机器人旋转过程中发射多帧雷达脉冲所获得的多帧雷达数据。基于实际雷达数据再模拟一帧雷达数据作为模拟雷达数据。利用模拟雷达数据与先验地图进行匹配便可确定出移动机器人在先验地图中的定位位姿。本说明书实施例利用移动机器人采集的多帧雷达数据作为移动机器人的重定位的数据基础,在环境发生变化或由于机械机构设计对某一帧雷达数据产生影响时,仍能保证重定位的准确率,从而可以提高用户体验感。
另外,根据本说明书上述实施例的,还可以具有如下的附加技术特征:
在本说明书的一个实施例,获取移动机器人当前位姿的实际雷达数据,包括:控制移动机器人在当前位置执行指定角度的旋转操作;在执行旋转操作的过程中,对作业区域进行扫描,得到实际雷达数据。
在本说明书的一个实施例,将模拟雷达数据与作业区域的先验地图进行匹配,确定移动机器人在先验地图中的定位位姿,包括:将模拟雷达数据与先验地图的初始地图点进行匹配,在初始地图点中确定满足撒粒子条件的目标地图点;在目标地图点上生成预设数量的用于模拟移动机器人位置的粒子集合;对粒子集合进行粒子滤波定位,确定移动机器人在先验地图中的定位位姿。
在本说明书的一个实施例,基于实际雷达数据生成模拟雷达数据,包括:根据实际雷达数据对预设基础地图中的栅格进行概率填充,得到占栅格地图;基于移动机器人的当前位姿在占栅格地图模拟所述移动机器人对作业区域进行扫描,得到模拟雷达数据。
在本说明书的一个实施例,基于移动机器人的当前位姿在占栅格地图模拟移动机器人对作业区域进行扫描,得到模拟雷达数据,包括:将移动机器人的当前位姿映射至占栅格地图中,得到移动机器人在占栅格地图中的所处位姿;基于移动机器人在占栅格地图中的位姿,以预设发射角度发射模拟脉冲以对占栅格地图进行扫描;其中,模拟脉冲是以移动机器人在占栅格地图中的所处位姿的位置坐标为起点,模拟沿着预设发射角度所发射的脉冲;基于模拟脉冲的扫描结果得到模拟雷达数据。
在本说明书的一个实施例,基于模拟脉冲的扫描结果得到模拟雷达数据,包括:遍历位于模拟脉冲的发射角度方向上的栅格,将概率值满足预设条件的终点栅格确定为模拟击中点;确定移动机器人在占栅格地图中的所处位姿的位置坐标与模拟击中点之间距离作为模拟雷达数据的模拟线段长度;记录模拟击中点对应的模拟脉冲的发射角度作为模拟雷达数据的模拟发射角度。
在本说明书的一个实施例,遍历位于模拟脉冲的发射角度方向上的栅格,将概率值满足预设条件的终点栅格确定为所述模拟击中点,包括:以移动机器人在占栅格地图中的所处位姿的位置坐标为起点,沿着第一方向移动M个第一步长、沿着第二方向移动N个第二步长,到达位于模拟脉冲的发射角度方向上的终点栅格;其中,M和N分别为正整数;若终点栅格的概率值满足预设条件,将终点栅格确定为模拟击中点;若模拟线段长度超出预设线段阈值,则确定位于模拟脉冲的发射角度方向上的栅格为模拟非击中点。
为达到上述目的,本说明书第二方面实施例提出了一种移动机器人重定位装置,该移动机器人重定位装置包括:获取模块,用于获取移动机器人当前位姿的实际雷达数据;其中,实际雷达数据是通过对移动机器人的作业区域进行实际旋转扫描而得到的;雷达数据模拟模块,用于基于实际雷达数据生成模拟雷达数据;其中,模拟雷达数据是模拟移动机器人对作业区域进行旋转扫描而得到的雷达数据;定位模块,用于将模拟雷达数据与作业区域的先验地图进行匹配,确定移动机器人在先验地图中的定位位姿。
根据本说明书实施例的移动机器人重定位装置,在移动机器人需要进行重定位的情况下,控制移动机器人在当前位姿进行旋转,获得移动机器人对作业区域扫描得到的实际雷达数据。由于仅使用单帧雷达数据进行重定位容易造成定位失误。因此本说明书实施例的实际雷达数据是包括移动机器人旋转过程中发射多帧雷达脉冲所获得的多帧雷达数据。基于实际雷达数据再模拟一帧雷达数据作为模拟雷达数据。利用模拟雷达数据与先验地图进行匹配便可确定出移动机器人在先验地图中的定位位姿。本说明书实施例利用移动机器人采集的多帧雷达数据作为移动机器人的重定位的数据基础,在环境发生变化或由于机械机构设计对某一帧雷达数据产生影响时,仍能保证重定位的准确率,从而可以提高用户体验感。
为达到上述目的,本说明书第三方面实施例提出的一种计算机可读存储介质,其上存储有移动机器人的重定位程序,该移动机器人的重定位程序被处理器执行时,实现上述任一项实施例的移动机器人重定位方法。
根据本说明书实施例的计算机可读存储介质,在移动机器人重定位程序被处理器执行时,能够利用移动机器人采集的多帧雷达数据作为移动机器人的重定位的数据基础,在环境发生变化或由于机械机构设计对某一帧雷达数据产生影响时,仍能保证重定位的准确率,从而可以提高用户体验感。
为达上述目的,本说明书第四方面实施例提出了一种移动机器人,包括存储器、处理器及存储在存储器上并可在处理器上运行的移动机器人的重定位程序,处理器执行移动机器人的重定位程序时,实现上述任一项实施例的移动机器人重定位方法。
根据本说明书实施例的移动机器人,在处理器执行移动机器人重定位程序时,能够利用移动机器人采集的多帧雷达数据作为移动机器人的重定位的数据基础,在环境发生变化或由于机械机构设计对某一帧雷达数据产生影响时,仍能保证重定位的准确率,从而可以提高用户体验感。
本说明书附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本说明书的实践了解到。
附图说明
图1为根据本说明书实施例的场景示意图。
图2为根据本说明书实施例的移动机器人重定位方法的流程图。
图3为根据本说明书实施例的确定模拟击中点位置的示意图。
图4为根据本说明书实施例的确定移动机器人在先验地图中的定位位姿的流程图。
图5为根据本说明书一个实施例的移动机器人重定位方法的流程图。
图6为根据本说明书实施例的移动机器人重定位装置的结构框图。
图7为根据本说明书实施例的移动机器人的结构框图。
具体实施方式
下面详细描述本说明书的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本说明书,而不能理解为对本说明书的限制。
移动机器人重定位是移动机器人学的重要研究方向,当移动机器人位置突然发生改变时,移动机器人可通过重定位重新确定其在当前环境中的所处的位置。目前相关技术中,通常采用单帧激光数据、单帧图像数据来实现移动机器人重定位功能。
然而,虽然配备有激光雷达的移动机器人在使用上比较高效,但是由于其在各式各样复杂的环境中工作,当移动机器人突然被移动或抱走,周围环境发生改变时,会出现使用单帧激光数据进行重定位错误的情况。而且由于机械结构的设计,移动机器人的激光雷达数据可能会存在被遮挡的问题。在这些情况下,使用单帧激光雷达数据进行重定位的准确率也会下降,从而可能定位到错误的位置上。以上这些情况都会导致移动机器人地图发生错乱,清扫路径异常等问题的发生,影响用户体验感。因此,本说明书提出了一种移动机器人重定位方法能够提高移动机器人重定位的准确率。
下面参考附图描述本说明书实施例提出的移动机器人重定位方法、装置、移动机器人及存储介质。
在本说明书中,参考图1所示,该清洁环境在空间上可以划分为七个区域,并对不同区域从Room-Room7进行了标记。移动机器人当前位于Room2区域的左侧位置。移动机器人配置有TOF传感器或激光雷达或微波雷达等雷达设备,可通过发射雷达脉冲来确定周边环境。本说明书以机器人配置TOF传感器,发射激光雷达脉冲为例进行说明。
图1所示的地图可以是移动机器人在经过多次清洁工作后,对该清洁环境进行雷达脉冲扫描确定出的先验地图。当移动机器人突然被搬到Room3中进行清洁时,由于环境发生改变,移动机器人需要进行重定位以确定出当前在先验地图中所处的实际位置,才能依据预设的清洁路线进行清洁,避免发生障碍物碰撞等情况的发生。
示例性地,移动机器人可在Room3中的当前位置旋转一圈,旋转过程中通过TOF传感器对当前作业区域进行扫描得到实际雷达数据。TOF传感器的雷达发射频率一般为每秒4-5次,而移动机器人旋转一圈可能会使用5-10秒的时间。因此实际雷达数据包括多帧雷达数据。将实际雷达数据插入预设基础地图,可得到一张临时的占栅格地图。将移动机器人进行旋转的当前位姿映射到占栅格地图中,可得到移动机器人在占栅格地图中的所处位姿。根据占栅格地图,以移动机器人映射到占栅格地图中的所处位姿的位置坐标作为圆心,模拟移动机器人的TOF传感器对作业区域扫描的过程,反推一帧雷达数据作为模拟雷达数据。将模拟雷达数据与先验地图进行匹配,便可确定出移动机器人在先验地图中的定位位姿。根据确定出的移动机器人在先验地图中的定位位姿也就确定出了移动机器人当前是处于Room3的作业区域中,基于先验地图和预设的清洁路径便可对Room3进行清洁工作。
下面结合图2对本说明书实施例的移动机器人重定位方法进行说明。如图2所示,该移动机器人重定位方法包括:
S210,获取移动机器人当前位姿的实际雷达数据。
其中,实际雷达数据是通过对移动机器人的作业区域进行实际旋转扫描而得到的。
雷达脉冲雷达脉冲移动机器人在需要进行重定位时,可控制移动机器人在当前位姿进行旋转,同时使移动机器人的TOF传感器对移动机器人当前所处的作业区域发射雷达脉冲进行扫描。由于TOF传感器的发射频率一般为每秒发射n次,因此在移动机器人旋转结束后可获得多帧雷达数据。多帧雷达数据组成实际雷达数据。本说明书实施例的移动机器人是在当前位姿进行原地旋转,因此,TOF传感器在移动机器人旋转过程中的单次扫描区域是包括大量重叠区域的。由于TOF传感器可向360度的任意方向发射雷达脉冲,在雷达脉冲遇到墙壁、家具等障碍物时返回雷达点数据,因此一帧雷达数据可包括若干个雷达点数据。
S220,基于实际雷达数据生成模拟雷达数据。
其中,模拟雷达数据是模拟移动机器人对作业区域进行旋转扫描而得到的雷达数据。
本说明书实施例中的实际雷达数据包括对移动机器人当前作业区域进行扫描得到的多帧雷达数据,而且TOF传感器的单次扫描区域包括重叠区域的。因此对多帧雷达数据进行处理确定出的移动机器人当前作业区域的环境信息是比单帧雷达数据所确定的环境信息更加准确的。然而,若将实际雷达数据中的多帧雷达数据分别与先验地图进行匹配,会占用大量计算资源。在本说明书的实施例中,可基于实际雷达数据生成模拟雷达数据,模拟雷达数据可以理解为一帧雷达数据。因此,利用模拟雷达数据与先验地图进行匹配更加快捷且不会占用大量计算资源。而且模拟雷达数据是基于实际雷达数据得到的,匹配的准确率也能得到保障。
具体地,本说明书基于作业区域有预设基础地图。预设基础地图为空白的栅格地图。将实际雷达数据插入预设基础地图可以得到一个临时的占栅格地图。占栅格地图上的栅格概率值是基于实际雷达数据得到的。占栅格地图中表示障碍物或墙壁等不可同行的栅格的概率值是大于表示可通行的栅格的概率值的。将移动机器人进行原地旋转时的当前位姿映射到该占栅格地图中,得到移动机器人在占栅格地图中的所处位姿,将所处位姿记为模拟原点。基于占栅格地图,以模拟原点为圆心,模拟TOF传感器向外发射一帧雷达脉冲的过程。TOF传感器发射的一帧雷达脉冲包括分别向多个方向发射的多束雷达脉冲,因此,模拟过程是遍历以模拟原点为起点,发出的每束模拟雷达脉冲所经过的栅格,根据栅格的概率值确定出每束模拟雷达脉冲的长度并且记录每束模拟雷达脉冲的角度,从而得出模拟雷达数据。由此可见,模拟雷达数据可以包括每束模拟雷达脉冲的长度和发射角度。
S230,将模拟雷达数据与作业区域的先验地图进行匹配,确定移动机器人在先验地图中的定位位姿。
在本说明书的实施例中,移动机器人在作业区域已做过多次清洁,清洁过程中移动机器人的TOF传感器会不断对作业区域进行扫描。依据扫描得到的若干帧雷达数据可生成先验地图。先验地图可存储于移动机器人的存储器中,移动机器人在运行过程中若扫描到新的障碍物,也可对先验地图进行更新。
先验地图同样可以为栅格地图。因此可通过粒子滤波的方式将模拟雷达数据在先验地图中进行定位匹配,最终得到移动机器人在先验地图中的定位位姿。
根据本说明书实施例的移动机器人重定位方法,在移动机器人需要进行重定位的情况下,控制移动机器人在当前位姿进行旋转,获得移动机器人对作业区域扫描得到的实际雷达数据。由于仅使用单帧雷达数据进行重定位容易造成定位失误。因此本说明书实施例的实际雷达数据是包括移动机器人旋转过程中发射多帧雷达脉冲所获得的多帧雷达数据。基于实际雷达数据再模拟一帧雷达数据作为模拟雷达数据。利用模拟雷达数据与先验地图进行匹配便可确定出移动机器人在先验地图中的定位位姿。本说明书实施例利用移动机器人采集的多帧雷达数据作为移动机器人的重定位的数据基础,在环境发生变化或由于机械机构设计对某一帧雷达数据产生影响时,仍能保证重定位的准确率,从而可以提高用户体验感。
在本说明书的一些实施例中,获取移动机器人当前位姿的实际雷达数据,可以包括:控制移动机器人在当前位置执行指定角度的旋转操作。在执行旋转操作的过程中,对作业区域进行扫描,得到实际雷达数据。
在一些情况中,由于移动机器人的作业区域环境各异,有些作业环境易于移动机器人识别,有些作业环境复杂不易于移动机器人识别。因此在移动机器人需要进行重定位时,可依据移动机器人所处的整体作业区域的情况来指定移动机器人旋转的角度。
具体地,在移动机器人需要进行重定位时,可以控制移动机器人在当前位置旋转360度,以使移动机器人的TOF传感器多次扫描作业区域,尽可能减少因存在未扫描到某区域而导致的重定位错误的问题。在移动机器人旋转的过程中,通过TOF传感器向作业区域发射多帧雷达脉冲来得到多帧雷达数据,从而得到实际雷达数据。在一些情况中,若移动机器人的整体作业区域比较简洁,易于移动机器人定位识别,为了减少不必要的资源占用,可以控制移动机器人旋转180度或90度等等。在另一些情况中,若根据移动机器人旋转360度后得到的实际雷达数据无法准确进行重定位,可控制移动机器人旋转450度或旋转两圈等等。具体的,可依据移动机器人的算力和具体作业区域来指定移动机器人的旋转角度。
在本说明书的一些实施例中,基于实际雷达数据生成模拟雷达数据,包括:根据实际雷达数据对预设基础地图中的栅格进行概率填充,得到占栅格地图。基于移动机器人的当前位姿在占栅格地图模拟移动机器人对作业区域进行扫描,得到模拟雷达数据。
在一些情况中,移动机器人扫描得到的实际雷达数据可能会包括若干帧雷达数据,数据量较大。若直接存放实际雷达数据可能会占用移动机器人较多的内存空间。因此在本说明书的实施中,预先构建一个空白的栅格地图作为基础地图。在移动机器人对重定位进行旋转扫描时,将得到的每帧雷达数据插入到基础地图来保存实际雷达数据,不仅可以减少内存占用,而且将多帧雷达数据组合到一张地图上,能够更加清楚直观的观察到实际雷达数据所构建的当前作业区域的轮廓。
具体地,作业区域对应有预设基础地图,基础地图中设置有若干栅格。移动机器人在获取实际雷达数据时,由于旋转会导致TOF传感器的相对位置会发生一定的偏移,因此TOF传感器发射的每帧雷达脉冲都有TOF传感器对应的位姿。又由于移动机器人旋转过程中,相对于未移动时的初始方向,其旋转角度是可知的。因此可基于每帧雷达数据所对应的角度和TOF传感器的位姿来将每帧雷达数据插入到基础地图中。
需要介绍的是,将实际雷达数据插入到基础地图中,实际是对基础地图的栅格进行概率填充。在一些实施方式中,栅格的概率值的范围可以为(0,1)。概率值为0的栅格填充为黑色,概率值为1的栅格填充为白色。概率值0至1之间为从黑到白的渐变过程。其中,黑色表示该栅格为墙或障碍物等不可通过的状态;白色表示该栅格为可通行的状态。在本说明书的实施例中,可以设置概率值小于0.5的栅格为黑色击中点,即hit点;设置概率值大于0.5的栅格为白色击中点,即free点。
基于实际雷达数据对预设基础地图进行概率填充后可以得到一张具有概率值的临时的占栅格地图。在占栅格地图上取一个点模拟移动机器人的当前位姿,以模拟的当前位姿作为圆心,模拟TOF传感器对作业区域进行旋转扫描的过程,在占栅格地图中确定每束雷达脉冲的黑色击中点,从而得到模拟雷达数据。
在本说明书的一些实施例中,基于移动机器人的当前位姿在占栅格地图模拟移动机器人对作业区域进行扫描,得到模拟雷达数据,可以包括:将移动机器人的当前位姿映射至占栅格地图中,得到移动机器人在占栅格地图中的所处位姿。基于移动机器人在占栅格地图中的所处位姿,以预设发射角度发射模拟脉冲以对占栅格地图进行扫描。其中,模拟脉冲是以移动机器人在占栅格地图中的所处位姿的位置坐标为起点,模拟沿着预设发射角度所发射的脉冲。基于模拟脉冲的扫描结果得到模拟雷达数据。
具体地,为提高模拟雷达数据的准确率,可以将移动机器人完成实际旋转扫描当前位姿映射至占栅格地图中,得到移动机器人在占栅格地图中的所处位姿。模拟TOF传感器发射一帧雷达脉冲的过程,可以为将移动机器人在占栅格地图中的所处位姿作为原点,向预设发射角度发射模拟脉冲以对占栅格地图进行扫描。在占栅格地图上确定出每束模拟脉冲的黑色击中点,得到模拟雷达数据。其中,预设发射角度的分辨率为1°。
由于TOF传感器发射一帧雷达脉冲,是向周围各个方向上分别发射一束雷达脉冲,每束雷达脉冲返回的数据组成一帧雷达数据。在占栅格地图发射模拟脉冲就是在模拟TOF传感器对作业区域进行扫描发射的多束雷达脉冲。若模拟脉冲数量较少,可能会因数据稀疏影响后续的重定位准确度,而若模拟脉冲数量过多,也会导致计算量过大,占用过多资源。因此本说明书的实施例中,预设发射角度的分辨率可设为1°。也即每隔1°发射一束模拟脉冲,确定出360束模拟脉冲的在占栅格地图上的黑色击中点,从而得到模拟雷达数据。模拟雷达数据可以包括360束模拟脉冲的线段长度和发射角度。
在本说明书的一些实施例中,模拟雷达数据包括模拟线段长度以及模拟发射角度。基于所述模拟脉冲的扫描结果得到所述模拟雷达数据,可以包括:遍历位于模拟脉冲的发射角度方向上的栅格,将概率值满足预设条件的终点栅格确定为模拟击中点。确定移动机器人在占栅格地图中的所处位姿的位置坐标与模拟击中点之间距离作为模拟雷达数据的模拟线段长度。记录模拟击中点对应的模拟脉冲的发射角度作为模拟雷达数据的模拟发射角度。
具体地,由于TOF传感器在实际发射雷达脉冲时,雷达脉冲击中墙壁或者障碍物时会返回击中点的数据。因此模拟脉冲的模拟击中点应该为占栅格地图中表示不可通过的栅格。在本说明书的实施例中,占栅格地图中栅格概率值小于0.5的栅格为黑色击中点,即hit点;栅格概率值大于0.5的栅格为白色击中点,即free点。因此,预设条件可以为栅格概率值小于0.5。在占栅格地图中,搜索位于模拟脉冲的发射角度方向上的栅格,直至根据栅格的概率值确定出该模拟脉冲经过的第一个黑色击中点,将搜索到的第一个黑色击中点作为该模拟脉冲的终点。即在遍历位于模拟脉冲的发射角度方向上的栅格时,将遍历到的概率值小于0.5的终点栅格作为模拟脉冲的模拟击中点。通过确定模拟脉冲的起点与模拟击中点之间的距离作为该模拟脉冲的模拟线段长度。模拟脉冲的起点即移动机器人在占栅格地图中的所处位姿的位置坐标。
示例性地,假设移动机器人的TOF传感器在对作业区域进行扫描时,其TOF传感器向作业区域发射的每帧雷达脉冲包括向周围360个方向上发射的360束雷达脉冲。则本说明书实施例中,可以移动机器人在占栅格地图中的所处位姿的位置坐标原点,模拟TOF传感器每间隔1°发射一束模拟脉冲,共向360个方向上发射模拟脉冲。。记录每束模拟脉冲的发射角度为该模拟脉冲的模拟发射角度。在占栅格地图中搜索每束模拟脉冲所经过的栅格,在搜索到黑色击中点时,记录为该模拟脉冲的模拟击中点。根据移动机器人在占栅格地图中的所处位姿的位置坐标与模拟击中点之间距离作为模拟雷达数据的模拟线段长度。
在本说明书的一些实施例中,遍历位于模拟脉冲的发射角度方向上的栅格,将概率值满足预设条件的终点栅格确定为模拟击中点,包括:以移动机器人在占栅格地图中的所处位姿的位置坐标为起点,沿着第一方向移动M个第一步长、沿着第二方向移动N个第二步长,到达位于模拟脉冲的发射角度方向上的终点栅格。其中,M和N分别为正整数。若终点栅格的概率值满足预设条件,将终点栅格确定为模拟击中点。若模拟线段长度超出预设线段阈值,则确定位于模拟脉冲的发射角度方向上的栅格为模拟非击中点。
在一些情况中,由于占栅格地图是由若干个栅格组成,计算机在遍历模拟脉冲的发射角度方向上的栅格时,只能沿栅格的边缘线进行移动来到达模拟脉冲所经过的栅格。
具体地,在占栅格地图中,可以移动机器人在占栅格地图中的所处位姿的位置坐标为原点预设一个坐标系。记一个栅格在x轴方向的长度为第一步长,一个栅格在y轴方向上的长度为第二步长。在遍历位于模拟脉冲的发射角度方向上的栅格时,当确定出该模拟脉冲的终点栅格,即模拟击中点时,参考图3,记录从原点到达该模拟脉冲的终点栅格需要沿x轴移动的第一步长的数量M和需要沿y轴移动的第二步长的数量N。并且可通过记录两个方向的步长的数量的方式来记录模拟脉冲的模拟线段长度。其中,图3的α表示该模拟脉冲的模拟发射角度。
在一些情况中,由于某些方向上没有障碍物,或障碍物距离较远,TOF传感器在该方向上发射的雷达脉冲无法击中障碍物,导致该方向上没有雷达脉冲数据。在将TOF传感器采集的实际雷达数据插入到基础地图得到占栅格地图后,位于上述方向的栅格的概率值可能都是大于0.5的白色栅格。因此在遍历位于上述方向上的模拟脉冲所经过的栅格时,确定不到该模拟脉冲的终点栅格(概率值小于0.5的栅格)。此时,该模拟脉冲的模拟线段长度已经超出预设线段阈值,则可直接确定位于模拟脉冲的发射角度方向上的栅格为模拟非击中点。可以理解为,该模拟脉冲的发射方向上的栅格均为free点,是可通行的,无障碍物的。预设线段阈值可以理解为模拟脉冲的最长长度。
在本说明书的一些实施例中,先验地图中具有用于撒粒子的初始地图点。如图4所示,将模拟雷达数据与作业区域的先验地图进行匹配,确定移动机器人在先验地图中的定位位姿,可以包括:
S410,将模拟雷达数据与先验地图的初始地图点进行匹配,在初始地图点中确定满足撒粒子条件的目标地图点。
S420,在目标地图点上生成预设数量的用于模拟移动机器人位置的粒子集合。
S430,对粒子集合进行粒子滤波定位,确定移动机器人在先验地图中的定位位姿。
具体地,先验地图是具有概率值的栅格地图。为了提高模拟激光雷达数据在先验地图中的匹配准确率,可根据先验地图计算似然域,得到先验地图对应的似然地图。似然地图是将先验地图中黑色栅格变为白色栅格,白色栅格变为黑色栅格。从而能够使使黑色栅格增多,达到扩大黑色栅格的边界的目的。在利用模拟雷达数据进行粒子滤波定位时,能够使模拟雷达数据的终点栅格匹配到黑色栅格的概率增大。
在似然地图中,每隔预设数量的栅格确定一个初始地图点。示例性地,若似然地图的栅格分辨率为5cm,则可每隔15cm,即每隔三个栅格确定一个初始地图点。
在确定出似然地图的所有初始地图点后,将模拟雷达数据与每个初始地图点进行匹配,在初始地图点中确定满足撒粒子条件的目标地图点。在一些情况中,由于初始地图点可能会包括概率值小于0.5的黑色栅格,而移动机器人不可能位于障碍物或墙壁等位置进行旋转,因此可抛弃所有概率值小于0.5的初始地图点,将剩余的初始地图点作为目标地图点。
在确定出目标地图点后,还可基于目标地图点进行更加细致的粒子位置确定。示例性地,在目标地图点上生成预设数量的用于模拟移动机器人位置的粒子集合可以包括:在目标地图点上以每隔10°的间隔确定36个粒子,得到每个目标地图点的粒子集合。
利用模拟激光数据对粒子集合进行粒子滤波定位。示例性地,模拟激光数据包括每间隔1°的360个方向上的模拟脉冲的模拟线段长度和模拟发射角度。将模拟激光数据放在粒子上,根据模拟激光数据确定出360个模拟脉冲在似然地图中的终点的概率值之和。由于模拟脉冲的终点是为了匹配墙壁或障碍物等黑色栅格,而似然地图是对先验地图进行了相反运算,因此模拟激光数据的360个模拟脉冲在似然地图中的终点的概率值之和越大,表明该粒子是移动机器人真实位姿的概率越大。通过第一轮的粒子滤波定位,可确定出每个目标地图点的粒子集合中概率值之和较大的一些粒子,此时,为了提高定位准确率,可基于第一轮确定出的粒子进行第二轮的粒子滤波定位,最终确定出移动机器人在先验地图中的定位位姿。定位位姿可以为移动机器人构建的临时的占栅格地图和先验地图的坐标系之间的转换关系,确定出移动机器人在先验地图中的真实位置。
在本说明书的一些实施例中,如图5所示,移动机器人重定位方法还可以包括:
S502,控制移动机器人在当前位置执行指定角度的旋转操作。
S504,在执行旋转操作的过程中,对作业区域进行扫描,得到实际雷达数据。
S506,根据实际雷达数据对预设基础地图中的栅格进行概率填充,得到占栅格地图。
S508,将移动机器人的当前位姿映射至占栅格地图中,得到移动机器人在占栅格地图中的所处位姿。
S510,基于移动机器人在占栅格地图中的所处位姿,以预设发射角度发射模拟脉冲以对占栅格地图进行扫描。
S512,以移动机器人在占栅格地图中的所处位姿的位置坐标为起点,沿着第一方向移动M个第一步长、沿着第二方向移动N个第二步长,到达位于模拟脉冲的发射角度方向上的终点栅格。其中,M和N分别为正整数。
S514,若终点栅格的概率值满足预设条件,将终点栅格确定为模拟击中点。
S516,确定移动机器人在占栅格地图中的所处位姿的位置坐标与模拟击中点之间距离作为模拟雷达数据的模拟线段长度。
S518,记录模拟击中点对应的模拟脉冲的发射角度作为模拟雷达数据的模拟发射角度。
S520,将模拟雷达数据与先验地图的初始地图点进行匹配,在初始地图点中确定满足撒粒子条件的目标地图点。所述先验地图中具有用于撒粒子的初始地图点。
S522,在目标地图点上生成预设数量的用于模拟移动机器人位置的粒子集合。
S524,对粒子集合进行粒子滤波定位,确定移动机器人在先验地图中的定位位姿。
对应上述实施例,本说明书的实施例还提出了移动机器人重定位装置,如图6所示,该装置包括:
获取模块610,用于获取移动机器人当前位姿的实际雷达数据。其中,实际雷达数据是5通过对移动机器人的作业区域进行实际旋转扫描而得到的。
雷达数据模拟模块620,用于基于实际雷达数据生成模拟雷达数据。其中,模拟雷达数据是模拟移动机器人对作业区域进行旋转扫描而得到的雷达数据。
定位模块630,用于将模拟雷达数据与作业区域的先验地图进行匹配,确定移动机器人在所述先验地图中的定位位姿。
0根据本说明书实施例的移动机器人重定位装置,在移动机器人需要进行重定位的情况
下,控制移动机器人在当前位姿进行旋转,获得移动机器人对作业区域扫描得到的实际雷达数据。由于仅使用单帧雷达数据进行重定位容易造成定位失误。因此本说明书实施例的实际雷达数据是包括移动机器人旋转过程中发射多帧雷达脉冲所获得的多帧雷达数据。基
于实际雷达数据再模拟一帧雷达数据作为模拟雷达数据。利用模拟雷达数据与先验地图进5行匹配便可确定出移动机器人在先验地图中的定位位姿。本说明书实施例利用移动机器人
采集的多帧雷达数据作为移动机器人的重定位的数据基础,在环境发生变化或由于机械机构设计对某一帧雷达数据产生影响时,仍能保证重定位的准确率,从而可以提高用户体验感。
需要说明的是,本实施例的移动机器人重定位装置中未披露的细节,请参照本说明书0实施例中移动机器人重定位方法的实施例中所披露的细节,此处不再赘述。
对应上述实施例,本说明书实施例还提出了一种计算机可读存储介质,其上存储有移动机器人重定位程序,该移动机器人重定位程序被处理器执行时,实现上述任一项实施例的移动机器人重定位方法。
根据本说明书实施例的计算机可读存储介质,在移动机器人重定位程序被处理器执行5时,能够利用移动机器人采集的多帧雷达数据作为移动机器人的重定位的数据基础,在环
境发生变化或由于机械机构设计对某一帧雷达数据产生影响时,仍能保证重定位的准确率,从而可以提高用户体验感。
对应上述实施例,本说明书的实施例还提供了一种移动机器人。
图7是根据本说明书一个实施例的移动机器人的结构框图,如图7所示,该移动机器0人700包括存储器704、处理器702及存储在存储器704上并可在处理器702上运行的移
动机器人重定位程序706,处理器702执行移动机器人重定位程序706时,实现上述任一项实施例的移动机器人重定位方法。
根据本说明书实施例的移动机器人,在处理器702执行移动机器人重定位程序706时,能够利用移动机器人采集的多帧雷达数据作为移动机器人的重定位的数据基础,在环境发生变化或由于机械机构设计对某一帧雷达数据产生影响时,仍能保证重定位的准确率,从而可以提高用户体验感。
需要说明的是,关于本申请中的描述,请参考本申请中关于的描述,具体这里不再赘述。
需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本说明书的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本说明书的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本说明书中的具体含义。
尽管上面已经示出和描述了本说明书的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本说明书的限制,本领域的普通技术人员在本说明书的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种移动机器人重定位方法,其特征在于,所述方法包括:
获取所述移动机器人当前位姿的实际雷达数据;其中,所述实际雷达数据是通过对所述移动机器人的作业区域进行实际旋转扫描而得到的;
基于所述实际雷达数据生成模拟雷达数据;其中,所述模拟雷达数据是模拟所述移动机器人对所述作业区域进行旋转扫描而得到的雷达数据;
将所述模拟雷达数据与所述作业区域的先验地图进行匹配,确定所述移动机器人在所述先验地图中的定位位姿。
2.根据权利要求1所述的方法,其特征在于,所述获取所述移动机器人当前位姿的实际雷达数据,包括:
控制所述移动机器人在当前位置执行指定角度的旋转操作;
在执行旋转操作的过程中,对所述作业区域进行扫描,得到所述实际雷达数据。
3.根据权利要求1所述的方法,其特征在于,所述将所述模拟雷达数据与所述作业区域的先验地图进行匹配,确定所述移动机器人在所述先验地图中的定位位姿,包括:
将所述模拟雷达数据与所述先验地图的初始地图点进行匹配,在所述初始地图点中确定满足撒粒子条件的目标地图点;
在所述目标地图点上生成预设数量的用于模拟移动机器人位置的粒子集合;
对所述粒子集合进行粒子滤波定位,确定所述移动机器人在所述先验地图中的定位位姿。
4.根据权利要求1-3任意一项所述的方法,其特征在于,所述基于所述实际雷达数据生成模拟雷达数据,包括:
根据所述实际雷达数据对预设基础地图中的栅格进行概率填充,得到占栅格地图;
基于所述移动机器人的当前位姿在所述占栅格地图模拟所述移动机器人对所述作业区域进行扫描,得到所述模拟雷达数据。
5.根据权利要求4所述的方法,其特征在于,所述基于所述移动机器人的当前位姿在所述占栅格地图模拟所述移动机器人对所述作业区域进行扫描,得到所述模拟雷达数据,包括:
将所述移动机器人的当前位姿映射至所述占栅格地图中,得到所述移动机器人在所述占栅格地图中的所处位姿;
基于所述移动机器人在所述占栅格地图中的所处位姿,以预设发射角度发射模拟脉冲以对所述占栅格地图进行扫描;其中,所述模拟脉冲是以所述移动机器人在所述占栅格地图中的所处位姿的位置坐标为起点,模拟沿着所述预设发射角度所发射的脉冲;
基于所述模拟脉冲的扫描结果得到所述模拟雷达数据。
6.根据权利要求5所述的方法,其特征在于,所述基于所述模拟脉冲的扫描结果得到所述模拟雷达数据,包括:
遍历位于所述模拟脉冲的发射角度方向上的栅格,将概率值满足预设条件的终点栅格确定为模拟击中点;
确定所述移动机器人在所述占栅格地图中的所处位姿的位置坐标与所述模拟击中点之间距离作为所述模拟雷达数据的模拟线段长度;
记录所述模拟击中点对应的模拟脉冲的发射角度作为所述模拟雷达数据的模拟发射角度。
7.根据权利要求6所述的方法,其特征在于,所述遍历位于所述模拟脉冲的发射角度方向上的栅格,将概率值满足预设条件的终点栅格确定为所述模拟击中点,包括:
以所述移动机器人在所述占栅格地图中的所处位姿的位置坐标为起点,沿着第一方向移动M个第一步长、沿着第二方向移动N个第二步长,到达位于所述模拟脉冲的发射角度方向上的终点栅格;其中,M和N分别为正整数;
若所述终点栅格的概率值满足所述预设条件,将所述终点栅格确定为所述模拟击中点;
若所述模拟线段长度超出预设线段阈值,则确定位于所述模拟脉冲的发射角度方向上的栅格为模拟非击中点。
8.一种移动机器人重定位装置,其特征在于,所述装置包括:
获取模块,用于获取所述移动机器人当前位姿的实际雷达数据;其中,所述实际雷达数据是通过对所述移动机器人的作业区域进行实际旋转扫描而得到的;
雷达数据模拟模块,用于基于所述实际雷达数据生成模拟雷达数据;其中,所述模拟雷达数据是模拟所述移动机器人对所述作业区域进行旋转扫描而得到的雷达数据;
定位模块,用于将所述模拟雷达数据与所述作业区域的先验地图进行匹配,确定所述移动机器人在所述先验地图中的定位位姿。
9.一种移动机器人,其特征在于,所述移动机器人包括:存储器、处理器以及存储在存储器上的移动机器人的运行程序,所述移动机器人的运行程序被所述处理器执行实现如权利要求1至7任意一项所述的移动机器人重定位方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任意一项所述的移动机器人重定位方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211737972.XA CN115902862A (zh) | 2022-12-30 | 2022-12-30 | 移动机器人重定位方法、装置、移动机器人及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211737972.XA CN115902862A (zh) | 2022-12-30 | 2022-12-30 | 移动机器人重定位方法、装置、移动机器人及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115902862A true CN115902862A (zh) | 2023-04-04 |
Family
ID=86473058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211737972.XA Pending CN115902862A (zh) | 2022-12-30 | 2022-12-30 | 移动机器人重定位方法、装置、移动机器人及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115902862A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117991250A (zh) * | 2024-01-04 | 2024-05-07 | 广州里工实业有限公司 | 一种移动机器人的定位检测方法、系统、设备及介质 |
-
2022
- 2022-12-30 CN CN202211737972.XA patent/CN115902862A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117991250A (zh) * | 2024-01-04 | 2024-05-07 | 广州里工实业有限公司 | 一种移动机器人的定位检测方法、系统、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111881239B (zh) | 构建方法、构建装置、智能机器人及可读存储介质 | |
KR102159376B1 (ko) | 레이저 스캔 시스템, 레이저 스캔 방법, 이동 레이저 스캔 시스템 및 프로그램 | |
CN111728535B (zh) | 一种生成清扫路径的方法、装置、电子设备及存储介质 | |
US20190202067A1 (en) | Method and device for localizing robot and robot | |
CN111380510B (zh) | 重定位方法及装置、机器人 | |
CN108628318B (zh) | 拥堵环境检测方法、装置、机器人及存储介质 | |
CN115902862A (zh) | 移动机器人重定位方法、装置、移动机器人及存储介质 | |
WO2024007807A1 (zh) | 一种误差校正方法、装置及移动设备 | |
CN113768419A (zh) | 确定扫地机清扫方向的方法、装置及扫地机 | |
CN114911228A (zh) | 机器人路径规划方法、装置及机器人 | |
CN113030920A (zh) | 标定角度的精度验证方法及装置、设备及存储介质 | |
CN111819602A (zh) | 增加点云采样密度的方法、点云扫描系统、可读存储介质 | |
CN115494834A (zh) | 机器人路径规划方法、装置及机器人 | |
CN113440054B (zh) | 扫地机器人充电基座范围的确定方法和装置 | |
Barshan | Directional processing of ultrasonic arc maps and its comparison with existing techniques | |
CN111481109A (zh) | 基于扫地机的地图噪点消除方法及装置 | |
CN115507840A (zh) | 一种栅格地图构建方法、栅格地图构建装置及电子设备 | |
CN111435243B (zh) | 扫地机器人空间地图生成方法、装置及扫地机器人 | |
CN113985395A (zh) | 一种雷达引导光电伺服转台搜索目标的方法及系统 | |
Almanza-Ojeda et al. | Occupancy map construction for indoor robot navigation | |
Kodagoda et al. | Obstacle detection and map building with a rotating ultrasonic range sensor using bayesian combination | |
US10794696B2 (en) | Method for identifying noise data of laser ranging device | |
CN109959935B (zh) | 一种地图建立方法、地图建立装置及机器人 | |
CN111481108A (zh) | 扫地机重定位方法及装置 | |
CN113759377B (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 |