本发明涉及一种基于离线编程的机器人加持工件打磨的轨迹规划方法。
背景技术:
:随着工业机器人技术的不断进步和工业机器人在焊接、切割、雕刻、打磨、去毛刺等行业的广泛应用,对机器人的加工效率和精度也不断提高。在上述几种加工工艺中,打磨的应用最为灵活、复杂。小工件的打磨工艺具有以下特点:工件的外形复杂,多为不规则的样条曲面、样条曲线,用数学解析法难以描述;工件体积比较小,如水龙头表面打磨、刀片刀刃打磨,一般是机器人加持工件在打磨带上进行打磨。这两个特点决定了机器人的打磨轨迹必须满足两个条件:机器人的轨迹点必须密集,才能打磨出和曲线曲面形状较为吻合的形状。打磨轨迹点法向量必须垂直于打磨带的法向,才能保证工件表面质量,不产生过切和干涉。因此,采用示教的方法处理打磨工况时,示教人员示教点间隔只能保持在2~3mm,且每一点的机器人姿态仅靠肉眼观察难以保证。另外,由于机器人的工具末端点一般标定在相对固定的位置,如夹具的末端,而不是在工件上,这样示教人员示教工件的姿态变化时就很繁琐,通常需要同时修改机器人的位置和姿态,才能保证工件的打磨点紧靠打磨带进行打磨。这些个限制条件大大降低了示教的效率,加大了示教难度。示教人员打磨一个水龙头通常要示教上千个点,仅示教时间就长达十几个小时。离线编程作为机器人应用过程中的一项关键技术,已经有力的推动了机器人作业的效率,降低了机器人示教人员的工作难度,但是在加持工件打磨的领域,还没有形成较为实用的打磨轨迹规划方案。中国专利发明《一种实现六轴抛光打磨机械臂离线编程的方法和装置》(公开号cn103692320a)公开了一种实现六轴抛光打磨机械臂离线编程的方法和装置,该方法是在离线编程软件中导入机器人模型、工件模型和打磨机打磨点的位置的方法,将工件的打磨轨迹离散成插补点后,生成打磨轨迹;示教打磨带上的打磨点,并使打磨轨迹点和打磨点重合的方法,规划机器人轨迹,但是只能对单个打磨轨迹点微调,不便于对打磨轨迹点整体调整。该方法输出的打磨程序中,记录的机器人各关节大角度,如果更换了机器人型号、机器人工具坐标系或者更改了打磨设备的摆放位置,输出的打磨程序就不能复用。中国专利发明《基于三维建模软件实现工业机器人离线编程的方法》(公开号cn103085072b)公开了一种基于三维建模软件的离线编程方法,该方法在三维建模软件导入机器人模型、工具坐标系、绘制空间曲线,根据空间曲线离散后生成的插补点轨迹机器人轨迹,但是只能用于机器人加持工具加工的情况,如果加工轨迹位于工件,同时机器人加持工件进行加工,那么该离线编程方法就无法解决这种加工情况。技术实现要素:本发明旨在解决机器人应用在加持工件打磨的领域面临的技术难题,提供了一种基于离线编程的加持工件打磨的轨迹规划方法,离线生成机器人程序,机器人程序只含有机器人运动末端位置信息,不含有和机器人本体相关的关节信息等,因而在机器人运动空间范围内,程序可移植性和复用性较好。本发明方法,包含以下步骤:1.在三维建模软件中导入机器人模型,将机器人基坐标系原点约束在装配体空间的零点;导入工件夹具模型和工件模型,并按照实际的装配关系,将夹具与机器人的六轴按照实际的装配情况建立约束,将夹具和工件按照实际的装夹情况建立约束(如图1所示);2.根据工件夹具的实际尺寸,建立机器人的工具参数,即机器人的工具末端点在世界坐标系下的位置和姿态;3.根据打磨带上的打磨工具点,建立机器人的用户坐标系位姿参数,即机器人的用户坐标系在世界坐标系下的位置和姿态;4.在工件的打磨面,绘制一条样条曲线,作为打磨轨迹;5.计算打磨轨迹上各个位置的最佳姿态,具体方法是将打磨曲线离散成指定数量的插补点,同时计算每个点的法向量和切向量打磨曲线的离散示意图见图2,离散得到插补点的法向量和切向量计算结果见图3;具体的计算步骤是:1)鼠标选择一条样条曲线和曲线所在曲面;2)输入曲线上插补点的个数;3)计算每个插补点的位置和法向量、切向量,具体的计算过程为:a)在离线编程软件中,任何复杂形状的曲线都可以用表示成三次b样条函数的形式c(u),c(u)的表达式为::其中,ni,k(u)是b样条基函数,pi是第i个控制顶点的坐标值,i=1,2,…,n,n是控制顶点的个数,u是一个单调不减的实数序列;b)在离线编程软件中,可以将任何复杂的曲面表示成双三次样条曲面函数的形式s(u,t),s(u,t)可以表示成两个b样条曲线的张量积:其中,nj,l(t),ni,k(u)是两个b样条基函数,pi,j是定义在u×t空间上的一个控 制顶点的坐标,m、n为常数,表示u、t的最大值;c)法向的计算:根据u值和c(u)表达式计算所求插补点的坐标值(xyz),将坐标值代入s(u,t)中反求(u,t),那么这点在双三次样条曲面上的法向量可以表示成这点在样条曲面上的两个主矢量的叉乘:d)切向的计算:对于曲线上的两个插补点pi,pi+1,定义pi处的切向量定义为pi、pi+1是曲线上两个插补点的坐标值;则和p⊥,p//决定的平面相垂直的向量popo=p//×p⊥;那么就构成了一个3×3的矩阵,将这个点的位置和这个矩阵转换到机器人的工具坐标系下,并用六参数法表示为pi=(xyzabc),成为打磨轨迹点,这里的点实际上是一个包含位置和姿态的坐标系;则所有打磨轨迹序列表示成(p1p2...pn)。6.打磨初始法向对正,即使第一个轨迹点和打磨工具点的法向平行,详细的处理步骤分为以下两步:1)首先使机器人运动到任意的一个关节位置,获取当前工具点位姿,并根据打磨轨迹点和工具坐标系的关系计算第一个打磨轨迹点的实际位姿;2)根据第一个打磨轨迹点的法向和打磨带上打磨工具点的法向,可以确定一个变换矩阵t,打磨轨迹点通过这个变换矩阵,可以实现其法向和打磨工具点的法向平行;pi'=t·pi7.打磨轨迹点的规划算法为机器人加持工件加工的轨迹规划的算法,算法步骤可以描述为:根据每一个打磨轨迹点的法向和打磨工具点的法向平行、打磨轨迹点的坐标和打磨工具点的坐标重合,得到每个打磨轨迹点对应的变换矩阵t,则每个打磨轨迹点经过矩阵计算,得到目标点的位姿,再换算成机器人工具坐标系的位姿,表示成: (ut1ut2...utn);8.根据机器人控制器型号,将序列(ut1ut2...utn)转换成控制器规定的指令格式,导出到执行机构执行。本发明方法生成的机器人程序,只需要人工微调位置即可使用,降低了示教难度。在本发明方法中,提出了机器人加持工件加工的算法,解决了机器人末端姿态点与实际运动末端不一致的情况下机器人的离线轨迹规划问题。生成的机器人程序中,只含有末端姿态点相对于外部参考坐标系下的位姿信息,不含有机器人的关节信息,因此当机器人用户坐标系变化时,在机器人工作空间允许、机器人和夹具、工件装配情况一致的前提下,该程序可以复用,而不会导致加工轨迹错误。附图说明图1是机器人本体、夹具、工件装配图。其中,1为机器人本体,2为工件夹具,3为打磨工件。图2是样条曲线离散示意图。图3是插补点的法向和切向计算示意图。图4是坐标系法向对正示意图。图5是机器人加持工件打磨的位姿规划算法流程图。具体实施方式下面结合附图和实施例,对本发明作进一步详细说明。实施例:本发明以六关节串联机器人加持水龙头打磨为例,说明本发明方法的实施步骤:1.将六关节串联机器人加持水龙头的装配体模型导入三维建模软件中,使机器人底座零点位于装配体坐标系原点,使机器人坐标系的x轴正方向指向装配体坐标系的x轴正方向,机器人坐标系的y轴正方向指向装配体坐标系的y轴正方向,则机器人坐标系的z轴正方向指向装配体坐标系的z轴正方向,这样机器人坐标系和装配体坐标系的原点和方向完全一致;2.在本例子中,直接使用机器人的默认工具坐标系,那么工具参数为(0.00.00.00.00.00.0);3.在本例子中,建立的用户坐标系的姿态值为(1812.03-515.121520.03-171.490180)4.在被打磨工件(水龙头)上绘制一条打磨曲线;5.在本例中,绘制的打磨曲线有6个插补点,插补点的坐标序列如表1,以其中一个 插补点为例,计算这个点的单位切向量和单位法向量,结果如表2;表1插补点坐标序列点序号xyzp01742.7075.751624.68p11726.1771.321625.76p21781.7467.451627.18p31800.8061.671628.73p41817.6751.241630.12p51828.1734.501630.90表2点p0的单位切向量和单位法向量点序号切向量法向量p0(0.97363-0.221630.05407)(-0.07078-0.093620.99309)6.先使机器人运动到一个初始关节位置,再进行法向对正计算,得到的结果如表3:表3初始关节位置和法向对正结果项机器人关节值/deg初始关节位置(10-2030507010)法向对正结果(1.5612-20.064641.740480.532979.7800-14.6539)7.进行打磨时,各个插补点对应的机器人位姿序列如表4所示:表4机器人位姿序列打磨点机器人位姿p0(993.04-240.221139.86-85.38102.4784.50)p1(992.28-216.301131.80-86.03100.7984.85)p2(990.18-210.431160.22-86.45106.5586.52)p3(989.82-240.591232.15-86.64121.5587.56)p4(996.92-348.591328.095-87.26147.7786.40)p5(986.63-330.411326.88-84.60147.4898.98)当前第1页12