掌桥专利:专业的专利平台
掌桥专利
首页

一种基于边界驱动的室内机器人自主探索方法及系统

文献发布时间:2023-06-19 13:45:04


一种基于边界驱动的室内机器人自主探索方法及系统

技术领域

本发明涉及移动机器人领域和室内未知环境自主探索领域以及路径规划领域。

背景技术

移动机器人已广泛应用于工业、餐饮、服务、医疗等各个行业,当前室内移动机器人市场进入了快速发展期,比如市场较为火热的吸尘机器人,用于电商行业的物流搬运机器人,用于医疗的医疗机器人,用于服务的服务机器人等,这些机器人均需要在陌生环境下具有自主工作的能力。自主工作的关键技术是当机器人处于未知环境时,能够自主探索移动路径,并同时利用激光雷达传感器的同步定位与建图技术建立实时的地图。而传统移动机器人建图的方法为键盘、游戏杆等方式进行控制,在面对大而复杂的室内环境时会浪费大量的人力、物力、精力。因此,使移动机器人脱离人为的控制,实现在未知环境下的自主探索和建图具有重要意义。

室内未知环境下的自主探索必须要考虑以下问题:1、机器人如何根据传感器信息构建所需的地图。2、机器人如何根据传感器信息和地图信息检测到未探索的区域。3、机器人如何从未探索区域中筛选出下一步要移动的目的地。4、机器人如何从当前位置移动到下一步目标点。

针对第一方面关于如何建图的问题,目前用于研究室内移动机器人建图领域的关键技术是同步定位与建图(Simultaneous Localization And Mapping,Slam)算法比如gmapping算法、hector slam算法、cartographer算法等。其中,gmapping算法依赖于激光雷达的障碍物信息而更新地图,即当障碍物与机器人距离超过探测范围时,探测范围内对应的部分为未探索区域,存在探测盲区,这会导致探索模块获取的边界区域不合理,使用边界点来引导机器人移动路径长、效率低。

针对第二至第四方面关于如何探索的问题,目前比较流行的探索方法有人工势场法、边界驱动法、快速扩展随机数法等。现有研究中,一些前沿点生成算法基于数字图像处理中的边缘检测和区域提取,但随着地图增大,会消耗大量的计算资源,效率低下。而边界驱动的方法存在的缺陷是移动机器人趋向于距当前位置最近的边界点以完成探索任务,这会导致移动机器人在两个区域之间来回探索,存在对同一片区域重复探索的可能,不仅增加了探索时间也增加了移动路径,不能对所有边界点进行探索,导致最终的探索效率低下。而现有的边界导引点判决方法主要考虑前沿点的信息增益、导航代价等因素,未考虑到障碍物区域对移动机器人自身定位精度的影响,从而影响了探索的效率,探索时间较长。

发明内容

为克服上述相关技术中存在的至少一方面的问题,本发明提供一种基于边界驱动的室内机器人自主探索方法及系统。

根据本发明实施例的第一方面,提供一种基于边界驱动的室内机器人自主探索方法,包括:

获取激光雷达数据;

根据所述激光雷达数据建立栅格地图;

在所述地图中检测前沿边界点;

从检测到的前沿边界点中通过预定的判决规则获取当前视野内最佳的前沿边界点;

通过路径规划和运动控制驱动移动机器人探索所述前沿边界点。

根据本发明实施例的第二方面,提供一种基于边界驱动的室内机器人自主探索系统,包括:

获取模块,用于获取激光雷达数据;

建图模块,用于根据所述激光雷达数据建立栅格地图;

探索模块,包括检测单元和判决单元,所述检测单元,用于在所述地图中检测前沿边界点;所述判决单元,用于从检测到的前沿边界点中通过预定的判决规则获取当前视野内最佳的前沿边界点;

路径规划模块,用于通过路径规划和运动控制驱动移动机器人探索所述前沿边界点。

根据本发明实施例的第三方面,提供一种移动机器人,包括:

处理器;以及

存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如上所述的方法。

根据本发明实施例的第四方面,提供一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如上所述的方法。

本发明提供一种室内环境下基于激光雷达与栅格地图的自主探索方法,在改进建图方法的基础上提供一种新的判决前沿边界点的方法,使得移动机器人获取的移动轨迹更精确,在保证建图准确的基础上,减少了自主探索时间、移动路径,提高了探索效率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

通过结合附图对本发明示例性实施方式进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显,其中,在本发明示例性实施方式中,相同的参考标号通常代表相同部件。

图1为自主探索总体框架;

图2为前沿边界点探索原理图;

图3为现有的gmapping建图方法示意图;

图4为本专利建图方法示意图;

图5为空旷环境下现有建图方法与本专利方法对比图;

图6为回型走廊环境下现有建图方法与本专利方法对比图;

图7为前沿边界点判决过程示意图;

图8为简单回型通道环境下现有自主探索方法与本专利探索方法对比图;

图9为室内房间环境下现有自主探索方法与本专利探索方法对比图;

图10为在真实物理机器在真实环境下自主探索室内未知环境的对比效果图。

具体实施方式

下面将参照附图更详细地描述本发明的优选实施方式。虽然附图中显示了本发明的优选实施方式,然而应该理解,可以以各种形式实现本发明而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。

在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本发明可能采用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

以下结合附图详细描述本发明实施例的技术方案。

实施例1:

本发明实施例提供的一种基于边界驱动的室内机器人自主探索方法,采用以下方案实现,具体包括以下步骤,需要注意的是,以下步骤仅作为示例,并不代表仅能按照该示例中的顺序执行各个步骤:

步骤1:获取激光雷达数据

常用的用于室内机器人的传感器有激光雷达和视觉传感器,本发明基于机器人操作系统(Robot Operating System,ROS),使用激光雷达作为移动机器人传感器,扫描距离为0.1米—3.5米,扫描范围为360°,消息类型为sensor_msgs/LaserScan,以数组存储激光数据。

步骤2:建立二维栅格地图

因栅格地图具有容易构建、对于短路径的规划方便的特点,本实施例中使用gmapping算法建立二维占据栅格地图,将环境分为三种类型,已探索且为可行区域栅格值为0,已探索且为障碍物区域栅格值为100,未探索区域栅格值为-1,分别以白、黑、灰色与之对应。初始情况下,整张地图为未探索区域,经过激光雷达探索后,地图对应栅格值变化,地图更新。

步骤3:检测前沿边界点

边界即已知区域和未知区域之间的区域,边界点即将边离散后的点。由于快速扩展随机树法对未知区域有较强的倾向性,因此使用快速扩展随机树法来检测前沿边界点,前沿边界点包括全局边界点和局部边界点,其中全局边界点即整张地图中存在的所有边界点,局部边界点为当前视野下由激光雷达传感器扫描后获得的已知区域和未探索区域之间的边界,该边界距离机器人当前位置距离为激光雷达的扫描半径。

步骤4:前沿边界点判决

前沿边界点判决是自主探索过程中重要的一环,其主要是从检测到的前沿边界点中通过一定的判决规则获取当前视野内最佳的前沿边界点,即下一步要移动的目标位置。本发明通过考虑信息增益(当前视野下未知区域面积)、导航代价、机器人定位精度、优先探索因子构建评估函数,通过该函数筛选当前视野下最佳的前沿边界点,评估函数模型为:

R为前沿边界点判决值,通过该值的大小来决定选择哪一个边界点作为下一步移动的位置,该值越大,说明探索的价值越大,需要优先探索,用边界点处的信息量I与导航代价C的差值表示,λ,γ,δ分别为信息增益、机器人定位精度、导航成本的系数权重,I(X

I(X

其中s为栅格分辨率,即建立的栅格地图中每个小栅格的长,N为待判决前沿点所在圆内未知区域的栅格数量。

机器人定位精度L(X

L(X

导航代价N(X

其中,(X

步骤5:路径规划与运动控制

当移动机器人视野内(激光雷达传感器扫描圆,半径为最大扫描距离)存在局部边界点时,则通过判决函数筛选出最佳的局部边界点,即判决值最大的边界点,该判决点所在的位置就是当前机器人要移动的最好的位置,并通过路径规划和运动控制驱动移动机器人移动至该判决边界点,重复此过程,直到视野内不存在局部边界点,此时再判决地图中是否存在全局边界点,若有全局边界点,则通过判决函数筛选出最佳的全局边界点,并通过路径规划和运动控制驱动移动机器人移动至临时全局边界点,探索完全局边界点后并检查是否产生新的局部边界点,若有新的局部边界点则驱使移动机器人探索局部边界点,重复此过程,直到整张地图中不存在全局边界点和局部边界点,此时意味着整张地图探索完毕,探索过程结束。其中,可采用A*算法进行路径规划。

基于本实施例提供的一种基于边界驱动的室内机器人自主探索方法,移动机器人进行自主探索的过程如下:

首先由移动机器人上的激光雷达传感器获取周围的障碍物距离信息,由数组进行数据存储,扫描半径为3.5m,扫描范围为360°,即为圆形区域。

其次,根据激光雷达的数据建立实时的二维栅格地图,因现有的gmapping建图算法存在不足,只有当获取到障碍物反馈的信息时,才能维护探测范围内对应的未探索区域,如图3所示,当障碍物与当前移动机器人距离超过扫描半径时,因未获得障碍物信息,部分扫描区域未进行地图更新,此时该区域为未探索区域,如图3灰色区域所示,此时采集到的边界点如图3中的方块所示,这会造成规划的移动轨迹不合理,从而造成探索效率低、探索时间长。因此,本实施例中基于现有方法使用改进的地图维护方式如图4所示,此时,在扫描范围内,如果有障碍物则可以获取障碍物区域并进行建图,没有障碍物的其他区域都为已探索区域,也就是说,将除障碍物区域之外的其他区域都设定为已探索区域,然后设定各区域的栅格值,从而建立二维栅格地图,这样,在移动机器人探测范围内,即使障碍物区域超出探测范围,也可以使探测范围内的未知区域更新,此时的边界区域为已探索区域和未探索区域之间的区域,采集到的边界点如图4中的方块所示,基于改进的建图方法所建的地图所判决的最佳边界点更合理,探索轨迹更短,效率更高。进一步地,现有方法的建图效果在空旷环境下如图5(a)所示,对比本专利建图效果如图5(b)所示,在回型通道环境下建图效果如图6(a)所示,对比本专利建图效果如图6(b)所示。

前沿边界点的探索分为前沿边界点检测部分和前沿边界点判决部分,前沿边界点检测部分使用快速扩展随机树法,通过不断的向外扩展树枝来获取前沿边界点,包括全局边界点和局部边界点。前沿边界点判决部分是将前沿边界点检测部分检测到的所有边界点进行判决,通过考虑信息增益、导航代价、机器人定位精度、优先判决等因素构建的判决函数来决定最佳的前沿边界点位置,即移动机器人下一步要移动的目标位置,判决原理如图7所示。

路径规划部分,则是以机器人当前位置为起点,下一步目标位置为临时目标点,通过A*算法规划出一条平滑的、躲避障碍物的路径,并通过控制模块控制机器人移动,每次移动都会获得新的边界点,通过边移动、边检测边界点、边判决下一步目标位置、边路径规划的方式,将所有的局部边界点和全局边界点检测判决,直到整张地图上没有新的全局边界点和局部边界点,则建立完整的地图,自主探索结束。需要注意的是,路径规划算法可采用现有算法实现,本实施例中对此不作具体说明,除采用A*算法外,还可采用其他算法实现,本发明对此不作限制。

图8显示了在回型通道环境下现有自主探索方法与本专利方法对比建图效果,图9显示了在复杂室内场景下现有方法与本专利方法建图对比效果,绿色部分为探索轨迹,图10为在真实物理机器在真实环境下自主探索室内未知环境的对比效果图,其中(a)为搭建的室内未知的待探索的物理环境,(b)为使用现有的方法进行自主探索建立的实时地图以及移动轨迹,圆圈为移动机器人的起始位置,对照图(a)移动机器人的位置,(c)为本专利所使用的自主探索系统在真实物理机器人上的实现并建立的实时栅格地图和移动轨迹,相较之下,本专利的方法更优,探索效率高,探索路径短。综合以上实验结果,能够证明本专利的自主探索建图效果更佳、移动路径更短、探索时间更短。

本发明实施例提供的一种基于边界驱动的室内机器人自主探索方法,首先,使用机器人搭载的激光雷达获取环境信息;其次,使用改进的gmapping算法建立即时二维栅格地图;然后,使用快速扩展随机树方法来获取前沿边界点,通过构建边界点评估模型从当前视野下获取的前沿边界点筛选最佳的前沿边界点作为下一步移动目标;最后,通过A*算法进行路径规划。该方法具有以下有益效果:

首先,基于激光雷达与二维栅格地图提出的室内未知环境下的自主探索方法,在现有建图方法基础上提出的改进的更新地图方式,使得当障碍物超过移动机器人探测范围时,因未获得障碍物信息而导致探测区域未更新的部分进行更新,使得获取的边界区域更加合理、高效;

其次,本发明通过快速扩展随机树来获取离散的边界点,边界点获取迅速,探索效率高;

再次,本发明通过考虑信息增益、导航代价、机器人定位精度、优先判决等多因素构建判决函数,比起现有方法采用的考虑信息增益、导航代价来判决前沿边界点本发明方法前沿点判决更精确,效率更高,并结合复合边界点和边界点评估函数相互配合的协作工作方法,实现移动机器人在室内未知环境下快速探索并尽量达到探索所有区域的优点;

最后,本发明为移动机器人探索进行了可视化,建立二维栅格地图,便于观察建图是否完整,同时对移动机器人移动路径进行跟踪,可直观观察到移动轨迹,观察是否重复探索以及路径是否平滑,最后通过仿真与物理实验,结果表明本发明比现有方法探索速度更快,覆盖率更高。

总之,本发明具有良好可行性和有效性。

实施例2:

与上述方法实施例相对应地,本发明实施例提供一种基于边界驱动的室内机器人自主探索系统,包括:

获取模块,用于获取激光雷达数据;

建图模块,用于根据所述激光雷达数据建立栅格地图;

探索模块,包括检测单元和判决单元,所述检测单元,用于在所述地图中检测前沿边界点;所述判决单元,用于从检测到的前沿边界点中通过预定的判决规则获取当前视野内最佳的前沿边界点;

路径规划模块,用于通过路径规划和运动控制驱动移动机器人探索所述前沿边界点。

可选地,在该实施例中,所述建图模块,具体用于:

在激光雷达的扫描范围内,将除障碍物区域之外的其他区域都设定为已探索区域;

设定各区域的栅格值,建立二维栅格地图。

可选地,在该实施例中,所述检测单元,具体用于在所述地图中使用快速扩展随机树法检测前沿边界点。

可选地,在该实施例中所述判决单元,具体用于通过考虑当前视野下未知区域面积、导航代价、机器人定位精度、优先探索因子构建评估函数,通过所述评估函数筛选当前视野下最佳的前沿边界点。

可选地,在该实施例中,所述路径规划模块,具体用于:

当移动机器人视野内存在局部边界点时,则通过判决规则筛选出最佳的局部边界点,即判决边界点,将该判决边界点所在的位置作为当前移动机器人要移动的目标位置,并通过路径规划和运动控制驱动移动机器人移动至该判决边界点,重复此过程,直到视野内不存在局部边界点,此时再判决地图中是否存在全局边界点,若有全局边界点,则通过判决规则筛选出最佳的全局边界点,并通过路径规划和运动控制驱动移动机器人移动至该筛选出的全局边界点,探索完全局边界点后检查是否产生新的局部边界点,若有新的局部边界点则驱使移动机器人探索局部边界点,重复此过程,直到整张地图中不存在全局边界点和局部边界点,则整张地图探索完毕,探索过程结束。

关于上述实施例中的系统,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不再做详细阐述说明。

实施例3:

根据本发明的方法可以实现为一种移动机器人,包括存储器和处理器。

处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM)和永久存储装置。其中,ROM可以存储处理器或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。

存储器上存储有可执行代码,当可执行代码被处理器处理时,可以使处理器执行上文述及的方法中的部分或全部。

此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中部分或全部步骤的计算机程序代码指令。

或者,本发明还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本发明的上述方法的各个步骤的部分或全部。

上文中已经参考附图详细描述了本发明的方案。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。本领域技术人员也应该知悉,说明书中所涉及的动作和模块并不一定是本发明所必须的。另外,可以理解,本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减,本发明实施例装置中的模块可以根据实际需要进行合并、划分和删减。

本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。

附图中的流程图和框图显示了根据本发明的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

技术分类

06120113793565