凭良心说,真不适合参考,就是备份一下,很多细节没有详述,如果照着配置的话八成会报很多错误。
最早配置,最晚整理。
一开始没用ROS,对linux什么都不懂的情况下不知道如何将ORB放在ROS下再重新编译,反正就是一团糟,索性直接删掉,重新安装。
下面就是重新配置的过程整理。
还要安装opencv的,没整理,安的太早了。
一、安装ROS kinect
安装过程可以参见[学习笔记-SLAM篇]Ubuntu16.04下配置VINS-Mono,一毛一样的哈。
二、安装依赖项
#开个终端,运行
sudo apt-get install libglew-dev libboost-dev libboost-thread-dev libboost-filesystem-dev
三、安装Pangolin
需要一些依赖项,提前安装。
#开个终端,运行
git clone https://github.com/stevenlovegrove/Pangolin
#在之前安装ROS后生成的src文件夹下开终端,运行
cd Pangolin
mkdir build
cd build
cmake ..
make
sudo make install
四、安装eigen
#开个终端,运行
sudo apt-get install libeigen3-dev
五、安装ORB-SLAM2
#安装ORB,在ROS的src文件夹下,开终端,运行
git clone https://github.com/slightech/MYNT-EYE-ORB-SLAM2-Samples.git MYNTEYE_ORB_SLAM2
cd MYNTEYE_ORB_SLAM2
#若电脑性能好,直接运行下面指令,否则可以打开build.sh文件,把里面的make -j4改为make,这样不会卡
chmod +x build.sh
./build.sh
若网络不好,可能会出现一些东西下不来的情况,可以对应单独下载。
这里给一个出现glog
的问题的解决方法,同样在ROS的src中运行。
git clone https://github.com/google/glog
sudo apt-get install autoconf automake libtool
cd glog
./autogen.sh
./configure
make -j
sudo make install
所有东西下载好后,进入
MYNTEYE_ORB_SLAM2
文件夹,继续执行上面chmod
的指令。
#编译ros文件的时候,先把路径添加一下
#随便开个终端,运行
gedit ~/.bashrc
#在文件的最下面一行添加下面的指令,记得要把同样格式的其他ros_path注释掉,不然运行可能会出错,给个参考例子
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:~/ROS_ws/src/MYNTEYE_ORB_SLAM2/Examples/ROS
#保存后关闭文件,在终端运行
source ~/.bashrc
#编译build_ros.sh文件前,同样可以把make -j改为make
chmod +x build_ros.sh
./build_ros.sh
六、测试
6.1 标准数据集测试
#打开MYNTEYE_ORB_SLAM2文件夹,开终端,运行下面指令,根据自己的路径修改下
./Examples/Monocular/mono_euroc Vocabulary/ORBvoc.txt Examples/Monocular/EuRoC.yaml ~/EuRoC/mav0/cam0/data Examples/Monocular/EuRoC_TimeStamps/MH01.txt
6.2 bag包测试
参考[学习笔记-SLAM篇]ORB-SLAM2运行自己的bag。
诶嘿,世界线这不就收束了。
6.3 ros实时测试
这里是采用mynteye相机实时测试的,所以要先下载和相机型号对应的SDK文件,这里也就不多说了,官网上都有的。
官网链接:https://www.mynteye.com/。
再给个直通车,S系列的SDK在这里https://github.com/slightech/MYNT-EYE-S-SDK。
#开一个终端
roscore
#再开一个终端,运行mynteye节点
cd <path of mynteye-s-sdk,就是sdk安装位置>
make ros
source ./wrappers/ros/devel/setup.bash
roslaunch mynt_eye_ros_wrapper mynteye.launch
#打开另一个终端,在前面安装好的MYNTEYE_ORB_SLAM2文件夹内打开,运行orbslam2
rosrun ORB_SLAM2 mynteye_s_stereo ./Vocabulary/ORBvoc.txt ./config/mynteye_s_stereo.yaml false /mynteye/left/image_raw /mynteye/right/image_raw
#实时运行起来后,想要结束,直接ctrl+c就可以,在终端也会显示存储轨迹
PS
其实算法配置系列还有一个VI-ORB的,啊这,再说,再说哈。