编译运行ORB-SLAM 2并跑通自己的数据(一)

最近在做SLAM相关的项目,由于使用的ubuntu for ROS虚拟机无法使用摄像头的缘故,因此没有使用实时的摄像头建模,而是先拍摄视频,转化成图片数据后,再用SLAM进行建模。

运行环境:ubuntu 14.04 for ROS-indigo

首先是ORB-SLAM2的安装与编译:

(1)、环境准备:

1、安装OpenGL:

sudo apt-get install build-essential
sudo apt-get install libgl1-mesa-dev
sudo apt-get install libglu1-mesa-dev
sudo apt-get install freeglut3-dev

使用下列代码进行测试:

#include 

void init(void)
{
    glClearColor(0.0, 0.0, 0.0, 0.0);
    glMatrixMode(GL_PROJECTION);
    glOrtho(-5, 5, -5, 5, 5, 15);
    glMatrixMode(GL_MODELVIEW);
    gluLookAt(0, 0, 10, 0, 0, 0, 0, 1, 0);

    return;
}

void display(void)
{
    glClear(GL_COLOR_BUFFER_BIT);
    glColor3f(1.0, 0, 0);
    glutWireTeapot(3);
    glFlush();

    return;
}

int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
    glutInitWindowPosition(0, 0);
    glutInitWindowSize(300, 300);
    glutCreateWindow("OpenGL 3D View");
    init();
    glutDisplayFunc(display);
    glutMainLoop();

    return 0;
}

执行以下命令:

 gcc -o test test.c -lGL -lGLU -lglut

./test

如果显示如下结果,即安装成功。

编译运行ORB-SLAM 2并跑通自己的数据(一)_第1张图片

2、安装Glew        

sudo apt-get install libglew-dev​​​​​​​

3、安装CMake

sudo apt-get install cmake

4、安装Boost

sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev

5、安装python2.7、opencv 2.x、Eigen3

若使用的系统为ROS-indigo的话,系统自动安装了python 2.7、opencv 2.x以及Eigen3,因此不做详细介绍

6、安装 Pangolin​​​​​​​ ,用于最终结果的显示:

git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build
cd build
cmake -DCPP11_NO_BOOST=1 ..
make -j

注:如果使用的是虚拟机,交叉编译导致系统卡死的话,最后一步直接使用make 代替 make -j

(2)、编译ORB-SLAM2

git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
cd ORB_SLAM2
chmod +x build.sh
./build.sh

 

你可能感兴趣的:(SLAM)