1. 程式人生 > >谷歌Cartographer學習(1)-快速安裝測試

谷歌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試試。

實在不行還有如下所示的兩種解決方法。推薦第二種。

image

image

最終結果如下圖,左側為2d,右側為3d。
Good luck!關於程式碼的原理解析,接下來的文章可能會詳細探討
imageimage

相關推薦

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 ~]$