1.向量
一个点:P=(x,y,z) , 写成列向量: ,表示 :沿x轴走x,沿y轴走y,沿z轴走z。
2.向量本质是
一个方向+一个长度。例如 表示:朝x方向1单位
3.点乘(内积)
公式: a·b 计算方法: 含义:判断两个方向有多接近 特殊情况:a·b=0 表示两个向量垂直;同方向 -> 结果大于0 ;反方向-> 结果小于0
4.叉乘(外积)
公式: 含义:得到一个同时垂直于a和b的方向 右手定则:四指从a转向b,大拇指是结果方向 特殊情况:如果
说明这两个向量平行
5.二位旋转矩阵
含义:把一个点逆时针旋转
公式含义:第一行新的x坐标 第二行新的y坐标
6.三维旋转矩阵
绕哪个轴,哪个轴不变
绕x轴
绕y轴
绕z轴
7.右手定则
判断正旋转方向,方法:大拇指朝轴正方向,四指弯曲是正旋转方向。
例如:绕z轴,大拇指向上(z),四指x->y
8.旋转不满足交换律
旋转顺序不同,结果不同
9.坐标系变换
含义:
点P在B坐标系里的坐标
表示把B坐标系转换到A坐标系的旋转矩阵
点P在A坐标系里的坐标
10.为什么旋转矩阵的列是坐标轴
旋转矩阵:
含义:第一列表示B坐标系x轴在A里的方向,第二列表示B坐标系y轴在A里的方向,第三列表示B坐标系z轴在A里的方向。
11.齐次坐标
普通点 变成
,加1的原因是这样才能把"平移"写成矩阵乘法
12.齐次变换矩阵
展开:
含义:左上角R------旋转(方向),右边t------平移(位置),T同时表示朝向和位置
齐次变换矩阵核心公式 :用变换矩阵T,把点
变换成点
也可写成
,即
第一列n(normal)表示物体的第一根方向轴,类似物体自己的 x 轴。
第二列o(orientation)表示物体的第二根方向轴,类似物体自己的 y 轴。
第三列a(approach)表示物体的第三根方向轴,类似物体自己的 z 轴,机械臂中常表示"前进方向"。
第四列p 表示物体原点的位置
13.Compound(复合变换)和Inversion(逆变换)
**Compound(复合变换)**意思是连续做多次坐标变换
注意,矩阵乘法顺序要从右往左看
**Inversion(逆变换)**意思是把变换反过来
14.任意轴旋转
假设这个任意轴通过原点

如果绕任意方向k旋转,那么我先造一个新坐标系,让k变成新坐标系里的z轴
(1).建立一个新坐标系: ,这里让a=k,即新坐标系C的z轴=k
图中红色xyz代表原坐标系,绿色ijk代表新坐标系。因为k就是新坐标系的z轴,所以绕k转转化为绕z转,可代入第六条的公式
意思是 绕k旋转 等价于 在C坐标系里绕z旋转
(2).先进入新坐标系C 表示C坐标系在原世界里的样子
的作用是把原世界里的东西翻译到C坐标系里去看
(3).绕z轴转
(4).再转换回原坐标系 C
==>最终完整公式

这个公式是说:
原来有一个物体/坐标系T,想让它绕任意轴k转:。
但是我们不会直接绕k转,所以先把T换到C坐标系里:。
然后在C里绕z轴转:
然后再乘C换回来:
代入,就得到:
所以:
公式总结:
15.旋转轴的方向向量
表示的是旋转轴的方向向量,在机器人学里,方向向量默认都会单位化(归一化)
单位向量
所以 ,即
16.已知一个旋转矩阵R,反推出它等价于"绕某根轴k旋转了多少角度θ"
也就是 ,这叫等效轴角表示法(Equivalent angle-axis of rotation)。

对角线元素之和
即 :
因为: ,
所以:
等效轴角的意思
一个三维旋转,不管它看起来多复杂,都可以等价理解成:绕空间中某一根轴 k,旋转了一个角度 θ。
Trace能求角度
Trace 就是矩阵主对角线元素之和,最后会简化成 。
所以只要知道矩阵R的对角线元素,就能反推出 ,即
17.已知旋转矩阵 R,求出等效旋转角θ的 sinθ

由可得到:
,这里
是等效旋转轴的单位向量
把三个式子平方后相加:
得到:
用tanθ求角度更稳妥,有,求出theta
choose positive sign
sinθ选择正号
规定 0≤θ≤180 ,在这个范围内 sinθ≥0
Note.不推荐直接这样求轴:
,原因是如果
,也就是
,分母会变成0,计算会出问题。
18.已知旋转矩阵 R 和角度 θ,求旋转轴 

(1)先用对角线求 (k_x,k_y,k_z) 的绝对值
由 得
(2)找
里最大的那个
例如,说明
最大
谁的对角线元素最大,谁对应的 k 分量通常最大。所以先确定 ,再用其他式子求
。
(3)如果
最大,怎么求 
由
可知
如果已经先求出了,就用含
的式子求另外两个: