摘要机械人的各个关节姿态中关于连杆角度的增量指令(机器指令)是机器人的控制系统。
本文研究的是机器人机械臂的运动路径的指令序列设计问题,通过对机械臂指尖到达空间位置的不同情况,建立的多目标规划模型。
问题1:分三种情况,一是,指尖到达目标点。
给各个关节点建立相应笛卡尔坐标系,关节的欧拉角发现,H点角度变化不会改变机械臂的空间位置,所以设计指令时只需取D,,五个关节的角度增量即可,引用齐坐标系变F,,GCB化,将它们转化为矩阵形式,得出五个点的转换矩阵,且这个变换矩阵通过了验证。
只要给出可达目标点的空间位置,就可以求解出五个关节点的角度变化量。
在求解指令序列时,运用机械臂逆运动方法,为得到指尖E点与目标点的最优解,建立两点距离最短的模型。
二是,沿曲线轨迹运动。
当目标变成空间的一条曲线时,将曲线抽样离散化,变成一系列的目标点,根据第一种情况到达目标点的方法,依次通过这些点,指尖E将沿曲线轨迹运动。
三是,碰壁问题。
在情况二的基础上加入机械臂与障碍物不能相碰的约束——即受限的目标到达。
为达到便捷要求,故以机械臂末端达到目标点所需的指令序列最少为目标,情况二的基础上增加避碰限制和误差限制建立最优化模型。
问题2:给出相应数据,按照问题一的模型,求出相应解。
问题3:改变连杆的相对长度以及各关节的转角范围,机械臂的灵活性和适应性也将发生改变,建立以工作范围最大为目标的优化模型。
一、问题重述半世纪以来,随着科学技术的高速发展,机械人已广泛被我们运用。
机器人通常分为关节式机器人和移动式机器人。
这里讨论有6个自由度的关节式机器人,6个自由度分别由六个旋转轴(关节)实现,使机器人的末端可以灵活地在三维空间中运动。
为方便分析和计算,对机器人结构简化,用七条直线段表示机器人的七个连杆,连杆之间用所谓的旋转关节连接,给定每根连杆的长度。
根据旋转的方向分成两类关节,旋转轴分平行连杆和垂直连杆。
每个关节对应一个角度,这个角度用来表示前一个连杆方向到后一个连杆方向转角或者相对于初始位置的转角。
给定机器人的初始位置。
机器人关于六个自由度的每一个组合表示机械臂的一个姿态,每个姿态确定顶端指尖的空间位置。
假定机器人控制系统只能够接收改变各个关节的姿态的关于连杆角度的增量指令,使得指尖移动到空间中指定,限定各个增量的取值范围和精度。
通过一系列的指令序列便可将指尖依次到达相应位置。
根据具体的目标和约束条件计算出合理、便捷、有效的指令序列是机器人控制中的一个重要问题。
同时,题目中约定直角坐标系的原点设定位置。
1.为这类机器人设计一个通用的算法,用来计算执行下面指定动作所要求的指令序列,并对算法的适用范围、计算效率以及近似算法所造成的误差和增量离散取值所造成的误差大小进行讨论:①.已知初始姿态Φ0和一个可达目标点的空间位置(O x, O y, O z),计算指尖到达目标点的指令序列。
②.要求指尖沿着预先指定的一条空间曲线x = x(s), y = y(s), z = z(s), a ≦s ≦b移动,计算满足要求的指令序列。
③.在第①个问题中,假设在初始位置与目标位置之间的区域中有若干个已知大小、形状、方向和位置的障碍物,要求机械臂在运动中始终不能与障碍物相碰,否则会损坏机器。
这个问题称机械臂避碰问题,要求机械臂末端在误差范围内到达目标点并且整个机械臂不碰到障碍物(机械臂连杆的粗细自己设定)。
2. 应用所得的算法就下面具体的数据给出计算结果。
假设在机械臂的旁边有一个待加工的中空圆台形工件,上部开口。
工件高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:给出相应数据,按照问题一的模型,求出相应解。
问题3::改变连杆的相对长度以及各关节的转角范围,机械臂的灵活性和适应性也将发生改变,建立以工作范围最大为目标的优化模型,分析结果并提出合理的建议。
三.模型假设1.假定机器人控制系统只能够接收改变各个关节的姿态的关于连杆角度的增量指令(机器指令)。
2.机器人的运动不受功率、动力因素影响。
3. 机器人的连杆的粗细可以不计,即将每条连杆仅仅抽象成一条线段,不会发生形变。
4.实际运动中指尖最终的指向姿态是根据操作需求而确定的,但本文对运动路径的讨论中不考虑这方面细节。
四.符号说明 L-----从固定坐标系移动到目标坐标系的距离E -----机械人指尖空间位置的点φ-----机械人指尖初始姿态 i θ-----第i 个自由度的转角(i=1,2,3,4,5,6)iθ∆-----第i 个自由度转角的增量(i=1,2,3,4,5,6) j T ------第j 次变换的变换矩阵(j=1,2,3,4,5,6,)O ----目标点的空间位置 AB l -----连杆AB 的长度BCl -----连杆BC 的长度 CD l -----连杆CD 的长度DE l -----连杆DE 的长度五.模型的建立与求解 5.11 指尖0ϕ到达目标点0O齐坐标系转化法模型建立:机器人的控制系统只能够接收改变各个关节的姿态的关于连杆角度的增量指令,所以各个关节角度增量求解是个关键问题。
如图一,对所给的机械臂在其各个关节点建立相应笛卡尔坐标系.其中以A 为原点建立的坐标系就是题中给出的坐标系, 1坐标系和2坐标系的原点都建立在B 点, 3坐标系建在C 点, 4, 5,6坐标系的原点都重合地建立在D 点,每个坐标系的Z 轴都和相应关节旋转轴所在直线重合。
其中i θ我们引用欧拉角表示,所谓欧拉角是对绕不同坐标抽的转角的序列,由于欧拉角的不同取法,旋转矩阵有不同表达式。
我们规定,欧拉角逆时针为正方向。
.如图一 机械臂各个关节处的笛卡尔坐标系机器人机构是由一系列关节连接起来的连杆机构所组成,为机械的每一连杆建立一个坐标系,并用齐次变换来描述这些坐标系间的相对位置和姿态,这里齐次变化指的是,用【n+1】维数组表示n 维坐标,用此来表达矩阵的变化。
我们将六个关节的角度的变化量转化为矩阵形式,这样便于进行数据的处理,分析六个关节的角度发现,H 点角度变化不会改变机械臂的空间位置,所以取D G C B F ,,,,五个关节的角度增量进行分析,就可以计算出指尖能到达的目标点的空间位置。
模型求解:我们把描述一个连杆和下一个连杆间相对关系的齐变换叫做A 矩阵。
A 矩阵就是一个描述连杆坐标系间相对旋转的齐次变换。
如果A1表示第一个连杆对于基系的位置和姿态,A2表二个连杆相对于第一个连杆的位置和姿态,那么第二个连杆在基系中的位置和姿态可由下列矩阵的乘积给出:T2=A1A2。
同理,若A3表示第三个连杆相对于第二个连杆的位置和姿态,则有:T3=A1A2A3。
对于由3个机械连杆组成的6自由度机械手(由于第6个自由度对指尖达到目标位置不产生影,故不做讨论),有下列T 矩阵:T5=A1A2A3A4A5。
机械手具有六自由度,每个连杆含有一个自由度,并能在其运动范围内任意定位与定向.其中,3 个自由度用于规定位置,而另外 3 个自由度用来规定姿态.T5表示机械手末端相对于坐标系的位置和姿态。
下面写出各个相邻杆件坐标系之间的位姿矩阵 Ai (i=1,2,3,4,5)。
A1=[-sin(1θ),-cos(1θ),0,0;cos(1θ),-sin(1θ),0,0;0,0,1,140;0,0,0,1];A2=[-sin(2θ),cos(2θ),0,0;0,0,1,0;cos(2θ),sin(2θ),0,0;0,0,0,1]; A3=[-sin(3θ),cos(3θ),0,255;-cos(3θ),-sin(3θ),0,0;0,0,1,0;0,0,0,1]; A5=[cos(5θ),sin(5θ),0,0;0,0,-1,0;-sin(5θ),cos(5θ),0,0;0,0,0,1]; A4=[cos(4θ),-sin(4θ),0,0;0,0,1,255;-sin(4θ),-cos(4θ),0,0;0,0,0,1];A6=[cos(6θ),-sin(6θ),0,0;0,0,1,0;-sin(6θ),-cos(6θ),0,0;0,0,0,1];其中各角度的取值范围为1θ∈[-180°,180°],2θ∈[-125°,125°]3θ∈[-138°,138°],4θ∈[-270°,270°]5θ∈[-133.5°,120°]2);0,0,0,1]我们将一些点带入T 进行验算,说明该变换矩阵是正确的。
例如,当五个关节点坐标为初始位置0(0,/2,0,0,/2)pi pi ϕ=--带入变换矩阵T 进行计算,所得的指尖的坐标为(0,510,75),这与实际情况一致的。
问题一:单目标到达问题模型的建立:题目要求机械指令序列便捷有效,故以机械臂定位后指尖到达的实际位置与目标位置之间的距离误差最小为目标,即先大致调解,然后微调。
首先,我们只允许连杆角度的最小变化为20º(连杆角度变化的精度为20º),对其中所有可能进行遍历,求出使E点最接近目标点的情况;然后在前次求出的变化区域将角度变化精度减小至1º,再次遍历;最后将精度减小至题中的0.1º,求出最优解。