ov2slam安装运行
准备
项目地址:https://github.com/ov2slam/ov2slam
Ubuntu:18.04.06
ROS:Melodic
OpenCV:4.2.0
安装
1.下载ov2slam源码
cd ~/catkin_ws/src/
git clone https://github.com/ov2slam/ov2slam.git
2.编译第三方库(作者已给出)
cd ~/catkin_ws/src/ov2slam
chmod +x build_thirdparty.sh
./build_thirdparty.sh
对于可选的 OpenGV我也一起编译了:
cd your_path/
git clone https://github.com/laurentkneip/opengv
cd opengv
mkdir build
cd build/
cmake ..
sudo make -j4 install
安装OpenCV with contrib
1.下载两个包
https://github.com/opencv/opencv/tree/4.2.0
https://github.com/opencv/opencv_contrib/tree/4.2.0
2.安装依赖
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
sudo apt-get -y install libgstreamer-plugins-base1.0-dev
sudo apt-get -y install libgstreamer1.0-dev
sudo apt-get install libvtk6-dev
2.将opencv_contrib移到opencv文件夹,并在opencv文件夹创建build:
mkdir build
mkdir insall
3.进入build文件夹进行编译:
cmake -D CMAKE_INSTALL_PREFIX="../install/" -D CMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH="../opencv_contrib-4.2.0/modules" ..
4.安装
make -j4 install
5.注意
该方法将OpenCV安装到指定目录,需要修改ov2slam的CMakelists文件,否则其会调用ROS自带的OpenCV。我的OpenCV在library目录下存放,则更改如下:
可以将OpenCV的信息打印出来查看
接下来,将动态库文件加入配置:执行vi /etc/ld.so.conf.d/libc.conf,在下方增加自家安装的OpenCV的lib路径
保存后,在命令行终端执行:
/sbin/ldconfig -v
ldconfig
- cv_bridge也许会报错
ROS自带的opencv版本是3.2.0的,ov2slam要求Opencv>=3.3.0,我装的是4.2.0
(ROS-Noetic使用的是OpenCV4.2.0,所以不会有这个问题)
首先打开终端,进入cv_bridge配置文件所在目录,用gedit打开配置文件
cd /opt/ros/melodic/share/cv_bridge/cmake
sudo gedit cv_bridgeConfig.cmake
修改include路径为自己安装的OpenCV路径:
修改lib路径,这里只需要三个.so文件:
安装
cd ~/catkin_ws/
catkin_make --pkg ov2slam
运行
终端1:
roscore
终端2:
rviz -d ov2slam_visualization.rviz
终端3:
source ~/catkin_ws/devel/setup.bash
rosrun ov2slam ov2slam_node ~/catkin_ws/src/ov2slam-main/parameters_files/accurate/euroc/euroc_stereo.yaml
终端4:
rosbag play MH_04_difficult.bag