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 可由任务优先级映射得到。
三、从静态参数到动态余量
很多初学者会把资源建模做成一张静态表:平台总算力 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,可行。
结论是瓶颈在带宽。调度器可据此选择压缩图像、延长回传窗口或改用中继链路,而不是盲目降低任务优先级。这正是统一资源表示的实际价值:它让“为什么不可行”变得可定位、可解释、可优化。
六、统一表示与任务优先级的衔接
资源模型最终要服务于优先级调度。优先级回答“先做谁”,资源模型回答“能不能做”。两者结合时,通常先按优先级排序,再依次做可行性判定;若高优先级任务因资源不足被拒绝,可触发资源释放、任务降级或平台切换。把资源向量作为调度器的输入接口,可以让优先级算法与资源类型解耦:新增一种资源(如隐身约束、频谱占用)时,只需扩展向量维度,而不必重写整个调度逻辑。这种可扩展性,正是统一表示在无人系统任务调度中的核心工程意义。