LIO-SAM的全稱是:Tightly-coupled Lidar Inertial Odometry via Smoothing and
Mapping,從全稱上可以看出,該算法是一個緊耦合的雷達慣導(dǎo)里程計(Tightly-coupled Lidar Inertial Odometry),借助的手段就是利用GT-SAM庫中的方法。
LIO-SAM提出了一個利用GT-SAM的緊耦合激光雷達慣導(dǎo)里程計的框架。實現(xiàn)了高精度、實時的移動機器人的軌跡估計和建圖。在之前的博客講解了imu如何進行預(yù)積分,最終以imu的頻率發(fā)布了imu的預(yù)測位姿里程計。
本篇博客主要講解,最終是如何進行位姿融合輸出的
Eigen::Affine3f
其中功能的核心在于 位姿間的變換,所以要了解 Eigen::Affine3f 部分的內(nèi)容,Affine3f 是eighen庫的 仿射變換矩陣
實際上就是:平移向量+旋轉(zhuǎn)變換組合而成,可以同時實現(xiàn)旋轉(zhuǎn),縮放,平移等空間變換。
Eigen庫中,仿射變換矩陣的大致用法為:
創(chuàng)建Eigen::Affine3f 對象a。
創(chuàng)建類型為Eigen::Translation3f 對象b,用來存儲平移向量;
創(chuàng)建類型為Eigen::Quaternionf 四元數(shù)對象c,用來存儲旋轉(zhuǎn)變換;
最后通過以下方式生成最終Affine3f變換矩陣:a=b*c.toRotationMatrix();
一個向量通過仿射變換時的方法是result_vector=test_affine*test_vector;
仿射變換包括:平移、旋轉(zhuǎn)、放縮、剪切、反射
平移(translation)和旋轉(zhuǎn)(rotation)顧名思義,兩者的組合稱之為歐式變換(Euclidean
transformation)或剛體變換(rigid transformation);
放縮(scaling)可進一步分為uniform scaling和non-uniform scaling,前者每個坐標軸放縮系數(shù)相同(各向同性),后者不同;
如果放縮系數(shù)為負,則會疊加上反射(reflection)——reflection可以看成是特殊的scaling;
剛體變換+uniform scaling 稱之為,相似變換(similarity transformation),即平移+旋轉(zhuǎn)+各向同性的放縮;
-
移動機器人
+關(guān)注
關(guān)注
2文章
762瀏覽量
33564 -
SAM
+關(guān)注
關(guān)注
0文章
112瀏覽量
33519 -
激光雷達
+關(guān)注
關(guān)注
968文章
3967瀏覽量
189825
發(fā)布評論請先 登錄
相關(guān)推薦
評論