SLAM十四講點雲實踐中段錯誤核心轉儲解決方法

2021-08-19 20:44:30 字數 496 閱讀 7250

程式執行結果如下圖:

使用gdb除錯

除錯結果如下:

發現都跟容器vector有關。

想到上學期做作業時遇到的錯誤: 在矩陣運算時呼叫了 eigen 庫,為了提高運算速度,向量化必須要求向量是以 16 位元組即 128bit 對齊的方式分配記憶體空間,所以針對這個問題,容器需要使用 eigen 自己定義的記憶體分配器。對 eigen 中的固定大小的類使用 stl 容器的時候,如果直接使用就會出錯。此時應加上標頭檔案include,並在定義 stl 容器時做如下修改:

比如修改前:

std::vector

修改後:

std::vector>

故在該程式中,加上標頭檔案,並將所有

std::vector都改為:

std::vector>(不是真的問號,根據變數型別而定)

SLAM十四講 後端(1)

視覺slam主要分為視覺前端和優化後端。前端也稱為視覺里程計 vo 根據相鄰影象的資訊估計處粗略的相機運動,給夠後端提供較好的初始值。vo的實現方法,按是否需要提取特徵,可分為特徵點的前端和不提特徵點的直接法前端。vo的主要問題是如何根據影象估計相機的運動 從影象選取有代表性的點 路標 在相機發生微...

視覺SLAM十四講Debug

find package opencv required 失敗,找不到opencv3.1.0版本 find package opencv 3 required 成功eigen make unaligned array assert 31 解決辦法 vectorposes 修改為下面的語句 vecto...

視覺SLAM十四講第四講

主要目標 理解李群與李代數的概念,掌握 so 3 se 3 與對應李代數的表示方式。理解 bch 近似的意義。學會在李代數上的擾動模型。使用 sophus 對李代數進行運算。旋轉矩陣自身是帶有約束的 正交且行列式為 1 它們作為優化變數時,會引入額外的約束,使優化變得困難。通過李群 李代數間的轉換關...