【ORB-SLAM2配置】使用USB摄像头运行ORB-SLAM2


一、前言

本文在前文已经安装好ORB_SLAM2后,开始尝试在Ubuntu16.04虚拟机上使用USB 摄像头运行ORB_SLAM2,从而对现实场景建立特征点地图。

二、测试ORB_SLAM2

此处默认为ORB_SLAM2已经可以成功编译并运行
1.进入文件夹编译

cd ORB_SLAM2
chmod +x build.sh
./build.sh

2.如果要用 ROS 模式跑 demo,还要额外编译 ROS 文件
首先将 ROS 所在目录加入 ROS_PACKAGE_PATH 环境变量中,具体操作是将下述命令添加到 .bashrc 文件末尾(别忘了替换下述命令中的 ):

sudo gedit ~/.bashrc
#在最后一行输入 
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:(ORB_SLAM的存放目录)/ORB_SLAM2/Examples/ROS
#完了后刷新bash:
source ~/.bashrc
chmod +x build_ros.sh
./build_ros.sh

3.整个系统的编译部分就完成了,下边在普通模式和 ROS 模式下分别运行 demo.

如果编译过程中出现了报错,则可查看如下链接:

乌班图安装ORB-SLAM2并使用USB摄像头运行

三、安装并编译ROS usb_cam源码

1.插上USB摄像头,检查usb摄像头是否正常连接

在虚拟机的可移动设备处连接电脑的USB摄像头
在这里插入图片描述

2.安装ROS usb_cam源码

cd catkin_ws/src
git clone https://github.com/bosch-ros-pkg/usb_cam.git
cd ..
catkin_make

3.编译ROS usb_cam源码

mkdir build
cd build
cmake ..
make
#编译好之后,添加编译好的文件到环境变量
source devel/setup.bash

4.测试USB摄像头

输入下方指令,即可测试USB摄像头是否安装成功:

roscore
roslaunch usb_cam usb_cam-test.launch

输入指令后的Linux截图后,USB摄像头安装成功如下图所示:
在这里插入图片描述

四、ORB-SLAM2在USB摄像头例程运行

1.将数据接入orb_slam

ORB-SLAM2默认订阅的话题为/camera/image_raw,而usb_cam节点发布的话题为/usb_cam/image_raw,因此需要在ORB_SLAM2/src/ros_mono.cc中修改订阅的话题

cd catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/src
gedit ros_mono.cc

做如下的修改:

在这里插入图片描述

此时因为源文件的更改必须要重新编译文件,首先要删除掉ORB_SLAM2中的build文件夹,Thirdparty中两个库的build文件夹,之后再运行下方代码重新编译,否则会一直显示 waiting for image

chmod +x build.sh
./build.sh
chmod +x build_ros.sh
./build_ros.sh

2.使用USB摄像头跑ORB_SLAM2

运行单目节点前要先将摄像头接入电脑,然后启动usb_cam节点。

roslaunch usb_cam usb_cam-test.launch

在ORB_SLAM2文件夹下另开终端运行:

rosrun ORB_SLAM2 Mono Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml

即可看通过USB摄像头看到ORB_SLAM2的结果。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/AaaA00000001/article/details/126455328
今日推荐