【《机械手运动学建模与分析案例》3200字】_第1页
【《机械手运动学建模与分析案例》3200字】_第2页
【《机械手运动学建模与分析案例》3200字】_第3页
【《机械手运动学建模与分析案例》3200字】_第4页
【《机械手运动学建模与分析案例》3200字】_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

机械手运动学建模与分析案例目录TOC\o"1-3"\h\u15099机械手运动学建模与分析案例 120091.1运动学理论概述 1206061.2机械手的运动学分析 514081.2.1连杆参数和连杆坐标系 591091.2.2运动学方程的建立 751751.3基于MATLAB的运动学仿真 969471.4几何分析法 101.1运动学理论概述刚体的位姿表示——位置描述为研究方便,本文将机械手看成是一种刚体的理想模型,即在外力作用下认为机械手的大小和形状都不变。在笛卡尔坐标系下,空间中任何一点P相对于直角坐标系{A}的位置可以用向量(3-1)表示,其中、、为点P在坐标系{A}中的三个坐标分量。刚体的位姿表示——姿态描述在笛卡尔坐标系下,可以利用固定于物体的坐标系描述方位,方位又称为姿态。在刚体B上设置直角坐标系{B},利用与{B}的坐标轴平行的三个单位矢量和表示刚体B在基坐标系中的姿态,则可得到表示姿态的旋转矩阵如下:(3-2)式中:可以证明,旋转矩阵是单位正交矩阵,且其逆变换等于其转置。图3-1单位空间点的位置图3-2刚体的方位刚体的位姿表示——位姿描述刚体的位置与姿态简称为位姿。相对于参考坐标系{A},坐标系{B}的原点位置和坐标轴的方位可以由位置矢量和旋转矩阵描述。为便于运算,将刚体B在参考坐标系{A}中的位姿写成齐次矩阵形式,如下:(3-3)式中,为刚体B相对于坐标系{A}的姿态的旋转矩阵,为坐标系{B}的原点在坐标系{A}中的位置矢量。坐标变换——平移坐标变换坐标变换是机器人学中常用的数学工具,主要包括坐标平移和坐标旋转两个基本部分。图3-3坐标平移如图6所示,坐标系{B}是坐标系{A}经过平移得到的,即两个坐标系的坐标轴平行,但坐标系的原点不同。则空间中任一点p在两坐标系的位置矢量之间的变换可用下式表示:(3-4)式中,为坐标系{B}相对于坐标系{A}的平移矢量。坐标变换——旋转坐标变化图3-4坐标旋转如图3-4所示,坐标系{B}是由坐标系{A}经过旋转得到的,即两个坐标系的原点相同,但坐标系方向不同。空间中任一点P在两坐标系的位置矢量之间的变换可用下式表示:(3-5)(3-6)式中,为坐标系{B}相对于坐标系{A}的旋转矩阵,为坐标系{A}相对于坐标系{B}的旋转矩阵。坐标变换——复合坐标变换图3-5复合坐标变换假设坐标系{B}是坐标系{A}经过平移和旋转得到的,即坐标系{B}与坐标系{A}的方位不同,原点也不相同。如图8所示,则可以看做是一个过渡坐标系{C}经过坐标旋转得到坐标系{B},而坐标系{C}是坐标系{A}经过平移得到的,则空间某一点p在两个坐标系中的坐标关系如下:(3-7)坐标变换——齐次坐标变化将位置矢量用齐次坐标表示,则复合坐标变换可以改写成矩阵乘积的形式:(3-8)式中,,,。对平移变换,其次变换可以表示为:(3-9)式中,a、b、c分别为沿X、Y、Z轴的平移量。对于旋转变化,绕X轴旋转角,则齐次变换可表示为:(3-10)绕Y轴旋转角,则齐次变换可表示为:(3-11)绕Z轴旋转角,则齐次变换可表示为:(3-12)对于齐次变换的逆变换,其一般形式可以表示为:(3-13)1.2机械手的运动学分析六自由度串联机械手由多个不同的杆件组成,为研究它们之间的运动关系,可在各个杆件上添加固定坐标系,描述各坐标系之间的运动关系。1955年Denavit和Hartenberg提出采用一个4×4的齐次变换法矩阵来描述相邻杆件之间的空间变换关系,从而可以推导出机械手末端点相对于基坐标系的齐次变换关系,以此建立机械手的运动方程ADDINEN.CITE<EndNote><Cite><Author>戴红</Author><Year>1998</Year><RecNum>245</RecNum><DisplayText><styleface="superscript">[1]</style></DisplayText><record><rec-number>245</rec-number><foreign-keys><keyapp="EN"db-id="tt9f2exapawfsveefx35pfa1rrezd2vrzfvf">245</key></foreign-keys><ref-typename="Book">6</ref-type><contributors><authors><author>戴红</author></authors></contributors><titles><title>康复医学</title></titles><pages>3-10</pages><section>3-10</section><dates><year>1998</year></dates><pub-location>北京</pub-location><publisher>人民卫生出版社</publisher><isbn>7117028343</isbn><urls></urls></record></Cite></EndNote>[22]。1.2.1连杆参数和连杆坐标系如果将机械手的各个部分抽象为一系列的刚性连杆,它们之间通过一个个关节连接在一起,所有的机械手都可以看作是开链式多连杆机构。接下来,本文将对连杆的相关知识进行研究,为下面建立机械手的运动学模型打下基础。图3-6连杆参数示意图如图3-6所示,设第i个关节的轴线为,第i个连杆记为,则连杆参数定义如下:(1)连杆长度:两个关节的关节轴线与的公垂线距离。(2)连杆扭转角:由与公垂线组成平面P,与平面P的夹角。(3)连杆偏移量:除第一和最后连杆外,中间连杆的两个关节轴线都有一条公垂线,相邻公垂线与的距离。(4)关节角:关节的相邻两条公垂线与在以为法线的平面上的投影的夹角。、、、这组参数称为Denavit-Hartenberg(D-H)参数。对于旋转关节,连杆参数中的关节角是变量,其他三个参数是常量。在建立连杆坐标系时,首先选定坐标系的原点,然后选择轴和轴,最后根据右手定则确定轴。针对中间连杆坐标系的建立:(1)原点:取关节轴线与的公垂线在的交点为坐标系原点。(2)轴:取的方向为轴的方向。(3)轴:取关节轴线与的公垂线指向的方向为轴方向。(4)轴:根据右手定则,由轴和轴确定轴的方向。根据上述建立的连杆坐标系,将连杆的坐标系先绕轴旋转角度,再沿轴平移,然后沿轴平移,最后绕轴旋转角度,使得坐标系与坐标系完全重合,则可得到两个坐标系间的变换矩阵式(3-14)为:(3-14)1.2.2运动学方程的建立根据以上所介绍的连杆坐标系的建立方法,可建立六自由度机械手的D-H坐标系如图3-7所示。图3-7六自由度机械手运动学坐标系示意图该六自由度机械手D-H参数如表3-1所示。表3-1六自由度机械手各关节D-H参数列表连杆关节角扭转角连杆长度偏移量1000200π/230L2040L305π/20L4根据表3-1和式(3-14),将连杆参数值代入两个坐标系间的变换矩阵中可得到相邻两坐标系间的变换矩阵如下:(3-15)(3-16)(3-17)(3-18)(3-19)由此,可得到机械手的总变换矩阵为T,由式(3-17)表示(3-20)式中,n为机械手法向矢量;o为机械手姿态矢量;a为机械手的接近矢量;p为机械手在基准坐标系中的坐标位置。(3-21)1.3基于MATLAB的运动学仿真参考表3-1机械手各关节D-H参数,取、,机械手模型的构建命令如下:%该程序是依据D-H表示法建立机械手的对象模型startup_rvc;%Link类:Link([theta,d,a,alpha])%theta:D-H参数%d:D-H参数%a:D-H参数%alpha:D-H参数%sigma:默认0,旋转关节;1,移动关节L1=Link([0,0,0,0],'standard');%连杆1坐标系参数L2=Link([0,0,0,pi/2],'standard');%连杆2坐标系参数L3=Link([0,0,0.1,0],'standard');%连杆3坐标系参数L4=Link([0,0,0.1,0],'standard');%连杆4坐标系参数L5=Link([0,0.065,0,pi/2],'standard');%连杆5坐标系参数L6=Link([0,0,0,0],'standard');%连杆6坐标系参数robot=SerialLink([L1L2L3L4L5L6]);='机械手';robot.display();%显示建立的机器人的D-H参数robot.plot([000000]);robot.teach();运行上述命令,即可生成该机械手的三维仿真图形,该机械手的三维仿真图形如图3-8所示。图3-8机械手的三维仿真图形1.4几何分析法通过D-H法建立数学模型需要进行一系列的矩阵变换才能计算出系统的末端姿态。但是STM32的内存资源有限、计算速度较慢,实时性较差,况且使用C语言并无矩阵运算相关函数实现起来较为麻烦。基于以上原因,本项目的运动学分析采用了几何分析法,即通过数学关系来计算在末端位置确定的情况下结算出各个舵机需要旋转的角度。所用机械臂可以简化成一个4自由度的机械臂(夹子和夹子上的那两个舵机对运动学逆解无关),几何分析法示意图如图3-9所示。图3-9几何分析法示意图上图中j0、j1、j2、j3是指4个舵机转动的角度,L1、L2、L3指三节手臂的长度。末端执行器(夹子)中心的坐标为逆解目标(x,y,z)。简化为剔除姿态,只保留坐标的逆解坐标。得到正向解结果如下://

根据舵机角度正向解出目标坐标

x

=

(L1

*

sin(j1)

+

L2

*

sin(j1

+

j2)

+

L3

*

sin(j1

+

j2

+

j3))*cos(j0);

y

=

(L1

*

sin(j1)

+

L2

*

sin(j1

+

j2)

+

L3

*

sin(j1

+

j2

+

j3))*sin(j0);

z

=

L1

*

cos(j1)

+

L2

*

cos(j1

+

j2)

+

L3

*

cos(j1

+

j2

+

j3);“4+1”运动学求逆解,在只考虑位置的情况下一个位置能有很多解(三个方程四个未知数,未知数的个数大于方程的个数),先确定一个未知数的取值,然后才能对方程进行求解。底座舵机j0

=

atan2(y,

x);先确定j1的值,再求解方程。但是所确定的j1的值不一定能求出解,也可能求出几组解。因此将j1舵机所能到达的角度都取一遍,保证能求出更多的解。for

(j1

=

-90;

j1

<

90;

j1++)//先确定j1的值,并且把j1从-90°到90°都取一遍,算出所有有可能的解

{j1

*=

RAD2ANG;//弧度转换

j3

=

acos((pow(a,

2)

+

pow(b,

2)

+

pow(L1,

2)

-

pow(L2,

2)

-

pow(L3,

2)

-

2

*

a*L1*sin(j1)

-

2

*

b*L1*cos(j1))

/

(2

*

L2*L3));

//确定j1的角度后,就可以求出j3的角度。

m

=

L2

*

sin(j1)

+

L3

*

sin(j1)*cos(j3)

+

L3

*

cos(j1)*sin(j3);

n

=

L2

*

cos(j1)

+

L3

*

cos(j1)*cos(j3)

-

L3

*

sin(j1)*sin(j3);

t

=

a

-

L1

*

sin(j1);

p

=

pow(pow(n,

2)

+

pow(m,

2),

0.5);

q

=

asin(m

/

p);

j2

=

asin(t

/

p)

-

q;

//接着就可以求出j2的角度。

//求出4个角度后,我们先验算一遍这4个角度求出的值(x1,y1,z1)和我们的目标坐标(x,y,z)是否一致

x1

=

(L1

*

sin(j1)

+

L2

*

sin(j1

+

j2)

+

L3

*

sin(j1

+

j2

+

j3))*cos(j0);

y1

=

(L1

*

sin(j1)

+

L2

*

sin(j1

+

j2)

+

L3

*

sin(j1

+

j2

+

j3))*sin(j0);

z1

=

L1

*

cos(j1)

+

L2

*

cos(j1

+

温馨提示

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

评论

0/150

提交评论