一种基于走廊环境的机器人导航方法、机器人及存储介质与流程
未命名
10-09
阅读:117
评论:0

1.本发明涉及导航技术领域,尤其涉及一种基于走廊环境的机器人导航方法、机器人及存储介质。
背景技术:
2.近年来,智能机器人领域发展迅速,移动机器人作为智能机器人领域的一个重要分支,也受到越来越多的关注。要实现完整的移动机器人自主导航功能:需要通过感知技术感知周围环境,并建立地图;借助算法实现机器人自身在环境中的定位;最后根据自身位姿(位置和姿态)和环境信息给出路径规划并控制机器人的运动。
3.移动机器人通常会搭配激光雷达、相机、轮式里程计等传感器来采集信息。目前已有的机器人导航策略主要有三种。第一,通过在路面上粘贴磁带或色带等作为导轨,机器人利用自身搭载的磁传感器或色彩传感器顺着导轨的引导完成定位导航;第二,通过在天花板上粘贴二维码图片等作为标记物,并事先构建好环境的全局地图,利用相机等视觉传感器完成机器人的定位导航;第三,利用激光slam(同时定位和建图)和视觉slam技术在工作过程中同步的构建环境地图和确定自身位姿,从而帮助机器人实现自主导航。
4.但是,现有技术中,针对导轨的方案,机器人运动的自由度被极大的限制,只能沿着导轨,为应用带来了诸多的限制。同时贴在地面上的磁带等导轨易受到磨损和破坏,时间久了鲁棒性会降低。针对二维码等标志物方案,需要事先构建环境的全局地图来完成定位。而针对slam方案,在工作过程中需要构建完整的全局地图来辅助机器人定位,最终完成自主导航。但是全局地图的构建会占用大量的计算资源和存储资源,在算力不充足的机器人上部署时,会降低机器人的整体性能,甚至会导致机器人导航失败。可见,现有技术中的机器人导航方式基本都需要构建全局地图来完成定位以实现自主导航,但是全局地图需要占用过多的计算资源和存储资源,并且容易导致导航失败。
5.因此,现有技术还有待改进和提高。
技术实现要素:
6.本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种基于走廊环境的机器人导航方法、机器人及存储介质,旨在解决现有技术中的机器人导航方式基本都需要构建全局地图来完成定位以实现自主导航,但是全局地图需要占用过多的计算资源和存储资源,并且容易导致导航失败的问题。
7.为了解决上述技术问题,本发明所采用的技术方案如下:
8.第一方面,本发明提供一种基于走廊环境的机器人导航方法,包括:获取包括走廊区域的当前帧点云数据,并对当前帧点云数据进行走廊特征提取得到当前走廊点云数据;基于当前走廊点云数据中的走廊特征,确定当前走廊点云数据的当前中心线,当前中心线用于表征机器人在当前位姿下的走廊区域的中心线;将当前帧点云数据与基于历史帧点云数据拼接得到的局部地图进行配准,得到机器人的当前位姿数据;计算机器人当前位姿数
据与当前中心线的偏差,并基于偏差控制机器人的运行路径使机器人沿着走廊区域的中心线运行。
9.第二方面,本发明提供一种基于走廊环境的机器人导航装置,包括:点云特征提取模块,用于获取包括走廊区域的当前帧点云数据,并对当前帧点云数据进行走廊特征提取得到当前走廊点云数据;中心线确定模块,用于基于当前走廊点云数据中的走廊特征,确定当前走廊点云数据的当前中心线,当前中心线用于表征机器人在当前位姿下的走廊区域的中心线;位姿数据确定模块,用于将当前帧点云数据与基于历史帧点云数据拼接得到的局部地图进行配准,得到机器人的当前位姿数据;机器人控制模块,用于计算机器人当前位姿数据与当前中心线的偏差,并基于偏差控制机器人的运行路径使机器人沿着走廊区域的中心线运行。
10.第三方面,本发明提供一种机器人,机器人包括:机器人本体、旋转机构、激光雷达及主控芯片,其中:激光雷达,通过旋转机构与机器人本体连接,用于在旋转机构的带动下,对包括走廊区域的应用场景进行扫描以采集包括走廊区域的当前帧点云数据;所主控芯片,设置在机器人本体上,用于根据的机器人导航方法对当前帧点云数据进行处理以控制机器人沿走廊区域中心线运行。
11.第四方面,本发明实施例还提供一种终端设备,其中,终端设备包括存储器、处理器及存储在存储器中并可在处理器上运行的基于走廊环境的机器人导航程序,处理器执行基于走廊环境的机器人导航程序时,实现上述方案中任一项的基于走廊环境的机器人导航方法的步骤。
12.第五方面,本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有基于走廊环境的机器人导航程序,基于走廊环境的机器人导航程序被处理器执行时,实现上述方案中任一项的基于走廊环境的机器人导航方法的步骤。
13.有益效果:与现有技术相比,本发明提供了一种基于走廊环境的机器人导航方法,通过获取包括走廊区域的当前帧点云数据,并对当前帧点云数据进行走廊特征提取得到当前走廊点云数据;基于当前走廊点云数据中的走廊特征,确定当前走廊点云数据的当前中心线,当前中心线用于表征机器人在当前位姿下的走廊区域的中心线;将当前帧点云数据与基于历史帧点云数据拼接得到的局部地图进行配准,得到机器人的当前位姿数据;计算所述机器人当前位姿数据与所述当前中心线的偏差,并基于所述偏差控制所述机器人的运行路径使所述机器人沿着所述走廊区域的中心线运行。基于本技术提供的导航无法,其无需构建全局地图,仅仅只需构建局部地图就可以实现机器人的自主导航,无需占用过多的硬件资源,节省了成本,且提高了导航效率以及导航稳定性。
附图说明
14.图1为本发明实施例提供的基于走廊环境的机器人导航方法的应用场景示意图。
15.图2为本发明实施例提供的基于走廊环境的机器人导航方法的具体实施方式的流程图。
16.图3是本发明实施例提供的基于走廊环境的机器人导航的原理框图。
17.图4是本发明实施例提供的终端设备的内部结构原理框图。
具体实施方式
18.为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
19.本实施例提供一种基于走廊环境的机器人导航方法,该机器人导航方法可节省成本,且提高了导航效率以及导航稳定性。
20.图1根据本技术提供的一种应用场景,其中间为一条平直的走廊、两边是房间的场景,该场景在酒店、ktv、公寓等环境中较为常见,其中,走廊的宽度已知,走廊上的门宽度相同且已知。在上述场景应用的机器人(如清扫机器人或送餐机器人),需在走廊上运行(箭头为机器人运行方向),并识别每个门的位置,从而沿走廊依次进入每个房间进行扫描以获取房间的点云数据,但构建应用场景的全局地图不仅容易消耗机器人大量的计算资源和存储资源,对机器人算力要求还高,且目前仍没有很好的方法针对走廊两端具有多个房间的相似场景进行导航定位。为此,本实施例提供一种基于走廊环境的机器人导航方法,当需要控制机器人在图1中的应用场景下进行工作时,机器人可根据本技术提供的导航方法在无需构建全局地图且仅可能占用硬件资源较少的情况下,实现机器人在走廊区域的自主导航运行。
21.在一个实施例中,机器人包括:机器人本体、旋转机构、激光雷达及主控芯片;其中,激光雷达通过旋转机构与机器人本体连接,用于在旋转机构的带动下,激光雷达对包括走廊区域的应用场景进行扫描以采集包括所在应用场景的当前帧点云数据;主控芯片,用于控制旋转机构转动,还用于对激光雷达在预设固定时间内采集的多帧点云数据进行拼接得到局部地图,并根据本技术一个或多个实施例提供的基于走廊环境的机器人导航方法对当前帧点云和局部地图进行处理获取机器人当前的位姿并基于机器人当前的位姿与走廊的中心线偏差以控制机器人沿走廊区域的中心线上运行,从而实现机器人的自主导航。
22.具体地,激光雷达包括发射端、接收端以及处理器,其中,发射端用于包括走廊区域的应用场景发射光束,接收端用于接收经应用场景反射的光束并生成图像数据传输处理器,处理器用于对图像进行处理得到相应的点云数据。进一步地,本实施例的旋转机构可带动激光雷达在水平面上360
°
旋转,每旋转一次可采集到一帧局部点云数据。
23.在一个实施例中,本实施例的机器人本体上还可设置里程计或者imu(惯性测量单元),用于辅助估计机器人的位姿数据。具体应用时,机器人中的主控芯片获取激光雷达采集到的当前帧点云数据,在预设固定时间内结合里程计或者imu得到的位姿数据与激光雷达采集的多帧点云数据得到局部地图,进而在机器人运行的当前时刻利用里程计或者imu得到的当前初始位姿数据、激光雷达采集的当前点云数据及局部地图获取机器人当前精确位姿数据,计算机器人当前精确位姿数据与走廊的中心线的偏差,以根据上述偏差控制机器人在走廊中心线上运行。
24.示例性方法
25.本实施例的基于走廊环境的机器人导航方法可应用于机器人中,该机器人为智能化运行式机器人,如清扫机器人,具体地,如图2中所示,本实施例的方法具体包括如下步骤:
26.步骤s10、获取包括走廊区域的当前帧点云数据,并对当前帧点云数据进行走廊特
征提取得到当前走廊点云数据。
27.具体地,通过控制激光雷达的发射端向走廊区域所在的平面区域发射光束并由接收端接收反射回的光束生成相应的图像数据传输至处理器,处理器对图像数据进行处理得到当前帧点云数据。由于当前帧点云数据中是包括走廊特征的,因此,本实施例可该当前帧点云数据来提取出当前帧走廊点云数据。
28.在一种实现方式中,本实施例在提取当前帧走廊点云数据时,包括如下步骤:
29.步骤s101、获取走廊区域的预设宽度数据;
30.步骤s102、从当前帧点云数据中提取以预设宽度数据为宽度阈值的平行线特征,并将平行线特征所对应的点云数据作为当前走廊点云数据,其中,平行线特征为走廊特征。
31.具体地,由于图1中的场景下的走廊区域的宽度是固定的,因此,本实施例可首先获取走廊区的域预设宽度数据,并且本实施例的走廊区域的任何位置的宽度数据是完全相同的,因此,本实施例可基于提取平行线特征的方式来提取走廊特征,进而得到当前走廊点云数据。具体实施时,本实施例可从当前帧点云数据中提取以宽度数据为宽度阈值的平行线特征,该平行线特征为走廊特征,因此提取到的平行线特征所对应的点云数就是当前走廊点云数据。
32.步骤s20、基于当前走廊点云数据中的走廊特征,确定当前走廊点云数据的当前中心线,当前中心线用于表征机器人在当前位姿下的走廊区域中心线。
33.当得到当前走廊点云数据后,本实施例可进一步确定出该当前走廊数据的当前中心线,本实施例的当前中心线为走廊区域的中心线,用于约束机器人的导航路径,帮助机器人完成自主导航,使其不会偏离预定的轨道。
34.在一种实现方式中,本实施例在确定当前中心线时,包括如下步骤:
35.步骤s201、获取平行线特征中两条平行线的斜率以及截距;
36.步骤s202、将两条平行线的斜率作为目标斜率,以及将两条平行线的截距的平均值作为目标截距;
37.步骤s203、基于目标斜率与目标截距,确定当前中心线。
38.具体地,由于当前走廊点云数据是通过提取平行线特征来实现的,平行线特征中两条平行线分别相当于走廊区域的两边,因此走廊区域的当前中心线就为两条平行线之间的线。为此,本实施例可通过位于平行线上的点云数据构建平行线特征中两条平行线的直线方程以获取平行线特征中两条平行线的斜率,这两条平行线的斜率是相同的,当前中心线位于平行线之间且与平行线平行,当前中心线的目标斜率也应该是与平行线的斜率相同。此外,本实施例还基于平行线的直线方程获取两条平行线的截距,当前中心线的目标截距应该为两条平行线的截距的平均值,这样才可保证当前中心线位于两天平行线的中间。在得到目标斜率与目标截距后,便可基于目标斜率和目标截距构建当前中心线的直线方程,也就得到走廊区域的中心线,确定当前中心线的位置。本实施例中计算当前中心线的方式简单,且基于斜率与截距的方式可准确地确定出走廊区域的中心线的位置,有助于在后续步骤中约束机器人的导航路径。
39.步骤s30、将当前帧点云数据与基于历史帧点云数据拼接得到的局部地图进行配准,得到机器人的当前位姿数据。
40.具体地,当前帧点云数据是基于当前时刻获取的点云数据,历史帧点云数据为历
史时刻获取的点云数据,即在当前时刻的前一时刻或在当前时刻之前的所有时刻得到的点云数据,局部地图是为激光雷达在历史时刻采集包括走廊区域的场景下的局部点云数据拼接得到的。进一步地,每帧点云数据都对应有一个位姿,本实施例通过最近点迭代算法对当前帧点云数据与局部地图进行配准得到当前帧点云与局部地图之间的相对变换关系,并基于相对变换关系将当前帧点云数据转换至局部地图的坐标系下,从而获取当前帧点云相对于局部地图的对应位姿,得到机器人的当前位姿数据。
41.需要说明的是,在通过最近点迭代算法对当前帧点云数据与局部地图进行配准得到当前帧点云与局部地图之间的相对变换关系的过程中,在当前帧点云数据与局部地图首次配准时,可通过里程计或imu记录的机器人位姿数据作为初始相对变换关系值以实现当前帧点云数据与局部地图的首次配准,从而再通过最近点迭代算法对初始相对变换关系值进行迭代优化,得到最优的相对变换关系。
42.在一种实现方式中,本实施例在构建局部地图时,包括如下步骤:
43.步骤s301、获取预设时间段内针对局部环境采集到的若干局部点云数据,并确定每一个局部点云数据所对应的位姿数据:
44.步骤s302、将所有的局部点云数据通过对应的位姿数据变换至全局坐标系下,并拼接所有局部点云数据得到局部地图。
45.具体地,本实施例的机器人在预设时间段内针对图1的局部环境采集若干局部点云数据并基于里程计或者imu来确定出每一个局部点云数据所对应的位姿数据;构建一个队列,该队列中存储预设时间段内的若干局部点云数据。为了保证导航的准确性与实时性,避免构建的局部地图误差过大,本实施例还将该预设时间段内与当前时刻差值小于时间阈值的局部点云数据保存于该队列中,将该预设时间段内与当前时刻差值大于时间阈值的局部点云数据移出该队列,从而保证用于构建局部地图的局部点云数据都是与当前时刻接近的,有助于构建的局部地图更为准确。此外,本实施例还通过体素滤波,滤除多余的点云数据。将队列中所有的局部点云数据通过对应的位姿数据变换至全局坐标系下,拼接所有的局部点云数据得到局部地图,其中,该局部地图中包括有若干历史帧点云数据以及每一个历史帧点云数据对应的位姿数据。
46.步骤s40、计算机器人当前位姿数据与当前中心线的偏差,并基于该偏差控制机器人的运行路径使其沿着走廊的中心线运行。
47.基于上述步骤确定当前位姿数据与当前中心线后,可以通过计算当前位姿数据与当前中心线的偏差控制机器人的运行路径使其沿着走廊的中心线运行。在控制时,需确保机器人在走廊区域是沿着走廊区域的中心线前行的,为方便叙述,本技术假设机器人前进的方向为当前中心线的正方向。
48.基于此,在一种实现方式中,本实施例的步骤s400具体包括如下步骤:
49.步骤s401、获取当前中心线的正方向信息,并基于正方向信息确定机器人的运行方向与当前中心线的正方向信息之间的方向偏差;
50.步骤s402、确定当前位姿数据与当前中心线之间的偏移距离;
51.步骤s403、基于方向偏差与偏移距离,控制机器人沿着当前中心线运行。
52.具体地,本实施例的当前中心线是将当前走廊点云数据分成左右两组点云数据的,在确定当前中心线的正方向信息时,本实施例获取当前中心线将当前走廊点云数据分
成的两组点云数据,然后进行旋转变换,按照x轴坐标进行排序,排序后,对两组点云数据分别进行门位置提取。在提取时,门的宽度是已知的,因此基于该门的宽度来进行门位置提取。若首次进行门位置提取时提取到的是走廊特征,则随机设置当前中心线的正方向信息。并且,此时识别的门位置也按照该当前中心线的正方向信息进行编号(如左1,左2,右1,右2),从而得到门编号信息,在后续步骤中可控制机器人基于门编号信息进入对应的房间进行扫描,从而使得机器人在走廊两端具有多个房间的相似场景进行导航定位。
53.而如果首次进行门位置提取时提取到的是门位置,则获取历史中心线,并基于当前中心线与历史中心线,确定当前中心线的正方向信息。具体地,由于当前中心线的斜率已知,只是不知道指向,因此本实施例任选当前中心线的一个端点作为起点,另一个端点作为终点,并计算当前中心线的指向;获取历史中心线的指向,将当前中心线的指向与历史中心线的指向进行比较:若当前中心线的指向与历史中心线的指向小于180
°
,则确定当前中心线的指向为当前中心线的正方向信息;而若当前中心线的指向与历史中心线的指向大于180
°
,则将当前中心线的起点与终点互换,并重新计算当前中心线的指向,将重新计算得到的当前中心线的指向作为当前中心线的正方向信息。此时,本实施例可基于该当前中心线的正方向信息识别与历史中心线相同位置的门,如果识别出相同位置的门,即为同样的门,此时就设置与历史中心线中相同的门编号信息,而如果识别出位置不同的门,则为新检测到的门,此时就可以新增门编号信息。本实施例对于门编号信息的编号规则并不限定,只需保证每个门赋予一个独立的编号即可,比如在进行编号时,可将走廊左边的门用奇数编号,走廊右边的门用偶数编号;又或者,顺着正方向信息的门的编号依次+2,逆着正方向信息的门的编号依次-2。
54.当得到当前中心线的正方向信息,本实施例可基于正方向信息,确定机器人的运行方向与当前中心线的正方向信息之间的方向偏差,该方向偏差反映的是机器人的运行方向与当前中心线的正方向信息是否相同。如果方向偏差为机器人的运行方向与当前中心线的正方向信息相反,则控制机器人后退并切换运行方向;而若方向偏差为机器人的运行方向与当前中心线的正方向信息相同,则控制机器人前进。在一种实现方式中,本实施例还确定当前位姿数据与当前中心线之间的偏移距离。若偏移距离超过预设的距离阈值,则控制机器人靠近当前中心线运行,并在到达当前中心线上后沿着当前中心线运行。而如果偏移距离并未超过预设的距离阈值,则可直接控制机器人沿着当前方向继续运行。
55.综上,本实施例提供的基于走廊环境的机器人导航方法在每采集一帧点云数据均会获取机器人当前位姿及在机器人视觉下走廊中心线的当前位置,通过计算走廊中心线与机器人当前位姿之间方向偏差和位移偏差,实时调整机器人的运行路径,从而使得机器人在走廊区域中始终沿在走廊区域的中心线运行。需要说明的是,该导航方法适用于酒店服务机器人、ktv引导机器人等商用服务机器人,也适用于满足图1场景描述的农牧业机器人、工业巡检机器人。
56.示例性装置
57.基于上述实施例,图3为根据本技术提供的一种基于走廊环境的机器人导航装置,该装置可应用于机器人的主控芯片中,其包括点云特征提取模块401、中心线确定模块402、位姿数据确定模块403以及机器人控制模块404。具体地,点云特征提取模块401,用于获取包括走廊区域的当前帧点云数据并对当前帧点云数据进行走廊特征提取,得到当前走廊点
云数据;中心线确定模块402,用于基于当前走廊点云数据中的走廊特征,确定当前走廊点云数据的当前中心线,当前中心线用于表征机器人在当前位姿下的走廊区域中心线;位姿数据确定模块403,用于将当前帧点云数据与基于历史帧点云数据拼接得到的局部地图进行配准,得到机器人的当前位姿数据。机器人控制模块404,用于计算机器人当前位姿数据与当前中心线的偏差,并基于该偏差控制机器人的运行路径使其沿着走廊的中心线运行。
58.本实施例的机器人导航装置中的各个功能模块的工作原理与上述方法实施例中各个步骤的执行过程相同,此处不在赘述。
59.基于上述实施例,本发明还提供了一种终端设备,终端设备的原理框图可以如4所示。终端设备可以包括一个或多个处理器100(图4中仅示出一个),存储器101以及存储在存储器101中并可在一个或多个处理器100上运行的计算机程序102,例如,基于走廊环境的机器人导航的程序。一个或多个处理器100执行计算机程序102时可以实现基于走廊环境的机器人导航的方法实施例中的各个步骤。或者,一个或多个处理器100执行计算机程序102时可以实现基于走廊环境的机器人导航装置实施例中各模块/单元的功能,此处不作限制。
60.在一个实施例中,所称处理器100可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
61.在一个实施例中,存储器101可以是电子设备的内部存储单元,例如电子设备的硬盘或内存。存储器101也可以是电子设备的外部存储设备,例如电子设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,存储器101还可以既包括电子设备的内部存储单元也包括外部存储设备。存储器101用于存储计算机程序以及终端设备所需的其他程序和数据。存储器101还可以用于暂时地存储已经输出或者将要输出的数据。
62.本领域技术人员可以理解,图4中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的终端设备的限定,具体的终端设备以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
63.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、运营数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双运营数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
64.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管
参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
技术特征:
1.一种基于走廊环境的机器人导航方法,其特征在于,所述方法包括:获取包括走廊区域的当前帧点云数据,并对所述当前帧点云数据进行走廊特征提取得到当前走廊点云数据;基于所述当前走廊点云数据中的所述走廊特征,确定所述当前走廊点云数据的当前中心线,所述当前中心线用于表征机器人在当前位姿下的所述走廊区域中心线;将所述当前帧点云数据与基于历史帧点云数据拼接得到的局部地图进行配准,得到机器人的当前位姿数据;计算所述机器人当前位姿数据与所述当前中心线的偏差,并基于所述偏差控制所述机器人的运行路径使所述机器人沿着所述走廊区域的中心线运行。2.根据权利要求1所述的基于走廊环境的机器人导航方法,其特征在于,所述对所述当前帧点云数据进行走廊特征提取得到当前走廊点云数据,包括:获取所述走廊区域的预设宽度数据;从所述当前帧点云数据中提取以所述预设宽度数据为宽度阈值的平行线特征,并将所述平行线特征所对应的点云数据作为所述当前走廊点云数据,其中,所述平行线特征为所述走廊特征。3.根据权利要求2所述的基于走廊环境的机器人导航方法,其特征在于,所述基于所述当前走廊点云数据中的所述走廊特征,确定所述当前走廊点云数据的当前中心线,包括:获取所述平行线特征中两条平行线的斜率以及截距;将所述两条平行线的斜率作为目标斜率,以及将所述两条平行线的截距的平均值作为目标截距;基于所述目标斜率与所述目标截距,确定所述当前中心线。4.根据权利要求1所述的基于走廊环境的机器人导航方法,其特征在于,所述局部地图的构建方式包括:获取预设时间段内针对局部环境采集到的若干局部点云数据,并确定每一个局部点云数据所对应的位姿数据:将所有的局部点云数据通过对应的位姿数据变换至全局坐标系下,并将所有的局部点云数据进行拼接,得到所述局部地图。5.根据权利要求1所述的基于走廊环境的机器人导航方法,其特征在于,所述计算所述机器人当前位姿数据与所述当前中心线的偏差,并基于所述偏差控制所述机器人的运行路径使所述机器人沿着所述走廊区域的中心线运行,包括:获取所述当前中心线的正方向信息,并基于所述正方向信息,确定所述机器人的运行方向与所述当前中心线的正方向信息之间的方向偏差;确定当前位姿数据与所述当前中心线之间的偏移距离;基于所述方向偏差与所述偏移距离,控制所述机器人沿着所述当前中心线运行。6.根据权利要求5所述的基于走廊环境的机器人导航方法,其特征在于,所述获取所述当前中心线的正方向信息,包括:获取所述当前中心线将所述当前走廊点云数据分成的两组点云数据,并对两组点云数据分别进行门位置提取;若首次进行门位置提取时提取到的是走廊特征,则随机设置所述当前中心线的正方向
信息;若首次进行门位置提取时提取到的是门位置,则获取历史中心线,并基于所述当前中心线与所述历史中心线,确定所述当前中心线的正方向信息。7.根据权利要求6所述的基于走廊环境的机器人导航方法,其特征在于,所述基于所述当前中心线与所述历史中心线,确定所述当前中心线的正方向信息,包括:任选所述当前中心线的一个端点作为起点,另一个端点作为终点,并计算所述当前中心线的指向;获取所述历史中心线的指向,将所述当前中心线的指向与所述历史中心线的指向进行比较;若所述当前中心线的指向与所述历史中心线的指向小于180
°
,则确定所述当前中心线的指向为所述当前中心线的正方向信息;若所述当前中心线的指向与所述历史中心线的指向大于180
°
,则将所述当前中心线的起点与终点互换,并重新计算所述当前中心线的指向,将重新计算得到的所述当前中心线的指向作为所述当前中心线的正方向信息。8.根据权利要求5所述的基于走廊环境的机器人导航方法,其特征在于,所述基于所述方向偏差与所述偏移距离,控制所述机器人沿着所述当前中心线运行,包括:若所述方向偏差为所述机器人的运行方向与所述当前中心线的正方向信息相反,则控制所述机器人后退并切换运行方向;若所述方向偏差为所述机器人的运行方向与所述当前中心线的正方向信息相同,则控制所述机器人前进;若所述偏移距离超过预设的距离阈值,则控制所述机器人靠近所述当前中心线运行,并在到达所述当前中心线上后沿着所述当前中心线运行。9.根据权利要求8所述的基于走廊环境的机器人导航方法,其特征在于,所述方法还包括:基于所述当前中心线的正方向信息,对所述门位置进行编号,得到门编号信息;控制所述机器人基于所述门编号信息进入对应的房间进行扫描。10.一种基于走廊环境的机器人导航装置,其特征在于,包括:点云特征提取模块,用于获取包括走廊区域的当前帧点云数据,并对所述当前帧点云数据进行走廊特征提取得到当前走廊点云数据;中心线确定模块,用于基于所述当前走廊点云数据中的所述走廊特征,确定所述当前走廊点云数据的当前中心线,所述当前中心线用于表征机器人在当前位姿下的所述走廊区域中心线;位姿数据确定模块,用于将所述当前帧点云数据与基于历史帧点云数据拼接得到的局部地图进行配准,得到机器人的当前位姿数据;机器人控制模块,用于计算所述机器人当前位姿数据与所述当前中心线的偏差,并基于所述偏差控制所述机器人的运行路径使所述机器人沿着所述走廊区域的中心线运行。11.一种机器人,其特征在于,所述机器人包括:机器人本体、旋转机构、激光雷达及主控芯片,其中:所述激光雷达,通过所述旋转机构与所述机器人本体连接,用于在所述旋转机构的带
动下,对包括走廊区域的应用场景进行扫描以采集包括所述走廊区域的当前帧点云数据;所述主控芯片,设置在所述机器人本体上,用于根据如权利要求1-9任一项所述的机器人导航方法对所述当前帧点云数据进行处理以控制所述机器人沿所述走廊区域中心线运行。12.一种终端设备,其特征在于,所述终端设备包括存储器、处理器及存储在所述存储器中并可在所述处理器上运行的基于走廊环境的机器人导航程序,所述处理器执行所述基于走廊环境的机器人导航程序时,实现如权利要求1-9任一项所述的基于走廊环境的机器人导航方法的步骤。13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于走廊环境的机器人导航程序,所述基于走廊环境的机器人导航程序被处理器执行时,实现如权利要求1-9任一项所述的基于走廊环境的机器人导航方法的步骤。
技术总结
本发明公开了一种基于走廊环境的机器人导航方法、机器人及存储介质,方法包括:获取包括走廊区域的当前帧点云数据,并对当前帧点云数据进行走廊特征提取得到当前走廊点云数据;基于当前走廊点云数据中的走廊特征,确定当前走廊点云数据的当前中心线,当前中心线用于表征机器人在当前位姿下的走廊区域的中心线;将当前帧点云数据与基于历史帧点云数据拼接得到的局部地图进行配准,得到机器人的当前位姿数据;计算机器人当前位姿数据与当前中心线的偏差,并基于偏差控制机器人的运行路径使机器人沿着走廊区域的中心线运行。本发明无需构建全局地图,只需构建局部地图即可完成机器人在走廊中的导航任务。走廊中的导航任务。走廊中的导航任务。
技术研发人员:沈真全 李航 万培佩
受保护的技术使用者:奥比中光科技集团股份有限公司
技术研发日:2023.04.24
技术公布日:2023/10/7
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/