MYNT-ORB-SLAM2 项目地址https://github.com/slightech/MYNT-EYE-ORB-SLAM2-Sample
1. 准备运行环境和依赖
1.1 系统环境
Ubuntu 16.04 LTS,最好是干净的系统。
可以到阿里巴巴开源镜像站或其他下载站下载系统镜像。
https://mirrors.aliyun.com/ubuntu-releases/16.04/ubuntu-16.04.6-desktop-amd64.iso
安装git、cmake、vim、wget
1
2
3
4
5
sudo apt-get update
sudo apt-get install git
sudo apt-get install cmake
sudo apt-get install vim
sudo apt-get install wget
1.2 ROS
安装说明:http://wiki.ros.org/cn/kinetic/Installation/Ubuntu
1.2.1 配置 Ubuntu 软件仓库
配置你的 Ubuntu 软件仓库(repositories) 以允许 “restricted”、“universe” 和 “multiverse"这三种安装模式。 你可以按照ubuntu中的配置指南 来完成配置。
1.2.2 添加 sources.list
官方源速度有些慢,添加中科大源
1
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
或清华源
1
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
1.2.3 添加key
1
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
添加公钥 (官方文档没有这一步,但是不添加公钥会报不信任错误 )
1
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654
1.2.4 安装
安装桌面完整版
1
sudo apt-get install ros-kinetic-desktop-full
1.2.5 初始化rosdep
1
2
sudo rosdep init
rosdep update
1.2.6 环境配置
1
2
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
1.2.7 构建工厂依赖
1
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
1.2.8 配置ROS环境,创建工作空间
参考:http://wiki.ros.org/cn/ROS/Tutorials/InstallingandConfiguringROSEnvironment
1
2
3
4
5
6
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws
catkin_make
source devel/setup.bash
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
1.3 小觅相机SDK
本部分参考官方文档SDK安装部分,安装到目录~/MYNT/SDK下(路径根据需要可自行修改)
https://mynt-eye-s-sdk.readthedocs.io/zh_CN/latest/src/sdk/install_ubuntu_src.html
下载并编译安装SDK
1
2
3
4
5
6
7
8
9
10
11
12
mkdir ~/MYNT
cd ~/MYNT
git clone https://github.com/slightech/MYNT-EYE-S-SDK.git SDK
cd SDK
make init
make
make install
make samples
make tools
make ros
# make all
添加路径
1
2
echo "source ~/MYNT/SDK/wrappers/ros/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
测试相机
不使用ROS 1
2
cd ~/MYNT/SDK #cd <sdk>
./samples/_output/bin/api/camera_a
使用ROS 1
2
3
4
cd <sdk>
source wrappers/ros/devel/setup.bash
roslaunch mynt_eye_ros_wrapper mynteye.launch #开摄像头,但默认不显示图像
roslaunch mynt_eye_ros_wrapper display.launch #也可以运行这个节点,会打开 RViz 显示图像
获取参数 1
2
3
cd <sdk>
./samples/_output/bin/tutorials/get_img_params #获取相机标定参数
./samples/_output/bin/tutorials/get_imu_params #获取IMU标定参数
1.4 依赖项
1.4.1 安装Pangolin
准备依赖
1
sudo apt-get install libglew-dev libpython2.7-dev libboost-dev libboost-thread-dev libboost-filesystem-dev -y
下载Pangolin并配置环境
1
2
3
4
5
6
7
git clone https://github.com/stevenlovegrove/Pangolin Pangolin
cd Pangolin
mkdir build
cd build
cmake ..
make -j2
sudo make install
1.4.2 安装Eigen3
最低要求为3.1.0,这里安装Eigen 3.2.10。
可以从官网 下载源码,也可以直接执行下面的命令下载。
1
2
3
4
cd ~/catkin_ws/src
wget https://bitbucket.org/eigen/eigen/get/3.2.10.tar.bz2
tar -xjf 3.2.10.tar.bz2
mv eigen-eigen-b9cd8366d4e8/ eigen-3.2.10
编译安装
1
2
3
4
5
6
cd eigen-3.2.10
mkdir build
cd build
cmake ..
make
sudo make install
1.4.3 安装OpenCV 3.2.0
参考:https://docs.opencv.org/master/d7/d9f/tutorial_linux_install.html
安装依赖(前两个必装,optional可选) 1
2
3
[ compiler] sudo apt-get install build-essential
[ required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
[ optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
下载(也可以从官网下载安装) 1
2
3
4
5
6
cd ~
wget https://github.com/opencv/opencv/archive/3.2.0.zip
unzip 3.2.0.zip
cd opencv-3.2.0
mkdir build
cd build
配置并编译安装 1
2
3
cmake -D CMAKE_BUILD_TYPE = Release -D CMAKE_INSTALL_PREFIX = /usr/local ..
make
sudo make install
在/etc/ld.so.conf.d/opencv.conf中添加路径 1
sudo vim /etc/ld.so.conf.d/opencv.conf
在其中添加
使之生效
在bash.bashrc中添加路径 1
sudo vim /etc/bash.bashrc
在其中添加
1
PKG_CONFIG_PATH = $PKG_CONFIG_PATH :/usr/local/lib/pkgconfig export PKG_CONFIG_PATH
使之生效
1
source /etc/bash.bashrc
测试opencv 1
2
3
4
5
6
cd ~/opencv-3.2.0/samples/cpp/example_cmake
mkdir muild
cd build
cmake ..
make
./opencv_example
此时应当打开摄像头,并在左上角显示 Hello OpenCV
1.4.4 安装glog
1
2
3
4
5
6
7
git clone https://github.com/google/glog
sudo apt-get install autoconf automake libtool
cd glog
./autogen.sh
./configure
make -j 24
sudo make install
不安装glog编译MYNT-ORBSLAM会报错。
1
2
3
4
5
6
7
8
9
No preference for use of exported glog CMake configuration set , and no hints for include / library directories provided . Defaulting to preferring an installed / exported glog CMake configuration if available .
-- Failed to find installed glog CMake configuration , searching for glog build directories exported with CMake .
-- Failed to find an installed / exported CMake configuration for glog , will perform search for installed glog components .
CMake Error at cmake_modules / FindGlog . cmake : 103 ( message ):
Failed to find glog - Could not find glog include directory , set
GLOG_INCLUDE_DIR to directory containing glog / logging . h
Call Stack ( most recent call first ):
cmake_modules / FindGlog . cmake : 268 ( glog_report_not_found )
CMakeLists . txt : 32 ( find_package )
2. 编译安装
下载源码
1
2
3
cd ~/catkin_ws/src
git clone https://github.com/slightech/MYNT-EYE-ORB-SLAM2-Sample.git MYNT-ORB
#下载到~/catkin_ws/src/MYNT-ORB文件夹
配置路径
1
2
3
4
# 打开~/.bashrc
sudo vim ~/.bashrc
# 在最后添加:
export ROS_PACKAGE_PATH = ${ ROS_PACKAGE_PATH } :~/catkin_ws/src/MYNT-ORB/Examples/ROS
如果添加之后编译ros的时候还是报错,如果有多个 ROS_PACKAGE_PATH
尝试更改一下位置,我将其从最后一个提到前面就不报错了(神奇=_=)。
编译安装
1
2
3
4
5
cd ~/catkin_ws/src/MYNT-ORB
chmod +x build.sh
./build.sh
chmod +x build_ros.sh
./build_ros.sh
3.运行
启动小觅相机节点
1
2
3
4
cd <path of mynteye-s-sdk> #进入小觅SDK目录
source ./wrappers/ros/devel/setup.bash
# 如果安装SDK的时候配置过路径,直接运行下面一行命令即可。
roslaunch mynt_eye_ros_wrapper mynteye.launch
打开新的终端,运行ORB-SLAM
1
2
cd ~/catkin_ws/src/MYNT-ORB
rosrun ORB_SLAM2 mynteye_s_stereo ./Vocabulary/ORBvoc.txt ./config/mynteye_s_stereo.yaml true /mynteye/left/image_raw /mynteye/right/image_raw
或
1
2
cd ~/catkin_ws/src/MYNT-ORB
rosrun ORB_SLAM2 mynteye_s_stereo ./Vocabulary/ORBvoc.txt ./config/mynteye_s_stereo.yaml false /mynteye/left_rect/image_rect /mynteye/right_rect/image_rect
参考资料:
https://blog.csdn.net/weixin_42681311/article/details/86751720