Skip to main content

Graph SLAM solver in Python

Project description

https://travis-ci.com/JeffLIrion/python-graphslam.svg?branch=master https://coveralls.io/repos/github/JeffLIrion/python-graphslam/badge.svg?branch=master

Documentation for this package can be found at https://python-graphslam.readthedocs.io/.

This package implements a Graph SLAM solver in Python.

Features

  • Optimize R^2, R^3, and SE(2) datasets

  • Analytic Jacobians

  • Supports odometry edges

  • Load SE(2) datasets from .g2o files

Planned Features

  • Optimize SE(3) datasets

  • Load SE(3) datasets from .g2o files

Installation

pip install graphslam

Example Usage

>>> from graphslam.load import load_g2o_se2

>>> g = load_g2o_se2("input_INTEL_g2o")

>>> g.calc_chi2()

10140102.260977369

>>> g.optimize()

Iteration  1: chi2_prev = 10140102.2610, self._chi2 = 20807915286.0808
Iteration  2: chi2_prev = 20807915286.0808, self._chi2 = 17138938.1459
Iteration  3: chi2_prev = 17138938.1459, self._chi2 = 8449141792.5765
Iteration  4: chi2_prev = 8449141792.5765, self._chi2 = 227464854.3710
Iteration  5: chi2_prev = 227464854.3710, self._chi2 = 24133028.4628
Iteration  6: chi2_prev = 24133028.4628, self._chi2 = 1971385.3240
Iteration  7: chi2_prev = 1971385.3240, self._chi2 = 3381916.5105
Iteration  8: chi2_prev = 3381916.5105, self._chi2 = 772245.1031
Iteration  9: chi2_prev = 772245.1031, self._chi2 = 453384.0468
Iteration 10: chi2_prev = 453384.0468, self._chi2 = 182479.5075
Iteration 11: chi2_prev = 182479.5075, self._chi2 = 172322.2547
Iteration 12: chi2_prev = 172322.2547, self._chi2 = 157810.0204
Iteration 13: chi2_prev = 157810.0204, self._chi2 = 158375.4994
Iteration 14: chi2_prev = 158375.4994, self._chi2 = 157012.2347
Iteration 15: chi2_prev = 157012.2347, self._chi2 = 156990.8030
Iteration 16: chi2_prev = 156990.8030, self._chi2 = 156860.7980
Iteration 17: chi2_prev = 156860.7980, self._chi2 = 156856.9133

Live Coding Graph SLAM in Python

If you’re interested, you can watch as I coded this up.

  1. Live coding Graph SLAM in Python (Part 1)

  2. Live coding Graph SLAM in Python (Part 2)

  3. Live coding Graph SLAM in Python (Part 3)

  4. Live coding Graph SLAM in Python (Part 4)

  5. Live coding Graph SLAM in Python (Part 5)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

graphslam-0.0.1.tar.gz (9.6 kB view hashes)

Uploaded Source

Built Distribution

graphslam-0.0.1-py3-none-any.whl (15.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page