论文部分内容阅读
作为衡量一个虚拟装配系统优越与否的重要标准,碰撞检测问题受到人们的广泛关注。当前,实时性和精确性是判断碰撞检测算法的关键标准,因此如何利用日渐成熟的计算机硬件的并行架构,来实现复杂场景下的精确的实时碰撞检测成为人们当前的研究重点。在复杂场景中,连续碰撞检测(Continuous Collision Detection,CCD)依然很难做到实时效果。随着CPU并行架构的实现,本文提出了一种CPU多核加速的碰撞检测算法来提高虚拟装配系统性能。通过利用硬件的多核性能,提出了一个空间分解理论,然后利用动态任务分配策略把碰撞检测任务均衡的分配到所有内核上,使每个内核上的的任务负载均衡。最后通过数据分析,该算法可以有效提高碰撞检测效率。相较于具有较强逻辑计算能力CPU来说,具有强大浮点计算能力的GPU在有庞大运算量的装配系统中更有优势。由于人们在进行数学建模时不可避免出现误差,从而导致本不应该有碰撞接触的零部件出现重叠或者嵌套现象。针对以上问题,我们利用现代GPU强大的高密度计算能力及其多核的性能,提出了一种实时的GPU加速的并行碰撞检测算法。主要工作内容如下:(1)提出了一个新的基于GPU加速的并行碰撞处理框架,利用连续碰撞检测保证物体在移动过程中没有碰撞遗漏现象。(2)为了解决CPU与GPU之间由于带宽限制所造成的数据吞吐量较小而引起的通信瓶颈问题,改进了基于碰撞流优化的CCD方法,以改善碰撞检测的整体性能,实现系统的实时效果。(3)将离散碰撞检测(Discrete Collision Detection,DCD)与连续碰撞检测结合。把三角行碰撞检测(Triangle Intersection Detection,TID)结合到当前的基于CCD的多核碰撞检测算法中,利用混合的碰撞检测来避免由于建模误差的缘故导致在初始化时彼此间有嵌套、重叠现象而无法移动部件的问题。