1. 修改源檔案
修改ORB_SLAM2/Examples/ROS/ORB_SLAM2/src/ros_mono.cc中的代碼。
源代碼
ros::Subscriber sub = nodeHandler.subscribe("/camera/image_raw", 1, &ImageGrabber::GrabImage,&igb);
修改為
ros::Subscriber sub = nodeHandler.subscribe("/usb_cam/image_raw", 1, &ImageGrabber::GrabImage,&igb);
也就是修改為調用usb攝像頭。
2. 編譯ROS
在ORB_SLAM2中打開終端,運作
build_ros.sh
3. 編譯ROS的example
cd ~/ORB_SLAM2/Example/ROS/ORB_SLAM2
mkdir build
cd build
cmake ..
make
4. 運作
打開三個終端,分别運作
roscore
roslaunch usb_cam usb_cam-test.launch
rosrun ORB_SLAM2 Mono ~/ORB_SLAM2/Vocabulary/ORBvoc.txt ~/ORB_SLAM2/Examples/ROS/ORB_SLAM2/Asus.yaml
這裡的Asus.yaml是自帶的,應該換成自己攝像頭的參數,是以需要對攝像頭進行标定。攝像頭标定等做了再寫。