Google Cartographer 實時slam開源地圖代碼庫的介紹疗琉、安裝和使用

文/冷冬寒梅

(一)介紹

Google Cartographer利用同步定位與建圖技術(shù)繪制室內(nèi)建筑平面圖,可以用于二維和三維空間的建圖钦椭,可以在非ros(機器人操作系統(tǒng))系統(tǒng)和ros系統(tǒng)中使用拧额。根據(jù)google的說明,該技術(shù)易于部署機器人彪腔、無人駕駛侥锦、無人機等系統(tǒng)。

Google在官方聲明中提到德挣,Cartographer的SLAM算法結(jié)合了來自多個傳感器的數(shù)據(jù)恭垦,比如LiDAR激光雷達傳感器、IMU慣性測量單元格嗅,還有來自多個攝像頭的數(shù)據(jù)番挺。綜合這些龐雜的數(shù)據(jù),得以計算傳感器及傳感器周圍的環(huán)境吗浩。據(jù)報道Cartographer現(xiàn)已經(jīng)支持Toyota HSR建芙、TurtleBots、PR2懂扼、RevoLDS這幾個機器人平臺禁荸。

(二)安裝

官方提供的安裝步驟,在中國大陸地區(qū)實施起來有些問題阀湿,我通過親身實踐赶熟,糾正了一些問題,提供了一個切實可行的安裝步驟陷嘴。

我所用的環(huán)境:ubuntu14.04(Trusty)

??????? ? ? ? ? ? ? ? ? ? ROS Indigo

step1映砖、安裝依賴

sudo apt-get update

sudo apt-get install -y \

cmake \

g++ \

git \

google-mock \

libboost-all-dev \

libeigen3-dev \

libgflags-dev \

libgoogle-glog-dev \

liblua5.2-dev \

libprotobuf-dev \

libsuitesparse-dev \

libwebp-dev \

ninja-build \

protobuf-compiler \

python-sphinx

step2安裝優(yōu)化包ceres-solver

在官網(wǎng)https://google-cartographer.readthedocs.io/en/latest/中提供的gitclone地址不能成功下載,我們可以采用下面的地址進行下載

https://github.com/ceres-solver/ceres-solver

安裝ceres-solver的步驟如下:

git clone https://github.com/ceres-solver/ceres-solver

cd ceres-solver

mkdir build

cd build

cmake .. -G Ninja

ninja

ninja test

sudo ninja install

step3灾挨、安裝cartographer

git clone https://github.com/googlecartographer/cartographer

cd cartographer

mkdir build

cd build

cmake .. -G Ninja

ninja

ninja test

sudo ninja install

step4邑退、安裝cartographer_ros

1)首先安裝wstool和rosdep工具

sudo apt-get update

sudo apt-getinstall -y python-wstool python-rosdep ninja-build

2)然后建立一個新的workspace

mkdir slam_ws

cd slam_ws

wstool init src

3)安裝cartographer_ros.rosinstall文件,更新

wstool merge -t srchttps://raw.githubusercontent.com/googlecartographer/cartographer_ros/master/cartographer_ros.rosinstall

wstool update -t src


4)安裝deb依賴Installdeb dependencies.

rosdep update

rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y

5)安裝和設(shè)置路徑

catkin_make_isolated --install –use-ninja

(此處需要時間比較長劳澄,要耐心等待地技,我在運行時候,以為此處進行不下去了秒拔,結(jié)果等的時間長些莫矗,運行成功)

source install_isolated/setup.bash 此語句設(shè)置路徑


到此安裝成功

(三)測試此slam算法的有效性

step1、首先下載數(shù)據(jù)集

下載幾種數(shù)據(jù)集包砂缩,費時較長

1)Downloadthe 2D backpack example bag.

wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/backpack_2d/cartographer_paper_deutsches_museum.bag

2)Downloadthe 3D backpack example bag.

wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/backpack_3d/cartographer_3d_deutsches_museum.bag

3)Download the Revo LDS example bag.

wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/revo_lds/cartographer_paper_revo_lds.bag

4)Download the PR2 example bag.

wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/pr2/2011-09-15-08-32-46.bag

step2作谚、啟動相應(yīng)的launch文件,對不同的測試集進行slam建圖

launch文件位于slam_ws/src/cartographer_ros/cartographer_ros/launch

2D backpack的bag文件位于

/home/dmchen/slam_ws/src/cartographer_ros/cartographer_ros/bag文件夾中

1)啟動2D backpack的Launchdemo文件

cd slam_ws

source

install_isolated/setup.bash

roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=/home/dmchen/slam_ws/src/cartographer_ros/cartographer_ros/bag/cartographer_paper_deutsches_museum.bag

2)啟動3D backpack Launch demo文件.

roslaunch cartographer_ros demo_backpack_3d.launch bag_filename:=${HOME}/Downloads/cartographer_3d_deutsches_museum.bag

3)啟動Revo LDS Launch demo文件

roslaunch cartographer_ros demo_revo_lds.launch bag_filename:=${HOME}/Downloads/cartographer_paper_revo_lds.bag

4)啟動PR2 Launch demo文件

roslaunch cartographer_ros demo_pr2.launch bag_filename:=${HOME}/Downloads/2011-09-15-08-32-46.bag

(四)結(jié)果

slam建圖時間非常長庵芭,耗費資源情況如下:cpu的占用率是268.5%妹懒,有時候高達340%

deutsches_museum2d數(shù)據(jù)集

我的運行結(jié)果不是很好,在有回環(huán)時候双吆,已經(jīng)出現(xiàn)了很大的偏移眨唬,我分析出現(xiàn)此現(xiàn)象的原因是我的電腦的運算速度在算法后面進行匹配的時候滔悉,太慢了。

我的電腦的配置单绑,其實已經(jīng)很高了(哭臉)


RevoLDS數(shù)據(jù)集

運行效果很棒

(五)總結(jié)

googel提供的測試集,其中博物館的數(shù)據(jù)集大約128.3m*270米曹宴,閉環(huán)運行效果非常差搂橙,RevoLDS數(shù)據(jù)集大約32.1m*35.7m,運行效果很棒笛坦。

另外区转,我在我自己的機器人和環(huán)境中進行了測試,測試區(qū)域大約是43.4m×41.25m的樣子版扩,效果也不錯废离。

備注:上面的分析是10月份我做的測試(原諒我是重度懶癌患者,現(xiàn)在才整理以前的結(jié)果)礁芦,當時對deutsches_museum2d數(shù)據(jù)集測試效果很差蜻韭。期間看到google對代碼進行了更新,用最新的代碼進行測試柿扣,效果要好很多肖方。

在過去的一段時間內(nèi),我一直在研究googel slam的論文和代碼未状,以后會陸續(xù)寫文章俯画,剖析論文中采用的算法和其對應(yīng)的代碼實現(xiàn),對此有興趣的可以后續(xù)進行關(guān)注和留意司草。



最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末艰垂,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子埋虹,更是在濱河造成了極大的恐慌猜憎,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件吨岭,死亡現(xiàn)場離奇詭異拉宗,居然都是意外死亡,警方通過查閱死者的電腦和手機辣辫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門旦事,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人急灭,你說我怎么就攤上這事姐浮。” “怎么了葬馋?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵卖鲤,是天一觀的道長肾扰。 經(jīng)常有香客問我,道長蛋逾,這世上最難降的妖魔是什么集晚? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮区匣,結(jié)果婚禮上偷拔,老公的妹妹穿的比我還像新娘。我一直安慰自己亏钩,他們只是感情好莲绰,可當我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著姑丑,像睡著了一般蛤签。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上栅哀,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天震肮,我揣著相機與錄音,去河邊找鬼留拾。 笑死钙蒙,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的间驮。 我是一名探鬼主播躬厌,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼竞帽!你這毒婦竟也來了扛施?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤屹篓,失蹤者是張志新(化名)和其女友劉穎疙渣,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體堆巧,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡妄荔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了谍肤。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片啦租。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖荒揣,靈堂內(nèi)的尸體忽然破棺而出篷角,到底是詐尸還是另有隱情,我是刑警寧澤系任,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布恳蹲,位于F島的核電站虐块,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏嘉蕾。R本人自食惡果不足惜贺奠,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望错忱。 院中可真熱鬧敞嗡,春花似錦、人聲如沸航背。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽玖媚。三九已至,卻和暖如春婚脱,著一層夾襖步出監(jiān)牢的瞬間今魔,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工障贸, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留错森,地道東北人。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓篮洁,卻偏偏與公主長得像涩维,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子袁波,可洞房花燭夜當晚...
    茶點故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內(nèi)容