ROS环境下用笔记本摄像头运行ORB

ROS环境下用笔记本摄像头运行ORB,第1张

默认已安装好ROS和ORB_SLAM2,没有安装的可以看我的另一篇文章:Ubuntu18.04安装和配置ORB_SLAM2(非ROS、ROS环境)_混沌浮世的博客-CSDN博客_ubuntu安装orbslam2

一、下载usb_cam功能包
  • 进入ROS工作空间catkin_ws/src目录,通过命令下载 usb_cam
cd ~/catkin_ws/src
git clone https://github.com/bosch-ros-pkg/usb_cam.git usb_cam
  • 回到 catkin_ws目录下, 对下载好的usb_cam进行编译
 cd ..
 catkin_make
  • 编辑bash文件
sudo gedit ~/.bashrc             //打开./bashrc

在文件末尾添加下面的代码

source ~/catkin_ws/devel/setup.bash
  • 使修改立即生效
source ~/.bashrc
二、将电脑上的摄像头接在虚拟机上
  • 点击 虚拟机——可移动设备——“找到摄像头”——断开与主机的连接,连接虚拟机
  • 虚拟机——设置——USB控制器——将USB改成USB3.1
三、安装其它必需文件
  • 在主目录通过以下命令安装文件
sudo apt-get install ros-melodic-camera-info-manager
sudo apt-get install ros-melodic-image-view

其中melodic为ROS版本号,需要根据自己安装的ROS版本进行修改 

四、测试
  • 在终端输入以下代码
roslaunch usb_cam usb_cam-test.launch 

出现摄像头画面即为测试成功

若出现报错检查下摄像头是否与虚拟机连接成功

五、修改ORB_SLAM2中的文件
  • 找到ros_mono.cc的位置 ~/catkin_slam/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/src 打开文件,将下面代码
ros::Subscriber sub = nodeHandler.subscribe("/camera/image_raw", 1, &ImageGrabber::GrabImage,&igb);

修改为

ros::Subscriber sub = nodeHandler.subscribe("/usb_cam/image_raw", 1, &ImageGrabber::GrabImage,&igb);
  •  编译总的ORB_SLAM2
cd ~/catkin_ws/src/ORB_SLAM2/
mkdir build
cd build
cmake ..
make
  • 再单独编译ROS
 cd        //回到主目录
 cd ~/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/
 mkdir build
 cd build
 cmake ..
 make
 六、运行
  • 打开一个终端,输入
roscore
  • 再打开一个终端
roslaunch usb_cam usb_cam-test.launch 
  • 再打开一个终端
rosrun ORB_SLAM2 Mono ~/catkin_ws/src/ORB_SLAM2/Vocabulary/ORBvoc.txt ~/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/Asus.yaml

 

参考文章:最完整---在ROS用自己电脑的摄像头在运行ORB_SLAM2_一大块肉松的博客-CSDN博客_ros使用摄像头的slam

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/739544.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-04-28
下一篇2022-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存