资源描述
机器人技术基础,第三章 操作臂运动学 课程的基本要求: 熟练掌握机器人运动学正解的D-H矩阵方法,掌握运动学反解的基本原理。理解机器人运动的二个描述空间。 背景知识 机器人运动学 机器人逆运动学 关节空间与操作空间,3.1 连杆参数和连杆坐标系 Denavit - Hartenberg Parameters,第三章 操作臂运动学,连杆的描述,n自由度机械臂-n个单自由度关节与n-1个零长度连杆组成的模型。 只考虑具有单自由度关节的操作器。 连杆编号由固定基座开始: 固定基座连杆0 第一个运动体连杆1 ,通常为了能在三维空间定位末端执行器,最少要求有6个关节。,连杆坐标系 关节 1 是垂直于肩, 关节 2 经过肩水平线, 关节 3 是在肘部。关节 4, 5 & 6 是在手腕上,初始位置关节4 和关节6 共同沿着前臂,关节5 垂直于关节4 和关节6。,连杆坐标系,Specification of Base & Final link frames,Base frame,is fixed at the base.,Final frame,is fixed at the gripper.,首、末连杆,参数/变量: , a , d, ,基本思想:每个关节分配一个坐标系。用D-H参数,描述框i相对于前一个框i-1的位姿需要4个参数,D-H参数,Z(i - 1),X(i -1),Y(i -1),( i - 1),a(i - 1 ),Z i,Y i,X i,a i,d i, i,1) ai-1 定义: ai-1 两个关节轴线公垂线的长度. 关节轴是围绕它发生旋转的有向空间直线,在图中是 Zi-1和 Zi 轴。,Zi - 1,Xi -1,Yi -1, i - 1,ai - 1,Z i,Y i,X i,a i,d i, i,可视化方法:想象一个圆柱面围绕轴Z(i-1) 扩展 当圆柱面刚刚触及轴 i 时,圆柱的半径等于a(i-1)。 图示方法: 若已经定义了坐标系, 公垂线通常是X(i-1) 轴.因此 a(i-1) 恰是沿着X(i-1)从框i-1 到框i 的位移 如果连杆是移动关节, 那么 a(i-1) 是变量,而不是参数,连杆参数a(i-1) 的识别方法:,2) (i-1) 定义: 使关节轴平行时,绕公垂线旋转的角度. 按右手规则确定正向旋转。 绕X(i-1) 轴旋转使 Z(i-1) 指向Zi 轴的方向,3) di 定义: 为了使公垂线a(i-1)和公垂线ai与Zi的交点对起,沿Zi 轴所需的位移。 即,沿Zi 对准X(i-1) 和 Xi 轴.,4) i 为了对准X(i-1) 轴和Xi 轴,绕Zi 轴所需转动的角度,连杆的描述参数,为了运动学建模的目的,一个连杆由两个数字来确定,这两个数字规定了空间这两个轴线的相对位置。 连杆长度 连杆扭转角(twist),n,连杆连接参数的描述,中间连杆 两条连杆之间的偏置 两条连杆之间的关节角,对于运动链两端,按习惯约定,首、末连杆,d1和d6以及1和6的确定方法如下。 若关节1是转动关节,则1是可变的,称为关节变量,规定1 0为连杆1的零位。习惯约定d10,若关节1是移动关节,则d1是可变的,称为关节变量,规定d1=0为连杆1的零位。习惯约定10。 上面的约定对于关节6同样适用。,连杆参数和关节变量,每个连杆由四个参数 来描述, 描述连杆i-1本身的特征, 描述连杆i-1与连杆i之间的联系。对于旋转关节i仅 是关节变量,其他三个参数固定不变;对于移动关节i,仅 是关节变量,其他三个参数因定不变。这种描述机构运动的方法首先是Denavit和Hartenberg提出来的,称为D-H方法。,一个6关节的机器人,用18个参数可以完全表示它的运动学中固定部分,而用6个关节变量描述运动学变动部分。,关节变量,连杆i-1几何特征,连杆参数和关节变量,i-1从zi-1到zi沿xi-1旋转的角度 ai-1 从zi-1到zi沿xi-1测量的距离 di从xi-1到xi沿zi测量的距离 i从xi-1到xi沿zi旋转的角度,3.1连杆变换和运动学方程,连杆变换,连杆变换可以看成是坐标系i经以下四个子变换得到的:,用4个参数对准两个关节的轴线,因为这些子变换都是相对于动坐标系描述的,按照“从左向右”的原则得到,连杆变换矩阵,(The Denavit-Hartenberg Matrix),连杆变换矩阵,D-H参数矩阵,与齐次变换矩阵一样, D-H参数矩阵是从一个坐标系到下一个坐标系的变换。用一系列D-H参数矩阵相乘,最终的结果是从某个坐标系到初始坐标系的变换。,连杆变换依赖于四个参数,其中只有一个是变化的。以下用qi表示第i个关节变量,手臂变换运动学方程,手臂变换矩阵,Denavit-Hartenberg Link Parameter Table,表的用途: 1) 描述机器人的变量和参数 2) 通过变量的数值描述机器人的状态,i-1从zi-1到zi沿xi-1旋转的角度ai-1从zi-1到zi沿xi-1测量的距离 di从xi-1到xi沿zi测量的距离 i从xi-1到xi沿zi旋转的角度,This is a translation by a0 followed by a rotation around the Z1 axis,This is a translation by a1 and then d2 followed by a rotation around the X1 and Z2 axis,例,(P. 51, 第3.1题),y3,x3,The Situation: You have a robotic arm that starts out aligned with the xo-axis. You tell the first link to move by 1 and the second link to move by 2. The Quest: What is the position of the end of the robotic arm?,1,2,两关节机器人,X2,X3,Y2,Y3,1,2,3,1,2,3,Example Problem: You are have a three link arm that starts out aligned in the x-axis. Each link has lengths l1, l2, l3, respectively. You tell the first one to move by 1 , and so on as the diagram suggests. Find the Homogeneous matrix to get the position of the yellow dot in the X0Y0 frame.,X1,Y1,X0,Y0,The position of the yellow dot relative to the X3Y3 frame is (l1, 0). Multiplying H by that position vector will give you the coordinates of the yellow point relative the the X0Y0 frame.,X2,X3,Y2,Y3,1,2,3,1,2,3,X1,Y1,X0,Y0,H = Rz(1 ) * Tx1(l1) * Rz(2 ) * Tx2(l2) * Rz(3 ),i.e. Rotating by 1 will put you in the X1Y1 frame. Translate in the along the X1 axis by l1. Rotating by 2 will put you in the X2Y2 frame. and so on until you are in the X3Y3 frame.,Slight variation on the last solution: Make the yellow dot the origin of a new coordinate X4Y4 frame,X2,X3,Y2,Y3,1,2,3,1,2,3,X1,Y1,X0,Y0,X4,Y4,H = Rz(1 ) * Tx1(l1) * Rz(2 ) * Tx2(l2) * Rz(3 ) * Tx3(l3) This takes you from the X0Y0 frame to the X4Y4 frame. The position of the yellow dot relative to the X4Y4 frame is (0,0).,We are interested in two kinematics topics Forward Kinematics (angles to position) What you are given: The length of each link The angle of each joint What you can find: The position of any point (i.e. its (x, y, z) coordinates) Inverse Kinematics (position to angles) What you are given:The length of each link The position of some point on the robot What you can find:The angles of each joint needed to obtain that position,3.4 PUMA560机器人运动学,PUMA560机器人关节空间运动,PUMA560连杆坐标系,则工具相对于工作站的位姿为,I n v e r s e K i n e m a t i c s From Position to Angles,A Simple Example, 1,X,Y,S,Revolute and Prismatic Joints Combined,(x , y),Finding 1:,More Specifically:,arctan2() specifies that its in the first quadrant,Finding S:, 2, 1,(x , y),l2,l1,Inverse Kinematics of a Two Link Manipulator,Given:l1, l2 , x , y Find: 1, 2 Redundancy: A unique solution to this problem does not exist. Notice, that using the “givens” two solutions are possible. Sometimes no solution is possible.,(x , y),l2,l1,The Geometric Solution,l1,l2, 2, 1,(x , y),Using the Law of Cosines:,Using the Law of Cosines:,Redundant since 2 could be in the first or fourth quadrant.,Redundancy caused since 2 has two possible values,The Algebraic Solution,l1,l2, 2, 1,(x , y),Only Unknown,记:,有,We know what 2 is from the previous slide. We need to solve for 1 . Now we have two equations and two unknowns (sin 1 and cos 1 ),Substituting for c1 and simplifying many times,Notice this is the law of cosines and can be replaced by x2+ y2,例如, PUMA 560存在8种运动反解,3.6 腕部三轴相交时的封闭解,对于6个自由度的机器人而言运动学反解非常复杂,一般没有封闭解。 6个自由度的机器人具有封闭反解的两个充分条件(Pieper准则) (1)三个相邻关节轴交于一点;(PUMA、Stanford),或 (2)三个相邻关节轴相互平行;(ASEA,MINIMOVER) 对于如PUMA560机器人,满足条件(1) ,运动学方程可分解为: (1)腕部位置的反解 (2)手腕方位的反解,3.7运动学反解的有关问题,运动学方程的一般形式: n6, 6个未知数,12个方程,其中6个为独立方程,存在以下问题: 解是否存在? 是否唯一? 是否可以写成封闭解形式? 如何求解?,一、解的存在性和工作空间,理论上,可达工作空间为一个圆环,其内外半径分别为l1l2和l1l2;灵活工作空间:若l1l2 ,原点;若l1l2 ,空集。 实际上,还需要考虑关节角的限制,以及结构参数等。,例如,平面2R机械手,工作空间(Workspace):不同关节转角所达到的末端执行器的所有形位的集合。是反解存在的区域(操作空间中)。 灵活(工作)空间(Dextrous Workspace):机器人手爪能以任意方位到达的目标集合。 可达(工作)空间(Reachable Workspace):机器人手爪至少能以一个方位到达的目标集合。,工作空间,讨论,(1)关节角取值范围对工作空间的影响; (2)操作臂的自由度对工作空间的影响; (3)末端执行器或工具坐标系对工作空间的影响;,反解的唯一性和最优解,机器人操作臂运动学反解的数目决定于关节数目、连杆参数和关节变量的活动范围。一般而言,非零连杆参数愈多,运动学反解的数目愈多,例如PUMA 560。 最优解:如何从多重解中选择一个最优解?最优准则?寻求方法?在避免碰撞的前提下,通常按“最短行程”准则。使每个关节的移动量为最小。对于典型工业机器人应遵循“多移动小关节、少移动大关节”的原则。,例如, PUMA 560存在8种运动反解,三、求解方法,几何解 解析解(analytical solution, closure solution) 封闭解法计算速度快,效率高 数值求解(numerical solution ) 在多重解情况下,难以算出所有的解,关节空间 n个自由度的操作臂的末端位姿由n个关节变量所决定,这n个关节变量统称为n维关节矢量,记为q,所有的关节矢量q构成的空间称为关节空间。 操作空间:末端抓手的位置和方位在直角坐标空间中的描述;,3.8 关节空间和操作空间,关节空间和操作空间,操作空间 末端手爪的位姿x是在直角坐标空间中描述的,即用操作空间来表示。其中位置用直角坐标表示,而方位用齐次坐标或者欧拉角、RPY角方法表示。运动学方程 可以看成是由关节空间向操作空间的映射;而运动学反解是由其映象求其关节空间中的原象。,关节空间,操作空间,运动学正解,运动学反解,二种描述空间,单个地看,不同的关节非常简单。 它们的运动容易理解和可视化。在左边的例子中,一个棱柱关节和旋转关节用来移动简单的机械手末端操纵装置。 在同一时刻,只有一个关节运动,以便你能容易地看见是由用棱柱型关节 (黄色元件沿着红色元件的线性运动) 和旋转关节 (红色元件相对基座回转运动)提供的独立的运动。 当它们共同地工作的时候 , 这二个简单的关节能产生更复杂的运动, 如例子所示在操作空间的运动。,关节空间运动,操作空间运动,作业:3.9,各驱动器的位置统称为驱动矢量S 驱动空间:驱动矢量S所构成的空间,x0,z0,z1,x1,z2,x2,y2,y0,y1,z3,x3,z4,x4,z5,x5,z6,x6,作业 3.9,
展开阅读全文