
数模机械臂的运动路径指令序列设计.doc
16页数模-机械臂的运动路径指令序列设计———————————————————————————————— 作者:———————————————————————————————— 日期: 机械臂的运动路径指令序列设计摘 要本文研究的是机器人机械臂的运动路径的指令序列设计问题,由于机器人的控制系统只能接收改变各个关节的姿态的关于连杆角度的增量指令,所以各个关节角度增量求解是个关键问题本文采用的是三维图形变换的平移和旋转所得的变换矩阵来求解角度变化量问题1:分析六个关节的角度发现,点角度变化不会改变机械臂的空间位置,所以设计指令时只需取五个关节的角度增量即可,我们将它们转化为矩阵形式,这样便于分析和求解运用三维图形变换的平移和旋转来求解出五个点的转换矩阵,且这个变换矩阵通过了验证只要给出可达目标点的空间位置,就可以求解出五个关节点的角度变化量在求解指令序列时,建立以各个关节角度为决策变量,各机械臂的转动次数最少为目标的优化模型,即各关节每次尽可能多地转动,同时引入一个减小误差系数来提高计算精度当目标点为〔20,-200,120〕时,运用变换矩阵和模型来求解,得出各关节的转动次数、转动角度和计算精度如表1所示。
问题2:在求解指尖沿指定空间曲线移动时指令序列时,先预取出一定的坐标点,坐标点的原那么是每次每个关节点的只移动一次,且移动的角度要小于等于,这样来保证精度,假设各点的选取密度与该点的斜率有关,于是在斜率大时取点的密度多些,斜率小取点稀疏,用MATLAB取出这些点对于预选的坐标点,将预选的点连接起来就得到空间曲线,当转动次数大于一个设定的值时,采用二分搜索法对各个点进展连接,对于每个坐标点,运用变换矩阵求解出各个关节的转动角度后,就可以运用模型来求解指尖沿指定空间曲线移动时指令序列关键词: 齐次坐标矩阵;优化模型;二分搜索法一 问题的重述某型号关节式机器人共有6个自由度,分别由六个旋转轴〔关节〕实现,使机器人的末端可以灵活地在三维空间中运动为了便于分析和计算,我们对机器人构造进展简化,简化后的数据见图2和参数表1这里用七条直线段表示机器人的七个连杆,连杆之间用所谓的旋转关节连接,AB=140mm,BC=255mm,CD=255mm,DE=65mm根据旋转的方向分成两类关节,旋转轴分平行连杆和垂直连杆两种,前者如笔帽的转动方向,后者如摇柄的转动方向每一个关节对应一个角度,这个角度表示前一个连杆方向到后一个连杆方向转角〔对于B,C,D〕,连杆方向为AB、BC、CD、DE,或者相对于初始位置的转角〔对于F,G,H〕,假设机器人的初始位置是在一个平面上的〔y-z 平面〕。
为了使机器人运动得更加灵活允许关节的转角超过360的 机器人关于六个自由度的每一个组合,表示机械臂的一个姿态,显然每个姿态确定顶端指尖的空间位置X:假定机器人控制系统只能够接收改变各个关节的姿态的关于连杆角度的增量指令〔机器指令〕,使得指尖移动到空间点X′,其中各个增量只能取到-2, -1.9, -1.8, ┅,绝对值不超过2〕通过一系列的指令序列可以将指尖依次到达位置X0,X1,┅,Xn,那么称X0,X1,┅,Xn为从指尖初始位置X0到达目标位置Xn的一条路径〔运动轨迹〕根据具体的目标和约束条件计算出合理、便捷、有效的指令序列是机器人控制中的一个重要问题我们约定直角坐标系的原点设在图2的A点,z轴取为AB方向,x轴垂直纸面而y轴那么在基座所固定的水平台面上1.根据市场需求,机械臂制造厂打算为他们的产品研发一个软件系统,能够直接将用户的运动命令自动转换成机器指令序列即为这类机器人设计一个通用的算法,用来计算执行下面指定动作所要求的指令序列,并要求对你们算法的适用范围、计算效率以及你们的近似算法所造成的误差和增量离散取值所造成的误差大小进展讨论〔不考虑其他原因造成的误差〕:①.初始姿态Φ0和一个可达目标点的空间位置〔Ox, Oy, Oz〕,计算指尖到达目标点的指令序列。
②.要求指尖沿着预先指定的一条空间曲线x = x(s), y = y(s), z = z(s), a ≦ s ≦b 移动,计算满足要求的指令序列③.在第①个问题中,假设在初始位置与目标位置之间的区域中有假设干个大小、形状、方向和位置的障碍物,要求机械臂在运动中始终不能与障碍物相碰,否那么会损坏机器这个问题称机械臂避碰问题,要求机械臂末端在误差范围内到达目标点并且整个机械臂不碰到障碍物〔机械臂连杆的粗细自己设定〕2. 应用你的算法就下面具体的数据给出计算结果,并将计算结果以三组六维的指令序列〔每行6个数据〕形式存放在Excel文件里,文件名定为和answer3.xls假设在机械臂的旁边有一个待加工的中空圆台形工件,上部开口工件高180mm,下底外半径168mm,上底外半径96mm,壁厚8mm竖立地固定在xy-平面的操作台上,底部的中心在 (210, 0, 0)①.要求机械臂〔指尖〕从初始位置移动到工具箱所在位置的 (20,-200, 120) 处,以夹取要用的工具②.如果圆台形工件外外表与平面 x = 2 z 的交线是一条裂纹需要焊接,请你给出机械臂指尖绕这条曲线一周的指令序列③.有一项任务是在工件内壁点焊四个小零件,它们在内外表上的位置到xy平面的投影为〔320,-104〕、〔120,106〕、〔190,-125〕和〔255,88〕。
要求机械臂从圆台的上部开口处伸进去到达这些点进展加工,为简捷起见,不妨不计焊条等的长度,只考虑指尖的轨迹3.制造厂家希望通过修改各条连杆的相对长度以及各关节最大旋转角度等设计参数提高机械臂的灵活性和适用范围请根据你们的计算模型给他们提供合理的建议二 问题分析本文研究的主要内容是机械臂指尖可到达空间点和沿指定路径行走时的指令序列根据题意,机器人的控制系统只能够接收改变各个关节的姿态的关于连杆角度的增量指令,那么可以以各个关节角度为决策变量,建立优化模型在建立各关节转动的角度与指尖坐标的对应关系时,可以利用图形变换的原理建立指尖初始点与新坐标点的变换矩阵问题1:对于一个目标点的情况,以指尖移动的步数最少为目标,以各关节相对于初始位置转过的角度为决策变量建立优化模型约束条件包括各关节转角的变化需在上下限之间、指尖最终位置的误差在一定的范围以此为根底,当指尖沿着预先指定的一条空间曲线移动时,先求出该曲线的方程,然后按照曲率大的地方取点多,曲率小的地方取点少的原那么取出一系列的坐标点,用点与点之间的连线来代替原来的曲线将取出的点代入到前面的模型中求解,可以得出到每个点各关节所要转过的角度,相邻角度之间的差值就是从曲线上一点到下一点的角度增量,由此算出相应的指令序列。
当机械臂要绕过障碍物时,首先根据目标点以及障碍物的位置、大小、形状和方向确定指尖的移动路径然后在路径上取出有限个点,根据第二步的模型求解可得出指令序列问题2给出了相应的数据,首先计算出需要的数据,然后代入问题1所建立的模型求解即可问题3:当改变连杆的相对长度以及各关节的转角范围时,机械臂的灵活性和适应性会发生改变,为了最大程度地发挥机械臂的作用,在合理的杆长和转角范围内,建立以工作范围最大为目标的优化模型,分析结果并提出合理的建议三 模型的假设1. 假设机器人控制系统只接收改变各个关节的姿态的关于连杆角度增量指令2. 假设机器人机械臂能正常工作四 符号说明 表示到达目标位置机械臂需要改变角度的次数 表示第关节要到达目标点角度 表示5个关节的角度选取组合, 表示第关节机械臂所能到达角度 表示第关节的能到达目标点的精度 表示第关节的角度的变化量 表示5个关节的变换矩阵 表示第个关节的转动后余下的度数需要转动次数 表示机器臂到达的空间位置的矩阵 表示目标点的齐次坐标矩阵 表示误差限值矩阵 表示第个关节点取的第个点的斜率。
五 模型的建立与求解5.1 指尖E到达目标点的指令序列 五个点的转换矩阵机器人的控制系统只能够接收改变各个关节的姿态的关于连杆角度的增量指令,所以各个关节角度增量求解是个关键问题我们将六个关节的角度的变化量转化为矩阵形式,这样便于进展数据的处理,分析六个关节的角度发现,点角度变化不会改变机械臂的空间位置,所以取五个关节的角度增量进展分析,就可以计算出指尖能到达的目标点的空间位置五个关节点都会发生转动,当关节点转动时,其对应的角度就会发生变化,五个点都不在坐标原点上,这使问题变得更加复杂我们可以利用三维图形的几何变换来求解这五个关节的变换矩阵进展三维空间的图形几何变换时,采用齐次坐标来描述,设变换前的坐标为,变换后坐标为,于是对应的齐次坐标分别为,,用来表示变换矩阵于是在三维坐标中,图形进展平移时,设是图形在三个坐标方向上的移动量,那么有公式: 写成矩阵运算表达为:当图形绕轴旋转时的旋转公式为,写成矩阵运算的表达为:当一个图形绕任意点旋转时,首先将各个坐标点平移到原点上,然后进展在原点进展绕轴旋转变换,最后再平移到对应的坐标点上现在我们以关节为例计算转换矩阵,关节的空间坐标为首先我们将关节平移到坐标原点上,得到矩阵:于是原点将关节进展旋转,旋转角度为,得到旋转后的矩阵为:再将在原点的平移到中,得到平移后的矩阵为:于是关节的转换矩阵为:同理可求解出关节的变换矩阵,五个关节的转换矩阵为,然后用Mathematica对矩阵进展化简,各变换矩阵见附录1。
我们将一些点带入进展验算,说明该变换矩阵是正确的例如,当五个关节点坐标为初始位置带入变换矩阵进展计算,所得的指尖的坐标为〔0,510,75〕,这与实际情况一致的我们在将位置为和带入,所得结果分别为〔0,255,330〕和〔0,360.6245,75〕,这与作图分析的结果是一致的5.1.2 转动次数最少模型〔1〕目标函数分析要求解到达目标点的指令序列,由于各个增量只能取到-2, -1.9, -1.8, ┅,1.8, 1.9, 2这41个离散值,我们的目标就是找出这些离散的值,并且使五个关节的角度的变化次数尽量少,即在保证一定精度的情况下,每个关节点取次数尽量多但是实际情况中,各个角度并不一定能将整除,那么这些余数是有可能是到之间于是我们引入一个减小误差系数,将与转动角度的绝对值相加后再除以2向下取整即为关节每次转动的次数,表达式为其中,的值的选取时经过对数据进展分析得出的,取0.03时能使转动的角度符合程度较好当转动角度的绝对值与相加除以取绝对值取整后余数仍然小于时,这个转动次数取值为0,如果这个余数大于等于时,将该点的转动次数取值为1于是目标函数为:式中,表示第个关节每次转动的次数,表示第个关节的转动后余下的度数需要转动次数,取0或1。
2) 约束条件分析〔A〕各点的转动的角度不能超过上下限值,即为;〔B〕第个关节需要转动的次数为,其中,取0或1,即为〔C〕机器臂所能到达的位置与目标位置的误差值要小于一定的数,我们设定,即:其中分别为机器臂到达的空间位置的矩阵,目标点的齐次坐标矩阵和误差限值矩阵〔D〕机器臂能。












