本发明属于智能体技术领域,涉及一种多智能体的覆盖与污染检测方法。
背景技术:
污染通常是指由于人类活动或自然过程导致某些有害物质进入大气中危害环境的现象。在污染检测系统中,可分为前期报警、定性检测和精准检测三级,其中前期报警环节是之后两级检测的基本保证,在减小污染损失和制定治理措施方面,有着非常重要的作用。如何对整个区域进行高效的覆盖检测,实现前期报警,是当前技术面临的难题。
近年来,任务环境的覆盖与检测问题,逐渐受到学术界的重视。传统的传感器检测方法是设计无线传感器网络,计算最优覆盖节点,人工放置污染报警传感器。以这种方式实现传感器网络,需要人为地计算最优传感器位置,配置不灵活,放置位置相对固定。并且单个传感器负责检测的区域必须小于检测半径,覆盖区域相对有限,面对面积较大的任务环境时,需要大量的传感器来覆盖整个区域。一旦单个传感器失效,将无法覆盖负责区域,鲁棒性不强。
引入多智能体系统,通过多智能体携带相应的传感器,自主配置并移动到最优的覆盖节点,能解决上述无线传感器网络无法解决的问题。在传统的多智能体覆盖中根据覆盖形状不同主要分为三种覆盖形式:区域覆盖,点覆盖和栅栏覆盖。区域覆盖问题要求多智能体网络中的每个智能体负责一个子区域,目标是减少覆盖检测范围重叠。实现区域覆盖首先需要对区域环境进行区域划分。早期的区域划分方式有:正方形区域,三角形区域,六边形区域三种。
目前智能体区域划分方式的污染覆盖检测存在的缺点:智能体之间缺乏合作与联系,无法实时地更新智能体位置,每个智能体负责的区域无法根据覆盖检测效率最优地划分,智能体覆盖检测范围有大量的重叠,会造成资源的浪费;单个智能体无法动态地检测区域,负责的区域必须小于传感器的检测半径,所以单个智能体覆盖检测的范围有限,覆盖面积较大的区域时,要求的智能体数量极多,导致成本上升。
技术实现要素:
本发明针对上述覆盖污染问题进行了研究,提出了基于voronoi分割的多智能体污染覆盖检测方法,可以让携带便携式环境综合检测报警仪的imu独轮机器人自动地配置到基于覆盖检测效率最优的位置;该智能体之间遵守voronoi分割规则,保持合理的距离,实现合作和联系,提高了报警仪检测覆盖的效率,节省智能体的使用数量。
本发明的技术方案,通过一组携带便携式环境综合检测报警仪的imu独轮机器人最优地覆盖检测目标区域。通过该智能体定义一个虚拟质心,使用一个控制器来确保虚拟质心渐近地与voronoi分区质心重合,使智能体绕voronoi分区质心旋转运动,来增加单个智能体动态覆盖的面积,实现对目标区域的高效覆盖,当出现挥发性有机物时,便携式环境综合检测报警仪实现污染报警功能。
本发明的具体方法是:
步骤一:定义覆盖区域,分割voronoi分区。
假设q为需要覆盖污染检测的凸多边形区域。q中的任意点表示为q,定义一组智能体{1,…,n},智能体的位置由p=(p1,…,pn)表示,智能体k表示智能体中的任意一个智能体,即k∈{1,…,n},每个智能体在凸多边形区域q中移动。q中的任意点q由距离成本最小的智能体负责,从而获得根据覆盖检测效率最优的分割。
智能体k的voronoi分区的定义如下:
智能体{1,…,n}将凸多边形区域q分割为对应的voronoi分区,即v1,…,vn,由每个智能体负责覆盖。
步骤二:求得对应步骤一的voronoi分区质心。
覆盖范围性能函数的梯度定义如下:
求得步骤一中voronoi分区vk的梯度h的临界点
步骤三:imu独轮机器人的动力学方程。
根据imu独轮机器人的动力学方程,结合步骤二得出该imu独轮机器人的运动方式。
imu独轮机器人的动力学方程:
其中
使用复数符号,imu独轮机器人k运动的虚拟质心zk定义为
虚拟质心的动力学方程为
其中ω0为非零期望角速度。
步骤四:结合步骤二,步骤三,使用控制器,imu独轮机器人进入各自对应的区域,实现绕voronoi分区质心做圆周运动。
使用的控制器为
imu独轮机器人逐渐运动到虚拟质心和voronoi分区质心重合,一旦虚拟质心到达voronoi分区质心,智能体将以固定的前进速度和角速度(即稳态圆形轨道)绕voronoi分区质心做圆周运动。
步骤五:通过步骤四的控制器作用,imu独轮机器人到达预计轨道,开始覆盖污染检测。
imu独轮机器人绕着voronoi分区质心做圆周运动,在一个旋转周期结束后,对各自的voronoi分区完成一次污染检测,持续地动态覆盖的voronoi分区。如发生污染泄露,出现挥发性有机物,当智能体运动到附近,进入检测范围,便携式环境综合检测报警仪报警,实现功能。
本发明具有的有益效果为:
1、提出了基于voronoi分割的多智能体污染覆盖检测方法。针对智能体区域分割方法效率不高的问题,通过voronoi法分割目标凸边型区域,使区域内的每个点由距离成本最小的智能体负责,根据性能函数梯度,自动得到最优覆盖检测区域,大大减少了智能体之间的重叠覆盖区域,减少了资源的浪费。
2、实现了智能体对负责voronoi分区的动态污染检测。针对单个智能体无法动态地检测区域的问题,通过智能体绕着voronoi分区质心做圆周运动,实现动态污染检测,大大增加了单个智能体覆盖检测的面积,从而减少了智能体节点数量,降低了节点布置的成本。
附图说明
图1为本发明流程图。
图2为voronoi分区与对应质心
图3为imu独轮机器人仿真运动轨迹。
图4为质心重合后某一时刻,其中两个智能体实施污染检测。
具体实施方式
步骤一:定义覆盖区域,划分为voronoi分区。
假设q为需要覆盖污染检测的凸多边形区域。q中的任意点表示为q,定义一组多智能体{1,…,n},智能体的位置由p=(p1,…,pn)表示,智能体k表示多智能体中任意一个智能体,即k∈{1,…,n},每个智能体在凸多边形区域q中移动。q中的任意点q由距离成本最小的智能体负责,从而获得根据覆盖检测效率最优的划分凸多边形区域。智能体k的voronoi分区的定义如下:
当两个voronoi分区vk和vj相邻(即它们共享一条边)时,pj称为pk的相邻智能体(反之亦然)。根据voronoi分区的定义,对于在边界上的任何q,都有mink∈{1,…,n}||q-pk||2=||q-pj||2。智能体{1,…,n}将凸多边形区域q分割为对应的voronoi分区,即v1,…,vn,由每个智能体负责覆盖。
步骤二:求得对应步骤一的voronoi分区质心。
覆盖范围性能函数定义如下
其中φ(q)是所有智能体已知的分布密度函数,并且假设整个voronoi分区每个点污染出现的概率是固定相等的,那么φ(q)取1。可以将||q-pk||2看作是对位于智能体k的对q点覆盖程度的定量。
覆盖范围性能函数的梯度定义如下:
求得步骤一中voronoi分区vk的梯度h的临界点
步骤三:imu独轮机器人的动力学方程。
根据imu独轮机器人的动力学方程,结合步骤二得出该imu独轮机器人的运动方式。
imu独轮机器人的动力学方程:
其中
使用复数符号,imu独轮机器人k运动的虚拟质心zk定义为
虚拟质心的动力学方程为
其中ω0为非零期望角速度。
步骤四:结合步骤二、三,使用控制器,使imu独轮机器人进入对应的区域,实现绕voronoi分区质心做圆周运动。
结合步骤二、三的动力学方程,设计控制器,控制imu独轮机器人的航向角,使imu独轮机器人k的虚拟质心逐渐运动到和voronoi分区质心重合,控制器为
一旦虚拟质心到达voronoi分区质心,即
步骤五:通过步骤四的控制器作用,imu独轮机器人到达预计轨道,开始覆盖污染检测。
imu独轮机器人绕着质心做圆周运动,便携式环境综合检测报警仪开启,在一个旋转周期结束后,对各自的voronoi分区完成一次污染检测,持续地动态覆盖各自voronoi分区。如果发生污染泄露,出现挥发性有机物,当机器人运动到附近,污染源进入检测范围,便携式环境综合检测报警仪将会报警,实现功能。图4为检测工作后某一时刻,其中两个机器人的污染检测情况。方点为当前两个机器人的位置,黑色细实线为检测范围,扩散点1,2为污染点。
使用本发明的多智能体覆盖污染检测系统,能够高效地分割区域,自动得到基于覆盖目标的最优分区,减少重叠覆盖检测范围;能够动态地检测区域,增加单个智能体覆盖检测的面积,减少智能体节点数量,从而降低节点布置成本。