Cartographer(一) 安裝及執行流程學習

2021-10-07 15:02:28 字數 3341 閱讀 9790

1、安裝依賴項

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-kinetic-tf2-eigen libatlas-base-dev libsuitesparse-dev liblapack-dev

github**:

mkdir build &&

cd build

cmake … -dbuild_shared_libs=on

make

sudo

make

install

b、更改cartographer的cmakelist.txt檔案(2處)和cartographer-config.cmake.in檔案(1處)
cmakelist.txt 第1處:

find_package(abseil required) --> find_package(absl required)

cmakelist.txt 第2處:#預設的庫檔案是 standalone_absl

target_link_libraries(

$ public $

absl::base

absl::synchronization

absl::strings

absl::flat_hash_map

absl::numeric

absl::flags)

然後重新編譯即可

cartographer-config.cmake.in 1處:

find_package(abseil $

) abseil 改為 absl

c、更改cartographer_ros的cmakelist.txt,2處
cartographer_ros 和 cartographer_rviz的改法均一致:

find_package(abseil required) --> find_package(absl required)

然後重新編譯即可。

3、安裝ceres-solver

github**:

mkdir build &&

cd build

cmake ..

make

sudo

make

install

4、編譯cartographer
cd cartographer

mkdir build

cd build

cmake .. -g ninja

ninja

ninja test

sudo ninja install

5、安裝cartographer_ros
cd workspace

catkin_make

(以下內容使用藍鯨機械人論壇的bag檔案及cartographer_ros在自己電腦上測試執行,鏈結

1、錄製bag包

2、配置cartographer_ros

cartographer_ros/launch/demo_xiaoqiang_3d.launch 

#建圖時啟動的launc**件,負責啟動xiaoqiang_3d.launc**件和rviz

cartographer_ros/launch/xiaoqiang_3d.launch

#用來載入cartographer_ros主要的啟動節點和引數檔案,話題資料名字的remap也在這個檔案設定。

cartographer_ros/launch/assets_writer_xiaoqiang_3d.launch

#用來將demo_xiaoqiang_3d.launch輸出的pbstreamfile轉換成ply點雲資料

cartographer_ros/urdf/rslidar_2d.urd

#模型檔案,用來發布3d雷射雷達、小車里程計、imu、小車本體之間的tf關係

cartographer_ros/configuration_files/xiaoqiang_3d.lua

#cartographer_ros演算法引數配置檔案,優化建圖效果需要調整的引數就是這個檔案。

#啟動roscore

roscore

#啟動cartographer

roslaunch cartographer_ros demo_xiaoqiang_3d.launch

rosbag play --clock 2018-08-11-13-20-34.bag

rosrun rqt_service_caller rqt_service_caller

#先呼叫/finish_trajectory服務結束建圖

#接著呼叫/write_state服務,輸入儲存檔名稱,將cartographer_ros建圖結果儲存為pbstream檔案,test_3d.pbfile。儲存成功後,檔案可以在~/.ros/目錄找到

5、用assets_writer_xiaoqiang_3d.launch將pbstream檔案轉換成ply點雲檔案
roslaunch cartographer_ros assets_writer_xiaoqiang_3d.launch bag_filenames:=/home/muyangren/opensource/cartographer_bag/2018-08-11-13-20-34.bag pose_graph_filename:=/home/muyangren/opensource/cartographer_bag/test_3d.pbfile
6、使用pcl工具將ply檔案轉換成pcd檔案
#將ply檔案轉換為pcd檔案

pcl_ply2pcd 2018-08-11-13-20-34.bag_points.ply test_3d.pcd

#使用pcl_viewer檢視pcd檔案

cartographer 安裝編譯

ubuntu16.04 環境依賴 sudo apt get install y clang g git google mock libboost all dev libcairo2 dev libcurl4 openssl dev libeigen3 dev libgflags dev libgoo...

cartographer 安裝問題

這裡只說安裝過程中遇到的問題,ceres solver 與 eigen3 版本不相容問題,我是17年10月進行的測試,現在的eigen3 已經更新了,已經不是16年的 eigen3。cd ceres solver 1.13.0 mkdir build cd build cmake make j4 s...

cartographer超詳盡安裝教程!

從工程的角度來看,google開源的slam真是上乘之作,以下為cartographer安裝步驟,詳細,且讓新手少進坑,步驟經過優化,節省大量時間。ros版本為kinetic 系統為ubuntu16.04 工作空間名稱為carto ws 安裝工具 sudo apt get update sudo a...