CN106041932A - 一种ur机器人的运动控制方法 - Google Patents

一种ur机器人的运动控制方法 Download PDF

Info

Publication number
CN106041932A
CN106041932A CN201610518479.7A CN201610518479A CN106041932A CN 106041932 A CN106041932 A CN 106041932A CN 201610518479 A CN201610518479 A CN 201610518479A CN 106041932 A CN106041932 A CN 106041932A
Authority
CN
China
Prior art keywords
robot
vector
theta
represent
following formula
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
CN201610518479.7A
Other languages
English (en)
Other versions
CN106041932B (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.)
Guangdong University of Technology
Original Assignee
Guangdong University of Technology
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 Guangdong University of Technology filed Critical Guangdong University of Technology
Priority to CN201610518479.7A priority Critical patent/CN106041932B/zh
Publication of CN106041932A publication Critical patent/CN106041932A/zh
Application granted granted Critical
Publication of CN106041932B publication Critical patent/CN106041932B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

本发明公开了一种UR机器人的运动控制方法,包括:建立UR机器人连杆坐标系,获得UR机器人七根杆件和六个轴之间的空间位置关系;获取UR机器人对应的G指令文件后,读取UR机器人目标运动位置;根据该目标运动位置以及UR机器人几何关系,获取UR机器人的DH参数表后,依次计算UR机器人六个轴的关节角度;分别将计算出的六个关节角度转化成每个轴对应的运动脉冲数后,发送到UR机器人的驱动器;驱动器根据接收的每个轴对应的运动脉冲数,依次驱动对应的电机带动相应的轴进行运动。本发明基于几何关系,对UR机器人进行运动逆解,从而实现对UR机器人的运动控制,运算速度快,计算效率高且控制效率高,可广泛应用于UR机器人的控制行业中。

Description

一种UR机器人的运动控制方法
技术领域
本发明涉及机器人的控制领域,特别是涉及一种UR机器人的运动控制方法。
背景技术
名词解释:
UR机器人:Universal Robot,由丹麦UR公司研发出来的机器人。
随着科技的发展,工业机器人在各种生产场所得到了较为广泛的应用,在制造、安装、检测或物流等领域中应用广泛。采用工业机器人替代人工作业,不仅可以提高劳动生产率,还可以达到更高的操作精度,从而提高产品的生产质量,总体上也降低了生产成本。
工业机器人的运动学是工业机器人控制与轨迹规划的基础,其内容包括正运动学和逆运动学。当给定机器人所有关节转过的角度时,可以通过机器人的正动学方程来确定其末端操作器的位解;当已知机器人末端所需要到达的空间位置时,则可根据运动学逆解获得机器人末端能够到达该位置下的各关节角的大小。
UR机器人(UR机器人)是一款轻量级的柔性工业机器人,一向以编程的简易性、以及与人类一起工作的协作性和安全可靠性享誉业内,随着UR3的推出,UR机器人将其独特的技术扩展到了更多的应用领域,同时可立即受益于机器人装配和生产自动化的企业的数量和类型也大大增加。目前对UR机器人的运动控制过程中,进行运动轨迹规划主要是靠示教编程来实现,由人工引导机器人末端执行器,对UR机器人进行编程,使机器人完成预期的动作。这种方式,UR机器人运动轨迹的准确性和合理性往往取决于人的技术经验,从而导致机器人运动轨迹的可靠性得不到保证。为了保证UR机器人运动轨迹的准确性,操作人员往往需要花费大量的体力和时间来不停检验运动轨迹的可靠性和准测性,因此这种方式过于依赖操作人员的技术经验,难以准确、有效率地对UR机器人进行运动轨迹规划。
发明内容
为了解决上述的技术问题,本发明的目的是提供一种UR机器人的运动控制方法。
本发明解决其技术问题所采用的技术方案是:
一种UR机器人的运动控制方法,包括步骤:
S1、建立UR机器人连杆坐标系,获得UR机器人七根杆件和六个轴之间的空间位置关系;
S2、获取UR机器人对应的G指令文件后,读取UR机器人目标运动位置;
S3、根据该目标运动位置以及UR机器人几何关系,获取UR机器人的DH参数表后,依次计算UR机器人六个轴的关节角度;
S4、分别将计算出的六个关节角度转化成每个轴对应的运动脉冲数后,发送到UR机器人的驱动器;
S5、驱动器根据接收的每个轴对应的运动脉冲数,依次驱动对应的电机带动相应的轴进行运动。
进一步,所述步骤S1,其具体为:
建立UR机器人的连杆坐标系,获得UR机器人的七根杆件和六个轴之间的空间位置关系,七根杆件的长度分别为L1、L2、L3、L4、L5、L6和L7,六个轴的关节角度分别为θ1、θ2、θ3、θ4、θ5和θ6,并将经过其关节五的Z轴且垂直于其第二关节的Z轴的平面作为UR机器人的计算参考平面。
进一步,所述步骤S2中所述UR机器人的目标运动位置包括UR机器人的姿态和UR机器人的位置矢量。
进一步,所述步骤S3,包括:
S31、获取目标运动位置的坐标(Px,Py,Pz),同时获取UR机器人的DH参数表后计算获得UR机器人的腕关节点的坐标(Phx,Phy,Phz);
S32、计算关节点二与关节点六之间的连线在世界坐标系XOY平面上的投影的长度;
S33、判断该投影的长度是否等于基准投影的长度,若是,则执行步骤S34,反之,执行步骤S35;
S34、获得θ2=θ3=θ4=90°,根据UR机器人的空间位置关系依次计算获得关节角度θ1和θ5,进而获取目标运动位置的姿态[n o a]后计算关节角度θ6并结束;
S35、计算该投影与基准投影之间的夹角,并获取目标运动位置的姿态[n o a]后,结合该夹角以及UR机器人的空间位置关系依次计算获得关节角度θ1、θ5、θ2、θ3、θ4和θ6
其中,所述基准投影指关节点二与关节点六之间的连线在关节点二的X轴与关节点三的X轴之间的公法线上的投影,n、o和a分别表示目标运动位置的法向矢量、方位矢量和接近矢量,且n=o×a,Phx、Phy和Phz分别表示腕关节点的X轴、Y轴和Z轴坐标值。
进一步,所述步骤S31中所述UR机器人的腕关节点的坐标是通过下式计算获得的:
Ph=transMatrix×P0
上式中,Ph表示UR机器人的腕关节点的坐标(Phx,Phy,Phz),P0表示UR机器人末端的目标运动位置的坐标(Px,Py,Pz),transMatrix为UR机器人的转换矩阵,满足下式:
t r a n s M a t r i x = 1 0 0 0 0 1 0 0 0 0 1 D 0 0 0 1 ;
D表示DH参数表中的参数。
进一步,所述步骤S32,其具体为:
根据下式,计算关节点二与关节点六之间的连线在世界坐标系XOY平面上的投影的长度:
L = P h x 2 + P h y 2
上式中,L表示关节点二与关节点六之间的连线在世界坐标系XOY平面上的投影的长度。
进一步,所述步骤S34,具体包括:
S341、获得θ2=θ3=θ4=90°,并根据下式计算UR机器人的关节角度θ1
θ 1 = a t a n 2 ( P h y , P h x ) + π 2
S342、根据下式,计算UR机器人的关节角度θ5
θ5=Angle<Vector,Z6>
上式中,Vector表示第一过程向量且Vector=(Phx,Phy,0),Z6表示UR机器人的第六轴的杆件坐标系的Z轴方向向量,且Z6=-a,且θ5的方向是根据以下条件确定的:根据下式计算获得第一临时角度tempAngle,当tempAngle=0时,θ5为负,当tempAngle=π时,θ5为正:
t e m p A n g l e = A n g l e < V e c t o r 1 , V e c t o r 2 > V e c t o r 1 = V e c t o r &times; Z 6 V e c t o r 2 = ( 0 , 0 , 1 )
其中,Vector1表示第二过程向量,Vector2表示世界坐标系的Z轴方向向量;
S343、获取UR机器人的目标运动位置的姿态[n o a]后,根据下式计算UR机器人的关节角度θ6
&theta; 6 = A n g l e < X 6 , n > m a t r i x = T 1 &times; r o t ( &theta; 1 ) &times; T 2 &times; r o t ( &theta; 2 ) &times; T 3 &times; r o t ( &theta; 3 ) &times; T 4 &times; r o t ( &theta; 4 ) &times; T 5 &times; r o t ( &theta; 5 ) &times; T 6 X 6 = m a t r i x &times; V e c t o r ( 1 , 0 , 0 )
上式中,matrix表示一变换矩阵,T1、T2、T3、T4、T5、T6依次表示UR机器人的第一、第二、第三、第四、第五、第六关节的DH矩阵,X6表示UR机器人的第六轴的杆件坐标系的X轴方向向量,且θ6的方向是根据以下条件确定的:根据下式计算获得VectorX,当VectorX=n时,θ6为正,否则,θ6为负:
VectorX=matrix×rot(θ6)×Vector(1,0,0)
上式中,VectorX表示第三过程向量。
进一步,所述步骤S35,包括:
S350、根据下式计算该投影与基准投影之间的夹角:
θ=arccos(LR/L)
上式中,θ表示该投影与基准投影之间的夹角,LR表示基准投影的长度,L表示关节点二与关节点六之间的连线在计算参考平面上的投影的长度;
S351、获取目标运动位置的姿态[n o a]后,根据下式计算UR机器人的关节角度θ1
&theta; 1 = a t a n 2 ( V 2 y , V 2 x ) + &pi; 2
其中,V2x、V2y是Vec2的X坐标和Y坐标,Vec2表示第四过程向量,是通过下式计算获得的:
Vec2=Vec1'*LR
其中,Vec1'表示Vec1的单位化向量,Vec1表示第五过程向量,且:
Vec1=rot(θ)×Vector(Phx,Phy,0)
S352、获取目标运动位置的姿态[n o a]后,根据下式计算UR机器人的关节角度θ5
θ5=Angle<Vector(Phx,Phy,0),Z6>
上式中,Z6表示UR机器人的第六轴的杆件坐标系的Z轴方向向量,且Z6=-a;
S353、计算UR机器人的关节五的Z轴方向向量:
上式中,Z5表示UR机器人的关节五的Z轴方向向量,vector_2表示vector_1的单位化向量,vector_4表示vector_3的单位化向量,vector_1表示第六过程向量,vector_3表示第七过程向量,且vector_1和vector_3满足下式:
v e c t o r _ 1 = &lsqb; r o t ( &theta; 1 ) &times; t r a n s ( 0 , - L R , 0 ) &rsqb; &times; &lsqb; V e c t o r < c 1 , g 1 > &rsqb; v e c t o r _ 3 = V e c t o r ( P h x , P h y , 0 ) &times; Z 6
上式中,c1表示杆件二末端在计算参考平面上的投影点,g1表示关节点五在计算参考平面上的投影点;trans(0,-LR,0)表示一平移矩阵;
S354、根据下式计算UR机器人的关节五在计算参考平面上的坐标:
P g 1 = &lsqb; t r a n s ( 0 , L R , 0 ) &times; r o t ( - &theta; 1 ) &rsqb; &times; P g P g = P h - Z 5
Pg1表示UR机器人的关节五在计算参考平面上的坐标,Pg表示UR机器人的关节五在世界坐标系的坐标,trans(0,LR,0)表示一平移矩阵,Ph表示UR机器人的腕关节点的坐标(Phx,Phy,Phz);
S355、根据下式计算UR机器人的关节角度θ2
&theta; 2 = A n g l e < v e c t o r _ 5 , Vc 1 g 1 > - &pi; 2 , i f L g 1 c 1 = L 2 + L 3 A n g l e < v e c t o r _ 5 , Vc 1 g 1 > - arccos ( L g 1 c 1 2 + L 2 2 - L 3 2 2 &times; L g 1 c 1 &times; L 2 ) , i f L g 1 c 1 &NotEqual; L 2 + L 3
上式中,vector_5表示第八过程向量且vector_5=(1,0,0),Vc1g1表示投影点c1到投影点g1的向量,表示投影点c1到投影点g1的距离;
S356、根据下式计算UR机器人的关节角度θ3
&theta; 3 = 0 , i f L g 1 c 1 = L 2 + L 3 - A n g l e < V e c t o r ( c 1 , d 1 ) , V e c t o r ( d 1 , g 1 ) > , i f L g 1 c 1 &NotEqual; L 2 + L 3 a n d a n g l e _ s = 0 A n g l e < V e c t o r ( c 1 , d 1 ) , V e c t o r ( d 1 , g 1 ) > , i f L g 1 c 1 &NotEqual; L 2 + L 3 a n d a n g l e _ s = &pi;
其中,d1表示第三轴关节点在计算参考平面上的投影点,angle_s表示第二临时角度,且满足下式:
angle_s=Angle<[Vector(c1,d1)×Vector(d1,g1)],Vector(0,1,0)>
S357、判断是否等于L2+L3,根据下式计算UR机器人的关节角度θ4,反之,执行步骤S358计算UR机器人的关节角度θ4
上式中,θa表示第三临时角度,θb表示第四临时角度,且θa和θb是通过下式计算的:
&theta; a = A n g l e < v e c t o r _ a , V e c t o r ( c 1 , g 1 ) > &theta; b = A n g l e < V e c t o r ( 0 , 1 , 0 ) , &lsqb; v e c t o r _ a &times; V e c t o r ( c 1 , g 1 ) &rsqb; > v e c t o r _ a = &lsqb; t r a n s ( 0 , L R , 0 ) &times; r o t ( - &theta; 1 ) &rsqb; &times; Z 5
上式中,vector_a表示第九过程向量;
S358、根据下式计算UR机器人的关节角度θ4
上式中,θc表示第五临时角度,θd表示第六临时角度,且θc和θd是通过下式计算的:
&theta; c = A n g l e < v e c t o r _ a , V e c t o r ( c 1 , g 1 ) > &theta; b = A n g l e < V e c t o r ( 0 , 1 , 0 ) , &lsqb; v e c t o r _ a &times; V e c t o r ( d 1 , g 1 ) &rsqb; > v e c t o r _ a = &lsqb; t r a n s ( 0 , L R , 0 ) &times; r o t ( - &theta; 1 ) &rsqb; &times; Z 5
S359、根据下式,计算UR机器人的关节角度θ6
&theta; 6 = A n g l e < &lsqb; m a t r i x &times; V e c t o r ( 1 , 0 , 0 ) , n > m a t r i x = T 1 &times; r o t ( &theta; 1 ) &times; T 2 &times; r o t ( &theta; 2 ) &times; T 3 &times; r o t ( &theta; 3 ) &times; T 4 &times; r o t ( &theta; 4 ) &times; T 5 &times; r o t ( &theta; 5 ) &times; T 6
上式中,matrix表示一变换矩阵,T1、T2、T3、T4、T5、T6依次表示UR机器人的第一、第二、第三、第四、第五、第六关节的DH矩阵;且θ6的方向是根据以下条件确定的:
根据下式计算获得UR机器人的第六轴的杆件坐标系的X轴方向向量X6,当X6=n时,θ6为正,否则,θ6为负:
X6=matrix×rot(θ6)×Vector(1,0,0)。
本发明的有益效果是:本发明的一种UR机器人的运动控制方法,包括步骤:S1、建立UR机器人连杆坐标系,获得UR机器人七根杆件和六个轴之间的空间位置关系;S2、获取UR机器人对应的G指令文件后,读取UR机器人目标运动位置;S3、根据该目标运动位置以及UR机器人几何关系,获取UR机器人的DH参数表后,依次计算UR机器人六个轴的关节角度;S4、分别将计算出的六个关节角度转化成每个轴对应的运动脉冲数后,发送到UR机器人的驱动器;S5、驱动器根据接收的每个轴对应的运动脉冲数,依次驱动对应的电机带动相应的轴进行运动。本方法基于几何关系,对UR机器人进行运动逆解,从而实现对UR机器人的运动控制,运算速度快,计算效率高且控制效率高。
附图说明
下面结合附图和实施例对本发明作进一步说明。
图1是本发明的一种UR机器人的运动控制方法的流程图;
图2是本发明的一种UR机器人的运动控制方法建立的UR机器人的杠件之间的关系示意图;
图3是图2中的UR机器人在计算参考平面的投影示意图。
具体实施方式
参照图1,本发明提供了一种UR机器人的运动控制方法,包括步骤:
S1、建立UR机器人连杆坐标系,获得UR机器人七根杆件和六个轴之间的空间位置关系;
S2、获取UR机器人对应的G指令文件后,读取UR机器人目标运动位置;
S3、根据该目标运动位置以及UR机器人几何关系,获取UR机器人的DH参数表后,依次计算UR机器人六个轴的关节角度;
S4、分别将计算出的六个关节角度转化成每个轴对应的运动脉冲数后,发送到UR机器人的驱动器;
S5、驱动器根据接收的每个轴对应的运动脉冲数,依次驱动对应的电机带动相应的轴进行运动。
进一步作为优选的实施方式,所述步骤S1,其具体为:
建立UR机器人的连杆坐标系,获得UR机器人的七根杆件和六个轴之间的空间位置关系,七根杆件的长度分别为L1、L2、L3、L4、L5、L6和L7,六个轴的关节角度分别为θ1、θ2、θ3、θ4、θ5和θ6,并将经过其关节五的Z轴且垂直于其第二关节的Z轴的平面作为UR机器人的计算参考平面。UR机器人的杠件之间的关系示意图如图2所示,图2中,平面XOY表示世界坐标系下的计算参考平面XOY,计算参考平面表示经过其关节五的Z轴且垂直于其第二关节的Z轴的平面,UR机器人在计算参考平面的投影如图3所示,其中,c1表示杆件二末端即图2中的c在计算参考平面上的投影点,d1表示关节点三即图2中的d在计算参考平面上的投影点,g1表示关节点五即图2中的g在计算参考平面上的投影点,h1表示关节点六即图2中的h在计算参考平面上的投影点,a1表示关节点一即图2中的a在计算参考平面上的投影点。
进一步作为优选的实施方式,所述步骤S2中所述UR机器人的目标运动位置包括UR机器人的姿态和UR机器人的位置矢量。
进一步作为优选的实施方式,所述步骤S3,包括:
S31、获取目标运动位置的坐标(Px,Py,Pz),同时获取UR机器人的DH参数表后计算获得UR机器人的腕关节点的坐标(Phx,Phy,Phz);
S32、计算关节点二与关节点六之间的连线在世界坐标系XOY平面上的投影的长度;
S33、判断该投影的长度是否等于基准投影的长度,若是,则执行步骤S34,反之,执行步骤S35;
S34、获得θ2=θ3=θ4=90°,根据UR机器人的空间位置关系依次计算获得关节角度θ1和θ5,进而获取目标运动位置的姿态[n o a]后计算关节角度θ6并结束;
S35、计算该投影与基准投影之间的夹角,并获取目标运动位置的姿态[n o a]后,结合该夹角以及UR机器人的空间位置关系依次计算获得关节角度θ1、θ5、θ2、θ3、θ4和θ6
其中,所述基准投影指关节点二与关节点六之间的连线在关节点二的X轴与关节点三的X轴之间的公法线上的投影,n、o和a分别表示目标运动位置的法向矢量、方位矢量和接近矢量,且n=o×a,Phx、Phy和Phz分别表示腕关节点的X轴、Y轴和Z轴坐标值。
进一步作为优选的实施方式,所述步骤S31中所述UR机器人的腕关节点的坐标是通过下式计算获得的:
Ph=transMatrix×P0
上式中,Ph表示UR机器人的腕关节点的坐标(Phx,Phy,Phz),P0表示UR机器人末端的目标运动位置的坐标(Px,Py,Pz),transMatrix为UR机器人的转换矩阵,满足下式:
t r a n s M a t r i x = 1 0 0 0 0 1 0 0 0 0 1 D 0 0 0 1 ;
D表示DH参数表中的参数。
进一步作为优选的实施方式,所述步骤S32,其具体为:
根据下式,计算关节点二与关节点六之间的连线在世界坐标系XOY平面上的投影的长度:
L = P h x 2 + P h y 2
上式中,L表示关节点二与关节点六之间的连线在世界坐标系XOY平面上的投影的长度。
进一步作为优选的实施方式,所述步骤S34,具体包括:
S341、获得θ2=θ3=θ4=90°,并根据下式计算UR机器人的关节角度θ1
&theta; 1 = a t a n 2 ( P h y , P h x ) + &pi; 2
S342、根据下式,计算UR机器人的关节角度θ5
θ5=Angle<Vector,Z6>
上式中,Vector表示第一过程向量且Vector=(Phx,Phy,0),Z6表示UR机器人的第六轴的杆件坐标系的Z轴方向向量,且Z6=-a,且θ5的方向是根据以下条件确定的:根据下式计算获得第一临时角度tempAngle,当tempAngle=0时,θ5为负,当tempAngle=π时,θ5为正:
t e m p A n g l e = A n g l e < V e c t o r 1 , V e c t o r 2 > V e c t o r 1 = V e c t o r &times; Z 6 V e c t o r 2 = ( 0 , 0 , 1 )
其中,Vector1表示第二过程向量,Vector2表示世界坐标系的Z轴方向向量;
S343、获取UR机器人的目标运动位置的姿态[n o a]后,根据下式计算UR机器人的关节角度θ6
&theta; 6 = A n g l e < X 6 , n > m a t r i x = T 1 &times; r o t ( &theta; 1 ) &times; T 2 &times; r o t ( &theta; 2 ) &times; T 3 &times; r o t ( &theta; 3 ) &times; T 4 &times; r o t ( &theta; 4 ) &times; T 5 &times; r o t ( &theta; 5 ) &times; T 6 X 6 = m a t r i x &times; V e c t o r ( 1 , 0 , 0 )
上式中,matrix表示一变换矩阵,T1、T2、T3、T4、T5、T6依次表示UR机器人的第一、第二、第三、第四、第五、第六关节的DH矩阵,X6表示UR机器人的第六轴的杆件坐标系的X轴方向向量,且θ6的方向是根据以下条件确定的:根据下式计算获得VectorX,当VectorX=n时,θ6为正,否则,θ6为负:
VectorX=matrix×rot(θ6)×Vector(1,0,0)
上式中,VectorX表示第三过程向量。
进一步作为优选的实施方式,所述步骤S35,包括:
S350、根据下式计算该投影与基准投影之间的夹角:
θ=arccos(LR/L)
上式中,θ表示该投影与基准投影之间的夹角,LR表示基准投影的长度,L表示关节点二与关节点六之间的连线在计算参考平面上的投影的长度;
S351、获取目标运动位置的姿态[n o a]后,根据下式计算UR机器人的关节角度θ1
&theta; 1 = a t a n 2 ( V 2 y , V 2 x ) + &pi; 2
其中,V2x、V2y是Vec2的X坐标和Y坐标,Vec2表示第四过程向量,是通过下式计算获得的:
Vec2=Vec1'*LR
其中,Vec1'表示Vec1的单位化向量,Vec1表示第五过程向量,且:
Vec1=rot(θ)×Vector(Phx,Phy,0)
S352、获取目标运动位置的姿态[n o a]后,根据下式计算UR机器人的关节角度θ5
θ5=Angle<Vector(Phx,Phy,0),Z6>
上式中,Z6表示UR机器人的第六轴的杆件坐标系的Z轴方向向量,且Z6=-a;
S353、计算UR机器人的关节五的Z轴方向向量:
上式中,Z5表示UR机器人的关节五的Z轴方向向量,vector_2表示vector_1的单位化向量,vector_4表示vector_3的单位化向量,vector_1表示第六过程向量,vector_3表示第七过程向量,且vector_1和vector_3满足下式:
v e c t o r _ 1 = &lsqb; r o t ( &theta; 1 ) &times; t r a n s ( 0 , - L R , 0 ) &rsqb; &times; &lsqb; V e c t o r < c 1 , g 1 > &rsqb; v e c t o r _ 3 = V e c t o r ( P h x , P h y , 0 ) &times; Z 6
上式中,c1表示杆件二末端在计算参考平面上的投影点,g1表示关节点五在计算参考平面上的投影点;trans(0,-LR,0)表示一平移矩阵;
S354、根据下式计算UR机器人的关节五在计算参考平面上的坐标:
P g 1 = &lsqb; t r a n s ( 0 , L R , 0 ) &times; r o t ( - &theta; 1 ) &rsqb; &times; P g P g = P h - Z 5
Pg1表示UR机器人的关节五在计算参考平面上的坐标,Pg表示UR机器人的关节五在世界坐标系的坐标,trans(0,LR,0)表示一平移矩阵,Ph表示UR机器人的腕关节点的坐标(Phx,Phy,Phz);
S355、根据下式计算UR机器人的关节角度θ2
&theta; 2 = A n g l e < v e c t o r _ 5 , Vc 1 g 1 > - &pi; 2 , i f L g 1 c 1 = L 2 + L 3 A n g l e < v e c t o r _ 5 , Vc 1 g 1 > - arccos ( L g 1 c 1 2 + L 2 2 - L 3 2 2 &times; L g 1 c 1 &times; L 2 ) , i f L g 1 c 1 &NotEqual; L 2 + L 3
上式中,vector_5表示第八过程向量且vector_5=(1,0,0),Vc1g1表示投影点c1到投影点g1的向量,表示投影点c1到投影点g1的距离;
S356、根据下式计算UR机器人的关节角度θ3
&theta; 3 = 0 , i f L g 1 c 1 = L 2 + L 3 - A n g l e < V e c t o r ( c 1 , d 1 ) , V e c t o r ( d 1 , g 1 ) > , i f L g 1 c 1 &NotEqual; L 2 + L 3 a n d a n g l e _ s = 0 A n g l e < V e c t o r ( c 1 , d 1 ) , V e c t o r ( d 1 , g 1 ) > , i f L g 1 c 1 &NotEqual; L 2 + L 3 a n d a n g l e _ s = &pi;
其中,d1表示第三轴关节点在计算参考平面上的投影点,angle_s表示第二临时角度,且满足下式:
angle_s=Angle<[Vector(c1,d1)×Vector(d1,g1)],Vector(0,1,0)>
S357、判断是否等于L2+L3,根据下式计算UR机器人的关节角度θ4,反之,执行步骤S358计算UR机器人的关节角度θ4
上式中,θa表示第三临时角度,θb表示第四临时角度,且θa和θb是通过下式计算的:
&theta; a = A n g l e < v e c t o r _ a , V e c t o r ( c 1 , g 1 ) > &theta; b = A n g l e < V e c t o r ( 0 , 1 , 0 ) , &lsqb; v e c t o r _ a &times; V e c t o r ( c 1 , g 1 ) &rsqb; > v e c t o r _ a = &lsqb; t r a n s ( 0 , L R , 0 ) &times; r o t ( - &theta; 1 ) &rsqb; &times; Z 5
上式中,vector_a表示第九过程向量;
S358、根据下式计算UR机器人的关节角度θ4
上式中,θc表示第五临时角度,θd表示第六临时角度,且θc和θd是通过下式计算的:
&theta; c = A n g l e < v e c t o r _ a , V e c t o r ( c 1 , g 1 ) > &theta; b = A n g l e < V e c t o r ( 0 , 1 , 0 ) , &lsqb; v e c t o r _ a &times; V e c t o r ( d 1 , g 1 ) &rsqb; > v e c t o r _ a = &lsqb; t r a n s ( 0 , L R , 0 ) &times; r o t ( - &theta; 1 ) &rsqb; &times; Z 5
S359、根据下式,计算UR机器人的关节角度θ6
&theta; 6 = A n g l e < &lsqb; m a t r i x &times; V e c t o r ( 1 , 0 , 0 ) , n > m a t r i x = T 1 &times; r o t ( &theta; 1 ) &times; T 2 &times; r o t ( &theta; 2 ) &times; T 3 &times; r o t ( &theta; 3 ) &times; T 4 &times; r o t ( &theta; 4 ) &times; T 5 &times; r o t ( &theta; 5 ) &times; T 6
上式中,matrix表示一变换矩阵,T1、T2、T3、T4、T5、T6依次表示UR机器人的第一、第二、第三、第四、第五、第六关节的DH矩阵;且θ6的方向是根据以下条件确定的:
根据下式计算获得UR机器人的第六轴的杆件坐标系的X轴方向向量X6,当X6=n时,θ6为正,否则,θ6为负:
X6=matrix×rot(θ6)×Vector(1,0,0)。
本发明一详细实施例
一种UR机器人的运动控制方法,包括步骤:
S1、建立UR机器人连杆坐标系,获得UR机器人七根杆件和六个轴之间的空间位置关系,具体为:
建立UR机器人的连杆坐标系,获得UR机器人的七根杆件和六个轴之间的空间位置关系,七根杆件的长度分别为L1、L2、L3、L4、L5、L6和L7,六个轴的关节角度分别为θ1、θ2、θ3、θ4、θ5和θ6,并将经过其关节五的Z轴且垂直于其第二关节的Z轴的平面作为UR机器人的计算参考平面。UR机器人的杠件之间的关系示意图如图2所示,图2中,平面XOY表示世界坐标系下的计算参考平面XOY,计算参考平面表示经过其关节五的Z轴且垂直于其第二关节的Z轴的平面,UR机器人在计算参考平面的投影如图3所示,其中,c1表示杆件二末端即图2中的c在计算参考平面上的投影点,d1表示关节点三即图2中的d在计算参考平面上的投影点,g1表示关节点五即图2中的g在计算参考平面上的投影点,h1表示关节点六即图2中的h在计算参考平面上的投影点,a1表示关节点一即图2中的a在计算参考平面上的投影点。根据计算参考平面的定义可知,g1与g重合,h1与h重合。
S2、获取UR机器人对应的G指令文件后,读取UR机器人目标运动位置,UR机器人的目标运动位置包括UR机器人的姿态和UR机器人的位置矢量。
S3、根据该目标运动位置以及UR机器人几何关系,获取UR机器人的DH参数表后,依次计算UR机器人六个轴的关节角度;
具体的,步骤S3包括S31~S35:
S31、获取目标运动位置的坐标(Px,Py,Pz),同时获取UR机器人的DH参数表后计算获得UR机器人的腕关节点的坐标(Phx,Phy,Phz);UR机器人的腕关节点指关节点六,即图2中的h点;
UR机器人的腕关节点的坐标是通过下式计算获得的:
Ph=transMatrix×P0
上式中,Ph表示UR机器人的腕关节点的坐标(Phx,Phy,Phz),P0表示UR机器人末端的目标运动位置的坐标(Px,Py,Pz),transMatrix为UR机器人的转换矩阵,满足下式:
t r a n s M a t r i x = 1 0 0 0 0 1 0 0 0 0 1 D 0 0 0 1 ;
D表示DH参数表中的参数。
S32、根据下式,计算关节点二与关节点六之间的连线在世界坐标系XOY平面上的投影的长度:
L = P h x 2 + P h y 2
上式中,L表示关节点二与关节点六之间的连线在世界坐标系XOY平面上的投影的长度。
S33、判断该投影的长度是否等于基准投影的长度,若是,则执行步骤S34,反之,执行步骤S35;
S34、获得θ2=θ3=θ4=90°,根据UR机器人的空间位置关系依次计算获得关节角度θ1和θ5,进而获取目标运动位置的姿态[n o a]后计算关节角度θ6并结束;
S35、计算该投影与基准投影之间的夹角,并获取目标运动位置的姿态[n o a]后,结合该夹角以及UR机器人的空间位置关系依次计算获得关节角度θ1、θ5、θ2、θ3、θ4和θ6
其中,所述基准投影指关节点二与关节点六之间的连线在关节点二的X轴与关节点三的X轴之间的公法线上的投影,n、o和a分别表示目标运动位置的法向矢量、方位矢量和接近矢量,且n=o×a,Phx、Phy和Phz分别表示腕关节点的X轴、Y轴和Z轴坐标值。
S4、分别将计算出的六个关节角度转化成每个轴对应的运动脉冲数后,发送到UR机器人的驱动器;
S5、驱动器根据接收的每个轴对应的运动脉冲数,依次驱动对应的电机带动相应的轴进行运动。
详细的,本实施例中,步骤S34具体包括S341~S343:
S341、获得θ2=θ3=θ4=90°,并根据下式计算UR机器人的关节角度θ1
&theta; 1 = a t a n 2 ( P h y , P h x ) + &pi; 2
S342、根据下式,计算UR机器人的关节角度θ5
θ5=Angle<Vector,Z6>
上式中,Vector表示第一过程向量且Vector=(Phx,Phy,0),Z6表示UR机器人的第六轴的杆件坐标系的Z轴方向向量,且Z6=-a,且θ5的方向是根据以下条件确定的:根据下式计算获得第一临时角度tempAngle,当tempAngle=0时,θ5为负,当tempAngle=π时,θ5为正:
t e m p A n g l e = A n g l e < V e c t o r 1 , V e c t o r 2 > V e c t o r 1 = V e c t o r &times; Z 6 V e c t o r 2 = ( 0 , 0 , 1 )
其中,Vector1表示第二过程向量,Vector2表示世界坐标系的Z轴方向向量;
S343、获取UR机器人的目标运动位置的姿态[n o a]后,根据下式计算UR机器人的关节角度θ6
&theta; 6 = A n g l e < X 6 , n > m a t r i x = T 1 &times; r o t ( &theta; 1 ) &times; T 2 &times; r o t ( &theta; 2 ) &times; T 3 &times; r o t ( &theta; 3 ) &times; T 4 &times; r o t ( &theta; 4 ) &times; T 5 &times; r o t ( &theta; 5 ) &times; T 6 X 6 = m a t r i x &times; V e c t o r ( 1 , 0 , 0 )
上式中,matrix表示一变换矩阵,T1、T2、T3、T4、T5、T6依次表示UR机器人的第一、第二、第三、第四、第五、第六关节的DH矩阵,X6表示UR机器人的第六轴的杆件坐标系的X轴方向向量,且θ6的方向是根据以下条件确定的:根据下式计算获得VectorX,当VectorX=n时,θ6为正,否则,θ6为负:
VectorX=matrix×rot(θ6)×Vector(1,0,0)
上式中,VectorX表示第三过程向量。
详细的,本实施例中,步骤S35具体包括S350~S359:
S350、根据下式计算该投影与基准投影之间的夹角:
θ=arccos(LR/L)
上式中,θ表示该投影与基准投影之间的夹角,LR表示基准投影的长度,L表示关节点二与关节点六之间的连线在计算参考平面上的投影的长度;
S351、获取目标运动位置的姿态[n o a]后,根据下式计算UR机器人的关节角度θ1
&theta; 1 = a t a n 2 ( V 2 y , V 2 x ) + &pi; 2
其中,V2x、V2y是Vec2的X坐标和Y坐标,Vec2表示第四过程向量,是通过下式计算获得的:
Vec2=Vec1'*LR
其中,Vec1'表示Vec1的单位化向量,Vec1表示第五过程向量,且:
Vec1=rot(θ)×Vector(Phx,Phy,0)
S352、获取目标运动位置的姿态[n o a]后,根据下式计算UR机器人的关节角度θ5
θ5=Angle<Vector(Phx,Phy,0),Z6>
上式中,Z6表示UR机器人的第六轴的杆件坐标系的Z轴方向向量,且Z6=-a;
S353、计算UR机器人的关节五的Z轴方向向量:
上式中,Z5表示UR机器人的关节五的Z轴方向向量,vector_2表示vector_1的单位化向量,vector_4表示vector_3的单位化向量,vector_1表示第六过程向量,vector_3表示第七过程向量,且vector_1和vector_3满足下式:
v e c t o r _ 1 = &lsqb; r o t ( &theta; 1 ) &times; t r a n s ( 0 , - L R , 0 ) &rsqb; &times; &lsqb; V e c t o r < c 1 , g 1 > &rsqb; v e c t o r _ 3 = V e c t o r ( P h x , P h y , 0 ) &times; Z 6
上式中,c1表示杆件二末端在计算参考平面上的投影点,g1表示关节点五在计算参考平面上的投影点;trans(0,-LR,0)表示一平移矩阵;
S354、根据下式计算UR机器人的关节五在计算参考平面上的坐标:
P g 1 = &lsqb; t r a n s ( 0 , L R , 0 ) &times; r o t ( - &theta; 1 ) &rsqb; &times; P g P g = P h - Z 5
表示UR机器人的关节五在计算参考平面上的坐标,Pg表示UR机器人的关节五在世界坐标系的坐标,trans(0,LR,0)表示一平移矩阵,Ph表示UR机器人的腕关节点的坐标(Phx,Phy,Phz);
S355、根据下式计算UR机器人的关节角度θ2
&theta; 2 = A n g l e < v e c t o r _ 5 , Vc 1 g 1 > - &pi; 2 , i f L g 1 c 1 = L 2 + L 3 A n g l e < v e c t o r _ 5 , Vc 1 g 1 > - arccos ( L g 1 c 1 2 + L 2 2 - L 3 2 2 &times; L g 1 c 1 &times; L 2 ) , i f L g 1 c 1 &NotEqual; L 2 + L 3
上式中,vector_5表示第八过程向量且vector_5=(1,0,0),Vc1g1表示投影点c1到投影点g1的向量,表示投影点c1到投影点g1的距离;
S356、根据下式计算UR机器人的关节角度θ3
&theta; 3 = 0 , i f L g 1 c 1 = L 2 + L 3 - A n g l e < V e c t o r ( c 1 , d 1 ) , V e c t o r ( d 1 , g 1 ) > , i f L g 1 c 1 &NotEqual; L 2 + L 3 a n d a n g l e _ s = 0 A n g l e < V e c t o r ( c 1 , d 1 ) , V e c t o r ( d 1 , g 1 ) > , i f L g 1 c 1 &NotEqual; L 2 + L 3 a n d a n g l e _ s = &pi;
其中,d1表示第三轴关节点在计算参考平面上的投影点,angle_s表示第二临时角度,且满足下式:
angle_s=Angle<[Vector(c1,d1)×Vector(d1,g1)],Vector(0,1,0)>
S357、判断是否等于L2+L3,根据下式计算UR机器人的关节角度θ4,反之,执行步骤S358计算UR机器人的关节角度θ4
上式中,θa表示第三临时角度,θb表示第四临时角度,且θa和θb是通过下式计算的:
&theta; a = A n g l e < v e c t o r _ a , V e c t o r ( c 1 , g 1 ) > &theta; b = A n g l e < V e c t o r ( 0 , 1 , 0 ) , &lsqb; v e c t o r _ a &times; V e c t o r ( c 1 , g 1 ) &rsqb; > v e c t o r _ a = &lsqb; t r a n s ( 0 , L R , 0 ) &times; r o t ( - &theta; 1 ) &rsqb; &times; Z 5
上式中,vector_a表示第九过程向量;
S358、根据下式计算UR机器人的关节角度θ4
上式中,θc表示第五临时角度,θd表示第六临时角度,且θc和θd是通过下式计算的:
&theta; c = A n g l e < v e c t o r _ a , V e c t o r ( c 1 , g 1 ) > &theta; b = A n g l e < V e c t o r ( 0 , 1 , 0 ) , &lsqb; v e c t o r _ a &times; V e c t o r ( d 1 , g 1 ) &rsqb; > v e c t o r _ a = &lsqb; t r a n s ( 0 , L R , 0 ) &times; r o t ( - &theta; 1 ) &rsqb; &times; Z 5
S359、根据下式,计算UR机器人的关节角度θ6
&theta; 6 = A n g l e < &lsqb; m a t r i x &times; V e c t o r ( 1 , 0 , 0 ) , n > m a t r i x = T 1 &times; r o t ( &theta; 1 ) &times; T 2 &times; r o t ( &theta; 2 ) &times; T 3 &times; r o t ( &theta; 3 ) &times; T 4 &times; r o t ( &theta; 4 ) &times; T 5 &times; r o t ( &theta; 5 ) &times; T 6
上式中,matrix表示一变换矩阵,T1、T2、T3、T4、T5、T6依次表示UR机器人的第一、第二、第三、第四、第五、第六关节的DH矩阵;且θ6的方向是根据以下条件确定的:
根据下式计算获得UR机器人的第六轴的杆件坐标系的X轴方向向量X6,当X6=n时,θ6为正,否则,θ6为负:
X6=matrix×rot(θ6)×Vector(1,0,0)。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变型或替换均包含在本申请权利要求所限定的范围内。

Claims (8)

1.一种UR机器人的运动控制方法,其特征在于,包括步骤:
S1、建立UR机器人连杆坐标系,获得UR机器人七根杆件和六个轴之间的空间位置关系;
S2、获取UR机器人对应的G指令文件后,读取UR机器人目标运动位置;
S3、根据该目标运动位置以及UR机器人几何关系,获取UR机器人的DH参数表后,依次计算UR机器人六个轴的关节角度;
S4、分别将计算出的六个关节角度转化成每个轴对应的运动脉冲数后,发送到UR机器人的驱动器;
S5、驱动器根据接收的每个轴对应的运动脉冲数,依次驱动对应的电机带动相应的轴进行运动。
2.根据权利要求1所述的一种UR机器人的运动控制方法,其特征在于,所述步骤S1,其具体为:
建立UR机器人的连杆坐标系,获得UR机器人的七根杆件和六个轴之间的空间位置关系,七根杆件的长度分别为L1、L2、L3、L4、L5、L6和L7,六个轴的关节角度分别为θ1、θ2、θ3、θ4、θ5和θ6,并将经过其关节五的Z轴且垂直于其第二关节的Z轴的平面作为UR机器人的计算参考平面。
3.根据权利要求1所述的一种UR机器人的运动控制方法,其特征在于,所述步骤S2中所述UR机器人的目标运动位置包括UR机器人的姿态和UR机器人的位置矢量。
4.根据权利要求2所述的一种UR机器人的运动控制方法,其特征在于,所述步骤S3,包括:
S31、获取目标运动位置的坐标(Px,Py,Pz),同时获取UR机器人的DH参数表后计算获得UR机器人的腕关节点的坐标(Phx,Phy,Phz);
S32、计算关节点二与关节点六之间的连线在世界坐标系XOY平面上的投影的长度;
S33、判断该投影的长度是否等于基准投影的长度,若是,则执行步骤S34,反之,执行步骤S35;
S34、获得θ2=θ3=θ4=90°,根据UR机器人的空间位置关系依次计算获得关节角度θ1和θ5,进而获取目标运动位置的姿态[n o a]后计算关节角度θ6并结束;
S35、计算该投影与基准投影之间的夹角,并获取目标运动位置的姿态[n o a]后,结合该夹角以及UR机器人的空间位置关系依次计算获得关节角度θ1、θ5、θ2、θ3、θ4和θ6
其中,所述基准投影指关节点二与关节点六之间的连线在关节点二的X轴与关节点三的X轴之间的公法线上的投影,n、o和a分别表示目标运动位置的法向矢量、方位矢量和接近矢量,且n=o×a,Phx、Phy和Phz分别表示腕关节点的X轴、Y轴和Z轴坐标值。
5.根据权利要求4所述的一种UR机器人的运动控制方法,其特征在于,所述步骤S31中所述UR机器人的腕关节点的坐标是通过下式计算获得的:
Ph=transMatrix×P0
上式中,Ph表示UR机器人的腕关节点的坐标(Phx,Phy,Phz),P0表示UR机器人末端的目标运动位置的坐标(Px,Py,Pz),transMatrix为UR机器人的转换矩阵,满足下式:
t r a n s M a t r i x = 1 0 0 0 0 1 0 0 0 0 1 D 0 0 0 1 ;
D表示DH参数表中的参数。
6.根据权利要求4所述的一种UR机器人的运动控制方法,其特征在于,所述步骤S32,其具体为:
根据下式,计算关节点二与关节点六之间的连线在世界坐标系XOY平面上的投影的长度:
L = P h x 2 + P h y 2
上式中,L表示关节点二与关节点六之间的连线在世界坐标系XOY平面上的投影的长度。
7.根据权利要求5所述的一种UR机器人的运动控制方法,其特征在于,所述步骤S34,具体包括:
S341、获得θ2=θ3=θ4=90°,并根据下式计算UR机器人的关节角度θ1
&theta; 1 = a t a n 2 ( P h y , P h x ) + &pi; 2
S342、根据下式,计算UR机器人的关节角度θ5
θ5=Angle<Vector,Z6>
上式中,Vector表示第一过程向量且Vector=(Phx,Phy,0),Z6表示UR机器人的第六轴的杆件坐标系的Z轴方向向量,且Z6=-a,且θ5的方向是根据以下条件确定的:根据下式计算获得第一临时角度tempAngle,当tempAngle=0时,θ5为负,当tempAngle=π时,θ5为正:
t e m p A n g l e = A n g l e < V e c t o r 1 , V e c t o r 2 > V e c t o r 1 = V e c t o r &times; Z 6 V e c t o r 2 = ( 0 , 0 , 1 )
其中,Vector1表示第二过程向量,Vector2表示世界坐标系的Z轴方向向量;
S343、获取UR机器人的目标运动位置的姿态[n o a]后,根据下式计算UR机器人的关节角度θ6
&theta; 6 = A n g l e < X 6 , n > m a t r i x = T 1 &times; r o t ( &theta; 1 ) &times; T 2 &times; r o t ( &theta; 2 ) &times; T 3 &times; r o t ( &theta; 3 ) &times; T 4 &times; r o t ( &theta; 4 ) &times; T 5 &times; r o t ( &theta; 5 ) &times; T 6 X 6 = m a t r i x &times; V e c t o r ( 1 , 0 , 0 )
上式中,matrix表示一变换矩阵,T1、T2、T3、T4、T5、T6依次表示UR机器人的第一、第二、第三、第四、第五、第六关节的DH矩阵,X6表示UR机器人的第六轴的杆件坐标系的X轴方向向量,且θ6的方向是根据以下条件确定的:根据下式计算获得VectorX,当VectorX=n时,θ6为正,否则,θ6为负:
VectorX=matrix×rot(θ6)×Vector(1,0,0)
上式中,VectorX表示第三过程向量。
8.根据权利要求4所述的一种UR机器人的运动控制方法,其特征在于,所述步骤S35,包括:
S350、根据下式计算该投影与基准投影之间的夹角:
θ=arccos(LR/L)
上式中,θ表示该投影与基准投影之间的夹角,LR表示基准投影的长度,L表示关节点二与关节点六之间的连线在计算参考平面上的投影的长度;
S351、获取目标运动位置的姿态[n o a]后,根据下式计算UR机器人的关节角度θ1
&theta; 1 = a t a n 2 ( V 2 y , V 2 x ) + &pi; 2
其中,V2x、V2y是Vec2的X坐标和Y坐标,Vec2表示第四过程向量,是通过下式计算获得的:
Vec2=Vec1'*LR
其中,Vec1'表示Vec1的单位化向量,Vec1表示第五过程向量,且:
Vec1=rot(θ)×Vector(Phx,Phy,0)
S352、获取目标运动位置的姿态[n o a]后,根据下式计算UR机器人的关节角度θ5
θ5=Angle<Vector(Phx,Phy,0),Z6>
上式中,Z6表示UR机器人的第六轴的杆件坐标系的Z轴方向向量,且
Z6=-a;
S353、计算UR机器人的关节五的Z轴方向向量:
上式中,Z5表示UR机器人的关节五的Z轴方向向量,vector_2表示vector_1的单位化向量,vector_4表示vector_3的单位化向量,vector_1表示第六过程向量,vector_3表示第七过程向量,且vector_1和vector_3满足下式:
v e c t o r _ 1 = &lsqb; r o t ( &theta; 1 ) &times; t r a n s ( 0 , - L R , 0 ) &rsqb; &times; &lsqb; V e c t o r < c 1 , g 1 > &rsqb; v e c t o r _ 3 = V e c t o r ( P h x , P h y , 0 ) &times; Z 6
上式中,c1表示杆件二末端在计算参考平面上的投影点,g1表示关节点五在计算参考平面上的投影点;trans(0,-LR,0)表示一平移矩阵;
S354、根据下式计算UR机器人的关节五在计算参考平面上的坐标:
P g 1 = &lsqb; t r a n s ( 0 , L R , 0 ) &times; r o t ( - &theta; 1 ) &rsqb; &times; P g P g = P h - Z 5
表示UR机器人的关节五在计算参考平面上的坐标,Pg表示UR机器人的关节五在世界坐标系的坐标,trans(0,LR,0)表示一平移矩阵,Ph表示UR机器人的腕关节点的坐标(Phx,Phy,Phz);
S355、根据下式计算UR机器人的关节角度θ2
&theta; 2 = A n g l e < v e c t o r _ 5 , Vc 1 g 1 > - &pi; 2 , i f L g 1 c 1 = L 2 + L 3 A n g l e < v e c t o r _ 5 , Vc 1 g 1 > - arccos ( L g 1 c 1 2 + L 2 2 - L 3 2 2 &times; L g 1 c 1 &times; L 2 ) , i f L g 1 c 1 &NotEqual; L 2 + L 3
上式中,vector_5表示第八过程向量且vector_5=(1,0,0),表示投影点c1到投影点g1的向量,表示投影点c1到投影点g1的距离;
S356、根据下式计算UR机器人的关节角度θ3
&theta; 3 = 0 , i f L g 1 c 1 = L 2 + L 3 - A n g l e < V e c t o r ( c 1 , d 1 ) , V e c t o r ( d 1 , g 1 ) > , i f L g 1 c 1 &NotEqual; L 2 + L 3 a n d a n g l e _ s = 0 A n g l e < V e c t o r ( c 1 , d 1 ) , V e c t o r ( d 1 , g 1 ) > , i f L g 1 c 1 &NotEqual; L 2 + L 3 a n d a n g l e _ s = &pi;
其中,d1表示第三轴关节点在计算参考平面上的投影点,angle_s表示第二临时角度,且满足下式:
angle_s=Angle<[Vector(c1,d1)×Vector(d1,g1)],Vector(0,1,0)>
S357、判断是否等于L2+L3,根据下式计算UR机器人的关节角度θ4,反之,执行步骤S358计算UR机器人的关节角度θ4
上式中,θa表示第三临时角度,θb表示第四临时角度,且θa和θb是通过下式计算的:
&theta; a = A n g l e < v e c t o r _ a , V e c t o r ( c 1 , g 1 ) > &theta; b = A n g l e < V e c t o r ( 0 , 1 , 0 ) , &lsqb; v e c t o r _ a &times; V e c t o r ( c 1 , g 1 ) &rsqb; > v e c t o r _ a = &lsqb; t r a n s ( 0 , L R , 0 ) &times; r o t ( - &theta; 1 ) &rsqb; &times; Z 5
上式中,vector_a表示第九过程向量;
S358、根据下式计算UR机器人的关节角度θ4
上式中,θc表示第五临时角度,θd表示第六临时角度,且θc和θd是通过下式计算的:
&theta; c = A n g l e < v e c t o r _ a , V e c t o r ( d 1 , g 1 ) > &theta; d = A n g l e < V e c t o r ( 0 , 1 , 0 ) , &lsqb; v e c t o r _ a &times; V e c t o r ( d 1 , g 1 ) &rsqb; > v e c t o r _ a = &lsqb; t r a n s ( 0 , L R , 0 ) &times; r o t ( - &theta; 1 ) &rsqb; &times; Z 5
S359、根据下式,计算UR机器人的关节角度θ6
&theta; 6 = A n g l e < &lsqb; m a t r i x &times; V e c t o r ( 1 , 0 , 0 ) &rsqb; , n > m a t r i x = T 1 &times; r o t ( &theta; 1 ) &times; T 2 &times; r o t ( &theta; 2 ) &times; T 3 &times; r o t ( &theta; 3 ) &times; T 4 &times; r o t ( &theta; 4 ) &times; T 5 &times; r o t ( &theta; 5 ) &times; T 6
上式中,matrix表示一变换矩阵,T1、T2、T3、T4、T5、T6依次表示UR机器人的第一、第二、第三、第四、第五、第六关节的DH矩阵;且θ6的方向是根据以下条件确定的:
根据下式计算获得UR机器人的第六轴的杆件坐标系的X轴方向向量X6
当X6=n时,θ6为正,否则,θ6为负:
X6=matrix×rot(θ6)×Vector(1,0,0)。
CN201610518479.7A 2016-07-01 2016-07-01 一种ur机器人的运动控制方法 Expired - Fee Related CN106041932B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610518479.7A CN106041932B (zh) 2016-07-01 2016-07-01 一种ur机器人的运动控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610518479.7A CN106041932B (zh) 2016-07-01 2016-07-01 一种ur机器人的运动控制方法

Publications (2)

Publication Number Publication Date
CN106041932A true CN106041932A (zh) 2016-10-26
CN106041932B CN106041932B (zh) 2018-04-17

Family

ID=57200819

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610518479.7A Expired - Fee Related CN106041932B (zh) 2016-07-01 2016-07-01 一种ur机器人的运动控制方法

Country Status (1)

Country Link
CN (1) CN106041932B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107273134A (zh) * 2017-06-23 2017-10-20 深圳市雷赛控制技术有限公司 数控程序执行方法及装置
CN108068108A (zh) * 2016-11-16 2018-05-25 沈阳高精数控智能技术股份有限公司 平面内摆动伸缩型机器人运动控制方法
CN108189034A (zh) * 2018-01-16 2018-06-22 广东凯宝机器人科技有限公司 一种机器人连续轨迹实现方法
CN109238188A (zh) * 2018-08-29 2019-01-18 苏州伟信奥图智能科技有限公司 一种三维运动机构的参数标定方法
CN109605367A (zh) * 2018-11-13 2019-04-12 上海鲸鱼机器人科技有限公司 一种机器人编程方法、装置及设备、存储介质
CN109648563A (zh) * 2019-01-02 2019-04-19 南京邮电大学 串联机器人运动控制方法及计算机存储介质
WO2020034418A1 (zh) * 2018-08-16 2020-02-20 居鹤华 基于轴不变量及dh参数1r/2r/3r逆解建模方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5737500A (en) * 1992-03-11 1998-04-07 California Institute Of Technology Mobile dexterous siren degree of freedom robot arm with real-time control system
CN103429398A (zh) * 2011-03-08 2013-12-04 株式会社神户制钢所 多关节型机器人的控制装置、控制方法以及控制程序
CN103481288A (zh) * 2013-08-27 2014-01-01 浙江工业大学 一种5关节机器人末端工具位姿控制方法
CN105014677A (zh) * 2015-07-07 2015-11-04 西安交通大学 基于Camshift视觉跟踪和D-H建模算法的视觉机械臂控制装置及方法
CN105269565A (zh) * 2015-10-30 2016-01-27 福建长江工业有限公司 一种六轴磨抛工业机器人离线编程及修正方法
CN105328701A (zh) * 2015-11-12 2016-02-17 东北大学 一种串联机械手臂的示教编程方法
CN105522577A (zh) * 2015-11-29 2016-04-27 上海新时达电气股份有限公司 一种用于五轴折弯机器人笛卡尔轨迹规划的方法及其装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5737500A (en) * 1992-03-11 1998-04-07 California Institute Of Technology Mobile dexterous siren degree of freedom robot arm with real-time control system
CN103429398A (zh) * 2011-03-08 2013-12-04 株式会社神户制钢所 多关节型机器人的控制装置、控制方法以及控制程序
CN103481288A (zh) * 2013-08-27 2014-01-01 浙江工业大学 一种5关节机器人末端工具位姿控制方法
CN105014677A (zh) * 2015-07-07 2015-11-04 西安交通大学 基于Camshift视觉跟踪和D-H建模算法的视觉机械臂控制装置及方法
CN105269565A (zh) * 2015-10-30 2016-01-27 福建长江工业有限公司 一种六轴磨抛工业机器人离线编程及修正方法
CN105328701A (zh) * 2015-11-12 2016-02-17 东北大学 一种串联机械手臂的示教编程方法
CN105522577A (zh) * 2015-11-29 2016-04-27 上海新时达电气股份有限公司 一种用于五轴折弯机器人笛卡尔轨迹规划的方法及其装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108068108A (zh) * 2016-11-16 2018-05-25 沈阳高精数控智能技术股份有限公司 平面内摆动伸缩型机器人运动控制方法
CN108068108B (zh) * 2016-11-16 2021-02-02 沈阳高精数控智能技术股份有限公司 平面内摆动伸缩型机器人运动控制方法
CN107273134A (zh) * 2017-06-23 2017-10-20 深圳市雷赛控制技术有限公司 数控程序执行方法及装置
CN108189034A (zh) * 2018-01-16 2018-06-22 广东凯宝机器人科技有限公司 一种机器人连续轨迹实现方法
CN108189034B (zh) * 2018-01-16 2021-09-17 广东凯宝机器人科技有限公司 一种机器人连续轨迹实现方法
WO2020034418A1 (zh) * 2018-08-16 2020-02-20 居鹤华 基于轴不变量及dh参数1r/2r/3r逆解建模方法
CN109238188A (zh) * 2018-08-29 2019-01-18 苏州伟信奥图智能科技有限公司 一种三维运动机构的参数标定方法
CN109605367A (zh) * 2018-11-13 2019-04-12 上海鲸鱼机器人科技有限公司 一种机器人编程方法、装置及设备、存储介质
CN109605367B (zh) * 2018-11-13 2021-01-26 上海鲸鱼机器人科技有限公司 一种机器人编程方法、装置及设备、存储介质
CN109648563A (zh) * 2019-01-02 2019-04-19 南京邮电大学 串联机器人运动控制方法及计算机存储介质
CN109648563B (zh) * 2019-01-02 2021-10-29 南京邮电大学 串联机器人运动控制方法及计算机存储介质

Also Published As

Publication number Publication date
CN106041932B (zh) 2018-04-17

Similar Documents

Publication Publication Date Title
CN106041932A (zh) 一种ur机器人的运动控制方法
CN106695797A (zh) 基于双臂机器人协同操作的柔顺控制方法及系统
CN104573255B (zh) 一种基于改进多体系统传递矩阵的机械臂建模与求解方法
Adam et al. Modeling and simulation of 5DOF robot manipulator and trajectory using MATLAB and CATIA
CN110450165A (zh) 一种基于零力控制的机器人标定方法
Bahani et al. The inverse kinematics evaluation of 6-DOF robots in cooperative tasks using virtual modeling design and artificial intelligence tools
Pol et al. LabVIEW based four DoF robotic ARM
Kim et al. Forward kinematic singularity avoiding design of a schönflies motion generator by asymmetric attachment of subchains
Valayil et al. Kinematic modeling of a serial robot using denavit-hartenberg method in matlab
Wang et al. Simulation and analysis of mechanical characteristics of a 6-dof spray-painting robot
Yue Kinematic modelling and simulation of LeArm robot
Juan et al. Analysis and simulation of a 6R robot in virtual reality
Omar et al. Control algorithm trajectory planning for dual cooperative manipulators with experimental verification
Chen et al. Kinematics optimization of a novel 7-DOF redundant manipulator
Heiran et al. Kinematics and workspace analysis of a novel parallel mechanism with kinematic redundancy
Chaudhary et al. Position analysis based approach for trajectory tracking control of scorbot-er-v plus robot manipulator
Shanmugasundar et al. Computer aided simulation for workspace plot of a newly designed inspection robot
Abaas et al. Inverse kinematic analysis of lab-volt R5150 robot system
Zhao et al. In-hand manipulation using a 3-PRS-finger-based parallel dexterous hand with bidirectional pinching capability
Ying et al. Research on kinematics modeling of soft manipulator
Canfield et al. Kinematic and Dynamic Evaluation of Mobile Robots Performing Welding Tasks
Xu Vision-based mobile robotic arm object gripping and handling
Canfield et al. Developing Metrics for Comparison of Mobile Robots Performing Welding Tasks
Xu et al. Kinematic analysis of a novel type of 6-DOF hybrid serial-parallel manipulator
Zhang et al. Process Simulation and Optimization of Arc Welding Robot Workstation Based on Digital Twin. Machines 2023, 11, 53

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180417