We introduce an algorithm for continuous collision detection (CCD) for linearized trajectories designed to be scalable on modern parallel architectures and provably correct when implemented using floating point arithmetic. Our approach to broad-phase CCD is based on new simple, yet efficient and scalable, broad-phase algorithm based on the surprising experimental observation that sorting and linearly checking for intersections has a performance comparable to state of the art approaches when executed on a modern GPU. For narrow-phase CCD, we extend the recently proposed interval-based algorithm of Wang et al. [2021] to work on massively parallel hardware. To evaluate the correctness, scalability, and overall performance of our approach, we introduce a large scale benchmark for broad- and narrow-phase CCD with symbolically computed time of impacts, and compare our approach with 11 state-of-the-art (SOTA) methods for broad-phase and 1 SOTA methods for narrow-phase. We integrate our algorithm with the IPC contact solver and evaluate its impact on challenging simulation scenarios. We release the dataset with analytic ground truth, which required over 5 CPU years to be generated, the implementation of all the algorithms tested, our testing framework, and a reference CPU and GPU implementation of our algorithm as an open-source project to foster adoption and development of linear CCD algorithms.
翻译:我们引入了连续碰撞探测的算法(CCD),用于在现代平行结构上可扩缩的线性轨迹,在使用浮动点算术实施时可以准确无误地纠正。我们对广泛阶段的CCD采用的方法是基于新的简单、高效和可伸缩的广级算法,其依据是令人惊讶的实验观察,即对交叉点进行分类和线性检查的性能与在现代GPU上实施时的先进性能相当。对于狭窄阶段的CCD,我们将最近提议的Wang et al.(2021年)的间基算法扩展至大规模平行硬件方面的工作。为了评估我们的方法的正确性、可伸缩性以及总体绩效。为了评估我们的方法的准确性、可伸缩性以及总体绩效,我们采用了一个大尺度的CCDM(CCD)阶段基准,并象征性地计算了影响的时间,将我们的方法与11种最先进的(SOATA)方法以及1种窄级方法相比较。我们将我们的算法与IPC联系解算法结合,并评价其对具有挑战性的模拟假设情景的影响。我们将所有数据设置与解性地面数据设置与解地平地平,这需要超过5年的CPU的CPU的CFSLALAL检验和直线性算法框架的测试。