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

机器人的建图方法、装置、机器人和存储介质与流程

2022-06-08 23:16:19 来源:中国专利 TAG:


1.本公开涉及机器人建图领域,具体而言涉及一种机器人的建图方法、装置、机器人和存储介质。


背景技术:

2.随着机器人技术的快速发展和社会需求的变革,自主移动机器人越来越受到工程界和学术界的关注。为了自主移动机器人能够在非结构化、非确定的环境中自主地帮助人们完成日常生活任务,比较关键的技术是当机器人处于未知环境时,建立外界环境在机器人内部表示的地图,用于后续导航。但是传统机器人建图的方式是人工手动或使用键盘、游戏杆控制机器人移动,在面对大而复杂的室内环境时会浪费时间、人力、物力。因此机器人脱离人为控制,实现自主探索建图具有重要意义,一方面节约人力物力资源,另一方面,机器人根据自身感知、收集和处理环境信息,实时做出建图决策,提高机器人的自主性和智能化。
3.相关技术中,通过机器人运动到不同位置进行lds(laser distance sensor,激光测距传感器)扫描,完成整个待探索空间的建图。但在运动过程中,若目标点可达区域内已经完成建图,后续仍可能出现继续移动到该目标点进行建图的情况,增加了建图过程的运行时间。例如,按照距离优先原则选择目标点,会造成在同一区域内连续短距离运动的问题,多次运动分别完成同一区域不同位置的扫描,拉长建图时间。


技术实现要素:

4.有鉴于此,本公开实施例提供一种机器人的建图方法、装置、机器人和存储介质,通过优化目标点的选择,以减少机器人建图过程的运行时间。
5.本公开第一方面的实施例,提供了一种机器人的建图方法,包括:
6.控制机器人向目标点行进,目标点为待探索区域的一个第一探索点,第一探索点为未探索状态;在机器人向目标点行进的过程中,检测目标点所处的预设范围对应的探索点信息;按照探索点信息对目标点进行处理;基于机器人行进至目标点,采集待探索区域的建图数据,以更新机器人的环境空间地图。
7.可选地,按照探索点信息对目标点进行处理的步骤,具体包括:
8.基于探索点信息为预设范围内存在第二探索点,保持目标点;基于探索点信息为预设范围内不存在第二探索点,且预设范围外存在第二探索点,将目标点更新为第二探索点;其中,第二探索点为除目标点以外的第一探索点。
9.可选地,机器人的建图方法还包括:
10.基于探索点信息为待探索区域内不存在第二探索点,控制机器人停止行进;存储环境空间地图。
11.可选地,控制机器人向目标点行进的步骤之前,还包括:
12.获取环境空间地图,环境空间地图包括已知区域和/或待探索区域,已知区域对应
有建图数据;提取与已知区域重叠的待探索区域的多个边界点;将处于未探索状态的边界点确定为第一探索点。
13.可选地,机器人的建图方法还包括:
14.基于待探索区域内第一探索点的数量为多个,依次连接多个第一探索点,得到连接线;确定每个第一探索点与连接线的中心点之间的第一距离;将第一距离中最小值对应的第一探索点确定为目标点。
15.可选地,采集待探索区域的建图数据的步骤之后,还包括:
16.将目标点更新为已探索状态。
17.可选地,机器人的建图方法还包括:
18.在机器人向目标点行进的过程中,基于机器人的当前位置与目标点之间存在障碍物,控制机器人沿障碍物的外边缘行进,以绕过障碍物。
19.本公开第二个方面的实施例,提供了一种机器人的建图装置,包括:
20.控制模块,用于控制机器人向目标点行进,目标点为待探索区域的一个第一探索点,第一探索点为未探索状态;检测模块,用于在机器人向目标点行进的过程中,检测目标点所处的预设范围内的探索点信息;处理模块,用于按照探索点信息对目标点进行处理;建图模块,用于基于机器人行进至目标点,采集待探索区域的建图数据,以更新机器人的环境空间地图。
21.可选地,处理模块,具体用于基于探索点信息为预设范围内存在第二探索点,保持目标点;基于探索点信息为预设范围内不存在第二探索点,且预设范围外存在第二探索点,将目标点更新为第二探索点;其中,第二探索点为除目标点以外的第一探索点。
22.可选地,控制模块,还用于基于探索点信息为待探索区域内不存在第二探索点,控制机器人停止行进;机器人的建图装置还包括:存储模块,用于存储环境空间地图。
23.可选地,机器人的建图装置还包括:获取模块,用于获取环境空间地图,环境空间地图包括已知区域和/或待探索区域,已知区域对应有建图数据;提取模块,用于提取与已知区域重叠的待探索区域的多个边界点;第一确定模块,用于将处于未探索状态的边界点确定为第一探索点。
24.可选地,机器人的建图装置还包括:第二确定模块,用于基于待探索区域内第一探索点的数量为多个,依次连接多个第一探索点,得到连接线;确定每个第一探索点与连接线的中心点之间的第一距离;将第一距离中最小值对应的第一探索点确定为目标点。
25.可选地,机器人的建图装置还包括:状态更新模块,用于将目标点更新为已探索状态。
26.可选地,控制模块,还用于在机器人向目标点行进的过程中,基于机器人的当前位置与目标点之间存在障碍物,控制机器人沿障碍物的外边缘行进,以绕过障碍物。
27.本公开的第三个方面的实施例,提供了一种机器人,其包括处理器和存储器;存储器,用于存储操作指令;处理器,用于通过调用操作指令,执行上述第一个方面任一项的机器人的建图方法。
28.本公开的第四个方面的实施例,提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一个方面中任一项的机器人的建图方法。
29.本公开实施例提供的机器人的建图方法,通过优化目标点的选择,使得机器人可
运动较少位置完成区域的建图。而且能够运动过程中监控目标点周围的其他探索点,以防止该目标点位置的建图数据被重复采集的情况。从而以较少的探索次数,更高的探索效率和更少的探索时间完成对未知场景的自主探索建图。
附图说明
30.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
31.图1为根据本公开的一个可选实施例提供的机器人的结构图之一;
32.图2为根据本公开的一个可选实施例提供的机器人的结构图之二;
33.图3为根据本公开的一个可选实施例提供的机器人的建图方法的流程示意图;
34.图4为根据本公开的一个可选实施例提供的机器人的建图装置的示意框图;
35.图5为根据本公开的一个可选实施例提供的机器人的电子结构示意图。
具体实施方式
36.下面详细描述本公开的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本公开,而不能解释为对本公开的限制。
37.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本公开的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“相接”到另一元件时,它可以直接连接或相接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“相接”可以包括无线连接或无线稠接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
38.现在,将参照附图更详细地描述根据本公开的示例性实施例。然而,这些示例性实施例可以多种不同的形式来实施,并且不应当被解释为只限于这里所阐述的实施例。应当理解的是,提供这些实施例是为了使得本公开的公开彻底且完整,并且将这些示例性实施例的构思充分传达给本领域普通技术人员。
39.本公开实施例提供一种可能的应用场景,该应用场景包括机器人,图1和图2是根据本公开的示例性实施方式的机器人的结构示意图。如图1和图2所示,本公开机器人可以是扫地机器人、拖地机器人、真空洗地机器人等等。为了便于描述,本实施方式以扫地机器人为例来描述本公开的技术方案。
40.该机器人可以包含移动平台100、感知系统120、人机交互系统130、驱动系统140、清洁模组150、能源系统160、控制系统170。其中:
41.移动平台100可以被配置为在操作面上自动沿着目标方向移动。操作面可以为机器人待清洁的表面。在一些实施例中,扫地机器人在地面上工作,该地面为操作面。
42.在一些实施例中,移动平台100可以是自主移动平台,也可以是非自主移动平台。
自主移动平台是指移动平台100本身可以根据预料之外的环境输入自动地及适应性地做出操作决策;非自主移动平台本身不能根据预料之外的环境输入适应性地做出操作决策,但可以执行既定的程序或者按照一定的逻辑运行。相应地,当移动平台100为自主移动平台时,目标方向可以是机器人自主决定的;当移动平台100为非自主移动平台时,目标方向可以是系统或人工设置的。当移动平台100是自主移动平台时,移动平台100包括前向部分111和后向部分110。
43.感知系统120包括位于移动平台100上方的位置确定装置121、位于移动平台100的前向部分111的缓冲器122、位于移动平台底部的悬崖传感器123和超声传感器(图中未示出)、红外传感器(图中未示出)、磁力计(图中未示出)、加速度计(图中未示出)、陀螺仪(图中未示出)、里程计(图中未示出)等传感装置,向控制系统170提供机器的各种位置信息和运动状态信息。
44.位置确定装置121包括但不限于摄像头、激光测距装置。激光测距装置(如lds)可以测量机器人上方测量高度范围内的事件(或对象)。测量高度范围例如可以设置为机器人上方8-10厘米的范围。
45.为了更加清楚地描述机器人的行为,进行如下方向定义:机器人可通过相对于由移动平台100界定的如下三个相互垂直轴的移动的各种组合在地面上行进:横向轴x、前后轴y及中心垂直轴z。沿着前后轴y的前向驱动方向标示为“前向”,且沿着前后轴y的后向驱动方向标示为“后向”。横向轴x实质上是沿着由驱动轮组件141的中心点界定的轴心在机器人的右轮与左轮之间延伸。其中,机器人可以绕x轴转动。当机器人的前向部分向上倾斜,后向部分向下倾斜时为“上仰”,且当机器人的前向部分向下倾斜,后向部分向上倾斜时为“下俯”。另外,机器人可以绕z轴转动。在机器人的前向方向上,当机器人向y轴的右侧倾斜为“右转”,当机器人向y轴的左侧倾斜为“左转”。
46.如图2所示,在移动平台100底部上并且在驱动轮组件141的前方和后方设置有悬崖传感器123,该悬崖传感器用于防止在机器人后退时发生跌落,从而能够避免机器人受到损坏。前述的“前方”是指相对于机器人行进方向相同的一侧,前述的“后方”是指相对于机器人行进方向相反的一侧。
47.感知系统120中的各个组件,既可以独立运作,也可以共同运作以更准确的实现目的功能。通过悬崖传感器123和超声波传感器对待清洁表面进行识别,以确定待清洁表面的物理特性,包括表面材质、清洁程度等等,并可以结合摄像头、激光测距装置等进行更准确的判定。
48.例如,可以通过超声波传感器对待清洁表面是否为地毯进行判断,若超声波传感器判断待清洁表面为地毯材质,则控制系统170控制机器人进行地毯模式清洁。
49.移动平台100的前向部分111设置有缓冲器122,在清洁过程中驱动轮组件141推进机器人在地面行进时,缓冲器122经由传感器系统,例如红外传感器,检测机器人的行驶路径中的一或多个事件(或对象),机器人可以通过由缓冲器122检测到的事件(或对象),例如障碍物、墙壁,而控制驱动轮组件141使机器人来对所述事件(或对象)做出响应,例如远离障碍物、跨越障碍物等。
50.在本公开的示例性实施方式中,机器人的障碍物检测装置可以包括缓冲器122、红外传感器等。障碍物检测装置可以用于检测机器人的当前位置与机器人的行进目标位置之
间是否存在第一障碍物。
51.其中,第一障碍物的高度小于机器人的测量高度范围。
52.控制系统170设置在移动平台100内的电路主板上,包括与非暂时性存储器,例如硬盘、快闪存储器、随机存取存储器,通信的计算处理器,例如中央处理单元、应用处理器,应用处理器被配置为接收感知系统120传来的所述多个传感器的感受到的环境信息,根据激光测距装置反馈的障碍物信息等利用定位算法,例如同步定位与建图(simultaneous localization and mapping,slam),绘制机器人所在环境中的即时地图,并根据所述环境信息和环境地图自主决定行驶路径,然后根据所述自主决定的行驶路径控制驱动系统140进行前进、后退和/或转向等操作。进一步地,控制系统170还可以根据所述环境信息和环境地图决定是否启动清洁模组150进行清洁操作。
53.具体地,控制系统170可以结合缓冲器122、悬崖传感器123和超声传感器、红外传感器、磁力计、加速度计、陀螺仪、里程计等传感装置反馈的距离信息、速度信息综合判断扫地机当前处于何种工作状态,如过门槛,上地毯,位于悬崖处,上方或者下方被卡住,尘盒满,被拿起等等,还会针对不同情况给出具体的下一步动作策略,使得机器人的工作更加符合主人的要求,有更好的用户体验。进一步地,控制系统170能基于slam绘制的即时地图信息规划最为高效合理的运行路径和运行方式,大大提高机器人的运行效率。
54.在本公开的示例性实施方式中,机器人的建图装置可以包括控制系统170。机器人的建图装置可以用于控制机器人向目标点行进;在机器人向目标点行进的过程中,检测目标点所处的预设范围内的探索点信息;按照探索点信息对目标点进行处理;基于机器人行进至目标点,采集待探索区域的建图数据,以更新机器人的环境空间地图。
55.驱动系统140可基于具体的距离和角度信息,例如x、y及θ分量,执行驱动命令而操纵机器人跨越地面行驶。为了机器人能够在地面上更为稳定地运动或者更强的运动能力,机器人可以包括一个或者多个转向组件142,转向组件142可为从动轮,也可为驱动轮,其结构形式包括但不限于万向轮,转向组件142可以位于驱动轮组件141的前方。
56.驱动轮组件141可以可拆卸地连接到移动平台100上,方便拆装和维修。驱动轮可具有偏置下落式悬挂系统,以可移动方式紧固,例如以可旋转方式附接,到机器人移动平台100,并通过弹性元件,如拉簧或者压簧以一定的捉地力维持与地面的接触及牵引,同时机器人的清洁模组150也以一定的压力接触待清洁表面。清洁模组150可包括干式清洁模组151和/或湿式清洁模组180。
57.能源系统160包括充电电池,例如镍氢电池和锂电池。充电电池可以连接有充电控制电路、电池组充电温度检测电路和电池欠压监测电路,充电控制电路、电池组充电温度检测电路、电池欠压监测电路再与单片机控制电路相连。主机通过设置在机身侧方或者下方的充电电极与充电桩连接进行充电。如果裸露的充电电极上沾附有灰尘,会在充电过程中由于电荷的累积效应,导致电极周边的塑料机体融化变形,甚至导致电极本身发生变形,无法继续正常充电。
58.人机交互系统130包括主机面板上的按键,按键供用户进行功能选择;还可以包括显示屏和/或指示灯和/或喇叭,显示屏、指示灯和喇叭向用户展示当前机器所处状态或者功能选择项;还可以包括手机客户端程序。
59.需要说明的是,在本公开的示例性实施方式中,下面所述的机器人的建图方法可
以由机器人(如,扫地机器人、拖地机器人等)来实现,也就是说,可以由机器人执行机器人的建图方法的各个步骤,在这种情况下,机器人的建图装置可以配置在该机器人中。
60.如图3所示,本公开实施例提供一种机器人的建图方法,包括如下方法步骤:
61.步骤s302,控制机器人向目标点行进;
62.其中,目标点为待探索区域的一个第一探索点,第一探索点为未探索状态,也即目标点为环境空间地图上待探索区域中机器人未采集过建图数据的位置,从而在选取目标点时能够规避已经采集过数据的位置,避免机器人无谓工作,有效减少机器人的探索次数,大大缩短建图时间。可以理解的是,第一探索点对应有坐标,在机器人进入建图模式后,机器人能够通过坐标位置进行导航,进而移动至需要被探索的目标点位置。
63.进一步地,可将待探索区域的与环境空间地图上的已知区域之间重叠的边界点作为第一探索点,不仅保证建图数据扫描时可以覆盖更大面积,而且还能在探索时防止局部区域遗漏,以取得更好的建图效果。
64.更具体的是,第一探索点的数量可以是一个也可以是多个,第一探索点的数量与未探索区域的大小相关。在第一探索点的数量为多个的情况下,需要从多个第一探索点中选取一个作为目标点。
65.步骤s304,在机器人向目标点行进的过程中,检测目标点所处的预设范围对应的探索点信息;
66.其中,预设范围可以以目标点为中心,根据机器人扫描区域合理设置,扫描区域即机器人在目标点能够采集到的建图数据的范围。例如,机器人摄像装置的可视范围。
67.步骤s306,按照探索点信息对目标点进行处理;
68.在该实施例中,考虑到机器人能够对完整的扫描区域进行数据采集,那么当机器人位于相近的两个第一探索点进行数据采集时,可能出现至少部分区域重复扫描的情况,这将拉长建图时间,不利于提升建图效率。为此,在机器人向目标点行进的过程中,按照预设时间间隔周期性的检测预设范围对应的探索点信息,其中,预设时间间隔的设置与机器人行进的速度、行进的环境相关;探索点信息用于指示预设范围内是否存在除目标点以外的第一探索点,以及预设范围外是否存在除目标点以外的第一探索点。检测到探索点信息后,再利用探索点信息及时变更目标点,在使得机器人可运动较少位置完成区域的建图的同时,还能够防止该目标点的可扫描区域的数据被重复采集的情况,进而较少的探索次数,更高的探索效率和更少的探索时间完成对未知场景的自主探索建图。
69.步骤s308,基于机器人行进至目标点,采集待探索区域的建图数据,以更新机器人的环境空间地图。
70.在该实施例中,当机器人到达目标点后,启动机器人的数据采集装置来采集目标点位置的机器人可扫描区域的建图数据,并利用该建图数据扩大环境空间地图创建。
71.在具体实施过程中,机器人在未知环境进行自主探索时,基于slam(simultaneous localization and mapping)算法,通过建图机器人的运动、测量进行定位、建图。更具体的,先收集激光数据、里程计数据估计机器人的位姿,再对环境建图,然后根据建立的地图修正机器人位姿,从而构建准确的地图模型。可以理解的是,环境空间地图模型可以是栅格地图。栅格地图能够通过传感器的距离信息直接得到环境的占用状态,提供详细的环境特征数据,适合非结构化环境的空间表示,是机器人导航和路径规划的重要基础。栅格地图中
每个栅格有三种状态:空闲、占用、未知,空闲表示该栅格处没有障碍物,占用表示栅格处有障碍物,未知表示栅格还未被机器人感知到,属于待探索的环境。
72.进一步地,采集待探索区域的建图数据的步骤之后,将目标点更新为已探索状态。从而将该目标点从第一探索点中剔除,避免下一选点时出现重复选点的问题,有利于提高选点速度,防止机器人无谓工作,减少了建图过程的整体运行时间。
73.在本公开提供的一些可以实现的实施例中,按照探索点信息对目标点进行处理的步骤,具体包括:
74.步骤s306-1,基于探索点信息为预设范围内存在第二探索点,保持目标点;
75.步骤s306-2,基于探索点信息为预设范围内不存在第二探索点,且预设范围外存在第二探索点,将目标点更新为第二探索点.
76.其中,第二探索点为除目标点以外的第一探索点。
77.在该实施例中,若检测到预设范围内存在第二探索点,也即预设范围内有还未进行数据采集的第一探索点也就是说,机器人未在同一区域的不同位置进行扫描;此时,可维持目标点不变,以使机器人继续按照设定的目标点行进,直至到达目标点,已完成该目标点的数据采集。
78.若检测到预设范围内不存在第二探索点,也即目标点周围没有未进行探索的点,说明机器人在位于其他探索点进行探索时,可能已经采集了目标点对应的建图数据;此时,已不需要运动到当前设定的目标点,机器人停止运动,查找下一个新的目标点,再控制机器人向新的目标点行进,换言之,根据预设范围外的第二探索点,也即待探索区域内其他未被探索的第一探索点来更新目标点,以及时变更机器人采集数据的目的地,使机器人能够向更新后的目标点行进。从而避免在同一区域内连续短距离运动,加快建图速度,实现了以较少的探索次数、更高的探索效率和更少的探索时间完成对未知场景的自主探索建图,提高了机器人完成建图的自主性和智能化。
79.可以理解的是,在确定预设范围内不存在第二探索点的情况下,也即当前设定的目标点周围已经被充分扫描,机器人无需在该点再次执行数据采集。此时,可近似的看作该目标点已经被探索,为了避免后续重复选点,可以先将更新前的目标点的状态变更为已探索状态,也即将更新前的目标点从第一探索点中剔除,之后再进行目标点的更新。
80.需要说明的是,在控制机器人向更新后的目标点行进的过程中,还可以重新检测与更新后的目标点相关的预设范围的探索点信息。若探索点信息仍旧指示了预设范围内不存在第二探索点,且预设范围外存在第二探索点,则继续更新目标点,直至数据采集完成。
81.在本公开提供的一些可以实现的实施例中,机器人的建图方法还包括:
82.步骤s310,基于探索点信息为待探索区域内不存在第二探索点,控制机器人停止行进;
83.步骤s312,存储环境空间地图。
84.在该实施例中,若检测到待探索区域内不存在第二探索点,也即预设范围内和预设范围外均不存在第二探索点,换言之,待探索区域内已不存在没有被探索的第一探索点。此时,确认建图已完成,直接控制机器人停止探索行进。同时,将最终的环境空间地图进行存储,以便于后续使用。从而防止了机器人在探索过程中的无谓工作,节省探索所需的时间,提升自主探索效率。
85.需要说明的是,预设范围内的区域和预设范围外的区域共同构成了待探索区域。
86.示例性的,当确定预设范围内不存在第二探索点时,可能出现以下三种情况:
87.(一)预设范围外也不存在第二探索点,也即未探索区域内已没有未被探索的第一探索点,换言之,环境空间地图完成自主探索,建图完成,此时,控制机器人停止探索,保存构建完成的环境空间地图,退出建图模式,并输出探索完成信息。
88.(二)预设范围外存在有且仅有一个第二探索点,则将唯一的第二探索点作为新的目标点控制机器人行进。机器人在该第二探索点完成建图数据采集后,可以确定已没有未探索的点,机器人可保存构建完成的环境空间地图,退出建图模式,并输出探索完成信息。
89.(三)预设范围外存在有多个第二探索点,此时,按照预设规则继续对多个第二探索点进行筛选,以便于选取最优的第二探索点来更新目标点,再按照更新后的目标点控制机器人行进。具体地,预设规则用于从多个第二探索点中选取一个第二探索点,可按照探索需求合理设置。例如,定义预设规则为选取距离机器人当前位置最近的第二探索点,以减少机器人行进所需的时间,或者定义预设规则为选取距离当前目标点最近的第二探索点,尽可能避免机器人在同一区域内连续短距离运动,或者定义预设规则为机器人与第二探索点之间障碍物等。本公开的实施例对预设规则不做具体限定。
90.在本公开提供的一些可以实现的实施例中,控制机器人向目标点行进的步骤之前,还包括:
91.步骤s402,获取环境空间地图;
92.其中,环境空间地图包括已知区域和/或待探索区域,已知区域对应有建图数据。环境空间地图可以通过控制终端与机器人之间的信息传输获得,亦可以由机器人自身创建或从机器人内置的存储器中调取。
93.进一步地,在通过控制终端与机器人之间的信息传输获得环境空间地图的情况下,若检测到环境空间地图全部为已知区域,则无需进行探索,同时向控制终端发送提示信息,以避免地图误传。
94.步骤s404,提取与已知区域重叠的待探索区域的多个边界点;
95.示例性的,基于边界探索算法(froniter-based),通过图像分割技术提取局部栅格地图中已知和未探索区域之间的边界点。
96.需要说明的是,边界点的定义为在地图中open(已知)和unknown(未知)交界处的坐标点,也即激光雷达未扫描到区域的边界。
97.进一步地,在机器人首次进行探索时,机器人所处环境空间即待探索区域,则以机器人当前位置为目标点进行第一次数据采集,以形成已知区域和待探索区域共存的环境空间地图,再利用边界算法继续进行待探索区域的建图。
98.步骤s406,将处于未探索状态的边界点确定为第一探索点。
99.在本实施例中,先提取需要探索的环境空间地图上所有与已知区域相邻的边界点,在通过状态识别,所有的边界点中筛选出未进行探索的边界点作为第一探索点。控制机器人从最优的边界点(目标)对带探索区域进行探测,扩充栅格地图。不仅实现建图过程中的自动选点,不需要人工操作,节省人力,达到机器人自主建图的目的;而且选取目标点时,能够避免同一个坐标多次采集数据的情况,大大提高建图效率。
100.在本公开提供的一些可以实现的实施例中,机器人的建图方法还包括:
101.步骤s502,基于待探索区域内第一探索点的数量为多个,依次连接多个第一探索点,得到连接线;
102.步骤s504,确定每个第一探索点与连接线的中心点之间的第一距离;
103.步骤s506,将第一距离中最小值对应的第一探索点确定为目标点。
104.在本实施例中,若待探索区域内存在多个第一探索点,也即多个未被探索的边界点时,依次连接多个第一探索点以形成连接线,为了在扫描时可以覆盖更大面积,取得更好的建图效果,计算每个第一探索点与连接线的中心点之间的第一距离,第一距离中最小值对应的第一探索点即最接近中心点的第一探索点,并将该第一探索点作为目标点进行探索。
105.具体举例来说,选择目标点时,依次检查地图中所有的点,在找到符合条件(与已知区域相邻,且未探索)的第一探索点后,由于激光测距传感器是以直线打出,所有边界点形态上近似一条直线,尽可能选择多个第一探索点组成的线段中心作为目标点。如找不到目标点,则全部建图已经完成。在机器人往目标点运动时,定时检查目标点周围是否仍存在尚未检查的第一探索点,如已经不存在这样的点,则已不需要运动到当前目标点,停止运动,查找下一个目标点,并向新的目标点运动,直至已不存在有效目标点,该区域建图已经完成。如存在,则继续往当前目标点运动,完成当前目标点的数据采集后,继续查找下一个目标点。使得机器人运动较少位置即可完成区域的建图,同时减少了建图过程的整体运行时间。
106.在本公开提供的一些可能实现的实施例中,机器人的建图方法还包括:
107.步骤s602,在机器人向目标点行进的过程中,基于机器人的当前位置与目标点之间存在障碍物,控制机器人沿障碍物的外边缘行进,以绕过障碍物。
108.在本实施例中,在机器人行进过程中,若检测到机器人当前位置与目标点之间存在障碍物,则控制机器人沿障碍物的外边缘行进,以绕过障碍物,达到行进目标点,避免因障碍物使得机器人停止运行,增加了机器人工作的连续性,同时提高了机器人的运行效率。
109.进一步地,控制机器人沿障碍物的外边缘行进的步骤具体包括:在机器人当前位置与障碍物之间的第二距离小于距离阈值的情况下,控制机器人偏转预设角度,并向远离障碍物的方向前进;若前进后机器人的当前位置与障碍物之间的第三距离大于距离阈值,则控制机器人反向偏转预设角度,并向靠近第一障碍物的方向行进。其中,预设角度可以指机器人的在行进中调整行进方向的角度。
110.需要说明的是,针对不同检测方法,距离阈值的设置可以是不相同的。
111.如图4所示,本公开的第二方面的实施例,提供了一种机器人的建图装置700,可以包括:控制模块702、检测模块704、处理模块706和建图模块708。
112.其中,控制模块702,用于控制机器人向目标点行进,目标点为待探索区域的一个第一探索点,第一探索点为未探索状态;检测模块704,用于在机器人向目标点行进的过程中,检测目标点所处的预设范围内的探索点信息;处理模块706,用于按照探索点信息对目标点进行处理;建图模块708,用于基于机器人行进至目标点,采集待探索区域的建图数据,以更新机器人的环境空间地图。
113.作为一种示例,处理模块706,具体用于基于探索点信息为预设范围内存在第二探索点,保持目标点;基于探索点信息为预设范围内不存在第二探索点,且预设范围外存在第
二探索点,将目标点更新为第二探索点;其中,第二探索点为除目标点以外的第一探索点。
114.作为一种示例,控制模块702,还用于基于探索点信息为待探索区域内不存在第二探索点,控制机器人停止行进;机器人的建图装置700还包括:存储模块(图中未示出),用于存储环境空间地图。
115.作为一种示例,机器人的建图装置700还包括:获取模块(图中未示出),用于获取环境空间地图,环境空间地图包括已知区域和/或待探索区域,已知区域对应有建图数据;提取模块(图中未示出),用于提取与已知区域重叠的待探索区域的多个边界点;第一确定模块(图中未示出),用于将处于未探索状态的边界点确定为第一探索点。
116.作为一种示例,机器人的建图装置700还包括:第二确定模块(图中未示出),用于基于待探索区域内第一探索点的数量为多个,依次连接多个第一探索点,得到连接线;确定每个第一探索点与连接线的中心点之间的第一距离;将第一距离中最小值对应的第一探索点确定为目标点。
117.作为一种示例,机器人的建图装置700还包括:状态更新模块(图中未示出),用于将目标点更新为已探索状态。
118.作为一种示例,控制模块702,还用于在机器人向目标点行进的过程中,基于机器人的当前位置与目标点之间存在障碍物,控制机器人沿障碍物的外边缘行进,以绕过障碍物。
119.本公开的第三个方面的实施例,提供了一种机器人,包括处理器和存储器,存储器存储有能够被处理器执行的计算机程序指令,处理器执行计算机程序指令时,实现任一实施例的机器人的建图方法步骤。
120.如图5所示,机器人可以包括处理装置801(例如中央处理器、图形处理器等),其可以根据存储在只读存储器(rom802)中的程序或者从存储装置808加载到随机访问存储器(ram803)中的程序而执行各种适当的动作和处理。在ram803中,还存储有电子机器人操作所需的各种程序和数据。处理装置801、rom802以及ram803通过总线804彼此相连。输入/输出(i/o)接口也连接至总线804。
121.通常,以下装置可以连接至i/o接口805:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置806;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置807;包括例如硬盘等的存储装置808;以及通信装置809。通信装置809可以允许电子机器人与其他机器人进行无线或有线通信以交换数据。虽然图1和图2示出了具有各种装置的电子机器人,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
122.特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为机器人软件程序。例如,本公开的实施例包括一种机器人软件程序产品,其包括承载在可读介质上的计算机程序,该计算机程序包含用于执行流程图4所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置809从网络上被下载和安装,或者从存储装置808被安装,或者从rom802被安装。在该计算机程序被处理装置801执行时,执行本公开实施例的方法中限定的上述功能。
123.需要说明的是,本公开上述的可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以但不限于:电、磁、
光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram803)、只读存储器(rom802)、可擦式可编程只读存储器(eprom802或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom802)、光存储器件、磁存储器件、或者上述的任意合适的组合。
124.本公开的第四个方面的实施例,提供了一种存储介质,存储有计算机程序指令,计算机程序指令在被处理器调用和执行时实现如上述任一实施例的机器人的建图方法步骤。
125.在本公开中,存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是存储介质以外的任何可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
126.上述可读介质可以是上述机器人中所包含的;也可以是单独存在,而未装配入该机器人中。
127.可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言诸如java、small talk,c ,还包括常规的过程式程序设计语言诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。
128.在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,如包括局域网(lan)或广域网(wan)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
129.附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
130.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
131.最后应说明的是:以上实施例仅用以说明本公开的技术方案,而非对其限制:尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换:而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围。
再多了解一些

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

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

相关文献