预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第28卷第6期佳木斯大学学报(自然科学版)Vo.l28No.6 2010年11月JournalofJiamusiUniversity(NaturalScienceEdition)Nov.2010 文章编号:1008-1402(2010)06-0824-03 基于MATLAB的机器人逆运动学研究 康嘉瑞1,樊留群1,RomanLaurischkat2 (1.同济大学中德学院,上海200092;2.波鸿鲁尔大学制造系统教研室,波鸿德国) 摘要:在进行工业机器人仿真建模过程中需要对机器人逆运动学进行求解,本文利用MAT LABRobotics工具箱对KUKAKR360/1六轴工业机器人进行逆运动学建模,并将模型所得结果 与KUKA机器人所测数据进行对比,用以验证模型的正确性.并对Robotics工具箱算法进行修 改,最终得出具有实际应用价值的模型. 关键词:机器人;逆运动学;KUKAKR360/1;MatlabRoboticsToolbox;数值迭代法;lambda参数 中图分类号:O152.1文献标识码:A 依靠DH参数表示法.DH表示法取决于杆件的以 引言 0下4个参数:两连杆的夹角,两连杆的距离d,连杆 在使用两台KUKAKR360/1进行快速成型的的长度a,以及连杆的扭转角.根据图1所示的 时候,由于机器人末端受成型力的作用,机器人各KUKAKR360/1机器人的结构简图[7],可得出该机 关节的运动呈非线性变化,使得加工精度降低,因器人的DH参数(见表1). 此需要对机器人各关节的运动进行精度补偿,以提 高成型的精度[1,2].精度补偿模块的输入端为机器 人各关节理论运动曲线,其输出端为机器人各关节 的实际运动曲线,因此机器人各关节的逆运动学求 解变得十分重要. 对于六自由度机器人,只有两类结构的运动学 逆问题存在封闭解,第一类是后三个关节轴相交于 一点;第二类是有三个关节轴相互平行[2].KUKA KR360/1机器人后三个关节轴相交于一点,因此 其运动学逆问题存在封闭解.机器人逆运动学的求 解主要有3种方法:几何法,解析法和数值迭代 法[3-5].在使用几何法和解析法进行逆运动学求解 时,由于没有足够的约束条件,不能得出各关节的 唯一解.在使用数值迭代法时,将末端轨迹分解成 微元,并进行数值迭代,保证各关节不产生较大变 化,从而可以求出唯一值.图1KUKAKR360/1结构简图 在已知机器人DH参数的情况下,可以利用 1MATLABRoboticsToolbox建模与仿真 RoboticsToolbox中的link命令建立相应的机器人 模型,在MATLAB窗口中输入drivebot命令,可以 1.1KUKAKR360/1的建模 看到该机器人的图形化界面,并可得出机器人末端 在RoboticsToolbox[6]下机器人模型的建立是 收稿日期:2010-10-07 基金项目:本项目由德国科研联合会(DFG)赞助. 作者简介:康嘉瑞(1984-),男,江苏如东人,获得DAAD奖学金,双硕士学位,就读于德国波鸿鲁尔大学,研究方向为工业机器 人. 第6期康嘉瑞,等:基于Matlab的机器人逆运动学研究825 的位置和方向,在对机器人末端位置和方向进行验functionqt=ikineKuka(tr) 证后,可证明该模型的正确性.clearL 表1KUKAKR360/1机器人的DH参数L{1}=link([-pi/2500010450],∀stand 连杆()a(mm)()d(mm)ard#); 1-9050001045L{2}=link([01300000-pi/2],∀stand 20130000ard#); 390-5500L{3}=link([pi/2-55000pi],∀standard#); 4-90001025L{4}=link([-pi/20010250],∀standard#); 590000L{5}=link([pi/20000],∀standard#); 6000290L{6}=link([0002900],∀standard#); K360=robot(L,∀KR360/1#); 1.2机器人末端4X4齐次变换矩阵的求解q=[-0.0063/180*pi0(90.0173-90)/180*pi 0.0421/180*pi9.9855/180*pi-360.0331/180 在利用MATLABRoboticsToolbox进行逆运动 *pi]#; 学求解时,其输入端为机器人末端的4!4齐次变 ilimit=1000; 换矩阵,所以必须将机器人末端的位置和方向转换 tol=1e-6; 为齐次变换矩