1.安装ROS
添加源(使用国内源)
sudo sh -c '. /etc/lsb-release && echo "deb https://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
设置秘钥
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 0xB01FA116
确保系统软件处于最新版
sudo apt-get update
ROS完整版
sudo apt-get install ros-kinetic-desktop-full
初始化ROS
sudo rosdep init
rosdep update
初始化环境变量
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
安装重要插件
sudo apt-get install python-rosinstall
2.建立工作空间
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws
catkin_make
3.下载eigen3,不编译
mkdir ~/src
cd ~/src
wget http://bitbucket.org/eigen/eigen/get/3.2.10.tar.bz2
mkdir eigen
tar -xvjf 3.2.10.tar.bz2 -C eigen --strip-components 1
4.安装作者的g2o
cd ~/src
git clone https://github.com/felixendres/g2o.git
cd ~/src/g2o
mkdir ~/src/g2o/build
cd ~/src/g2o/build
把~/src/g2o/CMakeLists.txt文件第251行
(G2O_EIGEN3_INCLUDE ${EIGEN3_INCLUDE_DIR} CACHE PATH "Directory of Eigen3")
改为
SET(G2O_EIGEN3_INCLUDE "/src/eigen" CACHE PATH "Directory of Eigen3")
编译g2o:
cd ~/src/g2o/build
cmake ../
make
sudo make install
5.安装pcl1.7.2
sudo apt-get install libpcl-dev
github作者使用pcl1.8,需要编译,并且修改rgbdslam的cmakelist.txt,另外还需要修改其他东西,不知道为什么要这样做(用pcl1.7万事大吉)
6.下载rgbdslam v2
cd ~/catkin_ws/src
git clone https://github.com/felixendres/rgbdslam_v2
7.Build siftgpu library
cd ~/catkin_ws/src/rgbdslam_v2/external/SiftGPU
sudo apt-get install libglew-dev
sudo apt-get install libdevil1c2 libdevil-dev
make
8.Build rgbdslam
给rgbdslam添加c++11支持
在rgbdslam的cmakelist.txt中最顶上添加
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
把
set(USE_SIFT_GPU 1 CACHE BOOL “build with support for siftgpu”)
改为
set(USE_SIFT_GPU 0 CACHE BOOL “build with support for siftgpu”)
编译
cd ~/catkin_ws
source ./devel/setup.bash
rosdep update
rosdep install rgbdslam
catkin_make
9.测试运行
新终端
roscore
新终端
cd ~/catkin_ws/
source ./devel/setup.bash
~/catkin_ws/devel/lib/rgbdslam/rgbdslam
照理说这里就能打开rgbdslam的界面了 接着只要打开kinect就行
附加
kinectv1的驱动安装,以及打开 https://www.cnblogs.com/sincere-diligence/p/9322313.html(未经测试,电脑上本来就装了)
跟github上的区别主要是在pcl版本上,测试直接使用sudo apt-get install libpcl-dev安装的pcl1.7可用,并且很多与之相关的东西不需要进行修改。
不要试着去在虚拟机上使用kinect,驱动装了没用的。
参考资料:
https://www.jianshu.com/p/6ae840a94e2f