ROS下实时运行ORB-SLAM2

实时运行ORB-SLAM2

    • 事前准备:
    • 一、启动usb_cam节点
        • ①打开roscore
        • ②启动usb_cam节点
    • 二、ORB-SLAM默认订阅的话题为/camera/image_raw,而usb_cam节点发布的话题为/usb_cam/image_raw,因此需要在ros_mono.cc中修改订阅的话题
        • ①查看已发布的话题
        • ②先找到文件,我的在/home/weiweu/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/src的目录下
    • 三、运行实时单目

事前准备:

如何安装ORB-SLAM2
如何安装usb_cam,
这个有详细步骤,已经安装的可以忽略。

一、启动usb_cam节点

①打开roscore

roscore

ROS下实时运行ORB-SLAM2_第1张图片

②启动usb_cam节点

roslaunch usb_cam usb_cam-test.launch

ROS下实时运行ORB-SLAM2_第2张图片
ROS下实时运行ORB-SLAM2_第3张图片

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

①查看已发布的话题

rostopic

ROS下实时运行ORB-SLAM2_第4张图片

②先找到文件,我的在/home/weiweu/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/src的目录下

ROS下实时运行ORB-SLAM2_第5张图片
打开,并修改为如下:
ROS下实时运行ORB-SLAM2_第6张图片
特别注意,因为源文件的更改必须要重新编译
重新编译代码如下:
进入到~/catkin_ws/src/ORB_SLAM2目录下

./build_ros.sh

ROS下实时运行ORB-SLAM2_第7张图片
直到出现
ROS下实时运行ORB-SLAM2_第8张图片
说明编译成功!

三、运行实时单目

rosrun ORB_SLAM2 Mono PATH_TO_VOCABULARY PATH_TO_SETTINGS_FILE

其中PATH_TO_VOCABULARY是词典的路径,一般为Vocabulary/ORBvoc.txt
PATH_TO_SETTINGS_FILE是记录摄像头参数的文件,比如之前用到的TUM1.yaml。我用的是Kinect,参数都差不多所以我就使用的TUM1.yaml

我使用的命令是:

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

ROS下实时运行ORB-SLAM2_第9张图片
大功告成!

你可能感兴趣的:(ROS学习)