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

点击上方蓝字,关注本公众号,获得更多资源1efc5e848573df0bcc59b4543350c92d.gif上一篇文章介绍了四元数、欧拉角、旋转矩阵、轴角如何相互转换,本篇文章介绍如何用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 -

0f8e0644df288ecdeade6550c5c51005.png

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

自动驾驶历史文章阅读

资料下载:

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亿美元

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

42ce6c020a39eb0bca842939d51ebeee.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/270766.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

火炬之光2找不到服务器,火炬之光2无法运行解决办法详细介绍

火炬之光2无法运行解决办法详细介绍2012-09-28 15:23:07来源&#xff1a;游戏下载编辑&#xff1a;评论(0)不少玩家在安装了火炬之光2游戏后无法运行&#xff0c;小编特此为你找了几种的解决办法&#xff0c;下面一起来看一下火炬之光2无法运行的问题及解决办法&#xff1a;如果…

Spring AOP / AspectJ AOP 的区别?

Spring AOP / AspectJ AOP 的区别&#xff1f; Spring AOP属于运行时增强&#xff0c;而AspectJ是编译时增强。 Spring AOP基于代理&#xff08;Proxying&#xff09;&#xff0c;而AspectJ基于字节码操作&#xff08;Bytecode Manipulation&#xff09;。 AspectJ相比于Spr…

硬件知识:独立显卡和集成显卡的区别

目录 1、独立显卡 2、集成显卡 3、独立显卡与集成显卡性能上的区别 今天给大家介绍一下独立显卡和集成显卡的区别&#xff0c;希望对大家能有所帮助&#xff01; 1、独立显卡 独立显卡是将显示芯片及相关器件制作成一个独立于电脑主板的板卡&#xff0c;成为专门的图像处理硬件…

『OPEN3D』1.1 点云处理

目录 1.open3d中的点云IO 2.点云的可视化 3 点云voxel下采样 4. 顶点法线估计 5.最小外界矩 6. 凸包计算 7. 点云距离计算 8. DBSCAN clustering聚类 9. RANSAC(Random Sample Consensus) 10. 点云平面分割 11. 隐藏点移除 12.outliers移除 13 最远点采样&#xf…

c 多线程map_Rust:一个不再有 C/C++ 的,实现安全实时软件的未来

作者丨lochsh译者丨马可薇策划丨王文婧Rust 作为新兴编程语言深受 Haskell 和 OCaml 等函数式编程语言的影响&#xff0c;使得它在语法上与 C 类似&#xff0c;但在语义上则完全不同。Rust 是静态类型语言&#xff0c;同时具有完整类型推断&#xff0c;而不是 C 的部分类型推断…

SQLServer中交叉联接的用法介绍

目录 1、交叉联接(cross join)的概念 2、交叉联接的语法格式 3、交叉查询的使用场景 3.1 交叉联接可以查询全部数据 3.2 交叉联接优化查询性能 4、总结 今天给大家介绍SQLServer中交叉联接的用法&#xff0c;希望对大家能有所帮助&#xff01; 1、交叉联接(cross join)的概念 交…

计算机有关的文献检索题目,文献检索第二次计算机检索实习题目(2016.4.10).doc

文档介绍&#xff1a;第二次计算机检索实****题目本次实****目的是使学生对以下三个外文数据库:PENDEX数据库、荷兰SDOS数据库、德国Springer数据库的使用方法有所了解。通过题目,使学生分别掌握每个数据库所提供的各种获取文献的方法,包括浏览和检索的方法,并通过各种算符的组…

spring中的IOC和AOP

IOC IOC&#xff08;Inversion Of Controll&#xff0c;控制反转&#xff09;是一种设计思想&#xff0c;将原本在程序中手动创建对象的控制权&#xff0c;交由给Spring框架来管理。IOC容器是Spring用来实现IOC的载体&#xff0c;IOC容器实际上就是一个Map(key, value)&#x…

HDU1598【最小生成树拓展】

参考自 http://www.cnblogs.com/nanke/archive/2012/02/13/2350008.html PS: 没想到最小生成树的kruskal算法从小到大枚举边&#xff0c;然后MAX-MIN就保证了最小。 不过居然没想到这个方案&#xff0c;就是二分枚举差值&#xff0c;然后跑最短路&#xff1b; 转载于:https://w…

python图表可视化工具_比Excel制图更强大,Python可视化工具Altair入门教程

原作者 Parul Pandey晓查 编译整理量子位 出品 | 公众号 QbitAI数据转化成更直观的图片&#xff0c;对于理解数据背后的真相很有帮助。如果你有这方面的需求&#xff0c;而且还在使用Python&#xff0c;那么强烈推荐你试一试Altair。Altair是一个专为Python编写的可视化软件包&…

后端技术:SpringBoot配置热加载工具(devtools)笔记

今天给大家介绍IDEA开发工具如何配置devtools热加载工具。1、devtools原理介绍spring-boot-devtools是spring为开发者提供的热加载工具包。主要原理是使用了两个ClassLoader类加载器&#xff0c;一个Classloader加载那些不会改变的类&#xff08;第三方Jar包&#xff09;&#…

关于ios手机上传图片旋转问题的解决

先占个坑,一会完善!! 转载于:https://www.cnblogs.com/zhuyu/articles/5943400.html

服务器不能创建对象教务系统,[转]解决强智教务系统非IE下无法创建对象错误...

最近要弄教务网的模拟登陆&#xff0c;但苦于教务网只兼容IE8以下的浏览器&#xff0c;不能用chrome强大的F12抓包就很烦&#xff0c;然后发现Fly俊大佬弄了一个相当强的插件啊。但是怕Fly俊大佬的博客失效&#xff0c;所以私自留了个档。侵删啊大佬~以下内容均为转载学校教务系…

Java8对List<Integer>的求和

一般都是对对象对某个字段求和&#xff0c;对List<Object>中Object中的某个字段进行求和&#xff0c;就像这样&#xff1a; 如果想要用流对List<Integer>进行求和&#xff0c;如下 long sum receiveTotalPriceList.stream().reduce(Integer::sum).orElse(0);

安装python无法启动_终端里为什么无法运行python?

1、首先确认自己电脑是否安装了python&#xff0c;如果不确定可以在终端直接输入python&#xff0c;出现以下界面说明已经正确安装&#xff1a;2、如果已经安装了python&#xff0c;但是在终端还是显示未安装&#xff0c;很有可能是没有配置环境变量。环境变量的配置步骤如下&a…

电脑软件:主流的压缩软件对比,看完你就会选择了

目录 1、WinRAR 2、360压缩 3、7-ZIP 4、Bandizip 5、好压/快压 今天小编给大家介绍一下主流的压缩软件&#xff0c;看完你就会选择了&#xff01; 目前主流的压缩软件主要有WinRAR、360压缩、7-ZIP、Bandzip、好压。现在给大家逐个介绍一下&#xff0c;每款压缩软件的特。 1、…

怎么测试ajax get请求,为什么我的AJAX在运行测试时请求dev中的PUT请求,但请求了GET请求?...

在我的Rails应用程序中&#xff0c;我制作了一个AJAX PUT请求(使用Coffeescript)&#xff0c;该请求在我的开发环境中正常工作。当我检查按钮&#xff0c;点击后&#xff0c;会触发使用Firefox的AJAX请求时&#xff0c;它看起来是这样的&#xff1a;为什么我的AJAX在运行测试时…

控制DIV内容滚动的方法,实现不用拖滚动条就可以看到最新消息

三种控制DIV内容滚动的方法&#xff1a; 本人qq群也有许多的技术文档&#xff0c;希望可以为你提供一些帮助(非技术的勿加)。 QQ群&#xff1a; 281442983 (点击链接加入群&#xff1a;http://jq.qq.com/?_wv1027&k29LoD19) 方法一&#xff1a;使用锚标记要滚动到的位置…

python excel模板 插件_python脚本——自动推送txt,EXCEL等文件模板

#!/usr/bin/python# -*- coding: utf-8 -*- #此处支持中文字符一定要放在前两行&#xff0c;置后的话不生效&#xff0c;脚本报错#!/usr/bin/env pythonimport smtplibfrom email.mime.text import MIMETextimport stringimport timeimport datetimeHOST "mail.xxxxxx.co…