[发明专利]基于蚁群算法的无人船节能路径规划方法有效

专利信息
申请号: 202110547020.0 申请日: 2021-05-19
公开(公告)号: CN113341954B 公开(公告)日: 2023-03-21
发明(设计)人: 陈芳炯;张健铭;季飞;余华;官权升 申请(专利权)人: 华南理工大学
主分类号: G05D1/02 分类号: G05D1/02
代理公司: 广州粤高专利商标代理有限公司 44102 代理人: 何淑珍;江裕强
地址: 510640 广*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 算法 无人 节能 路径 规划 方法
【权利要求书】:

1.基于蚁群算法的无人船节能路径规划方法,其特征在于,包括以下步骤:

S1、通过栅格法对环境进行建模,在建模后的地图上设立n个任务点,选取两个任务点i,j,通过Lazy theta*算法计算两个任务点的中间路径点,将中间路径点连成线得到最短路径;执行循环如下:

循环步骤1、选取n个任务点后进行编号N={1,2,...,n},再选取两个任务点i,j∈N,i≠j,进行最短路径计算,采用Lazy theta*算法;

循环步骤2、初始化第一集合open和第二集合closed为空集;

循环步骤3、设置任务点i为起点start,j为终点destination;设置g(start)=0,parent(start)=start即表示起点的父节点为自己,f(start)=g(start)+h(start);将起点start加入第一集合open;

循环步骤4、判断第一集合open是否为空集,若是则表示找不到最短路径,退出计算,否则执行循环步骤5;

循环步骤5、在第一集合open中取出综合代价f(s)值最小的当前节点s;

循环步骤6、判断当前节点s与其父节点是否有障碍物,即lineofsight(parent(s),s)是否成立,若成立则跳到循环步骤8,否则执行循环步骤7;

循环步骤7、在第二集和closed中寻找当前节点s的邻居x,并在符合这个要求的节点中找到g(x)+c(s,x)最小的,且LOS检查成功的;再设置g(s)=g(x)+c(s,x);即设置

循环步骤8、判断当前节点s是否是终点destination,若是则找到路径,退出计算,否则执行循环步骤9;

循环步骤9、将当前节点s加入第二集合closed;

循环步骤10、找出当前节点s的一个邻居节点s′,若已经全部找完,跳到循环步骤4,否则跳到循环步骤11;

循环步骤11、判断邻居节点s′是否可通行,若是则跳到循环步骤12,否则循环步骤10;

循环步骤12、判断邻居节点s′是否在第二集合closed中,若是则跳到循环步骤10,否则执行循环步骤13;

循环步骤13、判断邻居节点s′是否在第一集合open中,若是则执行循环步骤14,否则跳到循环步骤15;

循环步骤14、设置g(s′)=g(parent(s))+c(parent(s),s′),parent(s′)=parent(s),f(s′)=g(s′)+h(s′),将邻居节点s′加入到第一集合open中,跳到循环步骤10;

循环步骤15、判断g(parent(s))+c(parent(s),s′)g(s′)是否成立,若否则跳到循环步骤10,若是继续执行循环步骤16;

循环步骤16、更新该邻居节点s′的信息g(s′)=g(parent(s))+c(parent(s),s′),parent(s′)=parent(s),f(s′)=g(s′)+h(s′),跳到循环步骤10;

LOS检查即lineofsight(a,b),检查节点a,b的连线是否会穿过障碍物,根据节点a,b的坐标xa,ya,xb,yb计算出当前连线的方程,再在坐标xa,ya,xb,yb范围内对每一个栅格执行以下操作:

若该栅格不是障碍物则跳过;若该栅格是障碍物,对该栅格的4个角分别代入计算出来的连线的方程,若该栅格的4个角都在连线的一边,表示连线不经过该障碍物,否则经过;

Lazy theta*算法中,通过下列函数来计算各个节点的优先级:

f(s)=g(s)+h(s);

c(s,s′)表示两点间的移动代价,其中g(s)=c(s,start)是节点s距离起点start的起始代价,h(s)=c(s,destination)是节点s距离终点destination的预计代价,f(s)是节点s的综合代价,c(s,s′)采用欧几里得距离计算,即两点间的直线距离;

S2、根据步骤S1中得出的中间路径点,全局风浪流干扰方向和干扰大小,计算任务点i到任务点j的最短距离dij和能量消耗eij;根据步骤S1中得到的从任务点i到任务点j的l个中间路径点集合其中是起点start,是终点destination;则可以得到任务点i到任务点j之间相邻的中间路径点之间的距离:

任务点i到任务点j的最短距离为:

其中表示任务点i到j第k个路径点的x坐标,表示任务点i到j第k个路径点的y坐标,而且dij=dji

人为设定全局干扰方向和全局干扰大小fwave;设定平静水面下阻力恒定向,设定平静水面下阻力大小为fs;根据集合Sij选取相邻的中间路径点计算相邻的中间路径点之间的连线的角度:

则无人船前进方向和干扰的夹角为无人船能量消耗具体如下:

其中,表示在无干扰情况下,无人船从任务点i到j的能量消耗,且eij表示在有波浪流等外界干扰下从任务点i到j的能量消耗;

S3、计算n个任务点两两之间的最短距离和能量消耗,构建距离矩阵D和能量消耗矩阵E;n个任务点两两之间根据步骤S1和步骤S2获取最短路径距离和能量消耗,构建距离矩阵D和能量消耗矩阵E,具体如下:

S4、将距离矩阵D和能量消耗矩阵E作为启发式信息进行蚁群算法计算,获取全局最优节能路径规划;基于距离矩阵D和能量消耗矩阵E,根据信息素浓度和启发式信息概率选择下一个任务点,设置M只蚂蚁,第m只蚂蚁当前时刻从任务点i到任务点j的转移概率为:

其中t表示当前迭代的次数,allowed m(t)表示当前迭代时刻第m只蚂蚁下一步允许选择的任务点:

allowed m(t)=N-tab um

tab um为第m只蚂蚁设置的禁忌表,所述禁忌表中包括已经经过和当前所在的任务点编号,禁忌表中的任务点为第m只蚂蚁下一步不允许选择的任务点;

α、β和δ分别为信息素浓度启发因子、期望距离启发因子和期望能耗启发因子,α、β和δ的值选取范围均在0到5之间;

ηij为期望距离启发函数,表示任务点最大距离与当前任务点距离的差值;

ηij=dmax-dij

dmax=maxi,j∈N,i≠jdij

χij为期望能耗启发函数,表示任务点最大能耗与当前任务点能耗的差值;

χij=emax-eij

emax=maxi,j∈N,i≠jeij

τij(t)为当前迭代次数的信息素浓度,τij(t+n)认为是下一次迭代的信息素浓度,其更新规则为:

τ ij(t+n) = (1- ρ ) τ ij (t)+ Δτ ij

ρ为信息素挥发系数,ρ∈[0.2,0.5],信息素挥发系数确保路径上的信息素不会无限增长,每经过一轮迭代就会挥发一部分;

Δτij是本次迭代在任务路径i,j上的信息素增量,是第m只蚂蚁在t到t+n时刻留在任务点i到任务点j位置间的信息素,越多蚂蚁走过该路径,信息素增加得越多,M表示蚂蚁的数量。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南理工大学,未经华南理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202110547020.0/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top