ROS本地摄像头
下载安装usb_cam包
最好将它放在ROS空间的src文件夹下,方便管理
git clone https://github.com/bosch-ros-pkg/usb_cam.git usb_cam
cd usb_cam
mkdir build
cd build
cmake ..
make
测试USB摄像头
新建一个终端
roscore
进入/home/yang/ORB_SLAM2/src/usb_cam/launch文件夹,开启新的终端
cd launch
roslaunch usb_cam usb_cam-test.launch
在这里插入图片描述
usb_cam-test.launch文件里默认是这样的,根据自己的情况改变设备号。
在这里插入图片描述
添加环境变量
将包含Examples/ROS/ORB_SLAM2的路径添加到ROS_PACKAGE_PATH环境变量中。打开.zshrc文件并在最后添加以下行:
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:PATH~/ORB_SLAM2/Examples/ROS
其中PATH为你的ORB_SLAM2路径,如我添加的是:
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/yang/ORB_SLAM2/src/ORB_SLAM2/Examples/ROS
同时也要写入:
source :/home/yang/ORB_SLAM2/src/devel/setup.sh
最终在终端里执行:
source ~/.zshrc
编译ROS下面的ORB_SLAM2
ORB-SLAM默认订阅的话题为/camera/image_raw,而usb_cam节点发布的话题为/usb_cam/image_raw,因此需要在ros_mono.cc中修改订阅的话题。
更改后进入/home/yang/ORB_SLAM2/src/ORB_SLAM2文件夹,打开终端进行编译:
$ chmod +x build_ros.sh
$ ./build_ros.sh
可能还会报错,例如:
/home/yang/ORB_SLAM2/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/…/…/…/Thirdparty/g2o/g2o/types/…/core/openmp_mutex.h:30:10: fatal error: …/…/config.h: No such file or directory
#include “…/…/config.h”
解决办法:
尝试将Thirdparty文件夹或Thirdparty / g2o文件夹添加到CMakeLists.txt中的包含目录列表中。https://github.com/raulmur/ORB_SLAM2/issues/399
运行单目节点
打开一个终端
roscore
打开一个新的终端
roslaunch usb_cam usb_cam-test.launch
再打开一个新的终端
rosrun ORB_SLAM2 Mono PATH_TO_VOCABULARY PATH_TO_SETTINGS_FILE
其中PATH_TO_VOCABULARY和PATH_TO_SETTINGS_FILE根据自己的情况调整,如我的PATH_TO_VOCABULARY为/home/yang/ORB_SLAM2/src/ORB_SLAM2/Vocabunary/ORBvoc.txt,PATH_TO_SETTINGS_FILE为/home/yang/ORB_SLAM2/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/Asus.yaml,可以使用自己相机标定的结果如:myvideo.yaml。如果简单想跑起来,直接调用文件夹里的Asus.yaml就可以。
rosrun ORB_SLAM2 Mono /home/yang/ORB_SLAM2/src/ORB_SLAM2/Vocabulary/ORBvoc.txt /home/yang/ORB_SLAM2/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/Asus.yaml
结果
图中左侧窗口中的绿色小方块为提取的图像ORB特征,右侧窗口中的绿线代表相机的运动轨迹,蓝色方框代表相机运动过程中的空间位置(即关键帧),黑点和红点代表环境的稀疏地图(黑色代表历史路标,红色表示当前路标)。
参考链接
https://blog.csdn.net/learning_tortosie/article/details/79881165
https://blog.csdn.net/radiantjeral/article/details/82193370
https://blog.csdn.net/wyy13273181006/article/details/108789594
https://blog.csdn.net/chengmo123/article/details/104902199
https://blog.csdn.net/radiantjeral/article/details/82193370
https://blog.csdn.net/ykwjt/article/details/88090748
https://blog.csdn.net/caomicm/article/details/83994962
https://blog.csdn.net/learning_tortosie/article/details/79879575
https://blog.csdn.net/weixin_44436677/article/details/105587986
https://www.cnblogs.com/gloria-zhang/p/13825287.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)