在ROS中使用usb摄像头跑ORB SLAM2

本文详细记录了在Ubuntu 14.04上,使用ROS Indigo配置ORB SLAM2与USB摄像头进行SLAM实验的过程,包括环境准备、依赖安装、代码获取、相机标定、内参设置等步骤,最终成功实现单目ORB SLAM运行。
摘要由CSDN通过智能技术生成

摘要(假装这是论文):由于最近在做orb_slam2相关,将这几天的实验过程总结记录,本文主要为傻瓜式记录运行代码的过程,以及中间遇到的问题及解决方法,截止至发文前,只是把单目Mono的功能实现,暂时还未对其进行细致的分析.其实CSDN中已经有很多其他大神对ORB SLAM的程序运行进行了解读,本次实验也是在众多资料的帮助下完成的.
准备工作
 硬件准备
 1.装有ROS Indigo和装有OpenCv的ubuntu 14.04
 3.USB 摄像头,TB来的,100度广角,640*480,30帧
 环境准备
 安装几个依赖项和库
 Boost
 

sudo apt-get install libboost-all-dev 

 General Graph Optimization :g2o
 关于g2o的详细解释可以看高博的blog:http://www.cnblogs.com/gaoxiang12/p/5304272.html
 为了编译g2o需要安装如下三个库

 sudo apt-get install libblas-dev
 sudo apt-get install liblapack-dev
 sudo apt-get install libeigen3-dev

 
 代码准备
 1.由于使用USB摄像头作为图像输入,需要将图像信息作为topic发送出去,ROS官网提供了usb_cam的package代码,从github上下usb_cam的代码,下载链接:https://github.com/bosch-ros-pkg/usb_cam
 2.ORB_SLAM的代码下载: https://github.com/raulmur/ORB_SLAM2
工程建立
建立一个catkin_ws 工程

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

将代码拷到src中

编译usb_cam

mkdir build 
cd build 
cmake ..
make 

编译成功后可先测试一下usb摄像头
  首先开个新的终端,运行roscore(如果显示命令没有找到就说明的你没有source source /opt/ros/indigo/setup.bash 我是直接添加到了根目录文件中的.bashrc中了,详情请下载<机器人操作系统浅析>百度文库中可搜到,见Page16)
 在运行该节点之前,需要先配置一下节点参数,打开src/usb_cam-develop/launch文件中的的launch文件,我这里只需要该设备号即可,笔记本电脑的video0一般是网络摄像头,插入usb摄像头一般是video1,若想看usb摄像头是哪个端口号,可cd到根目录中的dev文件夹下查看.
 更改后,其实只是换了个1
 完成之后再开一个终端, 运行

 roslaunch usb_cam usb_cam-test.launch 

 
 运行后,正常的情况下可打开摄像头,看到新建窗口将

ORB SLAM2是一个基于特征点的视觉SLAM(Simultaneous Localization and Mapping)系统,它可以通过单目摄像头实现实时的相机定位和地图构建。而ROS(Robot Operating System)是一个用于机器人开发的开源框架,提供了一系列工具和库来简化机器人软件开发。 要搭建ORB SLAM2 ROS单目摄像头环境,你需要按照以下步骤进行: 1. 安装ROS:首先,你需要在你的计算机上安装ROS。你可以根据你的操作系统版本选择合适的ROS版本进行安装。安装过程可以参考ROS官方网站提供的文档。 2. 创建ROS工作空间:在安装完ROS后,你需要创建一个ROS工作空间来存放ORB SLAM2和其他相关的ROS包。你可以使用以下命令创建一个新的工作空间: ``` mkdir -p ~/catkin_ws/src cd ~/catkin_ws/ catkin_make ``` 3. 下载ORB SLAM2 ROS包:在创建好工作空间后,你需要下载ORB SLAM2的ROS包并将其放置在工作空间的`src`目录下。你可以使用以下命令进行下载: ``` cd ~/catkin_ws/src git clone https://github.com/raulmur/ORB_SLAM2.git ``` 4. 编译ORB SLAM2 ROS包:下载完ORB SLAM2 ROS包后,你需要编译它。在`catkin_ws`目录下,运行以下命令进行编译: ``` cd ~/catkin_ws catkin_make -DCMAKE_BUILD_TYPE=Release ``` 5. 配置相机参数:在使用ORB SLAM2之前,你需要根据你的摄像头配置相机参数。你可以编辑ORB SLAM2的配置文件,将相机的内参和畸变参数填入其。 6. 运行ORB SLAM2:完成以上步骤后,你可以运行ORB SLAM2来进行相机定位和地图构建。首先,启动ROS核心节点: ``` roscore ``` 然后,在另一个终端运行ORB SLAM2节点: ``` rosrun ORB_SLAM2 Mono /path/to/ORB_SLAM2/Vocabulary/ORBvoc.txt /path/to/ORB_SLAM2/Examples/Monocular/your_camera.yaml ``` 其,`/path/to/ORB_SLAM2/Vocabulary/ORBvoc.txt`是ORB SLAM2的词汇文件路径,`/path/to/ORB_SLAM2/Examples/Monocular/your_camera.yaml`是相机参数配置文件路径。 7. 可选:可视化结果:如果你想可视化ORB SLAM2的结果,你可以使用rviz工具。在另一个终端运行以下命令: ``` rosrun rviz rviz -d `rospack find ORB_SLAM2`/Examples/Monocular/ORB_SLAM2.rviz ``` 以上就是搭建ORB SLAM2 ROS单目摄像头环境的基本步骤。希望对你有帮助!
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值