AnyLogic中PedSource生成行人进入场景后停滞问题求助
问题描述
我给一个Node设置了PedSource,但有大量行人进入场景后无法移动。部分停滞的行人被正常移动的行人碰撞后会恢复移动,但这个故障会干扰整个仿真运行。我微调Node位置后有时能起到一定作用,但没找到根本解决方案。请问有没有可调整的容差参数来修复这个问题?
附运行30分钟后的停滞行人标记截图及逻辑设置截图:

针对PedSource引发的行人停滞问题,可通过调整以下核心容差参数排查修复:
生成位置容差:检查
spawnTolerance参数(不同仿真工具命名可能略有差异),它控制行人生成时与Node及周边障碍物的最小间距。若数值过小,行人可能生成在碰撞体临界位置或内部,直接导致初始路径规划阻塞。建议逐步增大该值(例如从0.1m上调至0.5m),确保生成区域有充足的初始活动空间。避障判定容差:调整
obstacleAvoidanceTolerance参数,提升行人对近距离障碍物的判断阈值。部分停滞是因为行人误判自身处于完全阻塞状态,增大容差后导航系统会更灵活地寻找可行路径,尤其适用于行人密度较高的场景。行人间距容差:修改
collisionDetectionRadius或minDistanceToOthers参数,优化行人之间的碰撞判定逻辑。若阈值设置过严,行人会因过度保守的距离保持陷入停滞,适当放宽可减少无意义的路径阻塞,同时保留必要的碰撞避让机制。
结合你微调Node位置有效的情况,还需同步排查:
- PedSource所在Node是否与静态碰撞体(如墙体、栏杆)距离过近,确保生成区域无潜在的空间挤压;
- 行人目标路径是否存在局部狭窄区域,避免因拥堵触发停滞逻辑。
若参数调整后问题仍存在,可开启仿真的路径规划调试模式,查看停滞行人的导航网格(NavMesh)状态,确认生成点附近是否存在网格缺失或异常。
内容的提问来源于stack exchange,提问作者Kirill

