提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
一、前言
本文在前文已经安装好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.
如果编译过程中出现了报错,则可查看如下链接:
三、安装并编译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的结果。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。