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摄像头下,奈何才疏学浅,一直未能成功,还望大佬多多指教,在此感激不尽................

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