安装usb_cam
为了让ORBSLAM能够获取到摄像头画面,需要发布一个话题,让ORBSLAM订阅得到
cd ~/catkin_ws/src/
git clone https://github.com/bosch-ros-pkg/usb_cam.git usb_cam
cd usb_cam
mkdir build && cd build
cmake ..
make
cmake的过程中可能会说缺少某些环境,安装即可
比如我这里报了缺少image_view,输入
sudo apt-get install ros-melodic-image-view
然后,再次cmake即可
配置usb_cam
检查当前摄像头设备
ls /dev/video*
一般,video0是电脑自带的那个摄像头
这个到时候可以更改launch内的video测试哪个摄像头可用
修改launch文件
修改video_device的值为对应的摄像头
修改完成后,即可启动launch文件测试摄像头
roslaunch usb_cam usb_cam-test.launch
如果没有问题则会正常跳出一个窗口显示摄像头的画面
配置ORB_SLAM2
在Examples/ROS/ORB_SLAM2/src文件夹下
修改ros_mono文件
也可以再复制出一个新的cc文件,然后在CMakeList文件中再添加一个命令,因为只有一个值需要修改,就不新增文件了
修改框中内容为上面usb_cam-test.launch发布的话题,如果不改默认就是/usb_cam/image_raw
修改后,再去修改上一级文件夹中的Asus.yaml文件,改成自己摄像头的参数
我这里测试下来好像不用修改,就没有改
修改完这些后,重新编译orbslam的ros
cd ~/catkin_ws/src/ORB_SLAM2
./build_ros.sh
编译完成后,就可以测试ORBSLAM2的建图了
# 运行摄像头,发布话题
roslaunch usb_cam usb_cam-test.launch
# 新终端:开启ORBSLAM2
rosrun ORB_SLAM2 Mono ./Vocabulary/ORBvoc.txt ./Examples/ROS/ORB_SLAM2/Asus.yaml
成功开启,运行ORBSLAM