基于MATLAB仿象鼻机器人造型及运动仿真(太原)
收藏
资源目录
压缩包内文档预览:(预览前20页/共35页)
编号:36655498
类型:共享资源
大小:447.52KB
格式:ZIP
上传时间:2020-01-03
上传人:遗****
认证信息
个人认证
刘**(实名认证)
湖北
IP属地:湖北
25
积分
- 关 键 词:
-
基于
MATLAB
象鼻
机器人
造型
运动
仿真
太原
- 资源描述:
-
基于MATLAB仿象鼻机器人造型及运动仿真(太原),基于,MATLAB,象鼻,机器人,造型,运动,仿真,太原
- 内容简介:
-
毕业设计基于MATLAB仿象鼻机器人造型及运动仿真102012217王石杰机械工程系学生姓名: 学号: 机械电子系 部: 田静专 业: 指导教师: 二零一四年六月诚信声明本人郑重声明:所呈交的学位设计,是本人在导师的指导下,独立进行研究工作所取得的成果。在完成设计时所利用的一切资料均已在参考文献中列出。本人完全意识到本声明的法律结果由本人承担。学位设计作者签名:日期: 年 月 日毕业设计任务书设计题目: 基于MATLAB仿象鼻机器人造型及运动仿真 系部: 机械工程系 专业: 机械电子 学号: 102012217 学生: 王石杰 指导教师(含职称) 田静(讲师)专业负责人: 张焕梅 1 设计的主要任务及目标 运用大学四年所学理论知识,并查阅相关资料和文献,分析研究按仿生学原理研发的仿象鼻机械手臂,熟悉掌握MATLAB编程工具,对仿象鼻机器人造型及运动仿真。通过毕业设计的过程,了解问题分析和解决的研究过程、步骤和方法,进而培养和提高自己知识和技能综合运用能力,加强创新意识。2设计的基本要求和内容基本要求:设计应在指导教师指导下独立完成;按格式要求写作;同时做到结构合理,理论论据充分;并进行深入分析,见解独到。内容:机器人技术是一门多学科融合的复杂问题,运用仿真计算,可以加快研究时间和节省成本。本毕业设计是基于Matlab仿真环境,利用仿真工具包进行二次开发,对机器人进行运动学仿真。3主要参考文献1陈恳.机器人技术与应用M.北京:清华大学出版社,20062薛定宇,陈阳泉.基于MATLAB/Sixnulink的系统仿真技术与应用M.北京:清华大学出版社,20023蔡自兴.机器人学M.北京:机械工业出版社,20094孙树栋.工业机器人技术基础M.西安:西北工业大学出版社,20064. 进度安排设计(设计)各阶段名称起 止 日 期1确定具体选题,查阅相关资料文献2013.3.32014.3.232参数设计,并建立机器人模型2014.3.232014.4.10 3确定算法,并熟悉MATLAB编程工具2014.4.102014.4.254算法的程序实现,完成仿真与结果分析2014.4.252014.5.155完成设计,准备毕业答辩2014.5.152014.6.10基于MATLAB仿象鼻机器人造型及运动仿真摘要:按照一定的要求对仿象鼻机器人进行参数设计,讨论了该机器人的运动学问题,然后在matlab环境下,对该机器人的正运动学、逆运动学、轨迹规划进行仿真。通过仿真,观察到了机器人各个关节的运动,并得到了所需的数据,说明了所设计的参数是正确的,从而能够达到预定的目标。利用MATLAB语言强大的数值计算能力实现仿象鼻机器人机构的运动仿真,为仿象鼻机器人机构的设计及分析提供一条便捷的途径。关键词:MATLAB,仿象鼻机器人,运动学仿真,轨迹规划Trunk robot modeling and motion simulation based on MATLABAbstracts:According to certain requirements to parameter design of bionic trunk robot, the kinematics of the robot is discussed, and then in the matlab environment, forward kinematics and inverse kinematics of the robot, the trajectory planning. Observed by simulation robot movement of each joint, and the required data is obtained, which shows the designed parameters are correct, so that they can reach a predetermined target. Imitation by using MATLAB powerful numerical calculation ability, trunk robot mechanism movement simulation, for imitation trunk for the design and analysis of robot mechanism provides a convenient way.Key words:MATLAB ,trunk robot ,motion simulation ,Trajectory planning 目 录1前言11.1课题介绍11.2课题目的、方案和意义42仿象鼻机器人的造型及坐标系建立62.1仿象鼻机器人的造型62.2各关节坐标系的建立和D-H变换73机器人运动学仿真算法93.1机器人正向运动学问题93.2机器人逆向运动学问题124轨迹规划135MATLAB运动仿真145.1Robotics Toolbox建模145.2仿象鼻机器人动作姿态175.2.1仿象鼻机器人伸展动作姿态175.2.2仿象鼻机器人弯曲动作姿态185.2.3仿象鼻机器人蜿蜒动作姿态195.3命令函数调用205.3.1fkine函数调用205.3.2ikine函数调用205.3.3jtraj函数调用215.4仿象鼻机器人动作轨迹规划235.4.1弯曲动作轨迹规划235.4.2蜿蜒动作轨迹规划256仿真结果分析27结论28参考文献29致谢30太原工业学院毕业设计1前言 1.1课题介绍MATLAB已成为国际上最流行的科学与工程计算软件,它在国内外高校和科研部门正扮演着越来越重要的角色,功能也越来越强大。可以预见,在科学运算与科学绘图领域,MATLAB语言长期保持其独一无二的地位。MATLAB是matrix和laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要功能为数值分析,数值和符号计算,工程与科学绘图,控制系统的设计与仿真,数字图像处理,数字信号处理,通讯系统设计与仿真,财务与金融工程。广泛应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB软件的优势特点:1) 高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;2) 具有完备的图形处理功能,实现计算结果和编程的可视化;3) 友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;4) 功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的处理工具。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C+,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。 仿生学是一门模仿生物的特殊本领,利用生物的结构和功能原理来研制机械或各种新技术的科学技术。确切地说,仿生学是研究生物系统的结构、特质、功能、能量转换、信息控制等各种优异的特征,并把它们应用到技术系统,改善已有的技术工程设备,并创造出新的工艺过程、建筑构型、自动化装置等技术系统的综合性科学。从生物学的角度来说,仿生学属于“应用生物学”的一个分支;从工程技术方面来看,仿生学根据对生物系统的研究,为设计和建造新的技术设备提供了新原理、新方法和新途径。仿生学是20世纪60年代出现的一门新型边缘学科。研究对象是生物体的结构、功能和工作原理,并将这些原理移植于人造工程技术之中,用以发明、创造新技术。该学科的问世,为人类开辟了独特的制造技术发展道路向生物界索取灵感的道路,大大开阔了人类的技术眼界,显示了巨大的发展潜力,是人类智慧的结晶。在自然界中,生物通过物竞天择和长期的自身进化,已对自然环境具有高度的适应性。它们的感知、决策、指令、反馈、运动等机能和器官结构远比人类所曾经制造的机械更为完善。某些生物具有的功能迄今比任何人工制造的机械都优越得多,仿生学就是要在工程上实现并有效地应用生物功能的一门学科。例如关于信息接受(感觉功能)、信息传递(神经功能)、自动控制系统等,这种从生物体的结构与功能上在机械设计方面给了很大启发。仿生学的光荣使命就是为人类提供最可靠、最灵活、最高效、最经济的接近于生物系统的技术系统,为人类造福。仿生学是生物学、数学和工程技术学互相渗透而结合成的一门新兴的边缘科学。仿生学的任务就是要研究生物系统的优异能力及产生的原理,并把它模式化,然后应用这些原理去设计和制造新的技术设备。仿生学的主要研究方法就是提出模型,进行模拟。其研究程序大致有以下三个阶段:首先是对生物原型的研究。根据生产实际提出的具体课题,将研究所得的生物资料予以简化,吸收对技术要求有益的内容,取消与生产技术要求无关的因素,得到一个生物模型;第二阶段是将生物模型提供的资料进行数学分析,并使其内在的联系抽象化,用数学的语言把生物模型“翻译”成具有一定意义的数学模型;最后数学模型制造出可在工程技术上进行实验的实物模型。当然在生物的模拟过程中,不仅仅是简单的仿生,更重要的是在仿生中有创新。经过实践认识再实践的多次重复,才能使模拟出来的东西越来越符合生产的需要。这样模拟的结果,使最终建成的机器设备将与生物原型不同,在某些方面甚上超过生物原型的能力。例如今天的飞机在许多方面都超过了鸟类的飞行能力,电子计算机在复杂的计算中要比人的计算能力迅速而可靠。仿生学的基本研究方法使它在生物学的研究中表现出一个突出的特点,就是整体性。从仿生学的整体来看,它把生物看成是一个能与内外环境进行联系和控制的复杂系统。它的任务就是研究复杂系统内各部分之间的相互关系以及整个系统的行为和状态。生物最基本的特征就是生物的自我更新和自我复制,它们与外界的联系是密不可分的。生物从环境中获得物质和能量,才能进行生长和繁殖;生物从环境中接受信息,不断地调整和综合,才能适应和进化。长期的进化过程使生物获得结构和功能的统一,局部与整体的协调与统一。仿生学要研究生物体与外界刺激(输入信息)之间的定量关系,即着重于数量关系的统一性,才能进行模拟。为达到此目的,采用任何局部的方法都不能获得满意的效果。因此,仿生学的研究方法必须着重于整体。仿生学的研究内容是极其丰富多彩的,因为生物界本身就包含着成千上万的种类,它们具有各种优异的结构和功能供各行业来研究。自从仿生学问世以来的二十几年内,仿生学的研究得到迅速的发展,且取得了很大的成果。就其研究范围可包括电子仿生、机械仿生、建筑仿生、化学仿生等。随着现代工程技术的发展,学科分支繁多,在仿生学中相应地开展对口的技术仿生研究。例如:航海部门对水生动物运动的流体力学的研究;航空部门对鸟类、昆虫飞行的模拟、动物的定位与导航;工程建筑对生物力学的模拟;无线电技术部门对于人神经细胞、感觉器宫和神经网络的模拟;计算机技术对于脑的模拟以及人工智能的研究等。在第一届仿生学会议上发表的比较典型的课题有:“人造神经元有什么特点”、“设计生物计算机中的问题”、“用机器识别图像”、“学习的机器”等。从中可以看出以电子仿生的研究比较广泛。仿生学的研究课题多集中在以下三种生物原型的研究,即动物的感觉器官、神经元、神经系统的整体作用。以后在机械仿生和化学仿生方面的研究也随之开展起来,近些年又出现新的分支,如人体的仿生学、分子仿生学和宇宙仿生学等。总之,仿生学的研究内容,从模拟微观世界的分子仿生学到宏观的宇宙仿生学包括了更为广泛的内容。而当今的科学技术正是处于一个各种自然科学高度综合和互相交叉、渗透的新时代,仿生学通过模拟的方法把对生命的研究和实践结合起来,同时对生物学的发展也起了极大的促进作用。在其它学科的渗透和影响下,使生物科学的研究在方法上发生了根本的转变;在内容上也从描述和分析的水平向着精确和定量的方向深化。生物科学的发展又是以仿生学为渠道向各种自然科学和技术科学输送宝贵的资料和丰富的营养,加速科学的发展。因此,仿生学的科研显示出无穷的生命力,它的发展和成就将为促进世界整体科学技术的发展做出巨大的贡献。仿生机械学是研究仿生机械的学科,是模仿生物的形态、结构和控制原理设计制造出的功能更集中、效率更高并具有生物特征的机械。它是20世纪60年代末期由生物学、生物力学、医学、机械工程、控制论和电子技术等学科相互渗透、结合而形成的一门边缘学科。仿生机械研究的主要领域有生物力学、控制体和机器人。把生物系统中可能应用的优越结构和物理学的特性结合使用,人类就可能得到在某些性能上比自然界形成的体系更为完善的仿生机械。随着科技的发展,机器人与人类的联系日益密切。出于对机器人的兴趣和关注,人们更加想了解机器人,学习机器人,因此,进行机器人的教学和培训就显得尤为重要。然而,机器人是一个比较昂贵的设备,在进行机器人教学时,不可能用许多实际的机器人来作为教学和培训的试验设备。 这时,就有必要用到机器人仿真系统,它可为此提供一个方便、灵活的试验工具和手段。对机器人进行图形仿真,可以将机器人仿真的结果以图形的形式示出来,从而直观地显示出机器人的运动情况,得到从数据曲线或数据本身难以分析出来的多重要信息,还可以从图形上看到机器人在一定控制条件下的运动规律13。1.2课题目的、方案和意义根据大象鼻子的特点设计出来的仿生机器机器人“仿象鼻机器人”。按照仿生学原理制造,所述象鼻机构包括多个关节单元,且各关节单元串接在一起,一端与机架悬挂连接,其另一端与操作手爪连接,该方案的设计目标是希望将其作为实用的工业机器人,研究目的为解决长期困扰工业机器人的安全问题。工业机器人领域是衡量一个国家高技术实力的一个重要标准,传统的机械手、机器人等自动化机械装置比较坚硬,在与操作人员配合时偶尔有误伤事故发生。出于安全的考虑,这种设计可以让机器人拥有更灵活、更柔韧的动作,通过关节单元中的伸缩驱动机构使仿生象鼻机器人实现伸缩、弯曲和蜿蜒等动作,不仅动作优雅灵活伸紧自如,还能与大象用鼻子卷起物体的动作一样通过伸展和卷曲来进行搬运、装卸的工作。仿象鼻机器人具有刚度高,灵活性好,操作空间大,承受负载大,可重构性强,模块化程度高等特点,可应用于危险品抓放搬运、狭小空间穿越探测等作业任务,是操作工人的第三只手。该设计有望解决长期困扰工业机器人的安全问题,把人们从繁重的体力和危险的环境中解放出来,使人们有更好的岗位去工作,去创造更好的精神财富和文化财富。同时在设计这一门涉及到机械、电工、自动控制、传感技术等各方面融合的复杂问题过程中,设计出机器人结构和运动方案,熟练掌握MATLAB编写程序算法的基本技能,能够利用仿真工具包MATLAB Robotics Toolbox进行二次开发,对已设计的机器人的运动轨迹进行仿真;熟练运用Matlab的仿真计算功能,缩短研究时间,提高效率和节省成本,并通过整个研究设计工作,培养和提高自己多学科理论、知识和技能综合运用能力,掌握从事工程技术工作时分析问题解决问题的一般思路和基本方法,加强创新意识、创新能力、创业精神和独立工作能力的培养46。2仿象鼻机器人造型及坐标系建立2.1仿象鼻机器人的造型图2.1仿象鼻机器人的三维模型对仿象鼻机器人造型,依据仿生学原理研究象鼻的结构和功能原理,结合所学的机械专业方面的知识对仿象鼻机器人进行参数设计,并使用Solidworks软件绘制机器人三维模型,建立三维机器人模型。实体模型及其连杆坐标系对于本文叙述的仿象鼻机器人(参见图2.1),底座控制机器人弯曲所在平面的方向,躯体由5个关节结构单元构成,每个关节结构单元又由一个水平旋转结构和两个伸缩结构分别控制机器人的水平转向、竖直方向伸长距离和弯曲角度,最顶端是机器人滑槽式机械手爪,通过驱动伸缩结构来控制手爪开合,用于抓取物体。下面,我们对该机器人参数设计所要达到的目标及设计情况进行简要的叙述,文中设计的仿象鼻机器人希望用于作为搬运机器人或装配机器人,要求能够灵活控制各个关节实现末端机械手在三维方向上的自由移动,进而完成预定的任务。而具体的参数如何以及具体的控制方式,则是由预定的工作任务来决定的,在此对于参数设计而言,并没有严格的要求。2.2各关节坐标系的建立和D-H变换机器人学中关于运动学和动力学最常用的描述方法是矩阵法,这种数学描述是以四阶方阵变换三维空间点的齐次坐标为基础的。如已知直角坐标系A中的某点坐标,那么该点在另一直角坐标系B中的坐标可通过齐次坐标变换求得。矩阵法、齐次变换等概念是机器人学研究中最为重要的数学基础。由于旋转变换通常会带来大量的正余弦计算,复合变换带来的多个矩阵相乘就更加难以手工计算,因此我们建议在仿真教学中通过计算机进行相应的坐标变换计算。利用MATLAB Robotics Toolbox工具箱中的功能函数可以非常容易的实现用齐次变换矩阵表示平移变换和旋转变换79。 为描述相邻杆件间平移和转动的关系,Denauit和hartenbery于1956年提出了一种为关节链中的每一杆件建立附体坐标系的矩阵方法.D-H方法是为每个关节处的杆件坐标系建立44 齐次变换矩阵,表示它与前一杆件坐标系的关系,其原理如下:该象鼻机器人主要由底座、水平连杆关节手臂和机械手爪构成OXYZ:与固定坐标相连的固定参考坐标系,称为基坐标系OiXiYiZi:与机器人的第i个杆件相固连,坐标原点在第i+1关节的中心点处确定和建立每个坐标系遵循以下三条规则:Zi-1轴沿着第i关节的运动轴; Xi轴垂直于Zi-1轴及Zi轴并指向离开Zi-1轴的方向;Yi轴按右手坐标系的要求建立同时;同时,刚性杆件的表示法取决于连杆的以下四个参数:i:两连杆的夹角;di:两连杆的距离;ai:连杆的长度(即Zi轴和Zi-1轴间的最小距离);i:连杆的扭转角对于转动关节,i是关节变量,其余为关节参数(保持不变);对于移动关节,di是关节变量,其余为关节参数1012。连杆长度是由工作任务要求的工作空间的形状和体积来决定的,按上文D-H变换的叙述,结合该机器人的结构及它将完成的任务,所设计机器人连杆参数如下:表2.2机器人“Robot001”各连杆的D-H参数和关节变量连杆i/()d/()a/()/() 变量范围100-90-360 +360220090-60 +6030d00+60 +200400-90-360 +360520090-60 +6060d00+60 +200700-90-360 +360820090-60 +6090d00+60 +2001000-90-360 +3601120090-60 +60120d00+60 +2001300-90-360 +3601420090-60 +60150d00+60 +2003 机器人运动学仿真算法3.1机器人正向运动学问题 所谓运动学正问题1012,就是对于一机器人,给定杆件的几何参数和关节的位移,求解末端连杆坐标系相对于基坐标系的位姿。为求解运动学方程式,我们用齐次变换矩阵i-1Ai来描述第i坐标系相对于i-1坐标系的位置和方位,记作:Ai= (3-1)机器人末端执行器坐标系的坐标相对于连杆i-1坐标系的齐次变换矩阵用i-1T表示为: i-1Tn=AiAi-1An(3-2)特别地,当i=n时,可求得T=0Tn,它确定了机器人末端执行器相对于机身坐标系的齐次变换矩阵,可表示为:Tn=A1A2An=(3-3)其中:A1=A2=A3=A4=A5=A6=A7=A8=A9=A10=A11=A12=A13=A14=A15=3.2机器人逆向运动学问题机器人逆向运动学问题1315,就是已知末端连杆的位置和方位(可表示为位姿矩阵T,),求得机器人的各个关节变量,对于上述的“robot001”,需要求解的变量为、a、d、。机器人逆向运动学问题的求解方法是:将运动方程式的两端依次左乘各A矩阵的逆矩阵,并使两端相等矩阵的对应元素相等,解得方程即可求得各关节变量。先用i-1Tn表示连杆n的坐标系与连杆i-1坐标系的关系:i-1Tn=AiAi-1An(3-4)求解关节变量的方程式如下:A1-1Tn=1TnA2-1A1-1Tn=2TnA3-1A2-1A1-1Tn=3TnAn-1-1An-2-1An-3-1A1-1Tn=n-1Tn4轨迹规划机器人轨迹轨迹泛指机器人在运动过程中的运动轨迹,即运动点的位移、速度和加速度。机器人在作业空间要完成给定的任务,其手部运动必须按一定的轨迹进行。轨迹的生成一般是先给定轨迹上的若干点,将其经运动反解映射到关节空间,对关节空间中的相应点建立运动方程,然后按运动方程对关节进行插值,从而实现作业空间的运动要求,这一过程通常称为轨迹规划。机器人轨迹规划的任务就是根据机器人手臂要完成的一定任务,是根据机器人要完成的任务设计机器人各关节的运动规律。例如要求机械手从一点运动到另一点或沿一条连续轨迹运动,来设计机器人各关节的运动函数。轨迹规划主要有两种方案:点位作业(PTP=point-to-point motion),点到点运动的轨迹规划连续路径作业(continuous-path motion),或者称为轮廓运动(contour motion),连续路径运动的轨迹规划对于连续路径运动,不仅要规定机械手的起始点和终止点,而且要指明两点之间的若干中间点(称路径点),必须沿特定的路径运动(路径约束)本文设计的仿象鼻机器人,采用了点到点运动的轨迹规划设它的起始点为A,运动到B点完成一定任务后,再将B点视为起始点,运动到C点完成了预定工作任务,然后又将C点视为起始点,继续运动,这里,对于形如A点到B点,B点到C点的运动,它们之间不存在任何的中间点,并且对于运动的路径也没有设置要求.因而,可以将上述规划视为PTP规划1012。5 MATLAB运动仿真5.1Robotics Toolbox建模在Robotics Toolbox中,能够用一种规范的形式(标准的或改进的DH参数法)对任意的连杆机器人进行描述,并提供了三维图像/动画演示及手动关节变量调节等功能,这些功能在机器人学相关科学研究中都得到充分的应用。构建机器人对象主要在于构建各个关节,而构建关节时,会用到link函数,其一般形式为:L =link(alpha A theta D sigma, CONVENTION)参数CONVENTION可以取standard和modified,其中standard代表采用标准的D-H参数4,可省略;modified代表采用改进的D-H参数5。参数alpha代表扭转角 ,参数A代表连杆长度,参数theta代表关节角,参数D代表偏距,参数sigma代表关节类型:0代表旋转关节,非0代表平动关节。我们可以通过drivebot,函数来驱使机器人运动,输入并执行命令drivebot(r),可以立刻看到该机器人的三维图,具体驱动方式是为机器人每个自由度生成一个变化范围的滑动条,并且,可以用手动的方式,通过驱动图中的滑动条,来驱动机器人的各个关节,最终达到驱使机器人运动,就像实际控制着机器人一样,见图1所示,这种方式对于实际的多连杆机械手的运动演示非常有益,同时对于机械手的关节、变量等概念有了更深入的理解,对机器人的教学和培训带来了极大方便。在对上述规划轨迹进行仿真前,先输入机器人的参数,并命名为“robot001”,命令如下:clc;clear;L1=link(-pi/2 0 0 0 0);%转动关节L2=link(pi/2 0 0 0.02 0);%转动关节L3=link(0 0 0 0.08 1);%平动关节L4=link(-pi/2 0 0 0 0);L5=link(pi/2 0 0 -0.02 0);L6=link(0 0 0 0.08 1);L7=link(-pi/2 0 0 0 0);L8=link(pi/2 0 0 0.02 0);L9=link(0 0 0 0.08 1);L10=link(-pi/2 0 0 0 0);L11=link(pi/2 0 0 -0.02 0);L12=link(0 0 0 0.08 1);L13=link(-pi/2 0 0 0 0);L14=link(pi/2 0 0 0.02 0);L15=link(0 0 0 0.08 1);r=robot(L1 L2 L3 L4 L5 L6 L7 L8 L9 L10 L11 L12 L13 L14 L15);%构建机器人=robot001;%为机器人命名drivebot(r)%驱动机器人r这样,只需指定相应的D-H参数,我们便可以对任意种类的机器人进行建模。图5.1a机器人的滑动控制框图5.1b“robot001”的初始姿态三维图(注意到机械手的末端附有一个小的右手坐标系,分别用红、绿、蓝色箭头代表机械手腕关节处的X,Y,Z轴方向)5.2机器人动作姿态5.2.1机器人伸展动作姿态图5.2.1a机器人伸展动作滑动控制图5.2.1b 机器人伸展动作姿态5.2.2机器人弯曲动作姿态图5.2.2a 机器人弯曲动作滑动控制图5.2.2b机器人弯曲动作姿态5.2.3机器人蜿蜒动作姿态图5.2.3a机器人蜿蜒动作滑动控制图5.2.3b 机器人蜿蜒动作姿态5.3命令函数调用5.3.1fkine函数调用利用MATLAB中Robotics Toolbox工具箱中的transl、rotx、roty和rotz可以实现用齐次变换矩阵表示平移变换和旋转变换。举例如:transl(0.5,0,0)%机器人在x轴方向平移了0.5米rotx(pi/4)%机器人绕x轴旋转45度我们可以用下面的方法来求取平移变换后的齐次矩阵,利用Robotics Toolbox中的fkine函数可以实现机器人运动学正问题的求解。fkine函数的调用格式:TR =fkine(robot, q)%参数robot为一个机器人对象,TR为由q定义的每个前向运动学的正解。qA=0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;qAB=0 0.6283 0.08 0 0.6283 0.08 0 0.6283 0.08 0 0.6283 0.08 0 0.6283 0.08;TB=fkine(r,qAB);TB= 5.3.2ikine函数调用按预定轨迹进行仿真(仅对A到B,B到C进行仿真示例)对于A、B、C三点,A点处于起始位置,可表示为qA=0 0 0 0 0 0 0 0 0 0 0 0 0,即表示机器人的各个关节都处于图示的零位置处。机械手在B点和C点相对于基坐标系的位姿可用齐次变换矩阵TB和TC表示,然后,按运动学逆问题的解决方法,可以求得A到B,B到C的各个关节变量。qA=0 0 0 0 0 0 0 0 0 0 0 0 0 0 0%定义所有关节变量的初值TB= qAB=ikine(r,TB);%对机器人进行运动学逆问题求解;qAB=0.6280 -0.5875 0.7364 -0.1047 0.2776 0.0665 -0.1592 -0.0999 -0.5016 -0.6253 -0.7093 -0.4356 -0.4356%它说明机械手由A到B,1关节需正向转动0.6280,2关节需反向转动0.5875,3关节需向前移动0.7364,4关节需反向转动0.1047,5关节需向前移动0.2776最后一个关节需反向转动 0.4356(转动关节单位为 rad,移动关节单位为m)TC= qBC=ikine(r,TC)-ikine(r,TB);qBC=0.0138 0.2575 -0.3560 -0.0407 -0.1160 -0.1506 0.1248 -0.0570 0.3111 0.2613 0.4069 -0.1061 -0.1061%它说明机械手由B到C,1关节需正向转动0.0138,2关节需正向转动0.2575,3关节需向后移动0.3560,4关节需反向转动0.0407,5关节需向后移动0.1160最后一个关节需反向转动 0.10615.3.3jtraj函数调用利用Robotics Toolbox提供的jtraj函数可以实现关节空间规划jtraj函数的调用格式: Q QD QDD = jtraj(Q0, Q1, N) Q QD QDD = jtraj(Q0, Q1, N, QD0, QD1) Q QD QDD = jtraj(Q0, Q1, T) Q QD QDD = jtraj(Q0, Q1, T, QD0, QD1)参数Q为从状态Q0到Q1的关节空间规划轨迹,N为规划的点数,T为给定的时间向量的长度,速度非零边界可以用QD0和QD1来指定。QD和QDD为返回的规划轨迹的速度和加速度。q,qd,qdd=jtraj(qz,qr,t);其中t为时间向量,qz为机器人的初始位姿,qr为机器人的最终位姿,q为经过的路径点,qd为运动的速度,qdd为运动的加速度。其中q、qd、qdd都是六列的矩阵,每列代表每个关节的位置、速度和加速度。如q(:,3)代表关节3的位置,qd(:,3)代表关节3的速度,qdd(:,3)代表关节3的加速度。jtraj函数采用的是7次多项式插值,默认的初始和终止速度为0。对于绘制的运动轨迹,通过MATLAB标准的绘图函数可以清楚的看到主要运动关节随时间的变化过程。还可以通过Robotics Toolbox扩展了的plot函数对机器人由A到B的运动进行仿真,这时就可以看到机器人各关节的具体运动情况,调用语句为:plot(robot001,q);5.4仿象鼻机器人动作轨迹规划5.4.1弯曲动作轨迹规划要实现轨迹规划,首先我们要创建一个时间向量,假设在两秒内完成某个动作,采样间隔是56ms,起始和终止时刻关节速度为0,各关节平滑过渡,那么可以用如下的命令来实现仿象鼻机器人弯曲动作轨迹规划:t=0:0.056:2;%产生时间向量qA=0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;qAB=0 0.6283 0.08 0 0.6283 0.08 0 0.6283 0.08 0 0.6283 0.08 0 0.6283 0.08;q,qd,qdd=jtraj(qA,qAB,t);%为构建轨迹命令plot(r,q);%对机器人由A到B的运动进行仿真figuresubplot(3,3,1);plot(t,q(:,1);xlabel(时间t/s);ylabel(关节1角位移rad);grid onsubplot(3,3,2);plot(t,q(:,2);xlabel(时间t/s);ylabel(关节2角位移rad);grid onsubplot(3,3,3);plot(t,q(:,3);xlabel(时间t/s);ylabel(关节3线位移m);grid onsubplot(3,3,4);plot(t,qd(:,1);xlabel(时间t/s);ylabel(关节1角速度/rad);grid onsubplot(3,3,5);plot(t,qd(:,2);xlabel(时间t/s);ylabel(关节2角速度/rad);grid onsubplot(3,3,6);plot(t,qd(:,3);xlabel(时间t/s);ylabel(关节3线速度m/s);grid onsubplot(3,3,7);plot(t,qdd(:,1);xlabel(时间t/s);ylabel(关节1角加速度/rad2);grid onsubplot(3,3,8);plot(t,qdd(:,2);xlabel(时间t/s);ylabel(关节2角加速度/rad2);grid onsubplot(3,3,9);plot(t,qdd(:,3);xlabel(时间t/s);ylabel(关节3线加速度m/s2);grid on图5.4.1 弯曲动作的前3个关节轨迹曲线5.4.2蜿蜒动作轨迹规划用如下的命令来实现象鼻机器人蜿蜒动作轨迹规划:t=0:0.056:2;qA=0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;qAB=0 0.6283 0.08 0 0.6283 0.08 0 -0.6283 0.08 0 -0.6283 0.08 0 -0.6283 0.08;q,qd,qdd=jtraj(qA,qAB,t);%为构建轨迹命令plot(r,q);figuresubplot(3,3,1);plot(t,q(:,13);xlabel(时间t/s);ylabel(关节13角位移rad);grid onsubplot(3,3,2);plot(t,q(:,14);xlabel(时间t/s);ylabel(关节14角位移rad);grid onsubplot(3,3,3);plot(t,q(:,15);xlabel(时间t/s);ylabel(关节15线位移m);grid onsubplot(3,3,4);plot(t,qd(:,13);xlabel(时间t/s);ylabel(关节13角速度/rad);grid onsubplot(3,3,5);plot(t,qd(:,14);xlabel(时间t/s);ylabel(关节14角速度/rad);grid onsubplot(3,3,6);plot(t,qd(:,15);xlabel(时间t/s);ylabel(关节15线速度m/s);grid onsubplot(3,3,7);plot(t,qdd(:,13);xlabel(时间t/s);ylabel(关节13角加速度/rad2);grid onsubplot(3,3,8);plot(t,qdd(:,14);xlabel(时间t/s);ylabel(关节14角加速度/rad2);grid onsubplot(3,3,9);plot(t,qdd(:,15);xlabel(时间t/s);ylabel(关节15线加速度m/s2);grid on图5.4.2 蜿蜒动作的后3个关节轨迹曲线6仿真结果分析从图5.1和5.2可以得出,通过驱动滑块改变机器人各关节变量来使机
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。