本发明涉及路径搜索技术,具体涉及一种基于万有引力搜索的水面无人艇航路规划方法。
背景技术:
水面无人艇(unmanned surface vehicle,USV)可承担情报收集、海上侦察监视、精确打击、搜捕、水文地理勘察、反恐、海洋封锁支持等功能,在海洋科研、海洋开发和军事领域具有极其广泛的应用前景,已经成为国内外智能化装备的研究方向之一。目前已有多种无人艇应用于军事、科研等领域,其中以美国的“SPAR-TAN”和以色列的“Protector”为典型代表。自主航线规划是实现水面无人艇自治航行的重要环节。路径的选择目标是要求得的路径路程为所有路径之中的最小值。
万有引力搜索算法(gravitational search algorithm,GSA)是由伊朗的克曼大学教授Esmat Rashedi等人于2009年提出的一种源于对物理学中的万有引力进行模拟的新的优化搜索技术,与粒子群算法(particle swarm optimization,PSO)相似,是一种元启发式算法,它通过群体中各粒子之间的万有引力相互作用产生的群体智能指导优化搜索,而且它是一种新兴的启发式仿生智能优化算法,目前人们对万有引力搜索算法的研究虽然刚刚起步,但是已经取得了很多突破性进展,从而使这种新兴的仿生优化算法展现出勃勃生机和广阔的发展前景。不同于其它仿生智能算法,万有引力搜索过程中所体现出的并行性、协同性、自组织性、动态性、强鲁棒性等特点与复杂战场环境的许多要求是相符的,因此万有引力搜索算法可用于解决水面无人艇的智能避碰问题。但是基本万有引力搜索算法存在着搜索时间长、容易陷于局部最优解等缺点,因此在应用万有引力搜索算法解决水面无人艇航路规划问题时必须对其进行改进。
技术实现要素:
本发明的目的在于提供一种基于万有引力搜索方法的水面无人艇航路规划方法,可以在更短的时间内寻找出最优的路径,具有较好的实时性和快速性,更适用于路径的搜寻技术。
为了实现上述目的,本发明采用的具体技术方案如下:
一种基于万有引力搜索方法的水面无人艇航路规划方法,包括如下步骤:
步骤一:将水面无人艇的原坐标系Oxy转化成以起点和终点连线为横轴的新坐标系Ox’y’,将x’轴D等分,根据万有引力搜索算法得出的数据,优化每个等分点垂线上的y’坐标,得到一组由y’坐标组成的数据,将得出的新坐标一一连接,得到一条连接起始点和终点的路径,进而建立一个关于D维函数优化的水面无人艇航路规划数学模型,所采用的坐标系的转换公式为:
其中,(x,y)是原坐标系Oxy上的路径点,(x,’y’)是新坐标系Ox’y’上的路经点,θ为原坐标系Oxy转为新坐标系Ox’y’的角度,ST表示原坐标系Oxy下起始点到终点的向量;
步骤二:初始化改进的万有引力搜索算法的参数,所述参数包括优化维数D、种群规模M、最大迭代次数Kmax、水面无人艇的起点S和水面无人艇的终点T;
步骤三:随机初始化N条路径以及各个粒子的初始位置和加速度,建立旋转坐标系,然后将所述旋转坐标系的横轴D等分;
步骤四:计算在t时刻所述N条路径中的每条路径的适应度值fitness、最好适应度值best(t)和最坏适应度值worst(t),并更新引力常数G(t);
步骤五:按照以下式子更新粒子的惯性质量Mi(t):
其中,fiti(t)表示第i个粒子在t时刻的适应值fitness大小,且,最好适应度值best(t)和最坏适应度值worst(t)分别表示为:
步骤六:根据基于动态惯性权重法的万有引力方法对粒子速度进行更新,更新公式如下:
式中,w表示惯性权重,且基于动态惯性权重法的w=(0.5+rand/2);randj,randk表示在[0,1]之间的随机变量;c1,c2表示在[0,1]之间的常量;表示粒子i经历过的最好位置;表示群体中所有粒子所经历的最好位置;
步骤七:采用优胜劣汰的选择模式对各个粒子进行位置更新,位置更新公式如下:
步骤八:若迭代次数t大于最大迭代次数Kmax,则退出循环,并将得到的最优路径坐标进行坐标反变换,并输出最优航行路径;否则,返回步骤四进入下一次迭代。
可选的,所述步骤四中,在t时刻更新的引力常数:
式中,G0表示引力常数的初始值,α为调节引力常数G(t)的衰减速度的因子,K表示t时刻迭代的次数。
可选的,G0为100,α为20。
与现有技术相比,本发明的技术方案具有以下有益效果:
(1)针对基本万有引力搜索方法存在的搜索时间长、容易陷于局部最优解等缺点进行了改进,在基本万有引力搜索方法基础上引入了动态惯性权重法机制,得到改进的万有引力搜索方法,可以提高路径搜索方法的准确度,降低路径搜索所花费的时间;
(2)首次提出将动态惯性权重法运用到万有引力搜索方法之中,用于水面无人艇路径规划,能够在水面无人艇复杂的作业环境中快速高效地搜索到最优路径,满足水面无人艇作业工程实际需要,提高了水面无人艇的自治能力,该技术方案可扩展应用于机器人、航空、航天、工业生产等涉及多维函数优化问题的领域。
附图说明
图1是基本万有引力准则;
图2是本发明的基于万有引力搜索的水面无人艇航路规划方法的流程图;
图3是本发明具体实施例的水面无人艇路径规划模型。
具体实施方式
基本万有引力搜索算法是一种基于牛顿定律和运动规律的启发式算法,该算法主要是在重力规则上提高探索和操作能力。万有引力(GSA)是自然界中4种基础力之一,粒子在万有引力的作用下不断相互靠近,在自然界中粒子之间都会相互吸引。根据牛顿万有引力公式(1)可知,粒子之间力的大小和它们的质量成正比,与它们之间的欧式距离的平方成反比:
其中F表示万有引力的大小,G表示引力常数,M1和M2分别代表两个粒子的惯性质量,R表示两个粒子的欧式距离。可知较重的粒子对其他粒子具有较强的吸引力,如图1所示。
按照牛顿第二定律,当一个力F作用在一个物体上时,该物体会加速向该作用力的方向移动。加速度的大小取决于这个物体的惯性质量M和作用力F的大小:
其中a代表物体在作用力F下的加速度,M为物体的惯性质量。
假设在一个D维的空间中有N个粒子组成的群体,定义第i个粒子的位置为:其中表示第i个粒子在第d维上的位置。在t时刻我们定义第i个粒子受到第j个粒子的作用引力大小为:
其中Maj和Mpi分别表示作用粒子j的惯性质量和被作用粒子i的惯性质量,ε是一个很小的常量,G(t)表示在t时刻的引力常数,Rij(t)表示第i个粒子和第j个粒子之间的欧式距离,其中,
Rij(t)=||Xi(t),Xj(t)||2,(5)
式中,G0表示引力常数的初始值,α为调节引力常数G(t)的衰减速度的因子,通过α调节引力常数G(t)的衰减速度来控制搜索的精度,K表示迭代的次数。
在基本万有引力搜索算法中,设定在第d维上作用在第i个粒子上的总的作用力是来自其他所有粒子作用力的总和,定义为:
上式中,randi表示范围在[0,1]之间的一个随机数,表示第j个粒子作用在第i个粒子上在d维空间上的引力。根据引力公式,粒子i在第d维上t时刻的加速度为:
上式中,Mi表示第i个粒子的惯性质量。
在基本万有引力算法中,粒子更新自己的位置和速度按照以下公式进行:
上式中,为了使搜索具有随机化,randj表示为[0,1]之间的随机数。而上面提到的惯性质量是根据以下式子得出的:
Mai=Mpi=Mii=Mi,i=1,2,3,…,N; (10)
上式中,fiti(t)表示第i个粒子在t时刻的适应值fitness大小,最好适应度值best(t)和最坏适应度值worst(t)分别为:
本发明提供一种基于万有引力搜索的无人艇航路规划方法,该方法是在基本万有引力搜索方法的基础引入动态惯性权重法而进行的改进,相较于蚁群方法、粒子群方法以及基本万有引力搜索方法,其可以在更短的时间内寻找出最优的路径,更适用于路径的搜寻技术,有助于时间成本。
下面并结合附图,通过具体实施例,对本发明的一种基于万有引力搜索的无人艇航路规划方法作进一步详细的说明。
请参考图3,本发明提供一种基于万有引力搜索的无人艇航路规划方法,其具体实现步骤如下:
步骤一:建立水面无人艇航路规划数学模型。
水面无人艇智能避碰问题的本质就是路径规划问题,水面无人艇路径规划的问题即:给定一个水面无人艇所处的环境,一个起点,一个期望的终点,水面无人艇路径规划根据一定的任务要求,寻求一条连接起点到终点且能避开环境中障碍物的运动轨迹,即最优或次优有效路径。本发明采用的改进万有引力搜索方法是将水面无人艇避碰问题转化为一个D维函数优化的问题:将原坐标系Oxy转化成以起点和终点连线为横轴的新坐标系Ox’y’。将x’轴D等分,根据万有引力搜索算法得出的数据,优化每个等分点垂线上的y’坐标,得到一组由y’坐标组成的数据。由于横坐标x’可以明显得到,将得出的新坐标一一连接,从而得到一条连接起始点和终点的路径,这样就将水面无人艇避碰问题转化为D维函数优化问题,本实施例中,水面无人艇处于图2中的障碍物1、障碍物2和障碍物3的环境中,并通过坐标系转换以及万有引力搜索算法的D维函数优化机制,建立了水面无人艇航路规划数学模型,该数学模型是一个D维函数。其中,所采用的坐标系的转换公式为:
其中(x,y)是原坐标系Oxy上的路径点,(x’,y’)是新坐标系Ox’y’上的路经点,θ为原坐标系Oxy转为新坐标系Ox’y’的角度,ST表示原坐标系Oxy下起始点到终点的向量。
步骤二:初始化改进的万有引力搜索算法的参数,这些参数也是基本万有引力搜索算法的参数,包括优化维数D、种群规模M、最大迭代次数Kmax、水面无人艇的起点S和水面无人艇的终点T。
步骤三:随机初始化N条路径以及各个粒子的初始位置和加速度,建立旋转坐标系,然后将所述旋转坐标系的横轴D等分。
步骤四:计算在t时刻所述N条路径中的每条路径的适应度值fitness、最好适应度值best(t)和最坏适应度值worst(t),并更新引力常数G(t),其中,
式中,G0表示引力常数的初始值,α为调节引力常数G(t)的衰减速度的因子,通过α调节引力常数G(t)的衰减速度来控制搜索的精度,K表示t时刻迭代的次数。本实施例中,G0为100,α为20。
步骤五:按照以下式子更新粒子的惯性质量Mi(t)。
上式中,mi(t)表示第i个粒子在t时刻的质量,fiti(t)表示第i个粒子在t时刻的适应值fitness大小,其中上面提到的最好适应度值best(t)和最坏适应度值worst(t)可分别表示为:
步骤六:根据基于动态惯性权重法的万有引力方法对粒子速度进行更新。
由于万有引力算法和粒子群算法都是通过粒子在搜索空间中移动获得的,我们采用粒子群算法的进化方程来为万有引力算法的速度更新引入动态惯性权重,即改进的万有引力搜索方法的粒子速度更新公式如下:
式中,randj,randk表示在[0,1]之间的随机变量;c1,c2表示在[0,1]之间的常量,通过调节c1,c2的值,可以平衡引力和记忆以及信息共享的对搜索的影响;表示粒子i经历过的最好位置;表示群体中所有粒子所经历的最好位置,w为惯性权重且w=(0.5+rand/2)。由此可见,改进的万有引力算法的惯性权重w是动态变化的,w的变化可以调整粒子在运动过程中受“引力”“记忆”“信息共享”的影响程度,较大的w有较好的全局收敛能力,而较小的w有较好的局部收敛能力。
步骤七:采用优胜劣汰的选择模式对粒子进行位置更新,具体是:当新的粒子的适应度值好于目标粒子的适应度值时,新的粒子被种群接受,否则,目标粒子将继续保留在下一代的粒子更新中。优胜劣汰地进行粒子的位置更新可用以下式子表示:
表示粒子i在第K代更新之后的位置;表示粒子i在第K代更新之前的位置;表示粒子在第K代执行选择操作之后的位置。
即采用改进万有引力算法的位置更新公式,可以将每一代的位置的适应度值计算出来,只有当新的位置的适应度值小于之前的适应度值的时候,才取代其位置,从而实现优胜劣汰,使种群向最优解方向进化。
步骤八:若t时刻迭代的次数K大于最大迭代次数Kmax,则退出循环;否则,返回步骤四进入下一迭代,迭代循环结束后,将得到的最优路径坐标进行坐标反变换,得到最优航行路径并输出。
本发明理论依据扎实,将动态惯性权重法运用到万有引力搜索方法之中,有效提高路径搜索方法的准确度,降低路径搜索所花费的时间,可广泛应用于机器人、航空、航天、工业生产等涉及多维函数优化问题的领域。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。