锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

脑注意力机制启发的群体智能协同避障方法

时间:2022-11-16 21:00:00 va传感器3055d1t加速度传感器

摘要

现有群体智能系统执行探索任务时往往获取、计算和传输大量冗余信息,造成群智系统资源利用效率低下。设计任务驱动的计算和通信资源高效融合利用机理成为亟待解决的关键科学问题。基于此,提出了一种脑注意力机制启发的群体智能协同避障方法。受脑注意力机制启发,群智系统引入基于深度Q网络传感器智能选择模块,在探索未知环境时有效选择传感器的工作状态,使用尽可能少的传感器费用获取和计算关键信息;基于最佳交互碰撞避免算法,单个智能集成少量关键信息,驱动传感器智能选择模块,大大降低传感器获取和计算信息的冗余。在模拟平台上Kehepera IV在机器人的实际场景中,结果表明,提到的方法可以显著降低集群系统传感器的信息冗余,随着智能体数量和信息交互量的增加,性能增长更加显著。

关键词:群体智能;优化资源利用效率;深度Q网络;避免最佳交互碰撞

0 引言

智能移动机器人集环境感知、动态决策与规划、行为控制与执行于一体,涵盖计算机与电子工程、自动控制、信息处理等多个领域的研究成果,在物流分拣、工业制造、应急救援等应用中发挥了巨大作用,也可以在一些极端环境极端环境中工作[1,2,3,4,5]。路径选择和独立避障是移动机器人规划路径的基本能力之一。在早期阶段,国内外对单个移动智能导航和避障的研究取得了许多良好的成果[6,7,8]。然而,许多算法依赖于已知条件下的环境,在实际应用中有很大的局限性。近年来,基于深度学习的算法不断提出,在未知环境中也能发挥良好的作用[9-10]。然而,随着技术的进一步发展,单个移动机器人的局限性越来越突出,人们迫切需要一个具有更高运行效率和可靠性的智能系统。因此,在相对密集的环境中,逐渐将注意力从单一智能体转向群体智能已成为研究的热点和难点之一。

根据控制模式,现有的群体智能协同避障算法大致可分为集中控制和分布式控制两种。集中控制将运动控制问题定义为优化问题。中央控制器获取所有智能主体的当前位置、速度和终点信息。最终目标是成功引导所有智能主体达到预期位置,优化整体所需的能量或时间指标,同时避免碰撞。虽然集中控制可以获得整体优势,但其缺点也非常明显:当智能体数量相对较大时,其计算成本将变得非常高。此外,在实际的大规模或密集环境智能体控制问题中,通常很难建立一个通信网络使得所有智能体与中央控制器之间可以进行可靠的信息传输,并且在突发情况下单个智能体不具备自治能力,稳定性较差。分布式控制可以很好地解决这些问题。分布式控制将计算、感知以及决策的工作下发到每个智能体上。与集中控制相比,分布式控制在计算量、运行成本、鲁棒性和扩展性方面具有巨大优势。群智协同避障场景在分布式控制中,Berg J V D 等人[11]提出了避免最佳交互碰撞的最佳方法(optimal reciprocal collision avoidanceORCA)算法允许每个智能体在观察周围智能体的位置和速度后,通过解决线性规划问题来计算下一时间范围内的局部最佳速度,以避免碰撞。由于其出色的性能,ORCA算法已成为常用的底层避障算法之一Li H等人[12]ORCA算法得到了一定程度的扩展,使其能够应用于非线性速度控制的智能体(如自行车运动模型的智能体规划),大大改进ORCA算法的适应性。中国也有相当多的研究关注分布式群体智能控制,如朱杰斌[13]无人机编队飞行时,编队控制器采用分布式编队控制策略设计,刘华刚等人[14]在人工势场理论的基础上构造了一种变权重自适应分布式多智能体编队与避障控制算法。

近年来,基于分布式控制的群体智能系统凭借其天然优势,受到越来越多的学者和专家的关注,并得到了许多可喜的研究成果,但依旧存在许多亟待解决的问题。例如在实际的机器人场景中,受到自身的计算资源、环境中的通信带宽资源以及信号的传输距离等限制,机器人在共同完成一些复杂的任务时,特别是当系统中的机器人数量十分庞大时,除了需要考虑网络拓扑结构的限制,还需要考虑自身能量的损耗和通信带宽的利用率等。此外,机器人在未知的环境中执行任务时,只有通过对环境具有感知功能的传感器才能进行探索、判断以及决策。目前移动机器人常用的传感器主要包括摄像机、超声波、红外线、惯性测量单元、光电编码器等。结合多传感器丰富的环境感知能力的优势,让移动机器人可以在复杂的环境中保持稳定的性能并执行特定任务,是目前机器人应用领域需要解决的重点和难点。例如,如何在群智协同工作时对传感器数据融合进行优化以及如何降低传感器工作时的冗余度,从而减少智能体受限的能量,解决计算资源的瓶颈问题,仍缺乏行之有效的解决方法。

在大脑认知科学中,注意力机制(attention mechanism)指的是人们大脑在面对大量信息时会选择性地将注意力聚焦在重要信息而忽略其他信息,把信息处理资源分配给最需要的部分意味着其可以在整体计算能力受限时进行合理的资源分配,极大地提高人类视觉等信息处理的效率。近几年在深度学习中应用的注意力机制可以被看作人类认知行为的一种模拟,其由于突出的表现而被广泛应用在自然语言处理、图像识别及语音识别等不同类型的机器学习任务中[15]。受此启发,笔者利用注意力机制来优化群体智能系统中有限能量或计算资源的分配问题,减少信息贡献度较低的传感器的工作,降低能量消耗。

因此,本文提出了一种脑注意力机制启发的群体智能协同避障方法,旨在在保证机器人完成任务的同时,降低执行任务时的传感器获取信息的冗余度。目前流行的注意力机制[16]的核心是在众多信息中通过训练加权系数,给不同的信息给予不同的权重,将更多的关注放在更关键的信息上,从而实现对输入的理解和处理。本文的脑注意力机制实质上是对注意力这一概念的模仿,通过智能体对当前状态进行分析,在获得执行任务所需要的关键信息后,将有限的信息处理资源分配给最需要的部分,从而节省整体开销。与目前流行的注意力机制相比,本文的脑注意力机制不需要采用复杂的结构,更偏向于认知科学概念中的注意力,直接通过神经网络来判断执行协同避障任务时的关键传感器信息,进而实现资源的倾斜。本文所考虑的群体智能协同避障环境如1所示,多个机器人在运动过程中与环境进行双向的信息交互,同时在一定距离范围内可与其他机器人进行少量信息交互,并通过机器人内部的处理模块达到群智协同避障的效果。具体而言,机器人在执行协同避障任务时,将自身信息(已知环境信息、当前速度、位置等)以及与近距离内的机器人交互得到的信息作为初始信息,设计基于深度 Q网络(deep Q networkDQN)的传感器智能选择模块分析初始信息,并选择当前需要打开的关键传感器。随后将关键传感器探索到的环境信息与初始信息整合,通过避碰决策模块规划出各机器人需要执行的动作,从而减少传感器的开销,并将资源集中在关键信息的处理上,实现类似脑注意力的效果。最后,笔者将该算法部署到仿真环境和由 3 Khepera IV机器人构成的实际场景中,验证所提方法在实际场景中的有效性。

图1

1   群体智能协同避障环境

本文的主要贡献如下。

1)本文提出了一种基于 DQN 的群智注意力机制,赋能传感器智能选择模块,通过对周围的环境信息进行不同粒度的划分,合理规划各传感器的使用,降低获取信息的冗余度。

2)本文对ORCA算法的使用进行扩展,通过结合传感器智能选择模块的结果以及一定距离内邻居机器人的信息,动态规划集群不发生碰撞的速度,并将结果转换为双轮式差速驱动运动模型来实现避障。

3)本文使用仿真实验环境以及Khepera IV机器人实际环境进行实验,实验结果证明了机器人集群协同工作的高效性及必要性。

1 相关工作

1.1 DQN

AI领域中,强化学习(reinforcement learning RL)让智能体基于环境而行动,以最大化智能体在环境中获得的总奖励值(reward),其重要目标是通过在智能体与环境的交互过程中不断试错来修正其决策机制,使得智能体能适应特定的环境,做出利于自身或全局目标最优的决策[17]。近年来,随着结合了强化学习和深度神经网络(deep neural networkDNN)的深度强化学习(deep reinforcement learningDRL[18]在各个领域大放异彩,许多先进的 DRL 算法大大提高了智能体从环境中学习的效率,例如DQN[19]。在智能体避障和决策领域,有很多基于DQN的算法取得了很好的成果。Xin J等人[20]Yue P Y等人[21]均提出了利用DQN进行自主导航与避障的算法;罗鹏等人[22]DQN的基础上提出了一种智能车辆决策框架,解决了高速场景下的车辆决策问题。

DQN 中,总的状态空间为SS,当前状态和次态分别为sss's',动作空间和当前动作分别记为 AAaa。传统的Q-learning算法使用Q表来记录并迭代更新在状态ss下采取动作aa时的Q值,以求出准确的值函数。Q-learning 在更新时将当前状态下的 Q 值和奖励值与次态s's'中最大的 Q值进行加权求和,其更新计算式如下(其中αγ为参数):

Q(s,a)←Q(s,a)+α(reward+γmaxa'Q(s',a')−Q(s,a))   (1)Q(s,a)←Q(s,a)+α(reward+γmaxa'Q(s',a')−Q(s,a))   (1)

不难看出,当状态空间和动作空间维数较大或为连续空间时,值函数无法用一张表格来表示,而深度神经网络刚好可以从高维原始数据中学习,并通过拟合复杂的函数来逼近值函数,DQN就是在此基础上被提出来的。

本文使用的DQN利用卷积神经网络来近似值函数,并将两个结构完全相同的网络作为主网络和目标网络,分别预测当前状态和次态的Q值。与Q-learning类似,DQN将次态中最大的Q值与奖励值的加权值作为主网络训练的标签,从而最小化均方误差。

DQN中的损失函数计算式如下:

L(θi)=E[(reward+γmaxaQ(s',a';θi)−Q(s,a;θi))2]   (2)L(θi)=E[(reward+γmaxa'Q(s',a';θi−)−Q(s,a;θi))2]   (2)

其中,Q(s,a;θi)Q(s,a;θi)Q(s',a';θi)Q(s',a';θi−)分别是主网络和目标网络的预测值,为了提高算法的稳定性,主网络的参数每次迭代均会更新,而目标网络的参数每隔一定步数再进行更新。

由于通过强化学习采集到的数据前后具有比较强的关联性,而顺序训练会在一定程度上影响训练结果,因此 DQN 采用了经验回放(experience replay)的方式进行训练,即把所有环境探索时采集到的数据(当前状态、次态、当前动作、奖励值)存储到一个数据库中,再利用均匀随机采样从数据库中批量抽取数据来训练网络,从而打破数据间的相关性。同时为了避免最终结果落入局部最优,网络训练时也采用了ε-greedy探索策略以增强对环境的探索能力,可以在已知的信息中最大化奖励的同时发掘环境中更多的信息。

1.2 ORCA算法

ORCA 算法[11]是一种可以保证大量机器人在杂乱的工作空间中进行局部无碰撞运动的算法,它基于速度障碍(velocity obstaclesVO[23]区域的思想,将避障问题转化为非常高效的线性规划问题,其基础流程如下。

由于机器人感知的环境有限,ORCA算法的首要目标为保证各机器人在时间窗τ内不发生碰撞。记每个机器人当前位置为pp,当前速度为vv,半径为 r,最大速度为vmax,首选速度(即指向机器人目标点的速度)为vpref,且对于两个机器人AB,将A相对于B的速度记为vAB=vAvBvA−B=vA−vBBA产生的速度障碍区域记为VOτA|BVOA|Bτ ,这是所有会导致 AB在时间窗τ内发生碰撞的vABvA−B 的集合,其正式定义如下:

VOτA|B={ v∣∣∃t∈[0,τ],tvD(pBpA,rA+rB)}   (3)VOA|Bτ={v|t[0,τ],tvD(pB−pA,rA+rB)}   (3)

其中,D(pBpA,rA+rB)D(pB−pA,rA+rB)表示以点pBpApB−pA为中心、半径为rA+rB的圆盘区域。此时可获取其相对速度vABvA−B 到速度障碍区域VOτA|BVOA|Bτ 边界的最短向量uu

u=(argminv∈∂VOτA|Bv−(vAvB)∥)−(vAvB)    (4)u=(argminv∂VOA|Bτ‖v−(vA−vB)‖)−(vA−vB)    (4)

uuAB在时间窗τ内避免碰撞所需要的最小速度变化量,一般情况下采用两个机器人速度均改变u/2u/2的方式,使得整体达到能避免碰撞的状态(当 B 为静止障碍物时,A 将负责全部的速度变化量)。记uu的单位向量为nn,则A在与B避障时的可行速度集合ORCAτA|BORCAA|Bτ 为从点vA+u/2vA+u/2开始的指向nn方向的半平面:

ORCAτA|B={ v∣∣(v(vA+12u))n≥0}    (5)ORCAA|Bτ={v|(v−(vA+12u))n≥0}    (5)

A与多个机器人进行避障时,A与周围每个机器人均会生成一个可行速度的半平面集合,将这些集合与A的最大速度取交集,即最终的可行速度集合 ORCAτAORCAAτ为:

ORCAτA=D(0,vmaxA)∩BAORCAτA|B    (6)ORCAAτ=D(0,vAmax)∩B≠AORCAA|Bτ    (6)

此时在可行速度集合中选取速度便可以保证A不会与周围机器人发生碰撞,同时为了让A能选择更好的路线,选择最接近其首选速度vprefAvApref的新速度vnewAvAnew

vnewA=argmaxvORCAτA∥∥vvprefA∥∥    (7)vAnew=argmaxvORCAAτ‖v−vApref‖    (7)

由此可见, ORCAτAORCAAτ是由多个可行速度的半平面的线性约束产生的凸区域。因此可以通过线性规划,计算出避免碰撞的新速度。

1.3 Khepera IV机器人

Khepera IV 机器人是一款由 K-Team 公司在20151月发布的微型移动机器人。该机器人周身配置12个红外传感器,5个超声波传感器,高精度的三轴陀螺仪、三轴加速度计,两个高效率、高质量的直流电机以及适配的编码器里程计(odometry);无线通信通过蓝牙或Wi-Fi完成;正前方有1个彩色摄像头,两侧有高增益的扬声器

在本文的实验场景中,Khepera IV机器人移动并使用传感器扫描周围环境,因此机器人需要实时计算自身的位置信息。但由于存在两方面的限制,精度相对较低的 Wi-Fi 和蓝牙等定位模型也不适用:一方面由于成本等因素并没有在机器人内部集成类似于GPS等的定位模块,另一方面本文使用的是室内的实验场景。因此本文将里程计作为位置估计的方法,利用机器人移动过程中传感器的数据来估计机器人的位置。此外,推算定位(dead reckoning)算法是一个借助先前的位置信息、速度信息,推导出当前位置的算法。双轮式差速驱动运动模型如2所示,本文将里程计信息与推算定位算法结合,完成机器人位置估计。

图2

 

2   双轮式差速驱动运动模型

如图2所示,通过左右轮里程计编码器在一个单位时间间隔内的数值增量,可以得到左右轮的速度大小vlvr,由双轮式差速驱动运动模型可以求得机器人的速度大小v和角速度大小w

v=vr+vl2v=vr+vl2

w=vrvll    (8)w=vr−vll    (8)

其中,l表示机器人左右轮间的距离。由此即可计算出机器人的中心位置相较于上一时刻的位置增量ΔxΔy

Δx=vΔt⋅cos(θ0+wΔt)Δx=vΔtcos(θ0+wΔt)

Δy=vΔt⋅sin(θ0+wΔt)    (9)Δy=vΔtsin(θ0+wΔt)    (9)

其中,θ0表示上一时刻机器人的方向。至此,便可求出机器人当前的位置信息。

2 系统算法

2.1 算法框图

在分布式控制的密集障碍物群智协同避障实验中,每个机器人在受限于通信距离和传感器感知范围的情况下,需要根据获取到的状态信息做出收益尽可能大的决策。因此,笔者建立如下系统模型:在一定区域范围内放置若干个机器人,将此设置为机器人的初始状态;以整个区域的中心点为对称中心,机器人以此对称中心设置与初始状态相对应的目标状态;并假设该区域中存在静止的实体障碍物。实验目标为:机器人在通信距离和传感器感知范围受限且对环境信息未知的初始状态下,向目标状态转移,期间不与其他机器人和静止的实体障碍物发生碰撞,与此同时,尽可能减少传感器的开销。

基于此,笔者设计了脑注意力机制启发的群体智能协同避障方法框图,如3所示。该方法主要可以分为两个部分:传感器智能选择模块和避碰决策模块。传感器智能选择模块以深度强化学习中的DQN为基础,旨在根据机器人在前一时刻的状态以及与其他机器人交互的信息合理地使用传感器,并做出决策,从而减少机器人在探索未知环境的过程中使用过多的传感器所带来的额外资源开销;避碰决策模块将机器人自身获取的环境信息和与其他机器人交互得到的信息融合作为 ORCA 算法的输入,计算不发生碰撞的速度输出,进一步通过双轮式差速驱动运动模型将此输出结果转换为机器人左右轮的速度并执行。传感器智能选择模块和避碰决策模块相互配合实现了在不与其他机器人和静止障碍物发生碰撞的前提下,降低传感器的使用数量,减少部分冗余的传感器资源的开销。

2.2 传感器智能选择模块

虽然传感器是机器人获取环境信息的重要手段,但是无法保证每个传感器获取的环境信息均对当前任务有帮助。受到注意力机制的启发,希望机器人在工作时也将有限的能量与计算资源分配到关键任务上,因此笔者设计了传感器智能选择模块来避免传感器上的能量资源浪费,进而在能量受限的情况下保障关键任务的执行。

需要注意的是,笔者关注的是认知科学中的脑注意力机制概念,并非深度学习算法中的注意力结构,智能体通过神经网络对当前状态进行分析,来判断执行协同避障任务时的关键传感器信息,并做出资源分配决策,从而节省整体开销。在该模块中,该注意力机制的输入为当前状态,而神经网络是该注意力机制进行分析的主体部分,并输出需要采取的动作,同时将针对各状态和动作计算得到的奖励值作为衡量该注意力机制所做出的决策质量的指标。

图3

3   脑注意力机制启发的群智协同避障方法框图注:图中的实线代表机器人间距离较近,可以相互通信并传递信息;虚线代表机器人间距离较远,无法建立有效通信;PV分别代表机器人的位置信息和速度信息

其中,笔者设计的网络与奖励函数均仅针对单个机器人,在训练完成后,各机器人将独立采用相同的网络进行传感器的控制,进而通过避障算法做出决策,并未进行整体的共享与协调。在未来的工作中,笔者将尝试针对整个机器人集群进行传感器智能选择网络的设计与实现[24-25]

1)问题定义

在本问题中,当前状态ss为当前时刻机器人周围的局部地图,可将该地图等分为n×m个子区域,每个子区域i有一个区域类型ci,且ci∈{ U,E,O}ci{U,E,O} ,其中UEO分别表示未探索、空旷、障碍物3种类型,此时s可表示成s={ ci}n×ms={ci}n×m ,其为n×m的地图信息矩阵。当前动作aa为机器人设置的各传感器开关状态,k个传感器中每个传感器i均有一个状态di,且di∈{ Y,N}di{Y,N},其中 YN 分别表示开和关状态,此时aa即可表示成a={ di}ka={di}1×k ,其为1× k的动作向量。将根据动作打开传感器后更新的地图信息矩阵作为次态s's'。状态空间SS和动作空间AA的具体定义如下:

S={ c1×⋯×cn×m|ci∈{ U,E,O}, i∈{1,⋯,n×m}}S={c1××cn×m|ci{U,E,O}, i{1,,n×m}}

A={ d1×⋯×dk|di∈{ Y,N}, i∈{1,⋯,k}}    (10)A={d1××dk|di{Y,N}, i{1,,k}}    (10)

本问题的最终目标是让机器人能够根据周围环境的探测情况自行选择需要使用的传感器,即对当前状态ss进行分析,并采取动作aa来最大限度地找出周围潜藏的障碍物或可以前进的空旷区域,同时尽量减小传感器的能量开销。

2)奖励函数设计

奖励函数是强化学习中非常重要的一部分。在本问题中,需要优先保证机器人不与障碍物发生碰撞,并在此基础上减小传感器的能量开销,

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章