谷歌Cartographer學習(1)-快速安裝測試
谷歌自己提供了安裝方法,但是安裝比較繁瑣,我做了一定的修改,程式碼放到個人github上,https://github.com/hitcm/。
ros下面的安裝非常快捷,只需要catkin_make即可。
如有問題,請及時反饋給我,部落格會持續更新。
如下,需要安裝3個軟體包,ceres solver、cartographer和cartographer_ros
0.安裝所有依賴項
sudo apt-get install -y 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 ros-indigo-tf2-eigen libatlas-base-dev libsuitesparse-dev liblapack-dev
1.首先安裝ceres solver,選擇的版本是1.11,路徑隨意
2. cd ceres-solver-1.11.0/build
3. cmake ..
4. make –j
5. sudo make install
2.然後安裝 cartographer,路徑隨意
2 . cd cartographer/build
3. cmake .. -G Ninja
4. ninja
5. ninja test
6. sudo ninja install
上述第3步執行錯誤的同學可以忽略3-6步
7. cmake ..
8 . make
9. sudo make install
3.安裝cartographer_ros。
谷歌官方提供的安裝方法比較繁瑣,我對原來的檔案進行了少許的修改,核心程式碼不變,只是修改了編譯檔案
下載到catkin_ws下面的src資料夾下面
然後到catkin_ws下面執行catkin_make即可。
4.資料下載測試
2d資料,大概500M,用迅雷下載
3d資料,8G左右,同樣用迅雷下載
有同學反映上面連結失效了,請用下面的即可。
然後執行launch檔案即可。
roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=${HOME}/Downloads/cartographer_paper_deutsches_museum.bag
roslaunch cartographer_ros demo_backpack_3d.launch bag_filename:=${HOME}/Downloads/cartographer_3d_deutsches_museum.bag
剛開始使用ROS的同學執行下面兩句是無法工作的,可能出現的錯誤如下。
[demo_backpack_2d.launch] is neither a launch file in package [cartographer_ros] nor is [cartographer_ros] a launch file name
The traceback for the exception was written to the log file
這種錯誤的主要原因是ros的catkin_ws配置問題,可以執行rospack profile試試。
實在不行還有如下所示的兩種解決方法。推薦第二種。
最終結果如下圖,左側為2d,右側為3d。
Good luck!關於程式碼的原理解析,接下來的文章可能會詳細探討。
相關推薦
谷歌Cartographer學習(1)-快速安裝測試
谷歌自己提供了安裝方法,但是安裝比較繁瑣,我做了一定的修改,程式碼放到個人github上,https://github.com/hitcm/。 ros下面的安裝非常快捷,只需要catkin_make即可。 如有問題,請及時反饋給我,部落格會持續更新。 如下,需要安裝3個
golang學習(1)---快速hello world
很多著名的計算機語言都是一兩個人在業餘時間搗鼓出來的,但是Go語言是由Google的團隊打造的。可能一些基礎的知識點我不會細講,因為這個時代你真的得快速學習,才能適應發展。 來看看go的hello, package main import "fmt" func main() { fmt.Print
JavaScript學習(1)——快速入門
1、資料型別 (1)Number,JavaScript不區分整數和浮點數,統一用Number表示 NaN; // NaN表示Not a Number,當無法計算結果時用NaN表示 Infinity; // Infinity表示無限大,當數值超過了JavaScript的Number所能表示
Dart 入門學習(1)—— 環境安裝
寫在前面: 最近同事介紹說flutter不錯,想學習一下,於是就看了看。Flutter 使用 dart 寫的,所以需要先學習一下dart 語言。 Dart 的學習主要就從這兩個網站來看了。其中中文社群中的Dart 學習筆記非常全面,值得認真閱讀。 環境安裝:
Elasticsearch學習(1)之安裝部署(單機多節點模式)
Elasticsearch叢集環境部署(單機多節點) 1. 環境準備 ps: 由於elasticsearch 2.x版本不支援bigdesk外掛,本文采用1.7.3版本 1.1 安裝jdk 下載好的jdk-8u77-linux-x64.tar.
OpenFace學習(1):安裝配置及人臉比對
前言 前幾天在網上看到了openface(連結),覺得挺有趣就下載配置了一下,稍微修改了一下跑了個demo,效果還是很不錯的。這裡分享下安裝配置的過程以及demo。 簡介 環境搭建 我只是在筆記本上搭建了環境所以涉及到GPU的CUDA驅動的部
tensorflow學習(1):安裝cuda版本的tensorflow並檢視版本
1,安裝 tensorflow應該是最好安裝的深度學習庫了吧。 首先,安裝好python(或者anaconda) 然後,再安裝CUDA,詳見本人部落格:點選檢視部落格 最後,安裝tensorflow(
Apache Commons Math3學習筆記(1)- 快速傅立葉變換
傅立葉變換:org.apache.commons.math3.transform.FastFourierTransformer類。 用法示例程式碼: double inputData = new double[arrayLength]; // ... 給inputDa
myBatis學習筆記(1)——快速入門
在專案中使用myBatis 匯入jar包 在src下建立配置檔案 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis
redis學習(1)--- NoSQL介紹
redis學習 模型 width 快速查詢 init 文件 borde 處理 only 一、NoSQL介紹 1、什麽是NoSQL NoSQL = Not Only SQL 非關系型數據庫 2、為什麽用NoSQL High performance - 高
ArcGIS API for JavaScript學習(1):第一個地圖
樣式表 參數 資源 charset 底層 arcgis 順序 api navi 1.簡介 ArcGIS API for JavaScript跟隨ArcGIS 9.3同時發布,是ESRI根據JavaScript技術實現的調用ArcGIS Server REST API接口的一
Linux學習(1)
linux開始學習Linux了,希望能學有所成————測試中本文出自 “Linux學習” 博客,請務必保留此出處http://mmchy.blog.51cto.com/13044974/1941714Linux學習(1)
facets學習(1):什麽是facets
遺失 air 不同的 無縫切換 over 快速 後來 樣式 觀察 ML 數據集可以包含數億個數據點,每個數據點由數百(甚至數千)的特征組成,幾乎不可能以直觀的方式了解整個數據集。為幫助理解、分析和調試 ML 數據集,谷歌開源了 Facets,一款可視化工具。 Facets
C++學習(1):最大子段和(多種解法)
多少 問題: code namespace 數據 組成 amp using () 問題:給定由n個數(可能為負數)組成的序列a1,a2,a3,...,an,求該序列子段和的最大值。 第一種解法:(最容易考慮的方法,將所有的子段一一相加,然後比較) 1 #include&
嵌入式開發學習(1)<ARM體系結構>
特點 如何 現在 訪問 任務 物聯網 嵌入 專用 arm1 SoC : 在cpu 裏內嵌了很多外設,現在所說的cpu 實際上都是SoC。 32位cpu指的是數據總線是32位的。 32位的地址總線尋址範圍是4G。2的32次方。 CISC complex instruction
IDEA 學習筆記之 Java項目開發深入學習(1)
java項目 bsp 重構 str 代碼提示 log pan ora tro Java項目開發深入學習(1): 定義編譯輸出路徑: 繼承以上工程配置 重新定義新的項目編譯路徑 添加source目錄:點擊添加,再點擊移除: 編譯項目: 常用快捷鍵總結: Ctr
nodejs學習(1)
管理工具 cti 分享 環境 scrip alt world 命令提示符 true 1.安裝:可以在http://nodejs.org/dist/下載nodejs的所有版本,我在裏面下載了node-v8.9.0-x64.msi,安裝完成,在命令提示符中輸入“node --v
Win10下Docker學習(1)安裝
ner table 組成 高效率 down 提高 打開 cpu 其他人 Docker簡介 Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後發布到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,
Vue深度學習(1)
msg 第一個 數據綁定 vue.js 這就是 one round 本質 dex Hello World 現在就讓我們來寫第一個vue.js的實例。如下代碼: html代碼: <div id="demo"> {{ message }}
腳本學習(1)列出一組IP內所有活動主機
cat -c spa ash 活動 pin null status amp 1、用ping命令編寫腳本來查詢一組IP地址同時檢查他們是否處於活動狀態 1 [zhi@centos7 ~]$ vi CheckHostStatus.sh 2 [zhi@centos7 ~]$