基于健康管理的多机器人覆盖控制*

2022-10-19 02:53凯陈阳泉高党海鑫张嘉豪
传感技术学报 2022年7期
关键词:代价损耗函数

曹 凯陈阳泉高 嵩*党海鑫张嘉豪

(1.西安工业大学机电工程学院,陕西 西安 710021;2.西安工业大学电子信息工程学院,陕西 西安 710021;3.加州大学默塞德分校工程学院,美国 加州 95343)

近年来,机器人在软、硬件能力方面变得越来越复杂。随着传感器系统、机载计算平台、能量存储和其他控制技术的进步,以及各方面成本的降低,使得使用多机器人在一系列不同场景环境中执行任务成为可能。例如森林火灾监测和探测[1-3]、环境监测、污染源监测控制[4-7]和环境覆盖[8-9]。由于环境任务特性和对机器人性能的影响,在这种场景任务下的多机器人覆盖控制中,需要多个机器人的高效合作与协调,以实现任务目标。然而由于协同控制的复杂性和直接人工控制每个机器人的花销,所以需要具有高度自主性和稳定性的多机器人控制系统。近年来,多机器人系统的自主任务规划和控制作为一个热门的研究领域[10-12],虽然已经有了许多进展和贡献,这些努力也在多机器人系统中固有的一些复杂性问题上取得了重大突破和进展,但在这一领域仍有许多未解决的问题。

本文针对多机器人覆盖控制中考虑多机器人系统健康管理和最优分布的问题展开研究。例如在上述任务场景中,使用者往往更注重总体任务的完成度和机器人的性能表现,但由于各种恶劣环境因素对机器人的影响,会使得机器人产生故障或者性能退化,从而对任务的完成度和机器人健康造成重大影响[13],因此作为一个智能的控制系统必须考虑到这些异常的可能性,才能最大限度地提高整体机器人性能和任务完成度。

针对多机器人最优分布问题,Chen等人[14]提出了一种移动机器人网络的分布式控制律,通过驱动每个机器人向其Voronoi细胞的质心移动来覆盖当前任务区域。Chen等人[15]使用质心维诺划分(Centroidal Voronoi Tessellation,CVT)来检测并控制区域中的扩散污染源,并随后提出复杂环境下的多机器人覆盖策略来完成污染源的检测与处理问题。Hatleskog等人[16]研究了基于Voronoi的离散时间多智能体动态系统在多维静态凸多面体环境中覆盖的分散控制方案,并使用局部控制律将每个机器人导向其相关时变Voronoi邻域的Chebyshev中心,揭示了机器人子集之间对邻居内距离达成一致的机制。为了避免多协作机器人进行覆盖路径规划时的任务两重性,Vishnu G[17]采用Voronoi分区来实现机器人之间的自然被动合作,结合了基于测地距离的Voronoi分区和基于曼哈顿距离的Voronoi分区以解决存在障碍时分区的连续性。

上述关于多机器人协同覆盖控制的大多数工作都假设了环境和机器人状态为理想状态。然而,在现实世界中,机器人执行任务期间可能会出现各种各样的健康退化情况,例如传感能力效率下降、通信丢失或延迟、能量不足、移动能力受损以及团队中机器人的损失,使得这种假设在现实世界的广泛应用中难以实现。针对上述问题,Cortés等人[18]将广义Voronoi划分的思想用于面积约束覆盖问题,分配给每个机器人的细胞面积假定为预先指定的数量。然后使用雅可比迭代算法为满足面积约束的广义Voronoi划分分配权重。Sharifi等人[19-20]针对团队中不同机器人驱动能力对覆盖任务影响的问题,提出了一种使用在线、分布式的方式学习机器人之间的相对驱动性能变化的算法,以确保机器人收敛到最佳配置,而不会因多机器人中的个别机器人的故障而导致任务失败。Turanli等人[21]利用Hopfield Neural Network在机器人事先不知道彼此性能情况下,根据不同的驱动性能学习并计算每个机器人的功率以及Voronoi图权值自主实现最优配置,同时利用节能的最优控制方案,可以在时间和机器人的能耗之间进行权衡。但是上述在线学习方法难以保证机器人执行任务时的实时性需求,并且对原有算法改动较大,未曾考虑到机器人的计算负载与实时性要求。

针对上述问题,研究了使用一组机器人覆盖感兴趣任环境的问题,其中机器人可能具有可变的健康。首先使用健康优化管理算法在对原有机器人控制框架改动较小的前提下,使得系统更好地应对机械故障和突发状况等不可预见损坏。其次,将机器人的健康退化纳入位置优化问题,使用加权质心维诺划分(Weighted Centroidal Voronoi Tessellation,W-CVT)来划分维诺区域,为不同健康的机器人提供符合其健康特性的维诺细胞,然后提供分布式覆盖控制规律,保证机器人收敛到最优配置,并给予相关收敛性证明。最后,通过常见的覆盖情况,对所提算法做出数值仿真和实验,验证本文所提算法的有效性,并做出总结。

1 问题陈述

维诺划分作为一种空间划分方案,当以机器人位置为生成点进行维诺划分时,能够为多机器人覆盖提供良好的避碰能力,使得每个细胞内的任意独立点q到该细胞生成点p的距离最小,给定一个有界凸区域Q⊂ℝN,以及Q中的任意独立点q,用P=(p1,…,pn)表示该区域内每个维诺细胞的生成点即机器人的位置的集合,用ρ(q)表示区域Q内的密度函数,该密度函数给场中的每个点q分配一个优先级属性,表示该点需要优先处理的级别,这意味着机器人应更加优先关注ρ(q)更高的区域。若且则可生成区域Q的维诺划分其中生成点pi对应维诺细胞vi,使用‖·‖表示欧式距离。其中维诺细胞表示为:

图1(a)、(b)分别为维诺划分和质心维诺划分,图1中的十字表示维诺细胞质心,点与不规则的多边分别代表生成点和对应的维诺细胞。

图1 维诺细胞示意图

多机器人在区域上形成最优配置的代价函数(即待优化目标函数)可以表示为:

该代价函数通过区域的密度函数来估计生成点与Voronoi细胞质心的误差。从式(3)也可以看出,当维诺细胞中的点在维诺质心时,可以保证整个区域代价函数最小,即可将多机器人覆盖控制问题转化为关于移动机器人的多目标优化问题。在多机器人覆盖控制中,机器人的目标位置由CVT算法划分维诺细胞的质心给出,所有机器人移动至对应维诺细胞的质心位置,直到算法收敛,最终得到多机器人覆盖在环境中的分布。

CVT算法在不考虑机器人健康损耗的情况下,能够保证代价函数最优,并且保证所有机器人收敛到最佳配置。但是在实际运动过程中难以避免机器人正常的健康损耗,以及环境中意外情况对机器人健康的影响。此时,应该针对机器人的健康进行实际分析,并对控制规律做出优化,根据机器人的健康情况进行区域划分,以提高多机器人在健康损耗下的适应性和最优覆盖能力。

2 优化算法

2.1 健康优化管理

在优化算法部分,首先将机器人的健康情况进行量化。假设ui为第i个机器人的控制输入,针对上述问题,特引入hi(t)来描述机器人i在t时刻的健康状况,hi(t)可表示为:

hi(0)为机器人的初始健康状况,di(t)为每个时刻机器人的健康损耗,kd,i为使用量增益系数,fd,i(t)为外部环境对机器人的负面影响,例如外部碰撞引起的损坏。假设每个机器人的健康状况会随着对其运动控制的进行和可能遭受到的外部损坏而下降,式(4)中的di(t)为其控制累计和可能遇到的任何外部损坏的函数,控制累计意味着快速移动和转弯的机器人比缓慢运动或者静止的机器人健康状况损耗更快,从物理意义上可以简化成剩余能量和结构健康的结合。

在引入健康优化管理后,使用fi,t[q,hi(t)]表示第i辆机器人覆盖(或感知)点q的成本,hi(t)是第i个机器人的健康变量。随着目标点与机器人的距离增加,相应机器人的覆盖成本也会增加。此外,机器人的健康因各种原因而不同。虽然不同机器人的覆盖成本函数fi,t[q,hi(t)]不一定相同,但在均匀密度函数下,对于与机器人距离相同的一组点,函数fi,t[q,hi(t)]都是相同的。即对于ρ(q)=k,∀pj,pk∈Q,若‖pi-pj‖=‖pi-pk‖,则fi,t[qj,hi(t)]=fi,t[qk,hi(t)]。

本文的目的是开发一种合适的机器人覆盖算法,以使以下覆盖性能函数最小化:

在函数F中,如果所有的机器人的健康值hi(t)都是相同的,那么对于一组到达同一点q的所有机器人的代价函数fi,t[q,hi(t)]是相同的,此时,可以使用传统的质心维诺划分为该组机器人提供最优化分。然而,当fi,t[q,hi(t)]考虑到机器人的健康值hi(t)时,即所有的机器人的hi(t)不尽相同时,传统的CVT划分便不再适用,对于所有机器人的最优化分也产生了一定的困难。所以为了方便解决该问题,本文给出了以下假设。

假设在本文中所有的机器人的代价函数fi,t(q,hi(t))具有以下形式:

式中:hi(t)代表机器人i在t时刻的健康值。在假设其他变量不变的情况下,较小的hi(t)导致第i个机器人的覆盖成本较大(假设hi(t)=1对应于完全健康的机器人,0<hi(t)<1表示存在健康损耗的机器人,hi(t)≤0对应于无法工作的故障机器人)。因此,机器人健康退化会影响整体覆盖性能。此外,假设机器人健康值的大小可以通过相应的机器人检测与故障诊断方法得出。

具有上述代价函数的覆盖性能函数将由F(P,V)表示。在hi(t)不尽相同时,机器人的最佳位置是待覆盖区域的质心,只是,此时的空间划分不再是传统的CVT,而应根据每个机器人的hi(t)进行划分,即在划分维诺区域时,要加入健康值作为权重,作为判断依据,将传统的覆盖优化问题转到不同且时变的健康情况下进行研究。

2.2 加权质心维诺划分

假设有界凸区域Q⊂ℝN的一组机器人可表示为P=(p1,…,pn),机器人pi的权重用wi表示,wi≥0,wi=hi。

引入权重后的CVT被称为加权质心维诺划分(Weighted Centroidal Voronoi Tessellation,W-CVT),若其中∂wvi为加权维诺细胞边界,即两个相邻的加权维诺细胞只有相邻边为公共区域,且则可生成区域Q的维诺划分其中生成点pi对应加权维诺细胞wvi,得到加权维诺划分:

图2中描绘了一组10个加权生成点的CVT和W-CVT的示例,图2(a)中十个机器人所单独覆盖的子细胞面积大致相等,并且每个维诺细胞的边界都处于相邻机器人的中垂平分线上,符合CVT特性;而图2(b)中左上角和右下角机器人的wi较大,达到最终配置时所占细胞相对其他机器人较大,左下角wi较小的机器人所占细胞便相对较小,且每个维诺细胞边界偏向于wi较小的机器人,符合的WCVT特性。本文后续利用W-CVT开发了多机器人系统的分布式覆盖算法。

图2 加权维诺示意图

本论文以差速小车为例,假设轮式机器人为一个可以自由转动的刚体,其简化的运动模型如图3所示。

图3 机器人运动学模型

设定C(x,y)为轮式机器人质心,θ是前进方向角。机器人的状态信息用P=(x,y,θ)T来表示。[v,w]为机器人的线速度和角速度。2L为两轮之间的长度,2r为轮子的直径。可得到其运动学状态空间方程如式(8)所示:

根据机器人运动学模型和控制规律,需要保持零动态的控制输入即ui=0,可以得到机器人的位置控制律:

式中:ui是第i个机器人的控制输入。机器人的运动可以用双积分器动态模型来表示,本文更加注重强调多个机器人的协同控制,而不是每个机器人的姿态控制,在这种情况下,需要更详细的机器人动态模型。此外,许多机器人的动力学可以反馈线性化为双积分器形式。本文使用以下假设推导分布式覆盖控制器,移动机器人能够以分布式方式计算自己的加权Voronoi细胞。每个机器人都可以与邻近的加权Voronoi细胞的其他机器人进行通信。

假设为第i个机器人提出了以下形式的位置控制律:

式中:h*(t)∈[0,1]且随时间递减,kh,i(t)表示机器人改变移动覆盖健康优化管理系统获得的增益,ei(t)表示机器人i和整体平均健康水平h*(t)的差异,khp、khd表示覆盖健康优化管理算法的增益系数。

以下定理给出了收敛结果。通过式(10)可得李雅普诺夫函数为:

通过化简可得:

因此可以得出Lyapunov函数是半负定的,可根据LaSalle不变性原理得到机器人会收敛到W-CVT配置。

在每个时间步骤,机器人i检测其相邻机器人,并与它们交换位置信息。然后,机器人i构建其WCVT单元并计算其质心以便构造控制输入(9),机器人在该控制输入端下向移动。在每个时间步长,该组中的所有机器人同时遵循上述步骤,直到两个连续时间步长t和t-1的覆盖代价函数F最小,并且机器人之间的误差小于规定阈值ε,具体算法流程见表1。

表1 分布式覆盖算法流程

3 仿真结果与分析

在这一部分中,通过仿真验证了所提出的分布式机器人覆盖算法的有效性。仿真中使用的环境是10×10的待覆盖区域,部署了一组10个具有相同运动学模型的地面移动机器人,用以覆盖环境中的密度较大的点。后续中考虑了几种常见的不同场景。在前两个场景中分别以常密度函数下的CVT和WCVT算法对任务区域进行覆盖为例,主要为了凸显W-CVT算法在划分区域时能够以机器人的健康值为划分依据,进行位置优化,提供存在机器人健康损耗时的最优覆盖方案。

3.1 均匀密度函数下的CVT区域覆盖算法

在第一种场景下,假设所有的地面机器人都不存在健康损耗,即h1=h2=…=h10=1,所有的机器人都在CVT算法的控制下对任务区域进行覆盖,图4(a)表示该任务区域的密度函数ρ(q)=1,即所有位置的优先级相同。10个机器人从任务区域的左下角开始移动,如图4(b)~(d)所示,10个不存在健康损耗的机器人用代表健康值良好的浅灰色圆圈表示,曲线代表不同机器人的运动轨迹,加号表示该细胞的质心位置,黑色线条表示每个机器人所在维诺细胞的边缘部分。在迭代次数k=83时,所有机器人在CVT算法的控制下,收敛到如图4(d)所示的最优配置下,即所有的机器人对区域进行了均匀划分,每个机器人都处于各自维诺细胞的质心位置,所有的维诺细胞边缘都处于相邻机器人的中垂线上,形成对称划分,每个细胞的面积基本相等,即可认为相同健康值下的每个机器人的任务量基本相等。图4(e)是在整个过程中10个机器人的当前位置和质心位置的误差值曲线,可以看出在k=83次时,所有机器人的位置误差都趋于0,即表示所有的机器人都在覆盖算法的控制下,达到了最终的期望位置。图4(f)展示了整个过程中的代价函数,CVT的代价函数由式(3)构建,在k=83次之后,代价函数达到最小值,由本算法中判断覆盖系统达到最优的条件,即机器人的当前位置与质心之间误差err(pi)=pi-p*i小于阈值ε,并且代价函数F达到最小值,来认定覆盖系统达到最优。

3.2 均匀密度函数下的W-CVT区域覆盖算法

在第二种场景下,假设在k=20次之前所有的地面机器人都不存在健康损耗,即h1=h2=…=h10=1,在k=20次之时,有两个机器人存在突然的健康损耗,即d1=d2=d3=d4=d5=d8=d9=d10=0、d6=d7=0.2。所有的机器人都在W-CVT算法的控制下对任务区域进行覆盖,任务区域的密度函数ρ(q)=1,如图4(a)所示,即所有位置的优先级相同。10个机器人从任务区域的左下角开始移动,如图5(a)所示,10个机器人中d=0即健康的机器人用浅灰色圆圈表示,d=0.2即有突然的健康损耗的机器人用深灰色圆圈表示。图5(a)~(b)展示了在k=20次之前10个机器人的运动轨迹,可以看出所有机器人所在维诺细胞的边缘都处于机器人之间的中垂线上,呈对称分布。在迭代次数k=20次后,所有机器人在W-CVT算法的控制下的运动轨迹如图5(c)~(d)所示,最终收敛到如图5(d)所示的最优配置下,可以看出浅灰色机器人即健康值没有损耗的机器人所负责的维诺细胞较大,而深灰色机器人即健康值有损耗的机器人负责的细胞相对较小,维诺细胞的划分呈不对称划分,细胞壁偏向于健康值有损耗的机器人一侧,相比于图4(d)形成了较为明显的对比。图5(e)是在整个过程中10个机器人的当前位置和质心位置的误差值曲线,可以看出在k=20次时,所有机器人的位置误差都有着明显的变化,这是因为在W-CVT算法的控制下,所有的机器人负责的细胞相比于普通的质心维诺划分细胞引入了健康值的影响,从而形成了新的划分,也就产生了新的细胞质心,相比于k=20次之前,位置误差都有了明显的变化;最终在k=93次时所有机器人的位置误差都趋于0,即表示所有的机器人都在覆盖算法的控制下,达到了最终的期望位置。图5(f)展示了整个过程中的覆盖代价函数,W-CVT的代价函数由式(5)、式(6)所构建,可以看出,代价函数在k=20左右的时候,有些许的增长,这是由于从此刻开始代价函数开始考虑健康退化的机器人,在维诺划分时根据健康值进行位置优化,重新进行区域划分;在k=20之后,上述机器人才开始收敛到最优配置;最终在k=93次之后,代价函数也收敛到最优。

图4 基于CVT的均匀密度函数下的多机器人区域覆盖

图5 基于W-CVT的均匀密度函数下的多机器人区域覆盖

图6(a)为场景二下10个机器人未加入健康优化管理之前的健康值hi(t)损耗曲线。可以看出在k=20次之前,10个机器人健康值损耗较小;在k=20次时,6、7号机器人健康值在设定的情况下骤然下降;直达k=110次时,10个机器人的健康值都由于覆盖过程的进行而有了一些损耗,健康值未骤然衰减的8个机器人的健康值平均下降到0.43左右。图6(b)为场景二下10个机器人加入健康优化管理之后的健康值hi(t)损耗曲线。可以看出k=93次时,10个机器人的健康值都由于健康优化管理算法的进行,损耗得到了一定幅度的减小,健康值未骤然衰减的8个机器人的健康值平均下降到0.59左右,达到最优配置时的健康值提升了16%左右。从图6可以看出,在加入健康优化管理前后,相同初始健康值的机器人在达到最终配置时的健康值是有差异的。这是由于每个机器人每次迭代时的步长,以及到达最终稳定时的迭代次数有所差异,即每个机器人的运动时间和控制增益有所差异。所以导致最终最健康有所差异。

图6 场景二下的机器人健康损耗图

根据前两种场景下的仿真可以看出,W-CVT算法作为针对机器人存在健康损耗时的空间覆盖方案,可以以机器人的健康值大小为划分依据,为健康值损耗较大的机器人划分更小的维诺细胞,提供最优配置方案。在迭代次数上相比于传统CVT算法不会有额外的耗费,并且最终的代价函数收敛到最优。

3.3 非均匀密度函数下的W-CVT区域覆盖算法

(1)场景三

在第三种场景下,假设在k=20次之前所有的地面机器人都不存在健康损耗,即h1=h2=…=h10=1,在k=20次时有4个机器人存在突然的健康损耗,即d1=d2=d3=d4=d5=d10=0、d6=d7=d8=d9=0.2,例如机器人正常工作过程中遇见的一些突发性故障,从而导致机器人的健康情况骤然恶化。

所有的机器人都在W-CVT算法的控制下对任务区域进行覆盖,图7(a)表示该任务区域的密度函数,密度函数如式(14)所示,其中(xc,yc)=(7,7),黑色越深表示该区域优先级越高。如10个机器人从任务区域的随机位置开始移动,如图7(b)所示,10个机器人中d=0和d=0.2的机器人分别用浅灰色圆圈和深灰色圆圈表示。图7(b)~(c)展示了在k=20次之前10个机器人的运动轨迹,所有机器人呈对称分布。在迭代次数k=20次后,所有机器人运动轨迹如图7(c)~(d)所示,最终收敛到如图7(d)所示的最优配置下,浅灰色机器人所负责的维诺细胞相较于深灰色机器人更大维诺细胞的划分。从图7(e)可以看出相比于k=20次之前位置误差都有了明显的变化,这是因为在W-CVT算法的控制下,维诺细胞形成了新的划分,也就产生了新的细胞质心;最终在k=110次时所有机器人的位置误差都趋于0,达到了最终的期望位置。从图7(f)可以看出代价函数在k=20左右的时候,代价函数由于考虑到机器人的健康衰减,所以有些许的增长,在k=20之后,上述机器人才开始重新收敛到最优配置;最终在k=73次之后,代价函数也收敛到最优,直到k=110次时,代价函数和位置误差趋于零,程序停止迭代,系统达到最优覆盖配置。

图7 基于W-CVT的非均匀密度函数下的多机器人区域覆盖(场景三)

图8(a)为场景三下10个机器人未加入健康优化管理之前的健康值hi(t)损耗曲线。可以看出在k=20次之前,10个机器人健康值损耗较小;在k=20次时,6、7、8、9号机器人健康值在设定的情况下骤然下降;直达k=110次时,10个机器人的健康值由于覆盖过程的进行都有了一些损耗,健康值未骤然衰减的6个机器人和健康值骤然衰减的4个机器人的健康值分别平均下降到0.36和0.18左右。图8(b)为场景三下10个机器人加入健康优化管理之后的健康值hi(t)损耗曲线。可以看出k=110次时,10个机器人的健康值损耗得到了一定幅度的减小,健康值未骤然衰减的6个机器人和健康值骤然衰减的4个机器人的健康值平均下降到0.53和0.34左右,达到最优配置时的健康值提升了16%左右。

图8 场景三下的机器人健康损耗图

(2)场景四

在第四种场景下,假设在k=20次之前所有的地面机器人都不存在健康损耗,即h1=h2=…=h10=1,在k=20次之后有4个机器人存在突然的健康损耗,即d1=d2=d3=d1=d5=d10=0、d6=d7=d8=d9=0.2。图9(a)表示该任务区域的密度函数,密度函数如式(14)所示,其中(xc,yc)={(2,8)、(8,2)}。10个机器人的初始位置如图9(b)所示,机器人的颜色和健康损耗值的大小与第三种场景相同。图9(b)~(c)展示了在k=20次之前10个机器人的运动轨迹。在迭代次数k=20次之后,所有机器人的运动轨迹如图9(c)~(d)所示,最终收敛到如图9(d)所示的最优配置下。从图9(e)可以看出在k=20次时,所有机器人的位置误差相比于k=20次之前位置误差都有了明显的变化;最终在k=64次时所有机器人的位置误差都趋于0,即表示所有的机器人都在覆盖算法的控制下,达到了最终的期望位置。从图9(f)可以看出代价函数在k=20左右的时候,由于引入健康值的影响,代价函数有些许的增长,在k=20之后,上述机器人才重新收敛到最优配置;最终在k=64次之后,代价函数也收敛到最优。而由于每个机器人在每次迭代过程中的控制增益和到达稳定时的迭代次数有所差异,导致相同健康初始值的机器人最终健康值有所差异。

图9 基于W-CVT的非均匀密度函数下的多机器人区域覆盖(场景四)

图10(a)为场景四下10个机器人未加入健康优化管理之前的健康值hi(t)损耗曲线。在k=20次之前,10个机器人健康值损耗较小;在k=20次之后,6、7、8、9号机器人健康值在设定的情况下骤然下降;直达k=64次时,健康值未骤然衰减的6个机器人和健康值骤然衰减的4个机器人的健康值分别平均下降到0.5和0.35左右。图10(b)为场景四下10个机器人加入健康优化管理之后的健康值hi(t)损耗曲线。在k=64次时,10个机器人的健康值损耗得到了一定幅度的减小,健康值未骤然衰减的6个机器人和健康值骤然衰减的4个机器人的健康值平均下降到0.71和0.52左右,达到最优配置时的健康值提升了19%左右。

图10 场景四下的机器人健康损耗图

在上述四种情况下,基于加权维诺的分布式覆盖控制方法能够很好地应对有健康损耗的机器人时的分布式覆盖配置,使得维诺细胞的大小根据机器人的健康状况做调整。将机器人的健康状况纳入覆盖控制中的位置优化问题,同时最小化覆盖代价函数。而健康优化管理的增加使健康值最低的机器人寿命时间大幅增加,而对现有框架的调整很小。健康优化管理确保覆盖能够长时间运行,并防止长时间的过度磨损。由表2可得,通过将智能健康平衡应用于每个机器人,整体的健康值能提升17%左右,多机器人对由许多非常合理的情况引起的健康变化更加稳健。该系统可以更好地应对碰撞、机械故障或维护不足造成的意外损坏。

表2 加入健康优化管理算法前后在三种场景下的仿真结果对比

4 实验结果与分析

本论文在实验室场景下的实验基于Turtlebot3机器人,Turtlebot3机器人是一种成本低,开源的基于ROS(Robot Operating System)的移动机器人平台,每一台Turtlebot3可独自通过ROS提供的相关功能包和激光雷达来建立自己所在周围环境的局部地图,并与邻近的机器人进行通信。本文使用光源代替仿真中的密度函数分布,并在机器人上搭建光源数据采集模块,机器人和相关的光源采集模块如图11所示。

图11 实验平台

将采集到的光强数据与机器人当前位置进行匹配,在覆盖过程中得到的区域光强分布如图12所示,以模拟多机器人对感兴趣区域的覆盖。

图12 光强分布图

在真实的实验场景下,机器人的运动模型为二阶动力学模型,将实验室3.6 m×3.6 m的环境作为机器人编队的指定区域Q,区域右上角放置光源以模拟需要覆盖的感兴趣区域,设定该区域不存在障碍物,如图13(a)所示。在t=0 s时,在地图上左下角随机放置了5台Turtlebot3机器人,直到t=40 s时,机器人利用光源数据采集模块结合本文的覆盖算法完成光源的最优覆盖的结果如图13(c)所示,可见机器人在光源最强区域实现了最优的覆盖分布,对本文的覆盖算法做出了进一步的验证。

图13 多机器人覆盖实验环境

5 总结

本文针对传统覆盖控制未曾考虑到不同健康的机器人对覆盖成本的影响,提出了一种基于健康优化管理的多机器人覆盖控制算法。首先在传统基于CVT算法的多机器人覆盖控制下,引入多机器人健康管理办法,将机器人的健康情况进行量化,构造健康优化管理器,从而提高不健康机器人的续航耐力,使得系统更好地应对机械故障和突发状况等不可预见损坏,以提高覆盖在不同场景下执行任务时的健壮性。其次引入基于加权维诺的分布式覆盖控制方法,将机器人的健康退化纳入位置优化问题,为机器人提供最优配置的同时最小化覆盖代价函数,最终通过理论证明和数值仿真以及实验,验证了所提算法的有效性。

本文的方法可以应用在不同维度的机器人系统中,以及应用在具有不同性能和运动模型的异构团体中;以及针对不同健康的机器人进行更加精确化的判断,最大程度地增强其性能和群体的覆盖性能。这些都将在未来的工作中继续展开研究。

猜你喜欢
代价损耗函数
逆变器损耗及温度计算
粮食保管过程中的损耗因素与减损对策研究
几种常见物体在5G频段的穿透损耗测试分析
5G传播损耗及链路预算
幸灾乐祸的代价
幸灾乐祸的代价
代价
关于函数的一些补充知识
高中数学中二次函数应用举隅オ
无独有偶 曲径通幽