您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 综合/其它 > 机器人技术基础实验及上机
机器人技术基础实验及上机指导书机械电子工程实验室2004年8月1实验一齐次变换与HNC-IR机器人运动学建模一、实验目的1、认识串并联机器人的典型结构,掌握串、并联机器人的自由度运算方法。2、熟悉串、并联机器人结构示意图的画法。3、理解齐次变换的物理意义,掌握齐次变换矩阵表示刚体位姿的方法,能正确地进行齐次变换矩阵的运算。4、熟悉D-H表示法,正确确定连杆参数和关节变量,进行运动学建模。二、实验原理及方法齐次变换和运动学建模是机器人运动学的基础。刚体的位姿通过在刚体上建立坐标系来描述。齐次变换矩阵是一个四行四列的矩阵,它的前三列描述刚体的姿态(方向),第四列描述刚体的位置。齐次变换矩阵的乘表示刚体或坐标系间的复合变换,齐次变换矩阵的逆表示反变换。即:如果坐标系B相对A的齐次变换矩阵是T,那么T-1表示坐标系A相对B的描述。连杆的功能在于保持其两端的关节轴线具有固定的几何关系,连杆的特征也是由这两条轴线规定的。两轴线的公法线长度就是连杆的长度,两轴线的扭角就是连杆的扭角。两连杆之间的连接关系由两连杆的公法线之间的偏置和夹角描述。基于上述D-H法的原理在机器人操作臂的每一连杆(构件)上建立坐标系,确定连杆参数和关节变量,进行运动学建模。三、实验仪器及材料⒈HNC-1R教学机器人2.并联机器人模型3-RPS或6-SPS一部四、实验内容、步骤及数据整理1、观察并联机器人与HNC-IR机器人的结构,了解其动作原理,并绘制其结构2简图。2、计算自由度3、对HNC-IR机器人建立连杆坐标系,确定连杆参数和关节变量。相应参数填入HNC-IR连杆参数表。HNC-1R连杆参数表连杆序号i1ia1iidi关节变量1234564、建立连杆3的齐次变换矩阵23T,求32T,指出23T、32T的物理意义,(要求能正确进行矩阵运算,并能把矩阵运算模型存入软盘,以备后续实验用)。五、思考题⒈齐次变换矩阵的物理意义是什么?⒉怎样进行机器人操作臂的运动学建模?3实验二HNC-1R机器人运动学正反解一、实验目的1、掌握机器人运动方程的建立方法2、掌握机器人运动正、反解方法3、了解运动反解中多解的处理方法4、熟悉D-H表示法,正确确定连杆参数和关节变量,进行运动学建模。二、实验原理及方法在实验一的基础上,连杆坐标系i相对1i可看作经过了以下四个子变换:绕1ix轴的转动,沿1ix轴的移动,绕1iz轴的转动,沿1iz轴的移动。利用矩阵乘的原理得到坐标系i相对1i的齐次变换矩阵是Tii1(即教材上公式3.3),将各个连杆变换Tii1(i=1,2,……,n)相乘得Tn0。根据关节变量qi(i=1,2,……,n)求解Tn0的过程是运动学正解,反之已知Tn0求解关节变量qi(i=1,2,……,n)则为运动学反解。反解用反变换法通过分离变量得到只含单变量的方程,从而解出关节变量qi(i=1,2,……,n)。三、实验仪器及材料⒈HNC-1R教学机器人2.每组每生电脑一部并配置相应软件四、实验内容、步骤及数据整理1、结合实验一的内容,建立HNC-1R机器运动学方程2、实现HNC-1R机器人正解算法(借助Matlab,在已知qi(i=1,2,……,n)的前提4下,求出Tn0,这里n=5)3、实现HNC-1R机器人反解算法(把已求得的Tn0作为已知,求得关节变量qi(i=1,2,……,n),与正解结果互相验证)五、思考题1.运动学反解的多重解如何处理?怎样得出最优解?2.运动学反解的数目与机器人的结构本身有无关系?5实验三HNC-1R机器人通信及轨迹规划一、实验目的1.熟悉与机器人通信的三种主要方法2.掌握机器人语言结构与编程特点3.掌握示教再现法4.了解轨迹规划的基本方法二、实验原理及方法目前与机器人通信的方法主要有三种,即:示教再现,机器人语言和离线编程。示教再现就是根据作业任务的需要,用手或示教盒把机器人的末端执行器移动到所需的位姿上,然后把每一位姿存储起来,编辑并再现示教过的动作,如果示教正确,则机器人可重复再现运行。机器人语言是人-机通信问题的通用方式。它是一种专用语言,用符号描述机器人动作。本实验通过实际编程或示教再现,实现2个茶杯盖子的互换,掌握HNC-1R型教学机器人程序的基本结构,学习示教编程获取各点位置姿态的方法,熟悉机器人及其控制系统的基本操作和处理方法并通过机器人的运行体会轨迹规划的实现方法。三、实验仪器设备HNC-1R型教学机器人一部四、实验内容及步骤1.观察示教再现过程,理解掌握与机器人通信的方法。2.通过演示程序的运行,掌握程序结构,了解程序编制方法和轨迹规划的实现。3.参考程序6%01021;程序名N1speed500;N1是语句标号,speed是指令,表示速度,500是速度的具体值N5open;手指开N10MOVEJ{19.122,20.470,-60.093,0.364,0.000};J是关节坐标N20moveJ{20.358,17.783,-59.482,0.370,0.000}N30delay2;delay2表示延时2秒N40CLOSE;手闭合N50delay2N60moveP{401.263,152.891,-73.804,0.370,20.858};P是直角坐标N70moveP{429.40l,1.461,-73.804,0.370,0.195}N80moveJ{0.195,0.463,-39.412,0.370,0.000}N90delay2N100OpenN110delay1N120moveP{472.060,1.607,-142.620,0.370,0.195}N130moveJ{-25.032,23.559,-71.811,0.370,0.000}N140moveJ{-25.032,21.472,-71.586,0.370,0.000}N150delay2N160CloseN170delay1N180moveP{349.635,-163.275,-17.483,0.370,-25.032}N190moveP{361.284,135.560,-17.483,0.370,20.567}N200moveJ{21.405,20.554,-62.049,0.370,0。000}N210moveJ{21.905,19.692,-60.967,0.370,0.000}N220delay2N230openN240deIaylN250moveP{400.529,154.591,-94.324,0.370,31.105}N260moveP{428.488,26.831,-94.324,0.370,3.583}7N270moveJ{-0.132,2.713,-41.279,0.370,0.000}N280moveJ{2.932,0.946,-42.279,0.370,0.000}N300CloseN310delaylN320moveP{450.224,-1.037,-17.505,0.370,—0.132}N330moveJ{-24.844,24.101,-71.653.0.370,0.000}N340moveJ{-24.844,22.275,-71.653,0.370,0.000}N350delay2N360openN370delaylN380moveP{360.369,-151.811,-34.136,0.370,-22.844}N390moveP{188.702,342.497,-34.136,0.370,61.147}N400end4.运行操作(1)在示教编程界面下,保存上述程序;(2)在自动运行方式下,选择上述程序:(3)按下示教操作盒上的“循环启动”按钮;(4)运行程序直到完毕。五思考题1.与机器人通信的三种主要方法是什么?什么是示教再现法,体会如何对机器人示教?2.机器人语言的基本结构是怎样的?体会用机器人语言如何与机器人通信?8MATLAB上机指导MATLAB是一种编程语言,它的科学计算功能强大。在国外,尤其是美国,早在八十年代末期,各著名大学已开设MATLAB课程。MATLAB是学生在实验环境中必须掌握的技术工具。一上机要求1能够熟练进行数值和符号矩阵的加、减、乘、逆运算2能够熟练求解矩阵方程3熟悉MATLAB编程和运算环境4熟悉MATLAB标准函数的应用二MATLAB入门知识1.上机过程点击桌面上的Matlab图标(进入command窗口)→点击File→点New→点击M-file(进入编程窗口,在此窗口下进行编程)→编程完毕,点击File→点击save或saveas保存程序(程序名应以字母开头,且不能是Matlab的保留字,程序的扩展名必须是.m),保存程序后→点击Debug→点击Run,运行程序。2.程序运行结果程序运行结果在Command窗口中(在任务栏中点击)。3.矩阵输入举例t1=[12;34]表示矩阵t1是2×2的,第一行元素是1和2,第二行元素是3和4。矩阵t1的第i行第j列的元素表示为t1(i,j),如:t1(2,1)=34.矩阵运算指令举例4.1矩阵乘法t1*t2表示矩阵t1与矩阵t2相乘4.2矩阵的逆9inv(t1)表示求矩阵t1的逆矩阵5.赋值语句a=inv(t1)表示把矩阵t1的逆矩阵用a表示。6.方程及方程组的解法6.1方程的解法要解方程f(x)=0在程序中写成f1=f(x)[x]=solve(f1,x)要解方程f1(x)=0,需按下列指令处理:y=f1(x)[x]=solve(y,x)6.2方程组的解法若要求解方程组在程序中写成:[x,y,z]=solve(f1,f2,f3,x,y,z)此时在command窗口中可得变量x、y、z的具体数值或表达式。0),,(0),,(0),,(zyxlzyxnzyxm),,(3),,(2),,(1zyxlfzyxnfzyxmf107.角度的输入需要注意角度的输入,系统中默认的是弧度。Matlab中用pi表示8.数值运算若进行数值运算,可直接给变量赋值,进行运算,这与其它高级语言类似。9.符号运算若进行的不是数值运算,而是符号运算,则需要在程序开始的第一行进行符号说明,即说明变量是符号变量。例:a和b是符号变量,则说明如下:symsabc=a+b则在command窗口中可见c的内容就是a+b。10.如果数据表达式复杂,可用simplify(f1)语句对f1整理简化。11.如果数据太长,可用vpa(q2)看数据q2。12.可变精度的运算,可以设置任意多的有效计算位数进行计算(Vpa,digits)如:digits(16)[x,y]=solve(f1,f2.x,y)三上机作业:1.编程计算矩阵T1与T2的乘积,其中2.解矩阵方程021TT,求得变量x和y(提示利用对应元素相等,列方程,程序语句如下:f1=t1(1,1)-t2(1,1)f2=t1(2,1)-t2(2,1)[x,y,]=solve(f1,f2,x,y)要求:实验前认真阅读实验报告及教材上相关内容,实验过程中认真建模、104)sin(7)cos()sin(3)cos(1xyyxT104)sin(7)cos()sin(3)cos(2yxxyT11编程,记录实验数据,细心观察实验现象。实验后认真整理实验报告,并按指定时间把实验报告(内容:实验目的、实验原理及方法、实验仪器设备、实验内容及步骤、实验思考)交于实验室。
本文标题:机器人技术基础实验及上机
链接地址:https://www.777doc.com/doc-46840 .html