g2o篇

编译高博的一些代码和运行自己的slam代码,g2o是经常会用到的;
其源码在git上可以下载,但是这里我是用的高博的rgbd-slam的代码的第三方库中的版本安装的;

在github上有g2o的安装指导说明

g2o - General Graph Optimization
#图优化

Linux: Build Status Windows: Build status

g2o is an open-source C++ framework for optimizing graph-based nonlinear error functions. g2o has been designed to be easily extensible to a wide range of problems and a new problem typically can be specified in a few lines of code. The current implementation provides solutions to several variants of SLAM and BA.

A wide range of problems in robotics as well as in computer-vision involve the minimization of a non-linear error function that can be represented as a graph. Typical instances are simultaneous localization and mapping (SLAM) or bundle adjustment (BA). The overall goal in these problems is to find the configuration of parameters or state variables that maximally explain a set of measurements affected by Gaussian noise. g2o is an open-source C++ framework for such nonlinear least squares problems. g2o has been designed to be easily extensible to a wide range of problems and a new problem typically can be specified in a few lines of code. The current implementation provides solutions to several variants of SLAM and BA. g2o offers a performance comparable to implementations of state-of-the-art approaches for the specific problems (02/2011).
Papers Describing the Approach:

Rainer Kuemmerle, Giorgio Grisetti, Hauke Strasdat, Kurt Konolige, and Wolfram Burgard g2o: A General Framework for Graph Optimization IEEE International Conference on Robotics and Automation (ICRA), 2011 http://ais.informatik.uni-freiburg.de/publications/papers/kuemmerle11icra.pdf
Documentation

A detailed description of how the library is structured and how to use and extend it can be found in /doc/g2o.pdf The API documentation can be generated as described in doc/doxygen/readme.txt
License

g2o is licensed under the BSD License. However, some libraries are available under different license terms. See below.

The following parts are licensed under LGPL3+:

    csparse_extension

The following parts are licensed under GPL3+:

    g2o_viewer
    g2o_incremental
    slam2d_g2o (example for 2D SLAM with a QGLviewer GUI)

Please note that some features of CHOLMOD (which may be used by g2o, see libsuitesparse below) are licensed under the GPL. To avoid that your binary has to be licensed under the GPL, you may have to re-compile CHOLMOD without including its GPL features. The CHOLMOD library distributed with, for example, Ubuntu or Debian includes the GPL features. The supernodal factorization is considered by g2o, if it is available.

Within the folder EXTERNAL we include software not written by us to guarantee easy compilation.

    csparse: LPGL2.1 (see EXTERNAL/csparse/License.txt) csparse is compiled if it is not provided by the system.
    ceres: BSD (see EXTERNAL/ceres/LICENSE) Headers to perform Automatic Differentiation
    freeglut: X Consortium (Copyright (c) 1999-2000 Pawel W. Olszta) We use a stripped down version for drawing text in OpenGL.

See the doc folder for the full text of the licenses.

g2o is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the licenses for more details.
Requirements

    cmake http://www.cmake.org/
    Eigen3 http://eigen.tuxfamily.org

On Ubuntu / Debian these dependencies are resolved by installing the following packages.

    cmake
    libeigen3-dev

Optional requirements

    suitesparse http://www.cise.ufl.edu/research/sparse/SuiteSparse/
    Qt5 http://qt-project.org
    libQGLViewer http://www.libqglviewer.com/

On Ubuntu / Debian these dependencies are resolved by installing the following packages.

    libsuitesparse-dev
    qtdeclarative5-dev
    qt5-qmake
    libqglviewer-dev

在ubuntu下安装g2o的时候需要先安装依赖项;
sudo proxychains apt-get install cmake libeigen3-dev libsuitesparse-dev libqt4-dev qt4-qmake libqglviewer-dev
不然在编译你自己的slam程序的时候容易出错:
而且即使你没安装依赖项,g2o也是能编译成功的,所以后面你发现g2o出问题的时候一时半会找不到问题出在哪。

/home/relaybot/mumu/slam/rgbd-slam-tutor2/rgbd-slam-tutor2/include/common_headers.h:35:55: fatal error: g2o/solvers/cholmod/linear_solver_cholmod.h: No such file or directory
 #include <g2o/solvers/cholmod/linear_solver_cholmod.h>
                                                       ^
compilation terminated.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值