目录

面向人机物融合的多级融合调度系统 —— 工业物联网智能巡检场景

项目简介

本系统面向工业物联网智能巡检场景,设计并实现了一套人-机-物融合的多级任务协同调度框架

系统包含三类核心实体:

  • :人工复核员,负责无人机巡检结果的审核确认
  • :多架无人机,负责执行设备巡检任务
  • :工业设备(泵、阀门、储罐、压缩机等),作为被巡检对象

调度框架采用云端全局划分 → 边缘协同分配 → 终端分层执行的三层架构,在边缘协同层提出 HMF-GLB(人机物融合全局负载均衡) 启发式调度算法,综合考虑任务距离代价、节点实时负载及空闲奖励机制,实现任务的智能分发。

项目通过对比 Round Robin、Nearest UAV、Random 等基线算法,验证了本框架在调度延迟、资源利用率、任务完成时间(makespan)及负载均衡差等核心指标上的优化效果。

算法亮点

本项目提出并实现了一种面向多无人机协同任务的分层融合调度方法 HMF-GLB
(Hierarchical Multi-level Fusion Greedy Load-Balanced Scheduling)。

该方法针对多无人机任务执行过程中常见的任务分配不均、单机负载过高、整体完成时间较长等问题, 从任务分配、路径代价、负载均衡和执行评估多个层面进行融合优化。

1. 分层协同调度结构

项目将多无人机协同任务划分为三个层次:

层次 功能
任务建模层 建立无人机初始位置、任务点坐标和任务集合
协同分配层 根据距离代价和当前负载进行任务分配
指标评估层 从总距离、完成时间、负载均衡和完成率等指标评估算法效果

相比单一的路径规划方法,该结构更加适合多无人机并行执行任务的场景。

2. 多指标融合代价函数

在任务分配过程中,算法不仅考虑当前任务点与无人机之间的距离, 还融合了无人机已有任务负载,构建综合调度代价:

score = incremental_cost + α · current_load
| 符号 | 含义 |
|------|------|
| `incremental_cost` | 将当前任务加入某无人机路径后带来的新增距离 |
| `current_load` | 当前无人机已承担的累计飞行距离 |
| `α` | 负载均衡权重系数 |

3. 面向多无人机负载均衡

传统最近邻策略容易将大量任务分配给局部距离最近的无人机, 导致部分无人机任务过重,而其他无人机利用率不足。

HMF-GLB 在任务分配时引入当前负载约束,使任务能够在多架无人机之间更加均衡地分布, 降低最大单机飞行距离,从而缩短整体任务完成时间。

4. 仿真与工程结合

项目不仅提供算法级实验,还提供 AirSim 多无人机协同演示脚本, 能够将调度结果进一步映射到无人机仿真飞行过程中。

这使得项目同时具备:

算法可验证性; 仿真可演示性; 工程可运行性; 结果可复现性。

HMF-GLB 调度算法

HMF-GLB 算法的核心思想是在任务分配过程中同时考虑路径增量代价和无人机当前负载。 对于每一个待分配任务,算法分别计算将该任务加入不同无人机任务序列后的新增路径距离, 并结合该无人机当前累计任务距离构造综合评分函数。

算法选择综合评分最小的无人机执行当前任务。

其评分函数定义如下:

Score(u, t) = ΔD(u, t) + α × Load(u)

其中,u 表示候选无人机,t 表示当前任务点,ΔD(u, t) 表示将任务 t 加入无人机 u 当前任务序列后带来的新增路径代价,Load(u) 表示无人机 u 当前累计飞行负载,α 为负载均衡权重。

该方法能够在降低路径距离的同时抑制任务分配过度集中, 从而提升多无人机系统的整体协同效率。

算法伪代码

Input:
    U = {u1, u2, ..., um}          // 无人机集合
    T = {t1, t2, ..., tn}          // 任务点集合
    α                              // 负载均衡权重

Output:
    A                              // 多无人机任务分配结果

Initialize:
    A(ui) = empty list for each ui in U

For each task tj in T:
    best_uav = None
    best_score = +∞

    For each uav ui in U:
        old_distance = RouteDistance(ui, A(ui))
        new_distance = RouteDistance(ui, A(ui) + tj)
        incremental_cost = new_distance - old_distance
        current_load = old_distance

        score = incremental_cost + α × current_load

        If score < best_score:
            best_score = score
            best_uav = ui

    Assign tj to best_uav:
        A(best_uav) = A(best_uav) + tj

Return A

解决的问题

本项目主要解决工业物联网智能巡检场景下多无人机协同执行任务时的以下问题:

  1. 单无人机巡检范围有限、任务完成效率低;
  2. 多个巡检任务点需要合理分配给不同无人机;
  3. 不同任务具有不同优先级,需要优先处理重要区域;
  4. 多无人机任务分配需要兼顾飞行距离和负载均衡;
  5. 巡检过程中需要完成图像采集并保存结果,便于后续分析。

项目目标

本项目的目标是构建一个可运行、可展示、可评估的多无人机协同调度仿真系统,重点实现以下功能:

  1. 在 AirSim 仿真环境中构建多无人机运行场景;
  2. 对工业设备巡检任务进行建模,包括任务位置、优先级和工作量;
  3. 根据任务信息和无人机状态进行任务分配;
  4. 控制多架无人机按照分配结果执行航点飞行;
  5. 在任务点进行图像采集并保存结果;
  6. 输出任务完成情况、飞行距离、完成时间和负载均衡等评价指标。

系统总体流程

本项目按照“任务输入—调度分配—无人机执行—数据采集—结果评估”的流程运行,整体流程如下:

  1. 初始化 AirSim 多无人机仿真环境;
  2. 读取或生成工业设备巡检任务点;
  3. 根据任务位置、任务优先级和无人机状态进行分层融合调度;
  4. 将任务分配结果转换为各无人机的航点序列;
  5. 控制多架无人机执行起飞、航点飞行、悬停和降落;
  6. 在巡检任务点采集图像数据;
  7. 保存任务执行结果;
  8. 统计飞行距离、任务完成时间、任务完成率和负载均衡情况。

完整任务流程

本项目基于 AirSim 仿真平台,构建多无人机协同任务执行流程。系统从仿真环境启动开始,经过无人机初始化、任务生成、信息融合、任务分配、路径规划、协同执行和结果统计等步骤,完成多无人机任务调度与仿真实验。

1. 启动仿真环境

启动 AirSim/Unreal Engine 仿真场景,并通过 settings.json 加载多无人机配置,包括无人机名称、初始位置、传感器参数和控制方式。

启动 AirSim 环境
        ↓
读取 settings.json
        ↓
加载多无人机
        ↓
建立 Python API 连接

2. 初始化无人机

在 AirSim 仿真环境启动后,程序通过 Python API 与仿真平台建立连接,并对所有无人机进行初始化操作。初始化过程主要包括获取控制权限、解锁无人机、执行起飞指令以及设置统一飞行高度。

该步骤的作用是确保多架无人机在任务开始前处于可控、稳定、可执行任务的状态。

连接 AirSim 仿真平台
        ↓
获取无人机控制权限
        ↓
解锁无人机
        ↓
执行起飞操作
        ↓
调整至指定飞行高度
        ↓
进入任务待命状态

初始化完成后,系统会记录各无人机的初始状态信息,包括当前位置、高度、速度和可用状态,为后续任务分配和路径规划提供基础数据。

3. 生成任务点

系统根据仿真实验需求,在任务区域内生成多个待执行任务点。每个任务点包含任务编号、空间坐标、任务优先级和当前执行状态等信息,用于后续的任务分配与调度决策。

任务点可以表示巡检目标、搜索区域、侦察位置或数据采集点。

生成任务区域
        ↓
设置任务数量
        ↓
确定任务点坐标
        ↓
设置任务优先级
        ↓
生成任务列表

任务点生成完成后,系统将任务列表作为调度算法的输入,用于计算无人机与任务之间的匹配关系。

4. 多层信息融合

在任务分配之前,系统对无人机状态、任务信息和环境信息进行融合处理,形成统一的调度决策输入。通过多层信息融合,可以更全面地反映当前任务场景,提高任务分配的合理性和协同效率。

融合的信息主要包括无人机当前位置、飞行状态、任务点位置、任务优先级、任务完成状态以及环境约束等。

采集无人机状态信息
        ↓
采集任务点信息
        ↓
采集环境约束信息
        ↓
进行多层信息融合
        ↓
生成调度决策输入

融合后的信息可用于计算无人机执行不同任务的代价,例如飞行距离、任务优先级、任务负载和执行时间等。

无人机状态 + 任务信息 + 环境信息 ↓ 任务代价计算 ↓ 任务分配与调度决策

5. 任务分配与调度

在完成多层信息融合后,系统根据无人机状态和任务点信息进行任务分配与调度。调度过程综合考虑无人机当前位置、任务点距离、任务优先级、任务数量以及无人机可用状态等因素,为每架无人机分配合适的任务。

该步骤的目标是在保证任务完成的前提下,尽量降低整体飞行代价,提高多无人机协同执行效率。

读取融合后的调度输入
        ↓
计算无人机与任务点之间的代价
        ↓
根据任务优先级进行排序
        ↓
为无人机分配任务
        ↓
生成任务执行队列

调度完成后,每架无人机会获得对应的任务序列,并按照任务队列依次执行飞行、到达、检测或采集等操作。

6. 路径规划

在完成任务分配与调度后,系统根据每架无人机的任务序列进行路径规划。路径规划的目标是为无人机生成从当前位置到目标任务点的飞行路线,使其能够按照调度结果依次完成任务。

路径规划过程中主要考虑无人机当前位置、目标任务点坐标、飞行高度、任务执行顺序以及环境约束等因素。

读取无人机任务队列
        ↓
获取当前无人机位置
        ↓
确定目标任务点坐标
        ↓
规划飞行路径
        ↓
生成航点序列

7. 无人机任务执行

在完成路径规划后,无人机根据生成的航点序列开始执行任务。每架无人机按照调度结果依次飞向对应任务点,并在到达任务区域后执行检测、采集、监测或其他指定操作。

任务执行过程中,系统会持续获取无人机的位置、速度、高度和任务完成状态,用于判断任务是否正常推进。

读取航点序列
        ↓
无人机起飞并进入任务模式
        ↓
按照路径飞向目标任务点
        ↓
到达任务点并执行任务
        ↓
更新任务完成状态

8. 状态监测与反馈

在无人机执行任务过程中,系统持续监测各无人机的运行状态和任务执行情况,并将状态信息实时反馈给调度模块或可视化界面。

监测内容主要包括无人机位置、飞行速度、飞行高度、电量状态、任务进度、任务完成情况以及异常状态等。

采集无人机运行状态
        ↓
采集任务执行状态
        ↓
判断是否存在异常情况
        ↓
更新任务进度
        ↓
反馈给调度与显示模块

9. 异常处理与动态调整

在任务执行过程中,如果出现无人机状态异常、任务点变化、路径受阻或任务失败等情况,系统需要根据实时反馈信息进行异常处理和动态调整。

该步骤主要用于提高系统在复杂环境下的稳定性和鲁棒性。

接收状态反馈信息
        ↓
判断是否存在异常
        ↓
分析异常类型
        ↓
调整任务分配或飞行路径
        ↓
更新无人机任务队列

10. 任务完成判断

系统会持续检查所有无人机的任务执行状态,并判断整体任务是否已经完成。

当所有任务点均被访问或处理完成,且无人机任务队列为空时,系统判定本轮任务完成。

读取任务完成状态
        ↓
检查所有任务点是否完成
        ↓
检查无人机任务队列是否为空
        ↓
判断整体任务是否结束
        ↓
输出任务完成结果

11. 结果记录与可视化

任务完成后,系统会记录无人机执行过程中的关键数据,并对任务结果进行展示。

记录内容可以包括无人机飞行轨迹、任务分配结果、任务完成时间、路径长度、任务完成率以及异常处理情况等。

收集任务执行数据
        ↓
保存无人机飞行轨迹
        ↓
保存任务完成结果
        ↓
统计系统运行指标
        ↓
展示或输出实验结果

12. 无人机返航与系统结束

当所有任务完成后,无人机根据系统指令返回起始位置或指定降落点,并完成降落操作。

系统在确认所有无人机安全降落后,结束本轮任务流程。

确认所有任务完成
        ↓
发送返航指令
        ↓
无人机返回起始点或降落点
        ↓
执行降落操作
        ↓
关闭任务流程

完整任务流程总结

本项目的多无人机协同任务流程主要包括无人机初始化、任务点生成、多层信息融合、任务分配与调度、路径规划、任务执行、状态监测、异常处理、结果记录以及无人机返航等步骤。

整体流程如下:

启动仿真环境
        ↓
初始化无人机
        ↓
生成任务点
        ↓
多层信息融合
        ↓
任务分配与调度
        ↓
路径规划
        ↓
无人机任务执行
        ↓
状态监测与反馈
        ↓
异常处理与动态调整
        ↓
任务完成判断
        ↓
结果记录与可视化
        ↓
无人机返航与系统结束

通过上述流程,系统能够实现多无人机在仿真环境中的协同任务执行,并为后续算法优化和实验验证提供完整流程支持。

多无人机协同演示

本项目提供了一个可运行的多无人机协同演示脚本,用于展示多架无人机在 AirSim 仿真环境中的协同起飞、任务执行和降落过程。

演示脚本位置:

scripts/multi_uav_coop_demo.py

对比算法与评价指标

为了验证多无人机任务分配与协同调度方法的有效性,项目提供了多个基础对比算法和评价指标。

对比算法

算法 说明
Random 随机任务分配,作为基础随机基线
Round Robin 按顺序轮询分配任务
Nearest UAV 将任务分配给当前距离最近的无人机
HMF-GLB 融合距离增量和负载均衡的贪心调度算法

评价指标

指标 含义 优化方向
total_distance 无人机总飞行距离 越低越好
makespan 最大任务完成时间(吞吐量) 越低越好
resource_utilization 资源利用率 = 实际飞行距离 / 最大能力 越高越好
scheduling_latency 调度延迟(算法决策时间) 越低越好
load_balance_gap 负载均衡差(最大负载 - 最小负载) 越低越好

对比实验脚本位置:

scripts/compare_algorithms.py

一键运行脚本

项目提供 Windows 一键运行脚本:

run_project.bat

系统架构

本项目主要由以下几个模块组成:

  1. 仿真环境模块
    基于 AirSim 构建多无人机仿真场景,提供无人机起飞、飞行、降落和图像采集能力。

  2. 任务建模模块
    对工业设备巡检任务进行建模,包括任务点坐标、任务优先级、任务工作量等信息。

  3. 分层融合调度模块
    综合考虑任务优先级、无人机状态、任务距离和负载均衡,对巡检任务进行分配。

  4. 航迹执行模块
    将任务分配结果转换为无人机航点序列,控制多架无人机按照规划路径执行巡检任务。

  5. 数据采集模块
    在任务点调用 AirSim 图像接口采集巡检图像,并保存到本地目录。

  6. 结果评估模块
    统计任务完成率、飞行距离、任务完成时间和负载均衡等指标,用于评价调度效果。

核心方法

本项目采用分层融合的思路实现多无人机任务调度,将任务优先级、空间距离和无人机负载等因素综合考虑,提高工业物联网智能巡检场景下的任务执行效率。

1. 任务优先级建模

针对工业设备巡检任务,不同区域的重要程度和紧急程度不同。本项目为任务点设置优先级,用于表示任务的紧急程度。优先级较高的任务会在调度过程中被优先考虑,从而保证关键区域能够被更快巡检。

2. 距离代价建模

无人机执行任务需要考虑当前位置与任务点之间的距离。系统通过计算无人机到任务点的距离代价,尽量将任务分配给距离更合适的无人机,从而减少整体飞行距离和任务完成时间。

3. 负载均衡建模

在多无人机协同场景中,如果任务集中分配给少数无人机,会导致部分无人机负载过高、整体完成时间变长。本项目在调度过程中引入负载均衡因素,使任务尽可能合理分布到多架无人机上。

4. 分层融合调度策略

系统将任务优先级、距离代价和负载均衡因素进行综合融合,形成任务分配评分。根据评分结果,将任务分配给合适的无人机,并生成对应的航点执行序列。

该方法能够在保证高优先级任务及时执行的同时,兼顾飞行距离和多无人机之间的任务负载均衡。

5. 人机协同机制

在无人机完成设备巡检后,任务需进入人工复核队列,由复核员进行最终确认。系统模拟了单复核员串行排队场景,并统计了平均排队延迟和最大排队延迟,以评估人机融合场景下的系统瓶颈。

技术路线

本项目技术路线如下:

  1. 使用 AirSim 搭建多无人机仿真环境;
  2. 使用 Python 调用 AirSim API 控制无人机;
  3. 构建工业设备巡检任务点数据;
  4. 设计多因素融合的任务调度算法;
  5. 根据调度结果生成各无人机执行航点;
  6. 控制多无人机并行执行巡检任务;
  7. 调用 AirSim 图像接口采集巡检数据;
  8. 对任务执行结果进行统计和分析。

项目特点

本项目具有以下特点:

  1. 面向真实应用场景
    以工业物联网智能巡检为背景,具有明确的实际应用价值。

  2. 支持多无人机协同
    相比单无人机巡检,多无人机协同能够提高任务执行效率。

  3. 考虑任务优先级
    对重点区域和紧急任务进行优先调度,提高关键任务响应速度。

  4. 考虑负载均衡
    避免任务过度集中在单架无人机上,提高整体系统效率。

  5. 基于 AirSim 仿真平台
    能够在虚拟环境中验证算法,降低真实飞行实验成本和风险。

  6. 具备扩展能力
    后续可扩展路径规划算法、避障算法、目标检测算法和可视化界面。

运行环境

建议运行环境如下:

  • 操作系统:Windows 10 / Windows 11
  • 仿真平台:Microsoft AirSim
  • 开发语言:Python
  • Python 版本:Python 3.8 或以上
  • 主要依赖:
    • airsim
    • numpy
    • opencv-python

安装依赖示例:

pip install airsim numpy opencv-python

目录结构

项目目录结构示例:

multi_uav_project/
├── README.md
├── .gitignore
├── settings.json
├── scripts/
│   ├── multi_uav_demo.py
│   ├── scheduler.py
│   └── utils.py
├── data/
│   └── tasks.json
├── results/
│   ├── images/
│   └── logs/
└── docs/
    └── system_design.md

说明:实际目录结构可根据项目代码情况进行调整。

运行方法

1. 启动 AirSim 仿真环境

首先启动 Unreal Engine / AirSim 仿真场景,确保 AirSim 已正常运行。

2. 配置多无人机参数

将项目中的 settings.json 放置到 AirSim 配置目录中,例如:

C:\Users\你的用户名\Documents\AirSim\settings.json

配置完成后,重新启动 AirSim 仿真环境。

3. 安装 Python 依赖

在项目目录下打开终端,执行:

pip install airsim numpy opencv-python

4. 运行多无人机任务调度程序

进入项目目录:

cd D:\AirSimSettings\multi_uav_project

运行示例程序:

python scripts/multi_uav_demo.py

如果脚本名称与实际项目不一致,请根据实际文件名进行调整。

实验结果与效果展示

项目运行后,可在 AirSim 仿真环境中观察到多架无人机按照任务调度结果执行飞行任务。

预期效果包括:

  • 多架无人机能够同时连接 AirSim 仿真环境;
  • 系统能够根据任务信息进行无人机任务分配;
  • 无人机按照规划结果执行起飞、移动、巡航等动作;
  • 在执行过程中可采集图像、位置、速度等仿真数据;
  • 可通过日志或结果文件记录任务执行过程。

效果展示

四种算法在三个核心指标上的对比结果如下:

算法 总飞行距离 最大完成时间 资源利用率
Round Robin 249.47 19.07 87.22%
Nearest UAV 229.91 45.98 33.33%
HMF-GLB 201.76 21.66 62.11%
Random 286.11 32.99 57.82%

从表中可以看出,HMF-GLB 算法在总飞行距离方面优于其他对比算法,同时在资源利用率和任务完成时间之间取得了较好的平衡。

创新点

本项目围绕多无人机协同任务调度与仿真验证,具有以下创新点:

  1. 多无人机协同调度机制
    面向多任务场景,设计多无人机协同分配与执行流程,提高任务执行效率。

  2. 分层融合调度思想
    结合任务优先级、无人机状态、空间位置等多维信息,实现多层次任务决策与调度。

  3. 仿真驱动的验证方式
    基于 AirSim 构建多无人机仿真环境,在虚拟场景中验证任务规划与执行效果,降低真实飞行测试成本。

  4. 可扩展的系统结构
    系统模块划分清晰,可进一步扩展路径规划、避障控制、能耗约束、通信约束等功能。

  5. 面向实际应用场景
    项目可扩展应用于智能巡检、工业物联网、区域搜索、智能交通监测等多种无人机集群任务场景。

后续优化方向

后续可从以下几个方面继续完善本项目:

  1. 引入更复杂的任务调度算法
    结合遗传算法、蚁群算法、强化学习等方法,提高多无人机任务分配的智能化水平。

  2. 增加路径规划与避障能力
    在现有调度基础上,进一步加入全局路径规划、局部避障和动态环境感知能力。

  3. 完善能耗与续航约束模型
    将无人机电量、飞行距离、任务负载等因素纳入调度决策,提高调度结果的可执行性。

  4. 增强多源数据融合能力
    融合图像、位置、速度、深度信息等多源数据,提升环境感知和任务决策能力。

  5. 增加可视化界面
    设计任务调度可视化界面,实时展示无人机状态、任务分配结果和执行进度。

  6. 支持真实无人机迁移验证
    后续可结合 PX4、ROS 或实际无人机平台,将仿真系统迁移到真实飞行环境中进行验证。

参考资料

作者与仓库信息

  • 项目名称:面向人机物融合的多级融合调度系统
  • 项目仓库:https://gitlink.org.cn/lsm1222/hmf-multilevel-fusion-scheduling
  • 项目目录:D:\AirSimSettings\multi_uav_project
  • 开发环境:AirSim、Unreal Engine、Python
  • 适用方向:多无人机协同、任务调度、仿真验证、智能决策
关于

面向人机物融合的多级融合调度系统 —— 工业物联网智能巡检场景

171.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号