您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > 机械臂运动路径设计问题
研究生试卷2016年—2017年度第一学期课程名称:机器人学导论评分:专业:机械工程年级:2016级研究生姓名:学号:任课教师姓名:注意事项1.答题必须写清题号;2.字迹要清楚,保持卷面清洁;3.试题随试卷交回;4.考试课按百分制评分,考查课按5级分制评分;5.阅完卷后,一周内将试卷、试题、成绩单由任课教师签名后,送有关部门。机械臂运动路径设计问题自1959年美国的英格伯格和德沃尔制造出世界上第一台工业机器人“尤尼梅特”开始,近半个世纪以来,机器人的研制和应用以惊人的速度发展并取得长足的进步。当今世界,机器人的应用领域已十分广泛,包括工业生产、海空探索、医疗康复和军事活动等,此外,机器人已逐渐在医院、家庭和一些服务行业获得应用。从生产车间中的焊接机械手,到水下自治式机器人,从娱乐性的拳击机器人,到伊拉克战场上的无人驾驶机,机器人已经与我们的日常生活息息相关。机器人通常分为关节式机器人(或称机械臂、机械手、机器人操作臂、工业机器人等)和移动式机器人。一般来说,前者具有更多的自由度,而后者的作业范围则更大一些。以某型号机器人为例,其示意图见图1:图1机器人结构图第一个自由度±180度第二个自由度±125度第三个自由度±138度第四个自由度±270度第五个自由度-133.5~120度第六个自由度±270度这种机器人一共有6个自由度,分别由六个旋转轴(关节)实现,使机器人的末端可以灵活地在三维空间中运动。为了便于分析和计算,我们对机器人结构进行简化,简化后的数据见图2和参数表1。这里用七条直线段表示机器人的七个连杆,连杆之间用所谓的旋转关节连接,已知AB=140mm,BC=255mm,CD=255mm,DE=65mm。根据旋转的方向分成两类关节,旋转轴分平行连杆的(如图1的自由度一、四、六,对应于图2中的F,G,H)和垂直连杆的(如图1的自由度二、三、五,对应于图2中的B,C,D)两种,前者如笔帽的转动方向,后者如摇柄的转动方向。每一个关节对应一个角度i,这个角度表示前一个连杆方向到后一个连杆方向转角(对于B,C,D),连杆方向为AB、BC、CD、DE,或者相对于初始位置的转角(对于F,G,H),假设机器人的初始位置是在一个平面上的(y-z平面)。为了使机器人运动得更加灵活允许关节的转角超过360°的。图2:机器人的尺寸图机器人关于六个自由度的每一个组合),,,,,(654321,表示机械臂的一个姿态,显然每个姿态确定顶端指尖的空间位置X:Xf)(。假定机器人控制系统只能够接收改变各个关节的姿态的关于连杆角度的增量指令(机器指令)),,,,,(654321P,使得指尖(指尖———图2中的E点,具有夹工具、焊接、拧螺丝等多种功能,不过在这里不要求考虑这方面的控制细节)移动到空间点X′,其中各个增量i只能取到-2,-1.9,-1.8,┅,1.8,1.9,2这41个离散值(即精度为0.1°,绝对值不超过2°)。通过一系列的指令序列nPPPP,,,,321可以将指尖依次到达位置X0,X1,┅,Xn,则称X0,X1,┅,Xn为从指尖初始位置X0到达目标位置Xn的一条路径(运动轨迹)。根据具体的目标和约束条件计算出合理、便捷、有效的指令序列是机器人控制中的一个重要问题。我们约定直角坐标系的原点设在图2的A点,z轴取为AB方向,x轴垂直纸面而y轴则在基座所固定的水平台面上。1.根据市场需求,机械臂制造厂打算为他们的产品研发一个软件系统,能够直接将用户的运动命令自动转换成机器指令序列。即为这类机器人设计一个通用的算法,用来计算执行下面指定动作所要求的指令序列,并要求对你们算法的适用范围、计算效率以及你们的近似算法所造成的误差和增量i离散取值所造成的误差大小进行讨论(不考虑其他原因造成的误差):①.已知初始姿态Φ0和一个可达目标点的空间位置(Ox,Oy,Oz),计算指尖到达目标点的指令序列。②.要求指尖沿着预先指定的一条空间曲线x=x(s),y=y(s),z=z(s),a≦s≦b移动,计算满足要求的指令序列。③.在第①个问题中,假设在初始位置与目标位置之间的区域中有若干个已知大小、形状、方向和位置的障碍物,要求机械臂在运动中始终不能与障碍物相碰,否则会损坏机器。这个问题称机械臂避碰问题,要求机械臂末端在误差范围内到达目标点并且整个机械臂不碰到障碍物(机械臂连杆的粗细自己设定)。2.应用你的算法就下面具体的数据给出计算结果,并将计算结果以三组六维的指令序列(每行6个数据)形式存放在Excel文件里,文件名定为answer1.xls,answer2.xls和answer3.xls。假设在机械臂的旁边有一个待加工的中空圆台形工件,上部开口。工件高180mm,下底外半径168mm,上底外半径96mm,壁厚8mm。竖立地固定在xy-平面的操作台上,底部的中心在(210,0,0)。①.要求机械臂(指尖)从初始位置移动到工具箱所在位置的(20,-200,120)处,以夹取要用的工具。②.如果圆台形工件外表面与平面x=2z的交线是一条裂纹需要焊接,请你给出机械臂指尖绕这条曲线一周的指令序列。③.有一项任务是在工件内壁点焊四个小零件,它们在内表面上的位置到xy平面的投影为(320,-104)、(120,106)、(190,-125)和(255,88)。要求机械臂从圆台的上部开口处伸进去到达这些点进行加工,为简捷起见,不妨不计焊条等的长度,只考虑指尖的轨迹。3.制造厂家希望通过修改各条连杆的相对长度以及各关节最大旋转角度等设计参数提高机械臂的灵活性和适用范围。请根据你们的计算模型给他们提供合理的建议。关节变量符号i初始位置i变量范围110±18022-90±125330±138440±27055-90-120+133.5660±270参数表1初始姿态Φ0和动作范围《机器人学导论-大作业答案》12.机械臂运动路径设计问题12.1初始姿态Φ0的确定关节转角按照逆时针旋转选择为正,按顺时针旋转为负。约定机器人的初始位置是在一个平面上的(y-z平面),直角坐标系的原点设在A点,z轴取为AB方向,x轴垂直纸面而y轴则在基座所固定的水平台面上。初始位置i是指θ的初始值,其中关节1,4,6的初始值就是使机器人的各个连杆在y-z平面,关节1的初始值就是使连杆BC等在y-z平面的角度,关节4初始值就是使机器人的连杆DE在连杆AB、BC、CD所生成的平面内,从而可确定机械臂的初始姿态,如图12.1所示。0y0x0z5y1z1y1xABDFEO2x2y2z213C3x3z3yG44x4y4z5x5zH66x6z6y图12.1机械臂的初始姿态图12.2指尖在无障碍的情形下移动到指定点,我们建立如下模型12.2.1模型一设初始点的位置为000(,,)xyz其姿态各个角度是010203040506(,,,,,)目标点的位置为(,,)xyz,设123456(,,,,,)为由初始姿态,经过一些列指令变换后的各旋转角的总增量,其对应的位置为(,,)eeexyz.由于连杆角度的增量指令是123456(,,,,,)错误!未找到引用源。,而且只能取到-2,-1.9,-1.8,…,1.8,1.9,2这41个离散值(即精度为0.1,绝对值不超过2),因此为了使机器指尖与目标点能够尽可能地接近,我们有如下的目标函数:123456222,,,,,min()()()eeexxyyzz12.2.2问题1的算法:考虑到有效的控制角度有5个而要完成从当前点移动到目标点,在精度要求满足的情况下仅仅需要改变3个角度就可达到目标点,所以本文提出的算法是首先固定4和5,令它们同时为0给出123,,控制序列即可达到目标点.由于不考虑障碍物所以机械臂的转动很自由为了使得两点之间的运动时间最短操作指令最少应该使得所有关节同时转动。这样指令的长度就仅仅是0102030405,,,,错误!未找到引用源。中转动角度最大的关节的转动所对应得操作序列长度。设0102030405,,,,错误!未找到引用源。的转动角度对应得指令序列长度是L1L2L3L4L5总的操作序列长度L=max(L1、L2、L3、L4、L5)。设每个关节的目标角度与当前角度差为i错误!未找到引用源。(i=1,2,3,4,5)因为角度的增量是(2,1.9,1.8,,0,-0.1,-0.2-1.8,-1.9,-2.0),所以如果0i错误!未找到引用源。,首先应该考虑取大的转角,然后依次取较小的角度增量.直至分解完毕.如果0i,则角度增量(负值)从小到大分解。详细算法可通过MatLab编程实现。12.2.3问题的求解下图为从初始点运动到给定点(20,-200,120)的各臂的运动轨迹:图12.2上图中加星粗线表示的是初始状态粗线表示的是目标状态,细线是控制指令下完成全过程的运动轨迹。12.3指尖沿指定曲线运动12.3.1问题2的算法算法一要求指尖沿着预先指定的一条空间曲线迅速x=x(s),y=y(s),z=z(s),a≦s≦b移动。设曲线的端点为P0和Pn,不妨规定P0为起始点,Pn为运动终点,从起始点的位姿010203040506(,,,,,)出发,以i=0或0.1的微小变化逐步搜寻相邻位姿,并从相邻位姿所对应的指尖实际位置中选取与给定曲线最接近的作为第1个近似插点记为p1,同时记录对应指令为p1,然后再从p1出发搜寻合适的p2和P2,依次类推直至指尖距离曲线终点位置在一定的精确度范围内.这样通过一系列的指令p1、p2、p3、…pn,,将指尖依次到达曲线上或邻近位置,从而最终实现指尖沿着预先指定的空间曲线移动。算法二首先对曲线抽样离散化这样指尖沿曲线运动就可以转化成点到点的运动通过分析和计算机模拟结果可知,由于控制角度的离散化,指尖在三维空间的运动间隔为1mm数量级可以说本系统指尖的分辨率是1mm数量级,所以曲线的抽样间隔点空间距离应该同样为1mm的数量级。本文的算法是首先用上文提出的点到点算法到达线段的端点,然后固定12,错误!未找到引用源。改变345,,,指尖可以在一定的空间范围内沿着空间曲线运动,由于固定指尖的运动范围比较有限,超出这个范围后要计时改变12,,每次在超出运动范围之前对12,做一次大的调整反复的进行以上的步骤即可达到相当好的精确度沿着空间曲线运动12.3.2问题2的求解根据算法二,通过Matlab编程仿真得到给定曲线以及指尖实际运动轨迹的图像可以看出精确度是很高的也就是说本算法得出的仿真结果误差非常小。在计算出的一系列控制指令的作用下机械臂指尖实际运动的轨迹与给定曲线几乎完全重合以致较难分辨,故同时给出局部放大图图12.3是三维视图,图12.4是xz面的放大图。图12.3图12.4给定曲线以及指尖运动轨迹放大图经过计算,给定曲线与指尖实际运动轨迹的误差仅为0.1223mm。12.4避障运动问题12.4.1避障问题的运动规划对于机械臂来说,运动避障问题可以描述为机械臂在障碍物环境中计算一条安全高效的路径。首先说明一下,本文研究的方法是基于机械臂的位姿空间,即机械臂的关节空间的机械臂运动规划问题的输入为机械臂和障碍物的几何要素比如机械臂的尺寸关节数量等,以及障碍物的形状、大小等,机械臂运动规划问题的输出为连接初始和目标位姿的无碰的位姿序列。下面将就运动规划问题中的几个关键要素进行具体的阐述。对于静态运动规划障碍物的所有信息均已知运动规划在此基础上进行有限制的运动规划如机器人机械臂的关节角度有一定的限制范围。本文所研究的机械臂是有一定的自身限制的根据完备性来分类运动规划算法有精确的和启发式的两种前者可以看作是用穷尽的方法找出符合要求的路径或者得出无法找到路径的结论。通常是很耗费计算量的后者则着眼于怎样快速的找到一条路经,通常加了一些启发性的因素,有可能会失败,也有可能找到的路径并不是最优的工程上一
本文标题:机械臂运动路径设计问题
链接地址:https://www.777doc.com/doc-6212503 .html