3. 无人系统个体建模与能力描述
多无人系统协同的前提,是先把每个个体描述清楚。如果个体模型含糊,后续的任务分配就只能依赖经验拍脑袋:谁飞得快、谁能看多远、谁还剩多少电、谁能带多重载荷,这些差异无法进入算法,协同就退化成“平均分配”。本节把个体建模拆成三条主线——运动学/动力学模型、感知与通信能力、任务执行能力,并给出可计算的形式化表达方式。
一、运动学与动力学:个体“怎么动”
运动学描述位置、速度、姿态与时间的关系,不涉及力和质量;动力学进一步引入质量、惯量、推力、阻力等,描述“为什么这样动”。在协同任务分配中,两者用途不同:运动学用于快速估算可达性(能否在时限内到达目标点),动力学用于判断机动是否物理可行(转弯半径、爬升率、能耗)。
以常见的固定翼/多旋翼/无人车为例,可统一写成状态空间形式:状态向量 x = [p, v, ψ]ᵀ,其中 p=(x,y,z) 为位置,v 为速度,ψ 为航向角。简化运动学模型为:
ẋ = v·cosψ
ẏ = v·sinψ
ψ̇ = ω (ω 为角速度,受 |ω| ≤ ω_max 约束)
v̇ = a (a 为线加速度,受 a_min ≤ a ≤ a_max 约束)
这里约定:x 轴指向正东,y 轴指向正北,ψ 从 x 轴逆时针为正,全文与图示保持一致。动力学层面,多旋翼常用一阶惯性近似:v̇ = (v_cmd − v)/τ,τ 为响应时间常数;无人车则受地面摩擦与转向机构限制。对任务分配而言,最关键的派生量是可达时间与最小转弯半径:
t_reach ≈ |p_target − p| / v_cruise (直线近似)
R_min = v² / (g·tanφ_max) (φ_max 为最大滚转角)
示例(合理假设):某多旋翼巡航速度 12 m/s,响应时间常数 τ=0.8 s,最大角速度 1.2 rad/s。若目标点距离 900 m,则直线可达时间约 75 s;若需绕行,实际时间按路径长度比例放大。这类估算直接决定“该个体能否被分配到该任务”。
二、感知与通信能力:个体“看得见、连得上”
感知能力决定个体能获取哪些信息,通信能力决定信息能否共享。二者共同构成协同的“信息边界”。形式化时,感知可用视场模型描述:
FOV = { 目标 q | 距离 d(p,q) ≤ R_s, 夹角 θ(p,q) ≤ θ_half }
P_d = exp(−λ·d) (探测概率随距离衰减,λ 为衰减系数)
其中 R_s 为最大探测距离,θ_half 为半视场角。通信能力则用通信半径与链路质量描述:
可通信条件:d(i,j) ≤ R_c
链路速率: C_ij = B·log₂(1 + SNR_ij)
丢包率: p_loss = f(d(i,j), 遮挡, 干扰)
示例(合理假设):某侦察无人机 R_s=2 km、θ_half=30°、R_c=5 km;某无人车 R_s=800 m、θ_half=60°、R_c=3 km。当两机距离 4 km 时,通信仍可用但速率下降;若中间有山体遮挡,p_loss 可能升至 0.3 以上,此时任务分配应避免依赖该链路的实时协同。
三、任务执行能力:个体“能做什么、做多少”
任务执行能力是把个体映射到任务类型上的“能力向量”。建议用能力集合加资源约束两层表达:
能力集合:Cap_i = { 侦察, 打击, 通信中继, 运输, 干扰 }
资源约束:Res_i = (载荷 w_max, 续航 T_max, 能量 E, 算力 F)
对每个任务 t,定义匹配度 m(i,t) ∈ [0,1],由能力覆盖、资源余量、距离代价共同决定:
m(i,t) = α·1[Cap_i ⊇ need(t)]
+ β·(E_i / E_need)
+ γ·(1 − d(i,t)/R_max)
其中 α、β、γ 为权重,且 α+β+γ=1。示例(合理假设):α=0.5、β=0.3、γ=0.2。某无人机能力覆盖侦察任务,能量余量 0.8,距离代价 0.3,则 m = 0.5×1 + 0.3×0.8 + 0.2×0.7 = 0.88,属于高匹配;若能量余量仅 0.2,则 m = 0.5 + 0.06 + 0.14 = 0.70,匹配度明显下降,分配时应优先考虑其他个体。
四、三者的关系与统一描述
运动学/动力学决定“能不能按时到”,感知与通信决定“到了能不能看清、能不能传回”,任务执行能力决定“看清之后能不能完成”。三者不是并列的,而是层层过滤:先筛可达,再筛可感可通,最后筛可执行。下图给出个体能力描述的统一结构与过滤关系。
图中三层过滤的顺序很重要:先看运动学/动力学是否可达,再看感知与通信是否覆盖,最后看任务执行能力是否匹配。任何一层不满足,该个体就不应进入候选集。实际实现时,可把每个个体的能力写成结构化记录,例如:
agent = {
id: "UAV-01",
kin: { v_cruise: 12, tau: 0.8, omega_max: 1.2 },
sens: { R_s: 2000, theta_half: 30, lambda: 0.0005 },
comm: { R_c: 5000, B: 2e6, snr_ref: 20 },
cap: { types: ["侦察"], E: 100, T_max: 2700, w_max: 2 },
match: 0.88
}
这样,任务分配算法只需读取 match 与约束字段,就能在候选集中做组合优化。需要注意的是,能力描述不是一次性的:能量 E 随任务消耗下降,通信 p_loss 随位置变化,因此实际系统中应周期性刷新这些字段,而不是在任务开始前固定不变。
R_s、θ_half、P_d,导致分配算法无法判断该个体能否覆盖目标区域;或只给运动学参数而忽略通信半径,导致分配结果在物理上可达、在信息上失联。小结:个体建模的产出不是一段文字描述,而是一组可计算字段——运动学/动力学给出可达时间与机动边界,感知与通信给出信息覆盖与链路质量,任务执行能力给出能力集合与匹配度。三者统一到能力向量后,多无人系统的任务分配才有了可靠的输入基础。