對於ubuntu14.04來說g2o的編譯和配置還是比較容易的,只不過今天走了一段彎路,很是上火。現在寫出我掉進去的坑,希望其他人不要再踩了。建議參考:
1.首先在
2.編譯、安裝:
mkdir build
cd build
cmake ../
make
sudo make install
注意:這裡「sudo make install」教程漏寫了(坑死哥哥了)。
用命令」sudo find / -name g2o」看到「/usr/local/include/g2o」和「/usr/local/bin/g2o」就ok了。
3.我要在乙個ros包裡用,所以在我的包的cmakelist.txt中加上(參照某位大神的部落格):
# 新增g2o的依賴
# 因為g2o不是常用庫,要新增它的findg2o.cmake檔案
set( g2o_root /usr/local/include/g2o )
find_package(g2o required)
if(g2o_found)
include_directories($)
message("g2o lib is found:"
$)endif(g2o_found)
## specify additional locations of header files
## your package locations should be listed before other locations
include_directories(
include$$
$$/usr/local/include
# location when using 'make system_install'
/usr/include
# more usual location (e.g. when installing using a package)
)## specify additional locations for library files
link_directories(
/usr/local/lib # location when using 'make system_install'
/usr/lib # more usual location (e.g. when installing using a package)
)....
target_link_libraries(depth_only $ keyframe g2o_core g2o_types_slam3d g2o_solver_csparse g2o_stuff g2o_csparse_extension)
我還遇到乙個錯誤:
depth_only
.cpp
:(.text+0x80fd): undefined
reference
to `g2o
::sparseoptimizer
::sparseoptimizer()'
.......
這是因為我沒鏈結g2o相應的庫。 g2o學習 g2o整體框架
進來對g2o優化庫進行了學習,雖然才模仿著寫了兩個例程,但是對於整個g2o的理解和使用方面還是多了不少的感觸,特此寫下部落格,對這些天的學習進行記錄。說到整體的結構,不得不用一張比較概括的圖來說明 這張圖最好跟著畫一下,這樣能更好的理解和掌握,例如我第一次看的時候根本沒有注意說箭頭的型別等等的細節。...
g2o擬合曲線
cmakelists cmake minimum required version 3.7 project g2o curve fitting robin set cmake cxx standard 11 新增g2o的cmake modual path find package g2o requi...
g2o學習筆記
綜上所述,在g2o中選擇優化方法一共需要三個步驟 選擇乙個線性方程求解器,從pcg csparse choldmod三個選一 選擇乙個blocksolver 選擇乙個迭代器,從gn lm doglog中選 其中read和write函式可以不進行覆寫,僅僅宣告一下就可以了,settooriginimp...