Wireless Energy Harvest and Inter-Cluster Load Balancing-Enabled UAV-Assisted Data Scheduling and Trajectory Optimization Algorithms
-
摘要: 该文研究了无人机(UAV)辅助无线传感器网络的数据收集问题。首先提出基于均值漂移算法的传感器节点(SN)初始分簇策略,进而以簇间负载均衡为目标,设计SN切换算法。基于所得成簇策略,将UAV数据收集及轨迹规划问题建模为系统能耗最小化问题。由于该问题是一个非凸问题,难以直接求解,将其分为两个子问题,即数据调度子问题及UAV轨迹规划子问题。针对数据调度子问题,提出一种基于多时隙库恩-蒙克雷斯算法的时频资源调度策略。针对UAV轨迹规划子问题,将其建模为马尔可夫决策过程,并提出一种基于深度Q网络的UAV轨迹规划算法。仿真结果验证了所提算法的有效性。Abstract: Data collection problem in an Unmanned Aerial Vehicle (UAV)-assisted wireless sensor network is addressed. Firstly, an initial Sensor Node (SN) clustering strategy is proposed based on the mean drift algorithm, then an SN switching algorithm is designed to achieve load balancing between clusters. Based on the obtained clustering strategy, the UAV data collection and trajectory planning problem is formulated as a system energy consumption minimization problem. Since the formulated problem is a non-convex problem and is difficult to solve directly, it is decoupled into two subproblems, namely data scheduling subproblem and UAV trajectory planning subproblem. To tackle the data scheduling subproblem, a multi-slot Kuhn-Munkres algorithm-based time-frequency resource scheduling strategy is proposed. To solve the UAV trajectory planning subproblem, the problem is modeled as a Markov decision-making process, and a deep Q-network-based algorithm is proposed. Simulation results verify the effectiveness of the proposed algorithm.
-
Key words:
- Unmanned aerial vehicle /
- Data collection /
- Trajectory planning /
- Markov decision process
-
1. 引言
随着无线通信、传感器制造及集成芯片设计等领域的快速发展,无线传感器网络(Wireless Sensor Network, WSN)已得到广泛应用[1]。WSN是由一系列传感器节点(Sensor Node, SN)组成的自组织网络。WSN中各类SN感知环境信息,并通过多跳传输技术将其感知到的数据传输至融合中心[2]。由于SN的电池电量、功能、性能受限,传统的多跳数据收集方式导致网络应用规模受限,且易引发“能量空洞”等问题。随着无人机(Unmanned Aerial Vehicle, UAV)制造成本的降低以及通信设备的小型化,UAV辅助的数据收集技术得到快速发展。UAV可作为移动数据收集器,根据预定轨迹,依次收集SN的数据,并将所收集数据传输至数据中心[3]。在UAV辅助的数据收集系统中,如何合理设计UAV的飞行轨迹及数据调度策略是影响系统性能的重要问题。
近年已有文献针对UAV辅助的数据调度及轨迹规划问题开展研究[4–15]。针对不同UAV任务执行场景,文献[4–6]研究数据调度策略,以实现SN的平均信息年龄最小[4],物联网设备的加权信息年龄最小化[5]以及平均完成时间优化[6]。文献[7–10]研究UAV轨迹优化问题,分别提出基于数据信息年龄最小化[7],基于UAV飞行能量优化[8],基于簇覆盖优化[9]及基于航路点数量最大化[10]的UAV轨迹规划策略。文献[11–15]针对UAV辅助数据收集场景,研究联合数据调度及UAV飞行轨迹优化问题,以实现数据收集时间优化[11, 12],数据同步年龄最小化[13],用户体验提升[14]及用户最小平均可达速率最大化[15]。
尽管已有研究考虑UAV辅助通信场景的数据调度问题[4–6],但多考虑UAV以静态悬停方式进行数据收集,较少考虑UAV动态数据收集场景。文献[7–10]针对SN数据调度问题设计UAV飞行轨迹,但未考虑数据调度策略与飞行轨迹的联合优化,导致系统传输性能受限。文献[11–15]联合考虑UAV辅助的数据调度及轨迹优化,但多以数据传输时间或用户通信速率优化为目标设计联合策略,较少考虑UAV的能耗优化,导致UAV能耗过高,严重影响UAV在实际场景的可用性。此外,现有研究较少考虑SN能量收集及数据传输负载均衡,可能导致资源浪费及传输效率降低。针对现有研究存在的问题,本文研究UAV辅助的WSN数据收集问题。首先提出基于均值漂移算法的SN初始分簇策略,进而以簇间负载均衡为目标设计SN切换算法。基于所确定的用户成簇策略,将UAV数据收集及轨迹规划问题建模为系统能耗最小化问题,分别提出基于多时隙库恩-蒙克雷斯(Kuhn-Munkres, K-M)算法的时频资源联合调度策略以及基于深度Q网络(Deep Q-Network, DQN)的UAV轨迹规划算法。
2. 系统模型
2.1 系统场景
如图1所示,本文考虑由一个UAV、数据中心和K个SN组成的UAV辅助WSN。假设SN已感知环境信息,需向数据中心传输所感知的数据。UAV从数据中心所在位置上方出发,收集SN的数据,完成数据收集工作后返回数据中心。令SNk表示第k个SN,其位置坐标记为qk=(xk,yk),1≤k≤K。简便起见,将系统时间划分为长度相等的时隙。令T表示时隙总数,τ表示时隙长度。假设UAV在各时隙的位置不变,且以固定高度H飞行。令qut=(xut,yut,H)表示UAV在时隙t的位置,q0=(x0,y0)表示数据中心的位置。为避免传输干扰,将系统带宽划分为F个等长的正交子信道。令Cf表示第f个子信道,B表示每个子信道的带宽,1≤f≤F。SN采用正交频分多址技术传输数据至UAV。
假设SN需满足最小数据传输需求。令Rmin表示SN的最小传输速率需求。考虑到SN通常由小尺寸电池供电,电池容量有限,且更换电池难度较大,本文采用能量采集技术,由UAV作为SN的移动射频能量源,为低电量SN提供充电服务。
2.2 无人机数据收集模型
本小节建模SN的数据传输速率。令Rt,k,f表示SNk在时隙t占用Cf向UAV发送数据包时链路的传输速率,可表示为
Rt,k,f=Blog2(1+Pht,k,fσ2) (1) 其中,P为SN的发射功率,σ2为噪声功率,ht,k,f为SNk与UAV之间的链路在Cf上的功率增益,建模为自由空间传播模型
ht,k,f=(c/4πξfdt,k)2 (2) 其中,c为光速,ξf表示Cf的中心频率,dt,k为时隙t,SNk与UAV之间的距离。令φk表示SNk的初始数据量,φt,k表示SNk在时隙t的剩余数据量。各节点的剩余数据量由其初始数据量及各时隙所传输数据量联合确定,相应地,φt,k可表示为
φt,k=max (3) 其中, {\lambda _{t,k,f}} \in \{ 0,1\} 表示SNk的子信道分配变量,若SNk在时隙t占用 {{{C}}_f} 发送数据至UAV,则 {\lambda _{t,k,f}} = 1 ,否则, {\lambda _{t,k,f}} = 0 ; {\tau _{t,k,f}} 表示第t个时隙SNk占用 {{{C}}_f} 传输数据至UAV时对应的数据传输时间。考虑到SNk的剩余数据传输时间及时隙长度,将 {\tau _{t,k,f}} 建模为 {\tau _{t,k,f}} = \min \{ {{{\varphi _{t,k}}} \mathord{\left/ {\vphantom {{{\varphi _{t,k}}} {{R_{t,k,f}}}}} \right. } {{R_{t,k,f}}}},\tau \} 。
3. 传感器节点分簇算法
考虑到UAV的覆盖范围及系统可用频谱资源,本小节首先确定各簇的最大覆盖范围,并提出一种基于均值漂移的SN初始分簇算法,进而提出一种簇间SN切换方法,以实现簇间负载均衡。
3.1 确定簇的覆盖范围
由于SN的发射功率受限,根据SN与UAV之间的信道特性及SN的最低数据传输速率需求,可确定SN与UAV之间的最大通信距离,进而基于UAV的悬停高度,可确定各簇的覆盖范围。
令d0表示SN与UAV之间的最大通信距离,dmax表示各簇的覆盖范围,定义为簇内两个SN之间的最大距离。给定SN的发送功率及信道特性,基于最低传输速率需求可得SN与UAV之间的最大通信距离d0。将Rmin代入式(1)中,并联合考虑式(1)及式(2),可得时隙t,SN与UAV之间的最大距离 {d_0} = \sqrt {{{{\mathrm{c}}P} \mathord{\left/ {\vphantom {{cP} {({\sigma ^2}({2^{{{{R_{\min }}} \mathord{\left/ {\vphantom {{{R_{\min }}} B}} \right. } B} - 1}}))}}} \right. } {({\sigma ^2}({2^{{{{R_{\min }}} \mathord{\left/ {\vphantom {{{R_{\min }}} B}} \right. } B} - 1}}))}}} 。给定UAV的飞行高度H,可得各簇的覆盖范围 {d_{\max }} = 2\sqrt {d_0^2 - {H^2}} 。
3.2 基于均值漂移的传感器节点初始分簇算法
本小节联合考虑SN的地理位置和UAV的覆盖区域,提出一种基于均值漂移算法的SN初始分簇策略。所提出的SN初始分簇过程概述如下:
(1)初始化:令 \mathbb{N} = \left\{ {{\text{S}}{{\text{N}}_k},1 \le k \le K} \right\} 表示未分簇SN的集合,J表示簇的数目, {\varPhi _j} = \varnothing 为第 j 个簇SN的集合,其中,\varnothing 为空集, 1 \le j \le J ,令 j = 1 。
(2)选择初始中心点:随机选择一个未分簇的SN,如SNk,将其位置设置为初始中心点。令 {\bar {\boldsymbol{q}}_j} = {{\boldsymbol{q}}_k} 为第 j 个簇的初始中心点。
(3)确定初始簇成员:计算未分簇的SN与 {\bar {\boldsymbol{q}}_j} 之间的距离,选择距离在dmax以内的SN作为第 j 个簇的成员,即若 \left\| {{{\boldsymbol{q}}_i} - {{\bar {\boldsymbol{q}}}_j}} \right\| \le {d_{\max }} ,将SNi添加至集合 {\varPhi _j} ,即 {\varPhi _j} = {\varPhi _j} \cup \left\{ {{\text{S}}{{\text{N}}_i}} \right\} 。
(4)更新簇中心点:令Mj表示第j个簇的平均向量,可得 {{\boldsymbol{M}}_j} = {{\displaystyle\sum\nolimits_{{{\boldsymbol{q}}_i} \in {\varPhi _j}} {\left( {{{\boldsymbol{q}}_i} - {{\bar {\boldsymbol{q}}}_j}} \right)} } / {|{\varPhi _j}|}} 。基于 {\bar {\boldsymbol{q}}_j} = {\bar {\boldsymbol{q}}_j} + {{\boldsymbol{M}}_j} ,更新第j个簇的中心点。
(5)更新簇成员:重复步骤(3)、步骤(4),直至Mj=0。更新集合 {\varPhi _j} ,若 \left\| {{{\boldsymbol{q}}_i} - {{\bar {\boldsymbol{q}}}_j}} \right\| \ge {d_{\max }} , {\varPhi _j} = {\varPhi _j}/ \left\{ {{\text{S}}{{\text{N}}_i}} \right\} ;更新集合 \mathbb{N} ,若 {\text{S}}{{\text{N}}_i} \in {\varPhi _j} , \mathbb{N} = \mathbb{N}/\left\{ {{\text{S}}{{\text{N}}_i}} \right\} 。
(6)判断算法终止条件:判断是否存在未分簇的SN,若 \mathbb{N} \ne \varnothing ,则设置 j = j + 1 ,返回步骤(2),否则,算法终止。
令 {\delta _{j,k}} 表示基于上述算法得到的初始分簇策略。若 {\delta _{j,k}} =1,SNk为第j个簇的成员,否则, {\delta _{j,k}} =0。
3.3 基于负载均衡的节点切换算法
3.2节所提出的初始SN分簇策略未考虑不同区域SN数量及数据量的差异,可能导致簇间负载不均衡。针对这一问题,本节考虑各簇的数据传输负载,提出一种基于负载均衡的SN切换方案。
3.3.1 节点切换条件分析
根据初始SN分簇结果,判断是否需要对SN进行切换。令 {\gamma _j} = \displaystyle\sum\nolimits_{k = 1}^K {{\delta _{j,k}}{\varphi _k}} 表示第j个簇的负载, {\text{1}} \le j \le J 。若以下两个条件均满足,则需对SN执行切换,否则,不执行SN切换。
条件1:簇间SN的数据总量差值大于某一给定阈值,即 \max \left\{ {{\gamma _j}} \right\} - \min \left\{ {{\gamma _j}} \right\} \gt {\gamma _{{\text{th}}}} ,其中, {\gamma _{{\text{th}}}} 表示簇间SN数据量的差值阈值。
条件2:重载SN簇与轻载SN簇之间存在重叠区域,且重叠区域存在SN属于重载簇,即 \exists {\gamma _{{j_1}}} \ge {\gamma '_1} , {\gamma _{{j_1}}} \le {\gamma '_2} , {C_{{j_1},{j_2}}} \ne \varnothing , \exists {\text{S}}{{\text{N}}_k} \in {\varPhi _{{j_1}}} ,且SNk位于 {C_{{j_1},{j_2}}} 的覆盖区域,其中, {\gamma '_1} 及 {\gamma '_2} 分别表示重载SN簇及轻载SN簇的负载门限值, {C_{{j_1},{j_2}}} 表示第 {j_1} 个簇与第 {j_2} 个簇的重叠区域。
3.3.2 SN切换算法实现步骤
本小节假设SN切换条件已满足,需执行切换算法。本文所提出的基于负载均衡的SN切换算法的实现步骤进行概述。
(1)初始化:令 \varPsi _j^{\text{s}} 为 \varPhi _j^{} 的候选源切换SN集合, \varPsi _j^{\text{c}} 为 \varPhi _j^{} 的候选目标切换簇集合,令 \varPsi _j^{\text{c}} = \varPsi _j^{\text{s}} = \varnothing , {j_1} = \arg {\max _{{\varPhi _j} \in {\varPsi _{\text{s}}}}}{\gamma _j} 。
(2)确定源切换簇:根据SN切换条件,确定需切换至相邻簇的源簇集合。比较各簇的负载,选择负载最大的簇作为源切换簇,也即若 {j_1} = \arg {\max _{1 \le j \le J}}{\gamma _j} ,则令 {\varPhi _{{j_1}}} 为源切换簇。
(3)确定候选目标簇集合:选择负载较轻且与源切换簇存在重叠区域的簇作为候选目标簇。假设 {\varPhi _{{j_2}}} 为轻负载簇且 {C_{{j_1},{j_2}}} \ne \varnothing ,则 {\varPhi _{{j_2}}} 为 {\varPhi _{{j_1}}} 的候选目标簇,更新 \varPsi _{{j_1}}^{\text{c}}{\text{ = }}\varPsi _{{j_1}}^{\text{c}} \cup \{ {\varPhi _{{j_2}}}\} 。若 \varPsi _{{j_1}}^{\text{c}} = \varnothing ,则转至步骤(2),否则,转至步骤(4)。
(4)选择目标切换簇:若 \varPsi _{{j_1}}^{\text{c}} 中仅存在一个候选簇,即 |\varPsi _{{j_1}}^{\text{c}}| = 1 ,则选择该候选簇作为目标切换簇,记为 {\varPhi _{{j^*}}} ;若存在多个候选簇,则选择负载最轻的候选簇作为目标切换簇,也即,若 {j^*} = \arg {\min _{{\varPhi _j} \in \varPsi _{{j_1}}^{\text{c}}}}{\gamma _j} ,则选择 {\varPhi _{{j^*}}} 作为目标切换簇。
(5)确定候选源切换SN:若源切换簇中仅存在一个SN位于源与目标簇的重叠区域,则该SN为候选源切换SN。设 {\text{S}}{{\text{N}}_k} \in {\varPhi _{{j_1}}} 位于 {C_{{j_1},{j^*}}} 的区域内,则SNk为 {\varPhi _{{j_1}}} 的候选切换SN,即 \varPsi _{{j_1}}^{\text{s}} = \varPsi _{{j_1}}^{\text{s}} \cup \left\{ {{\text{S}}{{\text{N}}_k}} \right\} 。
(6)确定切换SN:若仅存在一个候选切换SN,即 |\varPsi _{{j_1}}^{\text{s}}| = 1 ,则将该SN切换至目标簇,并更新源簇和目标簇集合。令SNk表示切换SN,更新簇集合 {\varPhi _{{j_1}}} = {{{\varPhi _{{j_1}}}} \mathord{\left/ {\vphantom {{{\varPhi _{{j_1}}}} {\left\{ {{\text{S}}{{\text{N}}_k}} \right\}}}} \right. } {\left\{ {{\text{S}}{{\text{N}}_k}} \right\}}} 及 {\varPhi _{{j^*}}} = {\varPhi _{{j^*}}} \cup \left\{ {{\text{S}}{{\text{N}}_k}} \right\} 。若存在多个候选切换SN,依次选择数据量最大的SN切换至目标簇,更新 {\varPhi _{{j_1}}} 和 {\varPhi _{{j_2}}} ,以满足 |{\gamma _{{j_1}}} - {\gamma _{{j_2}}}| \le {\gamma _{th}} 。
(7)算法终止:判断是否还需执行SN切换,若是,则返回步骤(2),否则,算法终止。
令 \delta _{j,k}^* 为基于上述算法所确定的SN分簇策略。
4. 问题建模
本小节基于已确定的节点分簇策略,将UAV联合数据调度及飞行轨迹规划问题建模为长期能耗最小化问题。
4.1 系统能耗建模
令 {E_t} 表示时隙t,UAV的总能耗。UAV进行能量传输、飞行及悬停阶段均需消耗一定能量,其总能耗为各项能耗的和[8],可建模为
{E_t} = E_t^{\text{c}} + E_t^{\text{f}} + E_t^{\text{h}} (4) 其中, E_t^{\text{c}} , E_t^{\text{f}} , E_t^{\text{h}} 分别为时隙t,UAV的充电能耗,飞行能耗及悬停能耗。 E_t^{\text{c}} 可计算为 E_t^{\text{c}} = \displaystyle\sum\nolimits_{j = 1}^J {E_{t,j}^{\text{c}}} ,其中, E_{t,j}^{\text{c}} 表示UAV为第j个簇的SN充电所消耗能量,可计算为 E_{t,j}^{\text{c}} = {\mu _{t,j}}{\tilde \beta _{t,j}}{p^{\text{c}}}\tau ,其中, {\mu _{t,j}} \in \{ 0,1\} 表示UAV关联变量,若UAV在时隙t悬停在第j个簇上方进行数据收集或充电, \mu _{t,j}^{} = 1 ,否则, \mu _{t,j}^{} = 0 ; {\tilde \beta _{t,j}} \in \{ 0,1\} 表示簇内节点能量收集标识,若时隙t第j个簇的节点收集能量, {\tilde \beta _{t,j}} = 1 ,否则, {\tilde \beta _{t,j}} = 0 , {p^{\text{c}}} 表示UAV的发射功率。
式(4)中, E_t^{\text{f}} 可计算为[8]
\begin{split} E_t^{\text{f}} =\;& {\varepsilon _t}\Biggr( \left( {1 + \frac{{3v_t^2}}{{U_t^2}}} \right){P_0} + {{\left( {\sqrt {1 + \frac{{v_t^4}}{{4v_0^2}}} - \frac{{v_t^2}}{{2v_0^2}}} \right)}^{1/2}}{P_0}^\prime \\ & + \frac{1}{2}{\xi _{\text{d}}}\rho {\xi _{\text{r}}}v_t^3 \Biggr)\tau \\[-1pt] \end{split} (5) 其中, {\varepsilon _t} 为时隙t,UAV的飞行状态标识符,若UAV在时隙t处于飞行状态, {\varepsilon _t} = 1 ,否则, {\varepsilon _t} = 0 ; v_t^{} 表示UAV的飞行速度, {P_0} 和 {P_0}^\prime 为常量, {U_t} , {v_0} , {\xi _{\text{d}}} , {\xi _{\text{r}}} , \rho 及 {S_{\text{r}}} 均为UAV相关常数。
UAV的悬停能耗 E_t^{\text{h}} 可建模为 E_t^{\text{h}} = \displaystyle\sum\nolimits_{j = 1}^J {E_{t,j}^{\text{h}}} ,其中, E_{t,j}^{\text{h}} 表示时隙t,UAV在第j个簇的上方悬停所需消耗,可计算为 E_{t,j}^{\text{h}} = {\varpi _{t,j}}\left( {{P_0} + {P_0}^\prime } \right)\tau , {\varpi _{t,j}} 为UAV悬停状态标识符,若UAV在时隙t悬停在第j个簇上方,则 {\varpi _{t,j}} = 1 ,否则 {\varpi _{t,j}} = 0 。
4.2 优化问题建模
综合考虑UAV可用电量、飞行轨迹、数据调度等约束条件,建模联合UAV数据调度及轨迹优化问题为系统长期能耗最小化问题,即
\quad \mathop {{\text{min}}}\limits_{{\mu _{t,j}},{\beta _{t,k}},{\lambda _{t,k,f}},{\boldsymbol{q}}_t^{\text{u}}} {\text{ }}\mathop {\lim }\limits_{T \to \infty } \frac{1}{T}\sum\limits_{t = 1}^T {{E_t}} (6) \quad {\text{s}}{\text{.t}}{\text{. C1}}:{\text{ }}\left\| {{{\boldsymbol{q}}_{t + 1}} - {{\boldsymbol{q}}_t}} \right\| \le {v_{\max }}\tau (6a) \qquad\;\;\, {\text{C2}}:{\text{ }}{\boldsymbol{q}}_1^{\text{u}} = {\boldsymbol{q}}_T^{\text{u}} = \left( {{x_0},{y_0},H} \right) (6b) \qquad\;\;\, {\text{C3}}:{\text{ }}{E_t} \le E_t^0 (6c) \qquad\;\;\, {\text{C4}}:{\text{ }}\sum\limits_{j = 1}^J {\mu _{t,j}^{} \le 1} (6d) {\text{C}}5:{\text{ }}{B_{t,k}} \ge \sum\limits_{k = 1}^K {\sum\limits_{f = 1}^F {{\lambda _{t,k,f}}} {\mu _{t,j}}{\delta _{j,k}}\left( {1 - {\beta _{t,k}}} \right){E_{{\text{th}}}}} (6e) {\text{C}}6:{\text{ }}\sum\limits_{t = 1}^T {\sum\limits_{f = 1}^F \tau \lambda _{t,k,f}^{}} {R_{t,k,f}} \ge {\varphi _k} (6f) {\text{C}}7:{\text{ }}{R_{t,k,f}} \ge {\lambda _{t,k,f}}{R_{\min }} (6g) {\text{C}}8:{\text{ }}\sum\limits_{k = 1}^K {{\lambda _{t,k,f}} \le 1} (6h) {\text{C}}9:{\text{ }}\sum\limits_{f = 1}^F {{\lambda _{t,k,f}}} \le F (6i) 其中,C1, C2为UAV的飞行轨迹约束, {v_{\max }} 为UAV最大飞行速度;C3为UAV的能耗约束。令 {E^0} 表示UAV的初始能量,则 E_t^0 = {E_0} - \displaystyle\sum\nolimits_{{t_1} = 1}^{T - 1} {{E_{{t_1}}}} 为UAV在时隙t的剩余能量;C5为SNk的可用能量约束, {E_{{\text{th}}}} 为SN的能量阈值, {B_{t,k}} 表示SNk在时隙t的电池电量,可建模为
\begin{split} {B_{t,k}} =\;& \min \left\{ \max \left\{ {{B_{t - 1,k}} + {\beta _{t,k}}E_{t,k}^{\text{g}} - E_{t,k}^{\text{t}} - \tilde E_k^{},0} \right\},\right.\\ & {B_{k,\max }} \Bigr\} \end{split} 其中, E_{t,k}^{\text{g}} = \mathop {\max }\limits_f \{ {\beta _{t,k}}{h_{t,k,f}}{p^{\text{c}}}\tau \} 表示SNk在时隙t收集的能量, \tilde E_k^{} 为SNk的基础电量, {B_{k,\max }} 表示SNk的电池容量, {\beta _{t,k}} 为SNk的能量收集标识,若时隙t,SNk收集UAV的能量,则 {\beta _{t,k}} = 1 ,否则, {\beta _{t,k}} = 0 , E_{t,k}^{\text{t}} = \displaystyle\sum\nolimits_{f = 1}^F {{\lambda _{t,k,f}}P\tau } 表示时隙t,SNk的数据传输能量;C6, C7分别为SN的数据量约束及速率约束;C8, C9为SN数据调度约束。
5. 优化问题求解
由于优化问题(6)为混合整数规划问题,难以直接求解。本小节将该问题转化为两个子问题,即数据调度子问题和UAV轨迹规划子问题,并依次对子问题进行求解。
5.1 数据调度子问题
给定SN的分簇策略,UAV需依次悬停在各簇的上方,为簇内SN充电并收集数据。由于各簇的数据调度相互独立,可分别设计数据调度策略。本节假设UAV在时隙 {t_0} 飞行至第j个簇上方,收集簇内SN的数据并为SN充电,建模并求解数据调度子问题。
第j个簇的数据调度子问题可建模为
\left. \begin{aligned} & \mathop {{\text{min}}}\limits_{{\beta _{t,k}},{\lambda _{t,k,f}}} {\text{ }}\sum\limits_{t = {t_0}}^T {\left( {E_{t,j}^{\text{h}} + E_{t,j}^{\text{c}}} \right)} \\ & \qquad {\text{ s}}{\text{.t}}{{. {\mathrm{C}}3 {\mathrm{-}} {\mathrm{C}}9}} \end{aligned}\right\} (7) 由于能量不足的SN需从UAV处收集能量,通过评估SN的当前电量及最低能量阈值可确定SN的能量收集策略,也即,若 \exists {\text{S}}{{\text{N}}_k} \in {\varPhi _j} , {B_{t,k}} \le {E_{th}} ,则令 \beta _{t,k}^* = 1 ,否则, \beta _{t,k}^* = 0 。基于所得到的SN能量收集策略,即可确定UAV的充电能耗 E_{t,j}^{\text{c}} 。由于UAV的悬停能耗 E_{t,j}^{\text{h}} 由恒定功率 {P_0} 和 {P_0}^\prime 及悬停时间决定,因此,悬停能耗最小化问题可等价转化为UAV悬停时间最小化问题。
为实现UAV悬停时间优化,UAV应在到达第j个簇的上方后立即开始充电/数据收集,且在完成第j个簇的数据收集后立即飞离该簇的上方。因此,基于所得到的SN的充电策略,UAV悬停时间优化问题可转化为SN的数据传输时间优化问题。由于SN的数据传输可能需经历多个时隙,为实现SN传输性能优化,本小节提出了一种基于多时隙的K-M算法。该算法在各时隙为SN设计时频资源分配策略。将SN的资源分配问题视为一个二分图匹配问题,进而基于K-M匹配算法进行求解。在每个时隙结束时更新SN的数据量。重复此过程,直到所有SN的数据包均完成传输。
根据各时隙子信道分配约束可知,SN与时频资源之间的匹配问题为一对多匹配问题,使用典型的匹配算法无法求解。针对这一问题,本文提出一种SN虚拟化方案,将每个SN虚拟化为多个虚拟SN(Virtual SN, VSN),且假设每个VSN只能分配一个子信道。设SNk,n为SNk的第n个VSN, 1 \le n \le {N_k} , {N_k} 为SNk的VSN个数,可得
{N_k} = \min \{ {{{\varphi _{t,k}}} \mathord{\left/ {\vphantom {{{\varphi _{t,k}}} {\max \left\{ {{R_{{t_1},k,f}}} \right\}\tau }}} \right. } {\max \left\{ {{R_{{t_1},k,f}}} \right\}\tau }},F\} (8) 令 {\lambda _{t,k,n,f}} 表示时隙t,SNk,n的子信道分配变量, {\lambda _{t,k,n,f}} = 1 表示在时隙t,SNk,n占用 {{{C}}_f} 向UAV传输数据,否则, {\lambda _{t,k,n,f}} = 0 。 {R_{t,k,n,f}} 表示时隙t,SNk,n选择 {{{C}}_f} 进行数据传输对应的传输速率,则第j个簇的数据调度问题可转换为
\left. \begin{aligned} & \mathop {{\text{max}}}\limits_{{\lambda _{t,k,n,f}}} \sum\limits_{k = 1}^K {\sum\limits_{n = 1}^{{N_k}} {\sum\limits_{f = 1}^F {{\lambda _{t,k,n,f}}{R_{t,k,n,f}}} } } \\ & {\text{s}}{\text{.t}}{\text{. }}\sum\limits_{k = 1}^K {\sum\limits_{n = 1}^{{N_k}} {{\lambda _{t,k,n,f}} \le 1} } \\ & \quad\;\; {\text{ }}\sum\limits_{n = 1}^{{N_k}} {\sum\limits_{f = 1}^F {{\lambda _{t,k,n,f}} \le 1} } \\ & \quad\;\; {\text{ }}\sum\limits_{n = 1}^{{N_k}} {\sum\limits_{t = 1}^T {\sum\limits_{f = 1}^F {\tau {\lambda _{t,k,n,f}}{R_{t,k,n,f}} \ge {\varphi _k}} } } \\ & \quad\;\; {\text{ }}{R_{t,k,n,f}} \ge {\lambda _{t,k,n,f}}{R_{k,\min }} \end{aligned} \right\} (9) 问题式(9)为一个典型二分图匹配问题,可采用改进的K-M匹配算法进行求解。将该优化问题映射为一个加权二分图的匹配问题,其中,节点分别为第j个簇的VSN集合及子信道集合,边权值为链路传输速率。基于K-M算法可得时隙t,VSN的数据调度策略。令 \lambda _{t,k,n,f}^* 表示SNk,n的数据调度策略。根据 \lambda _{t,k,n,f}^{} 的定义可知,若 \exists n ,使得 \lambda _{t,k,n,f}^* = 1 ,则 \lambda _{t,k,f}^* = 1 ;若 \displaystyle\sum\nolimits_{n = 1}^{{N_k}} {\lambda _{t,k,n,f}^* = 0} ,则 \lambda _{t,k,f}^* = 0 。
5.2 UAV轨迹优化子问题
基于所确定的SN分簇及数据调度策略,本小节建模并求解UAV轨迹优化子问题。
5.2.1 子问题建模
给定SN成簇及数据调度策略,可确定UAV的悬停和充电时隙及相应能耗,因此,UAV的能耗优化问题可转换为飞行能耗最小化问题。
给定UAV在每个簇上方的悬停点,为实现能耗优化,UAV可沿直线从一个悬停点飞行至相邻的下一个悬停点,因此,UAV的飞行能耗最小化问题可进一步等价转换为UAV飞行距离最小化问题。方便起见,将数据中心视为簇0,其位置记为 {\bar {\boldsymbol{q}}_0} = {{\boldsymbol{q}}_0} 。令 {d_{j,j'}} 表示簇j与簇j'上方UAV的悬停点之间的距离,可得 {d_{j,j'}} = \left\| {{{\bar {\boldsymbol{q}}}_j} - {{\bar {\boldsymbol{q}}}_{j'}}} \right\| 。令d表示UAV总飞行距离,可建模为
d = \sum\limits_{j = 1}^J {{\eta _{0,j}}{d_{0,j}}} + \sum\limits_{j = 1}^J {\sum\limits_{j' = 1,j' \ne j}^J {{\eta _{j,j'}}{d_{j,j'}}} + \sum\limits_{j = 1}^J {{\eta _{j,0}}{d_{j,0}}} } (10) 其中, {\eta _{j,j'}} 为UAV的飞行变量, 0 \le j \ne j' \le J ,若UAV从第j个簇上方飞行至第 j' 个簇的上方, {\eta _{j,j'}} = 1 ,否则, {\eta _{j,j'}} = 0 , 1 \le j \ne j' \le J 。
UAV轨迹优化子问题可建模为
\left. \begin{aligned} & \mathop {\min }\limits_{{\eta _{0,j}},{\eta _{j,j'}},{\eta _{j,0}}} {\text{ }}d \\ & {\text{ s}}{\text{.t}}{\text{. }}\sum\limits_{j = 1}^J {{\eta _{0,j}} = 1} \\ & \quad\;\; {\text{ }}\sum\limits_{j = 1}^J {{\eta _{j,0}} = 1} \\ & \quad\;\; {\text{ }}\sum\limits_{j' = 1,j' \ne j}^J {{\eta _{j,j'}}} = \sum\limits_{j' = 1,j' \ne j}^J {{\eta _{j',j}}} {\text{, 1}} \le j \le J \\ & \quad\;\; {\text{ }}{\eta _{j,j}} = 0,{\text{ }}0 \le j \le J \end{aligned}\right\} (11) 5.2.2 MDP建模
为求解优化问题(11),本小节首先将该问题建模为一个MDP,进而提出一种基于DQN的UAV轨迹规划算法。建模MDP为3元组 \left\langle {\left. {S,A,r} \right\rangle } \right. ,其中, S 为UAV状态集合,{A}为动作集合,r为奖励函数。定义状态集合 S 为各时隙UAV的位置集合,即 S = \left\{ {{{\bar {\boldsymbol{q}}}_0},{{\bar {\boldsymbol{q}}}_1}, \cdots ,{{\bar {\boldsymbol{q}}}_{J + 1}}} \right\} ,其中, {\bar {\boldsymbol{q}}_{J + 1}} = {\bar {\boldsymbol{q}}_0} 表示数据中心位置。动作集合为无人机在当前状态可选择的动作,表示为 A = \left\{ {{{\bar {\boldsymbol{q}}}_1}, \cdots ,{{\bar{\boldsymbol{ q}}}_{J + 1}}} \right\} 。
令 {{\boldsymbol{s}}_t} \in S 表示时隙t,UAV的状态。在状态 {{\boldsymbol{s}}_t} ,UAV选择一个悬停点,飞行至该悬停点。令 {{\boldsymbol{a}}_t} \in A 表示时隙t,UAV的动作。由于UAV仅可访问每个悬停点一次,所选择动作应满足如下约束
{{\boldsymbol{a}}}_{t}=\left\{\begin{aligned} & {{\boldsymbol{a}}}_{t}\backslash \left\{{\overline{{\boldsymbol{q}}}}_{j}\right\},\text{ }若\text{ }{{\boldsymbol{s}}}_{t}={\overline{{\boldsymbol{q}}}}_{j},\text{ 0}\le j\le J\\ & {{\boldsymbol{a}}}_{t},\text{ }其他\end{aligned} \right. (12) 若UAV已完成数据收集返回数据中心,则应停留在数据中心,也即,若 {{\boldsymbol{s}}_t} = {\bar {\boldsymbol{q}}_{J + 1}} ,则 {{\boldsymbol{a}}_t} = {\bar {\boldsymbol{q}}_{J + 1}} 。
令 {r_t}\left( {{{\boldsymbol{s}}_t},{{\boldsymbol{a}}_t}} \right) 表示UAV位于状态 {{\boldsymbol{s}}_t} 选择 {{\boldsymbol{a}}_t} 对应的奖励函数。为实现UAV飞行距离最小化,定义UAV的奖励函数为从当前位置飞行至所选择悬停点所需距离。不失一般性,假设 {{\boldsymbol{s}}_t}{\text{ = }}{\bar q_j} , {{\boldsymbol{a}}_t}{\text{ = }}{\bar {\boldsymbol{q}}_{j'}} ,则UAV在时隙t的奖励函数为
{r_t}\left( {{{\boldsymbol{s}}_t},{{\boldsymbol{a}}_t}} \right) = {r_t}\left( {{{\bar {\boldsymbol{q}}}_j},{{\bar {\boldsymbol{q}}}_{j'}}} \right) = - {d_{j,j'}} (13) 5.2.3 基于深度Q网络的UAV轨迹规划算法
本小节提出一种基于DQN的UAV轨迹规划算法。DQN模型由神经网络和基于Q学习的决策模型组成,可用于解决序列决策问题。在状态 {{\boldsymbol{s}}_t} ,代理采取动作,得到相应奖励。为实现长期奖励优化,定义 Q\left( {{{\boldsymbol{s}}_t},{{\boldsymbol{a}}_t}} \right) 为动作值函数,表示系统处于状态 {{\boldsymbol{s}}_t} ,选择 {{\boldsymbol{a}}_t} 可获得的长期奖励。给定 Q\left( {{{\boldsymbol{s}}_t},{{\boldsymbol{a}}_t}} \right) 的初始值,通过迭代时间差更新 Q\left( {{{\boldsymbol{s}}_t},{{\boldsymbol{a}}_t}} \right) ,可得
\begin{split} & Q\left( {{{\boldsymbol{s}}_t},{{{a}}_t}} \right) \leftarrow Q\left( {{{\boldsymbol{s}}_t},{{\boldsymbol{a}}_t}} \right) \\ & + \alpha \left[ {r\left( {{{\boldsymbol{s}}_t},{a_t}} \right) + \gamma \mathop {\max }\limits_{{{\boldsymbol{a}}_{t + 1}}} Q'\left( {{{\boldsymbol{s}}_{t + 1}},{{\boldsymbol{a}}_{t + 1}}} \right) - Q\left( {{{\boldsymbol{s}}_t},{\boldsymbol{{a}}_t}} \right)} \right] \end{split} (14) 其中, \alpha 为学习率, \gamma 为折扣因子。
为实现对Q值的准确估计及快速收敛,DQN引入预测网络 Q\left( {{\boldsymbol{s}},{\boldsymbol{a}};{\boldsymbol{\theta}} } \right) 和目标网络 Q'\left( {\boldsymbol{{s}},{\boldsymbol{a}};{\boldsymbol{\theta}} '} \right) ,分别用于预测及估计Q值,其中, {\boldsymbol{\theta}} 和{\boldsymbol{ \theta}} ' 分别为预测网络和目标网络的参数。通过对损失函数进行优化可更新参数集合 \theta ,即
{\boldsymbol{\theta}} = {\boldsymbol{\theta}} - \mu \nabla {F_t}\left( {Q\left( {{{\boldsymbol{s}}_t},{{\boldsymbol{a}}_t}\left| * \right.} \right)} \right) (15) 其中, \mu 为学习率, {F_t}\left( {Q\left( {{\boldsymbol{s}},{\boldsymbol{a}}\left| * \right.} \right)} \right) 表示Q值的损失函数,可定义为
{F_t}\left( {Q\left( {{\boldsymbol{s}},{\boldsymbol{a}}\left| * \right.} \right)} \right) = {{\mathrm{E}}_{\left( {{{\boldsymbol{s}}_t},{{\boldsymbol{a}}_t},{r_t},{{\boldsymbol{s}}_{t + 1}}} \right){\text{~}}D}} \left[ {{{\left( {{y_t} - Q\left( {{{\boldsymbol{s}}_t},{{\boldsymbol{a}}_t};{\boldsymbol{\theta }}} \right)} \right)}^2}} \right] (16) 其中, {\mathrm{E}}[ \cdot ] 表示期望值, {y_t} 表示目标网络在时隙t的输出,可计算为
{y_t} = r\left( {{{\boldsymbol{s}}_t},{{\boldsymbol{a}}_t}} \right) + \gamma \mathop {\max }\limits_{{{\boldsymbol{a}}_{t + 1}} \in {A}} Q'\left( {{{\boldsymbol{s}}_{t + 1}},{{\boldsymbol{a}}_{t + 1}};{\boldsymbol{\theta}} '} \right) (17) 基于所建模的MDP,训练DQN模型,直至模型收敛,可得到对应UAV的飞行轨迹策略。
6. 仿真结果分析
本小节采用Matlab仿真软件对本文所提算法及基准算法进行仿真对比。本文所考虑的UAV辅助WSN数据收集场景包括一个数据中心,1个UAV和25个SN。仿真区域设置为600 m × 600 m,数据中心的坐标为(300, 300),SN随机分布于仿真区域内。其他仿真参数如表1所示。
表 1 仿真参数设置仿真参数 数值 SN数据量 {\varphi _k} [0, 1024 ] MB载波频率Cf [1, 3] GHz 节点可用带宽B 1 MHz SN发射功率pc 0.1 W UAV飞行高度H 70 m UAV飞行速度v 10 m/s UAV平均转子诱导速度v0 4.03 m/s 空气密度ρ 1.225 km/m3 转子盘面积Sr 0.503 m2 图2给出了由基于均值漂移算法的SN初始分簇算法和应用基于负载均衡的节点切换算法后得到的各簇中SN的数据总量。由图中可以看出,基于均值漂移算法的SN初始分簇算法对应各簇的数据量差异较大,而应用基于负载均衡的节点切换算法可以更好地减小各簇数据量之间的差距。
图3显示了UAV悬停时间与SN数量的关系图。从图中可以看出,UAV的悬停时间随着SN数量的增加而增加。这是因为随着SN数量的增加,UAV需要收集的数据量相应增加,导致UAV的悬停时间增加。此外,UAV的悬停时间随着簇的数量的增加而增加。原因是簇的数量的增加导致UAV的悬停次数增加,从而导致总悬停时间增加。在相同的SN数量和簇的数目下,UAV的悬停时间随着噪声功率的增大而增大。
图4所示为本文所提算法与文献[11]所提算法对应的UAV总能耗与SN发射功率关系图。从图中可以看出,随着SN发射功率增加,两个算法对应的系统能耗均降低。原因是随着SN发射功率的增加,数据传输时间减少,导致UAV悬停能耗降低。比较不同簇的数目对应系统能耗可以看出,随着簇的数量的增加,UAV的能耗增加。这是因为簇的数目增加导致UAV的悬停及飞行能耗相应增加,UAV总能耗相应增加。与文献[11]所提算法相比,本文所提算法对应系统能耗更低。
图5描述了本文所提基于DQN的UAV轨迹规划算法所对应累计奖励与迭代次数关系图。从图中可以观察到,迭代次数较少时,系统累计奖励较低,这是因为UAV处于初始选择动作阶段,因缺乏足够的经验导致无法选择较优动作。随着迭代次数增加,UAV积累的经验增多,可选择较优动作,对应累计奖励逐渐上升,直至趋于稳定和收敛,证明了本文所提算法的有效性。
7. 结束语
针对UAV辅助WSN数据收集场景,本文首先提出一种基于均值漂移算法的SN初始分簇策略,进而以簇间负载均衡为目标,设计SN切换算法。给定所确定的SN成簇策略,将UAV数据收集及轨迹规划问题建模为系统能耗最小化问题,进而分别提出基于多时隙K-M算法的数据调度策略及基于DQN的UAV轨迹优化算法以确定联合策略。仿真结果验证了本文所提算法的有效性。
-
表 1 仿真参数设置
仿真参数 数值 SN数据量 {\varphi _k} [0, 1024 ] MB载波频率Cf [1, 3] GHz 节点可用带宽B 1 MHz SN发射功率pc 0.1 W UAV飞行高度H 70 m UAV飞行速度v 10 m/s UAV平均转子诱导速度v0 4.03 m/s 空气密度ρ 1.225 km/m3 转子盘面积Sr 0.503 m2 -
[1] 孙利民, 张书钦, 李志, 等. 无线传感器网络: 理论及应用[M]. 北京: 清华大学出版社, 2018: 5–18.SUN Limin, ZHANG Shuqin, LI Zhi, et al. Wireless Sensor Networks: Theory and Applications[M]. Beijing: Tsinghua University Press, 2018: 5–18. [2] ZENG Yong, ZHANG Rui, and LIM T J. Wireless communications with unmanned aerial vehicles: Opportunities and challenges[J]. IEEE Communications Magazine, 2016, 54(5): 36–42. doi: 10.1109/MCOM.2016.7470933. [3] WEI Zhiqing, ZHU Mingyue, ZHANG Ning, et al. UAV-assisted data collection for Internet of things: A survey[J]. IEEE Internet of Things Journal, 2022, 9(17): 15460–15483. doi: 10.1109/JIOT.2022.3176903. [4] AHANI G, YUAN Di, and ZHAO Yixin. Age-optimal UAV scheduling for data collection with battery recharging[J]. IEEE Communications Letters, 2021, 25(4): 1254–1258. doi: 10.1109/LCOMM.2020.3047909. [5] SAMIR M, ASSI C, SHARAFEDDINE S, et al. Online altitude control and scheduling policy for minimizing AoI in UAV-assisted IoT wireless networks[J]. IEEE Transactions on Mobile Computing, 2022, 21(7): 2493–2505. doi: 10.1109/TMC.2020.3042925. [6] LUAN Qiuji, CUI Hongyan, ZHANG Lifeng, et al. A hierarchical hybrid subtask scheduling algorithm in UAV-assisted MEC emergency network[J]. IEEE Internet of Things Journal, 2022, 9(14): 12737–12753. doi: 10.1109/JIOT.2021.3138263. [7] ZHU Botao, BEDEER E, NGUYEN H H, et al. UAV trajectory planning for AoI-minimal data collection in UAV-aided IoT networks by transformer[J]. IEEE Transactions on Wireless Communications, 2023, 22(2): 1343–1358. doi: 10.1109/TWC.2022.3204438. [8] INDU, SINGH R P, CHOUDHARY H R, et al. Trajectory design for UAV-to-ground communication with energy optimization using genetic algorithm for agriculture application[J]. IEEE Sensors Journal, 2021, 21(16): 17548–17555. doi: 10.1109/JSEN.2020.3046463. [9] CHEN Jinchao, DU Chenglie, ZHANG Ying, et al. A clustering-based coverage path planning method for autonomous heterogeneous UAVs[J]. IEEE Transactions on Intelligent Transportation Systems, 2022, 23(12): 25546–25556. doi: 10.1109/TITS.2021.3066240. [10] SHEN Kun, SHIVGAN R, MEDINA J, et al. Multidepot drone path planning with collision avoidance[J]. IEEE Internet of Things Journal, 2022, 9(17): 16297–16307. doi: 10.1109/JIOT.2022.3151791. [11] MA Ting, ZHOU Haibo, QIAN Bo, et al. UAV-LEO integrated backbone: A ubiquitous data collection approach for B5G internet of remote things networks[J]. IEEE Journal on Selected Areas in Communications, 2021, 39(11): 3491–3505. doi: 10.1109/JSAC.2021.3088626. [12] YUAN Xiaopeng, HU Yulin, ZHANG Jian, et al. Joint user scheduling and UAV trajectory design on completion time minimization for UAV-aided data collection[J]. IEEE Transactions on Wireless Communications, 2023, 22(6): 3884–3898. doi: 10.1109/TWC.2022.3222067. [13] LIU Wentao, LI Dong, LIANG Tianhao, et al. Joint trajectory and scheduling optimization for age of synchronization minimization in UAV-assisted networks with random updates[J]. IEEE Transactions on Communications, 2023, 71(11): 6633–6646. doi: 10.1109/TCOMM.2023.3297198. [14] CHAI Shuqi and LAU V K N. Multi-UAV trajectory and power optimization for cached UAV wireless networks with energy and content recharging-demand driven deep learning approach[J]. IEEE Journal on Selected Areas in Communications, 2021, 39(10): 3208–3224. doi: 10.1109/JSAC.2021.3088694. [15] WANG Jun, NA Zhenyu, and LIU Xin. Collaborative design of multi-UAV trajectory and resource scheduling for 6G-enabled Internet of things[J]. IEEE Internet of Things Journal, 2021, 8(20): 15096–15106. doi: 10.1109/JIOT.2020.3031622. -