基于Python的桌面级机器人离线编程仿真系统技术方案

技术编号:17691330 阅读:105 留言:0更新日期:2018-04-14 07:25
一种基于Python的桌面级机器人离线编程仿真系统,包括用户交互模块、模型管理模块、运动轨迹规划模块、离线编程模块、机器人仿真与后置处理器模块、机器人运动模块;用户交互模块通过向模型管理模块,运动轨迹规划模块,离线编程模块发送控制指令,给仿真与后置处理器模块提供所需的全部数据;机器人运动模块根据仿真与后置处理器模块发送的控制命令来实现相应操作;首先通过用户交互模块激活模型管理模块,并导入桌面机器人3D模型,运动轨迹规划模块根据加工需要,规划运动轨迹。离线编程模块把规划的运动轨迹转化为Python编程语言,仿真与控制模块完成运动仿真并通过后置处理器生成机器人可执行代码,输出给机器人运动模块。

Desktop robot off-line programming simulation system based on Python

A desktop robot off-line programming simulation system based on Python, including the user interface module, model management module, trajectory planning module, robot off-line programming module, module simulation and post processor module, motion robot; user interaction module through to the model management module, trajectory planning module, off-line programming module sends the control command to simulation and post processor module provides all of the necessary data; robot motion module to achieve the corresponding operation according to the control command simulation and post processor module to send; first through user interaction module activation model management module, and import your desktop robot 3D model, trajectory planning module according to the processing requirements, trajectory planning. The offline programming module converts the planned trajectory into the Python programming language. The simulation and control module completes the motion simulation, and generates the robot executable code through the post processor, and outputs it to the robot motion module.

【技术实现步骤摘要】
基于Python的桌面级机器人离线编程仿真系统
本专利技术涉及一种机器人离线编程系统,尤其是一种基于Python的桌面级机器人离线编程仿真系统。
技术介绍
伴随着工业现代化的快速发展,机器人技术作为体现工业自动化水平和智能化程度的重要标杆,得到了人们日益的关注。其中,机器人操作臂离线编程仿真系统结合计算机图形学、语言学和机器人技术,很好地解决了传统示教编程的不足,有效保证了生产的产品质量、提高劳动生产率和改善工作环境。在机器人编程领域主要有在线示教编程和离线编程两种方式,在线示教编程为绝大多数工业机器人所采用。在线示教编程要求机器人执行新的作业任务时需停机示教,造成现场生产线停工的同时还可能使编程人员身处危险的现场环境中。相对于传统的在线示教编程的方法,离线编程具有以下优点:(1)减少实体机器人的占用时间,可以并发处理多个作业人任务,从而提高生产率,易于实现柔性生产;(2)结合计算机图形学技术和机器人编程语言,对于复杂的运动进行描述和编程,并进行高精度的仿真,可以实现复杂运动规划和运动参数的优化;(3)对机器人的轨迹规划等算法进行验证,并及早将运行过程中可能出现的问题通过仿真暴露出来,可以防止作业过程中实体机器人因为操作失当造成的损坏;(4)相对于示教编程,机器人控制程序可以无需改动或者少量的改动就可以从一个型号的机器人移植到另外一个机器人上,从而进行相同的作业任务,另外一个方面采用文本的编程方式,也很方便地进行程序的修改和编辑;(5)离线仿真编辑可以很方便地与智能控制算法相结合,提高机器人作业的质量和稳定性;(6)通过编程仿真,生产者可以根据实际的作业环境和生产需求测试不同类型的机器人及其运行的效果,从而为机器人的选型提供有效的依据。目前,对于离线编程仿真技术的研究内容较少,其主要是为大型工业机器人企业生产的机器人开发离线编程仿真系统,而面向桌面级机器人的离线编程仿真系统鲜有涉及。王晓琪,孙恺等提出的QT开发喷涂机器人的离线编程仿真系统(王晓琪,孙恺.QT开发喷涂机器人的离线编程仿真系统[J].煤矿机械,2016,37(02):188-190.),开发了用于工业机器人的离线编程仿真系统,但该系统未提及轨迹优化,对机器人的兼容性较差,人机交互性较弱,同时对桌面级机器人不适用。印松,童梁,陈竞新,陈学能等提出的基于SolidWorks的机器人离线示教方法(印松,童梁,陈竞新,陈学能.基于SolidWorks的机器人离线示教方法[J].上海电机学院学报,2012,15(02):111-114.)借助了SolidWorks强大的3D仿真,实现了离线示教方法,但其开发接口不适用于桌面级机器人,同时对机器人末端执行器的运行轨迹也未做相应优化。
技术实现思路
为克服现有技术的上述问题,提出一种基于Python的桌面级机器人离线编程仿真系统。首先该系统具有较好的用户交互界面,让技术人员原本枯燥乏味的离线编程操作充满人性化和新鲜感。其包含的机器人运行参数显示区,方便操作人员实时了解机器人运行情况并能对实际运行状况做出及时改进。添加的仿真与后置处理器模块能对运动规划曲线进行仿真,并直接通过后置处理器程序把仿真结果输出给机器人执行机构,大幅度提高机器人的加工效率,缩短了工程师的项目研发周期;基于Python的系统框架为开发用于桌面级机器人离线编程系统提供了接口支持。本专利技术为解决现有技术问题所采取的技术方案是:所述的离线编程仿真系统依次包括用户交互模块、模型管理模块、运动轨迹规划模块、离线编程模块、仿真与后置处理器模块、机器人运动模块;用户交互模块通过向模型管理模块,运动轨迹规划模块,离线编程模块发送控制指令,给仿真与后置处理器模块提供所需的全部数据;机器人运动模块根据仿真与后置处理器模块发送的控制命令来实现相应操作。各模块的具体构成是:1)用户交互模块,是一个良好的人机交互和机器人控制界面;用户交互模块接受来自用户输入的触发信号后,分别激活模型管理模块,运动轨迹规划模块,离线编程模块;用户在该模块上点击各模块的操作命令,以网络通信的方式向模型管理模块,运动轨迹规划模块和离线编程模块发送任务操作指令;用户交互模块通过串口通讯方式,接受来自机器人运动模块的关节角度信息。2)模型管理模块,用于导入机器人3D模型并建立相应的参考坐标系;模型管理模块接受来自用户交互模块的激活命令时,进入执行状态;该模块获取来自用户交互模块的操作指令后,在用户操作系统的指定文件夹中导出机器人3D模型到模型管理模块,同时根据用户输入的坐标设置要求,设置机器人3D模型的基坐标系位置和各关节坐标系相对位置,建立机器人模型的工作空间,添加各关节的调试控件,最后把设置好的机器人3D模型通过网络通信发送给仿真与后置处理器模块,同时把模型的各坐标参数发送给运动轨迹规划模块。3)运动轨迹规划模块,是实现机器人运行路径流畅的重要模块,该模块接受来自模型管理模块中的机器人3D模型的基坐标系位置参数,各关节轴的相对位置参数;分析桌面机器人末端执行器在空间中的瞬时位置和姿态,使用D-H参数建模机制,建立机器人每个连杆在各关节处的笛卡尔坐标系,使用正运动学公式求解末端执行器相对固定参考坐标系的位置和姿态,获得机器人运动轨迹,使用笛卡尔轨迹规划算法优化轨迹曲线,基于机器人逆运动学知识,把轨迹曲线转化为机器人关节参数数组;最后把该串机器人关节参数发送给离线编程模块。所述的运动轨迹规划模块,结合了正逆运动学求解和笛卡尔轨迹规划算法来优化运行轨迹,再将优化后的轨迹转化为机器人各关节角度值输出给离线编程模块和仿真与后置处理器模块使用,所述的正逆运动学求解和笛卡尔轨迹规划算法如下:2.1)选择机器人四个关节的D-H参数(即关节1≤i≤6的连杆长度ai、连杆转角αi、连杆偏距di和关节角θi)作为输入量,选择工作机器人各个关节的关节角θi作为输出量。2.2)首先对机器人构建其D-H参数模型,由于各杆件相对参考坐标系有转动和平移两个动作,因此对每个杆件沿关节轴建立一个关节坐标系,用以下四个参数来描述杆件:(1)连杆长度ai:关节轴i和关节轴i+1之间公垂线的长度;(2)连杆转角αi:作一个与两关节轴之间的公垂线垂直的平面,将关节轴i和关节轴i+1投影到该平面,在平面内轴i按右手法则绕ai转向轴i+1,其转角即为连杆转角;(3)连杆偏距di:公垂线ai-1与关节轴i的交点到公垂线ai与关节轴i+1的交点的有向距离长度;(4)关节角θi:ai-1的延长线与ai之间绕关节轴i旋转所形成的夹角,即采集得到的示教机器人关节角度;2.3)以基座坐标系作为T0坐标系,设表示i关节坐标系相对i-1关节坐标系的位置和姿态,则:其中,sθi=sinθi,cθi=cosθi,sαi=sinαi,cαi=cosαi。2.4)对于四自由度机器人,获得机器人末端执行器位姿相对固定参考坐标系的变换矩阵(即机器人末端位置点坐标的变换矩阵):其中,是机器人第四轴末端执行器相对基坐标系的变换矩阵。2.5)求得规划运行时间片后的机器人末端执行器位姿相对固定参考坐标系的变换矩阵后,即可获得由每个时间片机器人的末端执行器位姿相对固定参考坐标系的坐标点组成的离散运行轨迹。2.6)使用笛卡尔圆弧插补法,先取出规划运行轨迹中的p1本文档来自技高网
...
基于Python的桌面级机器人离线编程仿真系统

【技术保护点】
一种基于Python的桌面机器人离线编程仿真系统,其特征在于:所述的离线编程仿真系统依次包括用户交互模块、模型管理模块、运动轨迹规划模块、离线编程模块、仿真与后置处理器模块、机器人运动模块;用户交互模块通过向模型管理模块,运动轨迹规划模块,离线编程模块发送控制指令,给仿真与后置处理器模块提供所需的全部数据;机器人运动模块根据仿真与后置处理器模块发送的控制命令来实现相应操作;各模块的具体构成是:1)用户交互模块,是一个良好的人机交互和机器人控制界面;用户交互模块接受来自用户输入的触发信号后,分别激活模型管理模块,运动轨迹规划模块,离线编程模块;用户在该模块上点击各模块的操作命令,以网络通信的方式向模型管理模块,运动轨迹规划模块和离线编程模块发送任务操作指令;用户交互模块通过串口通讯方式,接受来自机器人运动模块的关节角度信息;2)模型管理模块,用于导入机器人3D模型并建立相应的参考坐标系;模型管理模块接受来自用户交互模块的激活命令时,进入执行状态;获取来自用户交互模块的操作指令后,在用户操作系统的指定文件夹中导出机器人3D模型到模型管理模块,同时根据用户输入的坐标设置要求,设置机器人3D模型的基坐标系位置和各关节坐标系相对位置,建立机器人模型的工作空间,添加各关节的调试控件,最后把设置好的机器人3D模型通过网络通信发送给仿真与后置处理器模块,同时把模型的各坐标参数发送给运动轨迹规划模块;3)运动轨迹规划模块,接受来自模型管理模块中的机器人3D模型的基坐标系位置参数,各关节轴的相对位置参数;分析桌面机器人末端执行器在空间中的瞬时位置和姿态,使用D‑H参数建模机制,建立机器人每个连杆在各关节处的笛卡尔坐标系,使用正运动学公式求解末端执行器相对固定参考坐标系的位置和姿态,获得机器人运动轨迹,使用笛卡尔轨迹规划算法优化轨迹曲线,基于机器人逆运动学知识,把轨迹曲线转化为机器人关节参数数组;最后把该串机器人关节参数发送给离线编程模块;4)离线编程模块,,接受来自运动轨迹规划模块的机器人关节参数数组,首先对该数组进行类型分析,根据Python内核指令调用RoboDK动态函数库,把关节参数数组直接转化为Python编程代码,添加脚本头部和运行主函数后,通过网络通讯的方式把生成的Python脚本发送给机器人仿真与后置处理器模块;5)仿真与后置处理器模块,接受分别来自模型管理模块的机器人3D模型文件,运动轨迹规划模块的机器人末端执行器运行曲线参数以及离线编程模块的机器人仿真运行脚本后,仿真与后置处理器模块等待以上各模块传输完各自的参数内容后,自动运行机器人仿真程序;先对运动轨迹规划模块接受的运行轨迹和离线编程模块接受的机器人末端执行器运行曲线指令串进行时间轴匹配和优化,并把优化结果发送给后置处理器程序;后置处理器程序根据匹配的机器人规格和RoboDK中机器人D‑H参数库,把仿真程序直接转化为实际机器人可执行代码,通过USB有线传输的方式发送给机器人运动模块;6)机器人运动模块,通过USB有线传输方式,接受来自仿真与后置处理器模块输出的机器人可执行代码脚本,并把代码设置成执行队列的形式,控制机器人执行运行任务,同时把机器人运行参数,机器人各关节角运动参数,实际机器人发生碰撞时反馈回来的故障信息参数发送给用户交互模块。...

【技术特征摘要】
1.一种基于Python的桌面机器人离线编程仿真系统,其特征在于:所述的离线编程仿真系统依次包括用户交互模块、模型管理模块、运动轨迹规划模块、离线编程模块、仿真与后置处理器模块、机器人运动模块;用户交互模块通过向模型管理模块,运动轨迹规划模块,离线编程模块发送控制指令,给仿真与后置处理器模块提供所需的全部数据;机器人运动模块根据仿真与后置处理器模块发送的控制命令来实现相应操作;各模块的具体构成是:1)用户交互模块,是一个良好的人机交互和机器人控制界面;用户交互模块接受来自用户输入的触发信号后,分别激活模型管理模块,运动轨迹规划模块,离线编程模块;用户在该模块上点击各模块的操作命令,以网络通信的方式向模型管理模块,运动轨迹规划模块和离线编程模块发送任务操作指令;用户交互模块通过串口通讯方式,接受来自机器人运动模块的关节角度信息;2)模型管理模块,用于导入机器人3D模型并建立相应的参考坐标系;模型管理模块接受来自用户交互模块的激活命令时,进入执行状态;获取来自用户交互模块的操作指令后,在用户操作系统的指定文件夹中导出机器人3D模型到模型管理模块,同时根据用户输入的坐标设置要求,设置机器人3D模型的基坐标系位置和各关节坐标系相对位置,建立机器人模型的工作空间,添加各关节的调试控件,最后把设置好的机器人3D模型通过网络通信发送给仿真与后置处理器模块,同时把模型的各坐标参数发送给运动轨迹规划模块;3)运动轨迹规划模块,接受来自模型管理模块中的机器人3D模型的基坐标系位置参数,各关节轴的相对位置参数;分析桌面机器人末端执行器在空间中的瞬时位置和姿态,使用D-H参数建模机制,建立机器人每个连杆在各关节处的笛卡尔坐标系,使用正运动学公式求解末端执行器相对固定参考坐标系的位置和姿态,获得机器人运动轨迹,使用笛卡尔轨迹规划算法优化轨迹曲线,基于机器人逆运动学知识,把轨迹曲线转化为机器人关节参数数组;最后把该串机器人关节参数发送给离线编程模块;4)离线编程模块,,接受来自运动轨迹规划模块的机器人关节参数数组,首先对该数组进行类型分析,根据Python内核指令调用RoboDK动态函数库,把关节参数数组直接转化为Python编程代码,添加脚本头部和运行主函数后,通过网络通讯的方式把生成的Python脚本发送给机器人仿真与后置处理器模块;5)仿真与后置处理器模块,接受分别来自模型管理模块的机器人3D模型文件,运动轨迹规划模块的机器人末端执行器运行曲线参数以及离线编程模块的机器人仿真运行脚本后,仿真与后置处理器模块等待以上各模块传输完各自的参数内容后,自动运行机器人仿真程序;先对运动轨迹规划模块接受的运行轨迹和离线编程模块接受的机器人末端执行器运行曲线指令串进行时间轴匹配和优化,并把优化结果发送给后置处理器程序;后置处理器程序根据匹配的机器人规格和RoboDK中机器人D-H参数库,把仿真程序直接转化为实际机器人可执行代码,通过USB有线传输的方式发送给机器人运动模块;6)机器人运动模块,通过USB有线传输方式,接受来自仿真与后置处理器模块输出的机器人可执行代码脚本,并把代码设置成执行队列的形式,控制机器人执行运行任务,同时把机器人运行参数,机器人各关节角运动参数,实际机器人发生碰撞时反馈回来的故障信息参数发送给用户交互模块。2.根据权利要求1所述的基于Python的桌面级机器人离线编程仿真系统,其特征在于:所述的运动轨迹规划模块,结合了正逆运动学求解和笛卡尔轨迹规划算法来优化运行轨迹,再将优化后的轨迹转化为机器人各关节角度值输出给离线编程模块和仿真与后置处理器模块使用,所述的正逆运动学求解和笛卡尔轨迹规划算法如下:2.1)选择机器人四个关节的D-H参数作为输入量,四个关节的D-H参数是关节1≤i≤6的连杆长度ai、连杆转角αi、连杆...

【专利技术属性】
技术研发人员:禹鑫燚朱峰欧林林卢靓朱熠琛陆文祥
申请(专利权)人:浙江工业大学
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1