Advertisement

树莓派3B+编译ORB-SLAM2

阅读量:

首先介绍下环境配置:

树莓派3B+,Ubuntu mate 16.04,ROS kinetic,opencv2.4.13

编译方式:
1.安装各种需要的软件包和依赖库

复制代码
    $ sudo apt-get install libglew-dev  
    $ sudo apt-get install cmake
    $ sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev 
    $ sudo apt-get install libpython2.7-dev
    $ sudo apt-get install libeigen3-dev

2.安装Pangolin
下载,编译安装,忘记记录了,哈哈。
3.安装下面的依赖

复制代码
    $ sudo apt-get install libblas-dev 
    $ sudo apt-get install liblapack-dev

4.编译ORB-SLAM2
进入到ROS的工作空间,树莓派的话先打开build.sh这个文件,将里面的make -j全部改成make,否则容易死机,亲测,泪奔

复制代码
    $ cd ~/catkin_ws/src
    $ cd ORB_SLAM2-master               //进入ORB-SLAM2文件夹里
    $ chmod +x build.sh  			//更改文件属性,当然,用sudo的话这步就可以省了
    $ ./build.sh

编译ROS下的ORB-SLAM2

复制代码
    $ chmod +x build.sh
    $ ./build_ros.sh				//同上,电脑性能不好的记得改make -j为make

如果出现下面的错误:(我出现了这种错误)

复制代码
    undefined reference to symbol '_ZN5boost6system15system_categoryEv'

则打开ORB-SLAM2文件夹里面的Example文件夹,打开ROS文件夹

复制代码
    $ cd ~/catkin_ws/src/ORB_SLAM2-master/Examples/ROS

修改里面的CMakeLists.txt文件
原因的话,打开build_ros.sh,看里面的程序就知道了
找到

复制代码
    set(LIBS
    ${OpenCV_LIBS}
    ${EIGEN3_LIBS}
    ${Pangolin_LIBRARIES}
    ${PROJECT_SOURCE_DIR}/../../../Thirdparty/DBoW2/lib/libDBoW2.so
    ${PROJECT_SOURCE_DIR}/../../../Thirdparty/g2o/lib/libg2o.so
    ${PROJECT_SOURCE_DIR}/../../../lib/libORB_SLAM2.so
    -lboost_system 
    )

加上-lboost_system 即可,亲测可用。
ps.有些参考找不到原博了,如有冒犯,请联系我做相应修改和标注。

全部评论 (0)

还没有任何评论哟~