ubuntu16.04 ROS环境下配置和运行SVO

1.创建ros工作空间

$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace
$ cd ~/catkin_ws/
$ catkin_make
$ source devel/setup.bash

添加程序包到全局路径

$ echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
$ source ~/.bashrc

PS:可以根据自己的情况选择ros工作空间的位置

2.安装第三方包
(1)安装Sophus

#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

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

(3)安装g2o
运行SVO可以不装g2o

$ 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

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

(5)安装ROS依赖

$ sudo apt-get install ros-kinetic-cmake-modules 
#kinetic是我ros的版本,可以换成自己的

(6)下载svo

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

(7)编译svo

$ cd  ~/catkin_ws/  # 进入ros工作空间
$ catkin_make       #执行后会在catkin_ws /build和/devel 生成相应文件

3.用ROS跑SVO程序
(1)运行节点管理器

$ roscore

(2)另外新建一个命令窗口,通过加载准备好的 .launch文件启动SVO
要切换到svo_ros目录下

$ cd ~/catkin_ws
$ source devel/setup.bash
$ roscd /svo_ros
$ roslaunch svo_ros test_rig3.launch

(3)新建一个窗口启动rviz

$ rosrun rviz rviz -d <PATH TO rpg_svo>/svo_ros/rviz_config.rviz #改成相应自己的路径

直接运行rosrun会出现Rviz: fixed frame [world] does not exist,出现错误的原因是没有设定世界坐标,因此将命令修改为:

rosrun rviz rviz -d <PATH TO rpg_svo>/svo_ros/rviz_config.rviz tf static_transform_publisher 0 0 0 0 0 0 1 map my_frame 10

在原来命令的基础上加上tf static_transform_publisher 0 0 0 0 0 0 1 map my_frame 10。

(4)下载数据集:rpg.ifi.uzh.ch/datasets/airground_rig_s3_2013-03-18_21-38-48.bag
这个数据集有点大啊!!!

$ rosbag play airground_rig_s3_2013-03-18_21-38-48.bag

参考文献
1.ROS下安装和运行SVO详细过程
2.ROS理解roslaunch命令
3.ROS的安装、卸载以及Turtlebot包的安装

你可能感兴趣的:(渣渣的SVO养成记)