CN102581849A - 一种基于nc代码的工业机器人轨迹规划方法 - Google Patents

一种基于nc代码的工业机器人轨迹规划方法 Download PDF

Info

Publication number
CN102581849A
CN102581849A CN2012100015031A CN201210001503A CN102581849A CN 102581849 A CN102581849 A CN 102581849A CN 2012100015031 A CN2012100015031 A CN 2012100015031A CN 201210001503 A CN201210001503 A CN 201210001503A CN 102581849 A CN102581849 A CN 102581849A
Authority
CN
China
Prior art keywords
point
robot
coordinate system
code
interpolation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012100015031A
Other languages
English (en)
Other versions
CN102581849B (zh
Inventor
王引
仇晓黎
刘明灯
惠国保
赵鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southeast University
Original Assignee
Southeast University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Southeast University filed Critical Southeast University
Priority to CN201210001503.1A priority Critical patent/CN102581849B/zh
Publication of CN102581849A publication Critical patent/CN102581849A/zh
Application granted granted Critical
Publication of CN102581849B publication Critical patent/CN102581849B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

一种基于NC代码的工业机器人轨迹规划方法,涉及一种机器人轨迹规划方法,尤其涉及一种以通用NC代码为工作语言的机器人轨迹规划方法。为克服传统机器人工作语言的复杂性和不通用性,本发明以通用NC代码为工作语言,来实现工业机器人的雕刻、喷漆等基本功能。采用“虚拟刀具”的概念,将每条NC代码信息快速转化成机器人逆解所需参数。利用三次五次复合插值法,对机器人的连续路径进行规划,获得精确的路径。

Description

一种基于NC代码的工业机器人轨迹规划方法
技术领域
本发明涉及一种机器人轨迹规划方法,尤其涉及一种以通用NC代码为工作语言的机器人轨迹规划方法。
背景技术
众所周知,数控技术经过几十年的发展,不管是在发达国家还是在发展中国家的制造业中都占有举足轻重的地位。NC代码作为数控机床的工作语言已经在全球范围内各大数控系统制造商中形成共识,NC代码的来源也变得异常广泛,除了现有主流CAM软件诸如MasterCAM、UG、Pro/e等外,国内外很多学者都开发专用系统在特殊环境下获得NC代码,《机床与液压》在2010年第16期的《基于VC++的NC代码自动生成程序开发》一文就阐述了如何从DXF文件中提取信息并将其转化成NC代码。
目前国内外主流工业机器人品牌有瑞士的ABB,德国的KUKA,日本的川崎、FANUC、安川,我国以蒋新松院士为首的沈阳自动化研究所研发的新松机器人等,各个品牌的机器人都有各自的工作语言,这些工作语言是不能通用的,并且掌握起来比较困难。如果能将NC代码作为机器人工作语言,那么将是对工业机器人产业化的巨大推动。国内外对工业机器人以NC代码作为工作语言也略有有研究。《机器人学》第26卷第6期《基于G代码的工业机器人的自动编程》一文中,上海交通大学刘为志先生主要着重介绍了圆弧的插补,并且顺利应用在典型的工业机器人Motoman UP6上。在TheInternational Journal of Advanced Manufacturing Technology 2005年第26卷中载有希腊人S.Mitsi的一篇文章Off-ling Programming of an Industrial Robot For Manufacturing,该篇文章介绍了作者开发的一套机器人离线编程系统,该系统就有轨迹规划、仿真和NC代码生成模块,并可将该系统生成的NC代码作为机器人工作语言输入到机器人控制系统来控制机器人完成任务。美中不足的是,该系统产生的NC代码专用性较强,并不是通用NC代码,所谓通用NC代码,是指制造业通常使用的NC代码,经过后处理可以直接由CAM生产的代码,由于专用性限制,该系统产生的NC代码不能在现行三轴或五轴机床上运行。基于以上的阐述,开发一套摒弃现有工业机器人编程模式,并以通用NC代码作为其工作语言的机器人系统也就非常有必要,而本发明专利涉及的正是基于NC代码工业机器人的轨迹规划。
发明内容
本发明要解决的问题是:现有机器人工作语言种类多,使用多较为复杂,为了充分利用NC语言的通用性和易获得性,本发明的目的是以现行广泛应用的NC代码为机器人工作语言的来实现工业机器人的抓取、焊接、喷漆、轻量切削等基本功能。
本发明的技术方案为:一种基于NC代码的工业机器人轨迹规划方法,工业机器人的末端工具为固接在机器人第六自由度的刚体,以通用NC代码为工业机器人的工作语言,将工业机器人的末端工具作为虚拟刀具,在编程坐标系下,设置五个点O、P、Q、S、T来描述虚拟刀具的基本特征,点O设置在编程坐标系的原点,点P设置在编程坐标系的Z轴上,其他三个点Q、S、T根据末端工具的具体特征来设置,其中,设置Q点要使得刀具安装后Q点与机器人手腕中心重合,且直线QS与直线ST互相垂直;将每条NC代码的数据通过虚拟刀具的五点由编程坐标系变换到机器人坐标系,进行轨迹规划,并根据所述变换到机器人坐标系后的五个点得到机器人手腕中心点的位置和手腕姿态,从而获得机器人的逆解参数,进行机器人逆运动学求解。
当虚拟刀具的五点变换到机器人坐标系后,利用三次五次插值法进行轨迹规划,所述三次五次插值法为:先取路径上的四个点O、P、Q、S进行三次插值获得中间两点P、Q的速度、加速度信息,再取P、Q、S、T四个点进行三次插值获得前两点P、Q的速度、加速度信息,将两次获取的P、Q点的速度、加速度取平均值,作为P、Q点最终的速度和加速度,加上P、Q两点的位移信息,共6个条件,插值一条五次曲线,以此保证控制点的位移以及控制点导数连续,即在平滑性的基础上获得精确的数据点。
工业机器人为五轴机床时,包括以下步骤:
S1)获得NC代码:先设置后处理器后生产代码,设转动轴为B、C轴,后处理器中设置第四轴、第五轴偏置均为0,其基本格式为:
N**G**X**Y**Z**B**C**F**S**
其中,N为行号,G为插补方式,X、Y、Z为编程坐标系中,工件表面上一点的坐标,B、C为B、C轴转角,F为进给速度,S为主轴转速;
S2)将虚拟刀具的5个点分别绕Y轴和Z轴旋转相应的角度θ,式(1)是绕Y轴旋转的旋转矩阵,式(2)是某点(x,y,z)绕Y轴旋转变换得到(x′,y′,z′):
Rot ( y , θ ) = cθ 0 sθ 0 1 0 - sθ 0 cθ - - - ( 1 )
x ′ y ′ z ′ = Rot ( y , θ ) x y z - - - ( 2 )
其中,sθ=sinθ,cθ=cosθ;
S3)(x′,y′,z′)加上刀尖点,即工件表面点的位置坐标(X,Y,Z),变换后得到在编程坐标系{Piece}下虚拟刀具的5个点坐标(xP,yP,zP),如式(3):
x P y P z P = x ′ y ′ z ′ + X Y Z - - - ( 3 ) ;
S4)经过机器人对工件进行标定,得到编程坐标系{Piece}和机器人坐标系{Base}之间的变换关系,求出{Base}坐标系下虚拟刀具的5个点坐标(xB,yB,zB),如式(4)所示:
x B y B z B = R P B x P y P z P + P P 0 B - - - ( 4 )
其中,是{Piece}坐标系相对于{Base}坐标系的旋转矩阵,
Figure BDA0000128818890000035
为{Piece}坐标系原点在{Base}坐标系中的描述;
S5)在{Base}坐标系下,利用三次五次插值法进行轨迹规划:
CAM后处理器处理出来的NC代码具有连续的数据点,取作业过程中连续4个数据通过三次插值法进行轨迹插值,以相邻点的弦长l为横坐标 l = ( x 2 - x 1 ) 2 + ( y 2 - y 1 ) 2 + ( z 2 - z 1 ) 2 , 分别以X(l)、Y(l)、Z(l)、B(l)、C(l)为纵坐标进行计算,
对于X(l),三次曲线分别设为:
x1(l)=a1*l3+b1*l2+c1*l+d1
(5)
x2(l)=a2*l3+b2*l2+c2*l+d2
将4个插值点数据代入:
X(l1)=a1*l1 3+b1*l1 2+c1*l1+d1
X(l2)=a1*l2 3+b1*l2 2+c1*l2+d1
(6)
X(l3)=a1*l3 3+b1*l3 2+c1*l3+d1
X(l4)=a1*l4 3+b1*l4 2+c1*l4+d1
4个方程4个未知数,则参数a1、b1、c1、d1可求,软件编程时写成矩阵形式,求出参数a1、b1、c1、d1,代入原方程,则可求出P、Q两点的一阶导数、二阶导数:
X′P1(l2)=3a1*l2 2+2b1*l2+c1
X′Q1(l3)=3a1*l3 2+2b1*l3+c1(7)
X″P1(l2)=6a1*l2+2b1
X″Q1(l3)=6a1*l3+2b1
同理可得,从x2(l)获得的P、Q两点的速度加速度为:
X′P2(l2)=3a2*l2 2+2b2*l2+c2
X′Q2(l3)=3a2*l3 2+2b2*l3+c2(8)
X″P2(l2)=6a2*l2+2b2
X″Q2(l3)=6a2*l3+2b2
取两次P、Q的速度加速度的平均值作为P、Q两点最终的速度和加速度,得:
X′(l2)=(X′P1(l2)+X′P2(l2))/2
X′(l3)=(X′Q1(l3)+X′Q2(l3))/2(9)
X″(l2)=(X″P1(l2)+X″P2(l2))/2
X″(l3)=(X″Q1(l3)+X″Q2(l3))/2
至此,有了P、Q点共6个条件,设五次方程:
Figure BDA0000128818890000041
将P、Q点6个条件代入:
Figure BDA0000128818890000043
X′(l2)=f′X(l2)
X″(l2)=f″X(l2)
X′(l3)=f′X(l3)(11)
X″(l3)=f″X(l3)
6个方程6个未知数,同理可求出α、β、γ、μ、
Figure BDA0000128818890000044
和ζ每个参数都是l2l3的表达式,软件编程时写成矩阵形式求解;
至此,求出六个系数后可用等步长法进行插值进算:
Figure BDA0000128818890000045
Y(l)、Z(l)、B(l)、C(l)为纵坐标的计算方法与X(l)计算方法相同,全部计算结束后,NC代码上的信息转化到虚拟刀具上五个点在{Base}坐标系下的坐标;
S6)根据{Base}坐标系下虚拟刀具的5个点坐标,求出机器人手腕中心Q点位姿:Q点就是手腕中心点的位置坐标;Q点和S点确定了接近矢量
Figure BDA0000128818890000046
S点和T点决定了方向矢量
Figure BDA0000128818890000051
法线矢量
Figure BDA0000128818890000052
从而三个矢量确定手腕中心点的姿态;
S7)根据S6)中的逆解参数,即S6)中的Q点坐标和三个矢量进行机器人逆运动学求解。
本发明首次提出并使用了“虚拟刀具”这个概念,将工业机器人的末端工具做为虚拟刀具,使得NC代码点方便快捷的转化为机器人逆解所需要的参数。机器人末端工具形式多样,比如喷漆用的喷枪、旋杯;焊接切割用的焊枪;切削用的电主轴;抓取用的气动抓手等。对于上述一般末端工具,都是固接在机器人第六自由度的刚体,这里只需五个点就能够描述其基本特征。根据五个点来得到机器人末端,即第四五六自由度的交点的位置和姿态数据,从而获得了逆解数据。
本发明具有的有益效果是:
1)NC代码在制造业中非常流行,并且即使是最底层的操作工都能编写NC代码,本发明基于通用NC代码设计,使得数控领域广泛使用的NC代码作为工业机器人的工作语言成为现实,克服了机器人工作语言较难掌握的复杂性,这样就不用再去学习那些诸如ABB等机器人的繁杂程序编写,能够快速推动工业机器人的进一步发展;
2)将末端工具看作虚拟道具,通过相互位置固定的五点来表征虚拟道具,在轨迹规划中不受实际末端工具的形状影响,只需考虑所设定的点即可;
3)本发明使用三次五次插值法,获得精确的插值数据,并且由仿真结果显示机器人运动平稳,无突变。
附图说明
图1是本发明NC代码的信息向机器人手腕转化的数据流程。
图2是本发明虚拟刀具在编程坐标系中的描述,这里将编程坐标系与工件坐标系重合。
图3是本发明虚拟刀具在编程坐标系中的一个实例,即虚拟的主轴。
图4是本发明机器人坐标系下轨迹规划流程图。
图5是本发明三次五次插值法原理图。
图6是本发明工业机器人仿真切削过程中的两个瞬间。
图7为本发明工业机器人、真实刀具以及虚拟刀具的设置示意图。
图8为本发明虚拟刀具的安装示意图。
具体实施方式
本发明根据工业机器人的末端工具为固接在机器人第六自由度的刚体这一点,以通用NC代码为工业机器人的工作语言,将工业机器人的末端工具做为虚拟刀具,在编程坐标系下用五个点来描述虚拟刀具的基本特征,设置五个点O、P、Q、S、T,点O设置在编程坐标系的原点,点P设置在编程坐标系的Z轴上,其他三个点Q、S、T根据末端工具的具体特征来设置,设置Q点要使得刀具安装后Q点与手腕中心C点重合,且直线QS与直线ST互相垂直,如图3;将每条NC代码的数据变换,使编程坐标系下虚拟刀具的五点变换到机器人坐标系,将五点描述的虚拟刀具在机器人坐标系下进行轨迹规划,然后根据所述五个点来得到机器人末端工具的位置和姿态数据,从而获得机器人的逆解参数,进行机器人逆运动学求解。
如图7,显示了工业机器人、真实刀具以及虚拟刀具,机器人手腕中心不是在机器人第六轴的断面,而是在第四五六轴的交点,如图示C点。逆解参数是C点的坐标和C点处的三个矢量,真实的刀具是安装在第六轴端面的,本发明设置的Q点不是设置在刀具的端面,而是当刀具安装上之后Q点恰好能与C点重合,如图8所示,这样所求出来的Q点的坐标和矢量也就是手腕中心C点的,也就是逆解参数了。因此,设置Q点时,要加上机器人第六轴的长度,使得Q点与机器人手腕中心C点重合,本发明所设定的虚拟刀具其实就是通过相互位置保持不变的五个点来表征的。
下面通过具体实施例来说明本发明的实施步骤。
S1)如图1,在p1阶段获得NC代码,此处以双摆头五轴NC代码来说明,在后处理构造器中设置第四轴,即B轴在XZ平面转动,设置第五轴,即C轴在XY平面转动,且第四轴、第五轴偏置均为0,其基本格式为:
N**G**X**Y**Z**B**C**F**S**
其中,N为行号,G为插补方式,X、Y、Z为编程坐标系中,工件表面上一点的坐标,B、C为B、C轴转角,F为进给速度,S为主轴转速;(X,Y,Z)为刀尖点坐标,转角B、C确定了刀具的矢量;
S2)将虚拟刀具的5个点分别绕Y轴和Z轴旋转相应的角度,式(1)是绕Y轴旋转的旋转矩阵,式(2)是某点(x,y,z)绕Y轴旋转变换得到(x′,y′,z′)。
Rot ( y , θ ) = cθ 0 sθ 0 1 0 - sθ 0 cθ - - - ( 1 )
x ′ y ′ z ′ = Rot ( y , θ ) x y z - - - ( 2 )
S3)如图1中的p2阶段,设置末端工具在编程坐标系中的初始坐标,然后经过步骤S1)、S2),获得虚拟刀具五个点在编程坐标系下的坐标。
(x′,y′,z′)加上刀尖点的位置坐标,变换后可以得带在编程坐标系{Piece}下虚拟刀具的5个点坐标(xP,yP,zP),如式(3)。
x P y P z P = x ′ y ′ z ′ + X Y Z - - - ( 3 )
S4)如图1中的p3阶段,经过步骤S3)获得虚拟刀具五个点在机器人坐标系下的坐标。经过机器人对工件进行标定,就可以知道编程坐标系{Piece}和机器人坐标系{Base}之间的变换。实际操作中,工作台坐标系是机器人坐标系和工件坐标系之间的一个中间坐标系,若工作台是固定的,根据标定算法,此处可以忽略工作台坐标系,直接标定出编程坐标系与机器人坐标系之间的关系。求出{Base}坐标系下虚拟刀具的5个点坐标(xB,yB,zB),如式(4)所示:
x B y B z B = R P B x P y P z P + P P 0 B - - - ( 4 )
其中,
Figure BDA0000128818890000074
是{Piece}坐标系相对于{Base}坐标系的旋转矩阵,
Figure BDA0000128818890000075
为{Piece}坐标系原点在{Base}坐标系中的描述。
S5)在{Base}坐标系下,利用三次五次插值法进行轨迹规划。
S6)根据{Base}坐标系下虚拟刀具的5个点坐标就可以求出机器人手腕中心Q点位姿:Q点就是手腕中心点的位置坐标;Q点和S点确定了接近矢量
Figure BDA0000128818890000076
S点和T点决定了方向矢量
Figure BDA0000128818890000077
Figure BDA0000128818890000078
从而三个矢量确定可手腕中心点的姿态。
如图1中的p4阶段,经过步骤S4),S5),S6)获得机器人末端姿态。在步骤S5)中,利用三次五次插值法,对NC代码的连续轨迹进行插值,流程见图4,如图7所示,就是先取路径上的四个点O、P、Q、S进行三次插值获得中间两点P、Q的速度、加速度信息,再取P、Q、S、T四个点进行三次插值获得前两点P、Q的速度、加速度信息,将两次P、Q点的速度、加速度取平均值作为P、Q点的速度和加速度,加上P、Q两点的位移信息,共6个条件,插值一条五次曲线,,如图5中的放大图中,中间线所示,这样,既保证了早控制点的位移又保证了控制点导数连续,即在平滑性的基础上获得更精确的数据点,如图5。
CAM后处理器处理出来的NC代码具有连续的数据点,取作业过程中连续4个数据进行轨迹插值,以相邻点的弦长l为横坐标
Figure BDA0000128818890000081
分别以X(l)、Y(l)、Z(l)、B(l)、C(l)为纵坐标进行计算。现以X(l)为例。
三次曲线可分别设为:
可设上述三次曲线分别为:
x1(l)=a1*l3+b1*l2+c1*l+d1
(5)
x2(l)=a2*l3+b2*l2+c2*l+d2
将4个插值点数据代入:
X(l1)=a1*l1 3+b1*l1 2+c1*l1+d1
X(l2)=a1*l2 3+b1*l2 2+c1*l2+d1
(6)
X(l3)=a1*l3 3+b1*l3 2+c1*l3+d1
X(l4)=a1*l4 3+b1*l4 2+c1*l4+d1
4个方程4个未知数,则参数a1、b1、c1、d1可求。软件编程时写成矩阵形式,此处不给出a、b、c、d关于l1l2l3l4的表达式。求出参数a1、b1、c1、d1,代入原方程,则可求出P、Q两点的一阶导数、二阶导数:
X′P1(l2)=3a1*l2 2+2b1*l2+c1
X′Q1(l3)=3a1*l3 2+2b1*l3+c1(7)
X″P1(l2)=6a1*l2+2b1
X″Q1(l3)=6a1*l3+2b1
同理可得,从x2(l)获得的P、Q两点的速度加速度为:
X′P2(l2)=3a2*l2 2+2b2*l2+c2
X′Q2(l3)=3a2*l3 2+2b2*l3+c2(8)
X″P2(l2)=6a2*l2+2b2
X″Q2(l3)=6a2*l3+2b2
取两次P、Q的速度加速度的平均值作为P、Q两点最终的速度和加速度,得:
X′(l2)=(X′P1(l2)+X′P2(l2))/2
X′(l3)=(X′Q1(l3)+X′Q2(l3))/2(9)
X″(l2)=(X″P1(l2)+X″P2(l2))/2
X″(l3)=(X″Q1(l3)+X″Q2(l3))/2
至此,有了P、Q点共6个条件,设五次方程:
将P、Q点6个条件代入:
Figure BDA0000128818890000092
X′(l2)=f′X(l2)
X″(l2)=f″X(l2)
X′(l3)=f′X(l3)(11)
X″(l3)=f″X(l3)
6个方程6个未知数,同理可求出α、β、γ、μ、
Figure BDA0000128818890000094
和ζ每个参数都是l2l3的表达式,这里仍然不给出具体表达式,软件编程时写成矩阵形式求解。
至此,求出六个系数后可用等步长法进行插值进算:
Figure BDA0000128818890000095
Y(l)、Z(l)、B(l)、C(l)为纵坐标的计算方法与X(l)计算方法相同,全部计算结束后,NC代码上的信息转化到虚拟刀具上五个点在{Base}坐标系下的坐标,这五个点之间的相对位置是不变的,虚拟刀具实际就是通过相互位置保持不变的这五个点来描述。
S7)根据设置,Q点与机器人手腕中心C点重合,所求出来的Q点的坐标和矢量也就是手腕中心C点的,也就是逆解参数了,如图1的p5阶段,根据步骤S6)中的逆解参数,即S6)中的Q点坐标和三个矢量进行机器人逆运动学求解,进而获得了六关节转角。
本发明中,通过轨迹规划获得路径上更为密集的点的坐标,由每一个点逆解获得机器人六个关节的转角,实现机器人的控制。
图6是仿真系统导入NC代码后,模拟切削过程中两个瞬间。根据本发明的方法,轨迹规划后仿真的控制结果显示过程平稳,这里用两幅瞬间截图以示之,验证了引入虚拟刀具的正确性,同时也验证规划算法的真确性。

Claims (3)

1.一种基于NC代码的工业机器人轨迹规划方法,工业机器人的末端工具为固接在机器人第六自由度的刚体,其特征是以通用NC代码为工业机器人的工作语言,将工业机器人的末端工具作为虚拟刀具,在编程坐标系下,设置五个点O、P、Q、S、T来描述虚拟刀具的基本特征,点O设置在编程坐标系的原点,点P设置在编程坐标系的Z轴上,其他三个点Q、S、T根据末端工具的具体特征来设置,其中,设置Q点要使得刀具安装后Q点与机器人手腕中心重合,且直线QS与直线ST互相垂直;将每条NC代码的数据通过虚拟刀具的五点由编程坐标系变换到机器人坐标系,进行轨迹规划,并根据所述变换到机器人坐标系后的五个点得到机器人手腕中心点的位置和手腕姿态,从而获得机器人的逆解参数,进行机器人逆运动学求解。
2.根据权利要求1所述的一种基于NC代码的工业机器人轨迹规划方法,其特征是当虚拟刀具的五点变换到机器人坐标系后,利用三次五次插值法进行轨迹规划,所述三次五次插值法为:先取路径上的四个点O、P、Q、S进行三次插值获得中间两点P、Q的速度、加速度信息,再取P、Q、S、T四个点进行三次插值获得前两点P、Q的速度、加速度信息,将两次获取的P、Q点的速度、加速度取平均值,作为P、Q点最终的速度和加速度,加上P、Q两点的位移信息,共6个条件,插值一条五次曲线,以此保证控制点的位移以及控制点导数连续,即在平滑性的基础上获得精确的数据点。
3.根据权利要求1或2所述的一种基于NC代码的工业机器人轨迹规划方法,其特征是工业机器人为五轴机床时,包括以下步骤:
S1)获得NC代码:先设置后处理器后生产代码,设转动轴为B、C轴,后处理器中设置第四轴、第五轴偏置均为0,其基本格式为:
N**G**X**Y**Z**B**C**F**S**
其中,N为行号,G为插补方式,X、Y、Z为编程坐标系中,工件表面上一点的坐标,B、C为B、C轴转角,F为进给速度,S为主轴转速;
S2)将虚拟刀具的5个点分别绕Y轴和Z轴旋转相应的角度θ,式(1)是绕Y轴旋转的旋转矩阵,式(2)是某点(x,y,z)绕Y轴旋转变换得到(x′,y′,z′):
Rot ( y , θ ) = cθ 0 sθ 0 1 0 - sθ 0 cθ - - - ( 1 )
x ′ y ′ z ′ = Rot ( y , θ ) x y z - - - ( 2 )
其中,sθ=sinθ,cθ=cosθ;
S3)(x′,y′,z′)加上刀尖点,即工件表面点的位置坐标(X,Y,Z),变换后得到在编程坐标系{Piece}下虚拟刀具的5个点坐标(xP,yP,xP),如式(3):
x P y P z P = x ′ y ′ z ′ + X Y Z - - - ( 3 ) ;
S4)经过机器人对工件进行标定,得到编程坐标系{Piece}和机器人坐标系{Base}之间的变换关系,求出{Base}坐标系下虚拟刀具的5个点坐标(xB,yB,zB),如式(4)所示:
x B y B z B = R P B x P y P z P + P P 0 B - - - ( 4 )
其中,
Figure FDA0000128818880000023
是{Piece}坐标系相对于{Base}坐标系的旋转矩阵,
Figure FDA0000128818880000024
为{Piece}坐标系原点在{Base}坐标系中的描述;
S5)在{Base}坐标系下,利用三次五次插值法进行轨迹规划:
CAM后处理器处理出来的NC代码具有连续的数据点,取作业过程中连续4个数据通过三次插值法进行轨迹插值,以相邻点的弦长l为横坐标 l = ( x 2 - x 1 ) 2 + ( y 2 - y 1 ) 2 + ( z 2 - z 1 ) 2 , 分别以X(l)、Y(l)、Z(l)、B(l)、C(l)为纵坐标进行计算,
对于X(l),三次曲线分别设为:
x1(l)=a1*l3+b1*l2+c1*l+d1
(5)
x2(l)=a2*l3+b2*l2+c2*l+d2
将4个插值点数据代入:
X(l1)=a1*l1 3+b1*l1 2+c1*l1+d1
X(l2)=a1*l2 3+b1*l2 2+c1*l2+d1(6)
X(l3)=a1*l3 3+b1*l3 2+c1*l3+d1
X(l4)=a1*l4 3+b1*l4 2+c1*l4+d1
4个方程4个未知数,则参数a1、b1、c1、d1可求,软件编程时写成矩阵形式,求出参数a1、b1、c1、d1,代入原方程,则可求出P、Q两点的一阶导数、二阶导数:
X′P1(l2)=3a1*l2 2+2b1*l2+c1
X′Q1(l3)=3a1*l3 2+2b1*l3+c1(7)
X″P1(l2)=6a1*l2+2b1
X″Q1(l3)=6a1*l3+2b1
同理可得,从x2(l)获得的P、Q两点的速度加速度为:
X′P2(l2)=3a2*l2 2+2b2*l2+c2
X′X2(l3)=3a2*l3 2+2b2*l3+C2(8)
X″P2(l2)=6a2*l2+2b2
X″Q2(l3)=6a2*l3+2b2
取两次P、Q的速度加速度的平均值作为P、Q两点最终的速度和加速度,得:
X′(l2)=(X′P1(l2)+X′P2(l2))/2
X′(l3)=(X′Q1(l3)+X′Q2(l3))/2(9)
X″(l2)=(X″P1(l2)+X″P2(l2))/2
X″(l3)=(X″Q1(l3)+X″Q2(l3))/2
至此,有了P、Q点共6个条件,设五次方程:
Figure FDA0000128818880000031
将P、Q点6个条件代入:
Figure FDA0000128818880000032
Figure FDA0000128818880000033
X′(l2)=f′X(l2)
X″(l2)=f″X(l2)(11)
X′(l3)=f′X(l3)
X″(l3)=f″X(l3)
6个方程6个未知数,同理可求出α、β、γ、μ、和ζ每个参数都是l2l3的表达式,软件编程时写成矩阵形式求解;
至此,求出六个系数后可用等步长法进行插值进算:
Figure FDA0000128818880000035
Y(l)、Z(l)、B(l)、C(l)为纵坐标的计算方法与X(l)计算方法相同,全部计算结束后,NC代码上的信息转化到虚拟刀具上五个点在{Base}坐标系下的坐标;
S6)根据{Base}坐标系下虚拟刀具的5个点坐标,求出机器人手腕中心Q点位姿:Q点坐标就是手腕中心点的位置坐标;Q点和S点确定了接近矢量
Figure FDA0000128818880000036
S点和T点决定了方向矢量
Figure FDA0000128818880000037
法线矢量
Figure FDA0000128818880000038
从而三个矢量确定手腕中心点的姿态;
S7)根据S6)中的逆解参数,即S6)中的Q点坐标和三个矢量进行机器人逆运动学求解。
CN201210001503.1A 2012-01-05 2012-01-05 一种基于nc代码的工业机器人轨迹规划方法 Expired - Fee Related CN102581849B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210001503.1A CN102581849B (zh) 2012-01-05 2012-01-05 一种基于nc代码的工业机器人轨迹规划方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210001503.1A CN102581849B (zh) 2012-01-05 2012-01-05 一种基于nc代码的工业机器人轨迹规划方法

Publications (2)

Publication Number Publication Date
CN102581849A true CN102581849A (zh) 2012-07-18
CN102581849B CN102581849B (zh) 2014-08-06

Family

ID=46471367

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210001503.1A Expired - Fee Related CN102581849B (zh) 2012-01-05 2012-01-05 一种基于nc代码的工业机器人轨迹规划方法

Country Status (1)

Country Link
CN (1) CN102581849B (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103927425A (zh) * 2014-05-06 2014-07-16 上海索广电子有限公司 通过dxf文件自动识别作业点的方法
CN104827479A (zh) * 2015-05-15 2015-08-12 重庆邮电大学 一种面向激光加工机器人的管道插接相贯线轨迹规划方法
CN106200557A (zh) * 2016-10-10 2016-12-07 成都航空职业技术学院 多轴机械系统精确运动路径规划方法
CN106293867A (zh) * 2016-08-17 2017-01-04 庆铃汽车(集团)有限公司 一种基于ug nx系统的后处理程序自动分割方法及系统
CN106272429A (zh) * 2016-09-14 2017-01-04 上海大学 一种龙门式吊装机器人工作单元中附加轴运动规划方法
CN106926233A (zh) * 2015-12-29 2017-07-07 楚天科技股份有限公司 一种平面机械手运动路径的规划方法
CN106926243A (zh) * 2017-04-19 2017-07-07 广州视源电子科技股份有限公司 机器人示教运动控制方法和系统
CN110625615A (zh) * 2019-09-25 2019-12-31 华中科技大学 一种机器人离线编程信息处理系统及方法
CN110744553A (zh) * 2019-12-06 2020-02-04 大连誉洋工业智能有限公司 一种3d视觉机器人自动规划路径方法
CN110888397A (zh) * 2019-12-16 2020-03-17 华南理工大学广州学院 基于LabVIEW的智能三轴多功能雕刻机的插补方法
CN111007803A (zh) * 2019-12-20 2020-04-14 武汉理工大学 机械加工过程数控代码标准化集成模型及方法
CN111176214A (zh) * 2020-01-21 2020-05-19 武汉工程大学 一种刀具轨迹生成方法、装置和铣削机器人
CN111975786A (zh) * 2020-09-15 2020-11-24 珠海格力智能装备有限公司 机器人的开发方法及装置、计算机可读存储介质及处理器
CN112162559A (zh) * 2020-09-30 2021-01-01 杭州海康机器人技术有限公司 用于多机器人混行的方法、装置及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4888708A (en) * 1982-06-28 1989-12-19 Asea Aktiebolag Control system for an industrial robot
JPH081557A (ja) * 1994-06-16 1996-01-09 Mitsubishi Electric Corp 産業用ロボットの制御装置
EP1209545A1 (fr) * 2000-11-23 2002-05-29 IRIS Robotique Sàrl Procédé de commande d'un robot industriel
US6430472B1 (en) * 1999-12-20 2002-08-06 Servo-Robot Inc. Robot feature tracking devices and methods
CN101673104A (zh) * 2009-10-10 2010-03-17 浙江工业大学 基于g代码转换方法的工业机器人加工控制方法
EP2255931A2 (de) * 2009-05-29 2010-12-01 KUKA Roboter GmbH Verfahren und Vorrichtung zur Steuerung eines Manipulators
CN201856249U (zh) * 2010-01-15 2011-06-08 广东工业大学 工业机器人运动规划与性能测试系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4888708A (en) * 1982-06-28 1989-12-19 Asea Aktiebolag Control system for an industrial robot
JPH081557A (ja) * 1994-06-16 1996-01-09 Mitsubishi Electric Corp 産業用ロボットの制御装置
US6430472B1 (en) * 1999-12-20 2002-08-06 Servo-Robot Inc. Robot feature tracking devices and methods
EP1209545A1 (fr) * 2000-11-23 2002-05-29 IRIS Robotique Sàrl Procédé de commande d'un robot industriel
EP2255931A2 (de) * 2009-05-29 2010-12-01 KUKA Roboter GmbH Verfahren und Vorrichtung zur Steuerung eines Manipulators
CN101673104A (zh) * 2009-10-10 2010-03-17 浙江工业大学 基于g代码转换方法的工业机器人加工控制方法
CN201856249U (zh) * 2010-01-15 2011-06-08 广东工业大学 工业机器人运动规划与性能测试系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘为志等: "基于G代码的工业机器人的自动编程", 《机器人》, vol. 24, no. 6, 30 December 2002 (2002-12-30) *
康胜武等: "基于VC++的NC代码自动生成程序开发", 《机床与液压》, vol. 38, no. 16, 31 August 2010 (2010-08-31) *

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103927425A (zh) * 2014-05-06 2014-07-16 上海索广电子有限公司 通过dxf文件自动识别作业点的方法
CN103927425B (zh) * 2014-05-06 2017-04-19 上海索广电子有限公司 通过dxf文件自动识别作业点的方法
CN104827479A (zh) * 2015-05-15 2015-08-12 重庆邮电大学 一种面向激光加工机器人的管道插接相贯线轨迹规划方法
CN106926233A (zh) * 2015-12-29 2017-07-07 楚天科技股份有限公司 一种平面机械手运动路径的规划方法
CN106926233B (zh) * 2015-12-29 2019-04-16 楚天科技股份有限公司 一种平面机械手运动路径的规划方法
CN106293867A (zh) * 2016-08-17 2017-01-04 庆铃汽车(集团)有限公司 一种基于ug nx系统的后处理程序自动分割方法及系统
CN106272429A (zh) * 2016-09-14 2017-01-04 上海大学 一种龙门式吊装机器人工作单元中附加轴运动规划方法
CN106272429B (zh) * 2016-09-14 2018-12-07 上海大学 一种龙门式吊装机器人工作单元中附加轴运动规划方法
CN106200557A (zh) * 2016-10-10 2016-12-07 成都航空职业技术学院 多轴机械系统精确运动路径规划方法
CN106926243A (zh) * 2017-04-19 2017-07-07 广州视源电子科技股份有限公司 机器人示教运动控制方法和系统
CN110625615A (zh) * 2019-09-25 2019-12-31 华中科技大学 一种机器人离线编程信息处理系统及方法
CN110625615B (zh) * 2019-09-25 2021-06-29 华中科技大学 一种机器人离线编程信息处理系统及方法
CN110744553A (zh) * 2019-12-06 2020-02-04 大连誉洋工业智能有限公司 一种3d视觉机器人自动规划路径方法
CN110888397A (zh) * 2019-12-16 2020-03-17 华南理工大学广州学院 基于LabVIEW的智能三轴多功能雕刻机的插补方法
CN111007803A (zh) * 2019-12-20 2020-04-14 武汉理工大学 机械加工过程数控代码标准化集成模型及方法
CN111007803B (zh) * 2019-12-20 2024-01-19 武汉理工大学 机械加工过程数控代码标准化集成模型及方法
CN111176214A (zh) * 2020-01-21 2020-05-19 武汉工程大学 一种刀具轨迹生成方法、装置和铣削机器人
CN111975786A (zh) * 2020-09-15 2020-11-24 珠海格力智能装备有限公司 机器人的开发方法及装置、计算机可读存储介质及处理器
CN112162559A (zh) * 2020-09-30 2021-01-01 杭州海康机器人技术有限公司 用于多机器人混行的方法、装置及存储介质
CN112162559B (zh) * 2020-09-30 2021-10-15 杭州海康机器人技术有限公司 用于多机器人混行的方法、装置及存储介质

Also Published As

Publication number Publication date
CN102581849B (zh) 2014-08-06

Similar Documents

Publication Publication Date Title
CN102581849B (zh) 一种基于nc代码的工业机器人轨迹规划方法
CN101362511B (zh) 基于四个定位器的飞机部件位姿调整协同控制方法
CN102662350B (zh) 主从式多机器人协作系统的轨迹示教与规划方法
CN104965517A (zh) 一种机器人笛卡尔空间轨迹的规划方法
CN103048947B (zh) 五坐标联动机床数控程序后置处理方法
Zhu et al. Formulating the swept envelope of rotary cutter undergoing general spatial motion for multi-axis NC machining
Yang et al. A generalized online estimation algorithm of multi-axis contouring errors for CNC machine tools with rotary axes
Harib et al. A hexapod-based machine tool with hybrid structure: kinematic analysis and trajectory planning
CN102091967A (zh) 一种多轴数控加工的进给速度平滑方法
CN105643619B (zh) 一种采用框架描述的工业机器人工具位姿控制方法
CN107471882B (zh) 一种大体积工件雕刻的机器人加工控制系统
CN110900604B (zh) 基于双机械臂协作打磨系统的动力学模型设计方法
Yang et al. A tool path generation and contour error estimation method for four-axis serial machines
CN101362513A (zh) 基于三个定位器的飞机部件位姿调整协同控制方法
Hou et al. Kinematics analysis and self-collision detection of Truss type multi-robot cooperative welding platform
Wang et al. Design and implementation of five-axis transformation function in CNC system
Shi et al. A novel contouring error estimation for position-loop cross-coupled control of biaxial servo systems
Zeng et al. Robotic trajectory planning based on CL data
Fuping et al. Research on inverse kinematics of robot based on motion controller
Shi et al. Contouring error vector and cross-coupled control of multi-axis servo system
Xu et al. Research on motion trajector planning of industrial robot based on ROS
Xue et al. A new welding robot for intersected weld of pipes used in large pressure vessels
Sun et al. A novel tool path smoothing algorithm of 6R manipulator considering pose-dependent dynamics by designing asymmetrical FIR filters
CN114273681B (zh) 基于串联机械臂的环面蜗杆螺旋面加工系统及其方法
Lin et al. Command-based iterative learning control with TCP function for five-axis contouring

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20120718

Assignee: JIANGSU YAWEI MACHINE TOOL Co.,Ltd.

Assignor: SOUTHEAST University

Contract record no.: X2020980004156

Denomination of invention: Method for planning trajectories of industrial robot based on NC (numerical control) codes

Granted publication date: 20140806

License type: Exclusive License

Record date: 20200717

EE01 Entry into force of recordation of patent licensing contract
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140806

Termination date: 20220105

CF01 Termination of patent right due to non-payment of annual fee