一.前言
大家后呀,在之前的学习计算的过程中旋转和平移是分开计算的,通过本次学习我们可以让旋转矩阵和平移向量合并到同一个矩阵里,话不多说,马上开始!
二.ros2学习
前8小节内容可以订阅往期博客。
9.齐次坐标变换
两者最终结果完全相同,也就是说,我们的平移加旋转复合变换,可以直接用齐次变换矩阵代替。
齐次变换矩阵特性
1.齐次变换矩阵的符号表示
2.齐次变换矩阵的逆的几何含义
3.齐次变换矩阵的乘法的几何含义
3.1齐次矩阵与平移向量相乘
齐次矩阵与平移向量相乘,即可求出某个向量在另一坐标系下的表示
3.2齐次矩阵与齐次矩阵相乘
10.齐次坐标变换实战
通过对应的函数和库实现齐次矩阵的生成,齐次矩阵的乘法和求逆。
10.1齐次矩阵的合成
我们先将对应的姿态转成旋转矩阵,然后使用numpy讲旋转矩阵和平移向量填写到齐次矩阵对应的位置即可
使用numpy方法合成齐次变换矩阵
使用tfs中的函数合成齐次变换矩阵
四元数+平移向量
先将四元数转换成旋转矩阵,然后再利用tfs中的函数合成齐次矩阵
10.2齐次矩阵的分解
齐次矩阵的分解指的是已有齐次矩阵的情况下,将其分解为姿态和平移两部分
10.2.1 将齐次矩阵分解为固定轴欧拉角和平移向量
这里报错的原因是因为是要把齐次矩阵进行分解,这里的T是上面定义的平移向量,所以要修改一下
10.2.2 将齐次矩阵分解为四元数和平移向量
10.3齐次矩阵的乘法
对应numpy中矩阵的乘法np.dot
讲两个矩阵相乘即可
练习:眼在手外
1.相机坐标系{C}为参考坐标系,工具坐标系{P}的位置矢量在相机坐标系{C},x,y,z
各轴投影为2,1,2,并且工具坐标系和相机坐标系姿态相同。
2.机器人基坐标系{B}为参考坐标系,相机坐标系{C}在的位置矢量在{B}各轴的投影为0,0,3,坐标系{C}和绕着坐标系{B}的x轴转了180度
求:
{B}为参考坐标系,坐标系{P}的位置矢量和旋转矩阵
求T_BC
求T_CP
求T_BP
分解成欧拉角对比结果