基于GPGPU的并行计算与视觉裁判手势识别系统
基于GPGPU的交通模拟系统
在模拟场景中,内核会在每个模拟步骤(Δt)通过内核在代理和子模拟器之间交换数据和命令。模拟步骤是代理感知 - 决策 - 行动周期的时间,在RCRS中默认值为一分钟。交通模拟器通过计算代理在Δτ步骤(比Δt步骤更精细,Δt = Nstep × Δτ,默认设置下Nstep为6,000)在区域内的位置,来模拟代理在一个模拟步骤中的移动。
计算代理位置的并行计算
我们的想法是在Δt内使用GPGPU计算代理的位置ri。根据Helbing社会力模型,在每个微步骤Δτ计算代理位置的变化。社会力模型是一种粒子模型,其中人类的移动由牛顿动力学控制:
[m_i\frac{dv_i}{dt} = m_i\frac{v_{0i}(t)e_{0i}(t) - v_i(t)}{\tau_i} + \sum_{j(\neq i)} f_{ij} + \sum_{W} f_{iW}]
其中,第一项是将代理移动到其期望位置的意图驱动的力。代理的意图决定了他们想要去的位置,$e_{0i}$是指向目标位置的单位向量。$m_i$和$v_{0i}$分别是代理i的重量和步行速度。速度根据代理的年龄和性别设置,当代理感到害怕时会变快,到达目的地时为零。$v_i(t)$是t时刻的步行向量。$f_{ij}$和$f_{iW}$分别是避免与其他代理或墙壁碰撞的排斥力。合力是速度的变化,$v_i(t) = \frac{dr_i}{dt}$,该变化用于计算Δt后代理的下一个位置。
以下是典型的交通模拟器代码:
Algorithm
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



