运行SVO
Posted Jessica&jie
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运行SVO相关的知识,希望对你有一定的参考价值。
安装与运行的所有文档:https://github.com/uzh-rpg/rpg_svo/wiki
有两种安装方式:
[1]没ros的似乎比较麻烦,首先依照ros的安装方法:
cd SVO
1.安装Sophus
由于我已经安装过了,所以在这里不详细说明,下载下来简单编译即可。
安装完后,在~/.cmake/packages/中可以看到Sophus(如果看不见在Home按ctrl+h即可,再按就隐藏)
安装完后,在~/.cmake/packages/中可以看到Sophus(如果看不见在Home按ctrl+h即可,再按就隐藏)
2.安装fast角点检测部分 https://github.com/uzh-rpg/fast.git
3.安装g2o
[以上都是通过cmake编译安装的。。。]
[以下是通过ROS编译安装的。。。]
4.安装vikit
mkdir -p rosbuild_ws/src cd rosbuild_ws/src git clone https://github.com/uzh-rpg/rpg_vikit.git
5.安装ros cmake modules
sudo apt-get install ros-indigo-cmake-modules
6.安装SVO
cd rosbuild_ws/src git clone https://github.com/uzh-rpg/rpg_svo.git
我已经安装了g2o,因此把svo/CMakeLists.txt中的HAVE_G2O设为TRUE
7.catkin_make
又出现了cv-bridge的错误,所以修改http://www.cnblogs.com/Jessica-jie/p/6959309.html
修改完继续 catkin_make
8.运行
用ros跑下载好的svo数据
(1).从这个网址https://github.com/uzh-rpg/rpg_svo/wiki/Run-SVO-with-ROS 用一个DATAset来运行SVO---airground_rig_s3_2013-03-18_21-38-48.bag
(2).在一个终端,首先运行roscore
(3).在另一个终端,然后运行roslaunch svo_ros test_rig3.launch
errror:
你是不也遇到这个问题了?
忘记关键步骤了
$ cd <path_to_catkin_ws>
$ source devel/setup.bash
//显然这里忽略了对程序进行注册:也就是执行名为 setup.bash 的脚本文件,它是 catkin_make 在你工作区的 devel 子目录下生成的。
再执行上面的命令。
(4).再打开一个终端,打开rviz:rosrun rviz rviz -d /home/wj/Downloads/SVO/rosbuild_ws/src/rpg_svo/svo_ros_ros/rviz_config.rviz //rviz显示模型
(5).载入数据:rosbag play /home/wj/Downloads/SVO/airground_rig_s3_2013-03-18_21-38-48.bag //前面下载的数据
有了数据之后,程序就会运行,也可以看到可视化的轨迹了。
有了数据之后,程序就会运行,也可以看到可视化的轨迹了。
用 ros跑自己的摄像头采集的数据
[2]没ros的安装方法:
Boost - c++ Librairies (thread and system are needed)
sudo apt-get install libboost-all-dev
Eigen 3 - Linear algebra
apt-get install libeigen3-dev
OpenCV - Computer vision library for loading and displaying images(我之前就安装过了)
Follow the instructions at www.opencv.org
1.安装Sophus
2.安装fast角点检测部分
3.安装g2o
[已经通过cmake编译安装过的,所以不用重复安装。。。只需要将下面的通过cmake安装,而不是ROS]
4.安装vikit(注意:
rpg_vikit/vikit_common/CMakeLists.txt
set the flag USE_ROS
to FALSE.)cd home/wj/Downloads/svo/svo git clone https://github.com/uzh-rpg/rpg_vikit.gitcd rpg_vikit/vikit_common mkdir build cd build cmake .. make //在/rpg_vikit/vikit_common/bin生成了可执行文件
//rpg_vikit
有3个文件夹:vikit_common
;vikit_py
;vikit_ros。
最小二乘求解器中的固定设置先验
vikit_common
:
//生成了3个test可执行文件:test_vk_common_camera;
vikit_common
/bin
test_vk_common_patch_score
;test_vk_common_triangulation.
5.安装SVO(注意:
svo/CMakeLists.txt
set the flag USE_ROS
to FALSE.)cd home/wj/Downloads/svo/svo
mkdir build
cd build
cmake ..
make //在/svo/bin生成了可执行文件
Documentation---
The API is documented here: http://uzh-rpg.github.io/rpg_svo/doc
---
Instructions---
See the Wiki for more instructions. https://github.com/uzh-rpg/rpg_svo/wiki
---
Contributing---
I try to follow the ROS C++ style guide http://wiki.ros.org/CppStyleGuide
---
Create a folder where you will store all datasets, e.g.:
cd ~
mkdir Datasets
In your .bashrc
script, create a new environment variable pointing to the dataset folder:
export SVO_DATASET_DIR=${HOME}/Datasets
Source your new .bashrc
script, go to the new dataset folder and download the test data:
source ~/.bashrc cd ${SVO_DATASET_DIR} wget http://rpg.ifi.uzh.ch/datasets/sin2_tex2_h1_v8_d.tar.gz -O - | tar -xz
Run SVO on the test data:
cd svo/bin
./test_pipeline
备注:如果单个运行生成的可执行文件,出来的结果是大体是一样的。
以上是关于运行SVO的主要内容,如果未能解决你的问题,请参考以下文章
学习笔记之——Semi-direct Visual Odometry (SVO)
SVO实时全局光照:Sparse Voxel Octree based Global Illumination (SVO GI)