二自由度机器人位置控制.docx
《二自由度机器人位置控制.docx》由会员分享,可在线阅读,更多相关《二自由度机器人位置控制.docx(39页珍藏版)》请在冰点文库上搜索。
![二自由度机器人位置控制.docx](https://file1.bingdoc.com/fileroot1/2023-4/30/17a98e8a-4349-4ae9-a82b-f9a61c654eba/17a98e8a-4349-4ae9-a82b-f9a61c654eba1.gif)
二自由度机器人位置控制
二自由度机器人角度控制仿真
摘要
近二十年来,机器人技术发展非常迅速,各种用途的机器人在各个领域广泛获得应用。
我国在机器人的研究和应用方面与工业化国家相比还有一定的差距,因此研究和设计各种用途的机器人特别是工业机器人、推广机器人的应用是有现实意义的。
本次设计主要是对二自由度机器人的位置控制进行设计和仿真,采用了PD控制方法,运用MATLAB语言、Simulink及Robot工具箱,搭建二自由度机器人的几何模型、动力学模型。
并构建控制器的模型,通过调整控制器参数,对二自由度机器人的位姿进行控制,并将实验中采集到数据导入到MATLAB环境中进行仿真,达到较好的控制效果。
关键词:
PD,运动学,二自由度机器人
TwodegreesoffreedomrobotAnglecontrolsimulation
ABSTRACT
Overthepasttwentyyears,robottechnologyisdevelopingveryrapidly,variousUSESofrobotsinallfieldswidely.Inresearchandapplicationofrobotinourcountry,thereisstillagapcomparedwithindustrializedcountries,sotheresearchanddesignallkindsofrobots,especiallyindustrialrobot,thepromotionoftheuseofrobotshasarealisticsignificance.
ThisdesignismainlyfortwodegreesoffreedomRobotpositioncontroldesignandsimulation,thePDcontrolmethodisadopted,usingtheMATLABlanguage,theSimulinkandRobotkit,twodegreesoffreedomRobotgeometrymodel,thedynamicmodel.Andbuildthemodelofthecontroller,byadjustingthecontrollerparameters,tocontroltwodegreesoffreedomrobotpose,andtheexperimentcollecteddataimportedtoMATLABsimulationenvironment,achievegoodcontroleffect.
KEYWORDS:
PD,motioncontrol,2-DOFparallelrobot
目 录
前 言
机器人是二十世纪人类最伟大的发明之一,人类对于机器人的研究由来已久。
上世纪70年代之后,计算机技术、控制技术、传感技术和人工智能技术迅速发展,机器人技术也随之进入高速发展阶段,成为综合了计算机、控制论、机构学、信息和传感技术、人工智能、仿生学等多门学科而形成的高新技术。
其本质是感知、决策、行动和交互四大技术的综合,是当代研究十分活跃,应用日益广泛的领域。
机器人应用水平是一个国家工业自动化水平的重要标志。
工业机器人是一种机体独立,动作自由度较多,程序可灵活变更,能任意定位,自动化程度高的自动操作机械。
主要用于加工自动线和柔性制造系统中传递和装卸工件或夹具。
工业机器人以刚性高的手臂为主体,与人相比,可以有更快的运动速度,可以搬运更重的东西,而且定位精度相当高,它可以根据外部来的信号,自动进行各种操作。
第1章绪论
1.1研究背景
机器人是一种能够进行编程,并在自动控制下执行某种操作或移动作业任务的机械装置。
机器人技术综合了机械工程、电子工程、计算机技术、自动控制及人工智能等多种科学的最新研究成果,是机电一体化技术的典型代表,是当代科技发展最活跃的领域。
机器人的研究、制造和应用正受到越来越多的国家的重视。
近十几年来,机器人技术发展非常迅速,各种用途的机器人在各个领域广泛获得应用。
我国是从20世纪80年代开始涉足机器人领域的研究和应用的。
1986年,我国开展了“七五”机器人攻关计划。
1987年,我国的“863”计划将机器人方面的研究列入其中。
目前,我国从事机器人的应用开发的主要是高校和有关科研院所。
最初我国在机器人技术方面的主要目的是跟踪国际先进的机器人技术,随后,我国在机器人技术及其应用方面取得了很大成就。
主要研究成果有:
哈尔滨工业大学研制的两足步行机器人,自动化研究所1993年研制的喷涂机器人,1995年完成的高压水切割机器人,国家开放实验和研究单位沈阳自动化研究所研制的有缆深潜300m机器人,无缆深潜机器人,遥控移动作业机器人,2000年国防科技大学研制的两足类人机器人,北京航空航天大学研制的三指灵巧手,华南理工大学研制的点焊、弧焊机器人,以及各种机器人装配系统等。
我国目前拥有机器人4000台左右,主要在工业发达地区应用,而全世界应用机器人数量为83万台,其中主要集中在美国、日本等工业发达国家。
在机器人研究方面,我国与发达国家还有一定差距。
1.2选题的意义
在机器人研究方面,二自由度机器人的研究已比较深入和成熟应用,二自由度机器人的自由度较少,属于少自由度机器人的范畴[1],其结构更加简单,经济便宜,而且运动封闭,运动容易实现解耦;而且其运动平台可以只在一个平面上做纯移动,这样易于实现机器人运动控制。
因此少自由度机器人是国际上机器入学研究的热点之一,而少自由度机器人中的二自由度机器人机构更是受到了关注。
南京航空航天大学的熊启家和吴洪涛提出了一类新型平面二自由度机构[2],可用作二自由度平面运动的工作台,他们分析了这种机构运动学的正反解,获得了该机构动力学模型。
然后基于该动力学模型,对机构的反向动力学进行仿真计算分析,从而获得了运动状态下机构驱动电机的驱动力和各构件的受力情况,由此为该机构的设计及具体应用奠定了坚实的基础。
王启明和汪劲松也对二自由度的机器人操作臂进行了运动学和动力学建模和仿真[3],北京工业大学的刘善增对平面二自由度机器人做了动力学设计[4]。
Xin.JumLiu不但对二自由度机器人的运动学和动力学做了分析,而且还对二自由度并机器人的型综合做了探讨[5];虽然国内外的专家和学者都为少自由度并联机器人的研究做出了努力,但在下列几个方向上的研究还需要更进一步:
1)加强对少自由度机器人机构的型综合问题的研究,这样才能寻求结构更加合理、适合不同用途的机构,使机构的运动学和动力学模型变得简单。
2)加强对少自由度机器人控制理论、控制系统,要设计出一套相应的少自由度机器人的运动控制系统,能够对机器人的运动轨迹、位置定位进行精确控制,并且能根据其运动轨迹编写出相应的运动控制算法。
第2章机器人运动学及动力学
2.1运动学概述
机器人手臂运动学研究的是手臂各连杆间的位移关系、速度关系和加速度关系,本章只讨论位移关系。
机器人手臂可以看作为一个开式运动链,它是由一系列连杆通过转动或移动关节串联而成的。
开链的一端固定在基座上,另一端是自由的,安装着手爪(或称末端执行器),用以操作物体,完成各种作业。
关节由驱动器驱动,关节的相对运动导致连杆的运动,使手爪到达所需的位姿。
在轨迹规划时,人们最感兴趣的是操作臂末端执行器相对于固定参考系的空间描述。
运动学包括正运动学和逆运动学。
正运动学是已知各关节的角度来确定末端执行器的位置和姿态:
而逆运动学是由末端执行器的位置和姿态来反求达到此位姿的各关节的角度。
运动学求解主要有两种方法,第一种是基于Denavit和Hartenberg提出一种通用的方法(D—H法),在每个连杆上固接一个坐标系,两连杆的空间关系,从而推导出“手爪坐标系”相对于“参考系”的等价齐次变换短阵,建立操作臂的运动方程。
第二种是基于旋量理论的指数积(Product—of—ExponentialmPOE)公式砼1将机器人的运动学方程表示成运动旋量的指数积形式,从而构造与关节构型无关的运动学正、逆解形式。
而本章将采用D-H法建立机器人的运动学方程。
2.2机械手
2.2.1机器手的机构和运动
进行机械手的机构设计和控制时,在正确定义机械手的机构后,需要恰当地表现机构的运动。
图2-1表示的上述二自由度机械手的连杆机构。
由于机械手的运动主要由连杆机构来决定,所以大多数场合是把称为驱动器的执行元件及减速器去掉后来进行分析。
驱动器可以根据需要添加上去。
图2-1二自由度机械手的连杆机构
图2-1中的连杆机构是带有垂直纸面回转关节的关节结构,通过确定连杆长度L1、L2,以及关节角θ1、θ2,可以定义连杆机构。
在这个例子中采用了回转关节(revolute,joint),但有的场合也可以采用进行直线动作的棱柱形关节(prismatic,joint)。
表示关节位置一般称为关节变量(joint,val-uable)。
在处理机械手的运动时,若把作业方式主要依靠手爪来实现的,则应考虑手爪的位置(图中的点P的位置)。
在下面章节所讲述的一般场合中,手抓姿势也可表示手的位置。
从几何学的观点来处理这个手爪位置与关节变量的关系称之为运动学(kinematics)。
下面我们引入向量分别表示手爪位置r、关节变量θ来介绍一下图2-1的二自由度机械手的运动学。
手爪位置的各分量,按几何可表示为
(2-1)
(2-2)
这个关系可用向量表示,一般可表示为:
(2-3)
式中f表示向量函数。
这样,从关节变量求手爪位置称之为正运动学(forwardkinematics).式(2-3)称为运动学方程式。
反之,从给定的手爪位置求关节变量称之为逆运动学(inversekinematics),具体地由图2-2的分析可得下面的公式:
图2-2二自由度机械手的逆运动学
(2-4)
(2-5)
(2-6)
式(2-4)~(2-6)若用式(2-3)同样的向量表示法表示,则可表示为:
θ=f(r)(2-7)
上述的正运动学和逆运动学称为运动学。
把式(2-3)的两边微分即可得到手爪速度和关节速度的关系,若进一步进行微分将得到加速度之间的关系,处理这些关系也是运动学的问题。
至于机械手的作业要是手爪位置r依据作业内容适当的动作,但驱动器直接驱动的是关节变量θ。
因此,利用式(2-7)的运动学求出实现期望手爪位置r的关节变量,利用第三章中讲述的控制知识可以很好的做到这点。
2.2.2运动学及动力学关系
如图2-3所示,在机械手的手爪接触环境时,手爪爪力F和关节驱动τ的关系起重要作用。
图2-3手爪力和关节驱动力
在考虑控制时,重要的是机器人的动作中,关节驱动力τ会产生怎样的关节位置、关节速度、关节加速度。
处理这些关系称为动力学(dynamics)。
对于动力学来说,除了于连杆长度L有关之外,如图2-4所表示的那样,还与各连杆是质量m,绕质量中心的惯性矩I,连杆是质量中心与关节轴的距离L有关。
图2-4与动力学有关的各量
不仅把运动学,而且也把从静力学和动力学得到的机械手的特性用在控制当中,从而可以提高机械手的动作机能和性能。
2.3动力学概述
机器人动力学是对机器人机构的力和运动之间关系与平衡进行研究的学科。
机器人动力学是复杂的动力学系统,对处理物体的动态响应取决于机器人动力学模型和控制算法。
机器人动力学主要研究动力学正问题和动力学逆问题两个方面,需要采用严密的系统方法来分析机器人动力学特证。
2.4惯性矩分析
首先,在下图2-5里通过把质点的平移运动改作回转运动的分析,来了惯性矩的物理意义。
图2-5平移运动作为回转运动的解析
若将力F作用到质量为m的质点的平移运动,看作是运动方向的标量,则可以表示为
(2-8)
式中,
表示加速度。
若把这一运动看作是质量可以忽略的棒长为r的回转运动,则得到加速度和力的关系式为
(2-9)
(2-10)
式中,
和
是绕轴回转的角加速度和惯性矩。
将式(2-8)、(2-9)带入式(2-10),得到
(2-11)
则把式(2-11)改写,变为
(2-12)
(2-13)
式(2-13)是质点绕固定轴进行回转时的运动方程式。
I相当于平移运动是时的质量,称之为惯性矩。
求质量连续分布物体的惯性矩时,可以将其分割成假想的微小的物体,然后再把每个微笑物体的惯性矩加在一起。
这时,微小物体的质量
、极其微小体积
的关系,可用密度
表示为
(2-14)
所以,微小物体的惯性矩
(2-15)
因此,整个物体的惯性矩可像下式那样,作为于体积有关的积分值来求解。
(2-16)
2.5拉格朗日运动学方程
拉格朗日运动学方程可表示为
(2-17)
式中,q是广义坐标,
是广义力。
拉格朗日运动学方程式也可表示为
(2-18)
L是拉格朗日算子,K是动能,P是势能。
现就前面讲的一自由度机械手来求解。
假定
为广义坐标,则得到
,
,
由于
所以用
置换式(1.73)的广义坐标得到下式
(2-19)
下面推导二自由度的机械手运动方程式。
如下图2-6所示
图2-6二自由度机械手
在推导时,把把
,
当作广义力坐标,
,
当作广义力拉格朗日算子,带入式(2-17)的拉格朗日运动方程式就可以了。
第
个连杆的动能
、势能
可分别表示为
(2-20)
(2-21)
(2-22)
(2-23)
式中
是第
个连杆质量中心的位置向量。
(2-24)
(2-25)
(2-26)
(2-27)
应该注意到各连杆的动能可用质量中心平移运动的动能和绕质量中心回转运动的动能之和来表示。
由式(2-24)~(2-27),得到式(2-20),(2-22)中的质量中心速度平方和为
(2-28)
(2-29)
利用式(2-20)~(2-23)和式(2-27),(2-28),通过下式
(2-30)
可求出拉格朗日算子L,把它代入式(2-17)的拉格朗日运动方程式,整理后得到
(2-31)
式中
(2-32)
(2-33)
(2-34)
(2-35)
(2-36)
(2-37)
(2-38)
(2-39)
(2-40)
是惯性力;
是离心力;
表示加在机械手上的重力项,g是重力加速度常数。
第3章机器人运动控制系统
3.1概述
运动控制系统是以机械运动的驱动电机为控制对象,控制器为核心,电力电子功率变换装置为执行机构,在自动控制理论的指导下组成的电气传动控制系统。
这类系统控制电动机的转矩、转速和转角,将电能转换为机械能,实现运动机械的运动要求。
运动控制系统是由硬件和软件两部分组成。
在本文的二自由度并联机器人机构中,要实现对其运动平台的运动或轨迹的控制,实际上是完成对并联机器人的两个伺服驱动电机的控制,即对伺服电机进行位置和速度的控制。
3.1.1机器人控制特点
机器人的结构是一个空间开链机构,其各个关节的运动是独立的,为了实现末端点的运动轨迹,需要多关节的运动协调。
因此,其控制系统与普通的控制系统相比要复杂得多,具体如下:
(1)机器人的控制与机构运动学及动力学密切相关。
机器人手足的状态可以在各种坐标下进行描述,应当根据需要,选择不同的参考坐标系,并作适当的坐标变换。
(2)自由度数是机器人所具有的独立运动的关节数目,每个自由度一般包括一个私服机构,它们必须协调起来,组织一个多变量控制系统。
(3)把多个独立的伺服系统有机地协调起来,使其按照人的意识行动,甚至赋予机器人一定的智能,这个任务智能由计算机来完成。
(4)描述机器人状态和运动的数学模型是一个非线性模型,随着状态的不同和外力的变化,其参数也在变化,各变量之间还存在耦合。
因此,仅仅使用位置闭环是不够的,还要利用速度甚至加速度的闭环。
总而言之,机器人控制系统是一个运动学和动力学原理密切相关的、有耦合的、非线性的多变量控制系统。
然而到目前为止,机器人控制理论还是不完整、不系统的。
3.1.2机器人控制方式
1.点位式
很多机器人要求能准确地控制末端执行器的工作位置,而路径却无关紧要。
例如在印刷电路板上安插元件、点焊、装配等工作,都属于点位式工作方式。
一般来说,这种方式比较简单,但是要达到2~3μm的定位精度也是相当困难的。
2.轨迹式
在弧焊、喷漆、切割等工作中,要求机器人末端执行器按照示教的轨迹和速度运动。
如果偏离预定的轨迹和速度,就会使产品报废。
其控制方式类似于控制原理中的跟踪系统,可称之为轨迹伺服控制。
3.力矩控制方式
这种方式的控制原理与位置伺服控制原理基本相同,只不过输入量和反馈量不是位置信号,而是力(力矩)信号,因此系统中必须有力(力矩)传感器。
有时也利用接近、滑动等传感器功能进行自适应式控制。
4.智能控制方式
机器人的智能控制是通过传感器获得周围环境的知识,并根据自身内部的知识库作出相应的决策。
采用智能控制技术,使机器人具有较强的环境适应性及自学能力。
智能控制技术的发展有赖于近年人工神经网络、基因算法、遗传算法、专家系统等人工智能的迅速发展。
3.2PD控制器
下面我们来说明一下在反馈控制中常用的PD控制。
PD控制是最早发展起来的控制策略,是用于过程控制最有效的策略之一。
由于其原理简单、技术成,在实际应用中较易于整定,在工业控制中得到了广泛的应用。
它最大的优点是不需了解被控对象精确的数学模型,只需在线根据系统误差及误差的变化率等简单参数,经过经验进行调节器参数在线整定,即可取得满意的结果,具有很大的适应性和灵活性。
在PD控制的名称中:
P表示eruptional(比例),D表示derivative(微分),这意味着可利用偏差,偏差的微分值来控制。
如果用
表示偏差,则PD控制变为
(3-1)
式中,
称为比例增益,
称为微分时间。
它们是影响控制规律特征的参数,统称为反馈增益。
第4章MATLAB软件
4.1MATLAB简介
Matlab是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
Matlab和Mathworks、Maple并成为三大教学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
Matlab可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域,如图4-1为Matlab界面。
图4-1Matlab界面
Matlab的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用Matlab来解算问题要比用C、FORTRAN等语言完成相同的事情简捷的多,并且Matlab也吸收了像Maple等软件的优点,使Matlab成为一个强大的数学软件。
在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
可以直接调用,用户也可以将自己编写的实用程序导入到Matlab函数库中方便自己以后调用,此外许多的Matlab爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
4.2MATLAB的优势
(1)友好的工作平台和编程环境
Matlab由一系列工具组成。
这些工具方便用户使用Matlab的函数和文件,其中许多工具采用的是图形用户界面。
包括Matlab桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。
随着Matlab的商业化及软件本身的不断升级,MATLAB的用户界面越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。
而且新版本的Matlab提供了完整的联查询、帮助系统,极大的方便了用户的使用。
简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。
(2)简单易用的程序语言
Matlab一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。
用户可以在命令窗口中将输入语句与执行命令同步,也可以先编好一个较大的复杂的应用程序(M文件)后再一起运行。
新版本的Matlab语言是基于最流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。
使之更利于非计算机专业的科技人员使用。
而且这种语言可移植性好、可拓展性极强,这也是Matlab能够深入到科学研究及工程计算各个领域的重要应用。
(3)强大的科学计算机数据处理能力
Matlab是一个包含大量计算算法的集合。
其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。
函数中所使用的算法都是科研和工程计算中最新研究成果,而前经过了各种优化和容错处理。
在通常情况下,可以用它来代替底层编程语言,如C和C++。
在计算要求相同的情况下,使用Matlab的编程工作量会大大减小。
Matlab的这些函数集包括从最简单、最基本的函数到诸如矩阵、特征向量、快速傅立叶变换的复杂函数。
函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。
(4)出色的图形处理功能
Matlab自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。
高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。
可用于科学计算和工程绘图。
新版本的Matlab对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),Matlab同样表现了出色的处理能力。
同时对一些特殊的可视化要求,例如图形对话等,Matlab也有相应的功能函数,保证了用户不同层次的要求。
另外新版本的Matlab还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。
(5)应用广泛的模块集合工具箱
Matlab对许多专门的领域都开发了功能强大的模块集和工具箱。
一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。
目前,Matlab已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小