六轴机械臂正解(FK)和逆解(IK)算法
整理出了如下几个计算六轴机械臂正解和逆解的关键点:01_机器人坐标系和关节的说明02_算法坐标系的建立03_D-H参数表的建立04_FK(正解)算法05_Matlab辅助计算FK(正解)06_IK(逆解)算法07_Matlab辅助计算IK(逆解)文档中针对FK以及IK算法的推导均有详细的推导过程。希望各位能根据推导过程写出自己的代码。图1针对机器人的关节坐标系,我们还需要规定各个关节的转动方向,如下图所示,我们依次描叙了各个关节的正负方向。在关节坐标系下,机器人各个关节的转动方向,必须和下图相符图22.机器人直角坐标系目前所说的直角坐标系是机器人的工具坐标系,如下图所示,因为该机器人没有安装执行末端,所以,工具坐标系原点在第六轴末端法兰中心处,红色箭头是Ⅹ轴,蓝色箭头是乙轴,根据右手定则确定Y轴方向@图3基坐标系所在的位置是定义机器人基座的位置,如上图所示,坐标系原点在第一关节的中心处,红色箭头所示为Ⅹ轴,蓝色箭头所示为乙轴,根据右手定则,即可确定Y轴的方向。具体如上图旁边那个坐标系所示。当我们说六轴机械臂位姿时,说的是六轴机械臂末端的位姿,该位姿包括六个参数,分别为Ⅹ YZABC。六轴机械臂未端的位姿是以基坐标系作为参考坐标系的:笛卡尔坐标系的Ⅹ轴,Ⅹ轴距离Y:笛卡尔坐标系的Y轴,Y轴距离Z:笛卡尔坐标系的Z轴,z轴距离A:XY-Z固定角坐标系下的偏转角B:X-Y-Z固定角坐标系下的俯仰角C:XY-Z固定角坐标系下的回转角ZA2呈Ax图如上图所示,A对应第一个坐标系中的γ,B对应第二个坐标系中的β,C对应第三个坐标系中的Q。为什么我们需要花费专门的一节来讲解六轴机器人的坐标系和关节?因为我们后续要学习的FK和就是以这个为基础的。FK是已知六轴机械臂在关节坐标系下各个关节转动的角度,然后求解直角坐标系下的Ⅹ YZABOK是已知六轴杋械臂在直角坐标系下的 XYZABO,然后求解关节坐标系下各个关节转动的角度二.算法坐标系的建立为了得出D-H参数表,我们首先需要针对六轴机器人的各个关节建立坐标系,在固定的坐标系下,才能最终得出连杆之间的变换关系,从而建立D-H参数表。82个2算法坐标系确定的通用方法如下1)坐标系的Z轴,与各个关节的旋转中心轴线重合2)坐标系的X轴,与沿着相邻两个z轴的公垂线重合3〕坐标系的Y轴,可以通过右手定则来确定当相邻两个z轴相交时,确定坐标系的方法如下1)坐标系的Y轴,沿着第一个Z轴与下一个z轴相交的延长线为Y轴2)坐标系的Ⅹ轴,通过右手定则确定当相邻两个Z轴平行时,确定坐标系的方法如下1)坐标系Ⅹ轴,相邻两个乙轴平行,做两个乙轴的公垂线,相交于下一个z轴为Ⅹ轴,方向为第一个Z轴到下一个Z轴的方向2)坐标系Y轴,通过右手定则确定三.D-H参数表的建立D-H参数表,实际上是相邻各个关节坐标的变换关系表,根据之前针对各个关节所建立的丛标系,按照如下四条变换规则,即可得到D-H参数表。变换规则1)绕Z轴,旋转9n+1n与Xn+1平行(方向一致))沿Zn轴,平移与Xn+1共线3)沿Xn轴,平移aAn与Xn+1原点重4)将Zn绕Xn+1轴,旋转αn+1Zn与Zn+1共线建立D-H参数表的详细步骤第一步,从第一关节到第二关节之间的变换绕z轴,旋转0度,让X0与X1平行且方向一致沿z轴,平移242,让Ⅺ0与X1共线沿Ⅺ轴,平移0,Ⅺ与X1原点重合将石绕X1轴,旋转90度,Z0与z1共线第二步,从第二关节到第三关节之前的交化绕z1轴,旋转90度,让X1与X2平行且方向一致沿Z1轴,平移0,让X1与X2共线沿X1轴,平移225,X1与X2原点重合将Z1绕X2轴,旋转0度,Z1与Z2共线第三步:从第三关节到第四关节之间的交换绕z2轴,旋转0度,让X2与X3平行且方向一致沿Z2轴,平移0,让Ⅹ2与X3共线沿X2轴,平移0,X2与X3原点重合将Z2绕X3轴,旋转90度,Z2与z3共线第四步:从第四关节到第五关节之间的变换绕z3轴,旋转0度让X3与X4平行且方向一致沿3轴,平移22886,让X3与X4共线沿3轴,平移0,X3与X4原点重合将Z3绕X1轴,旋转90度,Z3与Z1共线第五步:从第五关节到第六关节之间的变换绕Z4轴,旋转90度,让X4与X5平行且方向一致沿Z4轴,平移0,让X4与X共线沿X轴,平移0,X1与K5原点重合将Z4绕X5轴,旋转90度,Z4与z共线第六步:从第六关节到未端之间的变换绕z轴,旋转0度,让X5与X6平行且方向一致沿z轴,平移-50,让X5与X6共线沿X轴,平移0,X5与K6原点重合将z绕X轴,旋转0度,Z5与z6共线根据上图所示机械臂的尺寸参数以及以上六个步骤的变换,D-H参数表如下所示420901-202253-4228.864-5900900-500四.正解(FK)算法根据连杆变换规贝T=R(Z, B1*T(Z, di)*T(X, ai)*R(X, ai)6;00因为R(Z06:00100000aT(Z,a1)=00001000011000T(xa10100001d0001000 caROX. a)= osa oa;0001根据以上矩阵变换,可以得到如下连杆变换的通用矩阵如下Bi -se, ca s0,sa, a,c61s0 ce:cad sa asa0 saca d00根据以上连杆变换的通用矩阵和之前的D-H参数表,可以得到如下δ个连杆变换矩阵e10s61^0S0 0T6100102420001s20-22S620225c62000001620s60b203001000040s日4000c0 0010228.860001s50c650C650s650000006-s6006000C001-40FK算法需要解决的问题是:已知各个关节的转动角度,需要求出末端的位姿。已知:(61,2,θ3,θ4,θs,θ6求解:(X,Y,乙,A,B,C)计算公式如下所示13机器末端的位姿矩阵为72272313273300011722723py07*1T2T*37*4T5Tp000在以上的推导过程中,、T、2、37、4、7分别为相对于01、02、63、64、6s、的已知量。由此可以求解出位置变量(pPP)以及姿态变量a1T2723五. Matlab辅助计算正解(FK)根据上一章,我们有如下结论10s10100102420001s2-c620-225s6CS20225C60010
- 2020-12-05下载
- 积分:1
利用MATLAB实现医学图像处理与分析
利用MATLAB实现医学图像处理与分析边缘是图像最基本的特征。所谓边缘是指图像周围像素灰度有阶跃变化或屋顶状变化的像素的集合, 它存在于目标与背景、目标与目标、区域与区域、基元与基元之间。边缘具有方向和幅度两个特征, 沿边缘走向, 像素值变化比较平缓; 垂直于边缘走向, 像素值变化比较剧烈, 可能呈现阶跃状, 也可能呈现斜坡状因此, 边缘可以分为两种: 一种为阶跃性边缘, 它两边的像素灰度值有着明显的不同; 另一种为屋顶状边缘, 它位于灰度值从增加到减少的变化转折点。对于阶跃性边缘, 二阶方向导数在边缘处呈零交叉; 而对于屋顶状边缘, 二阶方向导数在边缘处取极值。第6期高向军,等:利用 MATLAB实现医学图像处理与分析1749d imw rie( modif, ank le_new series d en, n b)在 MATLA B中,笔者实现算法如下:a读入图像,预定义3.2 Levelset图像分割初始轮廓,如图3(a)所示;b定义离散化水平集函数;c)曲线在医学图像分割研究中,基于 level set技术的活动轮廓模演化,递准过程;d)求解演化后的零水平集,即为分割图像的型正引人注目。本实例在 MATLAB环境中,实现了Chm和边缘,如图3(b)所示。Ⅴese提出的无梯度的活动轮廓模型,并应用在医学图像分割之中。4结束语CⅤ分割方法的基本原理如下:没定义域为Ω的图像uo实践证明,MAT^AB软件功能强大、数据计算能力突出、被闭合边界C划分为目标O(C的内部)和背景B(C的外语言简洁易读。使用图像工具箱中的医学图像处理函数可以部)两个同质区域。两个区域的平均灰度分别为c1和c2此时方便快捷地实现医学图像的读写及简单处理功能。本文用实能量函数可看做为外部能量和内部能量之和,即例证明了在 MATLAB环境中可以方便、快速、有效地实现复杂E(cIc> C)=EinsidefC)+Eoutsidec)医学图像处理算法。同时Ⅵ ATLAR工具箱涉及的专业领域广H, m isc,(uo-Ci2dx dy+泛且功能強大。由于工具箱具有可靠性和开放性,可以方便H2IJout ie c)(o-C2)2dedy-YICI地直接加以使用,也可以将自己的代码加到工具箱中以改进函数功能。因比,在Ⅵ ATLA B(R2006b)环境下,实现医学图像的处理和分析具有很大的应用优势和价值。参考文献:1」田捷,包尚联,周明全.医学影像处理与分析[Ⅵ].北京:电子工业出版社,2003.(a)初始图像(b)分割结果「2]张尢赛,陈福民·D)IαM医学图像窗口变换的加速算法[J.计图3 Level set分割结果算机工程与应用,200339(13):218-2203]王立功,刘伟强,于甬华,等.DCOM医学图像文件格犬解析与当闭合边界C处于两个同质区域的边界时,能量达到最应用研究[J计算机工程与应用,20642(29):210212225小。为了解决曲线的拓扑变化问题,C-V分割法采用了水平[41曾筝,董芳华,陈咣,等.利用 MATLAB实现C断层图像的三维集方法,将闭合边界C嵌入高一维的曲面ψ中,根据初始闭合重建[J·CT理论与应用研究,200413(2):24-29曲线c构造一个内正外负的符号距离水平集函数中这样就5l任忠宝,李佳·基于 MATLA B的颅面三维重构技术J·计算机将关于闭合曲线C的能量函数转换为关于曲面中的能量函(6]王家文,李迎军.MAAB7.0图形图像处理(M].北京:国防数,再通过变分技术可以得到关于曲面的偏微分方程模型,即工业出版社,2006冲=1中/Yd(y中/1中1)-1(mo-c12+2(no-c2)2通(71HANT, VESE L. A ctive con bou rs w ithou t edges JI. EEE Tans过求由面的零水平集就可以得到C的位置mage Process 2001, 10(2): 266 277(上接第1740页)相比,本文算法虽然计算量有所增大,但能acam pos itc m ethod[ J]. Pattern Recogn tion 1982, 22(4: 381正确区分质量中等区域和质量较差的区域,并将背景区域和质385.量较差、后继算法无法恢复的噪声区域分割,保留质量巾等41 MEHTRE B M. F ngerp rmt m age ana ls s for autm atic ren tifica tion区域,使后续算法的处理区域更精确。I J] M achine Vis ion and App lica tons 1993, 6(2-3): 124-1395]苏彦华·Ⅴ balc++数字图像识別技术典型業例[M]·北京:人4结束语民邮电出版社,2004I6]耿茵茵,唐良瑞.指纹图像分级分割算法ⅠJ.北方工业大学学本文提出了一种改进的基于指纹灰度特性的指纹图像分200012(3):2-26割算法,克服了传统自适应阈值分割算法在指纹与背景交接区[7]甘树坤,欧宗瑛,魏鸿磊,基于灰度特性的指纹图像分割算法[J域,以及指纹内部脊线太淡或脊线粘连的区域分割不准及分割古林化工学院学报,200623(1):68-71前景边界的方坎效应问题,适用于更多类型的指纹图像,且分[8] ROSENFILD A, KAK A C. Digita I im age process ing[M].Naw割比较精确。实验结果表明,该算法的分割效果很好,对前景Yor a cadem i press 1976区和背景区的分割更加灵活准确,有效降低了指纹图像噪声的[9]G0 NAZALES R C. WOODSR E. D igital m age processing[M I影响,它不仅能分割出指纹质量较好的图像,也能有效地分割Read a add ison w esley 1992噪声干扰较大的指纹图像,经过分割后的图像指纹纹线清晰、「11田捷,杨鑫,生物特征识别技术理论与应用M],北京:子工业出版社,2005流畅,具有较强的适应性和很高的实用价值。目前该算法已被应用到成熟的指纹识别算法中。10]吴|金,朱兆达图像处理中阂值选取方法3年(192-1992)的进展(12)[J.数据采集与处狸19938(3):1920}(4):26278.参考文執I 12 BAZEN AM, GEREZ S H. Segn en tation of fingeprin t m ages[ c]//l]陆颍.指纹自动识别原理与方法综述[J]·工栏数学学报.2004Prme of the 12th Annual W orks op on C icu its Sys kms and Sign al21(6):10031010Pocess ng Neherland I s n, 2001 276-2802]硎 HANG J anwei I Heng li s udy on segm ent a lgorithm in au m a[l3]冯星奎,颜祖泉,肖兴明,等.指纹图像合成分割法[J.计算机l i fige prill ilen Lifica lion[ J. M cro oomputer Applica tons应用研究,200017(1):7G77199915(12)202214]韩思奇,王蕾·图像分割的阈值法综述丨J].系统工程与皃子技13 CMEBTREUM.C是是出m出是 lishing630 bihgts-ycscrved.htp/w. cnkinct
- 2020-12-10下载
- 积分:1