Graph SLAM solver in Python
Project description
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, SE(2), and SE(3) datasets
Analytic Jacobians
Supports odometry edges
Import and export .g2o files for SE(2) and SE(3) datasets
Installation
pip install graphslam
Example Usage
SE(3) Dataset
>>> from graphslam.load import load_g2o_se3
>>> g = load_g2o_se3("parking-garage.g2o")
>>> g.plot(vertex_markersize=1)
>>> g.calc_chi2()
16720.020602489112
>>> g.optimize()
>>> g.plot(vertex_markersize=1)
Output:
Iteration chi^2 rel. change --------- ----- ----------- 0 16720.0206 1 26.5495 -0.998412 2 1.2712 -0.952119 3 1.2402 -0.024439 4 1.2396 -0.000456 5 1.2395 -0.000091
Original |
Optimized |
SE(2) Dataset
>>> from graphslam.load import load_g2o_se2
>>> g = load_g2o_se2("input_INTEL.g2o") # https://lucacarlone.mit.edu/datasets/
>>> g.plot()
>>> g.calc_chi2()
7191686.382493544
>>> g.optimize()
>>> g.plot()
Output:
Iteration chi^2 rel. change --------- ----- ----------- 0 7191686.3825 1 319915276.1284 43.484042 2 124894535.1749 -0.609601 3 338185.8171 -0.997292 4 734.5142 -0.997828 5 215.8405 -0.706145 6 215.8405 -0.000000
Original |
Optimized |
References and Links
Live Coding Graph SLAM in Python
If you’re interested, you can watch as I coded this up.
Project details
Release history Release notifications | RSS feed
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.6.tar.gz
(13.1 kB
view hashes)
Built Distribution
graphslam-0.0.6-py3-none-any.whl
(20.3 kB
view hashes)
Close
Hashes for graphslam-0.0.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c55c3cd304ecb81907ec35e20d15786c91e0cacfde7074e2e34593e03bc67107 |
|
MD5 | 15720ef069edbaca2a3f3585fa24772f |
|
BLAKE2b-256 | f01e4c0a3748f7358a0d826a90eae3eba87e51f8fc4938377171f0e4af6d77fa |