一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于ROS的多智能体自主巡检方法及其系统与流程

2022-10-13 06:54:34 来源:中国专利 TAG:

一种基于ros的多智能体自主巡检方法及其系统
技术领域
1.本发明属于电网巡检技术领域,具体涉及一种基于ros的多智能体自主巡检方法及其系统。


背景技术:

2.目前在化工产业中易燃易爆气体、有毒气体等泄露带来的危害普遍存在,现有技术都是基于人工进行巡检,此方法运用配套的检测设备来进行简单的判断检测,这种方式除了需要耗费额外的人力外,也使巡检人员本身也处于危险之中,而且还受到多种因素的影响,对于气体泄漏源的定位也会存在一定的偏差。随着科学技术的发展,工业机器人也逐渐应用到工业生产当中,但是现有的巡检机器人设计大都是在二维平面内单个机器人对气体源进行搜寻,实际当中在工厂复杂环境下,存在一些地面机器人无法到达的位置,而且单个机器人搜索效率有限,很难满足现实情况的需要。
3.此外,目前在使用的机器人的巡检导航方法多采用采用a*算法,a*算法是一种利用启发函数进行启发式搜索的智能搜索算法,有别于dijkstra的盲目搜索,a*算法是一种求解最短路径直接有效的搜索方法,广泛用于机器人路径搜索。a*算法虽然融合了贪心思想和启发思想,能快速搜索路径,但路径并非最优,遇到障碍物只能重复规划。
4.因此,现目前需要一种能从三维层面规避障碍物,提升复杂环境下单个机器人搜索效率并克服现有技术中巡检路径并非最优的多智能体自主巡检方法及其系统。


技术实现要素:

5.为了解决上述技术问题,本发明提供了一种基于ros的多智能体自主巡检方法及其系统,采用群体智能的蚁群算法进行巡检路径规划,提升智能体对周围环境的变化的感知能力,同时在巡检系统中加入无人机引导,构建三维的搜索环境,提升智能体的搜索巡检效率。
6.为了解决上述技术问题并达到上述技术效果,本发明是通过以下技术方案实现的:一种基于ros的多智能体自主巡检方法,其特征在于,具体包括以下步骤:
7.s1、基于可视的已知信息对该空间进行遍历,构建巡检机器人工作环境的二维栅格地图;
8.s2、设定巡检机器人在工作区间的移动区域为a,构建一个二维坐标系;该移动区域的左下角设定为o点,水平向右为坐标系x轴方向,垂直向上为坐标系y轴方向;
9.进一步的,若巡检机器人的最小活动步长为δ,且在构建的二维坐标系x、y方向的最大值为x
max
和y
max
,基于δ对巡检机器人的移动区域进行划分处理,使每行的栅格数为n
x
=x
max
/δ,每列的栅格数为
10.ny=y
max
/δ,由此构建m
×
n的栅格矩阵,结果为
11.12.其中c为向上运算因子;
13.s3、将构建的二维栅格地图划分为障碍区域集o以及自由活动区域集f,且f=a-o,完成障碍物空间的像素矩阵构建;其过程为
[0014][0015]
其中,构建的像素矩阵标记为m(i,j)形式;
[0016]
s4、利用蚁群算法在栅格图中表示环境中搜索最优无碰撞路径,具体步骤如下:
[0017]
s4.1初始化,设置算法相关参数,随机选择可选的起始栅格,对所有蚂蚁初始tabu(k),tabu(k)表示蚂蚁k当前所走过的栅格,根据转移概率公式选择下一栅格;
[0018]
s4.2假设当前栅格为目标栅格,则转步骤s4.3;否则,利用信息素浓度和更新公式计算它的下一个可行栅格的概率,利用轮赌法选择下一栅格;
[0019]
s4.3假设搜索到目标点,本轮循环结束,转步骤s4.4;否则,转步骤s4.2;
[0020]
s4.4根据公式对各条路径上的信息量进行衰减,并对蚂蚁所走路径信息素浓度进行更新;
[0021]
s4.5清空路径表,转步骤s4.1;
[0022]
s4.6在寻找出的路径中找出最短路径作为巡检机器人避障的最短路径,完成机器人的路径规划;
[0023]
进一步的,所述s4中设蚂蚁数量为m,假设第m(m=1,2,

,)个蚂蚁位于序号为i的栅格处,蚂蚁m根据节点的信息素强度和启发信息选择下一节点j,转移概率公式表达形式为
[0024][0025]
其中:
[0026]
表示第m个蚂蚁从i转移到j的概率;
[0027]
τ
ij
(t)表示t时刻路径(i,j)上的信息素浓度,初始值为一个常数;
[0028]
ɑ
、β分别为信息素浓度和启发信息的影响权重;
[0029]
allowed表示蚂蚁m可以选择的下一栅格的集合;
[0030]
η
ij
(t)表示t时刻路径(i,j)上的启发信息;
[0031]djg
为节点j到目标点得g的距离;
[0032]
进一步的,所述s4中蚁群经过某个栅格时会留下信息素,随着时间的推移信息素会逐渐消逝,每一代的所有蚂蚁完成寻径以后,要对信息素进行更新,更新公式表达形式为
[0033]
τ
ij
(t 1)=(1-ρ)τ
ij
(t) δτ
ij
(t,t 1)
[0034]
[0035][0036]
其中
[0037]
ρ为信息素挥发系数;
[0038]
1-ρ为信息素残留因子;
[0039]
τ
ij
(t)为t时刻节点i、j间的信息素浓度;
[0040]
δτ
ij
(t,t 1)本次循环i、j间的信息素增量;
[0041]mij
为经过路径(i,j)的蚂蚁集合;
[0042]
为第m只蚂蚁留给节点i、j间的信息素增量;
[0043]
q为信息素浓度;
[0044]
lm为本次循环中蚂蚁m走过的路径长度;
[0045]
发明的又一目的在于提供一种基于ros的多智能体自主巡检系统,其特征在于,包括:控制终端、陆地智能体、空中智能体;
[0046]
所述陆地智能体、空中智能体均搭载有三维激光雷达和深度摄像头;
[0047]
所述控制终端获取陆地智能体采集的二维信息以及空中智能体采集的空中信息,运用上述的一种基于ros的多智能体自主巡检方法进行建图导航。
[0048]
本发明的有益效果是:
[0049]
1、本发明基于ros的多智能体自主巡检与探索方法解决了在复杂环境下单个机器人搜索效率有限、难以满足实际需要的问题,同时加入空中智能体,如无人机引导,使搜索环境从二维变为三维,同时多个机器人采用分布式探索策略,在终端进行数据交互,提升了探索的效率;
[0050]
2、同时本发明采用基于群体智能的蚁群算法进行路径规划,相较于传统的a*算法,每个智能体可以能够感知周围环境的实时变化,个体间通过ros进行通讯,搜索过程采用分布式计算方式,多个个体同时进行并行计算,提高了算法的计算能力和运行效率;同时启发式的概率搜索方式不容易陷入局部最优,易于寻找到全局最优路径。
附图说明
[0051]
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0052]
图1是本发明的蚁群算法流程示意图;
[0053]
图2是本发明实施例的蚁群算法路径规划示意图:
[0054]
图3是本发明实施例的多机器人仿真示意图:
[0055]
图4是本发明实施例的三维路径规划仿真示意图:
[0056]
图5是本发明实施例的激光雷达扫描障碍物示意图;
[0057]
图6是本发明实施例的基于ros的无人机自主避障示意图;
[0058]
图7是本发明实施例的基于ros的智能小车导航测试示意图;
[0059]
图8是本发明实施例的基于ros的多智能体导航建图测试示意图。
具体实施方式
[0060]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0061]
实施例1
[0062]
一种基于ros的多智能体自主巡检方法,其特征在于,具体包括以下步骤:
[0063]
s1、基于可视的已知信息对该空间进行遍历,构建巡检机器人工作环境的二维栅格地图;
[0064]
s2、设定巡检机器人在工作区间的移动区域为a,构建一个二维坐标系;该移动区域的左下角设定为o点,水平向右为坐标系x轴方向,垂直向上为坐标系y轴方向;若巡检机器人的最小活动步长为δ,且在构建的二维坐标系x、y方向的最大值为x
max
和y
max
,基于δ对巡检机器人的移动区域进行划分处理,使每行的栅格数为n
x
=x
max
/δ,每列的栅格数为ny=y
max
/δ,由此构建m
×
n的栅格矩阵,结果为
[0065][0066]
其中c为向上运算因子;
[0067]
s3、假定a(巡检机器人在工作区间的移动区域)中存在静态障碍物1个,经过膨胀处理后,会在构建的栅格地图中占一定位置,因此要将构建的二维栅格地图划分为障碍区域集o以及自由活动区域集f,且f=a-o。依据该项划分结果,完成障碍物空间的像素矩阵的构建,过程为
[0068][0069]
其中,构建的像素矩阵标记为m(i,j)形式;
[0070]
s4、利用蚁群算法在栅格图中表示环境中搜索最优无碰撞路径,具体步骤如下:
[0071]
s4.1初始化,设置算法相关参数,随机选择可选的起始栅格,对所有蚂蚁初始tabu(k),tabu(k)表示蚂蚁k当前所走过的栅格,根据转移概率公式选择下一栅格;
[0072]
s4.2假设当前栅格为目标栅格,则转步骤s4.3;否则,利用信息素浓度和更新公式计算它的下一个可行栅格的概率,利用轮赌法选择下一栅格;
[0073]
s4.3假设搜索到目标点,本轮循环结束,转步骤s4.4;否则,转步骤s4.2;
[0074]
s4.4根据公式对各条路径上的信息量进行衰减,并对蚂蚁所走路径信息素浓度进行更新;
[0075]
s4.5清空路径表,转步骤s4.1;
[0076]
s4.6在寻找出的路径中找出最短路径作为巡检机器人避障的最短路径,完成机器人的路径规划;
[0077]
所述s4中设蚂蚁数量为m,假设第m(m=1,2,

,)个蚂蚁位于序号为i的栅格处,蚂蚁m根据节点的信息素强度和启发信息选择下一节点j,转移概率公式表达形式为
[0078][0079]
其中:
[0080]
表示第m个蚂蚁从i转移到j的概率;
[0081]
τ
ij
(t)表示t时刻路径(i,j)上的信息素浓度,初始值为一个常数;
[0082]
ɑ
、β分别为信息素浓度和启发信息的影响权重;
[0083]
allowed表示蚂蚁m可以选择的下一栅格的集合;
[0084]
η
ij
(t)表示t时刻路径(i,j)上的启发信息;
[0085]djg
为节点j到目标点得g的距离;
[0086]
所述s4中蚁群经过某个栅格时会留下信息素,随着时间的推移信息素会逐渐消逝,每一代的所有蚂蚁完成寻径以后,要对信息素进行更新,更新公式表达形式为
[0087]
τ
ij
(t 1)=(1-ρ)τ
ij
(t) δτ
ij
(t,t 1)
[0088][0089][0090]
其中
[0091]
ρ为信息素挥发系数;
[0092]
1-ρ为信息素残留因子;
[0093]
τ
ij
(t)为t时刻节点i、j间的信息素浓度;
[0094]
δτ
ij
(t,t 1)本次循环i、j间的信息素增量;
[0095]mij
为经过路径(i,j)的蚂蚁集合;
[0096]
为第m只蚂蚁留给节点i、j间的信息素增量;
[0097]
q为信息素浓度;
[0098]
lm为本次循环中蚂蚁m走过的路径长度;
[0099]
另外,移动机器人在工作空间中运动时需满足位移约束、避障约束和到达目标点约束
[0100]
1、位移约束
[0101]
机器人在栅格图中运行,且采用八叉树结构运动方式,具体约束实现如下
[0102][0103]
其中(x
t
,y
t
)表示机器人t时刻所在位置。
[0104]
2、避障约束
[0105]
移动机器人必须拥有避障能力,禁止与环境中的障碍物发生碰撞。在本发明设置的栅格图环境中,为保证运动路线不与障碍物发生碰撞,避障约束为:
[0106][0107]
其中(z
x
,zy)表示障碍物在栅格图的中心位置
[0108]
3、到达目标点约束
[0109]
移动机器人到达最终目标点时,机器人完成路线规划,停止运动。到达目标点约束为:
[0110][0111]
其中(g
x
,gy)表示目标点的坐标。
[0112]
此外,需要进行碰撞预测和路径协调
[0113]
1、碰撞预测
[0114]
智能体m1在视野域范围内检测到智能体m2,2个智能体进行通信,互相交换路径信息。如果路径有交叉点,定义m1到交叉点的距离为l1,m2到交叉点的距离为l2,智能体半径为r,若|l1-l2|》2r,则各机器人按照原路径运动,否则执行局部避碰操作。
[0115]
2、路径协调
[0116]
本发明采用暂停策略进行路径协调。利用碰撞预测策略,探测到在某一时刻t智能体m1和m2发生碰撞,t-1时刻的协调避碰策略具体如下:比较2个智能体的坐标值,x坐标大的机器人暂停一步,如果x坐标相等则比较y坐标,坐标大的暂停一步。
[0117]
实施例2
[0118]
一种基于ros的多智能体自主巡检系统,其特征在于,包括:控制终端、陆地智能体、空中智能体;
[0119]
所述陆地智能体、空中智能体均搭载有三维激光雷达和深度摄像头;
[0120]
所述控制终端获取陆地智能体采集的二维信息以及空中智能体采集的空中信息,运用上述的一种基于ros的多智能体自主巡检方法进行建图导航;
[0121]
控制端为搭载满功耗rtx3060显卡和八核十六线程r7-5800h处理器的笔记本电脑,采用基于linux的ubuntu操作系统,搭载满功耗rtx3060显卡和八核十六线程超频版r7-5800h处理器的笔记本电脑高达40tops,并且其固态和内存可自由扩展,且方便使用者进行调试。
[0122]
系统整体根据功能划分采用分层式设计,使用stm32f405rgt6作为底盘控制开发板,arduino uno r3作为气体源感知开发板,使用arduino uno r3作为气体源感知开发板可以很好的与气体传感器兼容。
[0123]
所述陆地智能体采用智能小车,空中智能体采用无人机;配备1个93
°
广角前置摄像头、1个64
°
广角垂直摄像头、1个超声波高度计(6米)、vlp-16激光雷达和jetson nano机载计算机。各个智能体上均装有zce04b气体传感器,该传感器可检测co、h2s、ch4和o2等气体,可以实时输出被检测气体的浓度值,并且该传感器可扩展,方便使用人员根据检测需求进行更换。除此之外,每个智能体都是基于ros机器人操作系统,方便进行数据交互。
[0124]
vlp-16激光雷达是velodyne公司出品的最小型的3维激光雷达,保留了电机转速可调节的功能。
[0125]
本发明采用激光雷达里程计算法,通过计算两帧之间雷达姿态角的变化,在线更新投影变换矩阵。与采用惯导的方法相比,视觉里程计在线更新投影变换矩阵不仅具有成本上的优势,而且由于激光雷达里程计采用与构建octomap相同的点云数据,因此计算得到的姿态变化正是用于建图采集数据时的姿态变化,避免了由于数据不同步造成的误差。
[0126]
实施例3
[0127]
基于上述实施例1和实施例2,一种基于ros的多智能体自主巡检系统运用一种基于ros的多智能体自主巡检方法搜索最佳路线的实际应用:
[0128]
1、基于matlab的蚁群算法路径规划仿真
[0129]
在matlab中根据栅格法设定栅格地图,行数20,列数20,其中黑色栅格区域表示障碍物无法通过。初始化信息素矩阵,设定迭代次数为50次,起点为图中左上角,终点为右下角,最终输出路径如图2所示。
[0130]
多机器人仿真如图3所示,其中红色区域为障碍物,机器人周围环绕的线条表示激光雷达扫面线束。
[0131]
2、基于matlab的蚁群算法三维空间仿真
[0132]
在matlab中利用三维地形图进行路径规划,设置迭代次数为100次,图中左下方绿色点为起始点,右上方绿色点为终点,三维路径规划仿真图如图4所示;
[0133]
3、基于ros的无人机避障导航
[0134]
该实验使基于ros和gazebo进行的,在gazebo中搭建好相应的环境,首先代码通过mavros读取当前航点数据,无人机通过自身携带的激光雷达扫描周围环境,识别障碍物,如图5所示。
[0135]
然后运行导航算法,进行路径规划,输出三维的线速度角速度,使无人机向目标点运动同时进行避障。如图6所示图中左侧红色线条为算法计算的路径,绿色点状为激光雷达扫描的点云信息,可以明显看出避开了障碍物。
[0136]
4、基于ros的智能小车导航测试
[0137]
在终端中发布一个目标点后,显示出规划的一条路径即红色线条所示,实验中在机器人坐标和目标点之间随机添加障碍物后如图中紫色区域所示,导航算法可以正常进行路径规划并输出相应的三维线速度角速度,智能小车导航测试图如图7所示;
[0138]
5、基于ros的多智能体导航建图测试
[0139]
在终端中发布目标点后,开始进行自动导航建图,如图8所示,本次实验采用了三个智能体进行导航测试,图中橙色线条即为导航算法计算出的每个智能体的导航路径。
[0140]
综上所述,1、本发明基于ros的多智能体自主巡检与探索方法解决了在复杂环境下单个机器人搜索效率有限、难以满足实际需要的问题,同时加入空中智能体,如无人机引导,使搜索环境从二维变为三维,同时多个机器人采用分布式探索策略,在终端进行数据交互,提升了探索的效率;
[0141]
2、同时本发明采用基于群体智能的蚁群算法进行路径规划,相较于传统的a*算法,每个智能体可以能够感知周围环境的实时变化,个体间通过ros进行通讯,搜索过程采用分布式计算方式,多个个体同时进行并行计算,提高了算法的计算能力和运行效率;同时
启发式的概率搜索方式不容易陷入局部最优,易于寻找到全局最优路径。
[0142]
在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0143]
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献