轉載自:https://www.jianshu.com/p/dbf39b9e4617親測可用node
1.其中編譯ORB_SLAM2的 ./build.sh 和 ./build_ros.sh以前須要修改文件的屬性, chmod +x build.sh 和chmod +x build_ros.sh ,最好仍是進去編輯下,把build.sh 和 build_ros.sh中的make -j修改成make;ide
2.在執行 ./build_ros.sh時會遇到問題,切換到/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2修改此目錄下的CMakeList.txt文件,以下添加紅色部分便可,而後從新執行 ./build_ros.shui
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
)spa
3.在調用設攝像頭時,須要修改/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/src下邊的ros_mono.cc文件將裏邊的訂閱修改成從usb_cam 即 ros::Subscriber sub = nodeHandler.subscribe("/usb_cam/image_raw", 1, &ImageGrabber::GrabImage,&igb);顯示行號命令爲 set nu,這步的意思是從urb_cam接受信號;編譯
4.若是啓動的攝像頭不是指定的攝像頭,則須要在usb_cam的launch文件中修改/catkin_ws/src/usb_cam/launch中的usb_cam-test.launch文件,<param name="video_device" value="/dev/video1" />只須要修改數字便可。test