论文部分内容阅读
插补算法是数控系统中的核心技术,它的好坏直接影响数控加工技术的优劣,是目前数控技术急需提高和完善的环节之一。目前现有的CNC系统,大都只实现了简单的直线插补和圆弧插补算法,因此不能直接加工复杂的曲线。若想利用CNC系统加工曲线,通常只能用一系列小直线段和小圆弧去逼近曲线,但这样会严重降低系统的加工效率和加工精度。为了提高加工效率和精度,本文在开源数控系统软件LinuxCNC上实现了B样条曲线插补算法,使得系统可以直接加工复杂的自由曲线,并通过添加机器人正逆运动学算法模块使其支持工业机器人的加工。Linux CNC系统具备开源、精度高、实时性好等优点,因此本文选择利用Linux CNC系统作为后续算法的实现平台。本文首先介绍了LinuxCNC的软件框架,并详细分析了其内部任务控制器和运动控制器的工作原理,为后续的轨迹规划和插补算法的实现提供了理论基础。同时,本文对机器人基本的运动学算法进行了介绍,并以PUMA560机器人为例,详细阐述了其D-H参数法建模的过程和其正逆运动学方程的推导过程。接着,将PUMA560机器人的运动学算法在Linux CNC系统中进行了实现。然后,针对传统梯形加减速和S形加减速控制算法的缺点,本文引入一种基于数字卷积的加减速控制算法。既可保证算法的实现简单、时间复杂度小,又能使系统运行平稳,在启动和停止时系统不会产生冲击和振荡。基于新的加减速控制算法,本文又进一步研究和实现了一种预测-校正三次B样条曲线插补算法,使得系统可以加工复杂的自由曲线。最后,本文采用Python程序设计语言,结合QT、OpenGL图形库设计出了机器人的操作界面和PUMA560型机器人的3D仿真模型,从而完整的开发出了一套高性能的机器人软件系统。同时,为了验证算法在Linux CNC上实现的正确性,本文分别对正逆运动学算法和B样条插补算法在本文所搭建的实验平台上进行了实验,实验结果表明算法在Linux CNC系统中得到了正确实现,达到了预期效果。