LSD-SLAM 编译过程(Ubuntu 14.04 + ROS Indigo
原文:http://blog.csdn.net/xueyinhualuo/article/details/48490939
环境:Ubuntu 14.04 + ROS Indigo
LSD-SLAM 安装网址:https://github.com/tum-vision/lsd_slam
数据集:http://vision.in.tum.de/research/vslam/lsdslam?redirect=1
ROS Indigo 安装请参照:http://wiki.ros.org/cn/indigo/Installation/Ubuntu
前言:如果是初次安装Ubuntu并准备作为长期编程平台
建议安装顺序为 OpenCV依赖包-》Nvidia驱动(可选)-》opencv-》ROS
否则容易出现libqt4相关软件包的依赖问题
一. 安装并配置好 ROS Indigo(建议使用ROS官网推荐安装教程)
二. 安装uvc_camera (可选,适用于需要USB摄像头且没有安装过ROS摄像驱动的情况)
此节来自http://blog.csdn.net/sonictl/article/details/48053597,感谢sonictl
- $ sudo apt-get install ros-indigo-uvc-camera
或者使用catkin,工作空间构建请参考ROS官网相关教程
- $ cd ~/catkin_ws/src
- $ git clone https://github.com/ktossell/camera_umd
- $ cd ~/catkin_ws
- $ catkin_make
- $ source ~/catkin_ws/devel/setup.bash
测试是否安装成功:
开启三个终端:
第一个启动ROS服务:
- $ roscore
第二个启动驱动:
- $ rosrun uvc_camera uvc_camera_node device:=/dev/video0
第三个启动视频窗口:
- $ rosrun image_view image_view image:=/image_raw
如果正常显示摄像头视频即成功
三. 安装并运行LSD-SLAM
1. 如果没有rosbuild并且打算使用rosbuild空间的话,执行下列代码
- sudo apt-get install python-rosinstall
- mkdir ~/rosbuild_ws
- cd ~/rosbuild_ws
- rosws init . /opt/ros/indigo
- mkdir package_dir
- rosws set ~/rosbuild_ws/package_dir -t .
- echo "source ~/rosbuild_ws/setup.bash" >> ~/.bashrc
- bash
- cd package_dir
2. 安装依赖包
- sudo apt-get install ros-indigo-libg2o ros-indigo-cv-bridge liblapack-dev libblas-dev freeglut3-dev libqglviewer-dev libsuitesparse-dev libx11-dev
3. 在你的ROS package path,git clone或者下载LSD-SLAM,LSD-SLAM 安装网址: https://github.com/tum-vision/lsd_slam
- git clone https://github.com/tum-vision/lsd_slam.git lsd_slam
4. 如果你需要openFabMap去闭环检测的话(可选)
在
- lsd_slam_core/CMakeLists.txt
中去掉下列四行注释即可
- #add_subdirectory(${PROJECT_SOURCE_DIR}/thirdparty/openFabMap)
- #include_directories(${PROJECT_SOURCE_DIR}/thirdparty/openFabMap/include)
- #add_definitions("-DHAVE_FABMAP")
- #set(FABMAP_LIB openFABMAP )
需要注意openFabMap需要OpenCv nonfree模块支持,OpenCV3.0以上已经不包含,作者推荐2.4.8版本
其中nonfree模块可以由以下方式安装
- $ sudo add-apt-repository --yes ppa:xqms/opencv-nonfree
- $ sudo apt-get update
- $ sudo apt-get install libopencv-nonfree-dev
5. 编译LSD-SLAM
- $ rosmake lsd_slam
6. 运行LSD-SLAM
开启四个终端窗口
第一个启动ROS服务:
- $ roscore
第二个启动摄像服务(USB摄像模式):
- $ rosrun uvc_camera uvc_camera_node device:=/dev/video0
第三个启动LSD-viewer查看点云:
- $ rosrun lsd_slam_viewer viewer
第四个启动LSD-core:
(1)数据集模式
- $ rosrun lsd_slam_core dataset_slam _files:=<files> _hz:=<hz> _calib:=<calibration_file>
_files填数据集png包的路径,_hz表示帧率,填0代表默认值,_calib填标定文件地址
如:
- $ rosrun lsd_slam_core dataset_slam _files:=<your path>/LSD_room/images _hz:=0 _calib:=<your path>/LSD_room/cameraCalibration.cfg
(2)USB摄像模式
- $ rosrun lsd_slam_core live_slam /image:=<yourstreamtopic> _calib:=<calibration_file>
_calib同上,/image选择视频流
如:
- $ rosrun lsd_slam_core live_slam /image:=image_raw _calib:=<your path>/LSD_room/cameraCalibration.cfg
运行成功图如下:
LSD-SLAM 编译过程(Ubuntu 14.04 + ROS Indigo相关推荐
- Ubuntu 14.04+Ros indigo+ORB_SLAM2 的平台搭建
目前,在视觉SLAM所有算法中,ORB_SLAM2是一个极其优秀值得深究的算法,其包含了单目,双目和深度摄像头三种接口.本本记叙了本次Ubuntu 14.04+Ros indigo+ORB_SLAM2 ...
- ubuntu14.04 nginx php编译安装,Ubuntu 14.04 编译安装 Nginx
在Ubuntu 14.04下编译安装 Nginx过程笔记. 下载源码包 nginx 地址: http://nginx.org/en/download.html 编译前先安装两个包: 直接编译安装会碰到 ...
- linux下编译openjdk7,Ubuntu 14.04.3 64位环境下OpenJDK7编译
系统环境:Ubuntu 14.04.3 -amd64 in VMWare 1.安装openjdk7依赖 sudo apt-get build-dep openjdk-7 sudo apt-get in ...
- Baxter实战——Ubuntu 14.4+ros indigo 安装Baxter Simulator与 Moveit
在前边已经对Baxter sdk完成了安装,今天对剩下的两个进行安装.这三个是gazebo进入baxter仿真环境必不可少的. 一 Install Baxter Simulator 1.安装依赖 $ ...
- KinectV2+Ubuntu 14.04+Ros 配置
1.libfreenect2提供了对kinect2.0的支持,所以,先git代码,很简单(复制到终端执行): git clone https://github.com/OpenKinect/libfr ...
- Ubuntu 14.04下编译WebRTC
阿里云 > 教程中心 > python教程 > Ubuntu 14.04下编译WebRTC Ubuntu 14.04下编译WebRTC 发布时间:2018-02-28 ...
- ubuntu 14.04调试ORB-SLAM2
1 具备的条件: (1)ubuntu 14.04 (2)ROS indigo(可选) 2 安装依赖 (1)Pangolin:https://github.com/stevenlovegrove/P ...
- Ubuntu 14.04 跑通 lsd slam 全过程
作为一个菜鸡的我,前前后后一个多星期,换了三个系统,总算是把它跑通了. 记录一下我踩的坑.让大家少走弯路. 写在前面的话:网上的都是骗人的,我几乎翻遍了网上的教程,每一个错误我都能背下来了,始终编译不 ...
- 大学本科《机器人程序设计课程》配套系统镜像使用说明( Ubuntu 14.04.5 + ROS indigo )
// 原文 http://blog.exbot.net/archives/3001 wiki 教程; http://wiki.ros.org/cn/ROS/Tutorials 大学本科<机器人 ...
最新文章
- Android 透明度百分比对应的 十六进制
- Android应用开发:网络编程-2
- thinkphp路由的作用
- Hive _偏门常用查询函数(一)附带实例(空字段赋值、 CASE WHEN、行转列)
- jQuery的Cookie使用
- CacheManager - 用 C# 编写的 .NET 的开源缓存抽象层
- java mysql jsp分页代码_JAVA/JSP学习系列之六(MySQL翻页例子)
- 嵌入式中常见的存储器总结(二)SRAM VS DRAM
- Gnome 3.x 安装悬浮菜单栏
- 基于堆叠卷积长短期神经网络【CNNLSTM】模型的时序数据预测分析
- 游侠小秘书基本智能框架完成!!!
- log4j日志设置error级别以上
- c语言最小二乘求解超定方程,超定方程用最小二乘法求解
- OpenCV - 10 开发一个视频切割成图片的软件
- python画笔颜色_Python画图 plt.plot()函数细节颜色字符,风格字符,和标记字符
- M1 Mac 安装iPad、iPhone App
- 网络摄像头IPC国标GB28181协议国标安防视频流媒体平台EasyGBS视频流不上线排查步骤
- 极简效率指南:数据分析师如何高效工作和提升自己
- 【Java Web基础】(五)实现新增下拉列表—由用户输入内容(Html+JS)
- 痛与快乐有一个代码是什么_痛苦与快乐
热门文章
- Design Pattern - Visitor(C#)
- 二数和,三数和,四数和的优化总结
- java ug二次开发_使用Java进行UG二次开发:简单的例子(上) | 学步园
- ubuntu 终端批量复制文件_《卡死你3000》批量文件复制命令详解
- json pandas 内存溢出_python-将多个JSON记录读取到Pandas数据框中
- java spring 服务器关闭_通过springboot怎么停止服务器??
- 皮一皮:怎么才能让员工有干劲...
- 皮一皮:藏头诗有时候也不能太藏...
- Angular 11 正式发布,放弃对IE 9、10的支持!
- 音效摸鱼还不够爽?试试IDE里打几盘魂斗罗?