您的位置:首页 > 产品设计 > UI/UE

ubuntu12.04+ros fuerte 跑LsdSlam代码

2015-12-09 21:30 567 查看
1.安装Ubuntu12.04

2.安装ros fuerte 具体参照官网这个教程 http://wiki.ros.org/fuerte/Installation/Ubuntu

2.1 



添加下载地址到软件源列表。

2.2 添加产品密匙

wget http://packages.ros.org/ros.key -O - | sudo apt-key add -


2.3 更新软件源

sudo apt-get update


其中我们在右上角需要设置下载服务器。首先选择serverfor United States 之后sudo
apt-get update 一下,然后选择serverfor ubuntu再次更新软件源(这里主要是如果不翻墙有些软件源可能找不到,缺包的话会报各种各样的问题,所有一定要保证ros系统的完整性,再这里我尝试更换了多个软件源,最后发现用这两个软件源是能完全下载ros的)。

2.4选择安装完全版

sudo apt-get install ros-fuerte-desktop-full

估计要下载很久,如果出现下载包失败,需要重新更新下软件源再次下载。直到没有失败为止。

这里Ros已经下载安装完毕了,运行roscore应该能正常启动Ros了(正常启动如3.3中的图),但是如果要运行LSDSLAM我们还需要安装系统依赖的包,索性这里一次装好。

sudo apt-get install ros-indigo-libg2o ros-indigo-cv-bridge liblapack-dev libblas-dev freeglut3-dev libqglviewer-dev libsuitesparse-dev libx11-dev

2.5设置工作环境
前一条设置固定环境变量的命令可能执行不过,暂时不用管,用这条就可以了。

source /opt/ros/fuerte/setup.bash


2.6安装sudo
apt-get install python-rosinstall python-rosdep 这两个包。

3.配置环境 具体参照http://wiki.ros.org/ROS/Tutorials/InstallingandConfiguringROSEnvironment

3.1
创建并初始化一个工作空间

rosws init ~/fuerte_workspace /opt/ros/fuerte


其中注意的是rows 这个命令,将建好的工作空间放在了ros的 package_path下面(ros中所有要运行的包都需要有一个路径才能运行 $ printenv | grep ROS 可以查看路径)

3.2这里他提出了一种沙箱来构建工作路径的办法,我没有试过。大体意思是创建好沙箱后,只需要将代码文件放在沙箱下面即可,不需要再单独的构建路径。代码如下:

mkdir ~/fuerte_workspace/sandbox
rosws set ~/fuerte_workspace/sandbox

3.3 不使用沙箱,我们在home目录下我们先git下LSDSLAM代码

git clone https://gi 4000
thub.com/tum-vision/lsd_slam.git lsd_slam

之后

rosws init ~/lsd_slam /opt/ros/fuerte


直接将当前代码文件夹设置为工作空间。

至此环境配置完毕。

新开个shell,然后

source ~/fuerte_workspace/setup.bash

roscore


启动ros操作系统,看到下图表示成功。



之后再开个shell编译LSD代码

rosmake lsd_slam

这里可能会因为编译环境的问题,导致各种奇怪的错误,这个有时候就要看人品了。如果碰到了No Instruction vmfxxx这种问题可以把roscore/CmakeLists里面的set(CMAKE_CXX_FLAGS

   "${CMAKE_CXX_FLAGS} ${SSE_FLAGS} -march=native -mno-avx -std=c++0x"

)

加上-mno-avx,或者删掉-std=c++0x

至此如果没有错误,编译完成。

/////////////////华丽丽丽的分割线///////////////////////

下面运行

开个shell

source ~/fuerte_workspace/setup.bash


rosrun lsd_slam_viewer viewer

一下这时候自动新开了个窗口pointview 但是什么都没有。别急,因为我们还没有加载数据。



然后再开个shell,之前的都不要关!!!

source ~/fuerte_workspace/setup.bash

rosrun lsd_slam_core live_slam image:=/image_raw camera_info:=/camera_info




然后把那个bag文件放到home目录下
rosbag play ~/LSD_room.bag

ok

会有点卡,稍微等一下


看到两个窗口,表示成功





注:没怎么用过linux,表述和格式先忽略一下吧....大体流程就是这样,Ros启动起来跑LSD,我在i5 8G内存的台式机上会卡,所以电脑配置最好高一点。

此外ros文件系统教程在这里
http://wiki.ros.org/ROS/Tutorials/InstallingandConfiguringROSEnvironment
建议参照

rosws set turtlebot --hg https://kforge.ros.org/turtlebot/turtlebot rosws update turtlebot
这个命令


直接使用

rosws set lsd_slam --git https://github.com/tum-vision/lsd_slam.git rosws update lsd_slam
直接下载LSD_SLAM代码文件,并构建路径。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: