一种智能机器人的路径规划方法转让专利

申请号 : CN201611244989.6

文献号 : CN107340768B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 肖刚军李明李根唐

申请人 : 珠海市一微半导体有限公司

摘要 :

本发明公开一种智能机器人的路径规划方法,包括:(1)将操作空间分为若干个n米*m米矩形虚拟区域;(2)控制智能机器人以弓字型行为逐一遍历每一个所述虚拟区域;(3)智能机器人的弓字型行为过程中,以距离信息、角度信息、碰撞信息及障碍信息构建栅格地图,并标记通过点、障碍物点、碰撞点;(3)实时分析已经构建的地图,判断整个操作空间是否已经遍历完成,是则进入步骤(4),否则返回步骤(2);(4)控制智能机器人进行一次沿边行为,并在构建的地图上标记沿边行为点。本发明只依靠机器人行为的距离信息、角度信息、碰撞信息及障碍信息就可以建立起一个误差在可控范围内的有效栅格地图,实现了一种低成本且效率高的机器人路径规划方法。

权利要求 :

1.一种智能机器人的路径规划方法,所述智能机器人包括主控模块、行动轮、碰撞检测传感器、障碍物检测传感器、距离信息传感器、角度信息传感器;其特征在于,所述方法包括:(1)将操作空间分为若干个n米*m米矩形虚拟区域;

(2)控制智能机器人以弓字型行为逐一遍历每一个所述虚拟区域;

(3)智能机器人的弓字型行为过程中,以距离信息传感器所获取的距离信息、角度信息传感器所获得的角度信息、碰撞检测传感器获取的碰撞信息及障碍物检测传感器获取的障碍信息构建栅格地图,并标记通过点、障碍物点、碰撞点;

(3)实时分析已经构建的地图,判断整个操作空间是否已经遍历完成,是则进入步骤(4),否则返回步骤(2);

(4)控制智能机器人进行一次沿边行为,并在构建的地图上标记沿边行为点;

所述弓字型行为包括:第一步、直行,直到发现障碍物,或到达所述虚拟区域边界;第二步、发现障碍物或到达所述虚拟区域边界后,转90度;第三步、直行设定距离L或发现障碍物;第四步、转90度,返回第一步;

所述若干个n米*m米矩形虚拟区域中第一个虚拟区域的边界确定方法为:竖向边界确定:智能机器人启动时,以前行方向为一条边界,第一次启动右转,右边n米的平行线为另一条边界;竖向边界在智能机器人启动时,就已经设置好了;横向边界确定:当在竖向行进时,不停的计算竖向方向上,智能机器人走过的地图最大与最小坐标点,当最大最小坐标点的差值达到m米时,则以过竖向最大与最小坐标点,及与竖向边界垂直的直线为横向的边界。

2.根据权利要求1所述的智能机器人的路径规划方法,其特征在于,所述弓字型行为第三步中的设定距离L米为机器人宽度的一半。

3.根据权利要求1所述的智能机器人的路径规划方法,其特征在于,所述栅格地图中每个栅格用一个数码序列表示,其中包括:表示此栅格位于那个虚拟区域内的数码段、表示智能机器人是否到达过此栅格的数码段、表示此栅格是否存在障碍物的数码段、表示智能机器人在此栅格是否发生碰撞的数码段、表示智能机器人沿边时经过此栅格的数码段。

4.根据权利要求1或3所述的智能机器人的路径规划方法,其特征在于,所述栅格地图的表现形式可以为:用不同的颜色分别表示智能机器人未标记的栅格、通过点、障碍物点、碰撞点、沿边行为点。

5.根据权利要求1所述的智能机器人的路径规划方法,其特征在于,所述若干个n米*m米矩形虚拟区域中新的虚拟区域的分析确定方法为:在第一个 虚拟区域遍历结束时,分析其四个虚拟边界线上的坐标点;如果某个虚拟边界上有两个及以上连续的坐标点,智能机器人正常通过,且没有发生碰撞,周围也没有发现障碍物,认为此虚拟边界的旁边存在一个新区域;则将此新区域存储到虚拟区域的新区域数组中,然后从新区域数组中选取离智能机器人最近的区域并进入;按照所述第一个虚拟区域的边界确定方法确定新进入的虚拟区域的边界,该新进入的虚拟区域遍历完后,从新区域数组中将对应的新区域信息删除;如此迭代,当发现新区域数组中再也没有新的区域了,则弓字型行为结束,同时表明整个操作空间是否已经遍历完成。

6.根据权利要求5所述的智能机器人的路径规划方法,其特征在于,所述以弓字型行为遍历一个虚拟区域时,弓字型行为的退出条件包括:条件1:在弓字型行为第三步直行中,连续两次发现障碍物,则缩短第一步直行的距离;在弓字型行为第一步直行中,连续两次走的长度低于智能机器人的宽度的一半,则退出弓字型行为;条件2:在弓字型行为的过程中,不停的分析弓字型行为第三步直行方向是否都为障碍物,如果都为障碍物则退出弓字型。

7.根据权利要求6所述的智能机器人的路径规划方法,其特征在于,当一次弓字型行为结束时,分析地图,寻找离当前智能机器人最近的漏经局部区域,然后将智能机器人导航到漏经的局部区域,再次启动弓字型行为,直至该虚拟区域遍历完成。

8.根据权利要求7所述的智能机器人的路径规划方法,其特征在于,是否存在所述漏经局部区域,其判断方法具体为:弓字型行为第三步直行方向或其180度的反方向上,是否存在连续二个边界点,如果存在则认为此处存在漏经的局部区域;所述边界点为地图边界上的点,智能机器人正常通过且没有发生碰撞,周围也没有障碍物。

9.根据权利要求8所述的智能机器人的路径规划方法,其特征在于,在所有漏经的局部区域中,寻找离智能机器人最近的漏经的局部区域,继续启动弓字型行为。

10.根据权利要求8所述的智能机器人的路径规划方法,其特征在于,所述边界点的确认方法包括:(a)判断此点是否可正常通过且没有发生碰撞,周围也没有检测到障碍物,是则进入步骤(b),否则进入结束;(b)判断此点前面的点机器人是否没有通过且没有发生碰撞,周围也没有检测到障碍物,是则进入步骤(c),否则进入结束;(c)认为此点为边界点;其中,所述前面的点,是指当前点,弓字型行为第三步直行方向上或其180度的反方向的下一个坐标。

11.根据权利要求10所述的智能机器人的路径规划方法,其特征在于,所述整个操作空间的遍历过程中,未遍历的虚拟区域的确认方法具体包括:(A)遍历整个地图数组,判断当前点是否为最后一个点,是则结束,否则进入步骤(B);(B)判断当前点是否为虚拟边界点,是则进入步骤(A),否则进入步骤(C);(C)判断当前点是否为边界点,是则进入步骤(D),否则进入步骤(A);(D)判断此边界点是否存在一个以上相邻点也为边界点,是则进入步骤(E),否则进入步骤(A);(E)将此点存入边界数组中。

12.根据权利要求1所述的智能机器人的路径规划方法,其特征在于,所述沿边行为包括:根据已经建立好的地图,算出已遍历区域边界总长度;用这个总长度除以智能机器人沿边时前进的速度得出沿边遍历的时间;启动沿边,直到沿边时间到,结束沿边行为。

说明书 :

一种智能机器人的路径规划方法

技术领域

[0001] 本发明涉及智能控制技术领域,具体涉及一种智能机器人的路径规划方法。

背景技术

[0002] 智能机器人作为世界经济与产业增长方式转变过程中的关键因素,正在进入新的发展阶段。智能机器人是具有感知、决策、执行的制造装备、设备工具、服务消费品,用于生产过程与环境中的制造装备智能机器称为工业机器人,用于个人或家政服务的消费品智能机器称为家用服务机器人,用于特殊环境下作业与维护的设备工具智能机器称为特种服务机器人。
[0003] 以家用的扫地机器人为例,其又称自动打扫机、智能吸尘、机器人吸尘器等,是智能家用电器的一种,能凭借一定的人工智能,自动在房间内完成地板清理工作。
[0004] 扫地机器人需要按照一定的路径规划来覆盖整个房间区域,完成遍历的目的。路径规划,有随机遍历和规划遍历两种。
[0005] 随机遍历,是指机器人根据一定的移动算法,如三角形、五边形轨迹尝试性的覆盖作业区,如果遇到障碍,则执行对应的转向函数。这种方法是一种以时间换空间的低成本策略,如不计时间可以达到100%覆盖率。随机覆盖法不用定位、也没有环境地图,也无法对路径进行规划。当前iRobot的大多数扫地机器人采用的就是这种方法。
[0006] 规划遍历,是指机器人行走过程中建立起环境地图,实时分析地图并完成新的路径规划,将房间全部进行清扫。这种方法效率高,在保证覆盖率的前提下,能够以最快的速度完成清扫。
[0007] 其中规划清扫需要解决三个问题:
[0008] 1、建立地图,并能够定位(确定机器人的位置)。
[0009] 2、导航,从启始位置导航到目标位置,且在导航过程中能够实现自动避开障碍物。
[0010] 3遍历整个房间的方法。

发明内容

[0011] 本发明旨在提供一种低成本的机器人路径规划方法,只依靠机器人行为的距离信息、角度信息、碰撞信息及障碍信息就可以建立起一个误差在可控范围内的有效栅格地图,以便进行路径规划。本发明的目的由以下技术方案实现:
[0012] 一种智能机器人的路径规划方法,所述智能机器人包括主控模块、行动轮、碰撞检测传感器、障碍物检测传感器、距离信息传感器、角度信息传感器;其特征在于,所述方法包括:
[0013] (1)将操作空间分为若干个n米*m米矩形虚拟区域;
[0014] (2)控制智能机器人以弓字型行为逐一遍历每一个所述虚拟区域;
[0015] (3)智能机器人的弓字型行为过程中,以距离信息传感器所获取的距离信息、角度信息传感器所获得的角度信息、碰撞检测传感器获取的碰撞信息及障碍物检测传感器获取的障碍信息构建栅格地图,并标记通过点、障碍物点、碰撞点;
[0016] (3)实时分析已经构建的地图,判断整个操作空间是否已经遍历完成,是则进入步骤(4),否则返回步骤(2);
[0017] (4)控制智能机器人进行一次沿边行为,并在构建的地图上标记沿边行为点;
[0018] 所述弓字型行为包括:第一步、直行,直到发现障碍物,或到达所述虚拟区域边界;第二步、发现障碍物或到达所述虚拟区域边界后,转90度;第三步、直行设定距离L或发现障碍物;第四步、转90度,返回第一步;
[0019] 所述若干个n米*m米矩形虚拟区域中第一个虚拟区域的边界确定方法为:竖向边界确定:智能机器人启动时,以前行方向为一条边界,第一次启动右转,右边n米的平行线为另一条边界;竖向边界在智能机器人启动时,就已经设置好了;横向边界确定:当在竖向行进时,不停的计算竖向方向上,智能机器人走过的地图最大与最小坐标点,当最大最小坐标点的差值达到m米时,则以过竖向最大与最小坐标点,及与竖向边界垂直的直线为横向的边界。
[0020] 作为具体的技术方案,所述弓字型行为第三步中的设定距离L米为机器人宽度的一半。
[0021] 作为具体的技术方案,所述栅格地图中每个栅格用一个数码序列表示,其中包括:表示此栅格位于那个虚拟区域内的数码段、表示智能机器人是否到达过此栅格的数码段、表示此栅格是否存在障碍物的数码段、表示智能机器人在此栅格是否发生碰撞的数码段、表示智能机器人沿边时经过此栅格的数码段。
[0022] 作为具体的技术方案,所述栅格地图的表现形式可以为:用不同的颜色分别表示智能机器人未标记的栅格、通过点、障碍物点、碰撞点、沿边行为点。
[0023] 作为具体的技术方案,所述若干个n米*m米矩形虚拟区域中新的虚拟区域的分析确定方法为:在第一各虚拟区域遍历结束时,分析其四个虚拟边界线上的坐标点;如果某个虚拟边界上有两个及以上连续的坐标点,智能机器人正常通过,且没有发生碰撞,周围也没有发现障碍物,认为此虚拟边界的旁边存在一个新区域;则将此新区域存储到虚拟区域的新区域数组中,然后从新区域数组中选取离智能机器人最近的区域并进入;按照所述第一个虚拟区域的边界确定方法确定新进入的虚拟区域的边界,该新进入的虚拟区域遍历完后,从新区域数组中将对应的新区域信息删除;如此迭代,当发现新区域数组中再也没有新的区域了,则弓字型行为结束,同时表明整个操作空间是否已经遍历完成。
[0024] 作为具体的技术方案,所述以弓字型行为遍历一个虚拟区域时,弓字型行为的退出条件包括:条件1:在弓字型行为第三步直行中,连续两次发现障碍物,则缩短第一步直行的距离;在弓字型行为第一步直行中,连续两次走的长度低于智能机器人的宽度的一半,则退出弓字型行为;条件2:在弓字型行为的过程中,不停的分析弓字型行为第三步直行方向是否都为障碍物,如果都为障碍物则退出弓字型。
[0025] 作为具体的技术方案,当一次弓字型行为结束时,分析地图,寻找离当前智能机器人最近的漏经局部区域,然后将智能机器人导航到漏经的局部区域,再次启动弓字型行为,直至该虚拟区域遍历完成。
[0026] 作为具体的技术方案,是否存在所述漏经局部区域,其判断方法具体为:弓字型行为第三步直行方向或其180度的反方向上,是否存在连续二个边界点,如果存在则认为此处存在漏经的局部区域;所述边界点为地图边界上的点,智能机器人正常通过且没有发生碰撞,周围也没有障碍物。
[0027] 作为具体的技术方案,在所有漏经的局部区域中,寻找离智能机器人最近的漏经的局部区域,继续启动弓字型行为。
[0028] 作为具体的技术方案,所述边界点的确认方法包括:(a)判断此点是否可正常通过且没有发生碰撞,周围也没有检测到障碍物,是则进入步骤(b),否则进入结束;(b)判断此点前面的点机器人是否没有通过且没有发生碰撞,周围也没有检测到障碍物,是则进入步骤(c),否则进入结束;(c)认为此点为边界点;其中,所述前面的点,是指当前点,弓字型行为第三步直行方向上或其180度的反方向的下一个坐标。
[0029] 作为具体的技术方案,所述整个操作空间的遍历过程中,未遍历的虚拟区域的确认方法具体包括:(A)遍历整个地图数组,判断当前点是否为最后一个点,是则结束,否则进入步骤(B);(B)判断当前点是否为虚拟边界点,是则进入步骤(A),否则进入步骤(C);(C)判断当前点是否为边界点,是则进入步骤(D),否则进入步骤(A);(D)判断此边界点是否存在一个以上相邻点也为边界点,是则进入步骤(E),否则进入步骤(A);(E)将此点存入边界数组中。
[0030] 作为具体的技术方案,所述沿边行为包括:根据已经建立好的地图,算出已遍历区域边界总长度;用这个总长度除以智能机器人沿边时前进的速度得出沿边遍历的时间;启动沿边,直到沿边时间到,结束沿边行为。
[0031] 本发明采用一种弓字型的走法,以虚拟分区的方式来遍历房间,只要在弓字型过程中,尽量避免发生碰撞,且转90度时速度不要过快且平稳,这样轮子编码器和陀螺仪的误差都会小。从而保证在弓字型过程中记录的地图是有效的。这种弓字型遍历房间方法,在不需要校准的情况下,为我们建立一个误差在可控范围内的地图,提供一种可能。

附图说明

[0032] 图1为本发明实施例提供的智能机器人的模块构成图。
[0033] 图2为本发明实施例提供的路径规划方法中机器人的弓字型行为的走法图。
[0034] 图3为本发明实施例提供的路径规划方法中虚拟区域边界界定的示意图。
[0035] 图4、图5、图6分别为本发明实施例提供的路径规划方法中机器人以弓字型行为在虚拟区域中行走并遇到实际边界的不同情形的示意图。
[0036] 图7为本发明实施例提供的路径规划方法中边界点的确认方法流程图。
[0037] 图8为本发明实施例提供的路径规划方法中未遍历的虚拟区域的确认方法流程图。

具体实施方式

[0038] 下面结合附图对本发明的具体实施方式作进一步说明:
[0039] 如图1所示,本实施例提供的智能机器人的路径规划方法,其基于的智能机器人包括行动机体1、主控模块4、传感器集合5、电源模块及区域操作组件。其中,行动机体1包括机壳、行动轮2、3。传感器集合5包括碰撞检测传感器、防跌落检测传感器、障碍物检测传感器、距离信息传感器、角度信息传感器,均与主控模块电连接。
[0040] 具体地,碰撞检测传感器用于智能机器人前面碰到障碍物时,做出当前与障碍物发生了碰撞的判断并通知主控模块4。防跌路检测传感器用于当智能机器人下方为悬空状态时,做出当前处于危险状态的判断并通知主控模块4。障碍物检测传感器用于检测机器人周围是否出现障碍物并通知主控模块4,检测距离为10cm,由前,前左,前右,左,右,五个红外测距传感器组成。距离信息传感器为轮子编码器,角度信息传感器为陀螺仪。区域操作组件是指对机器人所处区域进行某些功能操作的组件,可以为清洁组件、摄像组件、加湿组件、除湿组件、灭虫组件中的一个或多个,本实施例以清洁组件为例进行说明,即本实施例所述的机器人为清洁机器人。
[0041] 本实施例提供的智能机器人的路径规划方法中,机器人采用弓字型走法。如图2所示,这四个步骤,一直重复,即实现弓字型走法:
[0042] 第一步:直行,直到发现障碍物,或到达虚拟分区边界。
[0043] 第二步:发现障碍物后,转90度。
[0044] 第三步:直行,直行150mm(约智能机器人直径或宽度的一半)或发现障碍物。
[0045] 第四步:转90度。
[0046] 弓字型走法的好处在于,智能机器人只有走直线和转90度,这两个动作。我们知道,轮子编码器的误差主要来于轮子打滑,陀螺仪的误差主要来于智能机器人转弯过快或抖动时,超出其角速度测量范围。在弓字型过程中,利用红外测距传感器,尽量避免发生碰撞,且使用黑白万向轮用来检测智能机器人是否发生打滑现象,当打滑现象发生时,忽略打滑时轮子编码器给出的前进距离。同时,控制转90度时速度不要过快且平稳,这样轮子编码器和陀螺仪的误差都会小。从而保证在弓字型过程中记录的地图是有效的。
[0047] 本实施例提供的智能机器人的路径规划方法中,构建地图时采用栅格地图。距离信息传感器所获取的距离信息、角度信息传感器所获得的角度信息、碰撞检测传感器获取的碰撞信息及障碍物检测传感器获取的障碍信息构建栅格地图,并记录通过点、障碍物点、碰撞点。智能机器人边走边更新地图,只要是机器人走过的地方都会把状态更新到栅格地图上。
[0048] 建立的栅格地图保存于主控模块4中。栅格地图的表现形式可以为:黑色栅格表示智能机器人未标记此栅格,绿色栅格代表智能机器人正常通过的点,红色栅格代表障碍物点,蓝色栅格代表发生碰撞的点,白色栅格代表此点进行了沿边行为。
[0049] 其中,每个栅格用一个8bit的数来表示。其高四位记录区域信息,表示此栅格位于那个区域内,因此最多支持16个区域。其低四位用来表示地图的实际信息:第0位表示智能机器人是否到达过此栅格,为0表示未到达过,为1表示到达过;第1位表示此栅格是否存在障碍物,为0表示不存在,为1表示存在;第2位表示智能机器人在此栅格是否发生碰撞,为0表示没有发生过碰撞,为1表示已发生过碰撞;第3位,表示机器人沿边时,经过此栅格。
[0050] 本实施例提供的智能机器人的路径规划方法中,将操作空间分为多个n*m矩形虚拟区域,例如4X4平方米的虚拟区域。每次将一个虚拟区域遍历完后,再去遍历下一个区域。
[0051] 第一个虚拟区域的确定:
[0052] 如图3所示,竖向边界:智能机器人启动时,以前行方向为一条边界,第一次启动右转,右边4米的平行线为另一条边界。竖向边界在智能机器人启动时,就已经设置好了。
[0053] 横向边界:当在竖向行进时,不停的计算竖向方向上,智能机器人走过的地图最大与最小坐标点,当最大最小坐标点的差值达到四米时,则以过竖向最大与最小坐标点,及与竖向边界垂直的直线为横向的边界。
[0054] 如图4所示,其中虚线方形区域为一个虚拟区域,而实线部分为操作空间的一个实际边界。
[0055] 新的虚拟区域的分析确定:
[0056] 在第一虚拟区域遍历结束时,分析其四个虚拟边界线上的坐标点。如果某个虚拟边界上有2个及以上连续的坐标点(间隔0.3米以上),智能机器人正常通过,且没有发生碰撞,周围也没有发现障碍物,认为此虚拟边界的旁边存在一个新区域。则将此新区域存储到虚拟区域的新区域数组中。然后从新区域数组中选取离智能机器人最近的区域并进入。一个新虚拟区域遍历完后,从新区域数组中将对应的新区域信息删除。如此迭代,当发现新区域数组中再也没有新的区域了,则弓字型行为结束,同时表明整个操作空间遍历完成。
[0057] 具体地,以弓字型行为遍历一个虚拟区域时,弓字型行为的退出条件包括:
[0058] 条件1:
[0059] 在其第三步直行中,连续两次发现障碍物,则缩短第一步直行的距离;
[0060] 在其第一步直行中,连续两次走的长度低于150mm(约为智能机器人的半径或宽度的一半),则退出弓字型行为。
[0061] 条件2:
[0062] 在弓字型行为的过程中,不停的分析弓字型行为第三步直行方向是否都为障碍物,如果都为障碍物则退出弓字型。
[0063] 如图5所示,其中虚线方形区域为一个虚拟区域,而实线部分为操作空间的一个实际边界。当智能机器人走到墙边如图中右下方的点时,它检测到弓字型第三步直行方向都是障碍物时,则认为此次弓字型行为结束。
[0064] 当一次弓字型行为结束时,分析地图,寻找离当前智能机器人最近的漏经区域,然后将智能机器人导航到漏经区域,再次启动弓字型。如图6所示,其中虚线方形区域为一个虚拟区域,而实线部分为操作空间的一个实际边界。智能机器人遍历该虚拟区域时,被困在角落的小区域里,此时取消弓字型行为时,发现旁边存在未遍历的局部区域,则导航到此区域,接着上次的弓字型,继续遍历,直至该虚拟区域遍历完成。
[0065] 对于是否存在漏经局部区域的分析判断方法,具体如下:
[0066] 弓字型行为前进方向上(第三步直行方向)或其180度的反方向上,是否存在连续二个边界点(0.3米,智能机器人直径或宽度),如果存在则认为此处存在漏扫的区域。
[0067] 在所有的漏扫区域中,寻找离智能机器人最近的漏扫区域。将智能机器人导航到这个位置,启动弓字型继续遍历。当再也没有漏扫区域出现时,则认为这个虚拟区域遍历结束。
[0068] 边界点:地图边界上的点,智能机器人正常通过且没有发生碰撞,周围也没有障碍物。
[0069] 其中,边界点的确认方法如图7所示,包括:(a)判断此点是否可正常通过且没有发生碰撞,周围也没有检测到障碍物,是则进入步骤(b),否则进入结束;(b)判断此点前面的点机器人是否没有通过且没有发生碰撞,周围也没有检测到障碍物,是则进入步骤(c),否则进入结束;(c)认为此点为边界点。
[0070] 所述前面的点,是指当前坐标,弓字型前进方向(第三步直行方向)上(或其180度的反方向)的下一个坐标。
[0071] 参见图8所示,在整个操作空间的遍历过程中,未遍历的虚拟区域的确认方法,具体包括:(A)遍历整个地图数组,判断当前点是否为最后一个点,是则结束,否则进入步骤(B);(B)判断当前点是否为虚拟边界点,是则进入步骤(A),否则进入步骤(C);(C)判断当前点是否为边界点,是则进入步骤(D),否则进入步骤(A);(D)判断此边界点是否存在一个以上相邻点也为边界点,是则进入步骤(E),否则进入步骤(A);(E)将此点存入边界数组中。
[0072] 然后从边界数组中,选取离当前坐标点最近的边界点为目标点。将智能机器人导航到此点,接着上次的弓字型继续遍历。
[0073] 完成所有虚拟区域的遍历后,根据已经建立好的地图,算出已遍历区域边界总长度。用这个总长度除以智能机器人沿边时前进的速度得出沿边遍历的时间。启动沿边,直到沿边时间到,结束沿边行为。
[0074] 以上实施例仅为充分公开而非限制本发明,凡基于本发明的创作主旨、未经创造性劳动的等效技术特征的替换,应当视为本申请揭露的范围。