3. 无人系统资源建模

任务优先级决定“谁先做”,资源模型决定“能不能做、做多久、做多好”。在无人系统中,计算、通信、能量、载荷与带宽并不是彼此独立的五个数字,它们通过时间轴耦合在一起:一次高分辨率成像会同时消耗载荷工作时间、存储容量、下行带宽和能量;一次协同编队又会占用通信链路与计算资源。因此,资源建模的目标不是罗列参数,而是把异构资源统一成可比较、可累加、可约束的形式,让调度器能够判断“某任务在某个时刻是否可行”。

一、资源约束的统一表示思路

工程上最常用的统一表示是“资源向量 + 时间窗 + 消耗/恢复函数”。对任意无人平台 u,定义其资源状态向量:

R_u(t) = [ C_u(t),  M_u(t),  E_u(t),  P_u(t),  B_u(t) ]
         计算余量  存储余量  能量余量  载荷余量  带宽余量

其中每一项都表示“在时刻 t 还剩多少可用量”,而不是总量。任务 i 在平台 u 上执行时,对应一个需求向量 d_i = [c_i, m_i, e_i, p_i, b_i],并带有执行时间窗 [t_start, t_end]。可行性判据可写成:

∀ t ∈ [t_start, t_end]:
    R_u(t) − d_i(t) ≥ 0
且任务结束后资源按恢复规律更新

这个式子的价值在于:它把“计算够不够、电够不够、带宽够不够”统一成同一套不等式,调度器只需比较向量分量,而不必为每类资源写一套判断逻辑。

二、五类资源的数学描述

计算资源通常用“可用算力”描述。设平台总算力为 C_max(单位 GFLOPS 或 TOPS),当前已占用 C_used(t),则余量 C(t)=C_max−C_used(t)。任务需求 c_i 可表示为“算力 × 时间”的积分,即所需计算量(GFLOPS·s)。若任务可并行,还需引入并行度上限 n_par,避免把单核任务拆到多核后误判可行。

通信资源关注链路可用性与时延。对链路 l,定义可用速率 r_l(t)、传播时延 τ_l 与丢包率 ρ_l。任务若要求“在 T 秒内传完 S 比特”,则约束为 S ≤ ∫ r_l(t)dt,且 τ_l + S/r_l ≤ T_deadline。通信资源常与带宽共享,因此需要区分“链路容量”和“本任务可占份额”。

能量资源是最具时间累积性的约束。设电池剩余能量 E(t),任务功耗 P_i,执行时长 Δt_i,则消耗 e_i = P_i·Δt_i。同时平台可能通过太阳能、无线充电或返航换电恢复能量,恢复速率记为 g(t)。能量约束必须写成动态形式:E(t+Δt)=E(t)−P_i·Δt+g(t)·Δt ≥ E_min,其中 E_min 是安全返航保留量,不能当作可用能量。

载荷资源包括传感器开机时间、视场占用、存储写入带宽等。以光电吊舱为例,其“载荷余量”可表示为可开机时长 P(t) 与剩余存储 M(t)。一次成像任务需求为 p_i(秒)和 m_i(MB),约束为 p_i ≤ P(t) 且 m_i ≤ M(t)。若载荷有转动角速度限制,还需加入指向切换时间,否则任务时间窗会被低估。

带宽资源常被误认为就是通信速率。更准确地说,带宽是“可分配的数据速率份额”。若链路总带宽为 B_max,当前已分配给其他任务 B_used(t),则本任务可用带宽 B(t)=B_max−B_used(t)。多任务共享时,常用比例公平或优先级加权分配,此时任务实际获得带宽为 B_i = w_i·B(t)/Σw_j,权重 w_i 可由任务优先级映射得到。

无人系统资源统一表示与任务可行性判定 平台资源状态 R_u(t) 计算 C(t) C_max − C_used(t) 通信 M(t) 速率 r_l、时延 τ_l、丢包 ρ_l 能量 E(t) E(t+Δt)=E−P·Δt+g·Δt 载荷 P(t) 可开机时长、存储余量 带宽 B(t) B_max − B_used(t) 任务需求 d_i 计算量 c_i GFLOPS·s,含并行度上限 数据量 m_i MB,需在 T 内传完 能量 e_i P_i · Δt_i,含安全余量 载荷 p_i 开机秒数、指向切换时间 带宽 b_i 加权份额 w_i·B(t)/Σw_j 逐项比较 可行性判定 ∀t ∈ [t_start, t_end] R_u(t) − d_i(t) ≥ 0 五分量同时满足 时间窗约束 τ_l + S/r_l ≤ T_deadline 通信与载荷时序对齐 能量安全底线 E(t) ≥ E_min 保留返航能量,不参与分配 输出:可行 / 不可行 不可行时给出瓶颈分量 代入约束 统一表示的核心:把异构资源映射为同一时间轴上的余量向量,任务需求映射为同维消耗向量,逐分量比较即可判定可行性

三、从静态参数到动态余量

很多初学者会把资源建模做成一张静态表:平台总算力 100 TOPS、电池 500 Wh、带宽 20 Mbps。这种表只能用于粗略筛选,无法支撑调度。真正可用的模型必须回答“在任务执行的每一秒,还剩多少”。因此建议把资源状态写成时间序列或分段函数,并在任务开始、结束、充电、通信中断等事件点更新。例如某巡检无人机在 t=0 时能量 480 Wh,执行 6 分钟、功耗 300 W 的成像任务后,能量变为 480−300×0.1=450 Wh;若同时开启 50 W 的通信中继,则实际消耗为 350 W,剩余 445 Wh。这个差值在单任务时看似很小,但在 20 个任务连续调度时足以改变排序结果。

四、统一表示中的量纲与归一化

五类资源量纲不同,直接相加没有意义。若调度算法需要综合代价,通常先做归一化:把每类余量除以该类最大值,得到 0~1 的“资源健康度”。例如计算健康度 h_C=C(t)/C_max,能量健康度 h_E=(E(t)−E_min)/(E_max−E_min)。归一化后可用加权和 H=α·h_C+β·h_M+γ·h_E+δ·h_P+ε·h_B 作为平台综合可用度,权重由任务类型决定:侦察任务更看重载荷与带宽,中继任务更看重通信与能量。需要强调的是,归一化只用于比较和排序,最终可行性判定仍应回到原始量纲的硬约束,避免“综合分高但某项为零”的误判。

五、一个可执行的建模示例

假设某四旋翼平台参数为:算力 40 TOPS、电池 600 Wh、安全返航保留 120 Wh、链路带宽 16 Mbps、吊舱可开机 30 min、存储余量 8 GB。现有一项“目标识别回传”任务:需要 2 TOPS 算力运行 90 s,产生 600 MB 图像,要求 120 s 内回传完毕,吊舱开机 60 s,功耗 280 W。按统一表示逐项检查:

  • 计算:2 TOPS × 90 s = 180 TOPS·s,远小于平台能力,可行;
  • 带宽:600 MB = 4800 Mb,120 s 内需 40 Mbps,超过 16 Mbps,不可行;
  • 能量:280 W × 60 s = 4.67 Wh,加上通信功耗约 1 Wh,余量充足;
  • 载荷:60 s 小于 30 min,存储 600 MB 小于 8 GB,可行。

结论是瓶颈在带宽。调度器可据此选择压缩图像、延长回传窗口或改用中继链路,而不是盲目降低任务优先级。这正是统一资源表示的实际价值:它让“为什么不可行”变得可定位、可解释、可优化。

建模时建议为每类资源同时记录“总量、已用量、安全保留量、恢复速率”四个字段。只记录总量会导致调度器把安全返航能量也分配出去,是工程上最常见也最危险的建模错误。

六、统一表示与任务优先级的衔接

资源模型最终要服务于优先级调度。优先级回答“先做谁”,资源模型回答“能不能做”。两者结合时,通常先按优先级排序,再依次做可行性判定;若高优先级任务因资源不足被拒绝,可触发资源释放、任务降级或平台切换。把资源向量作为调度器的输入接口,可以让优先级算法与资源类型解耦:新增一种资源(如隐身约束、频谱占用)时,只需扩展向量维度,而不必重写整个调度逻辑。这种可扩展性,正是统一表示在无人系统任务调度中的核心工程意义。