公文素材库 首页

机器人设计工作总结

时间:2019-05-29 01:03:37 网站:公文素材库

机器人设计工作总结

机器人设计工作总结

一、作品标题:

立体式停车场

二、制作者名单:

我们的组号为07,组长是XXX,组员包括XXX和XXX

三、选题意义和目的:

由于在生活中停车问题是一个比较麻烦的问题,传统的停车场都是在水平平面上的,导致很严重的资源浪费。为了减少由于停车而产生的用地,我们设计了这个立体式停车场,旨在能够为我们生活中解决停车难问题提供一个全新的思路。

四、结构方案设计:

我们的模型结构主要分为两部分,第一部分是三维的停车场部分,这一部分不需要马达,开关等重要部件,只需要利用一些固体零件搭建出一个停车场的框架即可。这其中需要考虑车库的大小,数量等,最重要的要考虑是停车场的稳定性,使其不论遇到什么样的撞击都不会变形或者错位等。第二部分是运输部分,这也是整个作品最重要的部分。它将实现把车运送到指定车库的功能。在这里我们用到了三个马达,分别控制X,Y,Z三个方向的运动,并用到了三个开关,分别用来判断三个方向上的运行位置。但在实现的过程中,我们遇到了重力不均的情况,也就是结构不稳定,易偏斜的情况。对此,我们采用了配重的办法,使得这一问题得到了很好的解决。我们还采用了计数的程序使得开关的使用数量大大减少。

五、实现功能简介:

以存车为例,涉及的基本过程如下:1.将货物放在传送板上后,在程序Terminal上输入所要到达的楼层,例如第二层,第三个空位。2.在传送装置向前运行的过程中,通过判断触碰触发开关的次数,进行横向定点的确定,本例中即开关触碰三次。3.横向定位之后装置在横向固定不动,开始纵向上升,同样也是通过开关模拟计数,开关触碰两次之后停止。4.运送装置通过触碰开关将货物运送到指定位置。5.传送装置回到最初位置。取车过程的功能与操作和停车相反。本机器人运用三个马达的简单组合,实现了小车在前进、上升以及传送三个维度的定位,并且能够根据需要进行定点定位的存取车。

六、本人在本次作业中主要工作:

在这次机器人设计中,我负责的主要工作是进行程序的编写和修正程序中bug。

七、收获与心得体会级作品的优缺点:

在这次作业中,我收获了很多。由于这是我第一次进行程序设计。所以在程序编写后进行调试的过程中,程序出现了好几个bug:第一个bug是计数重复,第二个bug是坐标(1,1)无法实现正常的马达运转。在老师和同组成员的帮助下,我成功的解决了这些bug。发现并解决这些bug让我认识到了程序补丁包的重要性,也体会到了编程人员的辛苦之处。而每一个程序的编写是很多人的心血,是花费很多的经历的,所以我们要尊重别人编写的程序的专利权。通过这次与另外两个同学和合作活动,也让我认识到了团体的重要性,正是我们小团体的精确分工与合作,才能在这个短短的时间里成功完成了这次大作业的设计和完成。

最终作品的优缺点:这个作品的优点:

1是用少量的开关和马达实现了再平面空间上多个坐标的定位。

2用一个包含子程序的程序实现了存车和取车两个工作状态的统一。这个作品的缺点:

1由于计数开关数量较少,只能通过同一个开关进行判定一个维度上的坐标,导致系统的稳定性下降。

2由于在竖直平面上进行大面积的移动(其中包括三个马达和三个定位开关),所以导致接线较复杂,容易被影响,导致立体车库的稳定性下降。

3由于考虑到材料的限制和减少导线。我们并没有设计复位开关,所以一旦程序中间停止,我们就需要运行额外的复位程序并手动控制才能实现复位的要求。

八、总结:

这次机器人大作业让我们得到了很好的锻炼,增强了我们的动手能力和组织能力。开拓了我们的思维,丰富了我们的教学方式,让我们受益良多。

九、参考文献

《惠鱼创意机器人设计与实践教程》曲凌编上海交通大学出版社

附录:程序设计的思想

定位:在竖直平面上的X和Y坐标设立激发定位开关的标记,程序中定义两个函数,初始值为0,每当对应的定位开关经过一个坐标标记后激发开关计数,开关每被激发一次函数值加一,并与输入的坐标值做比较,当两者相同时马达停转到达指定坐标,否则继续往目标方向前进;

存取车:存取车的实现是在子程序中进行的,改变Y坐标与Z坐标两个马达的运转顺序即可实现两种完全相反的功能,存车的具体顺序是Y马达上升1.5秒后停止,Z马达前进到制定位置后Y发达复位该坐标的标记处,Z马达后退到原始位置。而取车则是Z马达前进到制定位置后,Y马达上升1.5秒,然后Z坐标后退然后Y马达复位。子程序有两个输入端口,其中一个是存车,另一个是取车,在进行子程序之间先判定,若为1则接入存车端口,0则接入取车端口。

复位:平台的复位时与定位是相反,每次开关激发是将函数值减1后并与1进行判断,而不是0(这是程序初稿放的错误)。当函数等于1时马达继续运行3秒后停止,防止马达在开关被激发处停下,影响下次判定。

扩展阅读:机器人设计工作总结

实习期间主要工作

机械手(6kg)设计分析

1、机械手的运动学分析

机械手常用的运动学分析方法是建立D-H坐标,采用建立D-H参数的方法进行运动学分析。实习期间,我采用了该方法对六自由度机械手进行了运动学分析。

1.1机械手几何结构图及各关节位置

关节3关节3关节2ZZY关节1X1406004

590124

机械手三维造型及相关尺寸

1.2.机械手运动学正向求解

(1)机械手各关节坐标系的约定及初始位置示意图如下

y1z1x1600(a2)140(a3)y2z3180(d1)z0y0y3z2x2x3160(a1)590(d4)z4z5x6y5x5y6z6y4x4得到的D-H参数如下表:

机械手D-H参数关节代号i123456初始角度:连杆转角i连杆长度ai900-9090-900160(a1)600(a2)140(a3)000连杆偏距di关节角i180(d1)00590(d4)0012345610,20,30,40,50,60.

相邻坐标系间的变换矩阵:

cosisiniTi00sinicosisinisiniaicosicosicosicosisinaisinisinicosidi0Ti描述了连杆坐标系之间相对平移和旋转的一次坐标变换,如T1描述第一

根连杆相对于某个坐标系(如机身)的位姿,T2描述第二根连杆相对于第一根连杆坐标系的位姿。

对于以上六自由度的机械手模型,机械手末端相对于固定坐标系的变换可表示为:

T60TT12T3T4T5T6

机械手的手部位置矢量为固定参考系坐标原点指向手部坐标系原点的矢量

p,手部的方向矢量为n、o、a。于是手部的位姿可用44矩阵表示为:

nxnT60ynz0由D-H参数表以及变换矩阵可得:

sxaxsyayszaz00

pxpypz1c10s1s0c1T11010000c4sT4400010s400a1c1c2sa1s1T220d110s20c200

a2c2c3s0a2s2T33010010s5c5000c6s0T6600100010s6c600s3c300a3c3a3s3010c40c5s0T550d410001000001001求得:c1c23c4c5c6s4s6c1s23s5c6s1s4c5c6c4s6s1c23c4c5c6s4s6s1s23s5c6c1s4c5c6c4s6T60s23c4c5c6s4s6c23s5s60c1c23c4c5s6s4c6c1s23s5s6s1s4c5s6c4c6s1c23c4c5s6s4c6s1s23s5s6c1s4c5s6c4c6s23c4c5s6s4c6c23s5s60c1c23c4s5s23c5s1s4s5s1c23c4s5s23c5c1s4s5s23c4s5c23c50c1s23d4c23a3c2a2a1s1s23d4c23a3c2a2a1c23d4s23a3s2a2d11

以上各式中:sisini,cicosi,sijsinij,cijcosij。1.3机械手运动学逆向求解

在机械手的逆向求解过程中,给出了关节变量值就可以求出手部在空间笛卡尔坐标系下的位姿,也就是实现了由关节空间到笛卡尔空间的转换。在机械手的控制中,需在已知手部要到达的目标位姿的情况下求出所需的位姿得到满足。常用的求解方法分为几何法和代数法。在本次实习过程中,我采用了代数法进行求运动学逆解,依然针对的是上述的机械手模型,在求解的过程中需要注意逆运动学解的多重性,这就要求我们需要根据实际情况提出多余的解,选取实现机械手运动的最佳解。

由1.2中可知:

nxnynz0sxaxsyayszaz00pxpyTTTTTTpz1234561在该矩阵方程中,等式左边的矩阵元素nx,ny,nz,sx,sy,sz,ax,ay,az,px,py,pz是已知的,而等式右边的六个矩阵是未知的,它们的值取决于关节变量1,2,3,

4,5,6的大小。

c1s1001T1s1c1000a1c2s21d11Ts2c201*201*00s40c400a2c3s30a30000101T3s3c301000100010001c401T4s401)求解1,3。

00c5s501d401T10s5c5000501000

T11T60T2T3T4T5T6

c1s100s1c1000a1nx1d1ny00nz010sxaxsyayszaz00pxpyT①pz611式中:s1sin1,c1cos1,T61T2T3T4T5T6。将①式的左、右边展开,且令左、右两边的(3,4)元素相等,可得

pxs1pyc10②

1arctan2(py,px)

其中arctan2(y,x)表示计算y/x的反正切值。

再令矩阵两边的(1,4)元素、(2,4)元素相等,得到以下方程:

3ds42a3c③c1pxs1pyac32a2s④pza3s23d4c23求式②、③与④的平方和,得

a3c3d4sk⑤3222222pxpypz(a2a3d4)其中:k。

2a2令

a3sin⑥

d4cos把⑥式代入⑤式,可得

sin(3)k2k2

cos(3)223arctan2(a3,d4)arctan2(k,a3d4k2)

2)求2,4

将式①左乘T31T21可得

c1c23s1c1s230s1c23s23a1c23d1a2c3a3nxsxaxc100nysyays1s23c23a1s23d1c23a2s3nzszaz001000pxpyT⑦pz631式中:T63T4T5T6。将⑦的左、右两边展开,且令左右两边矩阵的(1,4)和(3,4)元素分别相等:

c1c23pxs1c23pys23pza1c23d1s23a2c3a3c1s23pxs1s23pyc23pza1s23d1c23a2s3d4由上两式求得

c23s23(d4a2s3)pz(a3a2c3)(pxc1pys1)d1d4d1a2s3a1a2c3a1a3(pxc1pys1a1)2(pzd1)2(a3a2c3)pz(a2s3d4)(pxc1pys1)a1d4d1a2c3a1a2s3d1a3(pxc1pys1a1)2(pzd1)2

由于s23和c23表达式的分母相等且为正,故有

2323arctan2(s23,c23)⑧根据1和3的解有4种可能组合,由式⑧可以算出23的四个值,于是得到2的

34个可能解:223令等式两边的(1,3)(2,3)分别相等,便可得:

c1c23axs1c23ays23azc4s5c1ays1axs4s5只要s50,便可以求得

c1ays1ax4

c1c23axs1c23ays23az3)求解5

解出4后,便可以进一步求解出5。将式①继续左乘T41T31T21,可得

T41T31T21T11T60T64

因1,2,3,4均已解出,从而有

c1c23c4s1s4c1s23ccs4s1c41230s1c23c4c1s4s23c4a1c23c4d1s23c4a2c3c4a3c4s1s23c23a1s23d1c23a2s3d4TT

s1c23s4c1c4s23s4a1c23s4d1s23s4a2c3s4a3s46064001⑨

使式⑨两边的(1,3)元素和(2,3)元素相等,得

(c1c23c4s1s4)ax(s1c23c4c1s4)ays23c4azs5c1s23axs1s23ayc23azc5

5arctan2(s5,c5)

4)求解6

继续使用上述方法求解6,得

T51T41T31T21T11T60T65⑩使式⑩两边的(1,1)元素和(2,1)元素相等,得

(c1c23c4c5s1s4c5c1c23s5)nx(s1c23c4c5c1s4c5s1s23s5)ny(s23c4c5c23s5)nzc6(c1c23s4s1c4)nx(s1c23s4c1c4)nys23s4nzs66arctan2(s6,c6)

有上述计算过程我们可以求得机械手的运动学逆解,即:1,2,3,4,5,6。为了验证求解是否正确我们,可以运用运动学正解和运动学逆解进行相互验证。

得到的结果误差在允许的范围内。而后我又运用matlab中CorkeMATLABRobotics工具箱检查了运动学正解和运动学逆解结果的正确性。

2速度与静力

在完成了机械手的运动学分析后,紧接着我又将机械手的讨论扩展到刚体线速度和角速度的表示方法并且通过线速度和角速度去分析机械手的运动,主要是通过求取雅克比矩阵来对机械手的运动进行分析。

通过对本部分的学习,我们需要重点理解和运用的是:1)连杆间的速度传递函数:

由于机械手是链式结构,每一个连杆的运动都与它的相邻杆有关,故我们可以由基坐标系依次计算各连杆的速度。由此,通过旋转变换矩阵得到连杆i1的角速度相对于坐标系{i1}的表达式:

i1Zi1ii1Riii1i1

同理可通过旋转变换矩阵得到连杆i1的线速度相对于坐标系{i1}的表达式:

i1vi1ii1R(iviiiiPi1)

2)作用在机械手上的静力传递:

因为机械手末端执行器需要在工作空间进行焊接过程,存在负载,所以我们为了保持系统静态平衡,需要求出各关节的关节静力矩和静力。同样的通过旋转变换矩阵得到连杆之间静力的传递表达式:

ifii1iRi1fi1

iinii1iRi1ni1iPi1fi

式中fi表示连杆i1施加在连杆i上的力,ni表示连杆i1施加在连杆i上的力矩。

除了绕关节的力矩外,力和力矩矢量的所有分量都可以由机械手本身来平衡,因此,为了求出保持系统静平衡所需的关节力矩,应计算关节轴矢量和施加在连杆上的力矩矢量的点积:

iiiniTiZ3)雅克比矩阵的求解:

机械手的雅克比矩阵J通常是指从关节空间向操作空间运动速度传递的广义传动比,即:

J(q)qVX是操作速度矢量。是关节速度矢量,X式中:q计算雅克比矩阵通常运用构造法进行求解。

TTdx,dy,dz,x,y,zpixniypiynix,pixsiypiysix,pixaiypiyaix,niz,siz,aizdi

式中:dx,dy,dzT表示沿参考坐标系主轴的微分移动,x,y,zT表示

沿参考坐标系主轴的微分转动。

对于该项目中的六自由度机械手,可以求得对应的六阶雅可比矩阵J为:

dx,dy,dz,x,y,zJd1,d2,d3,d4,d5,d6式中:JJ1,J2,,J6。推导出机械手雅可比矩阵的表达式为:

s23d4c23a3c2a2a1s4c5c6c4s6s23d4c23a3c2a2a1s4c5s6c4c6s23d4c23a3c2a2a1s4s5Js23c4c5c6s4s6c23s5c6s23c4c5s6s4c6c23s5s6s23c4s5c23c5c4c5c6s4s6s3a2d4s5c6c3a2a3c4c5s6s4c6s3a2d4s5s6c3a2a3TTc4s5s3a2d4c5c3a2a3s4c5c6c4s6s4c5s6c4c6s4s5000c4c5c6s4s6d4s5c6a3000c4c5s6s4c6d4s5s6a3000c4s5d4c5a3s5c6s60s4c5c6c4s6s5s6c60s4c5s6c4c6c501s4s53机械手的动力学分析

研究机械手动力学的目的是为了实现后续的实时控制,利用机械手的动力学模型,才有可能进行最优控制,以期达到最优指标或更好的动态性能。该问题的复杂性在于实时的动力学计算。利用动力学方程中重力项的计算结果可进行前馈补偿,以达到更好的动态性能。此外,机械手的动力学模型还可用于调节伺服系统的增益,改善系统的性能。

目前,机器人的动力学模型的重要应用是设计机器人,设计人员可以根据连杆质量、负载大小、传动机构的特征进行动态仿真。因为动力学方程可以用来精确计算出实现给定运动所需要的力矩,仿真结果也可用来说明是否需要重新设计机械结构。

在本次实习中,我主要学习了动力学分析方法中,拉格朗日法和牛顿欧拉。结合研究生期间所学相关课程,对这两种方法比较好把握。3.1牛顿欧拉迭代动力学方程

假设已知关节的位置、速度和加速度,结合机械手运动学和质量分布的相关知识,可以计算出驱动关节运动所需的力矩。

主要算法如下:

1)计算速度和加速度的向外迭代公式:

i1i1i1i1Zi1ii1Riii1i1i1Zi1Zi1ii1RiiRiii1i1i1i1iiPi1iiiiiPi1ivi1ii1Riivi1i1PCi1i1i1Ci1i1v

i1i1i1i1i1PCi1i1v作用在连杆上的力和力矩,

i1i1Ci1Fi1mi1i1vNi1Ci1i1i1Ii1i1i1Ci1Ii1i1i1

2)计算力和力矩的向内迭代公式:

iifiii1Ri1fi1iFiniiNii1iRi1ni1iPCiiFiiPi1i1iRi1fi1

iiniTiZi4)涉及重力的动力学算法:

0G就可以简单地将作用在连杆上的重力因素包括到动力学方程令0v中去,其中G与重力矢量大小相等,而方向相反。这等效于机器人正以1g的加速度在做向上的加速运动。这个假想的向上加速度与重力作用在连杆上的效果是相同的。因而,不需要其他额外的计算就可以对重力影响进行计算。5)机械手的动力学方程的结构:

V(,)G()M())是n1的离心力和哥氏力矢量,式中M()为机械手nn的质量矩阵,V(,G()是n1重力矢量。

3.2机械手的拉格朗日方程

利用拉格朗日方法推导机械手力学模型十分简便且具有规律性。机械手的动力学方程建立可分五步进行。

1)计算连杆各点速度。2)计算系统的动能。3)计算系统的位能。4)构造拉格朗日函数。5)推导动力学方程。

4Adams仿真分析软件的学习

ADAMS是以计算多体系统动力学(ComputationalDynamicsofMultibodySystems)为基础,包含多个专业模块和专业领域的虚拟样机开发系统软件,利用它可以建立起复杂机械系统的运动学和动力学模型,其模型可以是刚性体,也可以是柔性体,以及刚柔混合模型。如果在产品的概念设计阶段就采用ADAMS进行辅助分析,就可以在建造真实物理样机之前,对产品进行各种性能测试,达到缩短开发周期、降低开发成本的目的。

在前面的工作中,我已经对所要研发的机械手的运动学和动力学进行了相关的初期工作,完成了前期的计算工作,为了完成通过机械手运动学和动力学的仿真,开始进行了ADAMS的有关学习。在学习的初期我主要了解的ADAMS的工作界面,相关工具箱的作用,以及在使用ADAMS过程中常用的快捷键的运用。

4.1ADAMS的基本操作的应用

通过一段时间的理论学习,对ADAMS的工作界面,常用领域,以及基本思想有了初步的了解。同时通过对一些例子的练习,对ADAMS的相关操作有了更深的理解。操作实例如下:

焊接机器人模型

夹紧机构模型5、ADAMS与MATLAB联合仿真方法

本章介绍了如何利用ADAMS和MATLAB进行联合仿真。在介绍该方法的过程中,我们采用了最简单的模型,如下图所示:

3D模型

关节2

关节13D模型

具体方法步骤如下:

1、ADAMS中需要完成的过程:

1)建立如图所示的3D模型,并通过静态平衡分析工具验证机械系统的静平衡。仿真工具进行机械系统仿真,若可以进行正常仿真,则该系统符合要求。

12如图所示,使用1来对关节1和关节2添加旋转副,使用2来对关节1和关节2添加力矩。2)设置仿真过程中的变量:控制力矩torque,关节2仰角position和马达转速velocity。方法如下:

在Build菜单,选择SystemElements项,再选择StateVariable,最后选择New命令,在name栏处命名变量torque,单击

,以此类推,分

别设置变量position和velocity。

接着,在Build菜单中,选择SystemElements项,再选择StateVariable,最后选择Modify命令,显示ADAMS/View变量列表,从中选择控制力矩变量torque,选择

按钮,显示修改状态变量对话框。如下图所示。

单击F(time,…)后的

,进入后显示如下图对话框,定义变量函数(对

话框中红色标记区域),即控制力矩,最后点击OK,设定完成。

采用同样的方法,对变量position和velocity进行变量函数设定,分别为AZ(MARKER_32,MARKER_35)和WZ(MARKER_2,MARKER_35,MARKER_35)。3)定义ADAMS/Controls模块的输入和输出变量:

首先,载入ADAMS/Controls模块(选择Tools中的pluginmanager,弹出对话框进行载入)。

在Controls菜单,选择PlantExport命令,显示如下对话框,进行如图所示操作。

添加输入变量本例中为torque添加输出变量本例中为:position和velocity此处修改为:matlaB

4)进行完如上操作后,会产生一些文件:matlab程序(.m)、ADAMS/View命令文件(.cmd)和ADAMS/Solve命令文件(.adm),供联合仿真使用。5)将ADAMS安装目录中的如下文件:adams_server.py、adams_plant.mexw32、adams.dll、adamscxx.dll、decode.m、aview.loq、aview.log、plant.lib、adamsqt.dll、adamscxx_imp.lib与步骤4中产生的文件放在一起(可以有效防止仿真出错),如本例中的D:\\125t-25eADAMS。2、MATLAB中完成的部分(控制系统建模):

1)打开MATLAB,将当前工作目录指向D:\\125t-25eADAMS。在commandwindow中依次输入命令:>>cd

D:\\125t-25eADAMS

>>dir

.adamsqt.dll..aview.logControls_Plant.admaview.loqControls_Plant.cmddecode.m

Controls_Plant.mplant.libzhnr_chenggong.binzhnr_chenggong.biq

adams.dlladams_plant.mexw32adams_server.pyadamscxx.dlladamscxx_imp.lib

>>Controls_Plant(该命令来自上述命令中.adm、.cmd和.m的前缀)ans=

01-Aug-201*10:22:17

Warning:Functiond:\\MSC~1.SOF\\MSC~1.ADA\\201*r1\\win32\\amd.dllhasthesamenameasaMATLABbuiltin.Wesuggestyourenamethefunctiontoavoidapotentialnameconflict.>Inpathat113Inaddpathat89

InControls_Plantat22

%%%INFO:ADAMSplantactuatorsnames:1torque

%%%INFO:ADAMSplantsensorsnames:1position2velocity

2)接着,继续键入命令adams_sys得到如下对话框:复制

新建一个文件,将上图框内部分,复制入新建文件中,如下图所示:

双击adams_sub,弹出如下对话框:

双击红色区域,弹出如下对话框进行参数修改:

将图中红色框位置的选项更改为:interactive。最后在下图中完成控制系统图:

系统控制图

单击

,开始仿真。

在MATLAB界面中的commandwindow中,键入:plot(ADAMS_tout,ADAMS_uout)可以得到时间与力矩的关系图。

3)在ADAMS/View中绘制仿真分析结果:

如果需要在ADAMS/View中绘制仿真分析结果,可以首先输入ADAMS/Controls联合分析的有关结果文件;仿真结果文件(.res)、要求文件(.req)和图形文件(.gra)。然后启动后处理模块ADAMS/PostProcessor,绘制仿真分析结果。方法如下:

(1)在ADAMS/View中打开一个新的数据库,然后在File菜单中,选择import命令,显示输入文件对话框。

填写相应(.cmd)文件的路径

(2)接着用相同的方法,在上述对话框中的文件类型选择框FileType,选择结果文件ADAMSResultsFile。在FiletoRoad栏,输入D:\\125t-25eADAMS\\Controls_Plant.res,在ModelName中选择模型名称,点击OK,如图所示:

5(3)在主工具箱,选择绘图命令图标,启动后处理模块

ADAMS/PostProcessor。在ADAMS/PostProcessor界面,选择绘图对象。在Model、Filter、Object、Characteristic和Component栏,分别选择.hand_robot、constraint、joint_2、element_torque和Y,最后点击Addcurves绘制图形,如下图。

3、完成matlab与ADAMS的联合仿真。

通过一个简单例子,实现了matlaB与ADAMS的联合仿真。

友情提示:本文中关于《机器人设计工作总结》给出的范例仅供您参考拓展思维使用,机器人设计工作总结:该篇文章建议您自主创作。

  来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。


机器人设计工作总结
由互联网用户整理提供,转载分享请保留原作者信息,谢谢!
http://m.bsmz.net/gongwen/641255.html
相关阅读
最近更新
推荐专题