TX2---ORB_SLAM2

Jetson TX2 运行ORB-SLAM2 ros Kinect V1

视觉SLAM实战(二):ORB-SLAM2 with Kinect2

 

 

zed:

使用zed摄像头+ros kinetic跑ORB_SLAM2   这个报错compile error:usleep was not declared in this scope

解决方案:在所有遇到错误的脚本中添加头文件: #include

问题解决,编译成功!

 

ZED相机+ubuntu16.04运行ORBSLAM2双目

 

 

 

进入ORB-SLAM2目录执行:

chmod +x build_ros.sh
./build_ros.sh

出了一点问题 

报错:
/usr/bin/ld: CMakeFiles/RGBD.dir/src/ros_rgbd.cc.o: undefined reference to symbol '_ZN5boost6system15system_categoryEv'
/usr/lib/aarch64-linux-gnu/libboost_system.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
CMakeFiles/RGBD.dir/build.make:215: recipe for target '../RGBD' failed
make[2]: *** [../RGBD] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/RGBD.dir/all' failed
make[1]: *** [CMakeFiles/RGBD.dir/all] Error 2

 

- 出错原因为:libboost_system.so 与libboost_filesystem.so找不到链接目录 
- 解决方案为

//locate  boost_system
//查找到目录
/usr/lib/aarch64-linux-gnu/libboost_system.a
/usr/lib/aarch64-linux-gnu/libboost_system.so
/usr/lib/aarch64-linux-gnu/libboost_system.so.1.58.0

//locate boost_filesystem
//查找到目录
/usr/lib/aarch64-linux-gnu/libboost_filesystem.a
/usr/lib/aarch64-linux-gnu/libboost_filesystem.so
/usr/lib/aarch64-linux-gnu/libboost_filesystem.so.1.58.0

注意:需要将相关链接库文件(3个,包括.so, .a,还有一个文件)复制到ORB_SLAM/lib下,但是CMakeLists.txt中只需要链接.so文件。
将libboost_system.so那三个文件与libboost_filesystem.so那三个文件复制到ORB_SLAM2/lib下,并且将ORBSLAM2/Examples/ROS/ORBSLAM2下的Cmakelists.txt中加入库目录,具体为 

在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 
之后加入${PROJECT_SOURCE_DIR}/../../../lib/libboost_filesystem.so 
${PROJECT_SOURCE_DIR}/../../../lib/libboost_system.so 

问题得以解决
参考:ubuntu16.04编译ORBSLAM2问题解决

           ubuntu16.04编译ORBSLAM2出错

你可能感兴趣的:(SLAM,Ubuntu/ROS)