一种机器人离线编程的构建方法与流程

文档序号:12789822阅读:962来源:国知局

本发明涉及一种基于三维设计软件环境下的工业机器人离线编程的构建方法。



背景技术:

目前,机器人编程主要有在线示教编程和离线编程两种方式,在线示教编程为绝大多数工业机器人所采用。在线示教编程要求机器人执行新的作业任务时需停机示教,造成现场生产线停工的同时还可能使编程人员身处危险的现场坏境中。离线编程方式可以实现在远离工作现场的情况下完成机器人编程作业,实现运动仿真等一系列功能,大幅提高编程工作效率。国内外研究人员在离线编程方面做了大量研究。其中kuka,abb,fanuc等知名专业机器人生产厂家都有自己的一套成熟的仿真软件,可离线编程。还有的公司机器人项目组也在离线编程方面取得一定进展,可对机器人生产过程仿真,有的可读出任务曲线作业点并生成程序。还有的机器人离线编程系统,实现了工业机器人对二维图形的离线编程仿真功能。但目前绝大多数的离线编程模式都不能将可视化三维仿真环境与精确地编程方式相结合。



技术实现要素:

本发明人认为随着三维绘图软件功能日趋强大,完全可以胜任创建工业机器人及其工作环境模型的任务,在三维软件环境下完成机器人的离线编程仿真将是实现可视化离线编程简捷有效的途径。

本发明提供涉及一种基于三维设计软件的机器人离线编程建立方法。其具体特征:在三维软件环境下对工业机器人及其工作环境进行三维实体建模,利用三维软件提供的vc++二次开发向导swizard.swx,完成机器人离线编程系统的开发。

本发明技术方案是:离线编程系统的工作模式及组成:1.三维建模。在solidworks环境下建立机器人及其工作环境三维仿真模型;2.任务点选取。根据实际任务轨迹要求选取机器人任务点;3.调用离线编程系统。由莱单栏调用此系统,通过位姿计算模块及逆运动学计算模块完成任务点的位姿计算及各轴输入角度的计算;4.生成作业程序及离线仿真。

本发明涉及一种基于三维设计软件环境下的机器人离线编程建立方法。主要是应用solldworksapi二次开发函数及vc++编程语言,开发了solldwork8环境下运行的工业机器人离线编程系统,实现了fanucm-9001a/2000型工业机器人位姿坐标计算、机器人逆运算及作业程序自动生成等功能。经过与robosulde仿真结果对比证明,该离线编程系统稳定可靠。

具体实施方式

本发明技术架构主要按以下步骤实施:

1.对机器人及其工作环境建模:funac机器人在国内工业自动化领域有着广泛的应用,本文以自动化生产线中物料搬运常用的fanucm-900ia/2000型机器人为对象,建立机器人及其工作环境联线控制模型,以此为基础进行离线编程系统的设计研发方法。

(1)机器人三维模型的绘制及装配:通过对机器人结构及技术参数的研究,绘制机器人零部件模型,按照既定装配关系组成装配体。三维建模时,为保证离线编程系统的运行效率,在保留机器人所有关键特征及尺寸的前提下,尽量简化模型结构。将j1轴j2轴复杂的曲面以简单的平面模型代替。将五轴回转机构简化成“c”字形结构等。完成机器人各零件的装配后,对各相对运动关节正确定义运动角属性,即确定“配合”中各转动副的转动范围。保证各关节在允许的范围内可自由运动;

(2)机器人与工作坏境关系的建立:离线编程结果精度的高低,很大程度上取决于机器人及其工作环境的正确建模及精确的工作位置关系。本发明技术方案,系统架构,首先确认机器人与工作环境的位置关系,即机器人底座中心(基座坐标系原点o0)与工作中心(板料中心)的距离关系。其次规划机器人的工作任务,确定机器人在两工位间经过的关键位置,即准确确定机器人的任务点,建立机器人工作环境及工作状态。机器人将板料从一侧工作台移动到另一侧,与初始位置相比第六轴关节坐标系o6相对于基座坐标系o0绕x0轴旋转180度,其余轴相对于基座坐标系o0均为平行移动。

2.建构solidworks环境下的离线编程模块:solidworks具有超强建模功能和方便的二次开发接口,通过ole/com技术提供强大的二次开发接口api,这些接口包含数百个函数,为二次开发提供强有力的支持。可以用vb,visualc++和其他支持ole的开发语言接口调用其api函数情1。本发明利用visualc++通过对对象属性的设置和方法的调用对solidworks进行二次开发,将开发的模块以dll插件文件的形式实现与solidworks无缝衔接;

(3)离线编程系统对话框的建立及功能:在vc++中新建工作空间,选择工程向导solidworksadd-inappwizard,新建离线仿真工程。离线编程系统以插件的形式在菜单栏中被调用,点击“开始计算”子菜单,即可显示所设计的离线编程系统对话框。本离线编程对话框可完成位姿计算、逆运动学计算以及对作业生成模块、离线仿真模块的调用;

(4)机器人任务点位姿计算模块:位姿计算模块实现的关键在于对solidworks二次开发函数getselectionpoint及函数ienumeagesoriented的调用。以获得点的位置坐标为例,通过调用函数getselectionpoint,得到当前所选目标点在模型空间坐标系中的三维坐标值。值得注意的是在定义对话框的时侯一定要声明为非模式对话框,通过调用“cdialog::create”函数来启动对话框。以保证不关闭主程序的情况下,对目标点的连续选取。在定义pselectmgr指针及retvalt31双精度数组的基础上,通过调用selectpoint函数获得任务,并将任务点的坐标以数组的形式输出。利用string.format(_t(”%.4f"),retval[i])i函数将上述得到的字符串数组以单个元素的形式输出,同时利updatedata(false)数将上述结果同步输出到对话框。即可完成目标点位置的读取;

(5)机器人逆运动学模块:首先对机器人进行正运动学分析,建立fanucm-900i-a/2000型机器人的dh坐标系州。根据机器人结构参数,求出机器人各坐标系间的齐次变换矩阵,得到机器人正运动学方程。确定目标点位姿坐标后,得到12个常系数非线性方程。对于正交旋转矩阵p及向量u,v,利用变换矩阵中旋转子矩阵的正交特型及矢量运算特性,有pu·n=u·v,及pu·v=u·p-1v,通过矢量运算,得到含有不同未知变量的4个常系数非线性方程,最终得到机器人逆运算的封闭解。按此方法生成机器人逆运算模块;

(6)运动仿真模:solidworks提供的运动仿真模块完全可胜任机器人的运动仿真任务。以机器人逆运算模块得到的各关节转角角度做为输入值,点击“开始仿真”按钮,直接进入solidworks自带的cosmosmotion运动仿真模块,根据所建机器人运行环境实际情况设置约束、速度、力等参数,实现运动仿真;

(7)作业生成模块:利用vc++对话框edit控件功能,在点击“生成作业”按钮后弹出子对话框显示作业文件。利用cedit.setsel(start,end)函数设置要插入文本的位置,用cedit.replace(string)函数向该位置插入字符串string,将作业点位置和姿态坐标以数组的形式(以备现场机器人位姿的手动快速定位)赋予任务点p[i]。“位姿计算”模块每计算一个作业点点击“生成作业”按钮手动完成i++。生成的作业代码如下:

jp[2]100%fine!p[2]=-46.58,212.46,99.55,90,0,0

其中“!”为fanuc程序注释符。此作业文件符合fanuc机器人程序格式。

3.实验验证:roboguide是由fanuc研发的机器人仿真软件,功能强大,可靠性强。在roboguide中建立与本研究环境相同的工作空间,并将本离线编程系统生成的作业程序导入roboguide中,运行程序,得出仿真结果。这个仿真结果与solidworks环境下运行的离线仿真结果对比,均在误差范围之内。

本发明利用solidworksapi--次开发函数及vc++编程语言,在solidworks环境下实现了工业机器人离线编程仿真系统的设计构建方法。系统实现了工业机器人位姿坐标的精确计算,机器人逆运算及作业程序自动生成三大功能的系统集成,并对计算结果进行了运动仿真,通过与fanuc的roboguide仿真软件仿真结果比较证明:本发明的离线编程系统正确率,可靠性均可以达到到实际生产要求。有较好的生产利用价值。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1