[发明专利]一种面向智慧工厂的AGV多目标点自主导航方法在审
| 申请号: | 201910292321.6 | 申请日: | 2019-04-12 |
| 公开(公告)号: | CN109974711A | 公开(公告)日: | 2019-07-05 |
| 发明(设计)人: | 黄超;张毅;吴慧超 | 申请(专利权)人: | 重庆渝博创智能装备研究院有限公司 |
| 主分类号: | G01C21/20 | 分类号: | G01C21/20 |
| 代理公司: | 北京同恒源知识产权代理有限公司 11275 | 代理人: | 杨柳岸 |
| 地址: | 402660 重庆市潼南*** | 国省代码: | 重庆;50 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 自主导航 多目标 最短路径 机器人技术领域 订单要求 距离矩阵 蚁群算法 目标点 遍历 离线 算法 规划 | ||
1.一种面向智慧工厂的AGV多目标点自主导航方法,其特征在于:该方法包括以下步骤:
S1:用A*算法计算两两目标点间执行路径规划;
S2:根据步骤S1的路径规划计算两两目标点的实际距离,生成距离矩阵D;
S3:蚁群算法迭代次数加1;
S4:初始化蚂蚁编号K=1,初始化起始目标点位置;
S5:蚂蚁编号增加1;
S6:由蚁群算法的概率转移公式计算蚂蚁转移到下个目标点的概率;
S7:修改蚂蚁的禁忌表;
S8:若蚂蚁的编号大于种群数目,则更新信息素,执行S9;
否则返回S4步骤执行;
S9:若达到最大迭代次数则进入S10,否则返回S3;
S10:输出多目标点的最优遍历顺序;
S11:再次使用A*算法计算步骤S10中相邻两任务的路径规划;
S12:结束。
2.根据权利要求1所述的一种面向智慧工厂的AGV多目标点自主导航方法,其特征在于:所述A*算法的原理和步骤为:
A*算法是基于栅格地图的一种静态路网中求解最短路径的启发式搜索算法,适用于移动机器人单任务导航;计算并评价空间中的各个位置,并每次以当前最好的位置进行下一次搜索,至最后获得目标;其中选择的评价函数就扮演着相对重要的角色,A*算法采用了图搜索算法中的深度优先算法(Deep-First-Search,DFS),其评价函数如下:
f(n)=g(n)+h(n)
式中,n=(xn,yn)——当前被搜索的节点;
f(n)——节点n的最小代价评价函数;
g(n)——从起始节点移动至n节点实际花费的代价;
h(n)——从n节点行至目标节点的最小预估代价;
h(n)为启发式的最小预估代价,采用曼哈顿距离公式距离表示如下:
h(n)=d×(abs(n.x-G.x)+abs(n.y-G.y))
A*算法中维护着两个列表:Open列表和Closed列表;未考察的节点存放到Open列表,考察过的节点存放到Closed列表;具体分为如下四个步骤:
S101:生成Open列表和Closed列表,把起始栅格节点S归入Open列表;
S102:操作Open列表:
S1021:首先确认该列表非空,查找并删除Open表代价最小的节点,即f值最小的节点,改放入Closed列表中;
S1022:前节点A若为目标节点,则添加到Closed列表中;
S103:处理当前节点A的8个相邻子节点:
S1031:设置子节点的优先级,本搜索策略的顺序为:首选水平方向,再考虑垂直方向,最后选择对角线方向;
S1032:被检测的子节点B有三种可能的情况:
①B被障碍物占据或者已在Closed列表中,则进入下一个节点的检测;
②若B可以通行,但未纳入Open列表中,则将其添加进去并记录其f、g和h值;
③若B之前已经存在于Open列表中,则需要根据g值评估路径一:A节点的父节点→A节点→B节点,路径二:A节点的父节点→B节点,若判别结果为路径一最优则不做任何处理,若路径二更优则需要把A节点从Open列表中删除,此时认为A节点的父节点即是B节点的父节点,并重新计算该子节点的f和g值;
S1033:处理完毕8个相邻子节点后,则返回S1032执行循环;
S104:保存路径。
3.根据权利要求1所述的一种面向智慧工厂的AGV多目标点自主导航方法,其特征在于:所述步骤S3~S10的原理及步骤为:
TSP(Traveling Salesman Problem,旅行商问题)的数学模型描述如下:有一个商人要访问n座城市,在任意两城市间距离可计算的前提下,他希望以最短的路径,完成每座城市仅访问一次的任务,并最终回到初始城市,即为搜索集合X={1,2,···,n}的一个排列π(X)={V1,V2,···,Vn},其中1~n是城市的编号;使得式(1)获得最小值,式中d(Vi,Vi+1)表示两城市Vi、Vi+1距离值;其难点在于,可能的路径的条数会随着访问城市数量的增长呈指数增长;
蚁群算法(Ant Colony Algorithm,ACA)为一种模仿蚂蚁利用信息素确定觅食路径的方法;蚂蚁群体在觅食任务中优先选取信息素浓度较高的路径,同时也释放一定的信息素,该路径上积累的信息素越来越多,形成正反馈;通过遍历所有路径,选取信息素最为丰富的路径作为最优路径,最终指引蚁群以最短路径到达食物源;
设需要遍历的目标点的数量为n,蚂蚁的数量以m标记,dij(i,j=1,2,···,n)代表目标点i和j间距离,该距离值取自前文的距离矩阵D,即dij(i,j=1,2,···,n)是构成D的元素,而i和j两点间的信息素浓度由τij(t)标识,各目标点间的信息素浓度最初是相同的,有τij(0)=τ0;
在t时刻,蚂蚁k(k=1,2,···,m)根据τij(t)决定下一站访问的目标,它从目标点i行走至j的概率为Pkij(t),公式如下:
式中,ηij(t)=1/dij——启发函数,表征蚂蚁从目标点i行走至j的期望程度
allowk(k=1,2,···,m)——存放未到访的目标点
α——信息素重要程度因子,设置了τij(t)在路径选择时的重要性
β——启发函数重要程度因子,设置了ηij(t)在路径选择时的重要性
而τij(t)存在一定的损耗,待所有蚂蚁执行完一次循环后,需要按照下式重新修正:
式中,ρ∈(0,1)——信息素挥发系数
Δτkij——第k只蚂蚁在目标点i、j之间释放的信息素浓度
Δτij——目标点i、j之间来自所有蚂蚁的信息素浓度之和
选取Ant-Cycle模型对信息素进行更新,如下式:
式中,Q——蚂蚁完成一次循环所释放的信息素总量
Lk——第k只蚂蚁在当前搜索中行走距离之和
步骤如下:
S201初始化;
S202构建解空间;
每只蚂蚁k(k=1,2,···,m)随机放置于不同目标点,并依据概率选择公式计算下一个待访问任务点,至所有目标点被所有蚂蚁遍历;
S203更新信息素;记录每只蚂蚁经过的路径长度Lk(k=1,2,···,m)以及当前迭代中的最短路径,并由信息素更新公式,更新目标点之间的信息素浓度;
S204判断是否终止;若达到itermax,则输出最优解;反之,iter增加1,并清空蚂蚁路径的记录表,返回S202继续执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆渝博创智能装备研究院有限公司,未经重庆渝博创智能装备研究院有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910292321.6/1.html,转载请声明来源钻瓜专利网。





