rainerkuemmerle/g2o

g2o: A General Framework for Graph Optimization

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 1 hour ago
Added to GitGenius on September 20th, 2026
Created on January 12th, 2012
Open Issues & Pull Requests: 6 (+0)
GitHub issues: Enabled
Number of forks: 1,156
Total Stargazers: 3,467 (+0)
Total Subscribers: 107 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 0
New in 7 days: 0
Closed in 7 days: 0
Avg open age: N/A days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • Stale (185)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

g2o is a C++ framework for optimizing graph-based nonlinear error functions.

The tool addresses the problem of minimizing nonlinear error functions that can be represented as graphs, which is common in robotics and computer vision. Problems like simultaneous localization and mapping (SLAM) and bundle adjustment (BA) involve finding parameter configurations that best explain noisy measurements. g2o solves these nonlinear least squares problems by allowing users to specify new problem instances in just a few lines of code, making it easily extensible across a wide range of applications.

The framework is suitable for researchers and practitioners working on SLAM, bundle adjustment, and related robotics or computer vision problems who need a flexible, general-purpose optimization backend. The tool provides implementations for several variants of SLAM and BA out of the box. An experimental Python wrapper is available on a separate branch, with a PyPI release also maintained separately for those preferring Python bindings over direct C++ usage.

The project maintains active continuous integration across Linux, Mac, and Windows platforms. Code quality is monitored through automated analysis. The codebase uses pre-commit hooks to enforce standards. An experimental branch exploring updated memory management with smart pointers and expanded Python support is actively welcoming contributions.