一种巡逻机器人全覆盖遍历路径规划算法的设计方法与流程

文档序号:14897159发布日期:2018-07-08 08:29阅读:659来源:国知局

本发明涉及一种移动机器人路径规划方法,具体地说是一种巡逻机器人全覆盖遍历路径规划算法的设计方法,属于机器人路径规划技术领域。



背景技术:

机器人是智慧城市的重要组成部分。除了扫地机器人、陪伴机器人等个人应用类的机器人,安防、救援、医疗、物流配送等类型的公共服务机器人将直接参与到智慧城市的管理和运行。其中,安防机器人以巡逻机器人为代表,展现出极大的发展潜力及空间。巡逻机器人现已应用于智能工厂、仓库等室内室外条件,在无人或少人的场景下使用,辅助以及部分替代人类完成重复性强、危险性高、人力难以实现的安防巡逻工作。

目前国内已有的巡逻机器人可在室外环境下沿预先铺设的磁标识进行规划路径,按预定路线巡视。范创伟的发明专利“机器人巡逻路径控制方法”(专利号:zl201010189875.2),和张军等的发明专利“一种夜间巡逻机器人自动循迹方法”(专利号:zl201510312932.4),都采用的是这种通过在巡逻路径上铺设磁导标循迹进行路径规划的方法。但它们均存在以下问题:(1)巡检线路单一,巡检不灵活,功能单一;(2)不具备自主规划路径的能力,与代替人工巡逻的目标相差较远。

巡逻机器人所规划路径要求能够监测整个巡逻区域,遍历每个巡逻轨迹点,实现快速扫描,保证及时发现资源、爆炸物、入侵者或入侵设备等;在外部观察者看来,路径是随机、高度不可预测的,这样具有保密性,可以不被入侵者(或入侵物)所预测、发现或逃逸。针对这类任务,大都采用随机规划的方法。但随机方法规划效率低,不能保证全覆盖遍历,也不能人为进行控制。近年来,国内外专家逐渐利用外部呈现随机性而内部具有确定性的混沌信号来代替随机信号进行特殊环境下的全覆盖遍历任务研究,以求取得更好的特性。混沌系统的主要特性是拓扑遍历性和对初始条件的敏感依赖性。拓扑遍历性能够保证整个运行区域的彻底扫描,而对初始条件的敏感依赖性,意味着系统初始状态的微小变化,就将产生一条完全不同的混沌路径,能够产生所希望的不可预测的规划路径。混沌系统还具有确定性,这意味着机器人的行为可以被系统的设计者提前预测。这对于机器人位置的精准定位非常关键。

目前在这方面的研究工作很少,主要集中在选用一个可行的混沌系统方程,来完成特殊任务下的全覆盖遍历规划任务。设计方法是将混沌动力学方程中的一个或两个变量,映射到移动机器人运动学方程中,控制机器人的转向或位移,从而产生混沌规划行为,完成特殊任务下的遍历覆盖。所规划遍历路径能够满足执行巡逻等特殊任务的要求,但执行效率低,在有障碍物环境里大都采用镜面映射的避障方法,改变了系统的混沌特性,不利于特殊任务的要求。

针对以上方法所存在的问题,以及巡逻机器人执行巡逻、监测等任务所要求的实时高效、全覆盖遍历、不可预测等巡逻路径的要求,因此,设计一种切实可行、效率高、易于工程实现的巡逻机器人路径规划方法,达到类似人类巡逻的效果,具有重要的理论研究意义和社会、军事应用价值。



技术实现要素:

针对现有技术的不足,本发明提出一种巡逻机器人全覆盖遍历路径规划算法的设计方法,不仅能够简化巡逻任务、实现工作区域内的全覆盖遍历、提高规划效率、实现自主避障,而且能够满足执行巡逻任务时所需的规划路径随机性、不可预测性等特殊要求,实现工作区域内的巡逻任务。

本发明解决其技术问题采取的技术方案是:一种巡逻机器人全覆盖遍历路径规划算法的设计方法,它包括以下步骤:

步骤一:选择一维chebychev(切比雪夫)映射作为混沌动力学方程,并利用反正弦变换对其混沌特性和均匀特性进行改善;

步骤二:用两个经过反正弦改进后的一维chebychev映射方程构造出一个二维混沌路径规划器,用于产生巡逻机器人全覆盖遍历规划路径的轨迹点;

步骤三:将机器人的巡逻区域进行分解,划分为可遍历子区域和障碍区域;

步骤四:建立过渡子区域并设计过渡算法,用于实现相邻可遍历子区域的过渡;

步骤五:将巡逻区域内的可遍历子区域连接起来形成遍历顺序图;

步骤六:按照遍历顺序图和过渡算法,设计巡逻机器人全覆盖遍历路径规划算法,用于完成巡逻任务。

进一步地,在步骤一中,chebychev映射是一种形式简单的映射方程,具有k阶的chebychev映射,可表示为:

xn=f(xn-1)=cos(k·arccos(xn-1))(1)

式中,k是系统的阶数,n是迭代次数;参数k的取值决定系统是否处于混沌状态,控制参数k从0变化到6,chebychev映射从有序变为无序直至混沌;

当k取大于等于2的整数时,系统进入混沌状态,在运行区间内任意给定一个初始值x0,由公式(1)产生的迭代轨迹xn,随着k的增加,逐渐充满整个运行空间,使系统进入满映射状态,轨迹xn∈[-1,1],是有界的;

为了使机器人能够迅速遍历工作空间,混沌方程应该具有很好的均匀性;而chebychev映射产生的迭代轨迹xn在运行区间内的分布不均匀,呈现两头大中间小的现象,即中间轨迹分布稀疏,两头稠密;利用公式(2)所示的反正弦变换函数对公式(1)产生的迭代轨迹xn进行改进:

改进后的迭代轨迹在运行区间内分布均匀,可以提高巡逻机器人的覆盖率和工作效率。

进一步地,lyapunov指数是衡量系统混沌状态的一个重要参数,如果最大lyapunov指数λ>0,则系统处于混沌状态,λ越大,系统的混沌性能越好,从而系统的随机性、不可预测性越好;计算λ的公式为:

当k=6时,由公式(3)计算得λ=1.7918,经过公式(2)改进后,λ=3.2147。λ得到了显著提高,因此增加了系统的混沌性能,从而提高了系统的随机特性,有利于机器人巡逻任务所要求的随机性、不可预测性等特殊性能。

进一步地,在步骤二中,巡逻机器人全覆盖遍历规划路径的轨迹点为(xn,yn),

取k=6时的满映射混沌状态为:

公式(4)中(xn,yn)的运行范围是[-1~1,-1~1]的矩形空间;利用仿射变换将其映射到机器人的任意大小矩形运行空间为:

其中[abcd]是仿射变换系数;

则所构造的混沌路径规划器为:

给定一个无障碍物的巡逻机器人的工作空间,根据公式(4)和公式(5)计算出工作空间的仿射变换参数[abcd],然后在运行区间内任意给定一个初始值(x0,y0),根据公式(6)依次计算出机器人在该区域内的每个巡逻轨迹点(xn,yn),将相邻轨迹点连接起来,形成了巡逻机器人的移动轨迹。

所构造的混沌路径规划器对初始值具有敏感特性,只要稍有差异,就能产生完全不同的迭代轨迹。对初始值的敏感特性,使巡逻机器人产生的移动轨迹具有随机性、不可预测性,能够满足巡逻任务的特殊要求。

进一步地,在步骤三中,将机器人所要巡逻的工作区域进行分解,划分为可遍历子区域和障碍区域。将可遍历子区域依次遍历完成,则巡逻机器人就完成了一次巡逻任务。

利用平行分割线,从左到右、再从上到下(或从右到左、再从下到上)沿障碍物边缘,依次向两边划分,碰到工作边界停止一次分割,直到所有的障碍物边缘区域分割完成为止;分割完成后,由分割线和机器人工作区域边界交叉形成障碍物子区域和无障碍物的栅格子区域sx;将相邻分割线和工作边界之间(任选一个合并方向,从上到下、或从下到上、或从左到右,或从右到左)的所有栅格区域分别合并成一个可遍历子区域si_x,以减少区间转换次数,提高过渡效率。

进一步地,在步骤四中,当机器人完成一个可遍历子区域si_x内的巡逻任务时,转移到下一个子区域继续巡逻的过程为:首先将与两个相邻可遍历子区域si_x具有重叠边界的栅格sx(位于其中的一个迭代子区域si_x内,与相邻的si_x一个边重叠)作为过渡子区域;位于过渡子区域内的轨迹点,根据混沌路径规划器的吸引子特性,经过相邻迭代子区域si_x内的一次迭代,迭代轨迹立即进入到si_x内,实现机器人在相邻区域的自主过渡。选择具有重叠边界的栅格作为过渡区域,同时可以避免机器人与相邻的障碍物边缘发生碰撞,保证规划路径的安全性。

进一步地,在步骤四中,利用过渡算法实现相邻可遍历子区域的过渡的具体过程为:

(a)机器人在当前可遍历子区域si_x内迭代,直到完成子区域内的巡逻任务,设结束轨迹点为t;

(b)判断过渡矩阵是否位于当前可遍历子区域si_x内,如果是则顺序执行步骤(c),否则转移到步骤(d);

(c)判断结束轨迹点t是否位于过渡矩阵内,如果是则顺序执行步骤(d),否则转移到步骤(e);

(d)启动过渡子区域内的一次迭代,根据吸引子特性,迭代轨迹进入过渡区域内;

(e)启动相邻子区域si_x迭代,同样根据吸引子特性,仅经过一次迭代,迭代轨迹就进入了si_x,顺利完成过渡任务。

通过设计过渡区域,机器人可以顺利、安全地完成相邻迭代子区域的过渡。否则,直接过渡容易引起机器人与相邻障碍物的碰撞,发生危险。

进一步地,在步骤五中,将巡逻区域内所有可遍历子区域si_x连接起来,建立一个可遍历顺序图,其中遍历顺序图中每个可遍历子区域仅出现一次,机器人按照可遍历顺序图的遍历顺序依次遍历每个si_x,直至完成巡逻任务为止。

进一步地,所述步骤六的具体过程包括以下步骤:

(a)巡逻任务的初始化设置,任意选择巡逻起点(x0,y0)和可遍历子区域si_x,设置执行一次巡逻区域任务内的总巡逻次数n,按照面积比例关系计算每个si_x的巡逻次数ni_x,选择遍历方向p,假设p=1为顺时针,p=0为逆时针;

(b)在当前可遍历子区域内,根据公式(6)计算遍历覆盖轨迹,直到迭代次数完成,结束子区域内的巡逻任务;

(c)根据过渡算法,实现相邻可遍历子区域的过渡;

(d)判断是否回到起点子区域?否则转移到(b),是则完成一次巡逻任务;

(e)机器人巡逻任务完成一遍以后可以继续下次巡逻,直至工作空间不再需要巡逻为止。

进一步地,所述二维混沌路径规划器还具有吸引子特性,初始值在运行区间内的迭代轨迹,一直局限在一个矩形区域内,不会跑出去,也不会与边缘碰撞,利用这个特性可以实现巡逻机器人的自主避障;如果初始值位于运行区间外,经过吸引区域的一次迭代,迭代轨迹会立即进入运行区间,利用这个特性设计过渡区域可以实现相邻运行区域的过渡。

本发明的有益效果如下:

(1)将区域分解和chebychev混沌动力学方程相结合设计巡逻机器人的巡逻轨迹,区域分解将机器人复杂的巡逻任务分解为每个可遍历子区域内的巡逻任务,简化了任务的实现;混沌动力学方程利用混沌特性实现每个可遍历子区域内的巡逻任务以及相邻子区域的过渡,产生满足巡逻任务要求的遍历覆盖轨迹以及随机性、不可预测性等特殊需求;算法简单,容易实现;

(2)为巡逻机器人所构造的混沌路径规划器,具有混沌方程的对初始值的敏感特性,使巡逻机器人产生的移动轨迹具有随机性、不可预测性,能够满足巡逻任务的特殊要求;

(3)所构造的混沌路径规划器具有混沌方程的遍历覆盖性和满映射特点,使迭代轨迹充满整个运行区域,使机器人能够不重复地遍历每个巡逻轨迹点,不存在清扫盲区;

(4)经过反正弦改进后的混沌方程产生的巡逻轨迹,在运行区间内分布均匀,可以提高巡逻机器人的覆盖率和工作效率;

(5)改进后的迭代轨迹不仅改善了均匀分布特性,同时也提高了其混沌特性,从而提高巡逻轨迹的的随机分布特性和不可预测性;

(6)所选的混沌方程具有吸引子特性,初始值在运行区间内的迭代轨迹,一直局限在一个矩形区域内,不会与边缘碰撞,可以实现机器人的自动避障;

(7)所设计的过渡子区域,利用所构造的二维混沌路径规划器的吸引子特性,一是可以实现相邻运行区域的过渡,在相邻子区域之间的过渡不需要确定起点和终点,过渡点随机产生;二是可以避免与附近障碍物边缘碰撞,实现安全巡逻。

与传统方法相比,本发明采用综合设计的方法,算法简单,重复率低、覆盖高率高,不存在覆盖盲区;相邻子区域可以自动过渡,连接点随机产生;不需要设计避障算法;在保证巡逻区域全覆盖的同时,还能够满足巡逻任务随机性、不可预测性的要求。

附图说明

图1为本发明的方法流程图;

图2为本发明所述chebychev映射的分岔图;

图3为轨迹xn在迭代区间内的分布图;

图4为轨迹xn在迭代区间内的分布直方图;

图5为经过反正弦改进后的轨迹xn在迭代区间内的分布图;

图6为经过反正弦改进后的轨迹xn在迭代区间内的分布直方图;

图7为混沌路径规划器所产生的规划点示意图;

图8为巡逻机器人的巡逻路线图;

图9为chebychev映射对初始值的敏感性(迭代次数n=20)示意图;

图10为混沌路径规划器的吸引子特性示意图,迭代次数n=10,图10(a)的起点为(1,13);图10(b)起点为(14,14);图10(c)起点为(14,2);

图11为巡逻机器人工作空间示意图;

图12为区域分解的示意图;

图13为合并后的迭代子区域示意图;

图14为可遍历子区域si_abc到si_d的过渡算法流程图;

图15为可遍历子区域si_abc到si_d的过渡轨迹示意图,起点(x0,y0)=(3,8),用“o”表示,终点用“*”表示;迭代次数ni_abc=20

图15(a)为si_abc区域内的迭代示意图,图15(b)为巡逻轨迹过渡到过渡区域sc区域内的示意图,图15(c)为巡逻轨迹过渡到迭代子区域si_d区域内的示意图;

图16为起点(x0,y0)=(9,9)时从迭代子区域si_abc到迭代子区域si_d的过渡轨迹示意图;

图17为机器人在相邻迭代子区过渡时的碰撞情况(无过渡区域)示意图;

图18为遍历顺序图;

图19为巡逻机器人遍历算法框图;

图20为机器人的巡逻轨迹示意图,图20(a)中nn=200;图20(b)中nn=5000。

具体实施方式

为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。

针对巡逻移动机器人全覆盖遍历路径规划,本发明提出一种将区域分解和chebychev映射混沌方程相结合进行综合设计的方法。利用区域分解算法,将包含有障碍物的巡逻任务空间分解为障碍物区域和可遍历子区域,简化遍历覆盖任务的实现和避障算法的设计;利用反正弦变换改进一维chebychev映射,提高遍历轨迹的均匀分布特性和系统的混沌特性;利用两个一维chebychev映射构造一个二维的chebychev混沌路径规划器,直接控制巡逻机器人的移动轨迹;利用chebychev映射的吸引子特性,设计过渡子区域,实现相邻子区域的自动衔接和快速过渡;构造可遍历子区域遍历连接图,按照连接顺序,移动机器人在每个可遍历子区域内利用二维chebychev混沌路径规划器,产生能够满足巡逻任务的遍历覆盖轨迹,依次遍历每个可遍历子区域,直至巡逻任务的完成。与传统方法相比,本发明这种综合设计的方法,算法简单,重复率低、覆盖高率高,不存在覆盖盲区;相邻子区域可以自动过渡,连接点随机产生;不需要设计避障算法;在保证巡逻区域全覆盖的同时,还能够满足巡逻任务随机性、不可预测性的要求。

如图1所示,本发明的一种巡逻机器人全覆盖遍历路径规划算法的设计方法,它具体包括以下步骤:

1、选择一维chebychev映射作为混沌动力学方程,并利用反正弦变换对其混沌特性和均匀特性进行改善。

chebychev映射是一种形式简单的映射方程,具有k阶的chebychev映射可表示为:

xn=f(xn-1)=cos(k·arccos(xn-1))(1)

k是系统的阶数,n是迭代次数。参数k的取值决定系统是否处于混沌状态。控制参数k从0变化到6,这里取初值x0=0.1,画出系统的分岔图,如图2所示。从图形中可以看出,chebychev映射从有序变为无序直至混沌。当k取大于等于2的整数时,系统进入混沌状态。由公式(1)产生的迭代轨迹xn,随着k的增加,逐渐充满整个运行空间,使系统进入满映射状态,轨迹xn∈[-1,1],是有界的。

为了使机器人能够迅速遍历工作空间,混沌方程应该具有很好的均匀性。而chebychev映射产生的迭代轨迹xn在运行区间内的分布不均匀,呈现两头大中间小的现象。如图3所示,画出了xn在迭代区间内的分布图,其中k=6,x0=0.1,迭代次数n=2000。从图形中可以看出,在极值1和-1附近,轨迹点分布稠密,而中间区域,分布稀疏。图4利用直方图统计出了各个区间的分布数量,对xn在运行空间内的分布情况进行了定量分析。从图形中也可以看出两头数据分布量多,而中间偏少。

利用反正弦变换对公式(1)产生的迭代轨迹xn进行改进:

变换后的轨迹在运行区间内的分布如图5所示,其直方图如图6所示。从图形中可以看出,改进后的迭代轨迹分布均匀,可以提高巡逻机器人的覆盖率。

变换后的迭代轨迹不仅改善了均匀分布特性,同时也提高了其混沌特性。lyapunov指数是衡量系统混沌状态的一个重要参数。如果最大lyapunov指数λ>0,则系统处于混沌状态。λ越大,系统的混沌性能越好,从而系统的随机性能越好。计算λ的公式为:

当k=6时,由公式(3)计算得λ=1.7918,经过公式(2)改进后,λ=3.2147。λ得到了显著提高,因此增加了系统的混沌性能,从而提高了系统的随机特性,有利于机器人巡逻任务所要求的随机性、不可预测性等特殊性能。

2、二维混沌路径规划器的构造

用两个经过反正弦改进后的一维chebychev映射方程构造成一个二维混沌路径规划器,用来直接产生巡逻机器人全覆盖遍历规划路径的轨迹点(xn,yn)。这里取k=6时的满映射混沌状态:

(xn,yn)的运行范围是[-1~1,-1~1]的矩形空间。利用仿射变换可以将其映射到机器人的任意运行空间:

其中[abcd]是仿射变换系数,则所构造的混沌路径规划器为:

图7示意出了混沌路径规划器在一个无障碍物工作区域[0~10,0~10]范围内所规划的轨迹点。将相邻的轨迹点连接起来,就形成了巡逻机器人在一个无障碍可遍历区间内的巡逻路线,如图8所示。其中仿射变换系数[abcd]=[5555],初始值(x0,y0)=(0.1,0.2),迭代次数n=2000。

混沌路径规划器对初始值具有敏感特性,只要稍有差异,就能产生完全不同的迭代轨迹。如图9所示,实线轨迹由(x0,y0)=(0.1,0.2)产生,y0保持不变,x0只增加了0.0001,仅经过2次迭代,就产生了一条完全不同的迭代轨迹,如图中虚线所示。对初始值的敏感特性,使巡逻机器人产生的移动轨迹具有随机性、不可预测性,能够满足巡逻任务的要求。

混沌路径规划器还具有吸引子特性。初始值(x0,y0)在运行区间内的迭代轨迹(xn,yn),一直局限在一个矩形区域内,不会跑出去,也不会与工作空间的边缘碰撞,如图7和8所示。利用这个特性,可以实现巡逻机器人的自主避障。如果初始值位于运行区间外,经过吸引区域的一次迭代,迭代轨迹会立即进入运行区间。如图10(a)、图10(b)和图10(c)所示,位于迭代区域[0~10,0~10]外面的轨迹点,(1,13)、(14,14)和(14,2),把它们分别作为起点,根据公式(6)求出轨迹点(xn,yn)。经过一次迭代后,(xn,yn)就被吸引进了工作空间。利用这个特性,在后面的步骤4中设计过渡区域,实现相邻运行区域的过渡。

3、巡逻区域分解

将机器人所要巡逻的工作区域进行分解,划分为可遍历子区域和障碍区域。将可遍历子区域依次遍历完成,则巡逻机器人就完成了一次巡逻任务。

划分方法是利用平行分割线,从左到右(或从右到左)、再从上到下(或从下到上)沿障碍物边缘,依次向两边划分,碰到工作边界停止一次分割,直到所有的障碍物边缘区域分割完成。分割完成后,由分割线和机器人工作区域边界交叉形成障碍物子区域和无障碍物的栅格子区域sx。将相邻分割线和工作边界之间(任选一个合并方向,从上到下、或从下到上、或从左到右,或从右到左)的所有栅格区域分别合并成一个可遍历子区域si_x,以减少区间转换次数,提高过渡效率。在沿障碍物边缘进行分割的过程中,可采用不同的顺序(或路线)进行分割,同样,进行区域合并过程中,也可采用不同的顺序(或路线)进行区域合并。

如图11所示建立了一个巡逻机器人的工作空间,大小为10×10。中间深灰色矩形区域为障碍物,大小为4×4,左下角位于(3,3)的位置。如图12所示,由两条平行分割线和两条垂直分割线(虚线表示)进行分割、区域分解后产生了8个栅格(即无障碍物区域)sx,分别表示为sa,sb,sc,sd,se,sf,sg和sh。按从上到下的合并顺序构造了4个可遍历子区域si_x,分别为si_abc,si_d,si_efg,si_h,如图13所示,其中si_abc由sa,sb和sc三个栅格合并而成,si_efg由se,sf和sg三个栅格合并而成,si_d即sd,si_h即sh。机器人将这四个子区域依次遍历完成,就实现了一次巡逻任务。

这四个迭代子区域的仿射变换系数[abcd]如下:

si_abc:[58.551.5];

si_d:[8.551.52];

si_efg:[5152];

si_h:[1522]。

4、建立过渡子区域,设计过渡算法,实现相邻可遍历子区域的过渡

当机器人完成一个可遍历子区域si_x内的巡逻任务时,需要转移到下一个子区域继续巡逻。

首先在栅格子区域sx中选择一个作为过渡子区域。选择方法是将与两个相邻可遍历子区域si_x具有重叠边界的栅格sx(位于其中的一个迭代子区域si_x内,与相邻的si_x一个边重叠)作为过渡子区域。位于过渡区域内的轨迹点,根据如图10所示的吸引子特性,经过相邻迭代子区域si_x内的一次迭代,轨迹立即进入到si_x内,实现机器人在相邻区域的自主过渡。

选择具有重叠边界的栅格作为过渡区域,同时可以避免机器人与相邻的障碍物边缘发生碰撞,保证规划路径的安全性。

如图12、13所示,两两相邻的si_x之间的过渡子区域如下:

sc:si_abc和si_d之间;

se:si_d和si_efg之间;

sg:si_efg和si_h之间;

sa:si_h和si_abc之间。

这四个过渡子区域的仿射变换系数[abcd]如下:

sc:[8.58.51.51.5];

se:[8.511.52];

sg:[1122];

sa:[18.521.5]。

所述过渡算法具体为:

(a)机器人在当前可遍历子区域si_x内迭代,直到完成子区域内的巡逻任务,设结束轨迹点为t;

(b)判断过渡矩阵是否位于当前可遍历子区域si_x内?否的话转移到(d),是的话顺序执行;

(c)判断结束轨迹点t是否位于过渡矩阵内?是的话转移到(e),否的话顺序执行;

(d)启动过渡子区域内的一次迭代,根据吸引子特性,迭代轨迹进入过渡区域内;

(e)启动相邻子区域si_x迭代,同样根据吸引子特性,仅经过一次迭代,迭代轨迹就进入了si_x,顺利完成过渡任务。

如图14所示,画出了从迭代子区域si_abc到迭代子区域si_d的过渡流程图,sc是过渡矩阵。图15画出了从迭代子区域si_abc到迭代子区域si_d的过渡轨迹。在si_abc区域内给定起点(x0,y0)=(3,8),迭代次数ni_abc=20次,根据所求出的仿射变换系数[abcd]和公式(6),求出巡逻轨迹点(xn,yn)。图15(a)表示机器人在si_abc区域内进行迭代计算,完成该区域内的巡逻任务。起点用“o”表示,巡逻任务完成后的终点t用“*”表示。因为t没有落到过渡区域sc内,因此启动过渡区域sc内的迭代,如图15(b)所示,经过一次迭代,巡逻轨迹就被吸引到了过渡区域内,过渡点用“◇”表示。把过渡点作为迭代起点,启动si_d区域内的迭代,如图15(c)所示,“+”表示进入点,粗实线表示过渡轨迹。同样经过一次迭代,过渡轨迹就进入到了迭代子区域si_d内,机器人顺利完成过渡任务。

图16画出了起点(x0,y0)=(9,9)时从迭代子区域si_abc到迭代子区域si_d的过渡轨迹。因为子区域si_abc内的迭代结束点位于过渡区域sc内,因此不需要再启动sc迭代,直接启动si_d迭代,经过一次迭代,就完成了过渡任务。

通过设计过渡区域,机器人可以顺利、安全地完成相邻迭代子区域的过渡。否则,直接过渡容易引起与障碍物的碰撞,发生危险。如图17所示,没有经过过渡区域sc,过渡线与障碍物相交而引起碰撞,粗实线表示过渡轨迹。

5、建立遍历顺序图

机器人要按照一定的顺序,依次巡逻每个可遍历子区域si_x。因此要建立一个可遍历顺序图,将巡逻区域内所有si_x连接起来。为了使机器人能够在每个巡逻点的巡逻次数差不多,遍历顺序图中每个执行覆盖任务的可遍历子区域仅出现一次。

将图13所示四个可遍历子区域si_abc、si_d、si_efg和si_h依次连接起来,如图18所示,建立起遍历顺序图,实线箭头表示顺时针连接顺序,虚线表示逆时针连接顺序。

6、全覆盖遍历算法的设计

按照上述所构建的遍历顺序图和相邻子区域的过渡算法,设计移动机器人全覆盖遍历算法,完成巡逻任务。移动机器人全覆盖遍历算法具体如下:

(a)巡逻任务的初始化设置。任意选择巡逻起点(x0,y0)和可遍历子区域si_x,设置执行一次巡逻区域任务内的总巡逻次数n,按照面积比例关系计算每个si_x的巡逻次数ni_x,选择遍历方向p,假设p=1为顺时针,p=0为逆时针;

(b)在当前可遍历子区域内,根据公式(6)计算遍历覆盖轨迹,直到迭代次数完成,完成子区域内的巡逻任务;

(c)根据步骤四中的过渡算法,实现相邻可遍历子区域的过渡;

(d)判断是否回到起点子区域?否则转移到(b),是则完成一次巡逻任务。

巡逻机器人遍历算法框图如图19所示。机器人巡逻任务完成一遍以后可以继续下次巡逻,直至不再需要巡逻为止。

图20画出了机器人完成一次巡逻任务的巡逻轨迹。起点(x0,y0)=(3,8),位于si_abc区域,选p=1顺时针巡逻方向。图20(a)中总的巡逻轨迹点为nn=200,图20(b)中nn=5000。其中“o”表示起点,“◇”表示终点,粗实线为相邻可覆盖区域的过渡线。

从图20中可以看出,机器人巡逻轨迹位于空白的可行区域内,不与障碍物和工作空间碰撞,因此所规划的路径是可行的、安全的,能够实现自动避障;相邻可覆盖子区域仅经过一次迭代就能实现过渡,衔接点自主产生,不需要特殊设计,算法简单,过渡效率高;巡逻轨迹在可行区域内分布均匀,覆盖每个点,不存在规划死区,能够保证可行工作区域全覆盖,因此规划效率高;规划次数越多,覆盖越均匀,巡逻效果越好;规划轨迹具有混沌方程的随机特性,能够满足巡逻机器人移动轨迹随机性、不可预测行的要求。

以上所述只是本发明的优选实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也被视为本发明的保护范围。

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