美文网首页
ORB_SLAM2的安装及基于ROS的运行

ORB_SLAM2的安装及基于ROS的运行

作者: CptM | 来源:发表于2017-06-28 17:30 被阅读0次

    安装ORB_SLAM2

    1.安装C++11编译器:$sudo apt-get install gcc g++

    2.安装Pangolin:

    $ git clone https://github.com/stevenlovegrove/Pangolin.git

    $ cd Pangolin

    $ mkdir build

    $ cd build

    $ cmake -DCPP11_NO_BOOST=1 ..

    $ make

    $ sudo make install

    3.安装OpenCV:我的opencv是2.4.9,只要是2.4.3以上就行,网上有很多安装方法,这里就不说了。

    4.安装Eigen3,BLAS 和LAPACK:

    $ sudo apt-get install libeigen3-dev

    $ sudo apt-get install libblas-dev

    $ sudo apt-get install liblapack-dev

    5.DBoW2 和 g2o都在ORB_SLAM2的Thirdparty文件夹中,所以直接安装ORB_SLAM2就行了,安装方法:

    $ git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2

    $ cd ORB_SLAM2

    $ chmod +x build.sh

    $ ./build.sh

    以上,ORB_SLAM2就安装完了,很简单。

    运行ORB_SLAM2

    拿Monoslam运行TUM数据集为例:

    1.到 http://vision.in.tum.de/data/datasets/rgbd-dataset/download下载任意一个数据集并解压

    2.运行:$ ./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUMX.yaml PATH_TO_SEQUENCE_FOLDER

    注意把命令行中的Examples/Monocular/TUMX.yaml 变成你下载的数据集相对应的文件,如果你下载的是freiburg1,那么就使用TUM1.yaml文件。这些yaml文件中是一些相机的参数等信息。PATH_TO_SEQUENCE_FOLDER是你下载下来的数据的路径

    下面RGBD,Stereo等也都与此运行方法相同,github上有详细说明 https://github.com/raulmur/ORB_SLAM2 

    基于ROS的实时ORB_SLAM2

    1.安装好ROS操作系统,方法不在此详述

    2.启动ROS:$ roscore

    3.将ORB_SLAM2的ROS包编译:

    $ export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:PATH/ORB_SLAM2/Examples/ROS

    注意:PATH是你自己的安装路径

    $ chmod +x build_ros.sh

    $ ./build_ros.sh

    4.将Kinect连接到电脑上,输入指令:$ roslaunch freenect_launch freenect.launch

    此时Kinect开始发射图像的topic了。

    5.源代码上使用的topic是/camera/image_raw,然而我$ rostopic list 之后根本就没有这个topic,所以我直接去ORB_SLAM2/Examples/ROS/ORB_SLAM2/src/ros_mono.cc中将topic改为/camera/rgb/image_color就可以了

    6.运行:$ rosrun ORB_SLAM2 Mono PATH_TO_VOCABULARY PATH_TO_SETTINGS_FILE

    其中PATH_TO_VOCABULARY是词典的路径,一般为 Vocabulary/ORBvoc.txt

    PATH_TO_SETTINGS_FILE是记录摄像头参数的文件,比如之前用到的TUM1.yaml。我用的是Kinect,参数都差不多所以我就使用的TUM1.yaml。

    我使用的命令是:$ rosrun ORB_SLAM2 Mono Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml

    这样就可以实时单目slam了,愉快的ORB SLAM把。

    好了,csdn实在是太恶心了,登录需要手机验证,点击发送验证又说IP达到验证上限,然而手机并没有收到任何短信,太恶心了!

    于是,转战简书,用着挺简单的,作为新手觉得比csdn用着舒服。

    相关文章

      网友评论

          本文标题:ORB_SLAM2的安装及基于ROS的运行

          本文链接:https://www.haomeiwen.com/subject/tiwucxtx.html