SLAM環境配置大全, ( ) 哈哈

2021-07-27 18:42:06 字數 3871 閱讀 1409

ubuntu14.04映象肯定是要的,雖然現在已經出來16.04,但是感覺有些庫還不相容,或者說配置起來沒有14.04方便,所以對於新手(我就是)還是決定不做探路者,用14.04.

slam其實在沒有gpu的支援下,實時性還是很重要的,所以一般都是用c++作為變成的語言(我還沒學過c++),本科是個學渣,c語言勉強過二級,所以c++還是要惡補一下,不然看見**第一反應就是,我去!神馬鬼…

sudo apt-get install g+

+

總得用c++吧!

ide(integrated development evironment ),這是啥?這是整合開發環境,和windows下的vs類似,表示vs並不怎麼會,以前學校也就用個matlab做個簡單實驗。這裡我就使用的是kdevelop,不要問我為啥,因為安裝簡單,使用方便,易上手!

sudo apt-get install kdevelop-dev
這又是啥!因為做slam,其實需要很多數**算,eigen其實就是個c++開源的線性代數庫,裡面有很多矩陣運算,吧啦吧啦…

sudo apt-get install libeigen3-dev
感覺安裝還蠻簡單的^_^

簡直了,slam的庫就是很多,感覺小夥伴還是一次配全了比較好,不然回頭做開發或者跑一些程式的demo的時候,就會發現:「我的天哪,各種不相容!」,因為我是相當於裸機重新配置,啥也沒有裝,所以遇到的問題還稍微少一些。

git checkout a621ff如果沒有安裝git,要先安裝一下git

sudo apt-get install git
這個庫主要做李群和李代數之類的運算,具體是啥,以後再寫啦!

這個就是很頭疼的乙個問題了,請安裝的小夥伴慎重考慮好自己是用2系列還是3系列,兩個系列的介面是不同的,所以**的編寫方式也是有所不同,如果,不行,把兩個版本裝到一起,那麼簡直相愛相殺,出現一大堆的問題。函式的互相覆蓋,函式命名錯誤,標頭檔案找不吧,簡直阿西吧!所以lz提供兩種方式,但是最好不要同時使用,不然就game over!

sudo apt-get install libopencv-dev
sudo apt-get install build-essential libgtk2.

0-dev libvtk5-dev libjpeg-dev libtiff4-dev libjasper-dev libopenexr-dev libtbb-dev

上面都是一些依賴項

mkdir build

cd build

cmake .

.make

不出意外,opencv就安裝好啦!o(∩_∩)o哈哈~

相信如果之前了解過slam的小夥伴肯定都知道進行實時地圖重建啥的,都要做點雲拼接,pcl就是乙個還不錯的工具喲!

sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl

sudo apt-get update

sudo apt-get install libpcl-

all

哈哈,就是這麼的完美,怎麼快就已經裝好這麼多庫啦,小夥伴們加油哦,勝利就在前方,嗯啊,(づ ̄ 3 ̄)づ

這個就是google出品的乙個做優化的庫,裡面內容博大精深,我也只能說我還是個門外漢

首先還是來先安裝一下ceres的依賴項吧

sudo make install這個編譯可能要一定的時間,要有點耐心啊,我之前做了一件很蠢的事情,就是在用ceres的時候,發現怎麼也用不起來,然後抓耳撓腮好久之後才發現,誒,這個是要安裝的,忘加install,小夥伴那麼聰明,肯定不會忘記的啦!

哇哇,這個當之無愧可是乙個重頭戲啊,在做閉環檢測或者ba的時候,都要進行優化,slam裡面一般都會出現圖優化,注意不是凸優化,這兩個好像讀音有點像,但實際上可是差別很大的哦,凸優化我的理解可能是針對凸函式之類的(數學渣啦,如果有大神覺得我說的膚淺,可以隨時歡迎指正哈),圖優化可能就是把數學問題抽象成邊和節點,來做優化,恩恩,應該是這樣的吧^_^。好吧,開始安裝依賴項了哦,可能有部分依賴項和之前安裝的依賴項有些重合,但是我還是都寫在這上面了,萬一有些小夥伴直接看到這裡腫麼辦,是吧,哈哈。

sudo apt-get install libqt4-dev qt4-qmake libqglviewer-dev libsuitesparse-dev libcxsparse3.

1.2 libcholmod2.

1.2

後面幾個都是稀疏矩陣運算可以加速使用的,比如cholesky分解之類的,不是數學專業,並且數學很渣的我表示呵呵。嗯,下面就是g2o的安裝步驟啦,

.sudo make install

最後一行就是把編譯和安裝一塊進行了,省的我再犯只編譯沒安裝的低階錯誤啦,小夥伴們也可以這麼預防哈。
這是乙個輕量級的顯示3d乙個庫吧,寫了好久了,感覺有點小累,堅持就是勝利。下面來加一下它的依賴項

sudo apt-get install libglew-dev camke libboost-dev libboost-thread-dev libboost-filesystem-dev

sudo apt-get install libpython2.

7-dev

這裡需要注意的是python2系列和3系列有些**編寫方式也是不一樣的,有些人認為2系列好,有些人就會認為3系列也不錯,這是因人而異,沒有誰對誰錯的,我這裡安裝的就是2系列的,小夥伴也可以選擇3系列的,沒有問題。

.make這裡面有些依賴項沒有裝,太多了,所以有興趣的小夥伴可以去github上自行安裝,我這裡就不贅述了。

其實之前有個dbow2版本,但是還要以來dlib,所以從簡單方便至上的lz來說,就安裝3版本啦,其實3版本還是比2版本有很多提高的,而且3版本依賴只有opencv(前面已經寫過咯),所以,本lz就決定它了~\(≧▽≦)/~啦啦啦,這個主要是詞袋(bag of words),的應用啦,具體是啥,回頭再說啦o(∩_∩)o哈!

.make還有經常update或者upgrade有些安裝找不到庫的問題也會解決,個人實踐小技巧。

哇哇哇,簡直感動的要哭了,slam安裝大全搞定啦!

下面一章會介紹怎麼寫cmakelists把這些庫新增進來,讓你的c++飛起來!^_^

slam14講 slam的環境搭建

一.物理機的環境 win10 虛擬機器的版本 vm 14 sudo apt get install cmake cmake gui安裝好之後可檢視版本 cmake version3 pcl的安裝 因為pcl的庫比較複雜,所以先安裝pcl,安裝之前請拍攝快照備份。1 安裝依賴庫 sudo apt ge...

思科介面配置 哼哼哈哈

如果要給介面配置輔助位址使用引數secondary ip address 192.168.1.1 255.255.255.0 secondary 不建議配置多個ip位址,這會導致路由執行效率低下 需要注意的是 思科所有交換機埠預設都已啟用而所有路由器埠預設都被禁用 管道輸出限定符,在冗長輸出中迅速找...

AGV雷射Slam導航環境要求說明

v槽導航對接 本導航系統目前支援slam導航模式 v槽導航模式 磁條導航模式。a 工作時,可以根據場景,隨時任意切換導航模式。使其導航精度和便利性達到應用要求。注意 上述導航模式的核心區別是小車反饋位置的計算方式,在路徑規劃和控制的演算法上相同的。slam導航原理 地圖顯示 地圖 灰色是未知區域,白...