天天看點

Jetson AGX Xavier ROS 調用usb單目攝像頭運作ORB_SLAM2

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是自帶的,應該換成自己攝像頭的參數,是以需要對攝像頭進行标定。攝像頭标定等做了再寫。