ubuntu12.04+ros fuerte 跑ORB_SLAM代码
来源:互联网 发布:java输出所有汉字 编辑:程序博客网 时间:2024/05/16 15:57
前言:之前我们在ubuntu12.04上跑通了LSD的代码,下面将阐述如何类似的跑通ORB代码,在此之前我们假定已经安装好了ubuntu12.04和ros fuerte.
首先我们直接home目录下,git ORB的源代码到ROS并构建工作目录:
git clone https://github.com/raulmur/ORB_SLAM.git ORB_SLAM
之后
rosws init ~/ORB_SLAM /opt/ros/fuerte
设置工作空间。安装第三方的库依赖
1.
sudo apt-get install libboost-all-dev sudo apt-get install libsuitesparse-dev
sudo apt-get install libblas-dev
sudo apt-get install liblapack-dev
sudo apt-get install libeigen3-dev2.之后我们编译进入ORB_SLAM/Thirdparty文件夹下的g2o.编译g2o需要依赖Eigen3和Cmake,剩下的Qt5(http://qt-project.org)等为可选,如果不需要的话可以暂时不用安装。mkdir buildcd buildcmake ..make这里如果碰到了No Instruction vmfxxx这种问题可以把CmakeLists里面的{CMAKE_C_FLAGS_RELEASE} -O3 -march=native -mno-avx") 加上-mno-avx。3.进入ORB_SLAM/Thirdparty文件夹下的Do2W文件夹,编译该文件。编译DBo2W需要依赖Dlib以及opencv,我们先安装Dlib,下载链接https://github.com/dorian3d/DLib之后安装opencv,这里我官网下载最新的没能编译通过,于是改装opencv2.4.9后编译成功。完成上面两步后,我们进入DBo2W,编译该文件成功。4.进入ORB_SLAM编译源文件首先要设置ROS环境变量export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:(你的ORB_SLAM文件夹绝对路径)mkdir buildcd build
cmake ..
make
正常情况下会没错的,(听说会有找不到opencv2的问题,如果有将manifest.xml中 <depend package="opencv2"/> 删除就好了)。
自此编译完成。
///////////////////////////////华丽丽的分割线/////////////////////////////////////////////////////////////////////////
运行程序,开四个终端,并且2.3.4记得export环境变量
1.roscore #启动ros服务2.rosrun image_view image_view image:=/ORB_SLAM/Frame _autosize:=true 3.rosrun rviz rviz -d Data/rviz.rviz编译过程中碰到了一个很坑爹的问题,就是我通过在线安装的eigen3版本是3.05但是ORB后面需要编译Do2W需要的最低版本是3.1.0,所有不得不去eigen官网下载,5. 打开新的终端执行,进入Example.bag所在文件夹,执行4.rosrun ORB_SLAM ORB_SLAM Data/ORBvoc.yml Data/Settings.yaml #运行ORB_SLAM , 其中ORBvoc.yml(txt)需要先解压
/**********************这里我们为了方便直接使用launch文件启动程序跳过上面的2.3.4**************************/rosbag play --pause Example.bag #执行图片发布程序,执行后,按空格键开始
roslaunch ExampleFuerte.launch
rosbag play --pause Example.bag #执行图片发布程序,执行后,按空格键开始总结:
自己重新编译安装。官网http://eigen.tuxfamily.org/,现在下来以后参照readme:mkdir build 之后 cmake .. 然后make install 安装完成。
(但是但是,这个eigen感觉问题比较多, 后面会在AVX里面包含的两个头文件里面爆出XX not in scope的问题,仔细看了出错的问题,之后更改头文件中相关
代码:找到出错的packageMath.h和mathFunctions.h文件,将出错的__FMA__注释掉,将出错的 r 不赋初值。之后编译通过。
0 0
- ubuntu12.04+ros fuerte 跑ORB_SLAM代码
- ubuntu12.04+ros fuerte 跑LsdSlam代码
- 【ROS】Ubuntu12.04下ROS-Fuerte安装及工作环境配置
- ubuntu12.04 + fuerte ROS下安装xtion pro live 显示图像
- ROS fuerte版本安装
- ccny_vision compiling on ros-fuerte
- ROS fuerte版本学习教程
- Ros(fuerte)+rgbdslam_freiburg+installation
- ROS+Bumblebee2+Ubuntu12.04
- ROS(Fuerte)移植到beagleboneblack完整过程
- ORB_SLAM运行详细过程(ubuntu14.04系统和ROS Indigo环境搭建,配置及测试运行)
- ubuntu12.04 ros开源库安装教程
- ubuntu12.04 + ROS(Hydro)使用RVIZ出错
- ubuntu12.04 + ROS(Hydro)使用RVIZ出错
- ORB_SLAM 中特征提取代码介绍
- ubuntu12.04下ROS的安装与测试
- ubuntu12.04 中配置ROS安装的opencv
- ubuntu12.04下ROS的安装与测试
- 在Struts的jsp中使用<s: set> 和 Jstl的<c: set>
- poj 3009 新方法
- Swift获取沙盒中目录的一个分类
- [Python学习笔记][第八章Python异常处理结构与程序调试]
- Python&MySQL&PyQt
- ubuntu12.04+ros fuerte 跑ORB_SLAM代码
- Android 快速开发系列 打造万能的ListView GridView 适配器
- 不刷新页面实现图片上传,并在指定位置显示
- [Python学习笔记][Python内置函数]
- 第六周项目二 带武器的游戏角色类
- ife-task1:零基础HTML编码--HTML语义化
- 7. Smarty3:模版中自定义函数
- js笔记(7)
- Android studio 关联so文件 最新方法