520 likes | 814 Views
机器人运动学. 第二章 数学基础 — 齐次坐标和齐次变换. 杜志江、纪军红 科学园 C1 栋机器人研究所 206 室 86414462-12 duzj01@hit.edu.cn junhong.ji@hit.edu.cn 参考教材 付京逊 《 机器人学 》 蔡自兴 《 机器人学 》. 2.1 引言 机器人位置和姿态的描述. 机器人可以用一个开环关节链来建模 由数个驱动器驱动的转动或移动关节串联而成 一端固定在基座上,另一端是自由的,安装工具,用以操纵物体. 人们感兴趣的是操作机末端执行器相对于固定参考坐标数的空间几何描述,也就是机器人的运动学问题
E N D
机器人运动学 第二章 数学基础—齐次坐标和齐次变换
杜志江、纪军红 • 科学园C1栋机器人研究所206室 • 86414462-12 • duzj01@hit.edu.cn • junhong.ji@hit.edu.cn 参考教材 • 付京逊《机器人学》 • 蔡自兴《机器人学》
2.1 引言 机器人位置和姿态的描述 • 机器人可以用一个开环关节链来建模 • 由数个驱动器驱动的转动或移动关节串联而成 • 一端固定在基座上,另一端是自由的,安装工具,用以操纵物体 • 人们感兴趣的是操作机末端执行器相对于固定参考坐标数的空间几何描述,也就是机器人的运动学问题 • 机器人的运动学即是研究机器人手臂末端执行器位置和姿态与关节变量空间之间的关系
运动学研究的问题 Where is my hand? 运动学正问题 Direct Kinematics HERE! How do I put my hand here? 运动学逆问题 Inverse Kinematics: Choose these angles!
丹纳维特(Denavit)和哈顿贝格(Hartenberg) 于1955年提出了一种矩阵代数方法解决机器人的运动学问题—D-H方法 • 具有直观的几何意义 • 能表达动力学、计算机视觉和比例变换问题 • 其数学基础即是齐次变换
2.2 点和面的齐次坐标2.2.1 点的齐次坐标 • 一般来说,n维空间的齐次坐标表示是一个(n+1)维空间实体。有一个特定的投影附加于n维空间,也可以把它看作一个附加于每个矢量的特定坐标—比例系数。 式中i, j, k为x, y, z 轴上的单位矢量, a= , b= , c= ,w为比例系数 列矩阵 显然,齐次坐标表达并不是唯一的,随w值的不同而不同。在计算机图学中,w 作为通用比例因子,它可取任意正值,但在机器人的运动分析中,总是取w=1 。
[例]: 可以表示为: V=[3 4 5 1]T 或 V=[6 8 10 2]T 或 V=[-12 -16 -20 -4]T
齐次坐标与三维直角坐标的区别 • V点在ΣOXYZ坐标系中表示是唯一的(x、y、z) • 而在齐次坐标中表示可以是多值的。不同的表示方法代表的V点在空间位置上不变。
几个特定意义的齐次坐标: • [0, 0, 0, n]T—坐标原点矢量的齐次坐标,n为任意非零比例系数 • [1 0 0 0]T—指向无穷远处的OX轴 • [0 1 0 0]T—指向无穷远处的OY轴 • [0 0 1 0]T—指向无穷远处的OZ轴 • 2个常用的公式:
2.2.2 平面的齐次坐标 • 平面齐次坐标由行矩阵P=[a b c d ]来表示 • 当点v=[x y z w]T处于平面P内时,矩阵乘积PV=O,或记为 如果定义一个常数m= ,则有: = 可以把矢量 解释为某个平面的外法线,此平面沿着法线方向与坐标原点的距离为。
[例]: 因此一个平行于x、y轴,且在z轴上的坐标为单位距离的平面P可以表示为: 或 有: PV= 例如:点 V=[10 20 1 1]T 必定处于此平面内,而点 V=[0 0 2 1]T处于平 P 的上方点V=[0 0 0 1]T处于P平面下方。因为: 与点矢 相仿,平面 也没有意义
2.2 旋转矩阵及旋转齐次变换2.2.1 旋转矩阵 设固定参考坐标系直角坐标为ΣOxyz,动坐标系为ΣO´uvw,研究旋转变换情况。 ①初始位置时,动静坐标系重合,O、O´ 重合,如图。各轴对应重合,设P点是动坐标系ΣO´uvw中的一点,且固定不变。则P点在ΣO´uvw中可表示为: 、 、 为坐标系ΣO´uvw的单位矢量,则P点在Σoxyz中可表示为:
当动坐标系ΣO´uvw绕O点回转时,求P点在固定坐标系Σoxyz中的位置 已知: P点在ΣO´uvw中是不变的仍然成立,由于ΣO´uvw回转,则: 用矩阵表示为: (2-7)
2.2.2 旋转齐次变换 反过来: 用齐次坐标变换来表示式(2-7)
2.2.3 三个基本旋转矩阵和合成旋转矩阵 三个基本旋转矩阵 即动坐标系 求 的旋转矩阵,也就是求出坐标系 中各轴单位矢量 在固定坐标系 中各轴的投影分量,很容易得到在重合时,有:
由图2-5可知, 在y轴上的投影为 , 在z轴上的投影为 , 在y轴上的投影为 , 在z轴上的投影为 ,所以有: 方向余弦阵
三个基本旋转矩阵: 同理:
合成旋转矩阵: 例1:在动坐标中有一固定点 ,相对固定参考坐标系 做如下运动:① R(x, 90°);② R(z, 90°);③ R(y,90°)。求点 在固定参考坐标系 下的位置。 解1:用画图的简单方法
解2:用分步计算的方法 ① R(x, 90°) (2-14) ② R(z, 90°) (2-15) ③ R(y, 90°) (2-16)
上述计算方法非常繁琐,可以通过一系列计算得到上述结果。将式(2-14)(2-15)(2-16)联写为如下形式: R4x4为二者之间的关系矩阵,我们令: 定义1: 当动坐标系 绕固定坐标系 各坐标轴顺序有限次转动时,其合成旋转矩阵为各基本旋转矩阵依旋转顺序左乘。 注意:旋转矩阵间不可以交换
平移齐次变换矩阵 注意:平移矩阵间可以交换, 平移和旋转矩阵间不可以交换
2.2.4 相对变换 举例说明: 例1:动坐标系∑0′起始位置与固定参考坐标系∑0重合,动坐标系∑0′做如下运动:①R(Z,90º) ②R(y,90º) ③Trans(4,-3, 7),求合成矩阵 解1:用画图的方法:
解2:用计算的方法 根据定义1,我们有: (2-20) 以上均以固定坐标系多轴为变换基准,因此矩阵左乘。 如果我们做如下变换,也可以得到相同的结果: 例2:①先平移Trans (4,-3,7);②绕当前 轴转动90º; ③绕当前 轴转动90º;求合成旋转矩阵。
解1:用画图的方法 解2:用计算的方法 (2-21)
式(2-20)和式(2-21)无论在形式上,还是在结果上都是一致的。因此我们有如下的结论:式(2-20)和式(2-21)无论在形式上,还是在结果上都是一致的。因此我们有如下的结论: 动坐标系在固定坐标系中的齐次变换有2种情况: 定义1:如果所有的变换都是相对于固定坐标系中各坐标轴旋转或平移,则依次左乘,称为绝对变换。 定义2:如果动坐标系相对于自身坐标系的当前坐标轴旋转或平移,则齐次变换为依次右乘,称为相对变换。 结果均为为动坐标系在固定坐标中的位姿(位置+姿态)。相对于固定坐标系, 也就是说,动坐标系绕自身坐标轴做齐次变换,要达到绕固定坐标系相等的结果,就应该用相反的顺序。
齐次变换矩阵T的意义: • 机器人用到相对变换的时候比较多 • 例如机械手抓一个杯子,如右图所示,手爪需要转动一个角度才抓的牢,相对于固定坐标系表达太麻烦,可以直接根据手爪的坐标系表示 • 但也要知道在∑O中的位姿,就用右乘的概念。 H o
2.2.5 绕通过原点的任意轴旋转的齐次变换 • 有时动坐标系∑O´可能绕过原点O的而分量分别为rx、ry、rz的任意单位矢量r 转动φ角。 • 研究这种转动的好处是可用∑O´绕某轴r 的一次转动代替绕∑O各坐标轴的数次转动 • 为推导此旋转矩阵,可作下述变换: • 绕X 轴转α角, 使r 轴处于XZ平面内 • 绕Y 轴转-β角,使r 轴与OZ轴重合 • 绕OZ轴转动φ角 • 绕Y 轴转β角 • 绕X 轴转-α角
由定义1和定义2,上述5次旋转的合成旋转矩阵为:由定义1和定义2,上述5次旋转的合成旋转矩阵为: (2-25) 由上图容易求出:
2.2.6 齐次交换矩阵的几何意义 设T= ,有一个手爪,已知其在∑O的位置,设一个 该坐标系∑O´,已知, ,那么∑O´在∑O中的齐次坐 标变换为 ,如果手爪转了一个角度, 则:
T反映了∑O´在∑O中的位置和姿态,即表示了该坐标系原点和各坐标轴单位矢量在固定坐标系中的位置和姿态。T反映了∑O´在∑O中的位置和姿态,即表示了该坐标系原点和各坐标轴单位矢量在固定坐标系中的位置和姿态。 该矩阵可以由4个子矩阵组成,写成如下形式: 为姿态矩阵,表示动坐标系∑O´在固定参考坐标系∑O中的姿态,即表示∑O´各坐标轴单位矢量在∑O各轴上的投影 为位置矢量矩阵,代表动坐标系∑O´坐标原点在固定参考坐标系∑O中的位置 为透视变换矩阵,在视觉中进行图像计算,一般置为0 为比例系数
如果需要求解∑O在∑O´中的位置和姿态,此时的齐次变换矩阵为 ,即求逆矩阵: 其中: 这些式子以后经常遇到,在机器人计算中,所要求的就是齐次变换矩阵下
因此,进行机器人运行学计算时,不能省略透视矩阵,有摄像头时,透视矩阵为因此,进行机器人运行学计算时,不能省略透视矩阵,有摄像头时,透视矩阵为 [0 - 0],没有摄像头时为[0 0 0 ] 。
知识点: • 点和面的齐次坐标和齐次变换 • 三个基本旋转矩阵 • 绝对变换:如果所有的变换都是相对于固定坐标系中各坐标轴旋转或平移,则依次左乘,称为绝对变换。 • 相对变换:如果动坐标系相对于自身坐标系的当前坐标轴旋转或平移,则齐次变换为依次右乘,称为相对变换。 • 绕任意轴选转,5步顺序 • 透视变换
习题1: ∑O´与∑O初始重合,∑O´作如下运动:①绕Z轴转动30º;②绕X轴转动60º;③绕Y轴转动90º。求T。
习题2: ∑O´与∑O初始重合,∑O´作如下运动:①绕X轴转动90º;②绕w轴转动90º;③绕Y轴转动90º。求① T;②改变旋转顺序,如何旋转才能获得相同的结果。 解①: 解②: ①绕Z(w)轴转动90º; ②绕X轴转动90º; ③绕Y轴转动90º。
习题3: 矢量 在∑O´中表示为 ,∑O´相对于∑O的 奇次变换为: 解:1)
解:2) 解:3) , ,
习题4: 如图所示,1)写出 、 、 、 ;2)求 解:1)
习题1: ∑O´与∑O初始重合,∑O´作如下运动:①绕z轴转动90º;②绕v轴转动90º;③绕x轴转动90º。求① T;②改变旋转顺序,如何旋转才能获得相同的结果。 习题2: 已知齐次变换矩阵 要求R(f,θ), 求f和θ值 习题4: 如图所示,1)写出 、 、 、 4T5;2)求oT5