六自由度工业机器人结构设计与运动仿真
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
六自由度工业机器人结构设计与运动仿真
作者:吴应东
来源:《现代电子技术》2014年第02期
摘要:随着计算机、自动控制等技术的发展,工业机器人被大量运用于多种场合。其末端执行器决定了机器人的功能,但机器人本体结构的设计尤为重要。为方便研究,设计了一种六自由度工业机器人结构,采用D⁃H方法,完成机器人的运动正解。运动逆解采用代数法完成。最后,充分利用LabVIEW便捷的人机界面设计、Softmotion插件丰富的运动控制函数以及Solidworks Motion直观的三维仿真等优点,联合LabVIEW的Softmotion插件和Solidworks Motion进行运动仿真,该思路还能够为后续物理样机的控制仿真提供帮助。
关键词:工业机器人;结构设计;运动学分析;运动仿真
中图分类号: TN919⁃34; TH242.2 文献标识码: A 文章编号: 1004⁃373X(2014)
02⁃0074⁃03
工业机器人主要由本体和末端执行机构组成。其主体结构具有一定的通用性,末端执行机构(如焊枪等)决定了机器人的功能。工业机器人拥有相对较低的智能程度,但能带来巨大的经济效益。它之所以走在机器人技术的前沿,很大一部分原因就是其广泛的应用范围以及巨大的社会价值[1]。在工业机器人领域,日本首屈一指,已经形成非常有规模的产业。据统计,其机器人数量几乎占据世界机器人数量[2]的50%。比较著名的有FANUC、Motoman等。另外,德国的KUKA、瑞典的ABB及美国的Adept Technology公司等,它们都是各自国家的支柱产业之一。
1 机器人的结构设计
工业机器人主要由位置调整机构和姿态调整机构两部分组成。本文采用典型的六自由度工业机器人结构[3]。前三个关节负责位置调整,后三个关节负责姿态调整。多个关节协同完成机器人末端点的控制。其模型采用Solidworks完成三维模型的建立,整体结构及相关关节转动示意如图1所示。
2 六自由度工业机器人运动学分析
机器人运动学分析并不考虑机器人的整体受力情况,分为正向和逆向运动学分析[4]。正运动学是给定各关节位移值,计算得到末端执行器坐标系相对零点坐标系的位置和姿态,逆运动学则与之相反。
2.1 机器人正运动学分析
通过D⁃H方法建立坐标系,如图2所示。
模型连杆参数如表1所示。
其中,a1=600,a2=1 280,a3=200,d4=2 042,关节轴i和关节轴i-1之间的公垂线被定义为连杆的长度,用ai-1来表示;di为连杆偏距,它是相邻连杆在同一关节轴上的距离;用αi-1表示连杆转角,是关节轴i沿着ai-1平移到与关节轴i-1相交的位置,平移之后的轴线与关节轴i-1之间的夹角;公垂线ai沿着di平移到与公垂线ai-1相交,平移后的公垂线与公垂线ai-1之间的夹角称为关节角,用θi来表示[5]。
确定机器人的D⁃H参数之后,根据连杆的参数列出相邻坐标系之间的齐次变换矩阵[i-
1iT],然后乘起来得到末端坐标系和基坐标系的位置变换矩阵:
[06T=01T12T23T34T45T56T=nxoxaxpxnyoyaypynzozazpz0001]
其中[p]向量表示末端点在基坐标系中空间位置,[n],[o],[a]三个向量表示末端坐标系姿态。在这个公式中可取各个关节位移值为一特殊值来验证该公式的正确性,当六个关节的值分别为θ1=0°,θ2=0°,θ3=0°,θ4=0°,θ5=0°,θ6=0°,得到末端位置和姿态,和图2中是一致的,说明该正解过程是正确的。
2.2 机器人逆运动学分析
机器人逆向运动学的求解,主要有几何法、三轴相交的Pieper解法和反变换法三种方法[6]。本文建立的六自由度焊接机器人后面三个关节轴线汇聚到一点,因此,可以采用代数法完成运动学逆解。
利用[01T]的逆矩阵在式子两端相乘,即:
[inv(01T)06T=12T23T34T45T56T=16T]
两端矩阵的第二行第四列元素是关于θ1的方程,令两者相等,便可以将θ1求出:
[θ1=atan2py,px-atan20,±sqrtpx2+py2]
分别另两端矩阵的[1,4]元素以及[3,4]元素相等,能够将θ3求出:
[θ3=atan2(a3,-d4)-atan2k,+sqrt(a32+d42-k2)] [k=(px2+py2+pz2+a12-2a1pxcos θ1-a22- a32-d42)(2a2)]
按照之前的方法继续在等式两端乘逆矩阵inv([12T])以及inv([23T])。
令两端矩阵的[1,4]元素以及[2,4]元素相等,便可以求得θ3与θ2的和θ23:
[θ23=atan2(sinθ23,cosθ23)sinθ23=a3+a2cos θ3pz+d4+a2sin θ3· pxcos θ1+pysin θ1-a1]
[cosθ23=a3+a2cos θ3pxcos θ1+pysin θ1-a1- d4+a2sin θ3pz]
结合之前求得的θ3,便可以得到θ2:
[θ2=θ23-θ3]
令矩阵的[1,3]元素以及[3,3]对应元素相等。当sin[θ5≠0]时,能够得到[θ4]=atan2(axcos[θ1][cosθ2+θ3]+aysin[θ1][cosθ2+θ3]+az[sinθ2+θ3],axsin[θ1]-aycos[θ1]);当sin[θ5]=0时,关节处于奇异位置,这时θ4可以取任何值。
为了求θ5的值,按照之前的思路,继续左边乘以逆矩阵得到。
[θ5=atan2sin θ5,co s θ5sin θ5=axcos θ1cos(θ2+θ3)cos θ4+sin θ1sin θ4+ aysin θ1cos
(θ2+θ3)cos θ4-cos θ1sin θ4+ azsin(θ2+θ3)cos θ4cos θ5=axcos θ1sinθ2+θ3+aysin θ1sinθ2+θ3- azcosθ2+θ3]
为了求θ6,继续在两端乘[45T]的逆矩阵。
[θ6=atan2(sin θ6,cos θ6)] [sin θ6=nxsin θ1cos θ4-cos θ1c os(θ2+θ3)sin θ4- nycos θ1cos θ4+sin θ1cos(θ2+θ3)sin θ4- nzsinθ2+θ3sin θ4][cos θ6=nx(cos θ1cos(θ2+θ3)cos θ4+ sin
θ21sin θ4sin θ5-cos θ1sinθ2+θ3sin θ5)+ ny(sin θ1cosθ2+θ3cos θ4-cos θ1sin θ4cos θ5- sin θ1sin (θ2+θ3)sin θ5)+ nz(sin(θ2+θ3)cos θ4cos θ5+cos(θ2+θ3)sin θ5)]
各关节位移值表达式多种可能性将导致整体结果的不惟一,θ1与θ3有两种可能值,而θ6可以表示为θ6=θ6+π。六个关节角的组合有23=8种。因此,机器人设计中轨迹规划就显得尤为重要,根据实际运行情况,在一定限制条件下选取合适的结果,比如时间短、驱动力小等[7]。
3 机器人运动仿真
运动仿真主要是为了验证之前理论数据的正确性[8]。本文采用联合Solidworks Motion插件与LabVIEW仿真进行。两者联合进行产品开发的流程如图3所示。
Solidworks构建3D CAD模型,LabVIEW主要进行,两者借由Softmotion插件完成集成,构建机电一体化虚拟原型设计的虚拟环境。Solidworks Motion插件负责运动仿真;NI⁃Motion 负责运动控制编程和运动控制系统设计;NI SoftMotion Module集成设计模块,主要用于运动