最近在做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
如果显示如下结果,即安装成功。
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