Page 238 - 《软件学报》2026年第4期
P. 238
田浩翔 等: 基于路网建模的自动驾驶关键场景生成与自适应演化方法 1679
(2) 空间约束: 每辆从车的初始位置不能部分重叠, 并且车辆之间至少要保持 5 m 的间距.
(3) 车速约束: 车辆的行驶速度不得超过道路的限速.
(4) 时间约束: 每辆从车的速度和位置变化应遵循轨迹状态的顺序, 确保运动的时序一致.
对于每个抽象场景, LEADE 会生成 k 个可执行且可行的具体场景作为初代种群.
2.3 场景自适应演化
基于生成的场景程序, LEADE 执行并测试自动驾驶系统. 若场景执行过程中, 没有发现主车的安全违背, 则开
始后续的演化过程: LEADE 根据主车在该场景中的具体行驶轨迹, 对其他参与者的轨迹进行针对性的自适应修
改, 以提高场景参与者对主车行驶过程的干扰和挑战. LEADE 采用改进的自适应遗传算法进行搜索, 以发现更多
具有安全关键性和多样性的具体场景. 算法过程如算法 1 所示. 在启动进化搜索时, LEADE 基于上一步生成的符
合测试需求的场景程序, 构建初代场景. 接下来, LEADE 通过多目标进化搜索方法进行场景搜索, 包括细粒度评估、
自适应选择、自适应变异操作, 旨在提高高质量场景的遗传能力, 并增强低质量场景的变异性. LEADE 执行生成
的场景来测试自动驾驶系统, 并记录自动驾驶系统中引发安全违背的场景, 这些场景可以自动重现并用于重新测
试自动驾驶系统.
算法 1. 安全关键场景下改进的自适应进化搜索算法.
输入: 第 1 代个体 P (第 2.2 节生成的场景程序);
输出: 安全关键场景集合 SC.
∅ ∅ ∅ ∅
1. SC, TP, TS, EP ← , , ,
2. while not TerminationCondition() do
∅ ∅
3. EX, BN ← ,
4. for x i ∈ |TP[–1]| do
5. ex i = execute(x i ), EX ← EX ∪ ex i
6. if isEgoCollision() then
7. SC ← SC ∪ x i
8. end if
9. S ← arg x∈EX {minf c (x), minf e (x), minf d (x), minf o (x)}
10. TS ← TS ∪ S, PN ← ∅
11. if |TP|==1 then
12. PN ← P
13. else
14. PN ← sort(TP, TS)
15. update(TP, TS, PN)
16. threshold ← generate_variation_threshold(S)
17. end if
18. for S i ∈ PN do
19. PM i ← generate_mutation_probability(S i , TS[–1])
20. if PM i > threshold then
x ← scenario_mutation(x i )
′
21. i
22. BN ← BN ∪ x ′
i
23. end if
24. end for

