一种机器人快速找座方法、芯片和机器人与流程

文档序号:25541556发布日期:2021-06-18 20:37阅读:99来源:国知局
一种机器人快速找座方法、芯片和机器人与流程

本发明涉及机器人领域,具体涉及一种机器人快速找座方法、芯片和机器人。



背景技术:

移动机器人,诸如扫拖机器人、消毒机器人或宠物机器人等都配置有充电电池,在电池电量耗光之前,机器人必须回到充电座进行充电。目前,机器人一般采用自动找座的方法回座,常见的找座方法有随机找座、沿墙找座和rrt(快速扩展随机树算法)找座等。但是,上述找座方法不仅找座速度慢,还容易产生碰撞以及卡死的情况。比如,当通过沿墙方法找座时,机器人需要在整个空间的边沿移动,大大增加了移动距离,而且不可避免地会遇上位于墙边的障碍物。因此,需要对现有的找座方法进行改进。



技术实现要素:

为解决上述问题,本发明提供了一种机器人快速找座方法、芯片和机器人,可以在地图上没有记录充电座的信息,也没有充电座的信号的情况下,以较快的速度和较少的碰撞找到充电座。本发明的具体技术方案如下:

一种机器人快速找座方法,所述方法如下:机器人读取预存储的地图,将起始位置设置为搜索节点和参考点,然后搜索充电座信号,若搜索不到则根据参考点的位置设置下一个搜索节点;机器人在设置每一个搜索节点之前,会检测当前所在搜索节点是否满足边界条件,若满足则在当前位置设置下一个搜索节点,若不满足则移动到导航代价最小的搜索节点上设置下一个搜索节点;机器人重复设置搜索节点,并在搜索节点上搜索充电座信号,直至找到充电座或者检测到所有的搜索节点均不满足边界条件为止。本发明所述的方法利用参考点来设置搜索节点搜索充电座信号,以一定的规律在没有充电座信息的情况下完成快速地覆盖式探索,较随机找座或沿边找座方式有更高的效率。

进一步地,所述机器人检测搜索节点是否满足边界条件的方法为:首先,机器人以搜索节点为圆心、预设距离为半径作圆;然后,机器人判断圆上是否存在直线可达的点,若存在,则继续判断直线可达的点中是否存在与每个已设置的搜索节点的距离大于等于预设距离的点,若存在,则该搜索节点满足边界条件。检测搜索节点是否满足边界条件,可以知道该搜索节点是否可以扩展出下一个搜索节点。

进一步地,设置下一个搜索节点的方法为,机器人判断其所在位置与参考点的位置是否相同,若相同,则执行:s11,机器人以所在位置为圆心、预设距离为半径作圆;s12,机器人在圆上任取一个待定点,然后判断待定点是否直线可达,若是则继续判断待定点与每个已设置的搜索节点的距离是否大于等于预设距离,若是则将其设置为下一个搜索节点,若任一条件不满足,则进入s13;s13,机器人从s12中的待定点开始,每隔一个预设角度,在所述圆上向两边展开取新的待定点,并进行实时判断,然后将第一个同时满足s12中两个条件的待定点设置为下一个搜索节点;若不同,则执行:s21,机器人以所在位置为圆心、预设距离为半径作圆;s22,机器人连线所在位置与参考点,取所述线与圆的交点作为待定点;s23,机器人判断待定点是否直线可达,若是则继续判断待定点与每个已设置的搜索节点的距离是否大于等于预设距离,若是则将其设置为下一个搜索节点,若任一条件不满足,则进入s24;s24,机器人从s23中的待定点开始,每隔一个预设角度,在所述圆上向两边展开取新的待定点,并进行实时判断,然后将第一个同时满足s23中两个条件的待定点设置为下一个搜索节点。取直线可达的点,可以减少不必要的移动和碰撞;隔一定的距离取点,避免重复搜索;先取连线与圆的交点作为待定点进行判断,当该待定点满足条件时即可立即得到下一个搜索节点,减少了大量不必要的计算,大大提高了找座效率。

进一步地,所述机器人移动到导航代价最小的搜索节点的方法为:s31,机器人检测所有已设置的搜索节点是否满足边界条件,然后选择其中满足边界条件的搜索节点;s32,机器人规划从当前位置导航至s31中所述满足边界条件的搜索节点的路径,并计算各条路径的长度;s33,机器人比较路径长度并移动到其中最短路径所对应的搜索节点上。选择路径最短的搜索节点,可以减少不必要的移动和碰撞,提高找座效率。

进一步地,所述机器人每到一个搜索节点,会原地自转以搜索充电座信号。

一种芯片,内置控制程序,所述控制程序用于控制机器人执行上述的机器人快速找座方法。本发明所述的芯片可以控制机器人利用参考点来设置搜索节点搜索充电座信号,以一定的规律在没有充电座信息的情况下完成快速地覆盖式探索,较随机找座或沿边找座方式有更高的效率。

一种机器人,装配有主控芯片,所述主控芯片是上述的芯片。本发明所述的机器人可以利用参考点来设置搜索节点搜索充电座信号,以一定的规律在没有充电座信息的情况下完成快速地覆盖式探索,较随机找座或沿边找座方式有更高的效率。

附图说明

图1为本发明一种实施例所述机器人快速找座方法流程图。

图2为本发明一种实施例所述机器人快速找座示例图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细描述。应当理解,下面所描述的具体实施例仅用于解释本发明,并不用于限定本发明。

在本发明专利中,需要理解的是术语“上”、“下”、“左”、“右”、“前”、“后”等指示方位或位置关系为基于附图所示的方位或位置关系,仅是为了方便描述本发明实施和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明专利的限制。

所述机器人在行走过程中,会遇到不同的障碍物,为了有效简化对室内环境的描述,便于在路径规划中提出合理的对应策略,除非特殊说明,不然对室内障碍物做如下处理:1、只要障碍物与墙壁的距离不满足所述机器人通行的最小距离,机器人不能顺利通过,就按靠墙障碍物处理;2、对于直线型障碍物,用矩形代表其轮廓特征;对于非直线型障碍物,采用折线逼近法处理;3、当两个障碍物之间的距离很近而无法使所述机器人顺利通过时,可将二者看做一个障碍物进行处理。

本发明的机器人载体上装有陀螺仪用于转动角度角度检测、里程计用于行程距离检测,并且装有能够检测墙面距离的传感器,检测墙面距离的传感器可以是超声波距离传感器、红外强度检测传感器、红外距离传感器、物理开关检测碰撞传感器,电容或者电阻变化检测传感器等。

如图1所述,一种机器人快速找座方法,所述方法如下:机器人读取预存储的地图,将起始位置设置为搜索节点和参考点,然后搜索充电座信号,若搜索不到则根据参考点的位置设置下一个搜索节点;机器人在设置每一个搜索节点之前,会检测当前所在搜索节点是否满足边界条件,若满足则在当前位置设置下一个搜索节点,若不满足则移动到导航代价最小的搜索节点上设置下一个搜索节点;机器人重复设置搜索节点,并在搜索节点上搜索充电座信号,直至找到充电座或者检测到所有的搜索节点均不满足边界条件为止。本实施例所述的方法利用参考点来设置搜索节点搜索充电座信号,以一定的规律在没有充电座信息的情况下完成快速地覆盖式探索,较随机找座或沿边找座方式有更高的效率。

作为其中一种实施方式,所述机器人检测搜索节点是否满足边界条件的方法为:首先,机器人以搜索节点为圆心、预设距离为半径作圆;然后,机器人判断圆上是否存在直线可达的点,若存在,则继续判断直线可达的点中是否存在与每个已设置的搜索节点的距离大于等于预设距离的点,若存在,则该搜索节点满足边界条件。本实施例所述的方法,检测搜索节点是否满足边界条件,可以知道该搜索节点是否可以扩展出下一个搜索节点。

作为其中一种实施方式,设置下一个搜索节点的方法为,机器人判断其所在位置与参考点的位置是否相同,若相同,则执行:s11,机器人以所在位置为圆心、预设距离为半径作圆;s12,机器人在圆上任取一个待定点,然后判断待定点是否直线可达,若是则继续判断待定点与每个已设置的搜索节点的距离是否大于等于预设距离,若是则将其设置为下一个搜索节点,若任一条件不满足,则进入s13;s13,机器人从s12中的待定点开始,每隔一个预设角度,在所述圆上向两边展开取新的待定点,并进行实时判断,然后将第一个同时满足s12中两个条件的待定点设置为下一个搜索节点;若不同,则执行:s21,机器人以所在位置为圆心、预设距离为半径作圆;s22,机器人连线所在位置与参考点,取所述线与圆的交点作为待定点;s23,机器人判断待定点是否直线可达,若是则继续判断待定点与每个已设置的搜索节点的距离是否大于等于预设距离,若是则将其设置为下一个搜索节点,若任一条件不满足,则进入s24;s24,机器人从s23中的待定点开始,每隔一个预设角度,在所述圆上向两边展开取新的待定点,并进行实时判断,然后将第一个同时满足s23中两个条件的待定点设置为下一个搜索节点。本实施例所述的方法,取直线可达的点,可以减少不必要的移动和碰撞;隔一定的距离取点,避免重复搜索;先取连线与圆的交点作为待定点进行判断,当该待定点满足条件时即可立即得到下一个搜索节点,减少了大量不必要的计算,大大提高了找座效率。

作为其中一种实施方式,所述机器人移动到导航代价最小的搜索节点的方法为:s31,机器人检测所有已设置的搜索节点是否满足边界条件,然后选择其中满足边界条件的搜索节点;s32,机器人规划从当前位置导航至s31中所述满足边界条件的搜索节点的路径,并计算各条路径的长度;s33,机器人比较路径长度并移动到其中最短路径所对应的搜索节点上。本实施例所述的方法,选择路径最短的搜索节点,可以减少不必要的移动和碰撞,提高找座效率。

作为其中一种实施方式,所述机器人每到一个搜索节点,会原地自转以搜索充电座信号。

一种芯片,内置控制程序,所述控制程序用于控制机器人执行上述的机器人快速找座方法。本实施例所述的芯片可以控制机器人利用参考点来设置搜索节点搜索充电座信号,以一定的规律在没有充电座信息的情况下完成快速地覆盖式探索,较随机找座或沿边找座方式有更高的效率。

一种机器人,装配有主控芯片,所述主控芯片是上述的芯片。本实施例所述的机器人可以利用参考点来设置搜索节点搜索充电座信号,以一定的规律在没有充电座信息的情况下完成快速地覆盖式探索,较随机找座或沿边找座方式有更高的效率。

下面结合图2对图1所述的一种机器人快速找座方法进行详细的介绍。需要说明的是,机器人在开始找座之前已经建立了环境地图,所述环境地图可以是激光slam地图或者视觉slam地图或者激光与视觉融合slam地图等。地图的精度越高,越能体现出本发明提出的方法的优势。本实施例中以激光slam地图为例进行说明。

参照图2,机器人没有充电座的位置信息,也检测不到充电座的信号。n0是机器人的起始位置,将该位置设置为参考点,用于后续设置搜索节点时确定设置方向。首先,机器人以n0为圆心,预设距离为半径作圆设置下一个搜索节点,即找到下一个搜索充电座的位置。其中,预设距离由充电座的信号范围决定,一般为1-2米。因为目前只存在n0一个点,该点同时也是参考点,所以不用考虑设置方向。机器人在圆上任取一个待定点,然后借助激光slam地图进行判断:如果该待定点直线可达,即在n0到待定点的连线上没有障碍物和墙壁阻挡,那么将该待定点设置为下一个搜索节点;如果该待定点直线不可达,则从该待定点开始,机器人在圆上按照预设的角度向两边展开取点,并对获得的待定点进行实时检测,直到找到第一个直线可达的待定点时停止。第一个直线可达的待定点即为下一个搜索节点,在本实施例中,即为图2所示的n1。需要说明的是,在找到n1之前,只存在n0一个点,所以这里判断待定点与“其他已存在的搜索节点”的距离是否大于等于预设距离,实际上只需要判断待定点与no的距离是否大于等于预设距离。而待定点本来就是在以no为中心的圆上取的一个点,所以这里认为第一个直线可达的待定点即为下一个搜索节点。还需要说明的是,一般情况下,起始位置n0是满足边界条件的。如果不满足,说明机器人此时位于一个非常狭窄的空间中(预设距离仅为1-2米)。这是不符合实际情况的(除非机器人刚好被动态障碍物和/或其他障碍物包围),但为了严谨,进行如下说明:根据本发明所述的方法,机器人会去寻找一个导航代价最小的点并移动到该点设置下一个搜索节点。然而,机器人发现所有已设置的搜索节点(此时只有no)都不满足边界条件,即不存在导航代价最小的搜索节点可供机器人选择。那么,机器人将停止搜索。

机器人导航到n1处,原地旋转以检测充电座的信号。如果检测到充电座的信号,则按照信号的指引回座。如果检测不到,需要移动到下一个搜索节点进行检测。机器人检测到n1满足边界条件,这表明n1属于边界点。随后以n1为圆心,预设距离为半径作圆设置下一个搜索节点。不同的是,这次不再是任取圆上的一个点作为待定点。而是,连接n1与n0,取连线与圆的交点作为待定点,这种做法实际是以向量的方向作为起始设置方向。好处是,可以快速地找到离参考点最近的搜索节点,减少不必要的计算,从而提高找座效率。机器人判断到该待定点是直线可达的,但是该待定点与已存在的n0之间的距离小于预设距离(实际上,该待定点与n0重合了),所以该待定点不会作为机器人的下一个搜索节点。从该待定点开始,机器人在圆上按照预设的角度向两边展开取点,并对获得的待定点进行实时检测,直到找到第一个同时满足距离要求且直线可达这两个条件的待定点时停止。由图2可知,朝n1至n0方向,在n0的左边为墙壁,是无法找到同时满足前述两个条件的待定点的,所以,新的搜索节点位于n0的右边,即n2。

需要说明的是,所述边界点是搜索节点的一种属性。只要机器人在搜索节点处能够找到一个同时满足距离要求且直线可达这两个条件的待定点,那么就认为该搜索节点属于边界点。换句话说,就是如果机器人能够在搜索节点处找到一个可扩展的点,那么就认为该搜索节点属于边界点,否则为非边界点。需要注意的是,边界点会随着寻找充电座的进程推进从而转化为非边界点。

机器人导航到n2处,原地旋转以检测充电座的信号。如果检测到充电座的信号,则按照信号的指引回座。如果检测不到,需要移动到下一个搜索节点进行检测。机器人检测到n2为边界点,所以同样的,以向量的方向作为起始设置方向,搜索到符合两个条件的n3。在n3处,机器人仍然找不到充电座。机器人需要在n3处继续设置下一个搜索节点。需要说明的是,本实施例中n3旁边的沙发的底部是可移动通过的区域,这是机器人借助高精度的激光slam地图判断得出的结论。按照上述方法,以n0为参考点,机器人又设置了n4、n5和n6三个搜索节点且均检测不到充电座的信号,需要继续设置下一个搜索节点。

但此时无法在n6处进行设置,因为n6为非边界点,机器人需要找到一个符合条件的点来设置下一个搜索节点。机器人读取n0至n6中的边界点,即n3、n4和n5,然后分别规划n6到三个点的路径,最后比较三条路径的长度,取其中最短路径对应的n5,用来扩展下一个搜索节点。机器人从n6导航到n5,以向量的方向作为起始设置方向,搜索到符合两个条件的n7。需要说明的是,机器人在规划路径时,并不是简单地连接两点并计算长度。机器人是通过dwa(dynamicwindowapproach,局部路径规划)算法计算出一条最佳的速度指令,发送给机器人执行。其原理主要是在速度空间(v,w)中采样多组速度,并模拟这些速度在一定时间内的运动轨迹,再通过一个评价函数对这些轨迹打分,最优的速度被选择出来发送给下位机。dwa算法反应速度较快,计算不复杂,通过速度组合(线速度与角速度)可以快速得出下一时刻规划轨迹的最优解。在这个过程中还能够实现避障,不仅提高了找座效率还能减少碰撞。以此类推,机器人以n0为参考点,还找到了n8和n9,至此仍没有找到充电座,继续设置下一个搜索节点。

机器人检测到n9为非边界节点,于是移动到导航代价最小的n7处,以向量的方向作为起始设置方向,设置下一个搜索节点。参照图2,n10和n11已进入下一个房间,并在n11处,机器人成功检测到充电座的信号并回座。假设如下情况:n10和n11所在房间的房门是关闭的,那么n0至n9所有点都将变为非边界点,此时机器人会因找不到边界点而停止找座,因为这意味着当前可探索的区域已经全部探索完成。

由以上实施例可以看出,在不知道充电座信息的情况下,本发明所述的方法能够以一种覆盖面广、移动效率高的方式找到充电座,相比于随机找座或沿边找座方式更加高效且碰撞更少。

显然,上述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,各个实施例之间的技术方案可以相互结合。此外,如果实施例中出现“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等术语,其指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位或以特定的方位构造和操作,因此不能理解为对本发明的限制。如果实施例中出现“第一”、“第二”、“第三”等术语,是为了便于相关特征的区分,不能理解为指示或暗示其相对重要性、次序的先后或者技术特征的数量。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。这些程序可以存储于计算机可读取存储介质(比如rom、ram、磁碟或者光盘等各种可以存储程序代码的介质)中。该程序在执行时,执行包括上述各方法实施例的步骤。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1