论文部分内容阅读
群体现象在自然界中普遍存在,如南迁的鸟群,水中的鱼群,人群等等。群体仿真近年来逐步成为虚拟现实领域的研究热点,并且普遍应用于实时仿真和虚拟娱乐领域。群体仿真的主要目的是研究群体的自组织现象,为静态虚拟场景增加动态真实感。由于群体中的个体状态具有动态变化特征,个体行为存在一定的智能性,个体之间会相互影响,所以对群体的仿真建模将是一个复杂的问题。另一方面,群体仿真建模问题涉及学科较广,包括计算机图形学,机器人学、人工智能等,这也大大增加了群体仿真问题的实现难度。应用领域不同,群体仿真所包含的内容也会存在较大差异,但均需解决三个最基本的问题:群体建模,路径规划和碰撞避免的问题。本文基于复杂场景下的群体仿真应用,对上述三个问题进行深入研究。场景的复杂性主要体现在群体结构和仿真环境两个方面:群体中的个体具有不同的运动速度(速度大小不同、方向不同)、不同的社会角色和不同的目标位置;场景中包含静态和动态障碍物。为了简化群体结构,本文基于ViCrowd框架模型,将仿真群体划分为群、组和个体三个层次,组成员之间的相互联系通过依赖矩阵指定。本文采用Multigen Creator建模工具完成了个体建模和场景建模。首先通过OpenFlight API对场景模型进行解析,得到二维平面中静态障碍物的边界,然后以场景中静态障碍物为生成元,求解其广义Voronoi图(以下简称为V图),并为图中的边界计算权值,最终导出该V图作为全局导航图。由于V图边界点处在连接相邻生成元直线的中垂线位置,故使用V图作为全局导航图既可以计算Agent的最短路径,也可以实现远离静态障碍物寻径。对于Agent间的动态避碰问题,本文采用基于优先级的方式进行处理。首先通过合成视觉模型计算视野内可视的个体集合,然后预测视野内的其他个体是否会与Agent发生碰撞,得到一个预测碰撞集合;最后将预测碰撞集合中的碰撞划分为五种类型和四个优先级等级,优先处理紧急避碰,在无紧急避碰的情况下基于VO模型对Agent速度方向进行微调,从而及早消除碰撞的可能。由于群体中的每个个体均存在于某个分组,故在仿真模型中增加了对组行为事件的处理,仿真过程中既可体现Agent间的无碰撞寻径过程,也可体现出组内个体由于避碰行为而拆分,碰撞消除后重新聚集的动态变化过程。论文最后以交通路口和商场购物为应用场景进行了4组仿真实验,对文中提出的算法进行了验证,同时,文中给出了仿真帧率的量化描述与实时仿真效果。实验结果表明以组为单位的群体仿真比只考虑单个个体的群体仿真效果更为真实,性能更好。