一、灰狼算法的厂房巡检机器人路径规划简介

0 引言
近年来,我国各行各业的不断发展使相关工作流程得到了完善,其中巡检岗位是一个不可或缺的职位,尤其是在电厂、燃气厂房和煤矿等危险领域中的工作,更不能缺少巡检岗位。传统的巡检工作是通过工人不定时地对每台机器或地点进行检查来完成工作,这不仅会耗费大量的人力和物力资源,而且在危险环境和特殊天气下,工人也会面临一定的危险以及存在检查不到位的顾虑。因此智能巡检机器人的诞生就很好地解决了巡检工作存在投入人力大、成本高、效率低、巡检结果不可靠
以及巡检人员面临一定危险的问题。巡检机器人的运行只与电量以及其本身质量有关,不会受到危险环境和特殊天气的影响,且巡检机器人的灵活性使它不受时间和地点的限制。相对于人工巡检来说,将重要、复杂以及重复的巡检任务交给巡检机器人,可以极大地降低成本,提升巡检过程的效率和可靠性。巡检机器人在厂房环境下工作需要具备一定的条件,需要根据厂房的特殊环境对机器人进行设计和路径规划,例如燃气管道厂房中存在因气体泄露而造成的易燃易爆、中毒和燃气管道内压力超标等一系列危险,因此,使用巡检机器人可以更好地保障财产和人员的安全。

1 巡检机器人路径规划
路径规划作为巡检机器人研究中的重要领域,对机器人的运动有不可或缺的作用。路径规划是指巡检机器人按照某些特定约束搜索一条从起始点到目标点的最优或次优路径。因此路径规划的研究也就是在可以到达目标点的前提下,满足相关约束,例如满足耗费时间最短、路程最短和耗费能量
最少等约束,进而达到高效率、高精度以及低消耗的目的 [3]。为达到这一目的,巡检机器人的路径规划研究一般分为 3 个步骤 :1) 环境建模 。2) 使用优化算法规划出一条满足要求的路径 。3) 对已规划化的路径进行处理(例如对路径进行平滑处理,减少拐弯次数)。

2 灰狼优化算法
灰狼算法是 2014 年 Mirjalili 团队基于灰狼群体捕食过程提出的一种新型仿生智能算法,灰狼算法具有结构简单、调节参数小、容易实现以及存在能够自适应调整的收敛因子的优点,广泛应用于机器人、无人机和工业控制等行业。该文对灰狼算法适应度函数进行调整,将其应用于燃气管道厂房巡检机器人的路径规划中,使燃气管道厂房所需要的巡检机器人具有更高的安全性、快速性和准确性。灰狼算法的基本思想为初始化狼群后,选取适应度最好的 3 匹狼作为头狼,分别定义为 α、β 和 δ,其余狼群 ω 在头狼的带领下根据它们与猎物的距离更新自己的位置,进而围捕猎物,猎物的位置代表最优解。灰狼算法主要通过搜索猎物、包围猎物以及进攻猎物来建立数学模型 [4-5]。
灰狼包围猎物的数学模型如公式(1)、公式(2)所示。
D=C×Xp(t)-X(t) (1)
X(t+1)=Xp(t)-A×D (2)
式中 :t 为迭代次数 ;D为灰狼与猎物之间的长度向量 ;Xp(t)为当前猎物的位置向量 ;X(t)为当前灰狼的位置向量 ;X (t+1)为灰狼个体更新后的位置向量 ;A和C为系数向量。
公式(1)和公式(2)分别表示灰狼与猎物之间的距离和灰狼个体的位置更新。
系数向量的计算如公式(3)、公式(4)所示。
A=2a×r1-a (3)
r2 C (4)
式中 :r1和r2为 [0,1] 的随机数 ;a为收敛因子。a的计算如公式(5)所示。
| a |= (5)
式中 :tmax 为最大迭代次数,公式(5)中,| a | 从 2 到 0 线性递减。
灰狼在捕食过程中,逐渐靠近猎物并包围猎物,最后对猎物发起进攻,其数学模型随着不断地迭代,所有初始解也不断地向最优解靠近,最终得到最优解,即最优解为头狼 α,第二解和第三解分别为 β 狼和 δ 狼。图 1 为灰狼算法中灰狼个体的位置更新图 [6] 。灰狼算法中进攻猎物的数学模型如公式(6)所示。

式中 :Dα、Dβ和Dδ分别为 α、β 和 δ 与其他灰狼个体的距离向量 ;Xα、Xβ和Xδ分别为 α、β 和 δ 当前的位置向量 ;C1、C2和C3分别为灰狼 ω 与头狼 α、β 和 δ 的系数向量 ;X表示灰狼 ω
的位置向量。
灰狼 ω 的更新过程如公式(7)、公式(8)所示。


式中 :X1 、X2 和X3 分别为灰狼个体 ω 与头狼 α、β 和 δ 之间更新后的位置向量;A1、A2 和 A3 分别为灰狼个体 ω 与头狼 α、 β 和 δ 的系数向量 ;X(t+1)表示X1 、X2 和X3 的矢量和,即
灰狼个体 ω 最终的更新位置。
公式(7)和公式(8)分别表示灰狼个体 ω 的位置更新和灰狼个体最终的移动位置。
灰狼算法的基本计算步骤如下 :1) 初始化狼的种群数量N、收敛因子α以及向量系数A和C。2)计算每个灰狼的适应度,保存适应度最好的三匹狼为 α、β 和 δ。3) 根据公式更新灰狼的位置以及参数α、A和C。4) 计算灰狼个体的适应度并更新三匹头狼的适应度和位置。5) 判断是否达到最大迭代次数,达到最大迭代次数后输出头狼 α 的位置为最优解,否则返回第 3 步继续计算。

3 灰狼算法在厂房路径规划中的应用仿真
3.1 适应度函数

灰狼群体的头狼 α、β 和 δ 是由适应度的大小而决定的,即适应度越高,灰狼与猎物的位置越近。因此选择路径的长短作为评价适应度大小的标准,路径越短,其适应度越高,如公式(9)、公式(10)所示。

式中:L 为起点到终点路径的总长度,即为适应度函数,起点为左上角(坐标为(1,1)),终点为右下角(坐标为(c,c),c 为栅格地图的行列数 ;L(s)为起点到第一个节点的距离 ;L(f)为最后一个节点到终点的距离 ;L(i)为中间其余节点之间的距离 ;x(i)为除去第一个节点和最后一个节点的其余节点,i ∈,(2,c-2);x(1)为路径的第一个节点 ;x(end)为路径的最后一个节点;x(i-1)为节点 x(i)的上一个节点。

三、部分源代码

clear
clc

四、运行结果



五、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 包子阳,余继周,杨杉.智能优化算法及其MATLAB实例(第2版)[M].电子工业出版社,2016.
[2]张岩,吴水根.MATLAB优化算法源代码[M].清华大学出版社,2017.
[3]宁旭成,张倩,王续红.基于灰狼算法的厂房巡检机器人路径规划[J].中国新技术新产品. 2021,(10)

【路径规划】基于matlab灰狼算法求解机器人栅格地图路径规划问题【含Matlab源码 1761期】相关推荐

  1. 【Matlab路径规划】蚁群算法求解机器人栅格地图最短路径规划问题【含源码 1580期】

    一.代码运行视频(哔哩哔哩) [Matlab路径规划]蚁群算法求解机器人栅格地图最短路径规划问题[含源码 1580期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 ...

  2. 【路径规划】基于蚁群算法求解机器人栅格地图路径规划matlab代码

    1 简介 通过栅格法建立栅格地图作为机器人路径规划的工作环境,采用蚁群算法作为机器人路径搜索的规则.将所有机器人放置于初始位置.经过NC次无碰撞迭代运动找到最优路径.到达目标位置.为防止机器人在路径搜 ...

  3. 【路径规划】基于灰狼算法实现机器人栅格地图路径规划matlab源码

    1 模型简介 1.1 灰狼算法介绍 1.2 栅格地图介绍 栅格地图有两种表示方法,直角坐标系法和序号法,序号法比直角坐标法节省内存 室内环境栅格法建模步骤 1.栅格粒大小的选取 栅格的大小是个关键因素 ...

  4. 【路径规划】基于和声算法改进灰狼算法实现机器人栅格地图路径规划

    一.和声搜索算法介绍 和声搜索(Harmony Search, HS)算法是一种新颖的智能优化算法.类似于遗传算法对生物进化的模仿.模拟退火算法对物理退火的模拟以及粒子群优化算法对鸟群的模仿等,和声算 ...

  5. 【路径规划】基于和声算法改进灰狼算法实现机器人栅格地图路径规划matlab源码

    1 简介 1.1 和声搜索算法介绍 和声搜索(Harmony Search, HS)算法是一种新颖的智能优化算法.类似于遗传算法对生物进化的模仿.模拟退火算法对物理退火的模拟以及粒子群优化算法对鸟群的 ...

  6. 【Matlab人脸识别】人脸实时检测与跟踪【含GUI源码 673期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]人脸实时检测与跟踪[含GUI源码 673期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]孟逸凡,柳益君 ...

  7. 【Matlab指纹识别】指纹识别门禁系统【含GUI源码 1692期】

    一.代码运行视频(哔哩哔哩) [Matlab指纹识别]指纹识别门禁系统[含GUI源码 1692期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余继 ...

  8. 【Matlab树叶分类】BP神经网络植物叶片分类【含GUI源码 916期】

    一.代码运行视频(哔哩哔哩) [Matlab树叶分类]BP神经网络植物叶片分类[含GUI源码 916期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅 ...

  9. 【Matlab水果蔬菜识别】形态学水果蔬菜识别【含GUI源码 919期】

    一.代码运行视频(哔哩哔哩) [Matlab水果蔬菜识别]形态学水果蔬菜识别[含GUI源码 919期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅. ...

  10. 【Matlab青草识别】形态学马唐草+牛筋草识别【含GUI源码 908期】

    一.代码运行视频(哔哩哔哩) [Matlab青草识别]形态学马唐草+牛筋草识别[含GUI源码 908期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅 ...

最新文章

  1. Dominating Patterns
  2. 软件工程(2019)第三次个人作业
  3. 单行子查询返回多个行_sql多表查询练习,习题总结
  4. file 选择的文件胖多有多大_如何删除 macOS 压缩包中的隐藏文件?
  5. oracle 数据库 字符串函数
  6. 红豆、绿豆、黑豆、花生、莲子、薏仁米放在一起吃,可以吗?
  7. 智能手机操作系统安全性简评
  8. 由浅入深,汇编语言详解与二进制漏洞初阶
  9. CTF攻防世界刷题51-
  10. 深度学习非自回归语音合成与自回归语音合成对比
  11. python 栅格转矢量_python 矢量数据转栅格数据代码实例
  12. 并发和并行以及线程安全
  13. 在树莓派上安装Ubuntu
  14. H5项目常见问题汇总及解决方案 1
  15. 装机之 BIOS、EFI与UEFI详解
  16. spring技术详解
  17. SnapChat明年IPO 创始人为保证控制权改股权结构
  18. Android 天气APP(二十七)增加地图天气的逐小时天气、太阳和月亮数据
  19. 【xp系统下载】用Excel做个工程倒计时牌
  20. 北京卫星地图 百度卫星地图高清版(含道路地名标签叠加)

热门文章

  1. 强悍的电子邮件地址(email address)正则表达式
  2. [Flash开发笔记] AS中保留多少位小数的函数
  3. shell习题第26题:监控mysql服务
  4. Jeecg-Boot前后端分离版
  5. 漏洞复现——Apache HTTPD多后缀解析漏洞
  6. EL表达式获取对象属性的原理
  7. libevent源码分析:bufferevent
  8. 企业中有关Server Sharing的一点想法
  9. 2010年“最具全球竞争力中国公司20强”榜单:
  10. .NET CF获取当前dll及其调用程序的文件名和完全路径