SVO在ROS下的配置与运行

最近在做实验的时候,需要配置SVO,下面讲讲其中的过程以及遇到的问题:
首先说明配置环境:Ubuntu 14.04 + ROS indigo,ROS的安装我参考了ROS的官网上给出的教程:http://wiki.ros.org/indigo/Installation/Ubuntu 安装一气呵成,中途没有遇到问题

1. 通过github SVO 上的[wiki](https://github.com/uzh-rpg/rpg_svo/wiki/Installation:-ROS)来对ROS进行配置,按照作者给出的提示一步一步进行(其中我没有用到G2O)没有遇到什么问题。
2. 编译好之后,继续通过SVO 的 [wiki](https://github.com/uzh-rpg/rpg_svo/wiki/Run-SVO-with-ROS) 的指示进行配置,在运行过程中,作者忽略了一些细节:在运行launch file的时候,作者给出如下的命令
```
#Open a new console and start SVO with the prepared launchfile:
roslaunch svo_ros test_rig3.launch
```
但是如果直接按照这个命令来执行,会发现找不到svo_ros这个包。显然这里忽略了对程序进行注册:也就是执行名为 setup.bash 的脚本文件,它是 catkin_make 在你工作区的 devel 子目录下生成的。

这个自动生成的脚本文件设置了若干环境变量,从而使 ROS 能够找到你创建的功能包和新生成的可执行文件。(也就是将程序注册)

注意:除非目录结构发生变化,否则你只需要在每个终端执行此命令一次,即使你修改了代码并且用 catkin_make 执行了重编译。
```
cd <path_to_catkin_ws>
source devel/setup.bash
```
随后,在launch file的相对路径下执行```roslaunch test_rig3.launch```运行这个节点,然后通过教程中```rosrun rviz```的那个命令```rosrun rviz rviz -d /src/rpg_svo/svo_ros/rviz_config.rviz```来打开可视化界面,最后通过```rosbag play airground_rig_s3_2013-03-18_21-38-48.bag ```来载入数据,有了数据之后,程序就会运行,也可以看到可视化的轨迹了。

我在实验过程中发现,打开了rviz界面后哪怕程序已经在运行了,rviz界面也可以加载到图像数据,依旧是没有轨迹出来。

给出了一个报错:

Global Status: Error

Fixed Frame [map] does not exist.

解决方案是手动加载:file->Open Config->选择相应路径下的rviz_config.rviz文件打开,就可以看到轨迹了。

原文地址:https://www.cnblogs.com/MT-ComputerVision/p/6807969.html