Skip to content

Software

g2o (General Graph Optimization)

From github.com/RainerKuemmerle/g2o (opens in a new tab)

  • Navigation and mapping
  • Library
  • BSD-2-Clause

g2o is a C++ framework for optimizing nonlinear error functions represented as graphs, used for problems like SLAM and bundle adjustment. It is designed to be easily extended to new problems.

Facts

GitHub stars
3,478read on 6 Nov 2026
Last update
26 Sept 2026Newest commit on master
Maintenance
Activea commit in the last 90 days
Difficulty
Advanced
Hardware it needs, as the project states it
Requires a C++17 compiler, cmake and Eigen3; optional dependencies include spdlog, suitesparse, Qt5 and libQGLViewer. Compilation is developed mainly on Linux, with experimental support for Mac OS X, Android and Windows.

Checked on GitHub on 6 Nov 2026.

Licenses

Code
BSD-2-Clause (opens in a new tab)

A person at Robotheca set it on 9 Nov 2026.

Commercial use
Yes

Overview

What it does: Robotheca's summary

  • Optimizes graph-based nonlinear least squares problems, such as simultaneous localization and mapping and bundle adjustment.
  • Designed so that a new problem can typically be specified in a few lines of code.
  • Provides solutions to several variants of SLAM and bundle adjustment.
  • Optional components include a Python wrapper on a experimental branch and third-party Python bindings.

Written by Robotheca from the project's README (opens in a new tab) at commit fd65627, not by its creator.

The README

Read the README on GitHub (opens in a new tab)

Files and versions

Facts read at commit fd65627

Robotheca never hosts the code: each link goes to the creator's own page.

Use it

How to install it, in the creator's words: The project's README (opens in a new tab)

Robotheca doesn't review code. Read it before running it.

Robotheca lists software as a reference: nothing is hosted or run here, and every fact links to where it was read.