机器人学第二章(数学基础)
- 格式:doc
- 大小:1.19 MB
- 文档页数:22
《机器人技术概论》讲义目录第一章机器人概论- 1 -《机器人概论》研究的内容- 1 -什么是机器人?- 1 -机器人的发展- 2 -为什么要发展机器人?- 3 -机器人发展的三个阶段- 3 -机器人学- 4 -机器人的分类- 4 -第二章机器人的数学基础- 6 -第一节位置和姿态的表示- 6 -第二节坐标变换- 7 -第三节齐次变换- 8 -第三章机器人运动学- 11 -第一节机器人运动方程的表示- 11 -第二节连杆变换矩阵及其乘积- 12 -第四章机器人的感觉系统- 18 -第一节传感器原理简介- 18 -第二节传感器在机器人中的应用- 20 -第五章机器人驱动与控制技术- 28 -第一节驱动电机- 28 -第二节位置控制- 30 -第六章机器人轨迹规划- 35 -第一节轨迹规划的一般性问题- 35 -第二节关节轨迹的插值- 35 -第三节移动机器人路径规划- 38 -第一章机器人概论《机器人概论》研究的内容在机器人研究中,我们通常在三维空间中研究物体的位置。
这些物体可用两个非常重要的特性来描述:位置和姿态。
我们会首先研究如何用数学的方法表示和计算这些参量。
运动学研究物体的运动,而不考虑引起这种运动的力。
在运动学中,我们研究位置、速度、加速度和位置变量对于时间和其它变量的高阶微分。
其中,正运动学方程描述各个关节变量在工具坐标系与基坐标系间的函数关系;逆运动学通过给定工具坐标系的位置和姿态,计算各个关节变量。
机器人与外界环境相互作用时,在接触的地方要产生力和力矩,统称为操作力矢量。
n个关节的驱动力(或力矩)组成的n 维矢量,称为关节力矢量。
静力学研究在静态平衡状态下,操作力向关节力映射存在着的线性关系。
动力学主要研究产生运动所需要的力。
为了使操作臂从静止开始加速,使末端执行器以一定的速度作直线运动,最后减速停止,必须通过关节驱动器产生一组复杂的力矩函数来实现。
机器人的感觉主要介绍产生机器人的力觉、视觉、触觉、接近觉等相关的传感器。
工业机器人课程教学大纲《工业机器人》课程教学大纲一(课程的性质与任务课程性质:本课程综合介绍了机器人技术,设计思想和发展趋势主要任务:本课程是要求学生通过学习、课堂教育,能了解机器人发展的最新技术与现状;初步掌握机器人技术的基本知识。
二(课时分配序号课题小计讲课实验机动一绪言 2 2 二机器人学的数学基础 4 4 三机器人运动方程的表示与求解 8 8 四机器人动力学 6 6机器人的控制五 4 4 六机器人学的现状、未来 2 2合计 28 26 2三(课程教学内容第一章绪言简述机器人学的起源与发展,讨论机器人学的定义,分析机器人的特点、结构与分类。
第二章机器人学的数学基础空间任意点的位置和姿态变换、坐标变换、齐次坐标变换、物体的变换和逆变换,以及通用旋转变换等。
第三章机器人运动方程的表示与求解机械手运动姿态、方向角、运动位置和坐标的运动方程以及连杆变换矩阵的表示,欧拉变换、滚-仰-偏变换和球面变换等求解方法,机器人微分运动及其雅可比矩阵等第四章机器人动力学机器人动力学方程、动态特性和静态特性;着重分析机械手动力学方程的两种求法,即拉格朗日功能平衡法和牛顿-欧拉动态平衡法;然后总结出建立拉格朗日方程的步骤第五章机器人的控制机器人控制与规划第六章机器人学的现状、未来包括国内外机器人技术和市场的发展现状和预测、21世纪机器人技术的发展趋势、我国新世纪机器人学的发展战略等。
不同类型机器人的研究发展状况等。
四(教学的基本要求采用启发式教学,培养学生思考问题、分析问题、解决问题的能力;理论以够用为度,且从应用的角度,尽量简化定量分析。
五(建议教材与教学参考书1、机器人学、蔡自兴、清华大学出版社、20002、机器人学导论,约翰J.克雷格、西北工业大学出版社、1987 六(说明1( 本课程的教学原则上须由一定工作经验的讲师及讲师以上的教师担任,以保证理论知识和实践操作技能教学的需要。
2( 本课程适用于高职数控技术应用、机电一体化、机电工程及自动化、机械工程与自动化等专业。
机器人机构学的数学基础
机器人机构学的数学基础包括向量、矩阵、三角函数、微积分等数学知识。
首先,向量是机器人机构学中必须掌握的概念,因为机器人的运动轨迹可以表示为一系列向量。
向量的长度和方向可以描述机器人的位置和姿态,因此对于机器人的运动规划和控制非常重要。
其次,矩阵是机器人机构学中不可或缺的数学工具,因为机器人的运动学和动力学问题可以表示为矩阵方程。
例如,通过矩阵变换可以将机器人末端执行器的位姿转换为关节角度,或者将关节力矩转换为末端执行器的力和力矩。
第三,三角函数也是机器人机构学中常用的数学工具,因为机器人的运动通常涉及到角度的变化。
例如,关节角度可以用正弦和余弦函数来表示,而逆解问题中也需要使用反三角函数求解。
最后,微积分是机器人机构学中的重要数学基础,因为机器人的运动学和动力学问题往往涉及到速度、加速度和力矩等概念。
例如,求解机器人的运动学和动力学模型时需要使用微积分知识,同时在机器人控制问题中也需要使用微积分来设计控制算法。
总之,机器人机构学的数学基础包括向量、矩阵、三角函数和微积分等数学知识。
掌握这些数学知识对于理解机器人的运动规划、控制和仿真非常重要。
DONG QiuhuangCollege of Mechanical and Electronic Engineering, FAFU.Mathematical BasisManipulator-Mechanism Design 2Mathematical basisIntroduction4and tools will be some sort of mechanism.How to define the manipulate mathematical quantities (数学量)that represent location of the body?IntroductionRigid Body Motion (刚体运动)Position andOrientation Mathematical Quantities (Coordinates)Velocities, Forces (速度和力)must define coordinate systems representation.Mathematical basisDescription (描述)83×1 position vector.DescriptionCatesian coordinate system (笛卡尔坐标系):9Description10Description of Orientations (姿态描述)position , but also need to describe its orientation in the space.DescriptionHow to describe the orientation of a body ?Description of Orientationsreference system.Description12Description of OrientationsDescription1314Description of OrientationsDescriptionDescription of OrientationsDescriptionObtain the projection of that vector onto the unit directions of its reference coordinate.Example:Compute the Rotation MatrixRotation about axisExample:Rotation about axis:Rotation about axis:Description of OrientationsDescription19Description20manipulator hand is a position DescriptionWe define such a entity which contain the pair of position and Mathematical basiscoordinate system .工具坐标系目标坐标系固定坐标系基座坐标系Mapping23Mathematics of changing descriptions of the same quantity from frame to frame.1. Translation(平移)已知S 点在坐标系{B}中的表达,那么在坐标系{A}中如何表达?242. Rotation (旋转)求矢量在坐标系{A}三个主轴上的投影。
第二章数学基础2.1 引言机器人操作手的研究涉及物体之间以及物体与操作手之间的关系。
在这一章中,我们将研究描述这些关系所需的表示方法。
在同样必须描述物体之间关系的计算机制图学领域中,已经解决了类似的表示方法问题。
在该领域以及计算机视觉方面使用了齐次变换。
这些变换以前Denavit用来描述连杆机构。
而现在我们用这些变换来描述操作手。
我们将首先建立向量和平面的符号,再在这些符号基础上引入变换。
这些变换主要由移动和转动所组成。
接着将表明,这些变换也可以作为表示包括操作手在内的物体的坐标架。
然后将引入逆变换。
后一节叙述绕任一向量旋转的一般旋转变换。
再介绍一种算法,以用来找出用任何已知变换表示的等效旋转轴和等效旋转角。
伸张和缩放变换的一小节,连同透视变换一节也包含在本章中。
这一章用一节关于变换方程的内容来作为结尾。
2.2 符号在描述物体间关系时,我们将利用点向量、平面和坐标架。
点向量用小写黑体印刷符号表示,平面用手写体印刷符号表示,坐标架则用大写黑体印刷符号表示。
例如:向量v, xl, x平面∏, Θ坐标架I, A, CONV我们将把点向量、平面和坐标架作为具有关联数值的变量使用。
例如,一个点向量就具有三个笛卡尔坐标分量。
如果希望相对于坐标架E来描述空间一个称为p的点我们将用一个称为v的向量,并将这一向量写成EV前置的上标表示所定义的坐标架。
我们也可以利用向量w相对于例如H这样的不同坐标架,来描述相同的点p为HWv和w是两个很可能具有不同分量的向量,虽然两个向量描述相同的点p,但v≠w。
也可能存在这种情况,用一个向量a来描述在任一坐标架上面3英寸地方的一个点F2a1aF在这一情况中,向量是完全相同的,但是描述了不同的点,通常文中定义的坐标架是明显的,这时上标就不用。
在许多情况中,向量的名称将与被描述的物体的名称相同,例如,销的末端可以用相对于坐标架BASE的向量tip来描述B A SEtip如果文中相对于BASE描述向量是明显的,则我们可以简单地写为tip如果还希望相对于另一坐标架HAND 来描述这一点,则我们必须用另一向量来描述这一关系,例如tv HANDtv HAND和tip 两者描述相同的物件,但有着不同的值。
为了涉及到坐标架、向量或平面的每一分量,我们添加下标来表示特定分量。
例如,矢量tv HAND有分量tv H A N Dx ,tv H A N Dy ,tv H A N Dz 。
2.3 向量在n 维空间中物体的齐次坐标表达式是一个(n +1)维空间实体,这样一个特定的透视投影即重新建立了该n 维空间。
这也可以被视为对每个向量加上一个外加坐标(比例因子)。
这样,如果包括比例因子的每个分量乘以一常数,向量含义不变。
一个点向量v i j k a b c =++ (2-1)式中i ,j 和k 分别是沿x ,y 和z 坐标轴的单位向量。
在齐次坐标中用一列矩阵来表示点向量vx yz w ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦(2-2) 式中a x wb y wc z w=== (2-3) 于是能够把向量345i j k ++写成[]3451T,或者[]68102T,或者再写成为[]30405010T----等等。
上标T 指明行向量转置为列向量。
在原点处的向量(零向量)被写成[]Tn ,式中n 是任意非零比例因子,[]00T是非限定向量。
形式为[]0Tabc的向量表示无限大向量,并被用来表示方向:加上其它任一有限向量,都不会改变它的大小。
我们也将使用向量的点乘和叉乘,给出二个向量i j k i j ka b x y z x y z a a a b b b =++=++ (2-4)我们规定向量点乘用“⋅”表示为a b x x y y z z a b a b a b =++⋅ (2-5)二向量的点乘是一个标量。
用“⨯”标明的叉乘,是垂直于两相乘向量所形成平面的另一向量,用下式表示()i ()j ()k a b y z z y z x x z x y y x a b a b a b a b a b a b =-+-+-⨯ (2-6)这一定义作为行列式展开更易于记忆xy z xyz a a a b b b ⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦⨯i j k a b(2-7) 2.4 平面一个平面可以用一个行矩阵来表示[],,,a b c d =P (2-8)这样,如果点v 位于∏平面中,矩阵乘积V0=P(2-9)或展开为0xa yb zc d ω+++= (2-10)如果我们定义一常数m = (2-11)将方程2-10除以m ω得x ay bz cdm m m mωωω++=-(2-12)方程2-12左边是k z j y i x )/()/()/(ωωω++和k m c j m b i m a )/()/()/(++两向量的点乘,表示点k z j y i x )/()/()/(ωωω++沿向量k m c j m b i m a )/()/()/(++的指向的距离。
向量k z j y i x )/()/()/(ωωω++可被理解为是在法线方向上离原点距离为d m -的平面的一条外指法线。
于是平行于,x y 平面,沿z 一个单位的平面P 可表示为]1,1,0,0[-=P (2-13)或 ]2,2,0,0[-=P (2-14)或 ]100,100,0,0[-=P (2-15) 点[]10,20,1,1v =将落在这一平面中[]10200,0,100,100011⎡⎤⎢⎥⎢⎥-=⎢⎥⎢⎥⎣⎦ (2-16)或[]5100,0,1,100.50.5-⎡⎤⎢⎥-⎢⎥-=⎢⎥-⎢⎥-⎣⎦(2-17) 点[]0,0,2,1v =位于平面上面[]000,0,2,2221⎡⎤⎢⎥⎢⎥-=⎢⎥⎢⎥⎣⎦(2-18)v P 实际是正数,表明点在平面之外,而在外指法线方向上。
点[]0,0,0,1v =位于平面之下[]000,0,1,1101⎡⎤⎢⎥⎢⎥-=-⎢⎥⎢⎥⎣⎦(2-19)平面[]0,0,0,0是非限定的。
2.5 变换空间变换H 是一个4⨯4矩阵,能够用来表示移动,转动。
伸展和透视变换。
给出一点u ,它的变换v 矩阵乘积表示为v H u = (2-20)从∏到 Θ 的相应平面变换为1- =HQ P (2-21)这是因为我们要求条件v u =Q P (2-22)在所有变换中不变。
为了证实这一点,我们将公式2.20和2.21代入公式2.22的左边。
由于1-H H 为单位矩阵I ,故得1-H Hu =u P P (2-23)2.6 移动变换相应于用向量i j k a b c ++表示的移动变换H 是H T ran s =100010(,,)00101a ba b c c ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦(2-24) 给出向量(,,,)Tu x y z ω=,则得变换后的向量v 为10001000101v a x b yc z ω⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦(2-25)1x a x a y b y bz c z c ωωωωωω++⎡⎤⎡⎤⎢⎥⎢⎥++⎢⎥⎢⎥==⎢⎥⎢⎥++⎢⎥⎢⎥⎣⎦⎣⎦v (2-26) 移动也可以解释为两个向量()()()i j k x y z ωωω++与i j k a b c ++之和。
如同点和平面一样,变换矩阵的每个元素,可乘以一非零常数而变换不变。
现考虑将矢量232i j k ++移动,或是与437i j k -+相加6100420010339001721011⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦(2-27) 如果把变换矩阵元素乘以5-,而将向量元素乘以2,我们得到-605002040050156-90005354-10052--⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥--⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦⎣⎦(2-28) 这和上述向量[]6,0,9,1T一致。
点[]2,3,2,1T落在平面[]1,0,0,2-中[]231,0,0,2021⎡⎤⎢⎥⎢⎥-=⎢⎥⎢⎥⎣⎦(2-29)正如我们已得到的一样,变换点是[]6,0,9,1T。
现在我们来计算变换后的平面。
逆变换是10040103001701-⎡⎤⎢⎥⎢⎥⎢⎥-⎢⎥⎣⎦ 而变换后的平面是[][]1004010310061002001701-⎡⎤⎢⎥⎢⎥-=-⎢⎥-⎢⎥⎣⎦(2-30) 变换后的点再次落在变换后的平面中[]601006091⎡⎤⎢⎥⎢⎥-=⎢⎥⎢⎥⎣⎦(2-31)2.7 转动变换相应于绕,x y 或z 轴转过角度θ的变换是R ot 10000cos sin 0(,)0sin cos 0001θθθθθ⎡⎤⎢⎥-⎢⎥=⎢⎥⎢⎥⎣⎦x (2-32) R ot cos 0sin 00100(,)sin 0cos 00001θθθθθ⎡⎤⎢⎥⎢⎥=⎢⎥-⎢⎥⎣⎦y (2-33) R ot cos sin 00sin cos 00(,)001001θθθθθ-⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦z (2-34) 让我们用例子来解释这些转动。
给出一点u 732i j k =++,将它绕z 轴转90 至v ,其结果如何?将sin 1θ=和cos 0θ=代入公式2-34,得到变换为3010077100032001021011--⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦(2-35) 始点和终点如图2-1所示,点确实绕z 轴转过90。
现在让我们将v 绕y 轴转90到w 。
我们可从公式2-33得到变换,有2001037010073100021011-⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦(2-36) y这一结果如图2-2所示。
如果将两个变换结合起来,我们有v R ot =(,90)z u (2-37)和 v R o t =(,90)y u (2-38)将公式2-37的v 代入公式2-38得w R ot =(,90)y R ot (,90)z u (2-39)R ot (,90)y R ot (,90)z 0010010001001000-10000010001001-⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦(2-40) R ot (,90)y R ot (,90)z 001010000100001⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦(2-41) 于是w =2001077100033010021011⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦(2-42) 这与我们在前面所得到的一致。
如果我们颠倒转动的次序,首先绕y 轴转90,再绕z 轴转90,我们得到一不同位置 R ot (,90)z R ot (,90)y 010000100100100001000010001010001000010101--⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥--⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦(2-43)且点u 变换至w 为3010072001037100021011--⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥--⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦(2-44) 我们应该预料到这一点,因为矩阵相乘是不能交换的。