《机器人运动学实验报告(共9页).doc》由会员分享,可在线阅读,更多相关《机器人运动学实验报告(共9页).doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上 中 南 大 学 工业机器人导论 实 验 报 告 机电工程 学院 机械 专业 班 同组人 成绩姓 名 学号 指导老师 实验日期 2013 年 10 月 22 日 实 验 名 称 机器人运动学实验 一、实验目的1了解四自由度机械臂的开链结构;2掌握机械臂运动关节之间的坐标变换原理;3学会机器人运动方程的正反解方法。 二、实验原理简述本实验以SCARA四自由度机械臂为例研究机器人的运动学问题.机器人运动学问题包括运动学方程的表示,运动学方程的正解、反解等,这些是研究机器人动力学和机器人控制的重要基础,也是开放式机器人系统轨迹规划的重要基础。 机械臂杆件链的最末端是机器人工
2、作的末端执行器(或者机械手),末端执行器的位姿是机器人运动学研究的目标,对于位姿的描述常有两种方法:关节坐标空间法和直角坐标空间法。 本次实验用D-H变化方法求解运动学问题。建立坐标系如下图所示 连杆坐标系i 相对于 i 1 的变换矩阵 可以按照下式计算出,其中连杆坐标系D-H 参数为由表1-1给出。齐坐标变换矩阵为:其中 描述连杆i 本身的特征;和描述连杆 i 1与i 之间的联系。对于旋转关节,仅是关节变量,其它三个参数固定不变;对于移动关节,仅是关节变量,其它三个参数不变。其中连杆长l1=200mm,l2=200mm,机器人基坐标系为O-X0Y0Z0。根据上面的坐标变换公式,各个关节的位姿
3、矩阵如下: 表1-1 连杆参数表运动学正解:各连杆变换矩阵相乘,可得到机器人末端执行器的位姿方程(正运动学模型)为:其中:z 轴为手指接近物体的方向,称接近矢量a (approach);y 轴为两手指的连线方向,称方位矢量o(orientation);x 轴称法向矢量n(normal),由右手法则确定,n=o*a。p 为手爪坐标系原点在基坐标系中的位置矢量。运动学逆解:通常可用未知的连杆逆变换右乘上式:令两式对应元素分别相等即可解出。其中将上式回代,可得,式中: ;令第二行第四个元素对应相等,可得:令第四行第三个元素对应相等,可得:所以, 三、实验仪器与设备1 KLD-400型SCARA教学机
4、器人2 KLD-400型SCARA教学机器人配套软件控制系统3 装有Windows系列操作系统的PC机4 KLD-400型SCARA教学机器人控制箱5 实验平台(带有标尺的)板四、 实验数据及其处理、图表1正运动学分析结果:输入输出d3XYZ手爪3010-30-120326.41228.56-30-1206020-20-90134.73370.17-20-909040-10-60-128.56353.21-10-601205000-296.96207.9400150601030-346.4101030180802060-234.73-196.9620602逆运动学分析结果:注:(240即-12
5、0)专心-专注-专业五、 程序代码1、正运动分析#include#includeint main() int i,j,k; float t,d3,o1,o2,o4,pi=3.; float T44=0,S44=0; printf(guanjiedian:n); /数据输入 scanf(%f %f %f %f,&o1,&o2,&d3,&o4); o1=o1/180*pi; o2=o2/180*pi; o4=o4/180*pi; float T144=cos(o1),-sin(o1),0,0.2*cos(o1), /矩阵 sin(o1),cos(o1),0,0.2*sin(o1), 0,0,1,0
6、, 0,0,0,1, , T244=cos(o2),-sin(o2),0,0.2*cos(o2), sin(o2),cos(o2),0,0.2*sin(o2), 0,0,1,0, 0,0,0,1, , T344=1,0,0,0, 0,1,0,0, 0,0,1,-d3, 0,0,0,1, , T444=cos(o4),-sin(o4),0,0, sin(o4),cos(o4),0,0, 0,0,1,0, 0,0,0,1, ; for(i=0;i4;i+)for(j=0;j4;j+)for(t=0,k=0;k4;k+)t+=T1ik*T2kj; /第一段矩阵相乘Tij=t;for(i=0;i4;i
7、+)for(j=0;j4;j+)Sij=Tij;for(i=0;i4;i+)for(j=0;j4;j+)for(t=0,k=0;k4;k+)t+=Sik*T3kj; /第二段矩阵相乘Tij=t;for(i=0;i4;i+)for(j=0;j4;j+)Sij=Tij;for(i=0;i4;i+)for(j=0;j4;j+)for(t=0,k=0;k4;k+)t+=Sik*T4kj; /第三段矩阵相乘Tij=t;printf(X=%f Y=%f Z=%f,1000*T03,1000*T13,-T23); /结果输出2、 逆运动分析#include#includeint main() float M
8、=0,m=0; float o1=0,o2=0,o4=0,d3=0; float x=0,y=0,z=0,s=0,q5; float n1=0,n2=0,pi=3.; float r,k; int i=0; printf(shuru n1,n2,x,y,z:n); for(i=0;i5;i+) scanf(%f,&qi); /参量输入 n1=q0; n2=q1; x=q2; y=q3; z=q4; s=x*x+y*y; M=s/(0.4*sqrt(s); m=1-M*M; r=sqrt(s); k=atan(x/y); o1=atan(M/sqrt(m)-atan(x/y); o2=atan(
9、r*cos(o1+k)/(r*sin(o1+k)-0.2); d3=z*1000; o4=asin(n2*cos(o1)-n1*sin(o1)-o2; /这个地方有个问题:对于反三角函数,区间需要单 o1=o1*180/pi; /独处理 o2=o2*180/pi; o4=o4*180/pi; printf(o1=%f o2=%f d3=%f o4=%f,o1,o2,d3,o4);六、 对机器人运动学认识机器人运动学,主要是利用数学手段对实时机构进行运动学分析,能够很好的控制各机构与末端执行器的位置的操作,通过特定的数据分析和自动化控制能够让我们的机器人具有足够高的准确性和可操控性。机器人运动学
10、的主要任务是为机器人运动的控制提供分析的手段和方法,因此需要建立末端执行器,各运动构件的位置方向与各关节位移之间的关系。其中,各构件的位置方向是用3维笛卡尔坐标描述的。对于各运动构件上笛卡尔坐标系的变换关系,采用齐次坐标变换,以此导出末端执行器,各运动构件与各关节的位置的计算方法。例如第一个构件的位置及方向用齐次坐标举证A1描述,第二个构件的位置及方向用齐次坐标矩阵A2描述。则第i个构件的位置及方向的齐次坐标变换Ti=A1*A2*。*Ai。即各齐次坐标矩阵依次连乘,便可得到齐次坐标变换。并借此通过各关节转动或移动去控制末端执行器的位姿以实现机器人的工作任务。1、机器人是由多个自由度的机构组成的,机器人的自由度越多,则分析工作越复杂。2、笛卡尔坐标的3维矢量空间与关节变量决定的n维矢量空间的相互变换,是机器人运动学中的基本数学问题。3、机器人机构不可避免要给分析工作带来复杂性,实时控制时的计算量很大,如何开发一些更小计算量的分析方法,则要求机器人运动学不断改进和发展。