点击上方蓝字,关注本公众号,获得更多资源上一篇文章介绍了四元数、欧拉角、旋转矩阵、轴角如何相互转换,本篇文章介绍如何用eigen来实现。

旋转向量

1,初始化旋转向量:旋转角为alpha,旋转轴为(x,y,z)

Eigen::AngleAxisd rotation_vector(alpha,Vector3d(x,y,z))

2,旋转向量转旋转矩阵

Eigen::Matrix3d rotation_matrix;rotation_matrix=rotation_vector.matrix();Eigen::Matrix3d rotation_matrix;rotation_matrix=rotation_vector.toRotationMatrix();

3,旋转向量转欧拉角(Z-Y-X,即RPY)

Eigen::Vector3d eulerAngle=rotation_vector.matrix().eulerAngles(2,1,0);

4,旋转向量转四元数

Eigen::Quaterniond quaternion(rotation_vector);Eigen::Quaterniond quaternion;quaternion=rotation_vector;

旋转矩阵

1,初始化旋转矩阵

Eigen::Matrix3d rotation_matrix;rotation_matrix<

2,旋转矩阵转旋转向量

Eigen::AngleAxisd rotation_vector(rotation_matrix);Eigen::AngleAxisd rotation_vector;rotation_vector=rotation_matrix;Eigen::AngleAxisd rotation_vector;rotation_vector.fromRotationMatrix(rotation_matrix);

3,旋转矩阵转欧拉角(Z-Y-X,即RPY)

Eigen::Vector3d eulerAngle=rotation_matrix.eulerAngles(2,1,0);

4,旋转矩阵转四元数

Eigen::Quaterniond quaternion(rotation_matrix);Eigen::Quaterniond quaternion;quaternion=rotation_matrix;

欧拉角

1,初始化欧拉角(Z-Y-X,即RPY)

Eigen::Vector3d eulerAngle(yaw,pitch,roll);

2, 欧拉角转旋转向量

Eigen::AngleAxisd rollAngle(AngleAxisd(eulerAngle(2),Vector3d::UnitX()));Eigen::AngleAxisd pitchAngle(AngleAxisd(eulerAngle(1),Vector3d::UnitY()));Eigen::AngleAxisd yawAngle(AngleAxisd(eulerAngle(0),Vector3d::UnitZ())); Eigen::AngleAxisd rotation_vector;rotation_vector=yawAngle*pitchAngle*rollAngle;

3,欧拉角转旋转矩阵

Eigen::AngleAxisd rollAngle(AngleAxisd(eulerAngle(2),Vector3d::UnitX()));Eigen::AngleAxisd pitchAngle(AngleAxisd(eulerAngle(1),Vector3d::UnitY()));Eigen::AngleAxisd yawAngle(AngleAxisd(eulerAngle(0),Vector3d::UnitZ())); Eigen::Matrix3d rotation_matrix;rotation_matrix=yawAngle*pitchAngle*rollAngle;

4,欧拉角转四元数

Eigen::AngleAxisd rollAngle(AngleAxisd(eulerAngle(2),Vector3d::UnitX()));Eigen::AngleAxisd pitchAngle(AngleAxisd(eulerAngle(1),Vector3d::UnitY()));Eigen::AngleAxisd yawAngle(AngleAxisd(eulerAngle(0),Vector3d::UnitZ())); Eigen::Quaterniond quaternion;quaternion=yawAngle*pitchAngle*rollAngle;

四元数

1,初始化四元数

Eigen::Quaterniond quaternion(w,x,y,z);

2,四元数转旋转向量

Eigen::AngleAxisd rotation_vector(quaternion);Eigen::AngleAxisd rotation_vector;rotation_vector=quaternion;

3,四元数转旋转矩阵

Eigen::Matrix3d rotation_matrix;rotation_matrix=quaternion.matrix();Eigen::Matrix3d rotation_matrix;rotation_matrix=quaternion.toRotationMatrix();

4,四元数转欧拉角(Z-Y-X,即RPY)

Eigen::Vector3d eulerAngle=quaternion.matrix().eulerAngles(2,1,0);

END -

关注本公众号,获得更多的“自动驾驶”算法原创干货,帮你快速入行关注本公众号,点击“入群”,加入深度学习技术群,热心大佬帮你答疑解惑

自动驾驶历史文章阅读

资料下载:

2019自动驾驶资料大放送

7天,搞定机器学习基础知识

人工智能相关资料

头条 | 高定位精度的交通标志识别----开源了

头条 | COVID-19 CT数据库下载

激光雷达(Lidar)相关:主要涉及lidar的目标检测方法分析、融合感知方法分析、如何从点云做end-to-end目标轨迹预测、模型加速与工程化头条 | 自动驾驶多传感器融合技术浅析一文览尽“基于激光雷达点云(lidar)的目标检测方法”头条 | 自动驾驶环境感知技术要点浅析头条 | 深度学习模型inference优化之编译优化头条 | Fast and Furious,速度与激情?图像相关:涉及了目标检测与分割、网络结构设计与模型加速。从基础的知识点出发,帮你一步一步理解方法,加深印象。轻量(高效)目标检测网络结构设计mask rcnn 与 PointRend一文读懂RPN和ROI AlignCNN中的感受野目标检测中的Anchor分析行业信息:梳理行业大事件,帮你了解行业的发展状况。主要车企和造车新势力自动驾驶传感器配置方案福特开源1.8TB自动驾驶数据,到底开源数据哪家强?

这个冬天不太冷:小马5亿美元,驭势获博士领投,waymo22.5亿美元

以上相关方法,后续会对照代码再次回忆,关注公众号,敬请留意。

eigen 编译_头条 | 使用eigen实现四元数、欧拉角、旋转矩阵、旋转向量间的转换...相关推荐

  1. 【自动驾驶】30.c++实现基于eigen实现欧拉角(RPY), 旋转矩阵, 旋转向量, 四元数之间的变换(附代码)

    矩阵的使用可参考系列博客:点击此处 原文链接:基于eigen实现欧拉角(RPY), 旋转矩阵, 旋转向量, 四元数之间的变换. 也可以参考另一篇博客:eigen 中四元数.欧拉角.旋转矩阵.旋转向量. ...

  2. 【自动驾驶】24.欧拉角、旋转向量、四元数、万向锁

    原文链接:https://blog.csdn.net/shenxiaolu1984/article/details/50639298 原文链接:https://blog.csdn.net/lql071 ...

  3. 四元数和向量相乘,向量间的点乘和叉乘

    四元数和向量相乘 Quaternion.Euler(x,y,z) 返回一个绕x轴旋转x度再绕y轴旋转y度再绕z轴旋转z度的Quaternion,因此Quaternion.Euler(0,90,0)返回 ...

  4. c语言浮点型常量表示平均数_小白基础知识必备|| 整型常量与进制间的转换

    一.C语言关键字 C语言的关键字共有32个,根据关键字的作用,可分为数据类型关键字.控制语句关键字.存储类型关键字和其它关键字四类. 数值类型关键字(12个) void.char.short.int. ...

  5. 乘基取整法是什么_深入理解计算机系统(六):进制间的转换原理

    目录 1.进制的介绍 2.二进制转换成其他进制 3.十进制转换成其他进制 4.十六进制转换成其他进制 5.总结 上一篇博客我们讲解了信息的在计算机中是如何存储以及如何表示的.但是对于各个进制的转换只是 ...

  6. 毫米和像素怎么换算_像素(px)与毫米(mm)间的转换

    像素(px)与毫米(mm)间的转换//获取DPI,图像每英寸长度内的像素点数 function getDPI() { var arrDPI = new Array; if (window.screen ...

  7. 旋转矩阵、旋转向量(轴角)、四元数、欧拉角之间相互转换的代码实现(利用Eigen实现)...

    1 #include <iostream> 2 #include <cmath> 3 using namespace std; 4 5 #include <Eigen/C ...

  8. C++ Eigen 库中旋转向量、旋转矩阵、欧拉角、四元数的定义及互相转换

    今天看师兄写的使用力反馈设备操作机械臂的代码,里边涉及到了Eigen 库中的旋转变换,表征旋转变换的有旋转向量Eigen::AngleAxisd.欧拉角Eigen::Vector3d.旋转矩阵Eige ...

  9. 第六章 相机及其应用 6.3欧拉角、旋转矩形、四元数、应用于Eigen的示例

    欧拉角 ** ** 一.顺规定义 ** 欧拉角也可以描述三维刚体旋转,它将刚体绕过原点的轴(i,j,k)旋转θ,分解成三步(蓝色是起始坐标系,而红色的是旋转之后的坐标系.). 绕z轴旋转α,使x轴与N ...

最新文章

  1. oracle触发器 条件,oracle触发器的定义和使用
  2. 初学__Python——Python 可重用结构:Python模块
  3. .NET NPOI导出Excel详解
  4. 8s存储最佳方案_MaxiDi, 意大利:自动化物流解决方案
  5. 梳子刻字刻什么好_校园石阶上被人刻了1700多个字?!这次网友却说好
  6. 【SSH网上商城项目实战18】过滤器实现购物登录功能的判断
  7. Java NIO学习篇之StandardOpenOption详解
  8. 科技庄园(背包dp)---对于蒟蒻来说死了一大片的奇题
  9. ora01017 linux,Oracle linux 7.5安装oracle 12c dg一直提示ORA-01017
  10. DisplayTag应用指南
  11. VirtualBox 安装增强功能
  12. android 刷机 备份,盘点和对比 Android刷机前的数据备份
  13. Canvas监测雷达
  14. C++实现客户机(CLIENT)类
  15. pe系统 服务器维护,FirPE 维护系统
  16. Vue脚手架热更新技术探秘
  17. 在Qt中使用OpenGL(二)
  18. 游戏中的造型师——3D美术
  19. CET6 2017.12.2
  20. bibitem排版引用顺序不正确,最后一页两栏平衡

热门文章

  1. qmenu只在鼠标单击时消失_两种方法解决win10电脑无法使用无线鼠标问题
  2. linux防ddos 软件下载,linux下防DDOS工具
  3. hdu 3549 Flow Problem(最大流模板题)
  4. appframework3.0(JQmobi)入门教程
  5. unity中如何解决镜头穿透模型?
  6. c# 两个数的加减乘除
  7. GCD,大家都知道的回顾
  8. 【ASP】简单Url编码和Url解码实例
  9. OpenSolaris北京用户组的第一次活动
  10. ps4连接r星服务器稳定,移植到不同平台的《GTA5》有什么变化?与八年前相比,差距这么大...