论文部分内容阅读
虚拟现实是借助计算机、硬件设备、力学反馈等设备,实现与真实世界高度相似的虚拟环境的技术。碰撞检测是虚拟现实领域中的关键问题,随着机器人虚拟仿真技术的飞速发展,仿真环境中对碰撞检测的效率与精准性要求也随之提升,然而单一包围盒碰撞检测算法在大规模虚拟环境中通常因精准性不足、效率低产生穿透或延迟现象,无法实时检测到碰撞发生,严重影响仿真环境的真实性。本文以Unity3D引擎结合三维建模软件,开发了工业机器人虚拟仿真场景,研究了机器人在运动仿真过程中可能发生的多种复杂碰撞情况,针对单一层次包围盒算法在精确性与效率上的不足提出了一种高效的混合层次包围盒碰撞检测算法,并完成算法实现过程中每个步骤的详细设计。后在工业机器人虚拟仿真环境中通过示教作业仿真实验验证了本文所提出的碰撞检测算法所具有的优势。具体地,本文主要工作如下:首先,通过SolidWorks、3ds Max建模软件完成工业机器人虚拟仿真场景中设备与环境的建模,并利用Unity3D引擎搭建虚拟仿真场景。后针对虚拟环境中机器人轨迹规划提出一种机器人空间圆弧轨迹插补算法,利用圆弧所在空间建立新坐标系并计算圆弧上各插补点,后将点变换到原坐标系中,最后映射到关节空间中各关节角以实现空间圆弧轨迹插补,为后续机器人复杂运动仿真奠定了基础。其次,对层次包围盒技术进行总结分析,针对单一层次包围盒碰撞检测算法存在穿透、漏检以及精准性和效率不能满足要求的问题,提出了一种基于AABB与OBB的混合层次包围盒碰撞检测算法,通过自顶向下的方法构造物体的层次包围盒树,在粗略检测阶段使用AABB,在精准检测阶段使用OBB;针对基元相交测试中传统的三角面片测试效率低的问题,提出了一种基于空间正投影法与光线跟踪法结合的三角面片相交测试算法,优化了检测速度;后采用基于时空相关性的加速遍历方法实现对混合层次包围盒树的遍历优化,在时间复杂度上很好地满足了检测的要求。最后经模型碰撞实验验证,本文所研究算法相较于单一AABB层次包围盒算法在效率,精准性和稳定性上都有所提升。最后,在本文所开发的工业机器人虚拟仿真环境中首先实现机器人运动过程中可能发生的多种复杂碰撞情况的检测验证;后在虚拟环境中实现机器人的示教编程仿真,通过虚拟示教方式获取轨迹示教点并完成仿真作业实验,在整个过程中实现对多种复杂碰撞情况的检测;最后在机器人弧焊仿真实验中结合碰撞检测技术与Unity3D中的粒子系统实现焊接物理效果仿真,进一步验证了本文所研究的碰撞检测算法具有良好的精准性、实时性、稳定性,可较好地满足复杂虚拟场景中的碰撞检测要求。