基于ROS下的USB摄像头实时运行ORBSLAM2

1.主目录创建一个catkin,工作空间并且编译。
 

$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ cd ~/catkin_ws/
$ catkin_make

2.在主文件夹下ctrl+h后找到隐藏文件夹 .bashrc。在.bashrc 最下面添加ROS工作路径。
 

source /opt/ros/indigo/setup.bash
source ~/catkin_ws/devel/setup.bash

3.编译orb_slam2(下载链接: https://github.com/raulmur/ORB_SLAM2)。

步骤较多,参考链接:

需要编译好ORBSLAM2 ROS版本,可以ROS下运行数据集即可。

https://blog.csdn.net/learning_tortosie/article/details/79881165?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162262480416780255229211%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=162262480416780255229211&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-79881165.first_rank_v2_pc_rank_v29&utm_term=orbslam2%E5%AE%89%E8%A3%85&spm=1018.2226.3001.4187

4.插上usb摄像机,安装相机程序,确认usb设备名。

sudo apt install camorama               #安装相机程序

ls /dev/video*                               #查看相机设备名目录,例如我的相机是dev/video0

camorama -d /dev/video0           #看是否有图像输出 且是对应摄像头

5.修改编译usb_cam(下载链接:https://github.com/bosch-ros-pkg/usb_cam),下载后放到ROS内 /catkin_ws/src下。

打开 src/usb_cam_develop/launch/usb_cam-test.launch 内改为自己相机设备名 默认为video0。

<param name="video_device" value="/dev/video0" />

回到ROS工作目录下,编译。

catkin_make

6.进到catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/src 打开ros_mono.cc
将subscribe的话题改为相机发布的topic     usb_cam/image_raw

扫描二维码关注公众号,回复: 14425014 查看本文章
    ros::Subscriber sub = nodeHandler.subscribe("/usb_cam/image_raw", 1, &ImageGrabber::GrabImage,&igb);

因为有更改,进入ORBSLAM内重新编译ROS版本。

然后返回ros空间再catkin_make。

./build_ros.sh
cd ../..
catkin_make

 7.运行阶段 先运行摄像头节点,再运行单目slam,改好自己路径。

$ roslaunch usb_cam usb_cam-test.launch
$ rosrun ORB_SLAM2 Mono /home/你的电脑名/catkin_ws/src/ORB_SLAM2/Vocabulary/ORBvoc.txt /home/你的电脑名/catkin_ws/src/ORB_SLAM2/my.yaml 

猜你喜欢

转载自blog.csdn.net/weixin_48464886/article/details/117474608
今日推荐