魏玉聪 曾 理 林 静 徐建君 辛春辉
1(西南交通大学 四川 成都 611756) 2(成都运达科技股份有限公司 四川 成都 611713)
地铁站虚拟乘客行为模拟研究与实现
魏玉聪1曾 理2林 静2徐建君2辛春辉1
1(西南交通大学 四川 成都 611756)2(成都运达科技股份有限公司 四川 成都 611713)
地铁站台人群仿真可以增强地铁驾驶模拟器的视觉沉浸感,同时可以用于地铁站台公共场所的应急处理仿真中。但由于乘客行为复杂,影响因素众多,因此乘客智能行为的模拟一直都是地铁仿真系统中的难点。通过调研分析地铁站台上下车人员的行为特征,总结乘客在多种因素影响下的行为规律。通过加入权重因子改进RVO算法实现全局最优路径查询和动态障碍避碰,对行为选择进行量化分析,建立了一套完整、可拓展性较强的智能乘客行为系统。解决了目前地铁模拟器中乘客模型简单、行为单一、真实感较差的问题,提高机车模拟驾驶过程中的场景逼真度和司机沉浸感。
智能仿真 影响因子 行为特征 行为模拟
人群仿真技术通过研究人群在各种环境、情节下的运动特征与规律,建立可视化人群行为模型,可用于公共场所人流分析、应急情况下人群疏散等,从而辅助公共场所设计及优化。乘客智能行为仿真是利用人群仿真技术,结合Agent/Multi-Agent等思想,模拟乘客自主性、智能性、多样性的行为,从而提高交通仿真系统中人群相关场景的真实感,增强视觉效果,提高司机在模拟驾驶过程中的沉浸感,训练司机在发生乘客乘车事故情况下的应急处理能力等。但乘客在公共交通场所中的行为受到包括环境、个体特征、社会心理等多种因素的影响,具有群体一致性和个体不确定性特征,导致乘客群体的自主智能行为模拟难度大,真实感和准确性难以保证。对于群体行为的研究,瑞士联邦技术研究所的Soraia等人提出人群仿真ViCrowd模型[1],对人群行为进行系统抽象,划分并定义人群的不同属性、行为层次和控制层次,但该模型只是人群行为仿真的一个框架,每种层次都有待完善。东京大学的Yohei Murakami等提出基于场景情节和规则描述的模型,并在此基础上开发了FreeWalk and FlatWalk人群运动模拟系统[2],但该系统在如何学习并建立人群运动规则等方面都有待完善。中科院计算技术研究所的王兆其等人设计开发的人群疏散模拟系统Guarder[3],通过定义场景语义实现群体感知、路径搜寻,提出连续群体模型中势能场的密度映射函数,实现大规模人群疏散的模拟。本文针对地铁列车驾驶仿真培训系统进行地铁乘客行为仿真,整个仿真过程必须具备实时计算、实时呈现效果的能力,但对人群仿真的精度要求不高。因此本文提出一种基于地铁站这一特定场景下的乘客智能行为模拟实现方案。目前人群仿真技术中存在的问题,本文提出一种基于地铁站这一特定场景下的乘客智能行为实现方案。通过实地调查分析,归纳总结地铁站场景中的乘客行为特征,基于文献[4]中所提出的Agent/Multi-Agent思想,提出由环境信息、乘客属性、随机因子共同作用下的乘客行为模型,实现乘客在行为选择过程中的合理性、准确性、差异性和随机性。采用基于导航网格的A*算法[5]实现全局最优路径查询,并通过加入权重因子改进RVO算法[6],实现乘客的多智能体动态避碰。最终实现虚拟环境中受多种因素影响的乘客行为仿真。
本系统由环境信息处理器和乘客行为系统两大模块组成。环境信息处理器主要负责导航网渲染、区域划分、地铁及车站功能区标定,生成可供乘客访问和修改的场景信息数据。乘客系统主要负责根据场景信息、乘客属性及随机影响因子规划乘客路径,决策乘客行为。其框架如图1所示。
图1 乘客智能行为实现框架
环境信息处理器对场景中站台、列车模型数据及列车线路时刻等信息进行数据处理,得到可供全局路径查询的导航网、乘客交互的场景信息库。
2.1 导航网格生成
将虚拟环境场景中点、边、凸多边形信息通过Delaunay三角分割得到用于乘客寻找最优路径的导航网格,由该三角剖分可以得到最优三角剖分的导航网格。使用逐点插入法[7]完成Delaunay三角剖分得到如图2所示的导航网格。
图2 导航网格生成
2.2 区域划分及功能区标定
将地铁站划为A、B、C、D四个区,乘客有本区域和邻区域的视角,可以对这两部分的区域进行局部最优解选择,若相隔超过一个区域,则会存在视觉盲点。如当乘客处于A区域时,可以在A、B区中进行选择,会忽略C区和D区的选择。通过位置信息对站台进行划分后,将功能区标定在车站中,每个功能区对应乘客的一种行为。当乘客感知到环境信息发生变化时,会调用状态判断模块,根据判断结果前往对应的功能区。整个车站的区域划分和功能区标定示意图见图3。
图3 站台区域划分
每个智能体(乘客)由三个模块组成:属性模块、状态判断模块、执行模块。属性模块在初始化时赋予乘客不同的属性,包括最大运动速度、执行力、对目标的渴望程度,这些属性决定了乘客对行为指令的执行效率。状态判断模块每隔一段时间会自动读取一次所需信息,并根据所处的当前状态判断是否可以执行下一个行为,如果可以,则向执行模块发出行为指令。执行模块在收到状态模块发来的信息,从行为库中相应行为,并调用动画控制器进行人物动作匹配。
3.1 乘客行为库
智能体通过检测周围环境的变化,将实时环境信息数据、智能体属性、随机因素代入行为状态判断模块中,从而调用行为库中相应的行为。本系统将乘客的行为从进出站到乘离车分成八种,乘客的每种行为包含了该行为的触发因子、运动速度、目的和完成指标。触发因子由环境信息、乘客属性和随机因素构成,由于属性的不同及随机因素的不确定性,导致乘客个体之间的差异性和是否可达到目的的不确定性。如当列车快离开时,乘客会加快速度上车,当列车已经离开,乘客会以正常的速度前往等车区域等待。这是一个比较通用的行为框架,可以通过扩充行为库的内容满足不同的需求。如图4所示,为乘客智能行为的实现机制和本文行为库中的行为划分。
图4 执行系统及行为库
3.2 路径搜索与动态避碰
通过基于导航网的A*算法计算静态环境空间中的全局最优路径。该方法将导航网中的三角形作为A*算法中的节点,第n个节点的估价函数可表示为:f(n)=g(n)+h(n)。其中f(n)表示从起始点经该节点到终点的距离,g(n)表示从起始点到该节点的距离g(n)=g(n-1)+k(n),k(n)为穿过该节点的代价,其值等于穿入边中点到穿出边中点的距离,h(n)表示从该节点到终点的距离,其值等于该节点的中心到终点的距离。A*算法节点如图5所示。
图5 A*算法节点图
从起始点开始,计算相邻节点的f(n)值,并遍历所有未途经的节点,取f(n)值最小的节点作为路径的下一点,直到终点在邻节点三角形内,详细过程见文献[8-9],得到如图6所示的全局最优路径。
图6 全局最优路径
得到静态环境中的全局最优路径后,使用RVO(相对速度障碍物)算法实现动态障碍的碰撞避免。如图7所示,半径分别为Ra、Rb的两个乘客A和B,分别以Va和Vb的速度运动,距离向量为M。根据相对运动理论,在与B等速运动的动态坐标系中,B的速度Vb0=0,A的速度Va0为:
Va0=Va-Vb
(1)
将乘客A看作一个质点,乘客A的半径加载到乘客B上,此时乘客B的半径为:
Rb0=Ra+Rb
(2)
得到表示乘客B的圆Ob0,作A乘客所在位置与Ob0的相切射线,分别为l1、l2,当A的相对速度在l1和l2的夹角之间时,则乘客A与乘客B必然相撞。而速度Va0不在l1和l2之间时,A与B不会相撞。
图7 RVO算法
在以M大小为5 m的距离进行碰撞检测,对速度进行改变,其改变值Δv使得A和B以最小的代价实现避碰。如图8所示,Δv1和Δv2都可以实现碰撞避免,Δv2的改变量明显高于Δv1,因此选取Δv1的改变方式。
图8 最优避碰策略
在乘客进行碰撞避免的过程中,不同的状况会有不同的优先避碰策略。如在一般情况下,运动过程中的乘客优先选择绕开排好的乘客队列,此时,运动中的乘客避碰权重值很高,若绕开队列需要很大的路径开销时,降低其避碰权重值,此时乘客会从排好的人群队列中穿插过去。对于总改变为Δv的避碰策略,根据优先权的关系,假设乘客A的权重为30%,乘客B的权重为70%,则乘客A的速度改变Δva为:
Δva=0.3Δv
(3)
乘客B的速度改变量Δvb为:
Δvb=0.7Δv
(4)
通过加入权重因子的方式,可以实现乘客在不同情况下的穿插绕行特性,更为符合现实场景中人群选择的行为特征。如图9、图10所示,分别为不同权重比和相同权重比状况下的避碰。
图9 不同权重比的避碰
图10 相同权重比的避碰
3.3 乘客行为规则设计
通过对地铁站乘客的调查,总结乘客行为有以下特征:
1) 乘客的选择会受到周围人的影响;
2) 乘客总是倾向于更利于实现自身目的的选择;
3) 存在视觉盲点,乘客在做出选择时,处于视觉盲点区域的选项会被忽略;
4) 做出最优判断时并不精确,对于每个选项的综合因素计算是一个估计值;
5) 由于随机因素的存在,相同环境条件下,不同的乘客做出的选择具有差异性。
根据这些特点,对乘客进行站内和车内行为模拟。
3.3.1 乘客站内行为
乘客进入车站后,在可视范围内选择合适的车门等车,每个车门的综合参数由该车门与乘客距离L、车门已排队人数P、前往该车门的人数M及随机因数k组成,随着P值的增加,人数对综合参数的影响降低,随着L的增加,距离对综合参数的影响加大。再考虑到单位的统一,通过软件平台的不断调试,得到综合参数S的计算公式:
S=(P(50-P)+0.2L2+α·M)·k
(5)
其中:k是一个在0.8和1.2之间波动的随机值,α为M值的影响因子,如图11-图13为α值从0到40的模拟结果。α值表示周围人的选择对该乘客做出选择的影响力大小。当α=0时,缺少对周围人选择的预判,导致乘客集中前往同一车门,该情况并不合理。当α值过大时,会严重削弱距离等因素的影响,通过对地铁站的调查分析,α值选取30较为合理。
图11 α值为0
图12 α值为20
图13 α值为40
当等车区乘客过多时,继续进入车站的乘客将不会前往车门处排队等车,而是选择离车门较近的区域等车。乘客具体选择的站点,具有很大的随机性,但普遍倾向于人员密度小、离车门较近、离自己较近的位置。由于车站中提供给乘客等车的点数量巨大,考虑到实际情况中,乘客做出的选择并非全局最优,因此本文通过求局部最优解得到乘客选取的站点。在地铁站的等车区中随机选取20个点,点的综合参数S和该点到乘客距离L、该点到车门距离M、该点周围人数P、不确定因子k之间的关系为:
S=(0.8L+M+10P)·k
(6)
模拟结果见图14。
图14 站内乘客布局
3.3.2 乘客车内行为模拟
当上车人数较多时,乘客往往急于占据一个座位,因而以比平常快的速度运动,影响乘客选座的主要因素是座位离自身的距离L,该距离可以让乘客预判自己是否能占据该座位。当车内人数和上车人数都较少时,乘客在选择座位过程中,会以正常的速度运动。大多数的乘客倾向于人员密度p小的区域,陌生乘客之间会尽量的远离。同时,大多数乘客只会在本车和邻车中选择座位,且邻车对乘客的吸引力非常有限。在这些原则下,设计乘客选择座位过程中的综合影响参数S的计算公式:综合参数S的计算公式:
S=k·L2/p
(7)
其中:k为一个介于0.5与1之间的随机数。如图15、图16所示,为一节车厢内在乘客数量不同时,乘客的分布情况。
图15 少量乘客的车厢
图16 座位被占满的车厢
在上述技术的基础上设计了一套乘客智能行为仿真系统,以南京地铁S1号线南京南站为例进行实验。设置地铁站的出入口点、上下行电梯等,在入口处不断产生具有一定乘车信息的乘客,乘客进站,如图17(a)所示。进站后寻找合适的车门等车点排队等车,如图17(b)所示。当站台内乘客数量过多时,乘客将选择站内的某点等待上车,如图17(c)所示。列车进站后车门开启,乘客依次上车,如图17(d)所示。上车的乘客在车内寻找合适的座位,如图17(e)所示。车门关闭,列车开启,车内的监控摄像监控车内状况,如图17(f)所示。
图17 模拟结果
本文实验在Intel X5675 3.06 GHz CPU,4 GB内存,AMD HD7900显卡的台式机上完成。三角面个数为900的人物模型,其实验结果见表1。
表1 实验结果
本文提出交通场景中基于个体的人群智能行为模拟方法。通过基于导航网的A*算法实现全局最优路径搜寻,在RVO算法中加入权重因子实现智能体有选择性的动态障碍避碰。结合地铁站中的调研结果,分析总结乘客行为规律,设计出一套完整的地铁站乘客智能行为模拟实现方案。
本文提出的乘客行为模型中,乘客以个体形式出现,不包括诸如乘客纠纷、列车故障、大规模群体疏散等特殊情况。乘客群体跟随、特殊情况处理等将是下一步的研究工作。
[1] Musse S R,Thalmann D.Hierarchical Model for Real Time Simulation of Virtual Human Crowds[J].IEEE Transactions on Visualization & Computer Graphics,2001,7(2):152-164.
[2] Murakami Y,Minami K,Kawasoe T,et al.Multi-agent simulation for crisis management[C]//Knowledge Media Networking,2002.Proceedings.IEEE Workshop on.IEEE,2002:135-139.
[3] 王兆其,毛天露,蒋浩,等.人群疏散虚拟现实模拟系统—Guarder[J].计算机研究与发展,2010,47(6):969-978.
[4] Jennings N R,Sycara K,Wooldridge M.A Roadmap of Agent Research and Development[J].Autonomous Agents and Multi-Agent Systems,1998,1(1):7-38.
[5] Lester P.A* pathfinding for Beginners[OL].Artificial Intelligence,2003-10-09.https://www.gamedev.net/articles/programming/artificial-intelligence/a-pathfinding-for-beginners-r2003.
[6] Tang P,Zhang Q,Yang Y M.Studying on path planning and dynamic obstacle avoiding of soccer robot[C]//Intelligent Control and Automation,2000.Proceedings of the,World Congress on.IEEE,2000:1244-1247 vol.2.
[7] Lawson C L.Software for C1surface interpolation.Rice J.Mathematical SoftWare[M].New York:Academic Press,1977.
[8] Rabin S.AI Game Programming Wisdom[M]//Building a Near-Optimal Navigation Mesh,2002:127-138.
[9] Brand S.Efficient obstacle avoidance using autonomously generated navigation meshes[D].Delft University of Technology,2009:43-52.
RESEARCHOFVIRTUALPASSENGERBEHAVIOURSIMULATIONONSUBWAYSTATIONANDITSIMPLEMENTATION
Wei Yucong1Zeng Li2Lin Jing2Xu Jianjun2Xin Chunhui1
1(SouthwestJiaotongUniversity,Chengdu611756,Sichuan,China)2(ChengduYundaScienceandTechnologyCo.,Ltd,Chengdu611713,Sichuan,China)
This crowd simulation on subway platform can enhance the subway driving simulator visual immersion, and can be used for subway station public places in the emergency response simulation. However, because of the complexity and amount of effect factors of passenger behaviors, the simulation is the difficulty of subway simulation system. In this paper we analyze the behavioral characteristics of passengers on subway station in detail, and get a conclusion of behavior rules under kinds of effect factors. We improve RVO algorithm through weight factor method to realize dynamic obstacles avoidance. The paper makes quantitative analysis of behavior choices and establishes a complete scheme of intelligent passenger behaviors system with extensibleness and expansibility. Solved the problem of subway simulator such as simple passenger models, scarcity of behaviors, poor realistic, improves fidelity of the scene and driver immersive feeling through driving the subway simulator.
Intelligent simulation Effect factors Behaviour characteristics Behaviour simulation
2017-02-14。四川省科技厅重点研发项目(2017GZ0026)。魏玉聪,硕士生,主研领域:虚拟现实,列车仿真。曾理,工程师。林静,工程师。徐建君,工程师。辛春辉,硕士生。
TP391.9
A
10.3969/j.issn.1000-386x.2017.11.015