本文来自微信公众号:中科院物理所(ID:cas-iop),作者:乐子超人,原文标题:《走路的时候如何不碰到别人是一门深奥的学科》,题图来自:视觉中国


在今年的搞笑诺贝尔奖上,在众多获奖研究一片和睦的氛围中,有这么两项奖项“怼”上了:


物理学奖:为什么行人不会碰撞?


动力学奖:为什么行人会碰撞?


行人:你们礼貌吗?


行人既不是质点也不是什么斜坡上的滑块,下一步会往哪个方向走可能行人自己都不知道,又怎么对行人的运动进行研究?难道研究人员都是心理学大师?


当然没这么复杂,早在上世纪30年代就有科学家开始了对行人集群运动(Pedestrian Collective Motion)的研究,到今天已经有专门的一门学科来研究这一现象——行人动力学(Pedestrian Dynamics)


今天小编就带大家看一下,怎样利用建模去分析行人的复杂运动。


建模的思想,在一只鸡中


《生活大爆炸》里有这样一个关于“真空中的球形鸡”的笑话:


一个农夫找上了物理学家,要求物理学家解决农场的鸡不下蛋的问题。物理学家经过计算之后告诉农夫,我找到了解决问题的方法,但这个方法只对在真空中的球形的鸡有效。



虽然这个笑话本意只是吐槽物理学家,但“球形鸡”精神在物理学研究中有着重要意义:忽略事物一部分微观特征,将复杂问题简化。


高中物理课上学到第一个重要概念——质点,其实就是“球形鸡”精神的一种应用。


把行人变成“真空中的球形人”


类似“球形鸡”问题,行人有手有脚,形状不规则,全身各个部位有着不同的运动方式。为了简化问题,我们在研究时,首先要将行人转变成一个方便研究的“粒子”。


最简单的简化,就是假设行人所在的空间是一个位于真空中的球。


行人问题只需要研究平面运动,球退化为圆。



要研究行人的运动,只需要研究这些圆在一定条件下的运动情况就可以了。一群人的行为不好模拟,但是一群二维粒子的运动模拟属实是非常熟悉了,计算物理中的分子动力学模拟就是。


当然,这种简化实在太过简单,就像“球形鸡”那样忽略了太多的细节,模拟结果可能会与实际有很大差距。比如各大景区的一线天,窄的地方现实中游客可以侧身通过,但在半径为游客肩宽的球形模拟中游客无法通过。


为了让模拟结果更贴合实际,我们可以根据研究的主要对象在上述的圆球模型上进行修改。例如研究需要考虑行人以自身为轴的转向运动,我们就可以将圆修正为套着球形的椭圆,用椭圆的长轴来体现行人的肩宽,短轴方向就是行人的朝向。



除了形状,在动力学模拟中,还需要考虑粒子之间相互作用的规则。这个规则来源于行人运动规律的总结,比如:行人之间总是会保持一个舒服的距离,并且会尽量避免碰撞。


在两人离得很近时,为了保持舒服的距离,行人会自发远离,表现为在一定距离之内,行人会受到对方的作用而改变运动状态,这一距离就是最短作用距离dm。


在两人离得很远时,对方从远处迎面走来,行人会根据彼此的横向距离判断是否会发生碰撞,当横向距离小于一定数值时,行人就会提前改变自己的运动状态来避免碰撞,这一数值就是最短横向作用距离dy,m


实际上,舒服的距离要大于会发生碰撞的距离,也就是dm > dy,m


在之前的椭圆模型上加上行人的受影响区域α,如下图所示:



这样我们便将一个不规则难模拟的行人转变成了一个简单的、有着一定受影响区域的粒子。


再加上力


现在我们将模拟对象简化成了简单的粒子,那么是什么改变了粒子的运动状态呢?


Helbing认为,行人运动状态的改变是由于受到外力驱动而变化,这个力就是社会力(Social Force),在社会力作用下的行人运动模型叫做社会力模型。社会力并不是像什么重力、压力、弹力那样真实存在的力,而是描述导致行人运动状态发生改变的一种作用。社会力模型的基本解析方程为:




其中,Fselfdriven为行人所受到的自驱动力,Finteraction为行人间的相互作用力,Fphysical为行人所处环境中障碍物对行人所施加的作用力,Fattraction为特殊位置的吸引力,fluctuations是噪声项。


在社会力模型中,行人的坐标r、时间t都是连续的。在给定初始条件之后,通过上述的基本解析方程,就可以模拟出之后任意时刻的行人运动状态。


行人为什么不会碰撞?


那么回归最开始的话题,行人之间是怎样避免碰撞的呢?


Corbetta等人便利用了我们在第二部分和第三部分提到的模型来研究这一问题。


考虑两行人p1、p2避免碰撞的事例,(行人密度足够稀疏可以忽略第三人的作用)这一事例满足的动力学方程组为:



其中,x、y分别为沿着行人前进方向和垂直于行人前进方向的纵向和横向坐标;u、v分别为纵向和横向速度;α、β是正的模型参数;


分别是纵向和横向的高斯噪声项;Fshort是短程避免碰撞的力,Fvision是长程基于视野判断的力,这两个力分别就对应了在第二部分提到的两种相互作用。


这么多参数小伙伴们可能和小编一样开始头疼了。


但是没有关系,我们并不需要去真正利用这个方程组做计算,我们只需要去理解方程组描述的物理过程就好了。


社会力模型其实是基于牛顿第二定律对行人运动过程进行描述,我们所看到的方程其实只是比牛二律复杂了亿点点。


虽然多了很多参数,这个方程组同牛顿第二定律一样,描述的是行人受到的社会力与行人速度变化的关系,速度影响的是行人的未来路径,也就是说,行人通过改变自己未来的路径来避免碰撞。


下面考虑两行人A、B在一走廊相向而行的具体情况。


两个行人相向而行,从开始移动到并行再到分开的示意图(图片来源:参考资料1)
两个行人相向而行,从开始移动到并行再到分开的示意图(图片来源:参考资料1)


A、B具有初始横向间距Δyi,当两人肩并肩时,有并行横向间距Δys,Δys如果小于两人肩并肩的宽度,就会发生碰撞。


不同初始横向间距对应的并行横向间距关系如下图:


不同初始横向间距对应的并行横向间距(图片来源:参考资料1)
不同初始横向间距对应的并行横向间距(图片来源:参考资料1)


其中黑色虚线是数据模拟结果,红点是从9089例避免碰撞的案例中得到的数据,蓝色虚线是在横向速度为0,即行人没有避让动作下的结果。我们可以看到模拟效果非常好,结果与实际十分接近。


当初始横向间距为0时,并行横向间距为0.75m;初始横向间距小于1.4m之后,并行横向间距大于初始横向间距。


因此,行人避免碰撞的原理是:当两行人的初始横向间距小于1.4m时,行人会通过横向移动,改变自己的预期路径,扩大彼此之间的间距,并保证在肩并肩时,彼此的间距至少为0.75m。


另外,该团队还统计并模拟了一些行人相关的数据:行人最喜欢以1.29m/s的速度行动,部分跑动的行人速度常见为2m/s;行人在移动时会以路中心进行横向的波动,横向移动速度和距离都呈现高斯分布,峰值均出现在0处。


行人为什么会碰撞?


之前提到过,在社会力模型中,在影响行人下一步移动的因素中,决定性因素的是速度,预判在行人避免碰撞的移动中起了重要作用。


行人通过预判避免彼此碰撞,自然发生碰撞便是因为其他因素导致了预判失败。


Hisashi Murakami等人通过实验证明了这一点。


Hisashi Murakami等人所做实验,两组人相向而行,部分人被要求玩手机。(图片来源:参考资料2)
Hisashi Murakami等人所做实验,两组人相向而行,部分人被要求玩手机。(图片来源:参考资料2)


在实验中,众多被试分成两组,相向而行,其中一部分实验者被要求边玩手机边进行移动,实验者负责统计突然转身(Suddenness of turns)发生的次数以及突然程度。


结果可想而知,玩手机的人突然转身的次数和突然程度都要远高于其他人。玩手机这一行为分散了行人的注意力,降低了个人的预期能力,导致行人需要在更短的时间内做出变向来避免碰撞。


另外有意思的是,在玩手机的人对向与周围的行人突然转身次数和突然程度也都有所上升,这说明玩手机不止会降低自己的判断力,还会影响其他路人的判断能力。


正所谓行路不规范,亲人两行泪。各位小伙伴们在走路的时候还是要专心啊,可千万别成为别人的研究案例哦。


一些拓展


在日常生活中,我们也可以利用“真空中的球形鸡”思想去分析一些其他的常见问题。


比如在坐车时会遇到的,前方明明没有什么意外事故,却莫名其妙发生了堵车,也就是“幽灵堵车”问题。


幽灵堵车(图片来源:RiAus)<br>
幽灵堵车(图片来源:RiAus)


我们可以直接利用社会力模型来对这种现象进行分析:汽车行车时会有一个安全距离,当两车距离小于安全距离时,后车就要进行减速,表现为前后车辆之间有一个排斥力。当车流量密度很大时,车辆间距被压缩到了最小,也就是安全距离;这时如果前车突然减速,后车被迫要减速到更慢速度来恢复安全距离,这一减速行为直接导致后后车更大的减速。这样减速幅度递增,直到在某辆车之后全部静止,发生“幽灵堵车”。


在密集人群,特别是长队列中,会出现与“幽灵堵车”类似现象——一部分前进而另一部分人静止的“走停波”。“走停波”产生的原因与“幽灵堵车”也是一样的,即密集人群中的减速导致的静止。


从模拟角度来看,行人与车辆在研究时都被模拟成了“真空中的球形”,并且受力情况相同,两者在模型研究中无本质区别,自然也会在相同情况下(密集车辆或人群)产生相类似的现象(“幽灵堵车”与“走停波”)


在诸如站台、购票机以及景区入口等地方,行人有时会自发排成队列。


这种自发排队当然是因为大家都很讲文明啦!


咳咳,讲文明确实是一方面,我们还可以从另一方面,利用社会力模型来看行人自发排队的原因。


我们知道,当粒子受到外力时,会具有一定的势能,并且能量越低的结构越稳定。


在社会力作用下,我们可以认为行人也会有一定的社会势能,行人自发排队是因为,与杂乱无序的分布相比,在队列这种有序结构下,人群总的社会势能更低。能量低的结构相对更加稳定,所以人群会自发排成队列,就好像物质微粒自发排列形成稳定的晶体结构一样。


虽然我们没有更进一步地去做动力学模拟,但通过建模方法对问题进行定性分析,我们依然可以尝试给出问题的答案,对问题有更深入的理解。


(那么如果给考试试卷做一个建模,是不是就可以直接得到考试答案了?小编妄想ing)


参考资料:

1. Corbetta, A., Meeusen, J. A., Lee, C., Benzi, R., & Toschi, F. (2018). Physics-based modeling and data representation of pairwise interactions among pedestrians. Physical Review E, 98(6), [062310].https://doi.org/10.1103/PhysRevE.98.062310.

2. Murakami H, Feliciani C, Nishiyama Y, Nishinari K. Mutual anticipation can contribute to self-organization in human crowds. Sci Adv. 2021 Mar 17;7(12):eabe7758. doi: 10.1126/sciadv.abe7758. PMID: 33731351; PMCID: PMC7968841.

3. 龚晓岚,魏中华.行人动力学的研究进展[J].人类工效学,2008(02):68-71+73.

4. 程汉. 行人集群运动演化过程中的动力学机理研究[D].中国科学技术大学,2020.DOI:10.27517/d.cnki.gzkju.2020.000364.

5. Guo Wei, Wang Xiaolu, Xiaoping Zheng. (2015). Lane formation in pedestrian counterflows driven by a potential field considering following and avoidance behaviours. Physica A: Statistical Mechanics and its Applications. 432. 10.1016/j.physa.2015.03.020. 


本文来自微信公众号:中科院物理所(ID:cas-iop),作者:乐子超人