We introduce a large-scale benchmark for broad- and narrow-phase continuous collision detection (CCD) over linearized trajectories with exact time of impacts and use it to evaluate the accuracy, correctness, and efficiency of 13 state-of-the-art CCD algorithms. Our analysis shows that several methods exhibit problems either in efficiency or accuracy. To overcome these limitations, we introduce an algorithm for CCD designed to be scalable on modern parallel architectures and provably correct when implemented using floating point arithmetic. We integrate our algorithm within the Incremental Potential Contact solver [Li et al . 2021] and evaluate its impact on various simulation scenarios. Our approach includes a broad-phase CCD to quickly filter out primitives having disjoint bounding boxes and a narrow-phase CCD that establishes whether the remaining primitive pairs indeed collide. Our broad-phase algorithm is efficient and scalable thanks to the experimental observation that sweeping along a coordinate axis performs surprisingly well on modern parallel architectures. For narrow-phase CCD, we re-design the recently proposed interval-based algorithm of Wang et al. [2021] to work on massively parallel hardware. To foster the adoption and development of future linear CCD algorithms, and to evaluate their correctness, scalability, and overall performance, we release the dataset with analytic ground truth, the implementation of all the algorithms tested, and our testing framework.
翻译:我们引入了一个大规模基准数据集,用于在线性化轨迹上精确计算冲击时间的宽相位与窄相位连续碰撞检测(CCD),并利用该数据集评估了13种最先进CCD算法的准确性、正确性和效率。分析表明,多种方法在效率或准确性方面存在问题。为克服这些局限,我们提出了一种旨在适应现代并行架构的可扩展算法,且该算法在采用浮点运算实现时具有可证明的正确性。我们将该算法集成到增量势能接触求解器[Li et al., 2021]中,并评估其对多种仿真场景的影响。我们的方法包括一个宽相位CCD,用于快速过滤具有不相交包围盒的基本元素,以及一个窄相位CCD,用于确定剩余基本元素对是否确实发生碰撞。基于现代并行架构上坐标轴扫描表现出优异性能的实验观察,我们的宽相位算法兼具高效性与可扩展性。对于窄相位CCD,我们重新设计Wang等人[2021]近期提出的基于区间的算法,使其能够在大规模并行硬件上运行。为促进未来线性CCD算法的应用与发展,并评估其正确性、可扩展性与整体性能,我们公开了包含解析真值的数据集、所有测试算法的实现代码及测试框架。