二自由度机器人的位置控制_第1页
二自由度机器人的位置控制_第2页
二自由度机器人的位置控制_第3页
二自由度机器人的位置控制_第4页
二自由度机器人的位置控制_第5页
免费预览已结束,剩余4页可下载查看

下载本文档

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

文档简介

1、精品文档实验 二自由度机器人的位置控制一、实验目的1 .运用Matlab语言、Simulink及Robot工具箱,搭建二自由度机器人的几何 模型、动力学模型,2 .构建控制器的模型,通过调整控制器参数,对二自由度机器人的位姿进行控制,并达到较好控制效果。二、工具软件I.Matlab 软件2.Simulink动态仿真环境3 .robot工具箱模型可以和实际中一样,有自己的质量、质心、长度以及转动惯量等,但需要注意的 是它所描述的模型是理想的模型,即质量均匀。这个工具箱还支持Simulink的功能,因此,可以根据需要建立流程图,这样就可以使仿真比较明了。把robot工具箱拷贝到 MATLAB/to

2、olbox文件夹后,打开matalb软件,点击file-set path,在打开的对话框中选 add with subfolders ,选中添加 MATLAB/toolbox/robot , 保存。这是在matlab命令窗口键入roblocks就会弹出robot工具箱中的模块(如下图)三、实验原理在本次仿真实验中,主要任务是实现对二自由度机器人的控制, 那么首先就要创建二自由度机器人对象,yo jlX0二自由度机器人坐标配置仿真参数如下表1:表1二连杆参数配置意义符号值单位杆1长l 10.45m杆2长l 20.55m杆1重心l c10.091m杆2重心l c20.105m杆1重量m23.90k

3、g杆2重量m24.44kg杆1惯量111.27kg. m2杆2惯量I 20.242kg. m重力加速度G9.8m /sec21 .运动学模型构建二连杆的运动学模型,搭建twolink模型在MATLAB令窗口下用函数drivebot(WJB)即可观察到该二连杆的动态位姿图。件名命名为自己名字的首字母 _twolink % 勾造连杆一L1=link(0 0.45 0 0 0,'standard');L1.m=23.9 ;L1.r=0.091 0 0;L1.I=0 0 0 0 0 0;L1.Jm=0 ;L1.G=1 ;% 勾造连杆二L2=link(0 0.55 0 0 0,'

4、standard');L2.m=4.44 ;L2.r=0.105 0 0;L2.I=0 0 0 0 0 0;L2.Jm=0 ;L2.G=1 ;% (机器人的名字请用自己名字的首字母如)WJB=robot(L);WJB.name='WJB_twolink' ; %设定二连杆名字qz=0 0;qr=0 pi/2;2 .二连杆动力学部分实现机器人内部动力学构建,根据拉格朗日法建立机器人动力学模型 (见书 上P55)即下式:1q M ( G(q) C(q,q)*q)仍然用matlab下M函数来实现:%文件名命名为自己名字的首字母_di%匚连杆动力学部分function qdd=

5、WJB_dl(u) % 自己名字的首字母q=u(1:2); qd=u(3:4); tau=u(5:6);g=9.8;m1=23.9 ; m2=4.44 ;l1=0.45 ; l2=0.55 ;lc1=0.091 ;lc2=0.105 ;I1=1.27 ; I2=0.24 ;M11=m1*lc1A2+m2*(l1A2+lc2A2+2*l1*lc2*cos(q(2)+I1+I2 ;M12=m2*(lc2A2+l1*lc2*cos(q(2)+I2 ;M21=m2*(lc2A2+l1*lc2*cos(q(2)+I2 ;M22=m2*lc2A2+I2 ;M=M11 M12 ;M21 M22;C11=-(

6、m2*l1*lc2*sin(q(2)*qd(2);C12=-m2*l1*lc2*sin(q(2)*(qd(1)+qd(2);C21=m2*l1*lc2*sin(q(2)*qd(1);C22=0 ;C=C11 C12 ;C21 C22;G1=(m1*lc1+m2*l1)*g*sin(q(1)+m2*lc2*g*sin(q(1)+q(2);G2=m2*lc2*g*sin(q(1)+q(2);G=G1 ;G2;qdd=inv(M)*(tau-G-C*qd)qdd最后,还需将机器人动力学和几何学联系在一起。 通过机器人学工具箱中的robot模块实现。3 .控制器设计(任选一二)(1)简单PD控制率,结

7、构图如下,此种方法没有加任何补偿,存在较大稳态误 差,但是控制算法非常简单。8mt2) ) PD加重力补偿带有重力补偿的PD控制可设计成t=Kp(q 期望值-q)-Kd*qd+G(q)重力项3) PD加前馈补偿控制加了一个逆动力学模块t=Kp(q 期望值-q)+Kd*(q期望值一阶导-q 一阶导)+M (q) *q二阶导+C*q 一阶导+G (q)四、实验步骤1 .运动学模型 在matlab菜单file下新建一个M-file ,将机器人运动学模型 添加进去(注意更改自己的机器人命名,自己名字的首字母缩写_twolink ),并将 此M-file命名后保存在work文件夹下,备用。2 .在mat

8、lab命令窗口调用函数drivebot (机器人名字一自己名字首字母的缩 写,不加twolink ),出现机器人的动态位姿图,调节 q1、q2可直观的看出二自 由度机器人的位姿在改变。3 .动力学模型在matlab菜单file 下再新建一个M-file ,将机器人动力学学模型添加进去,并将此 M-file 命名后(自己名字首字母_mdl)保存在work 文件夹下,备用。4,将机器人运动学模型和动力学模型联系起来在matlab命令窗口输入命令roblocks调出robot工具箱,再输入simulink 调出SImulink动态仿真环境。5、在Matlab菜单file 下新建一个 model,将r

9、obot工具箱中的robot模块拖 拽到model文件里,双击编辑机器人属性,将robot object 改为机器人的名字 (自己名字首字母的缩写)(即运动学构建的机器人对象)。再选中robot模块,右键菜6欢在下载精品文档单找到 look under mask ,点开,可以找到机器人内部动力学模型,将其中的S-Function 替换成 Simulink 下面的 Matlab Function ,双击此Matlab Function 弹出对话框,将其中的函数改为动力学模型文件名。6. 添加控制器根据控制器设计的方案,在Simulink 下找出构成控制系统的其他模块,其中综合点及 matrix

10、gain 在 math operations 里;示波器 scope和终止端 terminator 在输出池sinks 里;常量constant 在输入模块sources 里;将各个模块拖拽到model 文件里,可以通过鼠标拖住连线。7、动态仿真双击综合点,将其属性改成有一个减号,形成负反馈;常量constant 给定你期望位姿(注意是二自由度机器人,需输入2*!的矩阵),初步给定KP、 KD参数( 2*2 的矩阵) 。在 model 文件菜单栏下面,点击一个箭头(start simulation )或者在菜单栏点击 Simulation ,在下拉菜单中选择start simulation ,即可开始仿真,此时双击打开scope即可得到响应曲线。调整不同的 Kp> KD即可得到不同的响应曲线,不同的控制效果。五、实验报告要求1、手动调节机器人的位姿,抓出机器人的

温馨提示

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

评论

0/150

提交评论