机器人基础知识:旋转矩阵-机器人学 旋转矩阵

2023-08-27 23:51:17

 

机器人基础知识:旋转矩阵的总结

自己学习期间的复习总结,知识来源于上课教材“Skript zur Vorlesung Robotik1",由于水平有限,有错误还望各位及时指出。

本文提纲:

一、(右手系)笛卡尔坐标,向量的表达

二、旋转矩阵(含部分推导)

三、Kardan-角,Gimbal-lock问题,Euler-角,RPY-角

四、总结

关于旋转矩阵,我们首先要明确几个点:

被旋转的是什么? (向量)旋转后我们得到的“被旋转”体什么变了,什么没变?(向量本身没变,变得是向量在不同坐标系下的表达方式)如何进行旋转?有几种旋转的运算/表达方式。

(使用旋转矩阵进行旋转结果的计算,有欧拉角,四元数等多种表达方式)

在回答上述问题前,我们要先看一下一些基本点,例如:坐标系统、向量等,在机器人学中我们一般使用3维几何空间的坐标系统,坐标系统一般我们会用(右手系)笛卡尔坐标,如图:

一、(右手系)笛卡尔坐标,向量的表达

右手系的笛卡尔坐标具有以下性质:

它的基向量:
这些基向量的模长:
这些基向量两两之间垂直:
基于右手系的基底单位向量:

然后我们假设有2个坐标系,分别为坐标系(KS)0,(KS)B,KS表示Koordiantensystem,也就是坐标系统。则在(KS)0中的一个向量设为(此向量为从(KS)0原点到(KS)B原点的向量):

设一个点P到(KS)B原点的向量在(KS)B中表示为:

由于每个向量的坐标可以表示为向量在此坐标系中的xyz值和此坐标系的基底向量的点乘,故我们可以将这个向量写成这样的形式:

接下来我们要看一下向量的问题,首先向量是一种可以在空间中随意平移的一个量,因此在实际应用中我们要考虑一个机构的运动,不但需要向量表达方向和长度,还需要一个位置信息来确定机构之间的位置关系,但在此我们先不考虑这个位置的定位问题,只考虑旋转带来的变换,我们假设我们需要转的坐标系的原点没有发生平移,也就是仅围绕原点在旋转,那么我们可以将向量rBP写成:

此时R即为旋转矩阵。

二、旋转矩阵:

一个R旋转矩阵描述从(KS)B到(KS)0可以表示为:

这些旋转矩阵具有以下性质:

由于通过旋转矩阵是正交的,故:
旋转矩阵的基底向量是互相垂直的:
基底向量是右手系坐标系:
单位旋转矩阵:

所谓单位旋转矩阵,就是指每次旋转只绕一个轴旋转一个角度(以下例子都是基于顺时针旋转):

【此处的旋转矩阵表达的都是从红色到黑色坐标系】

组合旋转

组合旋转就是不再是绕单一轴旋转了,是一个复合的旋转,但分解开来就是多个单位旋转的组成。(此时需要注意,R1R2不等于R2R1,也就是先旋转和后旋转的作用不同,如下图所示)

描述复合旋转有多种方式,例如Kardan-,Euler-,以及RPY-Winkel等。

这些旋转的表示方式也有一些不同,在此分为右乘类,和左乘类:

右乘类:

也就是计算旋转矩阵时,从左向右做矩阵乘法,描述的旋转是基于上一次旋转后(也就是当下)坐标的再次旋转。

左乘类:

也就是计算旋转矩阵时,从右向左做矩阵乘法,描述的旋转是基于最初那个“固定”坐标系的。

三、下面我们分开说明一下多种复合旋转矩阵:

Kardan-Winkel(Kardan角):

它的表达方式是基于右乘的,也就是每次单位旋转基于当前坐标,表达如下:

123表示旋转顺序,先1后2再3。

Gimbal-lock 问题:(对于右乘的旋转)

Gimbal-lock问题是指一种现象,这种现象是:当两个旋转轴重合时(此时产生的结果角度相当于旋转两次的结果,而实际上进行了三次旋转,也就是损失了一个自由度),在反向问题时(在机器人运动学中,从q:运动角度到x:点的位置是正向问题,反之从x到q是反向问题;在此处为从角度得到旋转矩阵为正,从旋转矩阵得到角度为反)会得到一个无穷解,因为此时相当于有一个方程,但有两个未知数。也就是这个结果可以只通过两个旋转轴的旋转就可以得到,但现在用了3次旋转,也就是损失了一个自由度(此时也是Singulare 情况,在矩阵上表达就是矩阵丧失了一个列或行)

Euler-Winkel欧拉角(右乘):

Euler与Kardan没有实质区别,主要是旋转表达的区别:Kardan是分别绕三个不同的轴旋转3次,而Euler是第一次和第三次绕的轴为同一个轴,例如第一次为x轴,第三次也是x轴。欧拉角存在很多不同的定义,区别主要在旋转轴的选择,一共有12种情况,

例如x轴:

y轴:

z轴:

RPY-Winkel(BPY-角,左乘):

旋转的表达是绕着最初那个“固定”的坐标系进行的,在此使用左乘。

正向计算旋转矩阵:

1框:旋转角;2框:3个角的旋转组合;3框:复合后的旋转矩阵

反向计算旋转角

一筐:3个旋转角复合的旋转矩阵;2框:三个角的旋转表示,非线性方程组;3框:旋转角

四、总结:

采用旋转矩阵进行方向转换的计算有以下优缺点:

优点:

表达方式简单表达方式便于直观理解参数不多

缺点:

在同一个表达方式的名称下有太多种不同的可能,例如Euler表达下有12种可能性相乘的顺序会影响结果Gimbal-Lock问题会出现在“伴随旋转”(也就是右乘)坐标系统转换中对角度的插值计算会有不可预见的路径出现


以上就是关于《机器人基础知识:旋转矩阵-机器人学 旋转矩阵》的全部内容,本文网址:https://www.7ca.cn/baike/71968.shtml,如对您有帮助可以分享给好友,谢谢。
标签:
声明