一、安装相关库
1、安装ros
(1)首先安好 ros melodic。
参考官网。
参考博客1
参考博客2
(2)接着配置ros(运行VINS需要,记得换源,会快一些)
sudo apt-get install ros-melodic-cv-bridge ros-melodic-tf ros-melodic-message-filters ros-melodic-image-transport
解释:
cv-bridge在ROS图像消息和OpenCV图像之间转换。
message-filters一组消息过滤器,根据过滤器需要满足的条件,接收消息并在以后输出这些消息。
image-transport应始终使用图像传输来订阅和发布图像。它为以低带宽压缩格式传输图像提供支持
2、安装其他库
(1)eigen3.3.4版本(pkg-config --modversion eigen3命令看)
sudo apt-get install libeigen3-dev
(2) 安装ceres1.140版本,github左上脚,Tags里找到相应版本下载,先安装依赖
sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3.1.2 libgflags-dev libgoogle-glog-dev libgtest-dev
无法定位问题
下载ceres1.14x 进入文件,编译ceres
mkdir build
cd build
cmake ..
make
3、安装opencv库
(1)若已经安装旧版本的opencv库,可卸载opencv库,在安装指定的版本(也可不卸载直接看(2),记得在find pacage后指定版本号。
From repository,卸载从软件仓库中安装的opencv2
sudo apt-get purge libopencv*
From source,卸载使用cmake自行编译安装的opencv2
首先进入原先编译opencv2的build目录,在该目录下打开终端;再执行以下代码。(注意如果build已经删除了,可以重新编译一遍该版本的opencv,然后在最后一步执行sudo make uninstall)
sudo make uninstall
cd ..
sudo rm -r build
sudo rm -r /usr/local/include/opencv2 /usr/local/include/opencv /usr/include/opencv /usr/include/opencv2 /usr/local/share/opencv /usr/local/share/OpenCV /usr/share/opencv /usr/share/OpenCV /usr/local/bin/opencv* /usr/local/lib/libopencv*
这一步可能有error,忽略即可。最后执行如下操作:
sudo apt-get --purge remove opencv-doc opencv-data python-opencv
然后就重新安装吧,依赖库等也要重新安装
(2)安装OpenCV3.3.1版本以及opencv_contribe组件(我还没安)
opencv下载
opencv_contrib下载 在Tags里找到相应版本下载,注意版本要与opencv一致
参考链接
4、运行VINS
(1)下载EuRoC数据集(可选择Machine Hall 01的bag包),创建ros空间:
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
(2)编译运行
git clone https://github.com/HKUST-Aerial-Robotics/VINS-Mono.git#在src下执行
cd ~/catkin_ws
catkin_make #时间可能有点久
source ~/catkin_ws/devel/setup.bash #每个终端运行前都加这一句
roscore
技巧若通过以下命令配置,可使环境变量在新的终端中生效,则只需一次source即可,新打开终端(接下来)就不用了。
sudo gedit ~/.bashrc #打开/.bashrc
source ~/catkin_ws/devel/setup.bash#复制到最后一行上
打开三个终端分别运行以下命令:
roslaunch vins_estimator euroc.launch
roslaunch vins_estimator vins_rviz.launch
rosbag play YOUR_PATH_TO_DATASET/MH_01_easy.bag
点赞关注,好运多多~