1.安装Ubuntu12.04
2.安装ros fuerte 具体参照官网这个教程 http://wiki.ros.org/fuerte/Installation/Ubuntu
2.1
-
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu precise main" > /etc/apt/sources.list.d/ros-latest.list'
2.2 添加产品密匙
-
wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
-
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/sandbox3.3 不使用沙箱,我们在home目录下我们先git下LSDSLAM代码
git clone https://github.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
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代码文件,并构建路径。