CN116069010A - 基于激光点的机器人悬空判断方法、地图更新方法及芯片 - Google Patents
基于激光点的机器人悬空判断方法、地图更新方法及芯片 Download PDFInfo
- Publication number
- CN116069010A CN116069010A CN202111299994.8A CN202111299994A CN116069010A CN 116069010 A CN116069010 A CN 116069010A CN 202111299994 A CN202111299994 A CN 202111299994A CN 116069010 A CN116069010 A CN 116069010A
- Authority
- CN
- China
- Prior art keywords
- laser
- laser beam
- point
- grid
- beam simulation
- 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
- 238000000034 method Methods 0.000 title claims abstract description 74
- 239000000725 suspension Substances 0.000 title claims abstract description 31
- 238000004088 simulation Methods 0.000 claims abstract description 178
- 230000004888 barrier function Effects 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 11
- 230000006870 function Effects 0.000 description 42
- 238000004140 cleaning Methods 0.000 description 41
- 238000001514 detection method Methods 0.000 description 9
- 230000033001 locomotion Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000010408 sweeping Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000000523 sample Substances 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000006698 induction Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 229910052782 aluminium Inorganic materials 0.000 description 1
- XAGFODPZIPBFFR-UHFFFAOYSA-N aluminium Chemical compound [Al] XAGFODPZIPBFFR-UHFFFAOYSA-N 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000009194 climbing Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 229910052742 iron Inorganic materials 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 150000002739 metals Chemical class 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 229920003023 plastic Polymers 0.000 description 1
- 239000004033 plastic Substances 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明公开基于激光点的机器人悬空判断方法、地图更新方法及芯片,该机器人悬空判断方法包括控制激光传感器发射的激光束扫描待探测区域,获取激光束模拟线段;同时获取预先构建的栅格地图;根据激光束模拟线段在测距误差允许范围内经过的障碍物栅格的数目,获取具备判断作用的激光束模拟线段,并对具备判断作用的激光束模拟线段进行计数;根据具备判断作用的激光束模拟线段的数目在所有激光束模拟线段的数目中所占的比值,判断移动机器人是否处于悬空状态,或判断所述移动机器人在其行进平面的前方是否存在变为悬空状态的趋势。
Description
技术领域
本发明涉及栅格地图优化处理的技术领域,特别是基于激光点的机器人悬空判断方法、悬空规避方法及芯片。
背景技术
在家居环境下,移动机器人的行进平面可能存在台阶、斜坡等不平坦平面,所以,移动机器人在运行中会出现被抬起或跌落的情况,此时,对于用激光定位的移动机器人,其驱动轮会离地悬空,让移动机器人脱离了原来的运行平面,而该移动机器人仍然持续建图。
目前,虽然利用跌落传感器去检测驱动轮的抬起现象、利用悬崖传感器去检测驱动轮的跌落现象,但在检测到抬起时,移动机器人已经悬在空中,会采集到几帧错误激光点云并叠加到预先构建的地图上,引起地图重叠或地图模糊。具体地,移动机器人在越障(跨越低矮的玩具障碍物、斜坡、门槛)时,由于本身的高度增加有可能扫射到墙体以外的激光点云信息,这样叠加到预先构建的地图后,可能会出现原本应该是阻挡机器人前进的墙体障碍物却变为墙体背面的点云信息的现象;另外,移动机器人在从台阶上跌落时,由于探测的高度降低有可能扫射到水平地面的激光点云信息,这样叠加到预先构建的地图后,实际获得的定位信息全是水平地面的点云信息。从而在地图中实际标记的是目标探测区域以外的位置信息,引起地图重叠或地图模糊,从而影响移动机器人使用地图进行正常的导航定位。
发明内容
机器人在其行进平面中可能被抬升或跌落的场景下,为了克服由于现有技术中的相关检测方法滞后或一些无法检测场景引起的地图重叠模糊问题,本发明结合激光点云和栅格地图,判断机器人可能被抬起、跌落的情况并及时调整地图的更新策略,避免出现构建的地图与真正需要探测的区域不符的现象。具体的技术方案如下:
基于激光点的机器人悬空判断方法,该机器人悬空判断方法适用于安装有激光传感器的移动机器人,机器人悬空判断方法包括控制激光传感器发射的激光束扫描待探测区域,获取激光束模拟线段;同时获取预先构建的栅格地图;根据激光束模拟线段在测距误差允许范围内经过的障碍物栅格的数目,获取具备判断作用的激光束模拟线段,并对具备判断作用的激光束模拟线段进行计数;根据具备判断作用的激光束模拟线段的数目在所有激光束模拟线段的数目中所占的比值,判断移动机器人是否处于悬空状态。
进一步地,所述根据具备判断作用的激光束模拟线段的数目在所有激光束模拟线段的数目中所占的比值,判断移动机器人是否处于悬空状态的方法包括控制所述激光束在所述栅格地图中映射为所述激光束模拟线段,其中,在获取一帧激光点云时,所述激光传感器在所述待探测区域内的位置是不变的;在所述一帧激光点云内,当获取的所述具备判断作用的激光束模拟线段的数目与映射出的所有激光束模拟线段的数目的比值小于或等于预设比值阈值时,确定所述移动机器人不处于悬空状态;在所述一帧激光点云内,当获取的所述具备判断作用的激光束模拟线段的数目与映射出的所有激光束模拟线段的数目的比值大于预设比值阈值时,确定所述移动机器人处于悬空状态。
进一步地,所述悬空状态包括所述移动机器人的机体前侧部分被倾斜抬升,以确定移动机器人在移动过程中相对于当前行进平面被抬升,且让所述移动机器人的驱动轮变为悬空状态;所述悬空状态还包括所述移动机器人的机体前侧部分向下倾斜,以确定移动机器人在移动过程中相对于当前行进平面出现跌落,且让所述移动机器人的驱动轮变为悬空状态。
进一步地,所述激光束模拟线段在测距误差允许范围内经过的障碍物栅格的来源是在所述栅格地图内,沿着激光点指向观测点的直线方向,将与该激光点相距一个预设误差距离的点设置为目标定位点;其中,观测点与激光点的连线是所述激光束模拟线段;观测点是所述激光传感器在所述栅格地图中标记的位置;然后,在排除掉观测点所处的栅格和目标定位点所处的栅格的前提下,将观测点与目标定位点的连线经过的障碍物栅格标记为预配置障碍栅格,并确定所述预配置障碍栅格是所述激光束模拟线段在测距误差允许范围内经过的障碍物栅格;其中,障碍物栅格是所述待探测区域内的障碍物在所述栅格地图内对应占据的栅格。
进一步地,当所述观测点位于栅格的边上时,所述观测点所处的栅格是所述激光束模拟线段沿着其激光观测方向经过的第一个栅格;其中,激光观测方向是所述观测点指向所述激光点的直线方向,以形成所述激光束模拟线段的激光观测方向;当所述目标定位点位于栅格的边上时,所述目标定位点所处的栅格是所述目标定位点与所述激光点的连线沿着所述激光观测方向经过的第一个栅格。
进一步地,所述根据激光束模拟线段在测距误差允许范围内经过的障碍物栅格的数目,获取具备判断作用的激光束模拟线段的方法包括在所述激光束模拟线段中,沿着所述观测点与所述目标定位点的连线,对该连线穿过的所述预配置障碍栅格进行计数,当判断到所述预配置障碍栅格的计数值大于预设数量阈值时,将所述观测点与所述目标定位点的连线所在的激光束模拟线段设置为具备判断作用的激光束模拟线段,进而将所述观测点指向所述目标定位点的直线方向所对应的一条激光束标记为所述具备判断作用的激光束。
进一步地,所述机器人悬空判断方法还包括:所述观测点与所述目标定位点的连线不经过障碍物栅格时,不将所述目标定位点和所述观测点所处的激光束模拟线段设置为所述具备判断作用的激光束模拟线段,则当前获取的所述具备判断作用的激光束模拟线段的数目增量为0。
进一步地,所述机器人悬空判断方法还包括:所述目标定位点与所述激光点的连线长度大于所述观测点与同一个激光点的连线长度时,不将所述激光点和所述观测点所处的激光束模拟线段设置为所述具备判断作用的激光束模拟线段,则当前获取的所述具备判断作用的激光束模拟线段的数目增量为0。
进一步地,当所述观测点与所述激光点的连线长度小于预设阈值长度时,所述预设误差距离是固定值;当所述观测点与所述激光点的连线长度大于或等于预设阈值长度时,所述预设误差距离与所述激光束模拟线段的长度呈正相关关系。
进一步地,所述激光点处于栅格的方式包括所述激光点位于该栅格的四条边围成的区域内、以及所述激光点位于所述栅格的边上,以反映出被扫描物体的二维位置信息;其中,在所述一帧激光点云内,观测点是固定的,一个目标定位点对应一个激光点,一条激光束对应一个激光点,一条激光束模拟线段对应一个激光点,一条激光束对应一条激光束模拟线段。
进一步地,所述机器人悬空判断方法还包括控制所述激光束在待探测区域内反射的激光信息转换为所述栅格地图中的激光点,其中,激光点用于表示被扫描的位置点落入所述栅格地图中的定位点;每当所述激光束在所述待探测区域内旋转一圈,则将转换出的激光点组成所述一帧激光点云;其中,一条激光束对应一个激光点,一个扫描角度对应一个激光点;在所述栅格地图中,将一个观测点与一个激光点之间的连线设置为所述激光束模拟线段,则确定所述激光束在所述栅格地图中映射为所述激光束模拟线段,使得一条激光束模拟线段对应一个激光点;其中,观测点是所述激光传感器在所述栅格地图中标记的位置,用于表示激光束的发射起点,并标记为移动机器人的当前位置。
一种基于激光点的地图更新方法,所述地图更新方法包括所述的机器人悬空判断方法;所述地图更新方法还包括在所述一帧激光点云内,当获取的所述具备判断作用的激光束模拟线段的数目与映射出的所有激光束模拟线段的数目的比值小于或等于预设比值阈值时,将所述一帧激光点云所携带的信息更新为栅格地图中对应命中的栅格的相关联信息,以实现在所述待探测区域内对预先构建的栅格地图的更新;在所述一帧激光点云内,当获取的所述具备判断作用的激光束模拟线段的数目与映射出的所有激光束模拟线段的数目的比值等于预设比值阈值时,停止对所述栅格地图进行更新。
进一步地,所述将所述一帧激光点云所携带的信息更新为栅格地图中对应命中的栅格的相关联信息的方法包括将所述一帧激光点云所携带的位姿信息更新为栅格地图中对应命中的栅格的位置信息,以实现配置出相应的激光点在栅格地图中最新命中的栅格;其中,所述一帧激光点云中存在的激光点是所述待探测区域内的被扫描的位置点转换到栅格地图的坐标系下的坐标点,其中,激光点所携带的位姿信息包括角度信息和距离信息;同时,将所述被扫描的位置点处的障碍物落入所述栅格地图的对应栅格位置处的概率信息更新为所述激光点在所述栅格地图中对应命中的栅格的概率信息。
进一步地,所述激光点在所述栅格地图中对应命中的栅格是与所述被扫描的位置点的定位误差最小的栅格,包括所述激光点所处的栅格的一个邻域栅格、或所述激光束模拟线段经过且与所述激光点相距一个合理距离的点所处的栅格。
一种芯片,所述芯片通过执行内部存储的算法程序代码,来实现所述的机器人悬空判断方法,和/或所述的地图更新方法。
与现有技术相比,本发明的有益技术效果在于,基于一帧激光点云对应的激光束在栅格地图中所经过障碍物栅格的数量及比值信息,在更新地图之前判断出机器人在所述待探测区域内移动是否会变为悬空状态或是否存在变为悬空状态的趋势,而不是在机器人已经变为悬空状态且实时更新相应地图的场景下进行实时判断,在获知相应的机器人行为状态信息或其行进平面前方出现的行为状态趋势的基础上再决策地图的构建方式,决策对预先构建的栅格地图进行更新,避免机器人被抬升或跌落的场景下实时构建的地图出现地图重叠模糊以无法反映机器人真正工作区域,使得机器人能够继续使用当前构建的栅格地图进行导航定位。
附图说明
图1 是本发明的一实施例公开的基于激光点的机器人悬空判断方法的流程图。
图2是本发明的又一实施例公开的基于激光点的地图更新方法的流程图。
图3是本发明的一实施例公开的激光束模拟线段在栅格地图中经过障碍物栅格的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细描述。
本发明实施例提供基于激光点的机器人悬空判断方法可以应用于移动机器人,尤其是在室内环境下工作的移动机器人,例如扫地机器人、巡检机器人、无人采样机器人、无人叉车等等。其中,移动机器人包括机器人主体、传感器、控制器和行走机构,机器人主体是机器人的主体结构,可以根据机器人的实际需要,选用相应的形状结构及制造材质(如硬质塑料或者铝、铁等金属) ,例如设置为扫地机器人常见的较为扁平的圆柱形。行走机构设置于机器人主体上,是为移动机器人提供移动能力的结构装置。该行走机构具体可以采用任何类型的移动装置实现,例如滚轮、履带式等。传感器用于感知外部环境,获得周围环境的深度信息(例如机器人周围环境的二维点云图)。传感器具体可以采用现有任何类型的深度信息采集设备,包括但不限于激光传感器和RGBD摄像机。传感器可以设置为一个或者多个,以满足0至360度的角度全方向探测范围。
以清洁机器人为例进行说明,清洁机器人的机体内部安装一个控制器,清洁机器人的左右两侧各安装一个驱动轮;移动机器人的机体顶部安装激光传感器,比如激光雷达,作为移动机器人的导航定位装置;这个控制器分别与驱动轮、激光传感器存在电性连接。清洁机器人的主体包括前向部分和后向部分,具有近似圆形形状(前后都为圆形),也可具有其他形状,包括但不限于前方后圆的近似D形形状或前方后方的矩形或正方形形状。
在一些实施例中,设置于清洁机器人的主机的前向部分上的碰撞传感器、近距离传感器,设置于清洁机器人主体下部的悬崖传感器,以及设置于清洁机器人主体内部的控制器、磁力计、加速度计、陀螺仪(Gyro)、以及安装在驱动轮内部的里程计(ODO ,全称odograph)、安装在左右驱动轮与机体的底盘连接的槽位内的跌落传感器等传感装置,用于向控制器提供机器的各种位置信息和运动状态信息。
清洁机器人的行进平面的前方可能存在台阶、斜坡等不平坦平面。现有技术中,清洁机器人可以通过自身的前侧底部安装的悬崖传感器对前方路面进行探测,并给出精确反馈以免跌入悬崖,进而基于反馈信号给出的行进平面与机体底部的相对深度,去探测清洁机器人的机体前侧部分是否被抬升;清洁机器人的底部边缘与每个驱动轮之间的轮组安装槽位安装一个跌落传感器,这个跌落传感器与对应的驱动轮同步升降,当清洁机器人因爬坡或被斜管抬升而倾斜呈一倾角时,驱动轮没有受到外部地面(当前的行进平面)的抵触,从而触发跌落传感器产生感应信号,传送给清洁机器人内部的控制器,作出清洁机器人的对应一侧的驱动轮悬空的判断。
所述驱动轮具有一弹簧部件,以可移动的方式紧固到机体上,例如以可旋转方式附接到清洁机器人的底盘,且接收向下抵顶力,弹簧部件允许驱动轮以一定的着地力维持与地面的抵顶作用及可由其弹力得到缓冲,所述跌落传感器作为一种限位开关,可以在弹簧部件抵顶作用下按压限位开关,使得所述跌落传感器具备触发的物理接触条件,同时清洁机器人的清洁元件也以一定的压力接触地面。所述控制器可基于具有距离和角度信息(例如x 、y及z分量)的驱动命令而操纵清洁机器人跨越不同类型的地面行进。所述控制器包含驱动轮模块,驱动轮模块可以同时控制左驱动轮和右驱动轮,为了更为精确地控制清洁机器人的运动,优选地,驱动轮模块包括左驱动轮模块和右驱动轮模块,左驱动轮模块和右驱动轮模块沿着由机体界定的横向轴对称设置。为了清洁机器人能够在地面上更为稳定地运动或者更强的运动能力,清洁机器人可以包括一个或者多个从动轮,从动轮包括但不限于用于改变转向的万向轮。驱动轮模块包括驱动轮、驱动马达以及控制驱动马达的控制电路,驱动轮模块还可以连接测量驱动电流的电路、里程计和跌落传感器,使得机体被抬起时或踩空跌落时就触发跌落传感器。虽然可以使用前述相关的传感器检测出机器人被倾斜抬升或跌落的情况,但是在机器人检测到相应的行为时已经将实时采集的点云信息构建到栅格地图上,但是采集不到原探测范围内的物体,而是使用其余高度的物体特征代替掉。
在一些情况下,清洁机器人在越障(跨越低矮的玩具障碍物、斜坡、门槛)时,由于本身的高度增加有可能扫射到比预先设置的行进平面更高的位置处图像,使得清洁机器人在越障时可能探测到当前工作区域以外图像,比如,当清洁机器人工作的房间墙体较矮,清洁机器人在越障时,由于本身的高度增加有可能扫射到墙体以外的图像,当前受探测的障碍物位置在即时构建出的栅格地图中会标记出当前工作区域以外的图像,地图会叠加上相应的错误的点云信息,容易引起机器人的定位误判,无法区分出真正需要工作的区域。这样一来,清洁机器人,如扫地机器人,在家庭室内进行清扫时,通过遍历整个户型区域的方式完成清扫,会反复进出同一个房间,或在不同房间之间交替出现,需要反复多次进出才能完成对一个房间的清扫任务,从而直接导致清扫效率低,间接导致重复清扫、漏扫等现象,降低用户体验度。
需要说明的是,激光点云构成的环境地图需要按照预先设定的栅格大小划分后可以得到栅格地图,栅格地图中包括多个栅格。例如,按照0.2*0.2m的正方形大小划分环境地图,得到栅格大小为0.2*0.2m的栅格地图。所述控制器是内置于机器人主体中的电子计算核心,用于执行逻辑运算步骤以实现机器人的智能化控制。所述控制器与激光传感器连接,用于根据激光传感器采集的周围环境的深度信息,执行预设的算法进行地图构图而获得地图图像。在所述地图图像中,为便于区分,通常障碍物具有不同于其他区域的像素值,例如在其中一些实施例中,障碍物的像素值和地面的像素值设置在同一像素值范围内,以反映出移动机器人被倾斜抬升时因机体的高度增加而扫射到墙体以外的激光点云信息、以及移动机器人从台阶上跌落时由于探测的高度降低有可能扫射到水平地面的激光点云信息。
为了克服由于现有技术中的相关检测方法滞后或一些无法检测场景引起的地图重叠模糊问题,本发明实施例公开基于激光点的机器人悬空判断方法,该机器人悬空判断方法适用于安装有激光传感器的移动机器人,本实施例将一个激光传感器固定地安装在移动机器人的机体上,用于进行0至360度的全方向探测,以获取移动机器人周围的环境信息。如图1所示,机器人悬空判断方法包括:
步骤S101、控制激光传感器发射的激光束扫描待探测区域,获取激光束模拟线段;同时获取预先构建的栅格地图;然后进入步骤S102。需要说明的是,激光传感器的激光头以匀速旋转的方式去探测其周围的环境;激光传感器就是使用激光束对所述待探测区域的空间范围内进行按角度扫描,每一个角度对应一个激光点,所用角度的激光点加在一起是一帧点云;激光传感器发射的一条或多条激光束重复地扫描同一个所述待探测区域,则将所有的激光束旋转一圈获取的点云或一条激光束旋转一圈而采集的点云组成一帧激光点云。但是,同时获取的栅格地图是预先构建的,没有将实时采集的激光点云转换到该栅格地图内,使得这个预先构建的栅格地图没有反映出所述移动机器人实时采集的环境信息。
步骤S102、根据步骤S101所述的激光束模拟线段在测距误差允许范围内经过的障碍物栅格的数目,获取具备判断作用的激光束模拟线段,并对具备判断作用的激光束模拟线段进行计数;然后进入步骤S103。在步骤S102中,存在着对步骤S101所述的激光束模拟线段在栅格地图内实际遍历过的对于后续参与判断的障碍物栅格的数目进行统计,理解为每一条所述激光束模拟线段对其经过的相应类型的障碍物栅格的访问频数,而不是对同一个障碍物栅格的访问频数,以获得所述激光束模拟线段在所述测距误差允许范围内经过的障碍物栅格的数目,则间接获得所述激光束模拟线段对应的路线上的可通行性;当计数获得的障碍物栅格的数目越少,则所述激光束模拟线段对应的路线上的可通行性越好;当计数获得的障碍物栅格的数目越多,则所述激光束模拟线段对应的路线上的可通行性越差;从而反映出模拟移动机器人沿着所述激光束模拟线段指示的方向移动的顺畅度,以及所述移动机器人的周围环境的可通行性;再在此基础上,对所述具备判断作用的激光束模拟线段进行计数,用于后续的悬空状态的判断。
步骤S103、根据步骤S102获取的具备判断作用的激光束模拟线段的数目在所有激光束模拟线段的数目中所占的比值,判断所述移动机器人是否处于悬空状态,或判断所述移动机器人在其行进平面的前方是否存在变为悬空状态的趋势,以及时调整前述的栅格地图的更新策略,即在判断到移动机器人处于悬空状态时,不执行对在先构建的栅格地图进行更新,以避免地图中标记出错误的定位信息;或判断到所述移动机器人的行进平面的前方存在变为悬空状态的趋势,即判断到所述移动机器人的行进平面的前方是悬崖面、台阶面或坡面以使其变为悬空状态时,不执行对在先构建的栅格地图进行更新,以避免地图中标记出错误的定位信息;在判断到移动机器人没有处于悬空状态且判断到所述移动机器人的行进平面的前方不存在变为悬空状态的趋势时,执行对在先构建的栅格地图进行更新,以在地图中标记出机器人真正工作的区域位置信息。其中,具备判断作用的激光束模拟线段的数目与所有激光束模拟线段的数目的比值大小关系确定所述移动机器人所处的悬空状态或判断其行进平面的前方是否会变为悬空状态的趋势,包括移动机器人处于被倾斜抬升的状态还是处于跌落的状态,实现以所有可探测方向上的障碍物栅格的遍历频率(前述的比值)来判断所述移动机器人所处的状态或预测其前进方向上的运动趋势。综上可以更有效地调整地图的实时定位信息,为机器人克服悬空状态后规划新的导航路径创造条件,到达真正需要工作的区域。
作为一种实施例,所述根据具备判断作用的激光束模拟线段的数目在所有激光束模拟线段的数目中所占的比值,判断移动机器人是否处于悬空状态,或判断所述移动机器人在其行进平面的前方是否存在变为悬空状态的趋势的方法包括:
控制所述激光束在所述栅格地图中映射为所述激光束模拟线段,以实现获取激光束模拟线段,其中,在获取一帧激光点云时,所述激光传感器在所述待探测区域内的位置是不变的;本实施例将采集的一帧激光点云所需的激光束全部转换为所述栅格地图内激光束模拟线段,即将当前一帧激光点云都映射为激光束模拟线段,再从映射出的激光束模拟线段中判断出具备判断作用的激光束模拟线段并对这一类的激光束模拟线段进行计数;其中涉及的映射关系为,当前采集的一帧激光点云内的每一个激光点都能够对应一条激光束,使得每一个激光点都能够对应一条激光束模拟线段,并及时转换到所述预先构建的栅格坐标系内。
在所述一帧激光点云内,即在一帧激光点云对应的激光点约束范围内,当通过前述的步骤S102获取的所述具备判断作用的激光束模拟线段的数目与映射出的所有激光束模拟线段的数目的比值小于或等于预设比值阈值时,确定所述移动机器人不处于悬空状态或确定所述移动机器人的行进平面的前方不存在变为悬空状态的趋势;这里涉及到对多个激光束的可探测方向上的激光点对应的激光束模拟线段进行该比值的判断;需要说明的是,所述预设比值阈值是移动机器人在被抬升或被跌落场景下,利用实时采集的激光点云构建栅格地图而获得的实验结果,是属于在所述待探测区域内反复实验而获得的频率阈值信息,以区分在平坦的行进平面上采集的激光点云所构建的栅格地图信息。
在所述一帧激光点云内,即在一帧激光点云对应的激光点约束范围内,当通过前述的步骤S102获取的所述具备判断作用的激光束模拟线段的数目与映射出的所有激光束模拟线段的数目的比值大于预设比值阈值时,确定所述移动机器人处于悬空状态,或确定所述移动机器人的行进平面的前方存在变为悬空状态的趋势,即确定出移动机器人的前方的行进平面是斜坡面、台阶面或悬崖面。值得注意的是,判断到所述移动机器人的行进平面的前方存在变为悬空状态的趋势时,确定机器人还没有移动至发生悬空的区域,需要及时停止将实时采集的激光点云更新至栅格地图上,避免依据更新后的栅格地图引导移动机器人往错误的区域运动,而远离真正工作的区域(视为预先设置的目标工作区域)。其中,涉及到对多个激光束的可探测方向上的激光点对应的激光束模拟线段都参与该比值的判断;具体地,所述悬空状态包括所述移动机器人的机体前侧部分被倾斜抬升,以确定移动机器人在移动过程中相对于当前行进平面被斜坡抬升或在越障过程中被倾斜抬升,且让所述移动机器人的驱动轮脱离外部地面(当前的行进平面)的抵触,变为悬空状态;所述悬空状态还包括所述移动机器人的机体前侧部分向下倾斜,以确定移动机器人在移动过程中相对于当前行进平面出现跌落,且让所述移动机器人的驱动轮脱离外部地面(当前的行进平面)的抵触,变为悬空状态,从而跌落入当前行进平面的下方。
综上,在所述一帧激光点云内,每有一条激光束模拟线段具备所述具备判断作用,则所述具备判断作用的激光束模拟线段的数目的访问频数加1,在遍历完所述一帧激光点云时,即遍历完所有可探测方向上的激光束模拟线段时,所述具备判断作用的激光束模拟线段对应具备一个访问频率,从而形成相应一种类型的激光束的频率信息,以实现在栅格地图的层面对机器人的实际悬空状态或其行进平面的前方面临的悬空状态进行判断,起到对机器人的可通行性的预测效果,从而更有效地调整地图的实时定位信息,为机器人克服悬空状态后规划新的导航路径创造条件,从而到达真正需要工作的区域。
作为一种实施例,结合图3可知,所述激光束模拟线段在测距误差允许范围内经过的障碍物栅格的来源是:
在所述栅格地图内,沿着激光点指向观测点的直线方向,将与该激光点相距一个预设误差距离的点设置为目标定位点;其中,观测点与激光点的连线是所述激光束模拟线段;观测点是所述激光传感器在所述栅格地图中标记的位置。图3示的栅格地图中的各个栅格规整地排布,栅格地图中的各个栅格以行和列的方式规整的排布,将点O作为机器人的激光传感器占据的栅格位置,即所述观测点;图3的N1点是一个激光点,其中,当该激光点处于一个栅格的四条边围成的区域内,则表示该栅格是该激光点所处的栅格;则点O与点N1的连线是所述激光束模拟线段,形成激光束模拟线段ON1;本实施例在激光束模拟线段ON1上,将点M1设置为目标定位点,其中,线段M1N1的长度是等于所述预设误差距离;优选地,当所述观测点O与所述激光点N1的连线长度ON1小于预设阈值长度时,所述预设误差距离是固定值;当所述观测点O与所述激光点N1的连线长度ON1大于或等于预设阈值长度时,所述预设误差距离与所述激光束模拟线段的长度呈正相关关系;其中,所述预设阈值长度的具体数值因实际使用的激光传感器的规格参数而异。
然后,在排除掉观测点所处的栅格和目标定位点所处的栅格的前提下,将观测点与目标定位点的连线经过的障碍物栅格标记为预配置障碍栅格,并确定所述预配置障碍栅格是所述激光束模拟线段在测距误差允许范围内经过的障碍物栅格;其中,障碍物栅格是所述待探测区域内的障碍物在所述栅格地图内对应占据的栅格。在图3示的栅格地图中,在线段OM1上,除了观测点O所在的栅格和目标定位点M1所在的栅格之外,线段OM1在栅格地图内所穿越的所有栅格在图3中以X标识,其中,对于标为X的栅格,本实施例将其进行二值化处理,检测到X=0时,表示此栅格为空白栅格或未知栅格;检测到X=1时,表示此栅格为障碍物栅格,即所述预配置障碍栅格,此时实现将观测点O与目标定位点M1的连线经过的障碍物栅格标记为所述预配置障碍栅格。
作为一种实施例,当所述目标定位点位于栅格的边上时,所述目标定位点所处的栅格是所述目标定位点与所述激光点的连线沿着其激光观测方向经过的第一个栅格;其中,激光观测方向是所述观测点指向所述激光点的直线方向,以形成所述激光束模拟线段的激光观测方向;在图3示的栅格地图中,N2点是另一个激光点,其中,激光点N2处于一个栅格的四条边围成的区域内,则表示该栅格是激光点N2所处的栅格;则点O与点N2的连线形成一条激光束模拟线段;本实施例在激光束模拟线段ON2上,将点M2设置为目标定位点,其中,线段M2N2的长度是等于所述预设误差距离;所述激光束模拟线段ON2的激光观测方向是所述观测点O指向所述激光点N2的直线方向,即所述激光束模拟线段ON2的箭头指示的方向;如图3所示,目标定位点M2恰好位于栅格的边上,目标定位点M2所处的栅格是线段M2N2沿着所述激光观测方向(所述激光束模拟线段ON2的箭头)经过的第一个栅格,相应地,在图3所示的地图坐标系中,以栅格的左下角点的坐标来表示此栅格的坐标,则激光点N2所处的栅格的坐标是(1,4),则目标定位点M2所处的栅格的坐标也是(1,4)。从而沿着激光观测方向或所述激光束模拟线段,从激光点的周围区域内搜索出其所处的栅格,贴近实际的物理位置,提高激光点定位的有效性。
作为一种实施例,当所述观测点位于栅格的边上时,所述观测点所处的栅格是所述激光束模拟线段沿着其激光观测方向经过的第一个栅格;其中,激光观测方向是所述观测点指向所述激光点的直线方向,以形成所述激光束模拟线段的激光观测方向;结合前述实施例可知,当点O与点N2的连线形成一条激光束模拟线段时,所述激光束模拟线段ON2的激光观测方向是所述观测点O指向所述激光点N2的直线方向,即所述激光束模拟线段ON2的箭头指示的方向,所述观测点O所处的栅格是所述激光束模拟线段ON2沿着其激光观测方向经过的第一个栅格,若将图3表示的观测点平移至坐标为(3,1)的栅格的正下方的一条边上时,若所述激光点N2的位置保持不变,则所述观测点O所处的栅格可以是坐标为(3,1)的栅格或坐标为(2,1)的栅格。对于所述观测点所处的栅格的确定方式的具体技术效果与上述实施例相似。
具体地,若获得栅格的列序号为s0,且获得栅格的行序号为h0,则在图3所示的栅格地图中,栅格的邻域栅格是存在于行序号的数值范围是[h0-1,h0+1]且列序号的数值范围是[s0-1,s0+1]的栅格,其中,s0是整数,h0是整数。在图3所示的栅格地图内,图3的目标定位点M1所处的栅格的列序号是7,图3的目标定位点M1所处的栅格的行序号是3;在图3所示的栅格地图内,图3的激光点N1所处的栅格的列序号是7,图3的目标定位点N1所处的栅格的行序号是4;图3的观测点O所处的栅格的列序号是3,图3的观测点O所处的栅格的行序号是1;图3的目标定位点M2所处的栅格的列序号是1,图3的目标定位点M2所处的栅格的行序号是4;在图3所示的栅格地图内,图3的激光点N2所处的栅格的列序号是1,图3的激光点N2所处的栅格的行序号是4。在本实施例公开的栅格地图的地图坐标系中,每个栅格的坐标是该栅格的左下角点的坐标表示,其中,该栅格的左下角点的坐标用于表示该栅格在所述栅格地图中的行序号和列序号,横坐标等于列序号,纵坐标等于行序号。如图3的栅格地图所示,从左到右遍历栅格,列序号逐步递增;从下到上遍历栅格,行序号逐步递增。从而保证所述栅格地图内逐个栅格连接生成的路径是连续的。为便于理解,在图3所示的地图坐标系中,都是以栅格的左下角点的坐标来表示此栅格的坐标。
作为一种实施例,所述根据激光束模拟线段在测距误差允许范围内经过的障碍物栅格的数目,获取具备判断作用的激光束模拟线段的方法包括:
在所述激光束模拟线段中,沿着所述观测点与所述目标定位点的连线,对该连线穿过的所述预配置障碍栅格进行计数;相应地,对图3所示的线段OM1中,除了两个端点所处的栅格之外,对其余部分经过的障碍物栅格进行计数,可以是沿着所述观测点O指向所述目标定位点M1的方向,逐个障碍物栅格地进行计数,获得激光束模拟线段ON1上的预配置障碍栅格的数目,或是获得线段OM1上的预配置障碍栅格的计数值,其中,所述观测点O与所述目标定位点M1的连线位于激光测距线段ON1上。同时,对图3所示的线段OM2中,除了两个端点所处的栅格之外,对其余部分经过的障碍物栅格进行计数,可以是沿着所述观测点O指向所述目标定位点M2的方向,逐个障碍物栅格地进行计数,获得激光束模拟线段ON2上的预配置障碍栅格的数目,或是获得线段OM2上的预配置障碍栅格的计数值,其中,所述观测点O与所述目标定位点M2的连线位于激光测距线段ON2上。
对于一条所述激光束模拟线段,具体是针对一个方向上的激光束模拟线段,当判断到所述预配置障碍栅格的计数值大于预设数量阈值时,将所述观测点与所述目标定位点的连线所在的激光束模拟线段设置为具备判断作用的激光束模拟线段,则在所述一帧激光点云内获取到所述具备判断作用的激光束模拟线段,进而将所述观测点指向所述目标定位点的直线方向所对应的一条激光束标记为所述具备判断作用的激光束。即在所述一帧激光点云内,每当沿着一条所述激光束模拟线段判断到所述预配置障碍栅格的计数值大于预设数量阈值时,将所述观测点与所述目标定位点的连线所在的激光束模拟线段设置为具备判断作用的激光束模拟线段,从而获得一条具备判断作用的激光束模拟线段,作为所述一帧激光点云内新确定的一条具备判断作用的激光束模拟线段或一条具备判断作用的激光束,从而提取出遍历过足够多的障碍物的激光束模拟线段,可以表示移动机器人沿着所述观测点与所述目标定位点的连线移动过程中所探测到的障碍物的数量,进而实现模拟移动机器人沿着所述激光束模拟线段移动过程中与障碍物的碰触情况、和障碍物在相应的激光观测方向上的数目及其分布特征。因此,所述激光束模拟线段可以成为移动机器人遍历障碍物栅格的模拟路线。
需要说明的是,所述预设数量阈值是移动机器人在被抬升或被跌落场景下,利用实时采集的激光点云构建栅格地图而获得的实验结果,是属于在所述待探测区域内反复实验而获得的特定方向上障碍物的数量阈值,以区分在平坦的行进平面上采集的激光点云所构建的栅格地图信息。
优选地,所述机器人悬空判断方法还包括所述观测点与所述目标定位点的连线不经过障碍物栅格时,不将所述目标定位点和所述观测点所处的激光束模拟线段设置为所述具备判断作用的激光束模拟线段,则在所述一帧激光点云内,当前获取的所述具备判断作用的激光束模拟线段的数目增量为0。结合图3可知,若观测点O与当前获得的一个目标定位点M1的连线不经过障碍物栅格,则不将当前获得的一个目标定位点M1和观测点O所处的激光束模拟线段ON1设置为所述具备判断作用的激光束模拟线段,等效于不执行前述实施例的计数操作,则在所述一帧激光点云内,当前获取的所述具备判断作用的激光束模拟线段的数目增量为0。从而在同一个观测点O与多个目标定位点的连线中(对应多条激光束或多条激光束模拟线段),直接排除掉没有穿越过障碍物的连线,即放弃掉其所处的激光束模拟线段(所属的激光束,即存在转换关系的激光束),提高判断效率。
优选地,所述机器人悬空判断方法还包括:所述目标定位点与其对应的激光点的连线长度大于所述观测点与同一个激光点的连线长度时,不将所述目标定位点所处的激光束模拟线段设置为所述具备判断作用的激光束模拟线段,则在所述一帧激光点云内,当前获取的所述具备判断作用的激光束模拟线段的数目增量为0。在图3的基础上进行推移可知,若目标定位点M2与其对应的激光点N2的的连线长度大于观测点O与激光点N2的的连线长度时,即线段M2N2的长度大于线段ON2的长度时,表明激光传感器发射并转换形成的激光束模拟线段ON2的测距误差较大,则不将激光束模拟线段ON2设置为所述具备判断作用的激光束模拟线段,等效于不执行前述实施例的计数操作,则在所述一帧激光点云内,当前获取的所述具备判断作用的激光束模拟线段的数目增量为0。从而排除掉激光传感器的测距误差较大的激光束。
在前述实施例中,所述激光点处于栅格的方式包括所述激光点位于该栅格的四条边围成的区域内、以及所述激光点位于所述栅格的边上,以反映出被扫描物体的二维位置信息,即反射自被扫描物体的表面的特征点位置转换为栅格地图内的坐标信息;其中,在所述一帧激光点云内,观测点是固定的,表示激光传感器固定在一个特定的位置;一个目标定位点对应一个激光点,一条激光束对应一个激光点,一条激光束模拟线段对应一个激光点,一条激光束对应一条激光束模拟线段,使得每条激光束都能在栅格地图反映出相应的定位信息,并用一个具体的激光点来表示。
在上述实施例中,所述机器人悬空判断方法还包括:
激光传感器(即单线激光雷达或多线激光雷达)发射一条激光束或多条激光束后,任一条激光束都跟随着所述激光传感器的激光探头旋转一圈。并控制所述激光束在待探测区域内处反射的激光信息转换为所述栅格地图中的激光点,其中,激光点用于表示被扫描的位置点落入所述栅格地图中的定位点;每当所述激光束在所述待探测区域内旋转一圈,即一条激光束或多条激光束在所述待探测区域内扫描并覆盖一次,则将转换出的激光点组成所述一帧激光点云;其中,一条激光束对应一个激光点,一个扫描角度对应一个激光点,所有扫描角度对应的激光点组成一帧激光点云。
对于一个固定的被扫描物体,可以通过移动激光传感器,在尽可能的情况下获取尽量多的实体表面点信息;当一束激光照射到被扫描物体的表面时,所反射的激光信息会携带方位、距离等信息。结合激光测量和摄影测量原理得到点云,包括坐标(XY)、激光反射强度(Intensity)和颜色信息(RGB);具体地,激光传感器在获取被扫描物体的表面的每个采样点的空间坐标后,得到的是点的集合,称之为点云(Point Cloud),使得点云也是目标表面特性的海量点集合。当从不同观测点(理解为位于不同位置处的激光传感器或依次移动至不同位置的激光传感器)获得的三维数据拥有一定的交集,可以完整地覆盖被扫描物体,就说明已经获得足够的表面三维点云数据,其中,从不同观测点获得的点云,都统一变换至一个地图坐标系当中。
需要说明的是,激光点是:激光传感器采集到的反射自被扫描物体的激光信息转换至栅格地图的坐标点。则激光点是激光扫描点或者激光采样点,反映位置信息(包括到被扫描物体表面的探测距离和探测角度)和激光反射强度;具体地,激光传感器若将激光束按照某种轨迹对被扫描物体进行扫描,便会边扫描边记录到反射回的激光点信息,由于扫描极为精细,则能够得到大量的激光点,因而就可形成激光点云。其中,激光传感器一般是支持360度旋转扫描的激光雷达,带有激光发射探头和接收探头;具体地,激光传感器采集到的反射自被扫描物体的激光信息是包括激光雷达数据包,激光雷达数据包包括若干帧激光点云数据,每帧激光点云数据包括若干个激光点,每个激光点包含角度(逆时针为正方向)和距离。
在所述栅格地图中,将一个观测点与一个激光点之间的连线设置为所述激光束模拟线段,则确定所述激光束在所述栅格地图中映射为所述激光束模拟线段,使得一条激光束模拟线段对应一个激光点;其中,观测点是所述激光传感器在所述栅格地图中标记的位置,用于表示激光束的发射起点,并标记为移动机器人的当前位置。
在一些实施例中,当获取到一帧激光点云,本领域技术人员很容易获取该帧激光点云中每个激光点在激光雷达坐标系下的位置与角度以及所携带的环境强度信息。激光雷达是固定在移动机器人上的。在一些实施例中,两帧激光点云对应的是物理空间中的同一个实体。两帧激光点云之所以表现的不一样是因为,激光雷达在跟随移动机器人移动,则可以存在激光点云A对应的是机器人在上一帧对应的位姿,激光点云B对应的是机器人在当前帧对应的位姿;当对齐两帧激光点云后,可以求出前后两帧之间的相对位姿关系。
在前述实施例的基础上,本发明还公开一种基于激光点的地图更新方法,如图2所示,所述地图更新方法包括以下步骤:
步骤S201、控制激光传感器发射的激光束扫描待探测区域,获取激光束模拟线段;同时获取预先构建的栅格地图;然后进入步骤S202。
步骤S202、根据步骤S201所述的激光束模拟线段在测距误差允许范围内经过的障碍物栅格的数目,获取具备判断作用的激光束模拟线段,并对具备判断作用的激光束模拟线段进行计数;然后进入步骤S203。
步骤S203、在一帧激光点云内,可以是每一帧激光点云内,判断步骤202获取的所述具备判断作用的激光束模拟线段的数目与映射出的所有激光束模拟线段的数目的比值是否大于预设比值阈值,是则进入步骤S204,否则进入步骤S205。需要说明的是,该步骤涉及到对前述的观测点(移动机器人的机体位置)的多个方向上的激光点对应的激光束模拟线段都参与该比值的判断。
步骤S205、将所述一帧激光点云所携带的信息更新为栅格地图中对应命中的栅格的相关联信息。
步骤S204、停止对所述栅格地图进行更新。
需要说明的是,步骤S201至步骤S203涉及的具体执行动作参照前述机器人悬空判断方法对应的实施例,在此再赘述。
对于步骤S204,立即停止对在先构建的栅格地图进行更新,而是保留原先构建的栅格地图,包括保留相关栅格的坐标位置信息、角度信息及障碍物的占用概率信息,避免在判断机器人的是否悬空状态的过程中已经使用实时采集的激光点云更新掉原先构建的栅格地图,即避免因现有技术中的相关检测方法滞后引起的地图重叠模糊问题。在移动机器人的相应工作场景下,移动机器人在越障(跨越低矮的玩具障碍物、斜坡、门槛)时,由于本身的高度增加有可能扫射到墙体以外的激光点云信息,若叠加到在先构建的地图后,则栅格地图反映的待探测区域内,原本应该标记为阻挡机器人前进的墙体障碍物却变为反映墙体背面的点云信息,因此,此时步骤S204则不允许栅格地图被当前采集的激光点云信息所更新,避免机器人被抬升或跌落的场景下实时构建的地图出现地图重叠模糊以无法反映机器人真正工作区域;另外,移动机器人在从台阶上跌落时,由于探测的高度降低激光传感器有可能扫射到水平地面的激光点云信息,若叠加到预先构建的地图后,则获得的定位信息全是水平地面的点云信息,使得地图中实际标记的是目标探测区域以外的位置信息,因此,此时步骤S204不允许栅格地图被当前采集的激光点云信息所更新,避免机器人被抬升或跌落的场景下实时构建的地图出现地图重叠模糊以无法反映机器人真正工作区域。
对于步骤S205,允许及时对在先构建的栅格地图进行更新,包括更新相关栅格的坐标位置信息、角度信息及障碍物的占用概率信息,反映机器人真正工作区域,便于机器人沿着既有的运动路线(包括运动方向)在所述真正工作区域内工作。因此,在同一帧激光点云对应约束的激光束中,基于具备判断作用的激光束的数量与所有可探测方向的激光束的比值决策是否更新在先构建的栅格地图,且在判断出机器人是否处于悬空状态的基础上再及时地调整地图的更新策略;在本实施例中,一帧激光点云中存在的每一个激光点对应一条激光束,在一帧激光点云中,每一个激光点与唯一一条激光束相匹配。
与现有技术相比,前述步骤的有益技术效果在于,基于一帧激光点云对应的激光束在栅格地图中所经过障碍物栅格的数量及比值信息,在更新地图之前判断出机器人在所述待探测区域内移动是否会变为悬空状态或是否存在变为悬空状态的趋势,而不是在机器人已经变为悬空状态且实时更新相应地图的场景下进行实时判断,在获知相应的机器人行为状态信息或其行进平面前方出现的行为状态趋势的基础上再决策地图的构建方式,决策对预先构建的栅格地图进行更新,起到构建具备可通行性的地图的效果,避免机器人被抬升或跌落的场景下实时构建的地图出现地图重叠模糊以无法反映机器人真正工作区域,使得机器人能够继续使用当前构建的栅格地图进行导航定位。
具体地,所述将所述一帧激光点云所携带的信息更新为栅格地图中对应命中的栅格的相关联信息的方法包括:将所述一帧激光点云所携带的位姿信息更新为栅格地图中对应命中的栅格的位置信息,以实现配置出相应的激光点在栅格地图中最新命中的栅格,并匹配机器人的实时位姿信息;其中,所述一帧激光点云中存在的激光点是所述待探测区域内的被扫描的位置点转换到栅格地图的坐标系下的坐标点,其中,激光点所携带的位姿信息包括角度信息和距离信息;同时,将所述被扫描的位置点处的障碍物落入所述栅格地图的对应栅格位置处的概率信息更新为所述激光点在所述栅格地图中对应命中的栅格的概率信息。使得更新后的栅格地图完整地反映机器人的目标工作区域。
需要说明的是,无论是二维栅格地图还是三维栅格地图,都包括指示在特定位置或区域存在障碍的概率的信息,可通过移动机器人的激光传感器扫描待测物体来获得待测物体对应的位置信息,并在此基础上计算出待测物体落入地图的对应栅格位置处的概率信息。移动机器人在同一位姿下的不同时刻,通过激光传感器对一个固定的障碍物(待测物体)的探测距离不一致,可能在一个时刻下采集的一帧激光点云所涉及的探测距离为5m,在另一个时刻下采集的一帧激光点云所涉及的探测距离为5.1m,为了不同时将5m和5.1m的位置都标记为前述固定的障碍物,则需要使用占据栅格地图构建算法去计算前述固定的障碍物落入(命中)地图的对应栅格位置处的概率信息,再基于概率值的大小确定前述固定的障碍物在地图中的精确位置。在现有技术中,通常不考虑移动机器人的大小占据的空间,因此,在本发明中,无论地图是否发生变化都将移动机器人缩小为一点。具体地,具备一定分辨率的栅格地图是由一定数量的激光点组成,具体由5cm*5cm大小的概率栅格[Pmin,Pmax]构造而成,无论是二维栅格地图还是三维栅格地图,地图在创建完成时,栅格概率小于Pmin表示该栅格位置处无障碍物,在Pmin与Pmax之间表示未知,大于Pmax表示该栅格位置处存在障碍物。每一帧的激光点云都会生成一组栅格,在这一组栅格中,每个栅格被赋予占用概率值,如果该栅格在先前已经有概率值,则需要对该栅格的概率值进行更新。
优选地,所述激光点在所述栅格地图中对应命中的栅格是与所述被扫描的位置点的定位误差最小的栅格,包括所述激光点所处的栅格的一个邻域栅格、或所述激光束模拟线段经过且与所述激光点相距一个合理距离的点所处的栅格。使得所述激光点更加准确地反映其定位的物理位置信息。
本发明实施例还公开一种芯片,所述芯片通过执行内部存储的算法程序代码,来实现前述相关实施例公开的机器人悬空判断方法的任一步骤,和/或前述相关实施例公开的所述的地图更新方法的任一步骤。当前述的移动机器人是一种清洁机器人,该清洁机器人可以装配该芯片,用于探测清洁机器人的驱动轮是否悬空,并探测移动机器人的行进平面的前方是否存在台阶面、悬崖面或斜坡面。
具体地,所述芯片设置在清洁机器人的机体内的电路主板上,包括与非暂时性存储器,例如硬盘、快闪存储器、随机存取存储器,通信的计算处理器,例如中央处理单元、应用处理器,应用处理器根据激光传感器反馈的障碍物信息执行建图算法,例如即时定位与地图构建 (SLAM ,全称Simultaneous Localization And Mapping) ,绘制机器人所在环境中的即时地图并标记障碍物位置。在一些实施例中,结合缓冲器上所设置激光传感器、悬崖传感器、跌落传感器(一种限位开关触发装置)、磁力计、加速度计、陀螺仪、里程计等传感装置反馈的距离信息、速度信息综合判断清洁机器人当前处于何种工作状态、位于何位置,以及清洁机器人当前位姿等,如过门槛,上地毯,位于台阶悬崖处,尘盒满,被抬起等等,还会针对不同情况给出具体的下一步动作策略,使得清洁机器人的工作更加符合主人的要求,有更好的用户体验。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (15)
1.基于激光点的机器人悬空判断方法,该机器人悬空判断方法适用于安装有激光传感器的移动机器人,其特征在于,机器人悬空判断方法包括:
控制激光传感器发射的激光束扫描待探测区域,获取激光束模拟线段;同时获取预先构建的栅格地图;
根据激光束模拟线段在测距误差允许范围内经过的障碍物栅格的数目,获取具备判断作用的激光束模拟线段,并对具备判断作用的激光束模拟线段进行计数;
根据具备判断作用的激光束模拟线段的数目在所有激光束模拟线段的数目中所占的比值,判断移动机器人是否处于悬空状态,或判断所述移动机器人在其行进平面的前方是否存在变为悬空状态的趋势。
2.根据权利要求1所述机器人悬空判断方法,其特征在于,所述根据具备判断作用的激光束模拟线段的数目在所有激光束模拟线段的数目中所占的比值,判断移动机器人是否处于悬空状态,或判断所述移动机器人在其行进平面的前方是否存在变为悬空状态的趋势的方法包括:
控制所述激光束在所述栅格地图中映射为所述激光束模拟线段,其中,在获取一帧激光点云时,所述激光传感器在所述待探测区域内的位置是不变的;
在一帧激光点云内,当获取的所述具备判断作用的激光束模拟线段的数目与映射出的所有激光束模拟线段的数目的比值小于或等于预设比值阈值时,确定所述移动机器人不处于悬空状态,或确定所述移动机器人在其行进平面的前方不存在变为悬空状态的趋势;
在一帧激光点云内,当获取的所述具备判断作用的激光束模拟线段的数目与映射出的所有激光束模拟线段的数目的比值大于预设比值阈值时,确定所述移动机器人处于悬空状态,或确定所述移动机器人在其行进平面的前方存在变为悬空状态。
3.根据权利要求2所述机器人悬空判断方法,其特征在于,所述悬空状态包括所述移动机器人的机体前侧部分被倾斜抬升,以确定移动机器人在移动过程中相对于当前行进平面被抬升,且让所述移动机器人的驱动轮变为悬空状态;
所述悬空状态还包括所述移动机器人的机体前侧部分向下倾斜,以确定移动机器人在移动过程中相对于当前行进平面出现跌落,且让所述移动机器人的驱动轮变为悬空状态。
4.根据权利要求1所述机器人悬空判断方法,其特征在于,所述激光束模拟线段在测距误差允许范围内经过的障碍物栅格的来源是:
在所述栅格地图内,沿着激光点指向观测点的直线方向,将与该激光点相距一个预设误差距离的点设置为目标定位点;其中,观测点与激光点的连线是所述激光束模拟线段;观测点是所述激光传感器在所述栅格地图中标记的位置;
然后,在排除掉观测点所处的栅格和目标定位点所处的栅格的前提下,将观测点与目标定位点的连线经过的障碍物栅格标记为预配置障碍栅格,并确定所述预配置障碍栅格是所述激光束模拟线段在测距误差允许范围内经过的障碍物栅格;其中,障碍物栅格是所述待探测区域内的障碍物在所述栅格地图内对应占据的栅格。
5.根据权利要求4所述机器人悬空判断方法,其特征在于,当所述观测点位于栅格的边上时,所述观测点所处的栅格是所述激光束模拟线段沿着其激光观测方向经过的第一个栅格;其中,激光观测方向是所述观测点指向所述激光点的直线方向,以形成所述激光束模拟线段的激光观测方向;
当所述目标定位点位于栅格的边上时,所述目标定位点所处的栅格是所述目标定位点与所述激光点的连线沿着所述激光观测方向经过的第一个栅格。
6.根据权利要求4所述机器人悬空判断方法,其特征在于,所述根据激光束模拟线段在测距误差允许范围内经过的障碍物栅格的数目,获取具备判断作用的激光束模拟线段的方法包括:
在所述激光束模拟线段中,沿着所述观测点与所述目标定位点的连线,对该连线穿过的所述预配置障碍栅格进行计数,当判断到所述预配置障碍栅格的计数值大于预设数量阈值时,将所述观测点与所述目标定位点的连线所在的激光束模拟线段设置为具备判断作用的激光束模拟线段,进而将所述观测点指向所述目标定位点的直线方向所对应的一条激光束标记为所述具备判断作用的激光束。
7.根据权利要求6所述机器人悬空判断方法,其特征在于,所述机器人悬空判断方法还包括:所述观测点与所述目标定位点的连线不经过障碍物栅格时,不将所述目标定位点和所述观测点所处的激光束模拟线段设置为所述具备判断作用的激光束模拟线段,则当前获取的所述具备判断作用的激光束模拟线段的数目增量为0。
8.根据权利要求6所述机器人悬空判断方法,其特征在于,所述机器人悬空判断方法还包括:所述目标定位点与所述激光点的连线长度大于所述观测点与同一个激光点的连线长度时,不将所述激光点和所述观测点所处的激光束模拟线段设置为所述具备判断作用的激光束模拟线段,则当前获取的所述具备判断作用的激光束模拟线段的数目增量为0。
9.根据权利要求4所述机器人悬空判断方法,其特征在于,当所述观测点与所述激光点的连线长度小于预设阈值长度时,所述预设误差距离是固定值;
当所述观测点与所述激光点的连线长度大于或等于预设阈值长度时,所述预设误差距离与所述激光束模拟线段的长度呈正相关关系。
10.根据权利要求5至9任一项所述机器人悬空判断方法,其特征在于,所述激光点处于栅格的方式包括所述激光点位于该栅格的四条边围成的区域内、以及所述激光点位于所述栅格的边上,以反映出被扫描物体的二维位置信息;
其中,在所述一帧激光点云内,观测点是固定的,一个目标定位点对应一个激光点,一条激光束对应一个激光点,一条激光束模拟线段对应一个激光点,一条激光束对应一条激光束模拟线段。
11.根据权利要求1至9任一项所述机器人悬空判断方法,其特征在于,所述机器人悬空判断方法还包括:
控制所述激光束在待探测区域内反射的激光信息转换为所述栅格地图中的激光点,其中,激光点用于表示被扫描的位置点落入所述栅格地图中的定位点;每当所述激光束在所述待探测区域内旋转一圈,则将转换出的激光点组成所述一帧激光点云;其中,一条激光束对应一个激光点,一个扫描角度对应一个激光点;
在所述栅格地图中,将一个观测点与一个激光点之间的连线设置为所述激光束模拟线段,则确定所述激光束在所述栅格地图中映射为所述激光束模拟线段,使得一条激光束模拟线段对应一个激光点;
其中,观测点是所述激光传感器在所述栅格地图中标记的位置,用于表示激光束的发射起点。
12.一种基于激光点的地图更新方法,其特征在于,所述地图更新方法包括权利要求1至11任一项所述的机器人悬空判断方法;
所述地图更新方法还包括:
在所述一帧激光点云内,当获取的所述具备判断作用的激光束模拟线段的数目与映射出的所有激光束模拟线段的数目的比值小于或等于预设比值阈值时,将所述一帧激光点云所携带的信息更新为栅格地图中对应命中的栅格的相关联信息,以实现在所述待探测区域内对预先构建的栅格地图的更新;
在所述一帧激光点云内,当获取的所述具备判断作用的激光束模拟线段的数目与映射出的所有激光束模拟线段的数目的比值等于预设比值阈值时,停止对所述栅格地图进行更新。
13.根据权利要求12所述地图更新方法,其特征在于,所述将所述一帧激光点云所携带的信息更新为栅格地图中对应命中的栅格的相关联信息的方法包括:
将所述一帧激光点云所携带的位姿信息更新为栅格地图中对应命中的栅格的位置信息,以实现配置出相应的激光点在栅格地图中最新命中的栅格;其中,所述一帧激光点云中存在的激光点是所述待探测区域内的被扫描的位置点转换到栅格地图的坐标系下的坐标点,其中,激光点所携带的位姿信息包括角度信息和距离信息;
同时,将所述被扫描的位置点处的障碍物落入所述栅格地图的对应栅格位置处的概率信息更新为所述激光点在所述栅格地图中对应命中的栅格的概率信息。
14.根据权利要求13所述地图更新方法,其特征在于,所述激光点在所述栅格地图中对应命中的栅格是与所述被扫描的位置点的定位误差最小的栅格,包括所述激光点所处的栅格的一个邻域栅格、或所述激光束模拟线段经过且与所述激光点相距一个合理距离的点所处的栅格。
15.一种芯片,其特征在于,所述芯片通过执行内部存储的算法程序代码,来实现权利要求1至11任一项所述的机器人悬空判断方法,和/或权利要求12至14任一项所述的地图更新方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111299994.8A CN116069010A (zh) | 2021-11-04 | 2021-11-04 | 基于激光点的机器人悬空判断方法、地图更新方法及芯片 |
PCT/CN2022/129411 WO2023078318A1 (zh) | 2021-11-04 | 2022-11-03 | 基于激光点的机器人悬空判断方法、地图更新方法及芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111299994.8A CN116069010A (zh) | 2021-11-04 | 2021-11-04 | 基于激光点的机器人悬空判断方法、地图更新方法及芯片 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116069010A true CN116069010A (zh) | 2023-05-05 |
Family
ID=86172146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111299994.8A Pending CN116069010A (zh) | 2021-11-04 | 2021-11-04 | 基于激光点的机器人悬空判断方法、地图更新方法及芯片 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116069010A (zh) |
WO (1) | WO2023078318A1 (zh) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2805701C (en) * | 2010-07-22 | 2018-02-13 | Renishaw Plc | Laser scanning apparatus and method of use |
CN105652876A (zh) * | 2016-03-29 | 2016-06-08 | 北京工业大学 | 基于数组地图的移动机器人室内路径规划方法 |
CN106353769A (zh) * | 2016-08-16 | 2017-01-25 | 长春理工大学 | 多线激光雷达人形目标识别方法和汽车的防撞装置 |
CN110858076B (zh) * | 2018-08-22 | 2023-06-02 | 杭州海康机器人股份有限公司 | 一种设备定位、栅格地图构建方法及移动机器人 |
CN110895408B (zh) * | 2018-08-22 | 2023-05-02 | 杭州海康机器人股份有限公司 | 一种自主定位方法、装置及移动机器人 |
CN109186463B (zh) * | 2018-09-04 | 2021-12-07 | 浙江梧斯源通信科技股份有限公司 | 应用于可移动机器人的防跌落方法 |
CN111198378B (zh) * | 2019-12-27 | 2022-06-28 | 深圳市优必选科技股份有限公司 | 基于边界的自主探索方法和装置 |
CN110852312B (zh) * | 2020-01-14 | 2020-07-17 | 深圳飞科机器人有限公司 | 悬崖检测方法、移动机器人的控制方法及移动机器人 |
CN111982114B (zh) * | 2020-07-30 | 2022-05-13 | 广东工业大学 | 一种采用imu数据融合估计三维位姿的救援机器人 |
CN112835064B (zh) * | 2020-12-31 | 2022-11-01 | 上海蔚建科技有限公司 | 一种建图定位方法、系统、终端及介质 |
-
2021
- 2021-11-04 CN CN202111299994.8A patent/CN116069010A/zh active Pending
-
2022
- 2022-11-03 WO PCT/CN2022/129411 patent/WO2023078318A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023078318A1 (zh) | 2023-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4043988B1 (en) | Method for planning surface cleaning for a robot travelling along the border, chip and robot | |
JP7374547B2 (ja) | 探測方法、装置、移動ロボット及び記憶媒体 | |
CN106037591B (zh) | 限制移动机器人的运动 | |
EP3271784B1 (en) | Localization and mapping using physical features | |
CN112415998A (zh) | 一种基于tof摄像头的障碍物分类避障控制系统 | |
CN108628318B (zh) | 拥堵环境检测方法、装置、机器人及存储介质 | |
CN110543174A (zh) | 可通行区域图的建立方法、处理方法、装置和可移动设备 | |
CN112327878A (zh) | 一种基于tof摄像头的障碍物分类避障控制方法 | |
CN113848944A (zh) | 一种地图构建方法、装置、机器人及存储介质 | |
CN108508885B (zh) | 一种导航地图构建方法及装置 | |
CN112308033B (zh) | 一种基于深度数据的障碍物碰撞警告方法及视觉芯片 | |
CN111897335A (zh) | 一种机器人弓字型行走时的避障控制方法及其控制系统 | |
WO2024037262A1 (zh) | 一种机器人通过窄道的导航方法、芯片及机器人 | |
CN113490973B (zh) | 信息处理装置以及移动机器人 | |
JP7332806B2 (ja) | ロボットの移動制限枠の作業開始点決定方法及び運動制御方法 | |
CN117169848A (zh) | 过滤玻璃噪点的方法、激光雷达及机器人 | |
CN116069010A (zh) | 基于激光点的机器人悬空判断方法、地图更新方法及芯片 | |
CN116942018A (zh) | 基于特定介质区域的机器人控制方法、机器人及芯片 | |
CN116068577A (zh) | 一种激光束模拟线段的获取方法、芯片及机器人 | |
CN112882472A (zh) | 自主移动设备 | |
CN117434935A (zh) | 基于tof模块的机器人寻找障碍物方法、芯片及机器人 | |
CN116158707A (zh) | 移动机器人行进方法、装置、移动机器人及存储介质 | |
CN116466695A (zh) | 一种最优障碍物碰撞点搜索方法 | |
CN116465404A (zh) | 基于预设探测距离范围内的最优碰撞点搜索方法 | |
CN116954205A (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 |