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.pswp.cn/news/270766.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/270766.shtml
英文地址,請注明出處:http://en.pswp.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…