树莓派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.有些参考找不到原博了,如有冒犯,请联系我做相应修改和标注。

猜你喜欢

转载自blog.csdn.net/qq_36804414/article/details/106136397
今日推荐