旋转矩阵、转换矩阵、欧拉角和四元数的关系及Eigen和g2o中的变换

旋转矩阵R,转换矩阵T,欧拉角:偏航角yaw记为\theta _y,俯仰角pitch记为\theta_x,偏转角roll记为\theta_z,四元数q=q_0+q_1i+q_2j+q_3k

1.旋转矩阵R与转换矩阵T的关系如下:

T=\begin{bmatrix} R&t \\ 0^T& 1 \end{bmatrix}    (1)

2.四元数q与旋转矩阵R的关系如下:

R=\begin{bmatrix} 1-2q_2^2-2q_3^2 &2q_1q_2+2q_0q_3 &2q_1q_3-2q_0q_2 \\ 2q_1q_2-2q_0q_3&1-2q_1^2-2q_3^3 &2q_2q_3+2q_0q1 \\ 2q_1q_3+2q_0q_2&2q_2q_3-2q_0q_1 &1-2q_1^2-2q_2^2 \end{bmatrix}      (2)

q_0=\frac{\sqrt{tr(R)+1}}{2},q_1=\frac{r_{23}-r_{32}}{4q_0},q_2=\frac{r_{31}-r_{13}}{4q_0},q_3=\frac{r_{12}-r_{21}}{4q_0}.   (3)  其中R=\begin{Bmatrix} {r_{ij} \end{Bmatrix}, i,j\in[1,2,3].

3.旋转矩阵R与欧拉角\theta_x,\theta_y,\theta_z的关系如下:

R(\theta_x,\theta_y,\theta_z)=\begin{bmatrix} c_yc_z&c_zs_xs_y-c_xs_z &s_xs_z+c_xc_zs_y \\ c_ys_z&c_xc_z +s_xs_ys_z&c_xs_ys_z-c_zs_z \\ -s_y&c_ys_x &c_xc_y \end{bmatrix}   (4).   其中sx,cx,sy,cy,sz,cz分别为\theta_x,\theta_y,\theta_z的正余弦值。

\theta_x=atan2(r_{32},r_{33}),\theta_y=atan2(-r_{31},\sqrt{r_{32}^2+r_{33}^2}),\theta_z=atan2(r_{21},r_{11})(5)

 

g2o中使用SE3Quat类型表示变换T:    g2o::SE3Quat(R,t),  g2o::SE3Quat &T;

 

Eigen库中各种形式的表示如下:
旋转矩阵(3x3):Eigen::Matrix3d
旋转向量(3x1):Eigen::AngleAxisd
四元数(4x1):Eigen::Quaterniond
平移向量(3x1):Eigen::Vector3d
 转换矩阵(4x4):Eigen::Isometry3d

 

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值