原创 [數據結構與算法]關於二分查找的理解

關於二分查找的理解 在leetcode_35搜索插入的位置這道題中,liweiwei大佬詳細的介紹了二分查找最關鍵的一個問題,就是如何避免陷入死循環。在此我根據大佬的筆記,總結一下自己的理解。 首先來看題目: 給定一個排序數組和一

原创 [不一樣的劍指offer] 面試題41. 數據流中的中位數

數據流中的中位數 本博客所有出現的 [不一樣的劍指offer] 系列,個人認爲都比書上的題解更好理解。 概括:書上的題目在實現兩個數據結構的平衡的地方寫的有點囉嗦。這裏分別有兩種方法實現,要簡單很多。 1 優先級隊列 clas

原创 ceres優化庫的一點總結(問題構建總結和求導方式的分析)

1.Ceres中求解一個優化問題的結構 背景:在SLAM中,很多問題都是在求解Translation(包含旋轉和平移量),因此這裏以其爲代表,來分析使用ceres如何對其近求導。 void Calibrator::Optimi

原创 ICP算法公式推導和PCL源碼解析

ICP算法可以使用SVD或者非線性優化的方法進行求解。因爲PCL源碼中對ICP的求解就是使用SVD,所以這裏對其進行一些探究。 1.公式推導 1.首先對第iii個點構建誤差項: ei=pi−(Rpi′+t) e_{i}=p_{

原创 [代碼閱讀]hdl_graph_slam中的地面約束與g2o中的平面誤差模型推導

文章目錄1. hdl_slam中的地面約束2. g2o中的平面誤差推導 參考資料: 1.Code:hdl_graph_slam 2.Paper:Kenji Koide, Jun Miura, and Emanuele Menega

原创 catkin_make生成信息的理解 & ROS中的cmakelist.txt

catkin_make生成信息的理解 & ROS中的cmakelist.txt 標籤(空格分隔): ROS src: 代碼空間 build: 編譯空間,存放編譯時生成的中間文件,二進制文件 devel: 開發空間,存放終止編譯的

原创 [代碼閱讀]lego-loam 代碼細節詳解(一)-image_projection

1 image_projection input topic: velodyne_points 點雲的輸入話題,在utils.h裏面可以修改 output topic: full_cloud_proje

原创 [不一樣的劍指offer] 面試題45.把數組排成最小的數

本博客所有出現的 [不一樣的劍指offer] 系列,個人認爲都比書上的題解更好理解。 概括:這道題的難點有2 1.隱形的大數問題,需要把int->string 2.深刻理解書上所寫的比較規則,並靈活運用。 class Sol

原创 [論文閱讀] A novel binary shape context for 3D local surface description

A novel binary shape context for 3D local surface description 文章目錄A novel binary shape context for 3D local surface

原创 [透徹理解]由最小二乘到SVD分解

[透徹理解]由最小二乘到SVD分解 文章目錄[透徹理解]由最小二乘到SVD分解1 問題引入:二維直線的擬合問題2 實際問題1:點雲的地面擬合2.1 解法1.分解協方差矩陣2.2 解法2 SVD 求解Ax=02.3 證明:SVD=最