六自由度工业机器人的初步设计_第1页
六自由度工业机器人的初步设计_第2页
六自由度工业机器人的初步设计_第3页
六自由度工业机器人的初步设计_第4页
六自由度工业机器人的初步设计_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

뫓쓏뿆벼듳톧뇏튵짨볆ꎨ싛컄ꎩ뫓쓏뿆벼듳톧뇏튵짨볆ꎨ싛컄ꎩ等效应变0.0000000390819ul0.0000232515ul变第一主应-0.00000000229391ul0.0000203366ul变第三主应-0.0000227927ul0.000000000838991ul应变XX-0.0000203611ul0.0000181931ul应变XY-0.0000196465ul0.0000193386ul应变XZ-0.0000108589ul0.0000112795ul应变YY-0.0000186531ul0.0000192554ul应变YZ-0.0000117634ul0.0000122644ul应变ZZ-0.0000156681ul0.00000685157ul图3-2第一主应力大小分布图图3-3驱动臂变形情况分布图图3-4各部位安全系数情况由以上各图可以看出该零件满足要求。

第四章运动学分析§4.1求运动学正解多自由度机器人是具有多个关节的空间机构,为了描述末端执行器在空间的位置和姿态,可以在每个关节上建立一个坐标系,利用坐标系之间的关[17]系来描述末端执行器的位姿。建立坐标系的方法有多种。常用的有D-H法(四参数法)和五参数法及矩阵变换法等。D-H法(四参数法)是1955年由Denavit和Hartenberg提出的一种建立相对位姿的矩阵方法。它用齐次变换描述各个连杆相对于固定参考系的空间几何关系,用一个4X4´的齐次变换矩阵描述相临两连杆的空间关系,从而推导出“末端执行器坐标系”相对于“基坐标系”的等价齐次坐标变换矩阵,建立操作臂的运动方程。本文中使用D-H法来建立坐标系并推导该机器人的运动方程。各杆件和关节的示意图如图3-1(a)。连接杆1与杆2的关节为关节2,记做J2,O0,O1的原点在关节2转轴上,连接杆2与杆3的关节为关节3,记做J3,O3的原点在关节3转轴上,依次类推。最终建立机器人坐标系如图3-1(b)。其中表明坐标间关系的四个参数为:图4-2机器人坐标系建立杆件坐标系建立原则:坐标系一般设在杆件始端关节,z轴与关节轴线重合、是旋转轴,x轴与杆件轴线重合、方向指向下一个杆件。以下是作者根据以上原则建立的坐标系图4-2机器人坐标系建立表4-1各连杆参数及关节变量关节ia(i-1)α(i-1)d(i)Θ(i)1000t12090°d2=95t23a2=40000t340-90°d4=375t45090°0t560-90°0t6在直角坐标系中,可以用齐次矩阵表示绕x、y、z轴的转动和沿x、y、z轴的平移。任何坐标系都可以看做是一个坐标系先平移,然后在绕某一坐标轴旋转得到的图4-2直角坐标系变换的基本原理假如我们规定T01为从第1个坐标系向第0个的坐标转换,同理T12即为第二个坐标系向第一个转换以此类推至T56,则最终机器人手腕的绝对坐标可转化为 T06= T01*T12*T23*T34*T45*T56;同时我们也可以验证计算结果是否正确,即使用初值t1=0,t2=pi/2, t3=-pi/2; t4=0; t5=0; t6=0;为了简写,使结果简单在以下程序中我们约定s1=sint1,c1=cost1;则s2,c2,s3,c3,可同上推理得到两个相邻坐标系转换的通式为:Matlab用法中矩阵简介Matlab是“MatrixLaboratory”的缩写,意为“矩阵实验室”,是当今美国很流行的科学计算软件.信息技术、计算机技术发展到今天,科学计算在各个领域得到了广泛的应用.在许多诸如控制论、时间序列分析、系统仿真、图像信号处理等方面产生了大量的矩阵及其相应的计算问题.自己去编写大量的繁复的计算程序,不仅会消耗大量的时间和精力,减缓工作进程,而且往往质量不高.美国Mathwork软件公司推出的Matlab软件就是为了给人们提供一个方便的数值计算平台而设计的.Matlab是一个交互式的系统,它的基本运算单元是不需指定维数的矩阵,按照IEEE的数值计算标准(能正确处理无穷数Inf(Infinity)、无定义数NaN(not-a-number)及其运算)进行计算.系统提供了大量的矩阵及其它运算函数,可以方便地进行一些很复杂的计算,而且运算效率极高.Matlab命令和数学中的符号、公式非常接近,可读性强,容易掌握,还可利用它所提供的编程语言进行编程完成特定的工作.除基本部分外,Matlab还根据各专门领域中的特殊需要提供了许多可选的工具箱,如应用于自动控制领域的ControlSystem工具箱和神经网络中NeuralNetwork工具箱等.MATLAB简介MALAB译于矩阵实验室MATrixLABoratory是用来提供通往LINPACK和EISPACK矩阵软件包接口的后来它渐渐发展成了通用科技计算图视交互系统和程序语言MATLAB的基本数据单位是矩阵它的指令表达与数学工程中常用的习惯形式十分相似比如矩阵方程Ax=b在MATLAB中被写成A*x=b而若要通过A,b求x那么只要写x=A\b即可完全不需要对矩阵的乘法和求逆进行编程因此用MATLAB解算问题要比用CFortran等语言简捷得多MATLAB发展到现在已经成为一个系列产品MATLAB主包和各种可选的toolbox工具包主包中有数百个核心内部函数迄今所有的三十几个工具包又可分为两类功能性工具包和学科性工具包功能性工具包主要用来扩充MATLAB的符号计算功能图视建模仿真功能文字处理功能以及硬件实时交互功能这种功能性工具包用于多种学科而学科性工具包是专业性比较强的如控制工具包ControlToolbox信号处理工具包(SignalProcessingToolbox)通信工具包(CommunicationToolbox)等都属此类开放性也许是MATLAB最重要最受人欢迎的特点除内部函数外所有MATLAB主包文件和各工具包文件都是可读可改的源文件用户可通过对源文件的修改或加入自己编写文件去构成新的专用工具包图4-3将程序输入MATLAB截图机器人坐标转换符号矩阵(MATLAB程序)symscost1sint1adcost2sint2s1s2s3s4s5s6c1c2c3c4c5c6dm;%定义符号变量t1=x轴旋转角,t2为z轴旋转角,a和d代表x和z轴的平移距离A=[1000;0cost1-sint10;0sint1cost10;0001];%绕x轴旋转时的变换矩阵 B=[100a;0100;0010;0001]; %沿x轴平移距离a时的变换矩阵C=[cost2-sint200;sint2cost200;0010;0001];%绕z轴旋转时的变换矩阵 D=[1000;0100;001d;0001]; %沿z轴平移距离d时的变换矩阵T=A*B*C*D%T为从杆i-1变换到i的最终变换矩阵,即为每个坐标变换的通式T01=subs(T,{sint1,cost1,sint2,cost2,a,d},{sin(0*pi/180),cos(0*pi/180),s1,c1,0,0});%T01代表相邻两坐标系的位姿变换矩阵,以下便是给矩阵赋值T12=subs(T,{sint1,cost1,sint2,cost2,a,d},{sin(90*pi/180),0,s2,c2,0,95});%同上从坐标系1转换至坐标系2,同时利用subs函数替换符号赋值T23=subs(T,{sint1,cost1,sint2,cost2,a,d},{sin(0*pi/180),cos(0*pi/180),s3,c3,400,0});T34=subs(T,{sint1,cost1,sint2,cost2,a,d},{sin(-90*pi/180),0,s4,c4,0,375});T45=subs(T,{sint1,cost1,sint2,cost2,a,d},{sin(90*pi/180),0,s5,c5,0,0});T56=subs(T,{sint1,cost1,sint2,cost2,a,d},{sin(-90*pi/180),0,s6,c6,0,0});写入MATLAB生成的结果如下T= [ cost2, -sint2, 0, a] [cost1*sint2,cost1*cost2, -sint1, -sint1*d] [sint1*sint2,sint1*cost2, cost1, cost1*d] [ 0, 0, 0, 1]>>T01T01= [(c1), -s1, 0, (0)] [ s1, c1, 0, 0] [ 0, 0, (1), 0] [ 0, 0, 0, 1]>>T12T12= [(c2), -s2, 0, (0)][ 0,0, -1, -95][ s2,c2, (0), 0][ 0,>>T23T23=0,0, 1][ (c3),-s3,0,(400)][ s3,c3, 0, 0][ 0,0,(1), 0][ 0,0, 0, 1]>>T34T34= [(c4), -s4, 0, (0)] [ 0, 0, 1, 375] [ -s4, -c4, (0), 0] [ 0, 0, 0, 1]>>T45T45= [(c5), -s5, 0, (0)] [ 0, 0, -1, 0] [ s5, c5, (0), 0] [ 0, 0, 0, 1]>>T56T56= [(c6), -s6, 0, (0)] [ 0, 0, 1, 0] [ -s6, -c6, (0), 0] [ 0, 0, 0, 1]图4-4齐次坐标变换的原理机器人运动学只涉及到物体的运动规律,不考虑产生运动的力和力矩。机器人正运动学所研究的内容是:给定机器人各关节的角度或位移,求解计算机器人末端执行器相对于参考坐标系的位置和姿态问题。各连杆变换矩阵相乘,可得到机器人末端执行器的位姿方程(正运动学方程)为:nxnyT06=T01*T12*T23*T34*T45*T56=nz0oxoyoz0axayaz0pxpypz1由此可算出nx=(((c1*c2*c3-c1*s2*s3)*c4-s1*s4)*c5+(-c1*c2*s3-c1*s2*c3)*s5)*c6-((c1*c2*c3-c1*s2*s3)*s4+s1*c4)*s6ny=(((s1*c2*c3-s1*s2*s3)*c4+c1*s4)*c5+(-s1*c2*s3-s1*s2*c3)*s5)*c6-((s1*c2*c3-s1*s2*s3)*s4-c1*c4)*s6nz=((s2*c3+c2*s3)*c4*c5+(-s2*s3+c2*c3)*s5)*c6-(s2*c3+c2*s3)*s4*s6ox=-(((c1*c2*c3-c1*s2*s3)*c4-s1*s4)*c5+(-c1*c2*s3-c1*s2*c3)*s5)*s6-((c1*c2*c3-c1*s2*s3)*s4+s1*c4)*c6oy=-(((s1*c2*c3-s1*s2*s3)*c4+c1*s4)*c5+(-s1*c2*s3-s1*s2*c3)*s5)*s6-((s1*c2*c3-s1*s2*s3)*s4-c1*c4)*c6oz=-((s2*c3+c2*s3)*c4*c5+(-s2*s3+c2*c3)*s5)*s6-(s2*c3+c2*s3)*s4*c6ax=-((c1*c2*c3-c1*s2*s3)*c4-s1*s4)*s5+(-c1*c2*s3-c1*s2*c3)*c5ay=-((s1*c2*c3-s1*s2*s3)*c4+c1*s4)*s5+(-s1*c2*s3-s1*s2*c3)*c5az=-(s2*c3+c2*s3)*c4*s5+(-s2*s3+c2*c3)*c5px=-375*c1*c2*s3-375*c1*s2*c3+400*c1*c2+95*s1py=-375*s1*c2*s3-375*s1*s2*c3+400*s1*c2-95*c1pz=-375*s2*s3+375*c2*c3+400*s2;§4.2求运动学逆解[3]逆问题:已知手在空间的位姿M0h,求关节变量qi的值。逆解特征分三]种情况:多解、唯一解、无解。多解的选择原则:最近原则。计算方法:递推逆变换法。国内外位置逆解问题的研究现状位置逆解问题是机械手机构学乃至机械手学中的最基础也是最重要的研究问题之一,它直接关系到机械手运动分析、离线编程、轨迹规划和实时控制等工作。因为速度和加速度分析都要在进行位置分析的基础之上才能进行,所以位置逆解问题是机械手运动规划和轨迹规划的基础,只有通过运动学逆解把空间位姿转换为关节变量,才能实现对机械手末端执行器的控制。而从工程应用的角度出发,位置逆解问题的研究成果可以很容易地应用到机械手上面去,往往更引起我们的兴趣,因此就更加促进了对位置逆解问题的研究。对于运动学正解来说,它的解是唯一确定的,即各个关节变量给定之后,机械手的末端抓手和工具的位姿是唯一确定的;而运动学反解往往具有多重解,也可能不存在解。位置逆解的复杂程度往往与机械手的结构有很大关系。由于一般情况下,六个自由度便可满足机械手在工作空间内可达任一位姿,因此六自由度机械手最具有研究价值和实用价值。如果机械手的结构尺寸有些特殊,如轴线平行或相交或轴线长度为零等情况下,逆解运算相对比较简单;而如果结构尺寸一般,且6个关节又都是转动副,则逆解运算较为困难,该问题被喻为是空间机构运动分析中的珠穆朗玛峰。无论是结构特殊还是一般,仅仅用某种方法求得6自由度机械手的位置逆解不是不够的,还要在计算方法,计算精度等各个方面作进一步的研究。在位置逆解问题中常用的代数法主要包括析配消元法,聚筛法,Gorbener基法和吴文俊消元法。这些代数方法求解一般是先建立若干个关系式,然后进行消元,最终得到只含有一个变量的一元高次方程,求解该方程得到变量的全部根。然后对应此变量求出一系列的中间变量(被消去的变量)。在该过程中,只要保证各个步骤都是同解变换,就能够保证得出全部的解,而且不产生增根。这一类方法的优点是可以解出全部解,而且不需要初始值,但是求解过程较为复杂,有一定的难度。nxoxaxpxnyoyaypynzozazpz=T01*T12*T23*T34*T45*T56; 0001nxoxaxpxnyoyaypyT01-1*T12-1*T23-1*nzozazpz=T34*T45*T56; 0001symscost1sint1adcost2sint2s1s2s3s4s5s6c1c2c3c4c5c6dm;%定义符号变量t1=x轴旋转角,t2为z轴旋转角,a和d代表x和z轴的平移距离A=[1000;0cost1-sint10;0sint1cost10;0001];%绕x轴旋转时的变换矩阵B=[100a;0100;0010;0001];%沿x轴平移距离a时的变换矩阵C=[cost2-sint200;sint2cost200;0010;0001];%绕z轴旋转时的变换矩阵D=[1000;0100;001d;0001];%沿z轴平移距离d时的变换矩阵 T=A*B*C*D %T为从杆i-1变换到i的最终变换矩阵,即为每个坐标变换的通式T01=subs(T,{sint1,cost1,sint2,cost2,a,d},{sin(0*pi/180),cos(0*pi/180),s1,c1,0,0});%T01代表相邻两坐标系的位姿变换矩阵,以下便是给矩阵赋值T12=subs(T,{sint1,cost1,sint2,cost2,a,d},{sin(90*pi/180),0,s2,c2,0,95});%同上从坐标系1转换至坐标系2,同时利用subs函数替换符号赋值T23=subs(T,{sint1,cost1,sint2,cost2,a,d},{sin(0*pi/180),cos(0*pi/180),s3,c3,400,0});T34=subs(T,{sint1,cost1,sint2,cost2,a,d},{sin(-90*pi/180),0,s4,c4,0,375});T45=subs(T,{sint1,cost1,sint2,cost2,a,d},{sin(90*pi/180),0,s5,c5,0,0});T56=subs(T,{sint1,cost1,sint2,cost2,a,d},{sin(-90*pi/180),0,s6,c6,0,0});T67=subs(D,{d},{dm});%从坐标系6到气爪的坐标系转换T06=T01*T12*T23*T34*T45*T56;%绝对坐标原点变换至坐标系6变换矩阵T07=T06*T67 T46=T34*T45*T56; %求出T03和T46以便求逆解时使用T03=T01*T12*T23;symsnxoxaxpxnyoyaypynzozazpz;T00=[nxoxaxpx;nyoyaypy;nzozazpz;0001];%求逆解把T00作为已知量,T00\T03=T46,求出T36然后与T46对应相等,解方程T36=T00\T03T000=subs(T06,{s1,s2,s3,s4,s5,s6,c1,c2,c3,c4,c5,c6},{0,1,-1,0,0,0,1,0,0,1,1,1})%初始位置时把各个轴转角代入计算,验证计算结果[x1,x2,x3]=solve('sin(x1)*px-cos(x1)*py-d2=0','cos(x1)*cos(x2+x3)*px+sin(x1)*cos(x2+x3)*py+sin(x2+x3)*pz-a2*cos(x3)=0','-cos(x1)*sin(x2+x3)*px-sin(x1)*sin(x2+x3)*py+cos(x2+x3)*pz+a2*sin(x3)-d4=0','x1','x2','x3');[x4,x5]=solve('cos(x1)*cos(x2+x3)*ax+sin(x1)*cos(x2+x3)*ay+sin(x2+x3)*az+cos(x4)*sin(x5)=0','sin(x1)*ax-cos(x1)*ay-sin(x4)*sin(x5)=0','x4','x5')%分别解方程求逆解方程的左边是方程的左边是根据对应相等解方程比较两个矩阵的(3,4)两项s1*px-c1*py-d2=0;可求得x1=atan((d2*px+(py^4+px^2*py^2-py^2*d2^2)^(1/2))/(py^2+px^2),((d2*px+(py^4+px^2*py^2-py^2*d2^2)^(1/2))/(py^2+px^2)*px-d2)/py)atan((d2*px+(py^4+px^2*py^2-py^2*d2^2)^(1/2))/(py^2+px^2),((d2*px+(py^4+px^2*py^2-py^2*d2^2)^(1/2))/(py^2+px^2)*px-d2)/py)atan((d2*px-(py^4+px^2*py^2-py^2*d2^2)^(1/2))/(py^2+px^2),((d2*px-(py^4+px^2*py^2-py^2*d2^2)^(1/2))/(py^2+px^2)*px-d2)/py)atan((d2*px-(py^4+px^2*py^2-py^2*d2^2)^(1/2))/(py^2+px^2),((d2*px-(py^4+px^2*py^2-py^2*d2^2)^(1/2))/(py^2+px^2)*px-d2)/py)比较矩阵的(1,4)和(2,4)两项,机械手的位置逆解问题一般最终都归结为求解非线性方程组的问题。非线性方程组的求解方法有很多,主要包括数值方法和代数方法。在位置逆解问题中常用的数值方法主要包括牛顿拉夫森法、优化算法,区间算法,遗传算法和同伦算法等方法。数值方法求解一般是先建立包括若干个未知量的一个方程组,然后提供一组初始值,再利用各种优化法进行迭代,使之逐步收敛于机构的一组解。这一类方法的优点是求解过程比较简单,但是在计算中需要提供适当的初始值,因此涉及到初始值的选取问题。另外,采用数值方法不能根据方程组的情况来确定机械手机构有多少组解,也很难得到全部解。结论本次毕业设计课题贯穿我大学四年专业所学到的理论知识与实习获取的经验,从选题分析,结构设计,计算和,整个毕业设计过程提供了给了我自主学习,独立思考,自主选择的机会。毕业设计有实践性,综合性,探索性,应用性等特点,六自由度工业机器人设计过程中包含了大学所学的机械设计和传动控制等多方面的专业知识,是运用四年所学知识进行实际操作的一次综合练习。随着毕业设计做完,也将意味我的大学生活即将结束,在繁忙的日子里面,曾经多次为解决设计中的问题,到处查阅专业的书籍,甚至为了一个结构设计,与同学争得面红耳赤。但在这段时间里面我觉得自己是充实并快乐的。这次毕业设计,给我最大的体会就是在现实中不能够得到合理的应用,再巧妙的机械结构往往是最失败的作品。除了理论上的可行性,还需要在现实生产之中能发挥作用,机械结构是不能玩花俏的,需要的是踏踏实实,物有所用。这次毕业设计时间之长、任务之重、工作量之大都是以往几次设计无法比拟的。在这次设计中,几乎用到了以前学过的所有专业知识,并尽可能合理地将其运用到此次设计中去。如理论力学、材料力学、机械原理、机械设计、互换性等知识。既巩固和加深了对理论知识的理解和运用,同时也深刻体会到了理论计算和实际设计之间的区别和联系。通过这次设计,我收获很多,获得了许多珍贵的知识,学到了许多书本上不可能学到的知识。在这次设计中,我也遇到了很多困难,有事先考虑到的,而更多的是在设计当中突然发现的。也正是由于这些突然遇到的困难,让我正确认识到了实际生产和理论学习的不同。通过分析、解决这些困难,我学到了许多以前没学到的知识。这也许就是设计教学的目的和意图所在。当然,在这次设计中,我也感觉有很多不足和缺陷。由于我的水平有限给理解该机器人带来了不便,希望能够谅解!限于我水平和时间,错误或不当之处在所难免,请各位老师、专家和读者朋友不吝批评指正。参考文献濮良贵、机械设计(第八版)[J].北京:高等教育出版社,2006.5.林尚扬、焊接机器人及其应用[J].北京:机械工业出版社,2000.陈善本、林涛.智能化焊

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论