[VIO|实践]UBUNTU16.04跑MSCKF-双目代码

编译环境

编译

  1. 新建文件夹msckf-catkin_ws,里面再建一个叫src的文件夹,然后把解压好的代码集msckf放进去。
  2. 命令行进入到/msckf-catkin_ws这一层,进行catkin_make
    具体命令如下:
sudo apt-get install libsuitesparse-dev
cd ~/msckf-catkin_ws/src
git clone https://github.com/KumarRobotics/msckf_vio.git
cd ..
catkin_make --pkg msckf_vio --cmake-args -DCMAKE_BUILD_TYPE=Release

居然遇到了跑okvis_ros一样的错误,,

Could not find a package configuration file provided by “cv_bridge”
with any of the following names:
cv_bridgeConfig.cmake
cv_bridge-config.cmake

不再赘述了,直接看我的另一篇跑OKVIS的博客吧------UBUNTU16.04 跑基于ROS的OKVIS代码

然后catkin_make就成功了。注意: catkin_make时一定要加”-DCMAKE_BUILD_TYPE=Release”, 不然后面运行会得不到想要的效果 轨迹会迅速发散。

运行

下载EuROC数据集(rosbag版的),执行:
开四个终端:
1.

roscore
  1. msckf-catkin_ws下
#激活环境变量很关键
 source devel/setup.bash
 roslaunch msckf_vio msckf_vio_euroc.launch
  1. 保证rviz_euroc_config.rviz在绝对路径下
rosrun rviz rviz -d /home/ouc/msckf_catkin_ws/src/msckf_vio/rviz/rviz_euroc_config.rviz
rosbag play /home/ouc/dataset/MH_05_difficult.bag(改成你自己的rosbag文件)

注意,这里的rviz只有把相对路径改成绝对路径才可以显示轨迹。

实验结果

[VIO|实践]UBUNTU16.04跑MSCKF-双目代码_第1张图片
发现没有输出轨迹,解决办法:
可以参考,这篇博客_https://blog.csdn.net/slzlincent/article/details/104364909#commentBox,或者这个https://blog.csdn.net/orange_littlegirl/article/details/99222743.
注意:新建的drawpath包要放在~/msckf_catkin_ws/src/msckf_vio/src中。

你可能感兴趣的:(VIO实践)