无人机集群自组织搜索仿真模型设计与实现

helloworld_38131402
• 阅读 476

摘要:城市威胁背景下无人机集群自组织搜索移动目标问题,是无人机集群作战应用的一个重要发展方向。采用基于Agent的复杂系统建模仿真工具,构建了无人机集群搜索仿真模型框架,设计实现了无人机集群自组织搜索模型。在考虑无人机集群作战可能受到威胁的背景下,展示了无人机集群自组织搜索概念,探索了使用基于概率的有限状态机模型实现集群自主决策的解决方案,并通过案例进行了分析验证。该仿真模型为无人机集群作战应用研究提供了参考案例、模型支撑和实验平台。

关键词:无人机集群 ; 自组织 ; 搜索 ; 威胁环境 ; 仿真 ; 有限状态机

随着战争形态的不断演化,未来的作战对手可能将战争引向城市,依靠高大的建筑物和密集的人群,来躲避搜索跟踪,进而抵消我方侦察和火力打击的优势。无人机集群具有灵活性、自主性、鲁棒性和可扩展性等特点,同时可以降低作战成本、减少作战人员伤亡,并且依赖无人机个体的自主能力实现无人机集群的自组织作战,降低了对人员操控和操作系统的依赖,对破解敌方利用建筑物和地形优势躲避搜索跟踪,提高作战效果具有重要的作战应用价值。

当前,关于无人机和无人机集群的研究较多[1],无人机集群也以其独特的优势日益受到各国军方的广泛关注。在集群搜索问题上[2-3],已有很多搜索算法。本文聚焦无人机集群自组织搜索城市威胁环境中移动的目标进行研究。无人机集群自组织搜索,是指将多架成本低廉、小型轻便、功能相对简单和具有一定自主能力的低成本无人机以集群的方式大量部署,基于一定的间隔分布,形成一定的覆盖范围,按照上一层次的指挥要求,在操控人员监控下,在任务区域上空按照选定的策略飞行,实现对目标的搜索、发现、识别和跟踪锁定。无人机个体间采用弱通信方式,基于简单的规则,通过个体间信息交互、感知融合,实现协同行为,采用自下而上的方式,使集群涌现出高度结构化的自组织特性和显著的集群智能行为,使其能够完成远远超出个体能力的复杂任务。

本文采用基于Agent的复杂系统建模仿真技术,对无人机集群自组织搜索的机理进行研究[4-5],构建了无人机机动、协同、搜索、决策等行为模型,建模分析了无人机集群作战威胁环境。探索了使用基于概率的有限状态机模型实现集群自主决策的解决方案,初步实现并展示了无人机集群自组织搜索的作战样式。基于该仿真模型重点研究了无人机性能对集群搜索效果的影响,分析了集群协同方法、集群决策判断方法、目标分配、搜索策略、威胁程度及战场环境等动态因素和潜在因素对集群搜索效果的影响,借助集群模型框架,可以很方便地引入集群智能算法,为集群智能的研究、设计、实验提供了很好的接口和平台。

建模原理与模型框架

无人机集群是由大量具有一定自主能力的无人机个体构成的复杂适应系统,具有自组织特性。自组织,即无需外部干预,仅依赖系统内部的相互作用,自行形成具有特定功能与结构的整体的过程[6]。无人机个体没有对全局模式、策略、目标或层次体系架构的的全局知识,在规则约束或任务指引下,基于局部感知进行决策判断,通过个体交互使集群整体涌现出自组织行为。集群整体行为与无人机个体行为无直接关系,而是通过个体行为间接实现,集群整体行为取决于无人机个体行为变化。

采用基于Agent仿真的方法,通过基于复杂系统的建模仿真框架,对无人机个体行为进行仿真建模描述,构建无人机集群自组织搜索仿真模型,分析个体交互如何影响全局行为,将集群中个体行为和集群整体自组织现象有机结合,是一种自顶向下分析、由底向上综合的有效解决方案。

模型框架

MASON(multi-agent simulator of networks)是基于Agent的复杂系统仿真框架[7],提供了一组设计基于多Agent的建模仿真概念,同时提供了支持实现该框架的软件包,可采用这些概念设计仿真模型,并通过调用相关类库和工具对其进行实现,具有很好的扩展性。

基于MASON在Eclipse开发环境下设计实现了无人机集群自组织搜索仿真模型,主要包括如下模型类:

(1) Target.java:主要实现目标对象的Agent,赋予侦察目标的运动等相关行为和特性,通过实例化该对象,可在仿真中实现目标的可视化展示。在后续开发中,可能要求目标具有复杂的行为和特性,可以通过拓展和完善该对象实现。

(2) ADS.java和Jammer.java:分别用来实现敌方弹炮结合防空系统和敌方电子干扰系统,通过实例化该对象,可构造无人机集群作战使用的威胁环境,实现敌直接火力打击和电子干扰对无人机集群作战效能的影响效果。

(3) BattleField.java:实现战场环境的Agent,如城市建筑物、巷道,以及地形、地物等,都可以通过实例化该对象,在仿真中实现战场的可视化展示。通过设置该模型类的位置、尺寸等属性,可构建无人机集群执行搜索任务的战场环境。

(4) UAV.java:实现UAV对象的Agent,该类包含了单个UAV的所有逻辑,是仿真模型的核心。该类对无人机个体行为功能进行实现,使多架无人机的集合形成集群,产生区别于简单集合的自适应行为和特性。

(5) UAVSwarm.java:定义了交战场景,控制仿真流程,并提供了在仿真环境中包含的可变参数的入口点。该类中包含的main( )方法启动了仿真,并通过调用doLoop方法和输入参数args来生成UAVSwarm的实例,实现对仿真的控制。

args = new string[]{"-repeat", string.value of(repeat Times),

"-time", string.value of(0),

"-until", string.value of(7200),

"-seed", string. value of(1366691235073L)};

"-repeat"定义了仿真重复次数;"-seed"指定了仿真中的seed;"-time"可以帮助获取每个仿真周期中的状态信息;"-until"定义了每次仿真的最大持续时间(s)。这些参数将在仿真的实验设计中发挥重要作用。

在仿真系统中,交战场景和仿真实体的初始化在UAVSwarm.java类的start( )函数中定义。

(6) UAVGUI.java:一个辅助类,该类实现了对无人机和目标的外形设计,主要用于仿真的可视化展示。该类实例化了一个UAVSwarm对象,并使其运行,进而实现对一次集群自组织搜索仿真过程的可视化展示,如图1所示。

无人机集群自组织搜索仿真模型设计与实现

图 1 集群自组织搜索仿真模型界面展示

Fig. 1 Visualization of swarm self-organized search simulation model

为便于仿真分析,将战场环境进行了简化描述,并没有考虑气候、天气、电磁环境等的影响。实际执行任务时,一般会将无人机部署在不同高度,以减少碰撞的危险,在此不考虑高度影响,在二维空间内对集群搜索模型进行研究。假设在仿真开始时无人机集群已经完成起飞动作,并已到达指定目标空域开始搜索过程。

点赞
收藏
评论区
推荐文章
Stella981 Stella981
3年前
Elasticsearch学习总结一 基本用法及概念
一.Elasticsearch是一个基于Lucene的实时的分布式搜索和分析引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。基于RESTful接口二.ES中的核心概念集群(Cluster):ES是一个分布式的搜索引擎,一般由多台物理机组成。这些物理机,通过配置一个相同的clustername,互相发现,把自己
Stella981 Stella981
3年前
MapReduce编程模型和计算框架架构原理
Hadoop解决大规模数据分布式计算的方案是MapReduce。MapReduce既是一个编程模型,又是一个计算框架。也就是说,开发人员必须基于MapReduce编程模型进行编程开发,然后将程序通过MapReduce计算框架分发到Hadoop集群中运行。我们先看一下作为编程模型的MapReduce。MapReduce编程模型
Stella981 Stella981
3年前
Redis migrate 数据迁移工具
在工作中可能会遇到单点Redis向Redis集群迁移数据的问题,但又不能老麻烦运维来做。为了方便研发自己迁移数据,我这里写了一个简单的Redis迁移工具,希望对有需要的人有用。本工具支持:单点Redis到单点Redis迁移单点Redis到Redis集群迁移Redis集群到Redis集群迁移Redis集群
Stella981 Stella981
3年前
Kubernetes 两步验证
作者:CODING王炜1\.背景如果对Kubernetes集群安全特别关注,那么我们可能想要实现这些需求:如何实现Kubernetes集群的两步验证,除了集群凭据,还需要提供一次性的Token校验?如何验证部署的镜像是否安全合规,使得仅允许部署公司内部镜像仓库的Docker镜像?
Wesley13 Wesley13
3年前
OSC职位推荐:DJI 大疆创新,只招聘偏执狂
大家好,今天给各位推荐的公司——大疆创新(DJI)是深圳土生土长的科技企业,被称为无人机领域的“苹果”,它被《华尔街日报》称为“首个在全球主要的消费产品领域成为先锋者的中国企业”。提大疆都想到无人机,但其实大疆是做飞控起家,汪峰向章子怡求婚用的便是大疆无人机精灵系列的最新款。小编之所以推荐这家公司,是因为当下智能设备行业大热,相信大疆创新的技术和市
Stella981 Stella981
3年前
Spring cloud实现FeignClient指定Zone调用
本文基于SpringCloudFincheleySR3背景介绍目前项目多个区域多个集群,这些集群共用同一个Eureka集群。通过设置eureka.instance.metadatamap.zone设置不同实例所属的zone,zone之间不互相调用,只有zone内部调用(其实这里用zone做了集群隔离,实际上集群肯定是跨可用区
Wesley13 Wesley13
3年前
ES 源代码阅读(二)
1基本概念集群:一个集群有一个或多个节点组织在一起,并将数据组织在一起,提供索引和搜索服务.节点:一个节点是一个集群中的服务器,提供存储数据,提供搜索服务.索引:文档的逻辑的集合分片:一个逻辑索引有若干分片,其中一个分片被设置为主分片.分片为索引的存储位置.会涉及到分布式问题.类型:文档的类型文档:与lucene中的d
RALB负载均衡算法的应用 | 京东云技术团队
一、背景搜索推荐算法架构为京东集团所有的搜索推荐业务提供服务,实时返回处理结果给上游。部门各子系统已经实现了基于CPU的自适应限流,但是Client端对Server端的调用依然是RR轮询的方式,没有考虑下游机器性能差异的情况,无法最大化利用集群整体CPU,
京东云开发者 京东云开发者
10个月前
ElasticSearch集群灾难:别放弃,也许能再抢救一下 | 京东云技术团队
1前言Elasticsearch作为一个分布式搜索引擎,自身是高可用的;但也架不住一些特殊情况的发生,如:集群超过半数的master节点丢失,ES的节点无法形成一个集群,进而导致集群不可用;索引shard的文件损坏,分片无法被正常恢复,进而导致索引无法正常