Ubuntu16.04+ROS Kinetic環境下svo編譯運行

準備工作:

  1. 安裝Sophus(這個庫是維護的比較好的一個李羣和李代數的庫)

注: 其實你在運行其他版本的slam系統的時候大概率已經安裝過,不過這裏面執行一下,無傷大雅,也不會搞亂你的系統。

#catkin_ws 是自己創建的ROS工作空間,在之前的博客裏面也有創建ROS工作空間教程
cd catkin_ws/src/SVO  #後面源代碼拷貝到這個目錄下,所以將svo需要的庫也放在這裏面
git clone https://github.com/strasdat/Sophus.git
cd Sophus
git checkout a621ff
mkdir build
cd build
cmake ..
make

  2. 安裝Fast(用於Fast角點提取的一個庫)

cd catkin_ws/src/SVO
git clone https://github.com/uzh-rpg/fast.git
cd fast
mkdir build
cd build
cmake ..
make

3. 安裝g2o(一個非線性優化庫,也和sophus一樣,你大概率已經安裝過,可選,但建議安裝,至於環境變量,其實無需設置,執行完下面的命令即可)

cd catkin_ws/src/SVO
git clone https://github.com/RainerKuemmerle/g2o.git
cd g2o
mkdir build
cd build
cmake ..
make
sudo make install

4. 安裝vikit(這個其實是視覺開發工具包,vision kit,尤其是pcl非常依賴這個庫,強烈建議安裝。但有時候不同的版本適配不同的slam系統。svo可以使用下面的安裝方式)

cd catkin_ws/src/SVO
git clone https://github.com/uzh-rpg/rpg_vikit.git

5. ROS的依賴項(主要是cmake-modules,我用的Ubuntu的版本是Ubuntu16.04+ros-kinetic)我之前並沒有安裝這個依賴項,發生了很多cmake-modules的問題,解決方式也很粗暴,找不到cmake-modules,那我就去對應的CMakeLists.txt刪掉對cmake-modules的依賴,結果竟然編譯運行成功了。)但爲了以防萬一,還是建議安裝下面的依賴項。

sudo apt-get install ros-indigo-cmake-modules 
  #indigo是我ros的版本,可以換成自己的,比如我的是kinetic,那就執行
//sudo apt-get install ros-kinetic-cmake-modules 

SVO編譯運行:

安裝和編譯

## 下載
cd catkin_ws/src/SVO
git clone https://github.com/uzh-rpg/rpg_svo.git

## 編譯
cd  ~/catkin_ws/  # 進入ros工作空間
catkin_make       #執行後會在catkin_ws /build和/devel 生成相應文件

note:

##在這裏要注意下,opencv的版本時3.x的。我用的是opencv3.2的版本,如果報了關於opencv的錯誤,記得修改CmakeLists.txt,
把
#findpackage(opencv required)
修改爲:
#findpackage(opencv 3 required)

用ROS測試標準數據集

1、首先是數據集下載,強烈推薦分段續傳的方式進行數據集下載,數據集較大,約1.7G,分段續傳方式很快:

wget -c rpg.ifi.uzh.ch/datasets/airground_rig_s3_2013-03-18_21-38-48.bag
## 下載到catkin_ws目錄下就可以

2、打開新的終端

cd catkin_ws
source devel/setup.bash
roslaunch /home/<用戶名>/catkin_ws/src/SVO/rpg_svo/svo_ros/launch/test_rig3.launch

3、打開新的終端

rosrun rviz rviz -d /home/<用戶名>/catkin_ws/src/SVO/rpg_svo/svo_ros/rviz_config.rviz

4、打開新的終端,運行數據集

cd catkin_ws
rosbag play airground_rig_s3_2013-03-18_21-38-48.bag 

然後就運行成功了~~~~

5、下一步打算運行在自己的usb攝像頭下,奈何才疏學淺,一直未能成功,還望大佬多多指教,在此感激不盡................

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章