本发明涉及工控技术领域,具体地,涉及一种六轴工业机器人铣削加工离线编程方法及系统。
背景技术:
相对于多轴数控机床,机器人具有成本低、柔性好和工作空间大等优势,为大型复杂零件的制造提供了新的思路。将工业机器人的应用范围从简单的重复性任务扩展到高精度的铣削加工领域,对制造行业具有重要意义。
缺乏标准的后处理软件是开展高精度机器人加工的一个主要障碍。在铣削应用中,机器人的运动路径通常从商业cam软件的五轴铣削模块生成的刀位文件转化而来。但是,一个标准的工业机器人有六个自由度,典型的铣削任务只需要五个自由度(其中的三个用于定位刀尖点的位置,两个用于确定刀轴的方向),使用六轴工业机器人开展五轴铣削任务将造成一个冗余的自由度,因而有必要对该冗余自由度进行优化以确定唯一的机器人路径。
对现有的技术进行检索发现,很多研究机构和学者从机器人的灵巧性、关节极限和传动比等因素出发,提出了一系列的铣削机器人位姿优化的指标和算法。这些指标和算法均聚焦于提升机器人的运动学或动力学性能,而忽略了由于机器人弱刚性造成的被加工工件质量差这一问题。
技术实现要素:
针对现有技术中的缺陷,本发明的目的是提供一种六轴工业机器人铣削加工离线编程方法及系统。
根据本发明提供的一种六轴工业机器人铣削加工离线编程方法,包括:
读取步骤:读取离散刀位文件;
建模步骤:根据离散刀位文件建立一维机器人位姿优化模型;
求解步骤:使用离散搜索算法求解建立的一维机器人位姿优化模型;
输出步骤:输出对应机器人系统的可执行文件。
较佳的,所述离散刀位文件包含刀尖点位置、刀轴方向以及加工工艺信息。
较佳的,所述一维机器人位姿优化模型的表达式如下:
s.t.θi=f-1(γi)
θmin≤θi≤θmax
θi-1-δωδt≤θi≤θi-1+δωδt
||j(θi)||||j-1(θi)||≤η
式中,下标i表示在第i个刀位点,id(γi)表示整体刚度性能指标值,γ表示冗余的欧拉角,θ=[θ1,…,θ6]t表示各机器人各关节转角,f-1(·)表示解析的机器人运动学逆解,θmin和θmax表示机器人各关节转角下界和上界,ω表示机器人各关节角速度的最大值,δ∈(0,1]和η∈[1,+∞)为用户指定的参数,不等式θmin≤θi≤θmax,θi-1-δωδt≤θi≤θi-1+δωδt和||j(θi)||||j-1(θi)||≤η分别描述了机器人关节极限约束、路径光顺约束和机器人灵巧性约束。
较佳的,所述离散搜索算法包括:
将γ在[-π,π]之间n等分,对于
较佳的,所述离散刀位文件由cam软件生成。
根据本发明提供的一种六轴工业机器人铣削加工离线编程系统,包括:
读取模块:读取离散刀位文件;
建模模块:根据离散刀位文件建立一维机器人位姿优化模型;
求解模块:使用离散搜索算法求解建立的一维机器人位姿优化模型;
输出模块:输出对应机器人系统的可执行文件。
较佳的,所述离散刀位文件包含刀尖点位置、刀轴方向以及加工工艺信息。
较佳的,所述一维机器人位姿优化模型的表达式如下:
s.t.θi=f-1(γi)
θmin≤θi≤θmax
θi-1-δωδt≤θi≤θi-1+δωδt
||j(θi)||||j-1(θi)||≤η
式中,下标i表示在第i个刀位点,id(γi)表示整体刚度性能指标值,γ表示冗余的欧拉角,θ=[θ1,…,θ6]t表示各机器人各关节转角,f-1(·)表示解析的机器人运动学逆解,θmin和θmax表示机器人各关节转角下界和上界,ω表示机器人各关节角速度的最大值,δ∈(0,1]和η∈[1,+∞)为用户指定的参数,不等式θmin≤θi≤θmax,θi-1-δωδt≤θi≤θi-1+δωδt和||j(θi)||||j-1(θi)||≤η分别描述了机器人关节极限约束、路径光顺约束和机器人灵巧性约束。
较佳的,所述离散搜索算法包括:
将γ在[-π,π]之间n等分,对于
较佳的,所述离散刀位文件由cam软件生成。
与现有技术相比,本发明具有如下的有益效果:
本发明成功优化出对应的机器人位姿,据此可转化为对应的机器人可执行文件,如motoman机器人的job文件。使用该机器人路径开展铣削加工,可使得工业机器人具有较高的整体刚度性能,从而提高加工精度。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明的流程图;
图2为一条五轴数控铣削加工路径示意图;
图3为工件坐标系与刀具坐标系的关系示意图;
图4为离散搜索算法流程图;
图5为优化后机器人关节角度变化示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
如图1所示,根据本发明提供的一种六轴工业机器人铣削加工离线编程方法,从商用cam软件生成的刀位文件中读取刀位信息。然后,针对第i个刀位点,以机器人整体刚度性能最优为目标,以机器人关节极限、路径光顺性和机器人灵巧性为约束,建立机器人位姿优化模型。最后,使用离散搜索算法求解该模型,获取机器人在第i个刀位点的最优位姿。重复这一过程,直到遍历所有的刀位点,最终输出对应机器人系统的可执行文件。以图2的ug软件cam模块生成的一条五轴数控铣削加工路径为例,具体包括:
读取步骤:读取离散刀位文件,离散刀位文件包含刀尖点位置、刀轴方向以及加工工艺信息。
离散刀位点可以表示为集合形式cls={cli|cli=(xi,yi,zi,ii,ji,ki)t,i=1,…,m},其中第i个刀位点cli=(xi,yi,zi,ii,ji,ki)t的前三个分量表示刀尖点在工件坐标系中的坐标,后三个分量表示刀具轴线方向在工件坐标系中的坐标。设在第i个刀位点,刀具坐标系与工件坐标系的位姿如图3所示,图中工件坐标系owxwywzw到刀具坐标系otxtytzt的变换矩阵wtt可表示为一个六维向量(xi,yi,zi,αi,βi,γi)t的函数,其中αi,βi和γi表示z-y-z型欧拉角,即
wtt=rot(z,αi)rot(y,βi)rot(z,γi)trans(xi,yi,zi);
式中,rot和trans分别表示旋转和平移变换。给定刀位点cli=(xi,yi,zi,ii,ji,ki)t,可确定(xi,yi,zi,αi,βi)的值,其中:
[iijiki]t=[-cosαisinβi-sinβisinαi-cosβi]t。
建模步骤:根据离散刀位文件建立一维机器人位姿优化模型。
据前述,γi取值任意,可结合机器人运动学逆解,建立如下只与欧拉角γi相关的机器人位姿优化的一维模型:
s.t.θi=f-1(γi)
θmin≤θi≤θmax
θi-1-δωδt≤θi≤θi-1+δωδt
||j(θi)||||j-1(θi)||≤η
式中,id(γi)表示整体刚度性能指标值,下标i表示在第i个刀位点,γ表示冗余的欧拉角,θ=[θ1,…,θ6]t表示各机器人各关节转角,f-1(·)表示解析的机器人运动学逆解,θmin和θmax表示机器人各关节转角下界和上界,ω表示机器人各关节角速度的最大值,δ∈(0,1]和η∈[1,+∞)为用户指定的参数,不等式θmin≤θi≤θmax,θi-1-δωδt≤θi≤θi-1+δωδt和||j(θi)||||j-1(θi)||≤η分别描述了机器人关节极限约束、路径光顺约束和机器人灵巧性约束。
机器人整体刚度性能指标,在铣削刀具上选取一系列特征点,根据特征点受力变形的平方和来估计机器人的整体刚度,它的几何含义是刀尖点在受到大小相同、方向不同的力时,特征点变形平方和最大值的倒数,它具有坐标不变性。整体刚度性能指标的定义如下:
id(γi)=1/λmax(ntct(γi)mc(γi)n)
式中,λmax(·)表示矩阵的最大特征值,
求解步骤:使用离散搜索算法求解建立的一维机器人位姿优化模型。
如图4所示,所述离散搜索算法,将γ在[-π,π]之间n等分,对于
输出步骤:输出对应机器人系统的可执行文件。可执行文件为对应机器人系统的编程语言,如motoman机器人的job文件。
实验结果:
如图5优化后机器人各关节角度变化所示,针对图2所示的刀位信息,本发明成功优化出对应的机器人位姿,据此可转化为对应的机器人可执行文件,如motoman机器人的job文件。使用该机器人路径开展铣削加工,可使得工业机器人具有较高的整体刚度性能,从而提高加工精度。
在上述一种六轴工业机器人铣削加工离线编程方法的基础上,本发明还提供的一种六轴工业机器人铣削加工离线编程系统,包括:
读取模块:读取离散刀位文件。离散刀位文件由cam软件生成,包含刀尖点位置、刀轴方向以及加工工艺信息。
建模模块:根据离散刀位文件建立一维机器人位姿优化模型。一维机器人位姿优化模型的表达式如下:
s.t.θi=f-1(γi)
θmin≤θi≤θmax
θi-1-δωδt≤θi≤θi-1+δωδt
||j(θi)||||j-1(θi)||≤η
式中,下标i表示在第i个刀位点,id表示整体刚度性能指标值,γ表示冗余的欧拉角,θ=[θ1,…,θ6]t表示各机器人各关节转角,f-1(·)表示解析的机器人运动学逆解,θmin和θmax表示机器人各关节转角下界和上界,ω表示机器人各关节角速度的最大值,δ∈(0,1]和η∈[1,+∞)为用户指定的参数,不等式θmin≤θi≤θmax,θi-1-δωδt≤θi≤θi-1+δωδt和||j(θi)||||j-1(θi)||≤η分别描述了机器人关节极限约束、路径光顺约束和机器人灵巧性约束。
求解模块:使用离散搜索算法求解建立的一维机器人位姿优化模型。离散搜索算法包括:
将γ在[-π,π]之间n等分,对于
输出模块:输出对应机器人系统的可执行文件。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。