Semi-direct Visual Odometry(SVO)安装配置

来源:互联网 发布:箱体捉妖指标公式源码 编辑:程序博客网 时间:2024/06/06 16:25

ROS下的SVO安装配置

大致是按照作者给的步骤走的,代码地址点这里,作者给的步骤点这里。

SVO支持用ros和没有ros情况下运行,我试了没有ros的情况,也试了在ros运行,这里选择ros下的安装。

SVO需要建立两个工作空间workspace,一个用来放cmake工程,包括Sopuhus(一个李群库,懵逼),Fast(特征检测),还有可选的库g2o(图优化),另一个工作空间放ROS-Catkin工程rpg_vikit(vision kit)和rpg_svo(svo工程文件)。保证clone到正确的目录里。

1 Sophus李群库

Sophus实现李群代数,用来描述刚体运动变换的,安装步骤如下,一般不会出错。

cd workspace
git clone https://github.com/strasdat/Sophus.git
cd Sophus
git checkout a621ff
mkdir build
cd build
cmake ..
make

make后不需要install,cmake ..会将包地址写到~/.cmake/packages/目录下,cmake可以找到这里

2 Fast 角点检测库

用来检测角点的,基本不会错,步骤如下:

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

3 g2o - General Graph Optimization (可选)

在需要运行bundle adjustment时要安装,在做visual odometry时不是必要安装的。作者在MAV上没有运行g2o。g2o的安装依赖包括:cmake, libeigen3-dev, libsuitesparse-dev, libqt4-dev, qt4-qmake, libqglviewer-qt4-dev。可以用apt-get install分别安装。安装步骤:

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

如果不想在系统安装的话,可以将cmake指令用cmake .. -CMAKE_INSTALL_PREFIX:PATH=$HOME/installdir代替。

4 vikit - Some useful tools that we need

vikit库包含相机模型、一些svo用到的数学和插值函数,vikit是一个catkin工程,所以需要下载到catkin工作空间的目录

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

5 ROS 依赖项

有时候cmake-modules会丢失 (required for including Eigen in ROS Indigo),不懂这个干嘛的,按照步骤装。

sudo apt-get install ros-indigo-cmake-modules

indigo换成自己的ros版本。

6 SVO安装

现在可以编译build svo了,把它clone到catkin工作空间。

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

以下三句很重要,我没有运行这几句,roslaunch一直出错

source devel/setup.bash
echo “source ~/catkin_ws/devel/setup.bash” >> ~/.bashrc
source ~/.bashrc

如果安装了g2o的话,把svo/CmakeLists.txt里的HAVE_G20设置为TRUE。
d如果把g2o安装在$HOME/installdir的话,需要设置环境变量G2O_ROOT告诉find_package.

export G2O_ROOT=$HOME/installdir

d最后编译build svo

catkin_make

7 下载数据run

下载数据,数据地址点这里,比较大,有1.7g左右,下载完成后放在catkin_ws/src目录下(究竟放哪里比较好不清楚,这里反正是可以运行的)。

d打开四个terminal运行

1) terminal for roscore

roscore

2) terminal for roslaunch

roslaunch svo_ros test_rig3.launch

3) terminal for rviz (robot visualizer)

rosrun rviz rviz -d /home/your_pc_name/catkin_ws/rpg_svo/svo_ros/rviz_config.rviz

4) terminal for rosbag

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

现在应该就可以看到运行的效果了,包括跟踪的特征点和Rviz里面移动的相机,如果想看到跟踪到的特征数、fps和跟踪质量tracking quality的话,运行GUI。

若是需要用自己的摄像头运行程序,需要对相机进行标定,并修改/catkin_ws/src/rpg_svo/svo_ros/param目录下camera_atan.yaml, camera_pinhole.yaml的相机参数。或者将camera文件起一个不一样的名字,然后修改launchFile,目录为svo_ros/launch/live.launch,更改为新的标定yaml文件。最后运行roslaunch svo_ros live.launch。这个还没试,以后试过了更新。

快捷键

s :start/restart
q :quit
r :reset

ROS安装参考

  1. http://www.jianshu.com/p/04be841e2293
  2. http://blog.csdn.net/u013453604/article/details/49386953
0 0