本发明属于机器人,尤其涉及一种机器人导航方法、装置、机器人及存储介质。
背景技术:
1、随着人们生活水平逐步提高,智能家电得到广泛应用,扫地机器人是一种较为常见的家用清洁卫生电器。扫地机器人在清扫时通常会遇到各种各样的障碍物,比如说桌椅、楼梯等这些常见的扫地障碍物,对于此类障碍物扫地机器人能很好辨别。但是由于家庭的作业区域千差万别,除了桌椅、楼梯等这些常见场景之外,还可能遇到其他场景,如:马桶和洗澡玻璃门、马桶和洗漱台等不同家具组成的v/u/s通道场景,由于没有针对上述场景的控制算法,所以扫地机器人很容易被困住,或者出现误判,影响用户体验。
技术实现思路
1、为了解决现有技术的问题,本发明提出一种机器人导航方法、装置、机器人及存储介质。该方法可以使得机器人快速辨别当前所处的通道类型,根据与通道类型对应的导航策略帮助机器人实现脱困。
2、本发明实施例提供的具体技术方案如下:
3、第一方面,提供一种机器人导航方法,所述方法包括:
4、获取机器人行进过程中的障碍物信息;
5、根据所述障碍物信息确定机器人当前行进通道的通道类型;
6、获取与当前行进通道的通道类型相对应的导航策略并基于所述导航策略控制机器人行驶。
7、在一些实施例中,所述障碍物信息包括障碍物的点云数据;在获取到障碍物的点云数据后,所述方法还包括:
8、判断障碍物的点云数据是否属于机器人机身两侧;
9、所述根据所述障碍物信息确定机器人当前行进通道的通道类型具体包括:
10、当获取到机器人机身两侧的障碍物的点云数据时,根据机器人机身两侧的障碍物的点云数据的分布情况确定当前行进通道的通道类型;
11、其中,所述通道类型至少包括i型通道、v型通道、弧形通道、多边形通道中的任意一种。
12、在一些实施例中,所述根据所述障碍物信息确定机器人当前行进通道的通道类型具体还包括:
13、当机器人机身任一侧的障碍物的点云数据不存在时,实时检测是否存在碰撞位置数据;其中,所述碰撞位置数据由机器人与障碍物发生碰撞后实时记录得到;
14、当检测到碰撞位置数据时,基于碰撞位置数据确定碰撞侧的障碍物的形状;
15、基于碰撞侧的障碍物的形状及另一侧的障碍物的点云数据的分布情况确定通道类型。
16、在一些实施例中,所述根据所述障碍物信息确定机器人当前行进通道的通道类型具体还包括:
17、当机器人机身任一侧的障碍物的点云数据不存在时,实时检测是否存在边缘位置数据;其中,所述边缘位置数据由安装于机器人底部的传感器实时采集并处理后得到;
18、当检测到边缘位置数据时,基于边缘位置数据及另一侧的障碍物的点云数据的分布情况确定通道类型。
19、在一些实施例中,所述基于与当前行进通道的通道类型相对应的导航策略控制机器人行驶具体包括:
20、若机器人当前行进通道的通道类型为v型通道,则控制机器人离开当前行进通道;
21、若机器人当前行进通道的通道类型为i型通道、弧形通道、多边形通道中的任意一种,则判断是否满足离开条件,当确定满足离开条件时控制机器人离开当前行进通道。
22、在一些实施例中,所述确定满足离开条件包括:确定机器人行进前方为死胡同;具体包括:
23、检测机器人行进通道前方的通道距离是否小于机器人的机身宽度;
24、当小于时,则确定机器人行进前方为死胡同;或,
25、检测机器人行进前方是否存在悬崖或虚拟禁区;
26、若存在悬崖或存在虚拟禁区,则确定机器人行进前方为死胡同。
27、在一些实施例中,所述控制机器人离开当前行进通道具体包括:
28、判断机器人是否能够旋转;
29、当机器人无法旋转时,获取机器人后方安全侧的点云数据;
30、控制机器人基于安全侧的点云数据后退离开当前行进通道;
31、其中,所述安全侧包括障碍物的边界、已标记的虚拟禁区的边界、基于边缘位置数据确定得到的悬崖的边界中的任意一种。
32、在一些实施例中,所述方法还包括:
33、当检测到多个安全侧时,获取所有安全侧的优先级顺序;
34、所述控制机器人基于安全侧的点云数据后退离开当前行进通道具体包括:
35、基于安全侧的优先级顺序控制机器人基于优先级最高的安全侧的点云数据后退离开当前行进通道。
36、在一些实施例中,所述控制机器人离开当前行进通道具体还包括:
37、当机器人后方不存在安全侧时,获取机器人进入当前行进通道的历史轨迹;
38、控制机器人基于历史轨迹后退离开当前行进通道。
39、第二方面,提供一种机器人导航装置,所述装置包括:
40、获取模块,用于获取机器人行进过程中的障碍物信息;
41、处理模块,用于根据所述障碍物信息确定机器人当前行进通道的通道类型;
42、所述获取模块还用于获取与当前行进通道的通道类型相对应的导航策略;
43、控制模块,用于基于与当前行进通道的通道类型相对应的导航策略控制机器人行驶。
44、第三方面,提供一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的方法。
45、第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的方法。
46、本发明实施例具有如下有益效果:
47、1、本发明通过实时获取并处理机器人行进过程中的障碍物信息来确定机器人当前所处的通道类型,根据不同的通道类型获取不同的导航策略控制机器人行驶,相比于现有技术,本发明可以辨别不同通道场景,并基于不同通道场景对应的算法帮助机器人脱困,适应性强,整个过程更加快速、高效;
48、2、本发明通过获取障碍物两侧的点云数据的分布情况来确定当前的通道类型,该方法实现简单且有效;
49、3、由于一些障碍物材质特殊性,如玻璃等材质,或者由于传感器安装位置、结构限制导致其盲区出现障碍物使得传感器检测不到点云数据,基于此,本发明通过实时获取到的碰撞位置数据确定一侧障碍物形状,并结合另一侧障碍物的点云数据来确定通道类型;
50、4、对于一些悬崖等场景,同样难以获取到点云数据,基于此,本发明通过安装在机器人底部的传感器获取边缘位置数据,基于边缘位置数据、另一侧障碍物的点云数据来确定通道类型;
51、5、本发明实现了不同通道类型的不同导航策略,对于v型通道,由于前方越来越狭窄,因此控制机器人直接离开,对于i型通道、弧形通道、多边形通道,根据实际情况来确定,当满足离开条件时控制机器人离开;
52、6、本发明在控制机器人离开当前通道时,首先判断能否旋转,当机器人无法旋转时基于后方安全侧的点云数据控制机器人离开,在后方无安全侧时,通过历史轨迹控制机器人离开,从而可以保证机器人平稳后退。
53、7、本发明在基于安全侧的点云数据控制机器人离开时,根据安全侧的优先级顺序来控制,进一步保证机器人后退时的平稳性。