目前,在视觉SLAM所有算法中,ORB_SLAM2是一个极其优秀值得深究的算法,其包含了单目,双目和深度摄像头三种接口。本本记叙了本次Ubuntu 14.04+Ros indigo+ORB_SLAM2 的平台搭建,和遇到的几个问题,以便以后重装和其他使用者参考。


首先是安装ubuntu,我选择的是Ubuntu 14.04。然后是安装ROS,选择的是对应的indigo版本,其具体安装步骤参考官网。

这些步骤都装好后,首先需要安装Pangolin,用于可视化。目前所能搜索到的网络上的安装步骤中,都安装不成功,这其实是源码问题,使用旧版本的Pangolin即可。

git clone https://github.com/zzx2GH/Pangolin.git
cd Pangolin
mkdir build
cd build
cmake ..
make
sudo make install

最后千万别忘记 sudo make install,如果在后面执行orb算法的时候出现了如下问题:

terminate called after throwing an instance of 'std::runtime_error'
what():  Pangolin X11: Unable to retrieve framebuffer options

请把源码目录Pangolin\src\display\device下的display_x11.cpp文件做如下修改:

staticint visual_attribs[] = { GLX_X_RENDERABLE , True, GLX_DRAWABLE_TYPE , GLX_WINDOW_BIT, GLX_RENDER_TYPE , GLX_RGBA_BIT, GLX_X_VISUAL_TYPE , GLX_TRUE_COLOR, GLX_RED_SIZE , 8, GLX_GREEN_SIZE, 8, GLX_BLUE_SIZE, 8, GLX_ALPHA_SIZE, 8, GLX_DEPTH_SIZE, 24, GLX_STENCIL_SIZE, 8, GLX_DOUBLEBUFFER , glx_doublebuffer ? True : False, //注释这一行GLX_SAMPLE_BUFFERS , glx_sample_buffers, //注释这一行 GLX_SAMPLES , glx_sample_buffers > 0 ? glx_samples : 0, None };

之后重新编译Pangolin即可。

完成Pangolin安装后,建立工作空间:

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

之后下载usb_cam并编译:

cd catkin_ws/src/usb_cam
mkdir build
cd build
cmake ..
make

最后下载并编译ORB_SLAM2,同样,该包需要下载到工作空间中:

cd catkin_ws
git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
cd ORB_SLAM2
chmod +x build.sh
./build.sh
chmod +x build_ros.sh
./build_ros.sh

请注意:在下载好ORB_SLAM2包后,不要着急build,首先添加ORB_SLAM2的路径:

export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/usrname/catkin_ws/src/ORB_SLAM2/Examples/ROS

我尝试使用 source /home/usrname/catkin_ws/src/ORB_SLAM2/Examples/ROS 添加到~/.bashrc中,但是不能正常工作,使用以上命令则可以识别。如果不添加该路径,在./build_ros.sh编译的时候会出现错误。

最后为了测试安装是否成功,打开usb_cam-test.launch文件:

cd /home/pan/catkin_ws/src/usb_cam/launch
gedit usb_cam-test.launch

修改其中的内容为:

<launch><node name="camera" pkg="usb_cam" type="usb_cam_node" output="screen" > <param name="video_device" value="/dev/video0" /> <param name="image_width" value="640" /> <param name="image_height" value="480" /> <param name="pixel_format" value="yuyv" /> <param name="camera_frame_id" value="camera" /> <param name="io_method" value="mmap"/> <remap from="/usb_cam/image_raw" to="/camera/image_raw" /> </node> <node name="image_view" pkg="image_view" type="image_view" respawn="false" output="screen"> <remap from="image" to="/camera/image_raw"/> <param name="autosize" value="true" /> </node>
</launch>

以上准备工作完成后,即可测试是否安装成功了,分别打开三个终端分别输入以下命令,即可看到结果。

roscoreroslaunch usb_cam usb_cam-test.launch rosrun ORB_SLAM2 Mono /home/usrname/catkin_ws/src/ORB_SLAM2/Vocabulary/ORBvoc.txt /home/usrname/catkin_ws/src/ORB_SLAM2/Examples/Monocular/TUM1.yaml

Ubuntu 14.04+Ros indigo+ORB_SLAM2 的平台搭建相关推荐

  1. LSD-SLAM 编译过程(Ubuntu 14.04 + ROS Indigo

    原文:http://blog.csdn.net/xueyinhualuo/article/details/48490939 环境:Ubuntu 14.04 + ROS Indigo LSD-SLAM ...

  2. Ubuntu 14.04 + nginx + php + mysql + phpmyadmin环境搭建,详细操作

    版本:Ubuntu 14.04             nginx-1.12.2               mysql-5.6             php-5.6 1.安装nginx-1.12. ...

  3. Baxter实战——Ubuntu 14.4+ros indigo 安装Baxter Simulator与 Moveit

    在前边已经对Baxter sdk完成了安装,今天对剩下的两个进行安装.这三个是gazebo进入baxter仿真环境必不可少的. 一 Install Baxter Simulator 1.安装依赖 $ ...

  4. KinectV2+Ubuntu 14.04+Ros 配置

    1.libfreenect2提供了对kinect2.0的支持,所以,先git代码,很简单(复制到终端执行): git clone https://github.com/OpenKinect/libfr ...

  5. Ubuntu 14.04下java开发环境的搭建--2--Eclipse的安装

    前面说了JDK的安装,http://www.cnblogs.com/bcsflilong/p/4196536.html 下面我们来安装Eclipse! 安装Eclipse 的前提是,你的JDK已经安装 ...

  6. ubuntu 14.04调试ORB-SLAM2

    1  具备的条件: (1)ubuntu 14.04 (2)ROS indigo(可选) 2  安装依赖 (1)Pangolin:https://github.com/stevenlovegrove/P ...

  7. 大学本科《机器人程序设计课程》配套系统镜像使用说明( Ubuntu 14.04.5 + ROS indigo )

    //  原文 http://blog.exbot.net/archives/3001 wiki 教程; http://wiki.ros.org/cn/ROS/Tutorials 大学本科<机器人 ...

  8. Ubuntu 16.04+ROS+ORB-SLAM2配置以及相关问题

    最近尝试在ubuntu 16.04下配置ORB-SLAM2,现将相关过程以及遇到的问题进行记录,给大家做个参考. 网上有很多ubuntu 14.04下配置ORB-SLAM的文章,和我们这个会有区别,需 ...

  9. Ubuntu14.04 ROS Indigo安装教程,以及卸载方法

    Ubuntu14.04 ROS Indigo安装教程,以及卸载方法 原创 2017年01月25日 15:22:45 标签: ROS / ubuntu / 机器人 13957 ROS (Robot Op ...

最新文章

  1. NetBeans配置Xdebug
  2. CVPR 2020 论文大盘点-全景分割与视频目标分割篇
  3. 安装JDK、Tomcat
  4. centos6.5安装jira6.3.6详细文档汉化破解
  5. decide how to invest 15 million pound in the development cost?
  6. mac命令行ftp操作
  7. UriComponentsBuilder和UriComponents url编码
  8. 06jQuery-01-基本选择器
  9. 目录 | 数据结构与剑指Offer系列推文合集
  10. 《C和指针》——声明数组参数
  11. matlab2c使用c++实现matlab函数系列教程-hilb函数
  12. cocos creator fgui 按钮事件
  13. eclipse集成阿里代码规范工具p3c
  14. 前端企业级代码规范(巨详细)
  15. Minecraft Mod 开发:2-Hello, Minecraft Mod World!
  16. Java 埃拉托色尼筛选法
  17. 「史诗级干货」新人up主B站运营炫酷玩法,轻松实现UP!UP!UP!
  18. Vue中使用echart实现中国地图统计图
  19. Window系统改装为linux系统
  20. Redis运行环境搭建

热门文章

  1. Jboss安装与部署实验
  2. 数款二次元wordpress主题,你值得拥有!
  3. 【STM32】入门(零):keil安装、科学使用、芯片包安装
  4. html 组织结构 图表,HTML5实现的矢量卡片式组织结构图
  5. 阿里云——专有网络VPC
  6. 解决百度网盘限速的软件
  7. 【几种恢复误关Chrome标签页的方法】
  8. 字节面试题-小于N的最大数字
  9. 苏州技师学院计算机专业怎么样,苏州技师学院口碑怎么样
  10. debconf-set-selections mysql_在Ubuntu上的MySQL脚本安装