机器人学基础-旋转变换

空间旋转矩阵中有九个元素,但是这九个元素满足六个约束方程,只有三个独立变量

ABX = [ AXB AYB AYB ] = [R11R12R13R21R22R23R31R32R33]\begin{bmatrix}R11 & R12 & R13 \\ R21 & R22&R23\\R31&R32&R33\\ \end{bmatrix}R11R21R31R12R22R32R13R23R33;

其中每个元素满足:

AXB ⋅\cdot AXB = AYB ⋅\cdot AYB = AZB ⋅\cdot AZB = 1;

AXB ⋅\cdot AYB = AYB ⋅\cdot AZB = AZB ⋅\cdot AXB = 0;

一、绕固定轴x-y-z旋转(RPY角)

1-1运动过程

RPY角对应的旋转矩阵,这种描述方法与操作轴末端执行器坐标系的规定方法类似,如下图;
在这里插入图片描述
坐标系的运动方式:{B}的开始方位与坐标系{A}重合,首先使得{B}绕XA旋转γ\gammaγ 角,在绕YAβ\betaβ 角,最后绕 ZAα\alphaα 角。(白->黄->红->蓝)

1-2旋转矩阵计算

根据坐标系的变换关系,坐标系{B}相对于{A}的旋转矩阵为:注意这里需要右乘,相对于基坐标系而言

ABRxyz(γ\gammaγ ,β\betaβ, α\alphaα ) = R(ZA,α\alphaα) ⋅\cdot R(YA,β\betaβ) ⋅\cdot R(XA,γ\gammaγ)

= [cα−sα0sαcα0001]\begin{bmatrix} c \alpha & -s\alpha& 0 \\ s\alpha & c\alpha&0\\0&0&1\\ \end{bmatrix}cαsα0sαcα0001[cβ0sβ010−sβ0cβ]\begin{bmatrix} c \beta& 0& s\beta \\0& 1&0\\-s\beta&0&c\beta\\ \end{bmatrix}cβ0sβ010sβ0cβ[1000cγ−sγ0sγcγ]\begin{bmatrix} 1 & 0& 0 \\ 0 & c\gamma&-s\gamma\\0&s\gamma&c\gamma\\ \end{bmatrix}1000cγsγ0sγcγ

=[cα⋅cβcα⋅sβ⋅sγ−sα⋅cγcα⋅sβ⋅cγ+sα⋅sγsα⋅cβsα⋅sβ⋅sγ+cα⋅cγsα⋅sβ⋅cγ−cα⋅sγ−sβcβ⋅sγcβ⋅cγ]\begin{bmatrix} c\alpha\cdot c\beta & c\alpha\cdot s\beta \cdot s \gamma - s\alpha\cdot c\gamma&c\alpha\cdot s\beta \cdot c \gamma+s\alpha\cdot s\gamma \\s\alpha\cdot c\beta & s\alpha\cdot s\beta \cdot s \gamma + c\alpha\cdot c\gamma&s\alpha\cdot s\beta \cdot c \gamma-c\alpha\cdot s\gamma \\-s\beta & c\beta \cdot s \gamma &c\beta \cdot c \gamma \\ \end{bmatrix}cαcβsαcβsβcαsβsγsαcγsαsβsγ+cαcγcβsγcαsβcγ+sαsγsαsβcγcαsγcβcγ

1-3RPY角计算

已知旋转矩阵ABR,令该矩阵和矩阵ABRxyz对应元素相等可得

[R11R12R13R21R22R23R31R32R33]\begin{bmatrix}R11 & R12 & R13 \\ R21 & R22&R23\\R31&R32&R33\\ \end{bmatrix}R11R21R31R12R22R32R13R23R33 = [cα⋅cβcα⋅sβ⋅sγ−sα⋅cγcα⋅sβ⋅cγ+sα⋅sγsα⋅cβsα⋅sβ⋅sγ+cα⋅cγsα⋅sβ⋅cγ−cα⋅sγ−sβcβ⋅sγcβ⋅cγ]\begin{bmatrix} c\alpha\cdot c\beta & c\alpha\cdot s\beta \cdot s \gamma - s\alpha\cdot c\gamma&c\alpha\cdot s\beta \cdot c \gamma+s\alpha\cdot s\gamma \\s\alpha\cdot c\beta & s\alpha\cdot s\beta \cdot s \gamma + c\alpha\cdot c\gamma&s\alpha\cdot s\beta \cdot c \gamma-c\alpha\cdot s\gamma \\-s\beta & c\beta \cdot s \gamma &c\beta \cdot c \gamma \\ \end{bmatrix}cαcβsαcβsβcαsβsγsαcγsαsβsγ+cαcγcβsγcαsβcγ+sαsγsαsβcγcαsγcβcγ

通过比较可得cosβ\betaβ = ±R112+R212\pm\sqrt {R11^2+R21^2}±R112+R212 ,通常我们规定β∈[−90,+90]\beta\in[-90,+90]β[90,+90],所以我们可以得到cosβ\betaβ = +R112+R212+\sqrt {R11^2+R21^2}+R112+R212

如果cosβ≠0\beta\neq0β=0,则可以得到:
β=Atan⁡2(−R31,R112+R212)\qquad\qquad\qquad\qquad\qquad\beta = A\tan2(-R31,\sqrt{R11^2+R21^2})β=Atan2(R31,R112+R212)
α=Atan⁡2(R21,R11)\qquad\qquad\qquad\qquad\qquad\alpha = A\tan2(R21,R11)α=Atan2(R21R11)
γ=Atan⁡2(R32,R33)\qquad\qquad\qquad\qquad\qquad\gamma = A\tan2(R32,R33)γ=Atan2(R32R33)
其中Atan⁡2(y,x)A\tan2(y,x)Atan2(y,x)成为四象限反正切函数

如果cosβ=±90\beta = \pm90β=±90,则只能得到α和γ\alpha和\gammaαγ的和或差,通常选择α=0\alpha = 0α=0

如果cosβ=+90\beta = +90β=+90,则可以得到:
β=90\qquad\qquad\qquad\qquad\qquad\beta = 90β=90
α=0\qquad\qquad\qquad\qquad\qquad\alpha = 0α=0
γ=Atan⁡2(R12,R22)\qquad\qquad\qquad\qquad\qquad\gamma = A\tan2(R12,R22)γ=Atan2(R12R22)

如果cosβ=−90\beta = -90β=90,则可以得到:
β=−90\qquad\qquad\qquad\qquad\qquad\beta = -90β=90
α=0\qquad\qquad\qquad\qquad\qquad\alpha = 0α=0
γ=−Atan⁡2(R12,R22)\qquad\qquad\qquad\qquad\qquad\gamma = -A\tan2(R12,R22)γ=Atan2(R12R22)

二、绕相对于运动坐标系(ZYX欧拉角在这里插入图片描述

三、绕相对于运动坐标系(ZYZ欧拉角在这里插入图片描述在这里插入图片描述在这里插入图片描述

四、旋转变换通式

在这里插入图片描述

4-1坐标变换(正解

在这里插入图片描述

{A}是与K轴正交的坐标系,{B}相对于{A}相当于是绕z轴旋转

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

4-2 等效转轴和等效转角(逆解

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐