Advertisement

Ubuntu 14.04 跑通 lsd slam 全过程

阅读量:

作为一个菜鸡的我,前前后后一个多星期,换了三个系统,总算是把它跑通了。
记录一下我踩的坑。让大家少走弯路。
写在前面的话:网上的都是骗人的,我几乎翻遍了网上的教程,每一个错误我都能背下来了,始终编译不成功。如果你和我一样是个小白,那么恭喜你,这篇文章会让你少走很多弯路。如果你已经是大佬,也请不要笑话我。
想要成功运行,虚拟机或者双系统都是可以的,并不会因为虚拟机就出错。
The most important thing : 在安装ROS之前安装openCV2.4系。网上几乎所有教程都是直接安装ROS,这样会导致很多错误,因为ROS indigo 自带的3系openCV,lsd slam 需要用2系编译,如果直接用ROS自带的opencv我试过无论怎么修改代码都没法编译成功。
我试过用虚拟机+ubuntu 16.04,也试过用把笔记本洗成ubuntu 18.04运行lsd salm,但是都失败了,就是因为我每一次都是按照网上的教程先装的ROS。在ubuntu 下运行,环境配置很重要,脱离了环境配置,再怎么修改代码都没用。最后我尝试了用Ubuntu 14.04来运行。
首先是我的配置:
ubutnu14.04+ROS indigo+opencv 2.4+eigen3+cmake3.2+gcc4.8.4

1.安装虚拟机
这个网上很多教程,就不多说了

2.安装Ubuntu 14.04系统
这个网上也有很多教程,我主要参考了
注意最好选择自定义(高级),因为我试过选择典型推荐的,最后装出来的系统有点问题。

3.安装OPENCV2.4系
我是用脚本文件安装的:
下载:https://gist.github.com/arthurbeggs/06df46af94af7f261513934e56103b30
运行:

chmod +x openCV2_install(你.bash文件的名字)
./openCV2_install.

4.安装ROS
主要参考:http://wiki.ros.org/indigo/Installation/Ubuntu
1)Setup your computer to accept software from packages.ros.org.

sudo sh -c ‘echo “deb http://packages.ros.org/ros/ubuntu $(lsb_release
-sc) main” > /etc/apt/sources.list.d/ros-latest.list’

2.)Set up your keys

sudo apt-key adv --keyserver ‘hkp://keyserver.ubuntu.com:80’ --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

3)Installation

sudo apt-get update && sudo apt-get install dpkg

sudo apt-get install libgl1-mesa-dev-lts-trusty

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

sudo rosdep init

rosdep update

echo “source /opt/ros/indigo/setup.bash” >> ~/.bashrc

source ~/.bashrc

sudo apt-get install python-rosinstall

4)测试小海龟

roscore

打开新终端

rosrun turtlesim turtlesim_node

出现小海龟说明安装成功。

5.创建rosbuild工作空间

sudo apt-get install python-rosinstall

mkdir ~/rosbuild_ws

cd ~/rosbuild_ws

rosws init . /opt/ros/kinetic

mkdir package_dir

rosws set ~/rosbuild_ws/package_dir -t .

echo “source ~/rosbuild_ws/setup.bash” >> ~/.bashrc

bash

cd package_dir

  1. 安装依赖

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

7.下载

git clone https://github.com/tum-vision/lsd_slam.git lsd_slam

8.安装

rosmake lsd_slam

9.编译

rosmake lsd_slam

10.修改gug
1)报错:ERROR [gendeps] 1 Finding dependencies for /home/cc/rosbuild_ws/package_dir/lsd_slam/lsd_slam_viewer/cfg/LSDSLAMViewerParams.cfg

复制代码
    解决:删除lsd_slam_viewer/cfg/LSDSLAMViewerParams.cfg和lsd_slam_core/cfg/LSDDebugParams.cfg两个文件中出现的单引号
           lsd_slam_viewer/cfg/LSDSLAMViewerParams.cfg:
             第20行scaledDepthVarTH:单词 point's和keyframe's 中出现了单引号,删除单引号    
             第21行absDepthVarTH:单词 point's
             第24行cutFirstNKf:单词 keyframe's
           lsd_slam_core/cfg/LSDDebugParams.cfg
             第11行plotStereoImages:单词 what's
             第12行plotTracking:单词 what's
             第48行continuousPCOutput:单词 Keyfram's

编译成功啦,就是这么简单
在这里插入图片描述
11.运行,这里 我选择运行官方的数据集

1)下载数据集并解压:http://vmcremers8.informatik.tu-muenchen.de/lsd/LSD_room.bag.zip

2) 打开终端输入命令:

复制代码
     roscore

3) 另打开一个新的终端,输入命令:

复制代码
     rosrun lsd_slam_viewer viewer

4)运行你的.bag文件

复制代码
    rosrun lsd_slam_core live_slam image:=/image_raw camera_info:=/camera_info
复制代码
     rosbag play ~/your path/LSD_room.bag

成功啦
在这里插入图片描述
在这里插入图片描述
还有Ubuntu16.04和Ubuntu18.04我也会继续尝试的。

全部评论 (0)

还没有任何评论哟~