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 details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

File details

Details for the file graphslam-0.0.1.tar.gz.

File metadata

  • Download URL: graphslam-0.0.1.tar.gz
  • Upload date:
  • Size: 9.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.5.2

File hashes

Hashes for graphslam-0.0.1.tar.gz
Algorithm Hash digest
SHA256 60b9445293da5fa0471f053ed758a24e527307b392a3820f3a007da1438488ab
MD5 0ecaffaf10dc305042360ae4d3da9ece
BLAKE2b-256 7ffc9387584da70807dd3bdff49a2a03c52b4a898d8e3c5b386c6ede55432072

See more details on using hashes here.

File details

Details for the file graphslam-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: graphslam-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 15.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.5.2

File hashes

Hashes for graphslam-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 dc2d9a8b7105992c4555ea4d10418de5421188c52c8696bbcdacbe554392df40
MD5 042e21017277ef4d56f1101626a7b62c
BLAKE2b-256 e8784d07635c657824f267edbca59e1e7193bfcc70184412d1f676afcfcd9bab

See more details on using hashes here.

Supported by

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