Our goal is to develop an efficient contact detection algorithm for large-scale GPU-based simulation of non-convex objects. Current GPU-based simulators such as IsaacGym and Brax must trade-off speed with fidelity, generality, or both when simulating non-convex objects. Their main issue lies in contact detection (CD): existing CD algorithms, such as Gilbert-Johnson-Keerthi (GJK), must trade off their computational speed with accuracy which becomes expensive as the number of collisions among non-convex objects increases. We propose a data-driven approach for CD, whose accuracy depends only on the quality and quantity of offline dataset rather than online computation time. Unlike GJK, our method inherently has a uniform computational flow, which facilitates efficient GPU usage based on advanced compilers such as XLA (Accelerated Linear Algebra). Further, we offer a data-efficient solution by learning the patterns of colliding local crop object shapes, rather than global object shapes which are harder to learn. We demonstrate our approach improves the efficiency of existing CD methods by a factor of 5-10 for non-convex objects with comparable accuracy. Using the previous work on contact resolution for a neural-network-based contact detector, we integrate our CD algorithm into the open-source GPU-based simulator, Brax, and show that we can improve the efficiency over IsaacGym and generality over standard Brax. We highly recommend the videos of our simulator included in the supplementary materials.
翻译:我们的目标是开发一种用于大规模GPU模拟中非凸物体的高效接触检测算法。当前基于GPU的模拟器(如IsaacGym和Brax)在模拟非凸物体时,必须在速度与保真度、通用性(或两者兼顾)之间进行权衡。其主要问题在于接触检测:现有接触检测算法(如Gilbert-Johnson-Keerthi,简称GJK)必须在计算速度与精度之间做出取舍,随着非凸物体间碰撞数量增加,计算代价急剧上升。我们提出一种数据驱动的接触检测方法,其精度仅依赖于离线数据集的质量与数量,而非在线计算时间。与GJK不同,我们的方法天生具有统一的计算流程,便于利用高级编译器(如XLA,加速线性代数)实现高效的GPU计算。此外,我们通过学习局部裁剪物体形状的碰撞模式(而非更难学习的全局物体形状),提供了一种数据高效的解决方案。实验表明,我们的方法在保持可比精度的前提下,对非凸物体的接触检测效率相较于现有方法提升了5-10倍。基于前人关于神经网络接触检测器的接触解析工作,我们将所提接触检测算法集成到开源GPU模拟器Brax中,验证了其相比IsaacGym在效率上的提升以及相比标准Brax在通用性上的增强。我们强烈推荐读者观看补充材料中的模拟视频。