CN108007452B - 根据障碍物更新环境地图的方法、装置及机器人 - Google Patents

根据障碍物更新环境地图的方法、装置及机器人 Download PDF

Info

Publication number
CN108007452B
CN108007452B CN201711295320.4A CN201711295320A CN108007452B CN 108007452 B CN108007452 B CN 108007452B CN 201711295320 A CN201711295320 A CN 201711295320A CN 108007452 B CN108007452 B CN 108007452B
Authority
CN
China
Prior art keywords
obstacle
robot
sensor
type
invisible
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
Application number
CN201711295320.4A
Other languages
English (en)
Other versions
CN108007452A (zh
Inventor
栾成志
谭平
潘俊威
刘坤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201711295320.4A priority Critical patent/CN108007452B/zh
Publication of CN108007452A publication Critical patent/CN108007452A/zh
Application granted granted Critical
Publication of CN108007452B publication Critical patent/CN108007452B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/005Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching

Abstract

本发明公开了一种根据障碍物更新环境地图的方法、装置及机器人,方法包括:在机器人行进过程中,判断机器人上预设的第一类传感器是否探测到障碍物;若是,将第一类传感器探测到的障碍物确定为可见障碍物,将可见障碍物添加到对应的环境地图中;若否,进一步判断机器人上预设的第二类传感器是否探测到障碍物,若是,将第二类传感器探测到的障碍物确定为不可见障碍物,将不可见障碍物添加到环境地图中,以实现环境地图的更新。通过在机器人上预设两种类别传感器相配合进行探测,能够避免由于单一类别的传感器检测障碍物时存在局限性,无法检测到所有障碍物的情况;通过将检测到的障碍物添加到环境地图中,避免机器人根据环境地图行进时发生碰撞。

Description

根据障碍物更新环境地图的方法、装置及机器人
技术领域
本发明涉及智能机器人技术领域,具体涉及一种根据障碍物更新环境地图的方法、装置及机器人。
背景技术
目前自主移动机器人领域非常火爆,无人车、无人飞机、水下机器人、仓储机器人、扫地机等应用层出不穷,机器人的行进过程依靠环境地图,用环境地图来描述其当前环境信息,并且随着使用的算法与传感器差异构建地图的方式也不相同,因此如何精准构建以及更新机器人对应的环境地图是关键,目前,常用的构建地图的方式包括:利用SLAM(simultaneous localization and mapping,即时定位与建图)算法对传感器采集的数据进行处理,构建栅格地图;利用vSLAM(Visual simultaneous localization and mapping,基于视觉即时定位与建图)算法对GPS(Global Positioning System,全球定位系统)、或者摄像头等设备采集的数据进行处理,构建特征点地图;直接使用图像传感器所采集的数据所构建的卫星地图等等。
然而,发明人在实现本发明的过程中发现,现有技术中往往根据单一类别的传感器采集的数据对环境地图进行更新,但单一类别的传感器具有局限性,不能探测到所有的障碍物,例如激光传感器或者红外传感器不能探测到光线可透射的障碍物,因此,构建的环境地图与实际环境的匹配度不高,导致机器人按照环境地图行进时发生碰撞。由此可见,现有技术中尚没有一种能够很好地解决上述问题的技术方案。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的根据障碍物更新环境地图的方法、装置及机器人。
根据本发明的一个方面,提供了一种根据障碍物更新环境地图的方法,包括:在机器人行进过程中,判断所述机器人上预设的第一类传感器是否探测到障碍物;若是,将所述第一类传感器探测到的障碍物确定为可见障碍物,将所述可见障碍物按照预设的可见障碍物添加规则添加到与所述机器人对应的环境地图中,以实现所述环境地图的更新;若否,进一步判断所述机器人上预设的第二类传感器是否探测到障碍物,若是,将所述第二类传感器探测到的障碍物确定为不可见障碍物,将所述不可见障碍物按照预设的不可见障碍物添加规则添加到与所述机器人对应的环境地图中,以实现所述环境地图的更新。
可选地,所述方法进一步包括步骤:
在机器人行进过程中,当根据所述第一类传感器的检测结果判断出所述环境地图需要更新时,进一步判断需要更新的区域是否包含不可见障碍物,若否,则根据所述第一类传感器的检测结果对所述需要更新的区域进行更新;若是,则不对所述需要更新的区域进行更新。
可选地,所述方法进一步包括步骤:
当机器人经过所述环境地图中包含不可见障碍物的区域时,通过所述第二类传感器检测所述包含不可见障碍物的区域内是否存在障碍物;
若否,则将所述包含不可见障碍物的区域内所包含的不可见障碍物从环境地图中删除。
可选地,所述机器人经过所述环境地图中包含不可见障碍物的区域的步骤具体包括:
控制所述机器人减速后经过所述环境地图中包含不可见障碍物的区域。
可选地,所述环境地图被划分为多个地图区块,并且,每个地图区块进一步被划分为多个栅格;
则所述将所述可见障碍物按照预设的可见障碍物添加规则添加到与所述机器人对应的环境地图中的步骤具体包括:确定与所述可见障碍物相对应的栅格,将与所述可见障碍物相对应的栅格的状态标记为可见障碍物状态;
所述将所述不可见障碍物按照预设的不可见障碍物添加规则添加到与所述机器人对应的环境地图中的步骤具体包括:确定与所述不可见障碍物相对应的栅格,将与所述不可见障碍物相对应的栅格的状态标记为不可见障碍物状态。
可选地,所述进一步判断所述机器人上预设的第二类传感器是否探测到障碍物的步骤之后,进一步包括:
若否,则确定与未探测到障碍物的区域相对应的栅格,将与所述未探测到障碍物的区域相对应的栅格的状态标记为空闲状态。
可选地,所述方法进一步包括步骤:
将所述第一类传感器探测范围之外的区域确定为未知区域,确定与所述未知区域相对应的栅格,将与所述未知区域相对应的栅格的状态标记为未知状态。
可选地,所述在机器人行进过程中,判断所述机器人上预设的第一类传感器是否探测到障碍物的步骤具体包括:
从所述环境地图中选择一个地图区块作为有效区块,控制所述机器人沿所述有效区块的区块边界线行进一圈,在行进过程中判断第一类传感器是否探测到障碍物。
可选地,所述第一类传感器为设置在机器人的纵向中心轴的第一侧的红外测距传感器和/或激光传感器,用于在水平方向上测量位于机器人的纵向中心轴的第一侧的障碍物与机器人之间的障碍物距离值;所述第二类传感器为设置在机器人侧壁上的碰撞传感器。
可选地,所述在机器人行进过程中,判断所述机器人上预设的第一类传感器是否探测到障碍物的步骤具体包括:
在机器人沿已探测到的障碍物行进的过程中,通过所述第一类传感器判断机器人的纵向中心轴的第一侧是否具有与机器人之间的距离小于预设距离阈值的障碍物;其中,所述已探测到的障碍物设置在所述机器人的纵向中心轴的第一侧;
若否,则确定所述第一类传感器未探测到障碍物,则所述进一步判断所述机器人上预设的第二类传感器是否探测到障碍物的步骤具体包括:
控制所述机器人朝向所述纵向中心轴的第一侧行进,并判断所述第二类传感器是否检测到碰撞,若是,则确定所述纵向中心轴的第一侧存在不可见障碍物。
可选地,所述第二类传感器包括超声波传感器,则所述将所述第二类传感器探测到的障碍物确定为不可见障碍物的步骤之后,进一步包括步骤:
根据所述不可见障碍物与所述机器人之间的距离,调节所述机器人的行进速度。
可选地,所述方法进一步包括步骤:
在机器人行进过程中,判断所述机器人上预设的悬崖传感器是否检测到悬崖,若是,则根据检测到的悬崖更新所述环境地图;
其中,所述悬崖传感器位于所述机器人的底部,用于根据检测到的垂直方向上的距离变化量判断是否存在悬崖。
可选地,所述不可见障碍物包括以下中的至少一个:玻璃、蜡烛、宽度小于预设阈值的物体、以及颜色属于预设颜色的物体。
根据本发明的另一方面,提供了一种根据障碍物更新环境地图的装置,包括:判断模块,适于在机器人行进过程中,判断所述机器人上预设的第一类传感器是否探测到障碍物;添加模块,适于若判断出所述机器人上预设的第一类传感器探测到障碍物,将所述第一类传感器探测到的障碍物确定为可见障碍物,将所述可见障碍物按照预设的可见障碍物添加规则添加到与所述机器人对应的环境地图中,以实现所述环境地图的更新;所述判断模块进一步适于:若判断出所述机器人上预设的第一类传感器未探测到障碍物,进一步判断所述机器人上预设的第二类传感器是否探测到障碍物;所述添加模块进一步适于:若判断出所述机器人上预设的第二类传感器探测到障碍物,将所述第二类传感器探测到的障碍物确定为不可见障碍物,将所述不可见障碍物按照预设的不可见障碍物添加规则添加到与所述机器人对应的环境地图中,以实现所述环境地图的更新。
可选地,所述判断模块进一步适于:在机器人行进过程中,当根据所述第一类传感器的检测结果判断出所述环境地图需要更新时,进一步判断需要更新的区域是否包含不可见障碍物,若否,则根据所述第一类传感器的检测结果对所述需要更新的区域进行更新;若是,则不对所述需要更新的区域进行更新。
可选地,所述判断模块进一步适于:当机器人经过所述环境地图中包含不可见障碍物的区域时,通过所述第二类传感器检测所述包含不可见障碍物的区域内是否存在障碍物;若否,则将所述包含不可见障碍物的区域内所包含的不可见障碍物从环境地图中删除。
可选地,所述装置进一步包括:控制模块,适于控制所述机器人减速后经过所述环境地图中包含不可见障碍物的区域。
可选地,所述环境地图被划分为多个地图区块,并且,每个地图区块进一步被划分为多个栅格;
所述添加模块进一步包括:
状态标记单元,适于确定与所述可见障碍物相对应的栅格,将与所述可见障碍物相对应的栅格的状态标记为可见障碍物状态;
所述状态标记单元进一步适于:确定与所述不可见障碍物相对应的栅格,将与所述不可见障碍物相对应的栅格的状态标记为不可见障碍物状态。
可选地,所述状态标记单元进一步适于:所述进一步判断所述机器人上预设的第二类传感器是否探测到障碍物的步骤之后,若否,则确定与未探测到障碍物的区域相对应的栅格,将与所述未探测到障碍物的区域相对应的栅格的状态标记为空闲状态。
可选地,所述状态标记单元进一步适于:将所述第一类传感器探测范围之外的区域确定为未知区域,确定与所述未知区域相对应的栅格,将与所述未知区域相对应的栅格的状态标记为未知状态。
可选地,所述判断模块进一步包括:
选择单元,适于从所述环境地图中选择一个地图区块作为有效区块;
所述控制模块进一步适于,控制所述机器人沿所述有效区块的区块边界线行进一圈;
所述判断模块进一步适于,在行进过程中判断第一类传感器是否探测到障碍物。
可选地,所述第一类传感器为设置在机器人的纵向中心轴的第一侧的红外测距传感器和/或激光传感器,用于在水平方向上测量位于机器人的纵向中心轴的第一侧的障碍物与机器人之间的障碍物距离值;所述第二类传感器为设置在机器人侧壁上的碰撞传感器。
可选地,所述判断模块进一步适于:在机器人沿已探测到的障碍物行进的过程中,通过所述第一类传感器判断机器人的纵向中心轴的第一侧是否具有与机器人之间的距离小于预设距离阈值的障碍物;其中,所述已探测到的障碍物设置在所述机器人的纵向中心轴的第一侧;
若否,则确定所述第一类传感器未探测到障碍物;
所述控制模块进一步适于,若所述第一类传感器未探测到障碍物,控制所述机器人朝向所述纵向中心轴的第一侧行进;
所述判断模块进一步适于,若所述第一类传感器未探测到障碍物,判断所述第二类传感器是否检测到碰撞,若是,则确定所述纵向中心轴的第一侧存在不可见障碍物。
可选地,所述第二类传感器包括超声波传感器,所述控制模块进一步适于:根据所述不可见障碍物与所述机器人之间的距离,调节所述机器人的行进速度。
可选地,所述判断模块进一步适于:在机器人行进过程中,判断所述机器人上预设的悬崖传感器是否检测到悬崖,若是,则根据检测到的悬崖更新所述环境地图;其中,所述悬崖传感器位于所述机器人的底部,用于根据检测到的垂直方向上的距离变化量判断是否存在悬崖。
可选地,所述不可见障碍物包括以下中的至少一个:玻璃、蜡烛、宽度小于预设阈值的物体、以及颜色属于预设颜色的物体。
根据本发明的另一方面,提供了一种机器人,包括上述的根据障碍物更新环境地图的装置。
根据本发明的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;
存储器用于存放至少一可执行指令,可执行指令使处理器执行上述根据障碍物更新环境地图的方法对应的操作。
根据本发明的再一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述根据障碍物更新环境地图的方法对应的操作。
根据本发明的根据障碍物更新环境地图的方法、装置及机器人,通过在机器人上预设两种类别的传感器,两种类别的传感器相配合对障碍物进行探测,能够避免由于单一类别的传感器检测障碍物时存在局限性,无法检测到所有的障碍物的情况;另外,通过将检测到的障碍物添加到环境地图中,由此提高环境地图的准确性,避免机器人根据环境地图行进时发生碰撞。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的根据障碍物更新环境地图的方法的流程示意图;
图2示出了根据本发明另一个实施例的根据障碍物更新环境地图的方法的流程示意图;
图3示出了根据本发明又一个实施例的机器人的截面结构示意图;
图4示出了根据本发明另一个实施例的有效区块的示意图;
图5示出了根据本发明再一个实施例的根据障碍物更新环境地图的装置的功能框图;
图6示出了根据本发明实施例的一种计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的根据障碍物更新环境地图的方法的流程示意图,如图1所示,该方法包括:
步骤S101,在机器人行进过程中,判断机器人上预设的第一类传感器是否探测到障碍物。
在机器人上安装各类传感器,可以根据传感器采集的数据构建以及更新环境地图,机器人在根据环境地图行进的过程中,为了防止机器人碰撞障碍物,在更新环境地图时,需要将检测到的障碍物添加到环境地图中,具体实施时,可利用SLAM构建环境地图,SLAM是指机器人根据传感器的信息,一边计算自身位置,一边构建环境地图的过程,能够解决机器人在未知环境下运动时的定位与地图构建问题,当然本发明对构建地图的方式不作限定。
本步骤中,判断机器人上预设的第一类传感器是否探测到障碍物,以便后续步骤根据第一类传感器获得的数据对环境地图进行更新。
步骤S102,若判断出机器人上预设的第一类传感器探测到障碍物,将第一类传感器探测到的障碍物确定为可见障碍物,将可见障碍物按照预设的可见障碍物添加规则添加到与机器人对应的环境地图中,以实现环境地图的更新。
在机器人的行进过程中,根据各类传感器探测到的障碍物对环境地图进行更新,针对第一类传感器探测到的障碍物,将其确定为可见障碍物,根据机器人当前所处的位置以及通过对第一类传感器被触发所产生的信号进行分析,确定环境地图中可见障碍物所对应的区域,将可见障碍物对应的区域的状态标记为可见障碍物状态,以此实现环境地图的更新。
步骤S103,若判断出机器人上预设的第一类传感器未探测到障碍物,进一步判断机器人上预设的第二类传感器是否探测到障碍物,若判断出机器人上预设的第二类传感器探测到障碍物,将第二类传感器探测到的障碍物确定为不可见障碍物,将不可见障碍物按照预设的不可见障碍物添加规则添加到与机器人对应的环境地图中,以实现环境地图的更新。
对于一些类别的传感器来说,如激光传感器以及红外测距传感器等,当障碍物为光线可透射的物体时,传感器接收不到返回的信号,即传感器检测不到该障碍物,若根据该传感器接收到的信息更新环境地图,得到的环境地图与实际环境匹配度不高。以激光传感器作为第一类传感器探测障碍物为例,可能会存在以下情况,当激光投射到光线可透射的障碍物上时不发生反射,如玻璃墙;或者,由于激光是以激光束的形式投射到障碍物上的,当障碍物的尺寸较小时会导致激光投射不到,如较细的桌子腿;或者,当障碍物的表面颜色为吸光能力较强的颜色,如表面为黑色的障碍物,激光投射到该障碍物上时几乎不发生反射。上述情况下激光SLAM根据获取到的激光点云数据判断出机器人附近不存在障碍物,会导致构建的环境地图与实际环境不相符。
因此为了检测到机器人所处环境中的所有障碍物,以此提高构建的环境地图的准确性,本实施例提供的方法中,若第一类传感器未探测到障碍物,进一步判断第二类传感器是否探测到障碍物,若判断出机器人上预设的第二类传感器探测到障碍物,将第二类传感器探测到的障碍物确定为不可见障碍物,即不可见障碍物为第一类传感器探测不到,但第二类传感器能够探测到的障碍物,通过两类传感器相配合来探测障碍物。例如第二类传感器可以是压力传感器或者超声波传感器等,对于压力传感器来说,当机器人与上述激光传感器探测不到的障碍物发生碰撞时,压力传感器被触发,因此可以判定该区域存在不可见障碍物;对于超声波传感器来说,通常情况下,任何物体都能够反射超声波,因此超声波传感器能够探测到激光传感器探测不到的障碍物。当然,上述各类传感器仅仅是本发明的具体实施例,本发明不限于此。
根据第二类传感器采集的数据确定不可见障碍物在环境地图中的位置,将不可见障碍物按照预设的不可见障碍物添加规则添加到与机器人对应的环境地图中,具体可通过将环境地图中不可见障碍物对应的区域的状态设置为不可见障碍物状态,以此实现环境地图的更新。当然,本发明预设的不可见障碍物添加规则不限于此,本领域技术人员可根据实际需要进行设置。
根据本实施例提供的根据障碍物更新环境地图的方法,在机器人行进过程中,判断机器人上预设的第一类传感器是否探测到障碍物;若判断出机器人上预设的第一类传感器探测到障碍物,将第一类传感器探测到的障碍物确定为可见障碍物,将可见障碍物按照预设的可见障碍物添加规则添加到与机器人对应的环境地图中,以实现环境地图的更新;若判断出机器人上预设的第一类传感器未探测到障碍物,进一步判断机器人上预设的第二类传感器是否探测到障碍物,若判断出机器人上预设的第二类传感器探测到障碍物,将第二类传感器探测到的障碍物确定为不可见障碍物,将不可见障碍物按照预设的不可见障碍物添加规则添加到与机器人对应的环境地图中,以实现环境地图的更新。通过在机器人上预设两种类别的传感器,两种类别的传感器相配合对障碍物进行探测,能够避免由于单一类别的传感器检测障碍物时存在局限性,无法检测到所有的障碍物的情况;另外,通过将检测到的障碍物添加到环境地图中,由此提高环境地图的准确性,避免机器人根据环境地图行进时发生碰撞。
图2示出了根据本发明另一个实施例的根据障碍物更新环境地图的方法的流程示意图,如图2所示,该方法包括:
步骤S201,将环境地图划分为多个地图区块,并且,每个地图区块进一步被划分为多个栅格。
由于传感器种类和安装方式的不同,SLAM的实现方式和难度会有一定的差异,以基于激光传感器的激光SLAM为例,当一束激光投射到物体表面时,所反射的激光会携带方位、距离、颜色等信息,若将激光束按照某种轨迹进行扫描,便会边扫描边记录反射的激光信息,由于扫描极为精细,能够得到大量的激光点,因而就可形成激光点云,激光SLAM通过直接获取激光点云数据,根据激光点云数据计算障碍物的位置以及障碍物的距离,从而构建环境地图,另外,由于激光传感器所发射的激光束所能覆盖的范围是有限的,随着机器人的行走,激光SLAM会根据获取到的激光点云数据实时地更新环境地图。当然,本发明对于构建地图的方式不作限定。
机器人对应的环境地图可通过上述的激光SLAM进行构建,另外,在环境地图中每隔第一预设间隔设置一条横向分割线,每隔第二预设间隔设置一条纵向分割线,通过各个横向分割线以及各个纵向分割线可以将环境地图划分为多个区块,本领域技术人员可通过实际需要,调整第一预设间隔以及第二预设间隔,从而调节各个地图区块的尺寸。
将每个地图区块划分为多个栅格,通过设置各个栅格的状态,可区分包含障碍物的区域与不包含障碍物的区域,在本实施例中可进一步区分包含可见障碍物的区域与包含不可见障碍物区域,本领域技术人员可根据实际需要设置栅格的尺寸。通过将地图区块划分为多个区块和栅格的方式,能够根据需要以区块或栅格为单位进行定位,从而便于对地图进行查询或规划。
步骤S202,从环境地图中选择一个地图区块作为有效区块,控制机器人沿有效区块的区块边界线行进一圈,在行进过程中判断第一类传感器是否探测到障碍物。
从环境地图所对应的多个地图区块中按照预设的有效区块确定规则选择一个地图区块作为有效区块,本实施例的方法中第一类传感器探测障碍物是在控制机器人沿有效区块的边界行走的过程中进行的,根据传感器在沿有效区块的边界的行走过程中探测到的障碍物对环境地图进行更新,其中,有效区块的边界包括软边界和硬边界,软边界即有效区块的区块边界,硬边界是指有效区块内的障碍物的边界。
步骤S203,若判断出机器人上预设的第一类传感器探测到障碍物,将第一类传感器探测到的障碍物确定为可见障碍物,确定与可见障碍物相对应的栅格,将与可见障碍物相对应的栅格的状态标记为可见障碍物状态,以实现环境地图的更新。
通过步骤S201将环境地图对应的各个地图区块进一步划分为多个栅格,通过对障碍物相对应的栅格的状态进行标记,可以区分包含障碍物的区域与不包含障碍物的区域,更进一步地,通过将不同类别的障碍物相对应的栅格标记为不同的障碍物状态,可以区分包含不同类别的障碍物的区域。
以激光SLAM为例,通过激光SLAM更新环境地图的实现方式包括以下步骤:
步骤一:预处理,也就是对激光传感器原始数据进行优化,剔除不合理的数据,或者进行滤波。
步骤二:匹配,也就是说把当前获得的激光点云数据在已经建立的环境地图上寻找到对应的位置。如果不进行匹配过程,所构建的地图可能出现混乱,因此该步骤直接影响通过激光SLAM构建的环境地图的精度。
步骤三,地图融合,也就是根据匹配结果将当前获得的激光点云数据加载到已经创建好的地图所对应的位置上,最终完成环境地图的更新。例如,假设根据匹配结果确定激光点云数据中包含的第一局部区域与环境地图中的第二局部区域匹配,相应地,将激光点云数据加载到环境地图中,以使其中的第一局部区域与环境地图中的第二局部区域相互重合,并根据激光点云数据中包含的除第一局部区域之外的其他区域对环境地图进行更新。
本实施例的方法中当机器人上预设的第一类传感器探测到障碍物,将第一类传感器探测到的障碍物确定为可见障碍物,该可见障碍物并不是指人眼可见的障碍物,而是第一类传感器能够探测到的障碍物,例如对于激光传感器来说,投射到墙壁上的激光会发生反射,则墙壁是可见障碍物,但投射到玻璃上的激光不发生反射,则激光传感器探测不到玻璃,对于激光传感器来说玻璃不是可见障碍物。
根据激光点云数据确定可见障碍物在环境地图中的位置,即上述步骤二,然后通过在环境地图中可见障碍物对应的区域添加可见障碍物标识,以此实现环境地图的更新,即上述步骤三。当然,本发明预设的可见障碍物添加规则不限于此,本领域技术人员可根据实际需要进行设置。
步骤S204,若判断出机器人上预设的第一类传感器未探测到障碍物,进一步判断机器人上预设的第二类传感器是否探测到障碍物,若判断出机器人上预设的第二类传感器探测到障碍物,将第二类传感器探测到的障碍物确定为不可见障碍物,确定与不可见障碍物相对应的栅格,将与不可见障碍物相对应的栅格的状态标记为不可见障碍物状态,以实现环境地图的更新。
在本实施例的一种实现方式中,第一类传感器为设置在机器人的纵向中心轴的第一侧的红外测距传感器和/或激光传感器,用于在水平方向上测量位于机器人的纵向中心轴的第一侧的障碍物与机器人之间的障碍物距离值;第二类传感器为设置在机器人侧壁上的碰撞传感器。
图3示出了本发明一个实施例的机器人的截面结构示意图。如图3所示,第一类传感器303包括红外测距传感器和/或激光传感器,机器人的横向方向为平行于第一轮301和第二轮302的连线所在的直线的方向,第一类传感器303的朝向与机器人的横向方向相互平行,用于在水平方向上测量位于机器人的纵向中心轴的第一侧的障碍物与机器人之间的障碍物距离值,机器人的纵向中心轴为第一轮301和第二轮301的连线的垂直平分线所在的直线,纵向中心轴的第一侧为纵向中心轴的右侧或左侧,本发明对此不作限定。具体地,将第一类传感器303设置在第一轮301或第二轮302的前端,使得在机器人行进的过程中,第一类传感器303超前于第一轮301或第二轮302,因此,第一类传感器303能够进行预判,以留出反应时间。其中,第一轮301或第二轮302的前端是由机器人的前进方向决定的。例如,将驱动轮中靠近机器人的前进方向的一端称为第一轮的前端或第二轮的前端,将背离机器人的前进方向的一端称为第一轮的后端或第二轮的后端。比如,图3中将第一类传感器303沿机器人的前进方向(即图中箭头所示的方向)设置在右驱动轮302的前方。
在具体的实施例中,第二类传感器为设置在机器人侧壁上的碰撞传感器,第二类传感器设置在机器人的前端,当然,本发明对碰撞传感器的个数,以及设置在机器人侧壁的方位不作限定,本领域技术人员可根据实际需要进行设置。在具体的实施例中,如图3所示,设置两个碰撞传感器,包括第一碰撞传感器304以及第二碰撞传感器305,能够便于准确确认发生碰撞的碰撞方位,其中,碰撞方位包括机器人的左侧,机器人的中部,和/或机器人的右侧,相对于机器人沿直线前进的方向而言,两个驱动轮的连线的垂直平分线的左侧称为机器人的左侧,两个驱动轮的连线的垂直平分线上的位置称为机器人的中部,两个驱动轮的连线的垂直平分线的右侧称为机器人的右侧。
将第一类传感器探测不到但第二类传感器能够探测到的障碍物确定为不可见障碍物,根据机器人当前所处的位置以及通过对第二类传感器被触发所产生的信号进行分析,确定环境地图中不可见障碍物所对应的栅格,将不可见障碍物对应的栅格的状态标记为不可见障碍物状态,以此实现环境地图的更新。其中,不可见障碍物包括以下中的至少一个:玻璃、蜡烛、宽度小于预设阈值的物体、以及颜色属于预设颜色的物体。
若机器人上预设的第二类传感器未探测到障碍物,将与未探测到障碍物的区域相对应的栅格的状态标记为空闲状态。即空闲状态的栅格对应的区域内既不包含可见障碍物,也不包含不可见障碍物,对于机器人来说,空闲状态的栅格所对应的区域是可以通过的。
由于第一类传感器的探测范围有限,往往不能一次性将机器人所处的区域全部覆盖到,因此,将第一类传感器探测范围之外的区域确定为未知区域,确定与未知区域相对应的栅格,将与未知区域相对应的栅格的状态标记为未知状态。
根据图3所示出的机器人的截面结构示意图,第一类传感器设置在机器人第二轮302的前端,位于纵向中心轴的第一侧,纵向中心轴的第一侧为机器人两个驱动轮的连线的垂直平分线上的右侧,则判断机器人上预设的第一类传感器是否探测到障碍物的步骤具体包括:
在机器人沿已探测到的障碍物行进的过程中,通过第一类传感器判断机器人的纵向中心轴的第一侧是否具有与机器人之间的距离小于预设距离阈值的障碍物;其中,已探测到的障碍物设置在所述机器人的纵向中心轴的第一侧;
若否,则确定第一类传感器未探测到障碍物,则进一步判断所述机器人上预设的第二类传感器是否探测到障碍物的步骤具体包括:
控制机器人朝向纵向中心轴的第一侧行进,并判断第二类传感器是否检测到碰撞,若是,则确定纵向中心轴的第一侧存在不可见障碍物。
在一个具体的场景中,第一类传感器为激光传感器,基于激光传感器的激光SLAM构建环境地图,第二类触感器为碰撞传感器,图4示出了当前有效区块的示意图,实线以及虚线共同包围的最大的矩形为有效区块400,该有效区块内存在障碍物,包括障碍物401以及障碍物402,其中,障碍物401为玻璃墙,障碍物402为实体墙,该有效区块被障碍物分隔成两个不连通的区域,因此机器人沿着有效区块的区块边界与障碍物的边界共同决定的边界行进,在行进过程中,激光SLAM根据激光点云数据构建环境地图。机器人在沿边界的行进过程中,激光传感器能够探测到障碍物402,则将该障碍物添加至环境地图中位于机器人的纵向中心轴的第一侧的对应的区域内;由于玻璃墙为光线可透射的物体,激光投射到玻璃墙上不发生反射,即激光传感器不能检测到该玻璃墙,因此障碍物401未被添加至环境地图中。需要说明的是,添加障碍物的位置是与第一类传感器在机器人上的位置相对应的,若第一类传感器设置在机器人纵向中心的左侧,则将障碍物添加至机器人纵向中心轴的左侧对应的区域中,本发明对此不作限定,本领域技术人员可根据实际需要进行设置。
为了使机器人能够尽可能地贴合障碍物的边缘行进,以清扫干净障碍物周围的垃圾,在本实施例中,可以控制机器人沿着已探测到的障碍物的边缘行进。具体地,当机器人沿已探测到的障碍物401的边缘行进的过程中,激光传感器未探测到机器人的纵向中心轴的右侧具有与机器人之间的距离小于预设距离阈值的障碍物,则认为右侧不存在障碍物,因此,机器人应转向右侧以实现贴合障碍物的清扫,相应地,控制机器人朝向纵向中心轴的右侧行进,这时,机器人与障碍物401将发生碰撞,碰撞传感器被触发,则表明纵向中心轴的右侧存在不可见障碍物,将不可见障碍物添加至环境地图中,具体可通过将环境地图中不可见障碍物相应的栅格标记为不可见障碍物。因此,本发明能够避免单一类别的传感器的局限性,不能探测到所有的障碍物的情况。
可选地,第二类传感器还包括超声波传感器,在一般情况下,声波遇到所有的物体都会发生发射,并且覆盖范围广,相比于上述碰撞传感器,超声波传感器可实现预判,因此,第一类传感器与超声波传感器相配合能够有效避免因碰撞产生的机械损伤,且能够精准构建环境地图。当超声波传感器探测到不可见障碍物,可根据不可见障碍物与机器人之间的距离,调节机器人的行进速度,避免机器人与不可见障碍物发生碰撞。当然,本发明中第一类传感器以及第二类传感器并不限于上述的各个传感器,本领域技术人员可根据实际需要进行选择。
本实施例的方法通过设置两种类别的传感器可以探测到所有的障碍物,构建环境地图更加准确,能够避免机器人根据环境地图行进时发生碰撞,更进一步地,在机器人行进过程中,判断机器人上预设的悬崖传感器是否检测到悬崖,若是,则根据检测到的悬崖更新环境地图;其中,悬崖传感器位于机器人的底部,用于根据检测到的垂直方向上的距离变化量判断是否存在悬崖。例如,在机器人底部对应纵向中心轴第一侧的前端的位置设置悬崖传感器,当检测到垂直方向上的距离的变化量大于预设变化量阈值,则表明检测到悬崖,控制机器人改变行进方向以离开悬崖。
步骤S205,在机器人行进过程中,当根据第一类传感器的检测结果判断出环境地图需要更新时,进一步判断需要更新的区域是否包含不可见障碍物,若判断出需要更新的区域不包含不可见障碍物,则根据第一类传感器的检测结果对需要更新的区域进行更新;若判断出需要更新的区域包含不可见障碍物,则不对需要更新的区域进行更新。
具体地,由于传感器每次探测的范围是有限的,因此,在机器人行进的过程中,需要对环境地图实时进行更新,以第一类传感器为激光传感器为例,激光SLAM根据激光点云数据更新地图,当根据激光传感器返回的激光点云数据以及已经创建好的环境地图判断出此时环境地图需要更新,例如,先前一次激光传感器发射的激光覆盖到一个包含障碍物的区域,激光传感器探测到该障碍物,激光SLAM根据激光点云数据将该障碍物添加至环境地图中,但随后该障碍物被挪走了,当激光传感器发射的激光覆盖再次到该区域时,激光传感器探测不到障碍物,则根据激光点云数据判断出该区域需要更新。
由于激光传感器不能探测到不可见的障碍物,若需要更新的区域包含不可见障碍物,该不可见障碍物是通过上述不可见障碍物添加规则被添加到环境地图中的,若此时根据激光点云数据对环境地图进行更新,那么更新后的该需要更新的区域中不包含该不可见障碍物,而实际上该区域未必不包含该不可见障碍物,此时环境地图出现错误。因此需要进一步判断需要更新的区域是否包含不可见障碍物,具体的方法可参见上述检测不可见障碍物的方法,若需要更新的区域不包含不可见障碍物,则根据第一类传感器的检测结果对需要更新的区域进行更新;若需要更新的区域包含不可见障碍物,则不对需要更新的区域进行更新,即在环境地图中添加的不可见障碍物具有较高的优先级,不随根据激光点云数据构建的环境地图的更新而更新。
当机器人经过环境地图中包含不可见障碍物的区域时,通过第二类传感器检测包含不可见障碍物的区域内是否存在障碍物;若否,则将包含不可见障碍物的区域内所包含的不可见障碍物从环境地图中删除。
由于包含不可见障碍物对应的区域不随激光点云数据构建的环境地图更新而更新,机器人根据环境地图行进的过程中,当机器人经过包含不可见障碍物的区域时,通过第二类传感器检测该区域是否存在障碍物,若不存在,则对该区域进行更新,将不可见障碍物从环境地图删除,从而实现环境地图的更新,具体可通过标记该区域对应的栅格的状态实现,将该区域的栅格的状态标记为空闲状态。通俗地来讲,对于包含不可见障碍物的区域,只有第二次通过该区域,第二传感器探测不到障碍物时才进行更新。另外,为了防止碰撞,控制机器人减速后经过环境地图中包含不可见障碍物的区域。
可以理解的是,上述实施例中,均以激光传感器及其对应的激光SLAM对本发明的方法进行解释,可以理解的是,本发明的方法并不仅限于此,本领域技术人员可根据实际需要选择传感器以及设置构建地图的方式。
根据本实施例提供的根据障碍物更新环境地图的方法,将环境地图划分为多个地图区块,并且,每个地图区块进一步被划分为多个栅格;从环境地图中选择一个地图区块作为有效区块,控制机器人沿有效区块的区块边界线行进一圈,在行进过程中判断第一类传感器是否探测到障碍物;若判断出机器人上预设的第一类传感器探测到障碍物,将第一类传感器探测到的障碍物确定为可见障碍物,确定与可见障碍物相对应的栅格,将与可见障碍物相对应的栅格的状态标记为可见障碍物状态,以实现环境地图的更新;若判断出机器人上预设的第一类传感器未探测到障碍物,进一步判断机器人上预设的第二类传感器是否探测到障碍物,若判断出机器人上预设的第二类传感器探测到障碍物,将第二类传感器探测到的障碍物确定为不可见障碍物,确定与不可见障碍物相对应的栅格,将与不可见障碍物相对应的栅格的状态标记为不可见障碍物状态,以实现环境地图的更新;在机器人行进过程中,当根据第一类传感器的检测结果判断出环境地图需要更新时,进一步判断需要更新的区域是否包含不可见障碍物,若判断出需要更新的区域不包含不可见障碍物,则根据第一类传感器的检测结果对需要更新的区域进行更新;若判断出需要更新的区域包含不可见障碍物,则不对需要更新的区域进行更新。通过在机器人上预设两种类别的传感器,两种类别的传感器相配合对障碍物进行探测,能够避免由于单一类别的传感器检测障碍物时存在局限性,无法探测到所有的障碍物的情况;将环境地图划分为多个栅格,通过标记环境地图包含的栅格的状态,能够区分障碍物区域与非障碍物区域,进一步区分不同类别的障碍物所对应的区域;提供了根据不同类别障碍物对环境地图进行更新的方法,从而可以提高环境地图与实际环境的匹配度。
图5示出了根据本发明再一个实施例的根据障碍物更新环境地图的装置的功能框图,如图5所示,该装置包括:
判断模块51,适于在机器人行进过程中,判断机器人上预设的第一类传感器是否探测到障碍物;
添加模块52,适于若判断出机器人上预设的第一类传感器探测到障碍物,将第一类传感器探测到的障碍物确定为可见障碍物,将可见障碍物按照预设的可见障碍物添加规则添加到与机器人对应的环境地图中,以实现环境地图的更新;
判断模块51进一步适于:若判断出机器人上预设的第一类传感器未探测到障碍物,进一步判断机器人上预设的第二类传感器是否探测到障碍物;
添加模块52进一步适于:若判断出机器人上预设的第二类传感器探测到障碍物,将第二类传感器探测到的障碍物确定为不可见障碍物,将不可见障碍物按照预设的不可见障碍物添加规则添加到与机器人对应的环境地图中,以实现环境地图的更新。
可选地,判断模块51进一步适于:
在机器人行进过程中,当根据第一类传感器的检测结果判断出环境地图需要更新时,进一步判断需要更新的区域是否包含不可见障碍物,若否,则根据第一类传感器的检测结果对需要更新的区域进行更新;若是,则不对需要更新的区域进行更新。
可选地,判断模块51进一步适于:
当机器人经过环境地图中包含不可见障碍物的区域时,通过第二类传感器检测包含不可见障碍物的区域内是否存在障碍物;
若否,则将包含不可见障碍物的区域内所包含的不可见障碍物从环境地图中删除。
另外,在本发明的另一个实施例中,上述装置进一步包括:
控制模块,适于控制机器人减速后经过环境地图中包含不可见障碍物的区域。
另外,在本发明的另一个实施例中:环境地图被划分为多个地图区块,并且,每个地图区块进一步被划分为多个栅格;
可选地,添加模块52进一步包括:
状态标记单元,适于确定与可见障碍物相对应的栅格,将与可见障碍物相对应的栅格的状态标记为可见障碍物状态;
状态标记单元进一步适于:确定与不可见障碍物相对应的栅格,将与不可见障碍物相对应的栅格的状态标记为不可见障碍物状态。
可选地,状态标记单元进一步适于:
进一步判断机器人上预设的第二类传感器是否探测到障碍物的步骤之后,若否,则确定与未探测到障碍物的区域相对应的栅格,将与未探测到障碍物的区域相对应的栅格的状态标记为空闲状态。
可选地,状态标记单元进一步适于:
将第一类传感器探测范围之外的区域确定为未知区域,确定与未知区域相对应的栅格,将与未知区域相对应的栅格的状态标记为未知状态。
可选地,判断模块51进一步包括:
选择单元,适于从环境地图中选择一个地图区块作为有效区块;
控制模块进一步适于,控制机器人沿有效区块的区块边界线行进一圈;
判断模块51进一步适于,在行进过程中判断第一类传感器是否探测到障碍物。
可选地,第一类传感器为设置在机器人的纵向中心轴的第一侧的红外测距传感器和/或激光传感器,用于在水平方向上测量位于机器人的纵向中心轴的第一侧的障碍物与机器人之间的障碍物距离值;第二类传感器为设置在机器人侧壁上的碰撞传感器。
可选地,判断模块51进一步适于:
在机器人沿已探测到的障碍物行进的过程中,通过第一类传感器判断机器人的纵向中心轴的第一侧是否具有与机器人之间的距离小于预设距离阈值的障碍物;其中,已探测到的障碍物设置在机器人的纵向中心轴的第一侧;
若否,则确定第一类传感器未探测到障碍物;
控制模块进一步适于,若第一类传感器未探测到障碍物,控制机器人朝向纵向中心轴的第一侧行进;
判断模块51进一步适于,若第一类传感器未探测到障碍物,判断第二类传感器是否检测到碰撞,若是,则确定纵向中心轴的第一侧存在不可见障碍物。
可选地,第二类传感器包括超声波传感器,控制模块进一步适于:
根据不可见障碍物与机器人之间的距离,调节机器人的行进速度。
可选地,判断模块51进一步适于:
在机器人行进过程中,判断机器人上预设的悬崖传感器是否检测到悬崖,若是,则根据检测到的悬崖更新环境地图;
其中,悬崖传感器位于机器人的底部,用于根据检测到的垂直方向上的距离变化量判断是否存在悬崖。
可选地,不可见障碍物包括以下中的至少一个:玻璃、蜡烛、宽度小于预设阈值的物体、以及颜色属于预设颜色的物体。
上述各个模块的具体结构和工作原理可参照方法实施例中相应步骤的描述,此处不再赘述。
另外,本申请实施例还提供了一种机器人,包括图5所示的根据障碍物更新环境地图的装置以及上述各个模块。
本申请实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的根据障碍物更新环境地图的方法。
如图6所示,该电子设备可以包括:处理器(processor)602、通信接口(Communications Interface)604、存储器(memory)606、以及通信总线608。
其中:
处理器602、通信接口604、以及存储器606通过通信总线608完成相互间的通信。
通信接口604,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器602,用于执行程序610,具体可以执行上述根据障碍物更新环境地图的方法实施例中的相关步骤。
具体地,程序610可以包括程序代码,该程序代码包括计算机操作指令。
处理器602可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器606,用于存放程序610。存储器606可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序610具体可以用于使得处理器602执行以下操作:
在机器人行进过程中,判断机器人上预设的第一类传感器是否探测到障碍物;
若是,将第一类传感器探测到的障碍物确定为可见障碍物,将可见障碍物按照预设的可见障碍物添加规则添加到与机器人对应的环境地图中,以实现环境地图的更新;
若否,进一步判断机器人上预设的第二类传感器是否探测到障碍物,若是,将第二类传感器探测到的障碍物确定为不可见障碍物,将不可见障碍物按照预设的不可见障碍物添加规则添加到与机器人对应的环境地图中,以实现环境地图的更新。
在一种可选的方式中,程序610具体可以进一步用于使得处理器602执行以下操作:
在机器人行进过程中,当根据第一类传感器的检测结果判断出环境地图需要更新时,进一步判断需要更新的区域是否包含不可见障碍物,若否,则根据第一类传感器的检测结果对需要更新的区域进行更新;若是,则不对需要更新的区域进行更新。
在一种可选的方式中,程序610具体可以进一步用于使得处理器602执行以下操作:
当机器人经过环境地图中包含不可见障碍物的区域时,通过第二类传感器检测包含不可见障碍物的区域内是否存在障碍物;
若否,则将包含不可见障碍物的区域内所包含的不可见障碍物从环境地图中删除。
在一种可选的方式中,程序610具体可以进一步用于使得处理器602执行以下操作:
控制机器人减速后经过环境地图中包含不可见障碍物的区域。
在一种可选的方式中,其中,环境地图被划分为多个地图区块,并且,每个地图区块进一步被划分为多个栅格;
在一种可选的方式中,程序610具体可以进一步用于使得处理器602执行以下操作:
确定与可见障碍物相对应的栅格,将与可见障碍物相对应的栅格的状态标记为可见障碍物状态;
在一种可选的方式中,程序610具体可以进一步用于使得处理器602执行以下操作:
确定与不可见障碍物相对应的栅格,将与不可见障碍物相对应的栅格的状态标记为不可见障碍物状态。
在一种可选的方式中,程序610具体可以进一步用于使得处理器602执行以下操作:
若否,则确定与未探测到障碍物的区域相对应的栅格,将与未探测到障碍物的区域相对应的栅格的状态标记为空闲状态。
在一种可选的方式中,程序610具体可以进一步用于使得处理器602执行以下操作:
将第一类传感器探测范围之外的区域确定为未知区域,确定与未知区域相对应的栅格,将与未知区域相对应的栅格的状态标记为未知状态。
在一种可选的方式中,程序610具体可以进一步用于使得处理器602执行以下操作:
从环境地图中选择一个地图区块作为有效区块,控制机器人沿有效区块的区块边界线行进一圈,在行进过程中判断第一类传感器是否探测到障碍物。
在一种可选的方式中,其中,第一类传感器为设置在机器人的纵向中心轴的第一侧的红外测距传感器和/或激光传感器,用于在水平方向上测量位于机器人的纵向中心轴的第一侧的障碍物与机器人之间的障碍物距离值;第二类传感器为设置在机器人侧壁上的碰撞传感器。
在一种可选的方式中,程序610具体可以进一步用于使得处理器602执行以下操作:
在机器人沿已探测到的障碍物行进的过程中,通过第一类传感器判断机器人的纵向中心轴的第一侧是否具有与机器人之间的距离小于预设距离阈值的障碍物;其中,已探测到的障碍物设置在机器人的纵向中心轴的第一侧;
若否,则确定第一类传感器未探测到障碍物,则进一步判断机器人上预设的第二类传感器是否探测到障碍物的步骤具体包括:
控制机器人朝向纵向中心轴的第一侧行进,并判断第二类传感器是否检测到碰撞,若是,则确定纵向中心轴的第一侧存在不可见障碍物。
在一种可选的方式中,程序610具体可以进一步用于使得处理器602执行以下操作:
根据不可见障碍物与机器人之间的距离,调节机器人的行进速度。
在一种可选的方式中,程序610具体可以进一步用于使得处理器602执行以下操作:
在机器人行进过程中,判断机器人上预设的悬崖传感器是否检测到悬崖,若是,则根据检测到的悬崖更新环境地图;
其中,悬崖传感器位于机器人的底部,用于根据检测到的垂直方向上的距离变化量判断是否存在悬崖。
在一种可选的方式中,不可见障碍物包括以下中的至少一个:玻璃、蜡烛、宽度小于预设阈值的物体、以及颜色属于预设颜色的物体。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的计算设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (25)

1.一种根据障碍物更新环境地图的方法,包括:
在机器人行进过程中,判断所述机器人上预设的第一类传感器是否探测到障碍物;
若是,将所述第一类传感器探测到的障碍物确定为可见障碍物,将所述可见障碍物按照预设的可见障碍物添加规则添加到与所述机器人对应的环境地图中,以实现所述环境地图的更新;
若否,进一步判断所述机器人上预设的第二类传感器是否探测到障碍物,若是,将所述第二类传感器探测到的障碍物确定为不可见障碍物,将所述不可见障碍物按照预设的不可见障碍物添加规则添加到与所述机器人对应的环境地图中,以实现所述环境地图的更新;
在机器人行进过程中,当根据所述第一类传感器的检测结果判断出所述环境地图需要更新时,进一步判断需要更新的区域是否包含不可见障碍物,若否,则根据所述第一类传感器的检测结果对所述需要更新的区域进行更新;若是,则不对所述需要更新的区域进行更新;
当机器人再次经过所述环境地图中包含不可见障碍物的区域时,通过所述第二类传感器检测所述包含不可见障碍物的区域内是否存在障碍物;
若否,则将所述包含不可见障碍物的区域内所包含的不可见障碍物从环境地图中删除。
2.根据权利要求1所述的方法,其中,所述当机器人再次经过所述环境地图中包含不可见障碍物的区域时的步骤具体包括:
控制所述机器人减速后经过所述环境地图中包含不可见障碍物的区域。
3.根据权利要求1所述的方法,其中,所述环境地图被划分为多个地图区块,并且,每个地图区块进一步被划分为多个栅格;
则所述将所述可见障碍物按照预设的可见障碍物添加规则添加到与所述机器人对应的环境地图中的步骤具体包括:确定与所述可见障碍物相对应的栅格,将与所述可见障碍物相对应的栅格的状态标记为可见障碍物状态;
所述将所述不可见障碍物按照预设的不可见障碍物添加规则添加到与所述机器人对应的环境地图中的步骤具体包括:确定与所述不可见障碍物相对应的栅格,将与所述不可见障碍物相对应的栅格的状态标记为不可见障碍物状态。
4.根据权利要求3所述的方法,其中,所述进一步判断所述机器人上预设的第二类传感器是否探测到障碍物的步骤之后,进一步包括:
若否,则确定与未探测到障碍物的区域相对应的栅格,将与所述未探测到障碍物的区域相对应的栅格的状态标记为空闲状态。
5.根据权利要求4所述的方法,其中,所述方法进一步包括步骤:
将所述第一类传感器探测范围之外的区域确定为未知区域,确定与所述未知区域相对应的栅格,将与所述未知区域相对应的栅格的状态标记为未知状态。
6.根据权利要求3所述的方法,其中,所述在机器人行进过程中,判断所述机器人上预设的第一类传感器是否探测到障碍物的步骤具体包括:
从所述环境地图中选择一个地图区块作为有效区块,控制所述机器人沿所述有效区块的区块边界线行进一圈,在行进过程中判断第一类传感器是否探测到障碍物。
7.根据权利要求1-6任一所述的方法,其中,所述第一类传感器为设置在机器人的纵向中心轴的第一侧的红外测距传感器和/或激光传感器,用于在水平方向上测量位于机器人的纵向中心轴的第一侧的障碍物与机器人之间的障碍物距离值;所述第二类传感器为设置在机器人侧壁上的碰撞传感器。
8.根据权利要求7所述的方法,其中,所述在机器人行进过程中,判断所述机器人上预设的第一类传感器是否探测到障碍物的步骤具体包括:
在机器人沿已探测到的障碍物行进的过程中,通过所述第一类传感器判断机器人的纵向中心轴的第一侧是否具有与机器人之间的距离小于预设距离阈值的障碍物;其中,所述已探测到的障碍物设置在所述机器人的纵向中心轴的第一侧;
若否,则确定所述第一类传感器未探测到障碍物,则所述进一步判断所述机器人上预设的第二类传感器是否探测到障碍物的步骤具体包括:
控制所述机器人朝向所述纵向中心轴的第一侧行进,并判断所述第二类传感器是否检测到碰撞,若是,则确定所述纵向中心轴的第一侧存在不可见障碍物。
9.根据权利要求1-6任一所述的方法,其中,所述第二类传感器包括超声波传感器,则所述将所述第二类传感器探测到的障碍物确定为不可见障碍物的步骤之后,进一步包括步骤:
根据所述不可见障碍物与所述机器人之间的距离,调节所述机器人的行进速度。
10.根据权利要求1-6任一所述的方法,其中,所述方法进一步包括步骤:
在机器人行进过程中,判断所述机器人上预设的悬崖传感器是否检测到悬崖,若是,则根据检测到的悬崖更新所述环境地图;
其中,所述悬崖传感器位于所述机器人的底部,用于根据检测到的垂直方向上的距离变化量判断是否存在悬崖。
11.根据权利要求1-6任一所述的方法,其中,所述不可见障碍物包括以下中的至少一个:玻璃、蜡烛、宽度小于预设阈值的物体、以及颜色属于预设颜色的物体。
12.一种根据障碍物更新环境地图的装置,包括:
判断模块,适于在机器人行进过程中,判断所述机器人上预设的第一类传感器是否探测到障碍物;
添加模块,适于若判断出所述机器人上预设的第一类传感器探测到障碍物,将所述第一类传感器探测到的障碍物确定为可见障碍物,将所述可见障碍物按照预设的可见障碍物添加规则添加到与所述机器人对应的环境地图中,以实现所述环境地图的更新;
所述判断模块进一步适于:若判断出所述机器人上预设的第一类传感器未探测到障碍物,进一步判断所述机器人上预设的第二类传感器是否探测到障碍物;
所述添加模块进一步适于:若判断出所述机器人上预设的第二类传感器探测到障碍物,将所述第二类传感器探测到的障碍物确定为不可见障碍物,将所述不可见障碍物按照预设的不可见障碍物添加规则添加到与所述机器人对应的环境地图中,以实现所述环境地图的更新;
所述判断模块进一步适于:
在机器人行进过程中,当根据所述第一类传感器的检测结果判断出所述环境地图需要更新时,进一步判断需要更新的区域是否包含不可见障碍物,若否,则根据所述第一类传感器的检测结果对所述需要更新的区域进行更新;若是,则不对所述需要更新的区域进行更新;
当机器人再次经过所述环境地图中包含不可见障碍物的区域时,通过所述第二类传感器检测所述包含不可见障碍物的区域内是否存在障碍物;若否,则将所述包含不可见障碍物的区域内所包含的不可见障碍物从环境地图中删除。
13.根据权利要求12所述的装置,其中,所述装置进一步包括:
控制模块,适于控制所述机器人减速后经过所述环境地图中包含不可见障碍物的区域。
14.根据权利要求13所述的装置,其中,所述环境地图被划分为多个地图区块,并且,每个地图区块进一步被划分为多个栅格;
所述添加模块进一步包括:
状态标记单元,适于确定与所述可见障碍物相对应的栅格,将与所述可见障碍物相对应的栅格的状态标记为可见障碍物状态;
所述状态标记单元进一步适于:确定与所述不可见障碍物相对应的栅格,将与所述不可见障碍物相对应的栅格的状态标记为不可见障碍物状态。
15.根据权利要求14所述的装置,所述状态标记单元进一步适于:
所述进一步判断所述机器人上预设的第二类传感器是否探测到障碍物的步骤之后,若否,则确定与未探测到障碍物的区域相对应的栅格,将与所述未探测到障碍物的区域相对应的栅格的状态标记为空闲状态。
16.根据权利要求15所述的装置,其中,所述状态标记单元进一步适于:
将所述第一类传感器探测范围之外的区域确定为未知区域,确定与所述未知区域相对应的栅格,将与所述未知区域相对应的栅格的状态标记为未知状态。
17.根据权利要求14所述的装置,其中,所述判断模块进一步包括:
选择单元,适于从所述环境地图中选择一个地图区块作为有效区块;
所述控制模块进一步适于,控制所述机器人沿所述有效区块的区块边界线行进一圈;
所述判断模块进一步适于,在行进过程中判断第一类传感器是否探测到障碍物。
18.根据权利要求13-17任一所述的装置,其中,所述第一类传感器为设置在机器人的纵向中心轴的第一侧的红外测距传感器和/或激光传感器,用于在水平方向上测量位于机器人的纵向中心轴的第一侧的障碍物与机器人之间的障碍物距离值;所述第二类传感器为设置在机器人侧壁上的碰撞传感器。
19.根据权利要求18所述的装置,其中,所述判断模块进一步适于:
在机器人沿已探测到的障碍物行进的过程中,通过所述第一类传感器判断机器人的纵向中心轴的第一侧是否具有与机器人之间的距离小于预设距离阈值的障碍物;其中,所述已探测到的障碍物设置在所述机器人的纵向中心轴的第一侧;
若否,则确定所述第一类传感器未探测到障碍物;
所述控制模块进一步适于,若所述第一类传感器未探测到障碍物,控制所述机器人朝向所述纵向中心轴的第一侧行进;
所述判断模块进一步适于,若所述第一类传感器未探测到障碍物,判断所述第二类传感器是否检测到碰撞,若是,则确定所述纵向中心轴的第一侧存在不可见障碍物。
20.根据权利要求13-17任一所述的装置,其中,所述第二类传感器包括超声波传感器,所述控制模块进一步适于:
根据所述不可见障碍物与所述机器人之间的距离,调节所述机器人的行进速度。
21.根据权利要求12-17任一所述的装置,其中,所述判断模块进一步适于:
在机器人行进过程中,判断所述机器人上预设的悬崖传感器是否检测到悬崖,若是,则根据检测到的悬崖更新所述环境地图;
其中,所述悬崖传感器位于所述机器人的底部,用于根据检测到的垂直方向上的距离变化量判断是否存在悬崖。
22.根据权利要求12-17任一所述的装置,其中,所述不可见障碍物包括以下中的至少一个:玻璃、蜡烛、宽度小于预设阈值的物体、以及颜色属于预设颜色的物体。
23.一种机器人,包括权利要求12-22中任一项所述的根据障碍物更新环境地图的装置。
24.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-11中任一项所述的根据障碍物更新环境地图的方法对应的操作。
25.一种计算机存储介质,所述计算机存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-11中任一项所述的根据障碍物更新环境地图的方法对应的操作。
CN201711295320.4A 2017-12-08 2017-12-08 根据障碍物更新环境地图的方法、装置及机器人 Active CN108007452B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711295320.4A CN108007452B (zh) 2017-12-08 2017-12-08 根据障碍物更新环境地图的方法、装置及机器人

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711295320.4A CN108007452B (zh) 2017-12-08 2017-12-08 根据障碍物更新环境地图的方法、装置及机器人

Publications (2)

Publication Number Publication Date
CN108007452A CN108007452A (zh) 2018-05-08
CN108007452B true CN108007452B (zh) 2021-11-26

Family

ID=62057356

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711295320.4A Active CN108007452B (zh) 2017-12-08 2017-12-08 根据障碍物更新环境地图的方法、装置及机器人

Country Status (1)

Country Link
CN (1) CN108007452B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11009882B2 (en) 2018-01-12 2021-05-18 Pixart Imaging Inc. Method, system for obstacle detection and a sensor subsystem
CN108445878B (zh) * 2018-02-28 2022-04-01 北京奇虎科技有限公司 一种用于扫地机器人的障碍物处理方法和扫地机器人
EP3784449A1 (en) * 2018-05-30 2021-03-03 Sony Corporation Control apparatus, control method, robot apparatus and program
CN109405844A (zh) * 2018-09-29 2019-03-01 苏州博众机器人有限公司 一种贩售机器人巡游控制方法、装置、设备和介质
CN111240310A (zh) * 2018-11-13 2020-06-05 北京奇虎科技有限公司 机器人避障处理的方法、装置及电子设备
CN109916409B (zh) * 2019-03-25 2023-03-24 浙江大学昆山创新中心 一种静态地图自适应更新方法和装置
CN109895100B (zh) * 2019-03-29 2020-10-16 深兰科技(上海)有限公司 一种导航地图的生成方法、装置及机器人
EP3745157B1 (en) * 2019-05-31 2023-11-29 Aptiv Technologies Limited Method for detecting non-visible vehicles and system thereof
CN110673947B (zh) * 2019-08-12 2022-04-05 江苏博人文化科技有限公司 一种减少激光slam建图所需内存的方法
CN110908378B (zh) * 2019-11-28 2022-06-21 深圳乐动机器人有限公司 一种机器人沿边的方法及机器人
CN113806377B (zh) * 2020-06-12 2023-08-18 未岚大陆(北京)科技有限公司 地图更新方法、设备及存储介质
CN112150490B (zh) * 2020-09-30 2024-02-02 北京小狗吸尘器集团股份有限公司 图像检测方法、装置、电子设备和计算机可读介质
CN113029167A (zh) * 2021-02-25 2021-06-25 深圳市朗驰欣创科技股份有限公司 一种地图数据处理方法、地图数据处理装置及机器人
CN115525046A (zh) * 2021-06-24 2022-12-27 深圳乐动机器人股份有限公司 机器人及其沿边控制方法
CN114271729B (zh) * 2021-11-24 2023-01-10 北京顺造科技有限公司 透光物体探测方法、清洁机器人装置及地图构建方法
CN114326718A (zh) * 2021-12-14 2022-04-12 科沃斯商用机器人有限公司 地图构建方法、自移动机器人和存储介质
CN116548873A (zh) * 2022-01-28 2023-08-08 追觅创新科技(苏州)有限公司 地图处理方法、系统及自移动设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102138769A (zh) * 2010-01-28 2011-08-03 深圳先进技术研究院 清洁机器人及其清扫方法
DE102011000536A1 (de) * 2011-02-07 2012-08-09 Vorwerk & Co. Interholding Gmbh Verfahren zur Bestimmung der Position eines selbsttätig verfahrbaren Geräts
CN103064424A (zh) * 2012-12-24 2013-04-24 深圳市银星智能科技股份有限公司 一种用于移动平台在未知区域的覆盖方法
CN104916216A (zh) * 2015-06-26 2015-09-16 深圳乐行天下科技有限公司 一种地图构建方法及系统
CN106264359A (zh) * 2016-09-29 2017-01-04 苏州大学 清洁机器人及其避障方法
CN106530946A (zh) * 2016-11-30 2017-03-22 北京贝虎机器人技术有限公司 用于编辑室内地图的方法及装置
CN106595631A (zh) * 2016-10-25 2017-04-26 纳恩博(北京)科技有限公司 一种躲避障碍物的方法及电子设备
CN107518833A (zh) * 2017-10-12 2017-12-29 南京中高知识产权股份有限公司 一种扫地机器人的障碍物识别方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102138769A (zh) * 2010-01-28 2011-08-03 深圳先进技术研究院 清洁机器人及其清扫方法
DE102011000536A1 (de) * 2011-02-07 2012-08-09 Vorwerk & Co. Interholding Gmbh Verfahren zur Bestimmung der Position eines selbsttätig verfahrbaren Geräts
CN103064424A (zh) * 2012-12-24 2013-04-24 深圳市银星智能科技股份有限公司 一种用于移动平台在未知区域的覆盖方法
CN104916216A (zh) * 2015-06-26 2015-09-16 深圳乐行天下科技有限公司 一种地图构建方法及系统
CN106264359A (zh) * 2016-09-29 2017-01-04 苏州大学 清洁机器人及其避障方法
CN106595631A (zh) * 2016-10-25 2017-04-26 纳恩博(北京)科技有限公司 一种躲避障碍物的方法及电子设备
CN106530946A (zh) * 2016-11-30 2017-03-22 北京贝虎机器人技术有限公司 用于编辑室内地图的方法及装置
CN107518833A (zh) * 2017-10-12 2017-12-29 南京中高知识产权股份有限公司 一种扫地机器人的障碍物识别方法

Also Published As

Publication number Publication date
CN108007452A (zh) 2018-05-08

Similar Documents

Publication Publication Date Title
CN108007452B (zh) 根据障碍物更新环境地图的方法、装置及机器人
KR102226350B1 (ko) 자율 시각 내비게이션
US20200049511A1 (en) Sensor fusion
CN110441790B (zh) 激光雷达系统中的方法和装置串扰和多径降噪
CN111201448B (zh) 用于产生反演传感器模型的方法和设备以及用于识别障碍物的方法
US10325163B2 (en) Vehicle vision
WO2018061084A1 (ja) 自己位置推定方法及び自己位置推定装置
JP2020185968A (ja) 車両制御装置、車両制御方法、およびプログラム
CN112539749B (zh) 机器人导航方法、机器人、终端设备及存储介质
Jaspers et al. Multi-modal local terrain maps from vision and lidar
CN109917791B (zh) 移动装置自动探索构建地图的方法
JP7032062B2 (ja) 点群データ処理装置、移動ロボット、移動ロボットシステム、および点群データ処理方法
JP2021076422A (ja) 物体認識方法及び物体認識装置
JP2008276731A (ja) 自律移動体の経路設定装置
Roberts et al. Obstacle detection for a mining vehicle using a 2D laser
JP6267430B2 (ja) 移動体の環境地図生成制御装置、移動体、及び移動体の環境地図生成方法
JP2021095078A (ja) 車線変更決定装置
JP2021047609A (ja) 周辺認識装置、周辺認識方法、およびプログラム
JP2020147241A (ja) 車両制御装置、車両制御方法、及びプログラム
JP7363835B2 (ja) 物体認識システム及び物体認識方法
CN115444328B (zh) 障碍物探索方法、清洁机器人及存储介质
CN114212106B (zh) 一种车辆的可行驶区域内安全概率的确定方法及装置
WO2021065212A1 (ja) 情報処理装置、情報処理方法、及びプログラム
JP7401273B2 (ja) 移動体の制御装置及び方法
US20230341558A1 (en) Distance measurement system

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