Reading material :
Introduction to Robotics: Mechanics and Control, 3rd Edition, John J. Craig
From Chapter 7.4 jump to Chapter 2
Chapter 2 : Spatial descriptions and transformations
在笛卡尔坐标系中,路径是可以直接被用户定义的点直接规划的。但是笛卡尔坐标系中的点计算起来十分复杂,因为要在路径更新速率下求逆运动解。具体来讲,在笛卡尔坐标中的路径生成后,要用逆运动变换来求解轴转角。
2.1 Intro
通用坐标系来定义位置,方向和框架。
2.2 Descriptions:Positions,Orientations, and Frames
位置描述
用一个3x1位置矢量描述,左上角是坐标系表示,各个矢量元素代表投影长度。
方向描述
仅仅靠位置描述是不够的,比如在机械触手中间有一个点,我们需要一个方向向量来指定触手的朝向。
为了描述这个方向向量,我们在会在物体上建一个新坐标系,然后添加新坐标系与参考坐标系的位置描述。
表述方法见上,新坐标系将会用旋转矩阵表示。矩阵每一列代表新坐标系方向向量在参考坐标系中的单位向量。几个重要关系见下:
变换矩阵可以理解为B的主轴在A各个主轴上的映射:
框架变换的转置关系
变换矩阵的正定性
2.3 Mappings: changing descriptions from frame to frame
空间中的点本身不变,变的只是所处的框架,计算同一个点在不同框架下的描述是非常重要的,这个概念叫做映射。
平移映射
旋转映射
新向量 = 新基底x旧向量
一般映射
补一个维度,因为三三矩阵无法描述平移量。
这种矩阵称为homogeneous transform。
2.4 操作符: 平移 旋转 和变形
平移
旋转
变形(平移+旋转)
2.5 齐次变换的三种理解
是框架关系的描述。
是一种映射变换。
是一个变换操作符。
2.6 变换运算
复合变换
逆变换
不要直接求逆,要充分利用结构的性质。
2.7 变换等式
Find the transform equation by finding the circle in graphical representation. And then get the equation for desired transformation.
2.8 方向表示
旋转矩阵也叫正交矩阵,其模为1。
9个数太浪费了,尝试着去减少变量的个数。
根据正交矩阵的性质和Cayley's formula,
S矩阵应该有错误,(0,1)和(1,0)的sx应该是sz。
此处得出结论,有可能只用三个参数就将旋转变换表示出来。
问题在于旋转矩阵不方便用来指定方向因为需要用到九个参数,下面讨论只用三个参数的方向表示方法。
X-Y-Z 固定角
这种方法以如下方式描述框架{B}的方向:
从一个已知参考框架{A}开始,先绕XA转gamma角,再绕YA转beta角,再绕ZA转alpha角。
上式只对描述的旋转变换顺序成立 !
从X-Y-Z 固定角中求出旋转矩阵也是非常重要的。
当beta = 正负九十度时,方程组变成不定方程。特例处理方式如下:
Z-Y-X欧拉角
先绕ZB转alpha角,再绕YB转beta角,再绕ZB转gamma角。
每一次的旋转都是关于移动系统{B}操作的而不是固定的参考{A}。这类旋转的集合叫做欧拉角。
上式的结果与倒序绕着固定轴的结果一样。
所以提取旋转矩阵用到的数学表达式也一样。
Z-Y-Z欧拉角 (?)
旋转法则:
等价旋转矩阵:
角度提取:
特例处理:
等价角-轴表示
将{B}绕着向量A_K转theta按照右手系。
从等价矩阵中计算转角和轴:
欧拉参数
教学(Taught and predefined orientations)
很多机器人系统中教学是常用的记录位置和方向的手段。 此时的机械手只是一个测量工具,记录的是单纯的数据而不是旋转矩阵,这大大方便了用户使用。
2.10 计算的考虑
如果要计算:
方法一:
则需要63次乘法,42次加法。
方法二:
只需要27次乘法和18次加法
所以建议采取第二种计算方法。
也有例外,如果三个旋转矩阵关系一定并且有很多点要计算时,第一种方法更加有效率。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。