二自由度机器人的位置控制.docx

上传人:b****5 文档编号:3724375 上传时间:2022-11-24 格式:DOCX 页数:7 大小:109.77KB
下载 相关 举报
二自由度机器人的位置控制.docx_第1页
第1页 / 共7页
二自由度机器人的位置控制.docx_第2页
第2页 / 共7页
二自由度机器人的位置控制.docx_第3页
第3页 / 共7页
二自由度机器人的位置控制.docx_第4页
第4页 / 共7页
二自由度机器人的位置控制.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

二自由度机器人的位置控制.docx

《二自由度机器人的位置控制.docx》由会员分享,可在线阅读,更多相关《二自由度机器人的位置控制.docx(7页珍藏版)》请在冰豆网上搜索。

二自由度机器人的位置控制.docx

二自由度机器人的位置控制

实验二自由度机器人的位置控制

一、实验目的

1.运用Matlab语言、Simulink及Robot工具箱,搭建二自由度机器人的几何模型、动力学模型,

2.构建控制器的模型,通过调整控制器参数,对二自由度机器人的位姿进行控制,并达到较好控制效果。

二、工具软件

1.Matlab软件

2.Simulink动态仿真环境

3.robot工具箱

模型可以和实际中一样,有自己的质量、质心、长度以及转动惯量等,但需要注意的是它所描述的模型是理想的模型,即质量均匀。

这个工具箱还支持Simulink的功能,因此,可以根据需要建立流程图,这样就可以使仿真比较明了。

把robot工具箱拷贝到MATLAB/toolbox文件夹后,打开matalb软件,点击file--setpath,在打开的对话框中选addwithsubfolders,选中添加MATLAB/toolbox/robot,保存。

这是在matlab命令窗口键入roblocks就会弹出robot工具箱中的模块(如下图)。

三、实验原理

在本次仿真实验中,主要任务是实现对二自由度机器人的控制,那么首先就要创建二自由度机器人对象,

二自由度机器人坐标配置

仿真参数如下表1:

表1二连杆参数配置

意义

符号

单位

杆1长

l1

0.45

m

杆2长

l2

0.55

m

杆1重心

lc1

0.091

m

杆2重心

lc2

0.105

m

杆1重量

m1

23.90

kg

杆2重量

m2

4.44

kg

杆1惯量

I1

1.27

kg.m2

杆2惯量

I2

0.24

kg.m2

重力加速度

G

9.8

m/sec2

1.运动学模型构建二连杆的运动学模型,搭建twolink模型在MATLAB命令窗口下用函数drivebot(WJB)即可观察到该二连杆的动态位姿图。

%文件名命名为自己名字的首字母_twolink

%构造连杆一

L{1}=link([00.45000],'standard');

L{1}.m=23.9;

L{1}.r=[0.09100];

L{1}.I=[000000];

L{1}.Jm=0;

L{1}.G=1;

%构造连杆二

L{2}=link([00.55000],'standard');

L{2}.m=4.44;

L{2}.r=[0.10500];

L{2}.I=[000000];

L{2}.Jm=0;

L{2}.G=1;

%(机器人的名字请用自己名字的首字母如)

WJB=robot(L);

WJB.name='WJB_twolink';%设定二连杆名字

qz=[00];

qr=[0pi/2];

2.二连杆动力学部分

实现机器人内部动力学构建,根据拉格朗日法建立机器人动力学模型(见书上P55)即下式:

仍然用matlab下M函数来实现:

%文件名命名为自己名字的首字母_dl

%二连杆动力学部分

functionqdd=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*lc1^2+m2*(l1^2+lc2^2+2*l1*lc2*cos(q

(2)))+I1+I2;

M12=m2*(lc2^2+l1*lc2*cos(q

(2)))+I2;

M21=m2*(lc2^2+l1*lc2*cos(q

(2)))+I2;

M22=m2*lc2^2+I2;

M=[M11M12;M21M22];

C11=-(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=[C11C12;C21C22];

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)

最后,还需将机器人动力学和几何学联系在一起。

通过机器人学工具箱中的robot模块实现。

3.控制器设计(任选一二)

(1)简单PD控制率,结构图如下,此种方法没有加任何补偿,存在较大稳态误差,但是控制算法非常简单。

(2)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.在matlab命令窗口调用函数drivebot(机器人名字—自己名字首字母的缩写,不加twolink),出现机器人的动态位姿图,调节q1、q2可直观的看出二自由度机器人的位姿在改变。

3.动力学模型在matlab菜单file下再新建一个M-file,将机器人动力学学模型添加进去,并将此M-file命名后(自己名字首字母_mdl)保存在work文件夹下,备用。

4,将机器人运动学模型和动力学模型联系起来

在matlab命令窗口输入命令roblocks调出robot工具箱,再输入simulink调出SImulink动态仿真环境。

5、在Matlab菜单file下新建一个model,将robot工具箱中的robot模块拖拽到model文件里,双击编辑机器人属性,将robotobject改为机器人的名字(自己名字首字母的缩写)(即运动学构建的机器人对象)。

再选中robot模块,右键菜单找到lookundermask,点开,可以找到机器人内部动力学模型,将其中的S-Function替换成Simulink下面的Matlab—Function,双击此Matlab—Function弹出对话框,将其中的函数改为动力学模型文件名。

6.添加控制器根据控制器设计的方案,在Simulink下找出构成控制系统的其他模块,其中综合点及matrixgain在mathoperations里;示波器scope和终止端terminator在输出池sinks里;常量constant在输入模块sources里;将各个模块拖拽到model文件里,可以通过鼠标拖住连线。

7、动态仿真

双击综合点,将其属性改成有一个减号,形成负反馈;常量constant给定你期望位姿(注意是二自由度机器人,需输入2*!

的矩阵),初步给定KP、KD参数(2*2的矩阵)。

在model文件菜单栏下面,点击一个箭头(startsimulation)或者在菜单栏点击Simulation,在下拉菜单中选择startsimulation,即可开始仿真,此时双击打开scope即可得到响应曲线。

调整不同的Kp、KD即可得到不同的响应曲线,不同的控制效果。

五、实验报告要求

1、手动调节机器人的位姿,抓出机器人的动态位姿图。

要求每人构建的机器人命名不能一样。

2、要求搭建完整的仿真框图,调节不同的PD参数,比较响应曲线的优劣。

至少给出两组PD参数对应的响应曲线。

3、分析PD参数对控制系统的性能影响。

 

THANKS

 

致力为企业和个人提供合同协议,策划案计划书,学习课件等等

打造全网一站式需求

欢迎您的下载,资料仅供参考

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1