No version for distro humble showing kinetic. Known supported distros are highlighted in the buttons above.
Repo symbol

sba_python repository

sba_python

ROS Distro
kinetic

Repository Summary

Checkout URI https://github.com/safijari/sba_python.git
VCS Type git
VCS Version python-devel
Last Updated 2025-03-20
Dev Status DEVELOPED
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sba_python 0.4.2

README

* Sparse Bundle Adjustment Library
  Originally developed at Willow Garage as part of the vslam stack, 
  this library is currently used by =open_karto=. The python wrapper
  currently only supports 2D mode and is being used as a backend for
  [[https://github.com/safijari/mp-slam][=mp-slam=]].
  
* Simple usecase example
  #+begin_src python
from sba_cpp import SPA2d, Node2d
import numpy as np

s = SPA2d()

"""
Test prep

start at x = 0, y = 0, yaw = 0 (0, 0, 0, 0)
start at x = 1, y = 1, yaw = 0 (1, 1.1, 1.1, 0)
start at x = 0, y = 1, yaw = 0 (2, 0.1, 1.1, 0)
"""

# x, y, yaw, node_id
s.add_node(0, 0, 0, 0)
s.add_node(1.1, 1.1, 0, 1)
s.add_node(0.1, 1.1, 0, 2)

# inverse of covariance
precision_matrix = np.identity(3)

# from_node_id, to_node_id, xdiff, ydiff, yawdiff, precision matrix
s.add_constraint(0, 1, 1.1, 1.1, 0, precision_matrix.tolist())
s.add_constraint(1, 2, -1.1, 0.1, 0, precision_matrix.tolist())
s.add_constraint(2, 0, -0.1, -1.1, 0, precision_matrix.tolist())

# the parameters below are
# max iterations, diagonal augmentation for LM
# use CSparse (set to True for the really fast version)
# initial tolerance for CG
# max iterations for some step in LM
s.compute(100, 1.0e-4, True, 1.0e-8, 50)

# The above values are defaults in the original c++ code and they work
# well there

for n in s.nodes:
    print(n.x, n.y, n.yaw)
  #+end_src

* Building with ROS 1
- Missing deps: openblas-dev, libsuitesparse-dev
- Change tag for pybind11 to v2.9.0, python versions that support ros1 do not work with latest pybind


No version for distro jazzy showing kinetic. Known supported distros are highlighted in the buttons above.
Repo symbol

sba_python repository

sba_python

ROS Distro
kinetic

Repository Summary

Checkout URI https://github.com/safijari/sba_python.git
VCS Type git
VCS Version python-devel
Last Updated 2025-03-20
Dev Status DEVELOPED
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sba_python 0.4.2

README

* Sparse Bundle Adjustment Library
  Originally developed at Willow Garage as part of the vslam stack, 
  this library is currently used by =open_karto=. The python wrapper
  currently only supports 2D mode and is being used as a backend for
  [[https://github.com/safijari/mp-slam][=mp-slam=]].
  
* Simple usecase example
  #+begin_src python
from sba_cpp import SPA2d, Node2d
import numpy as np

s = SPA2d()

"""
Test prep

start at x = 0, y = 0, yaw = 0 (0, 0, 0, 0)
start at x = 1, y = 1, yaw = 0 (1, 1.1, 1.1, 0)
start at x = 0, y = 1, yaw = 0 (2, 0.1, 1.1, 0)
"""

# x, y, yaw, node_id
s.add_node(0, 0, 0, 0)
s.add_node(1.1, 1.1, 0, 1)
s.add_node(0.1, 1.1, 0, 2)

# inverse of covariance
precision_matrix = np.identity(3)

# from_node_id, to_node_id, xdiff, ydiff, yawdiff, precision matrix
s.add_constraint(0, 1, 1.1, 1.1, 0, precision_matrix.tolist())
s.add_constraint(1, 2, -1.1, 0.1, 0, precision_matrix.tolist())
s.add_constraint(2, 0, -0.1, -1.1, 0, precision_matrix.tolist())

# the parameters below are
# max iterations, diagonal augmentation for LM
# use CSparse (set to True for the really fast version)
# initial tolerance for CG
# max iterations for some step in LM
s.compute(100, 1.0e-4, True, 1.0e-8, 50)

# The above values are defaults in the original c++ code and they work
# well there

for n in s.nodes:
    print(n.x, n.y, n.yaw)
  #+end_src

* Building with ROS 1
- Missing deps: openblas-dev, libsuitesparse-dev
- Change tag for pybind11 to v2.9.0, python versions that support ros1 do not work with latest pybind


No version for distro kilted showing kinetic. Known supported distros are highlighted in the buttons above.
Repo symbol

sba_python repository

sba_python

ROS Distro
kinetic

Repository Summary

Checkout URI https://github.com/safijari/sba_python.git
VCS Type git
VCS Version python-devel
Last Updated 2025-03-20
Dev Status DEVELOPED
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sba_python 0.4.2

README

* Sparse Bundle Adjustment Library
  Originally developed at Willow Garage as part of the vslam stack, 
  this library is currently used by =open_karto=. The python wrapper
  currently only supports 2D mode and is being used as a backend for
  [[https://github.com/safijari/mp-slam][=mp-slam=]].
  
* Simple usecase example
  #+begin_src python
from sba_cpp import SPA2d, Node2d
import numpy as np

s = SPA2d()

"""
Test prep

start at x = 0, y = 0, yaw = 0 (0, 0, 0, 0)
start at x = 1, y = 1, yaw = 0 (1, 1.1, 1.1, 0)
start at x = 0, y = 1, yaw = 0 (2, 0.1, 1.1, 0)
"""

# x, y, yaw, node_id
s.add_node(0, 0, 0, 0)
s.add_node(1.1, 1.1, 0, 1)
s.add_node(0.1, 1.1, 0, 2)

# inverse of covariance
precision_matrix = np.identity(3)

# from_node_id, to_node_id, xdiff, ydiff, yawdiff, precision matrix
s.add_constraint(0, 1, 1.1, 1.1, 0, precision_matrix.tolist())
s.add_constraint(1, 2, -1.1, 0.1, 0, precision_matrix.tolist())
s.add_constraint(2, 0, -0.1, -1.1, 0, precision_matrix.tolist())

# the parameters below are
# max iterations, diagonal augmentation for LM
# use CSparse (set to True for the really fast version)
# initial tolerance for CG
# max iterations for some step in LM
s.compute(100, 1.0e-4, True, 1.0e-8, 50)

# The above values are defaults in the original c++ code and they work
# well there

for n in s.nodes:
    print(n.x, n.y, n.yaw)
  #+end_src

* Building with ROS 1
- Missing deps: openblas-dev, libsuitesparse-dev
- Change tag for pybind11 to v2.9.0, python versions that support ros1 do not work with latest pybind


No version for distro rolling showing kinetic. Known supported distros are highlighted in the buttons above.
Repo symbol

sba_python repository

sba_python

ROS Distro
kinetic

Repository Summary

Checkout URI https://github.com/safijari/sba_python.git
VCS Type git
VCS Version python-devel
Last Updated 2025-03-20
Dev Status DEVELOPED
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sba_python 0.4.2

README

* Sparse Bundle Adjustment Library
  Originally developed at Willow Garage as part of the vslam stack, 
  this library is currently used by =open_karto=. The python wrapper
  currently only supports 2D mode and is being used as a backend for
  [[https://github.com/safijari/mp-slam][=mp-slam=]].
  
* Simple usecase example
  #+begin_src python
from sba_cpp import SPA2d, Node2d
import numpy as np

s = SPA2d()

"""
Test prep

start at x = 0, y = 0, yaw = 0 (0, 0, 0, 0)
start at x = 1, y = 1, yaw = 0 (1, 1.1, 1.1, 0)
start at x = 0, y = 1, yaw = 0 (2, 0.1, 1.1, 0)
"""

# x, y, yaw, node_id
s.add_node(0, 0, 0, 0)
s.add_node(1.1, 1.1, 0, 1)
s.add_node(0.1, 1.1, 0, 2)

# inverse of covariance
precision_matrix = np.identity(3)

# from_node_id, to_node_id, xdiff, ydiff, yawdiff, precision matrix
s.add_constraint(0, 1, 1.1, 1.1, 0, precision_matrix.tolist())
s.add_constraint(1, 2, -1.1, 0.1, 0, precision_matrix.tolist())
s.add_constraint(2, 0, -0.1, -1.1, 0, precision_matrix.tolist())

# the parameters below are
# max iterations, diagonal augmentation for LM
# use CSparse (set to True for the really fast version)
# initial tolerance for CG
# max iterations for some step in LM
s.compute(100, 1.0e-4, True, 1.0e-8, 50)

# The above values are defaults in the original c++ code and they work
# well there

for n in s.nodes:
    print(n.x, n.y, n.yaw)
  #+end_src

* Building with ROS 1
- Missing deps: openblas-dev, libsuitesparse-dev
- Change tag for pybind11 to v2.9.0, python versions that support ros1 do not work with latest pybind


No version for distro ardent showing kinetic. Known supported distros are highlighted in the buttons above.
Repo symbol

sba_python repository

sba_python

ROS Distro
kinetic

Repository Summary

Checkout URI https://github.com/safijari/sba_python.git
VCS Type git
VCS Version python-devel
Last Updated 2025-03-20
Dev Status DEVELOPED
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sba_python 0.4.2

README

* Sparse Bundle Adjustment Library
  Originally developed at Willow Garage as part of the vslam stack, 
  this library is currently used by =open_karto=. The python wrapper
  currently only supports 2D mode and is being used as a backend for
  [[https://github.com/safijari/mp-slam][=mp-slam=]].
  
* Simple usecase example
  #+begin_src python
from sba_cpp import SPA2d, Node2d
import numpy as np

s = SPA2d()

"""
Test prep

start at x = 0, y = 0, yaw = 0 (0, 0, 0, 0)
start at x = 1, y = 1, yaw = 0 (1, 1.1, 1.1, 0)
start at x = 0, y = 1, yaw = 0 (2, 0.1, 1.1, 0)
"""

# x, y, yaw, node_id
s.add_node(0, 0, 0, 0)
s.add_node(1.1, 1.1, 0, 1)
s.add_node(0.1, 1.1, 0, 2)

# inverse of covariance
precision_matrix = np.identity(3)

# from_node_id, to_node_id, xdiff, ydiff, yawdiff, precision matrix
s.add_constraint(0, 1, 1.1, 1.1, 0, precision_matrix.tolist())
s.add_constraint(1, 2, -1.1, 0.1, 0, precision_matrix.tolist())
s.add_constraint(2, 0, -0.1, -1.1, 0, precision_matrix.tolist())

# the parameters below are
# max iterations, diagonal augmentation for LM
# use CSparse (set to True for the really fast version)
# initial tolerance for CG
# max iterations for some step in LM
s.compute(100, 1.0e-4, True, 1.0e-8, 50)

# The above values are defaults in the original c++ code and they work
# well there

for n in s.nodes:
    print(n.x, n.y, n.yaw)
  #+end_src

* Building with ROS 1
- Missing deps: openblas-dev, libsuitesparse-dev
- Change tag for pybind11 to v2.9.0, python versions that support ros1 do not work with latest pybind


No version for distro bouncy showing kinetic. Known supported distros are highlighted in the buttons above.
Repo symbol

sba_python repository

sba_python

ROS Distro
kinetic

Repository Summary

Checkout URI https://github.com/safijari/sba_python.git
VCS Type git
VCS Version python-devel
Last Updated 2025-03-20
Dev Status DEVELOPED
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sba_python 0.4.2

README

* Sparse Bundle Adjustment Library
  Originally developed at Willow Garage as part of the vslam stack, 
  this library is currently used by =open_karto=. The python wrapper
  currently only supports 2D mode and is being used as a backend for
  [[https://github.com/safijari/mp-slam][=mp-slam=]].
  
* Simple usecase example
  #+begin_src python
from sba_cpp import SPA2d, Node2d
import numpy as np

s = SPA2d()

"""
Test prep

start at x = 0, y = 0, yaw = 0 (0, 0, 0, 0)
start at x = 1, y = 1, yaw = 0 (1, 1.1, 1.1, 0)
start at x = 0, y = 1, yaw = 0 (2, 0.1, 1.1, 0)
"""

# x, y, yaw, node_id
s.add_node(0, 0, 0, 0)
s.add_node(1.1, 1.1, 0, 1)
s.add_node(0.1, 1.1, 0, 2)

# inverse of covariance
precision_matrix = np.identity(3)

# from_node_id, to_node_id, xdiff, ydiff, yawdiff, precision matrix
s.add_constraint(0, 1, 1.1, 1.1, 0, precision_matrix.tolist())
s.add_constraint(1, 2, -1.1, 0.1, 0, precision_matrix.tolist())
s.add_constraint(2, 0, -0.1, -1.1, 0, precision_matrix.tolist())

# the parameters below are
# max iterations, diagonal augmentation for LM
# use CSparse (set to True for the really fast version)
# initial tolerance for CG
# max iterations for some step in LM
s.compute(100, 1.0e-4, True, 1.0e-8, 50)

# The above values are defaults in the original c++ code and they work
# well there

for n in s.nodes:
    print(n.x, n.y, n.yaw)
  #+end_src

* Building with ROS 1
- Missing deps: openblas-dev, libsuitesparse-dev
- Change tag for pybind11 to v2.9.0, python versions that support ros1 do not work with latest pybind


No version for distro crystal showing kinetic. Known supported distros are highlighted in the buttons above.
Repo symbol

sba_python repository

sba_python

ROS Distro
kinetic

Repository Summary

Checkout URI https://github.com/safijari/sba_python.git
VCS Type git
VCS Version python-devel
Last Updated 2025-03-20
Dev Status DEVELOPED
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sba_python 0.4.2

README

* Sparse Bundle Adjustment Library
  Originally developed at Willow Garage as part of the vslam stack, 
  this library is currently used by =open_karto=. The python wrapper
  currently only supports 2D mode and is being used as a backend for
  [[https://github.com/safijari/mp-slam][=mp-slam=]].
  
* Simple usecase example
  #+begin_src python
from sba_cpp import SPA2d, Node2d
import numpy as np

s = SPA2d()

"""
Test prep

start at x = 0, y = 0, yaw = 0 (0, 0, 0, 0)
start at x = 1, y = 1, yaw = 0 (1, 1.1, 1.1, 0)
start at x = 0, y = 1, yaw = 0 (2, 0.1, 1.1, 0)
"""

# x, y, yaw, node_id
s.add_node(0, 0, 0, 0)
s.add_node(1.1, 1.1, 0, 1)
s.add_node(0.1, 1.1, 0, 2)

# inverse of covariance
precision_matrix = np.identity(3)

# from_node_id, to_node_id, xdiff, ydiff, yawdiff, precision matrix
s.add_constraint(0, 1, 1.1, 1.1, 0, precision_matrix.tolist())
s.add_constraint(1, 2, -1.1, 0.1, 0, precision_matrix.tolist())
s.add_constraint(2, 0, -0.1, -1.1, 0, precision_matrix.tolist())

# the parameters below are
# max iterations, diagonal augmentation for LM
# use CSparse (set to True for the really fast version)
# initial tolerance for CG
# max iterations for some step in LM
s.compute(100, 1.0e-4, True, 1.0e-8, 50)

# The above values are defaults in the original c++ code and they work
# well there

for n in s.nodes:
    print(n.x, n.y, n.yaw)
  #+end_src

* Building with ROS 1
- Missing deps: openblas-dev, libsuitesparse-dev
- Change tag for pybind11 to v2.9.0, python versions that support ros1 do not work with latest pybind


No version for distro eloquent showing kinetic. Known supported distros are highlighted in the buttons above.
Repo symbol

sba_python repository

sba_python

ROS Distro
kinetic

Repository Summary

Checkout URI https://github.com/safijari/sba_python.git
VCS Type git
VCS Version python-devel
Last Updated 2025-03-20
Dev Status DEVELOPED
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sba_python 0.4.2

README

* Sparse Bundle Adjustment Library
  Originally developed at Willow Garage as part of the vslam stack, 
  this library is currently used by =open_karto=. The python wrapper
  currently only supports 2D mode and is being used as a backend for
  [[https://github.com/safijari/mp-slam][=mp-slam=]].
  
* Simple usecase example
  #+begin_src python
from sba_cpp import SPA2d, Node2d
import numpy as np

s = SPA2d()

"""
Test prep

start at x = 0, y = 0, yaw = 0 (0, 0, 0, 0)
start at x = 1, y = 1, yaw = 0 (1, 1.1, 1.1, 0)
start at x = 0, y = 1, yaw = 0 (2, 0.1, 1.1, 0)
"""

# x, y, yaw, node_id
s.add_node(0, 0, 0, 0)
s.add_node(1.1, 1.1, 0, 1)
s.add_node(0.1, 1.1, 0, 2)

# inverse of covariance
precision_matrix = np.identity(3)

# from_node_id, to_node_id, xdiff, ydiff, yawdiff, precision matrix
s.add_constraint(0, 1, 1.1, 1.1, 0, precision_matrix.tolist())
s.add_constraint(1, 2, -1.1, 0.1, 0, precision_matrix.tolist())
s.add_constraint(2, 0, -0.1, -1.1, 0, precision_matrix.tolist())

# the parameters below are
# max iterations, diagonal augmentation for LM
# use CSparse (set to True for the really fast version)
# initial tolerance for CG
# max iterations for some step in LM
s.compute(100, 1.0e-4, True, 1.0e-8, 50)

# The above values are defaults in the original c++ code and they work
# well there

for n in s.nodes:
    print(n.x, n.y, n.yaw)
  #+end_src

* Building with ROS 1
- Missing deps: openblas-dev, libsuitesparse-dev
- Change tag for pybind11 to v2.9.0, python versions that support ros1 do not work with latest pybind


No version for distro dashing showing kinetic. Known supported distros are highlighted in the buttons above.
Repo symbol

sba_python repository

sba_python

ROS Distro
kinetic

Repository Summary

Checkout URI https://github.com/safijari/sba_python.git
VCS Type git
VCS Version python-devel
Last Updated 2025-03-20
Dev Status DEVELOPED
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sba_python 0.4.2

README

* Sparse Bundle Adjustment Library
  Originally developed at Willow Garage as part of the vslam stack, 
  this library is currently used by =open_karto=. The python wrapper
  currently only supports 2D mode and is being used as a backend for
  [[https://github.com/safijari/mp-slam][=mp-slam=]].
  
* Simple usecase example
  #+begin_src python
from sba_cpp import SPA2d, Node2d
import numpy as np

s = SPA2d()

"""
Test prep

start at x = 0, y = 0, yaw = 0 (0, 0, 0, 0)
start at x = 1, y = 1, yaw = 0 (1, 1.1, 1.1, 0)
start at x = 0, y = 1, yaw = 0 (2, 0.1, 1.1, 0)
"""

# x, y, yaw, node_id
s.add_node(0, 0, 0, 0)
s.add_node(1.1, 1.1, 0, 1)
s.add_node(0.1, 1.1, 0, 2)

# inverse of covariance
precision_matrix = np.identity(3)

# from_node_id, to_node_id, xdiff, ydiff, yawdiff, precision matrix
s.add_constraint(0, 1, 1.1, 1.1, 0, precision_matrix.tolist())
s.add_constraint(1, 2, -1.1, 0.1, 0, precision_matrix.tolist())
s.add_constraint(2, 0, -0.1, -1.1, 0, precision_matrix.tolist())

# the parameters below are
# max iterations, diagonal augmentation for LM
# use CSparse (set to True for the really fast version)
# initial tolerance for CG
# max iterations for some step in LM
s.compute(100, 1.0e-4, True, 1.0e-8, 50)

# The above values are defaults in the original c++ code and they work
# well there

for n in s.nodes:
    print(n.x, n.y, n.yaw)
  #+end_src

* Building with ROS 1
- Missing deps: openblas-dev, libsuitesparse-dev
- Change tag for pybind11 to v2.9.0, python versions that support ros1 do not work with latest pybind


No version for distro galactic showing kinetic. Known supported distros are highlighted in the buttons above.
Repo symbol

sba_python repository

sba_python

ROS Distro
kinetic

Repository Summary

Checkout URI https://github.com/safijari/sba_python.git
VCS Type git
VCS Version python-devel
Last Updated 2025-03-20
Dev Status DEVELOPED
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sba_python 0.4.2

README

* Sparse Bundle Adjustment Library
  Originally developed at Willow Garage as part of the vslam stack, 
  this library is currently used by =open_karto=. The python wrapper
  currently only supports 2D mode and is being used as a backend for
  [[https://github.com/safijari/mp-slam][=mp-slam=]].
  
* Simple usecase example
  #+begin_src python
from sba_cpp import SPA2d, Node2d
import numpy as np

s = SPA2d()

"""
Test prep

start at x = 0, y = 0, yaw = 0 (0, 0, 0, 0)
start at x = 1, y = 1, yaw = 0 (1, 1.1, 1.1, 0)
start at x = 0, y = 1, yaw = 0 (2, 0.1, 1.1, 0)
"""

# x, y, yaw, node_id
s.add_node(0, 0, 0, 0)
s.add_node(1.1, 1.1, 0, 1)
s.add_node(0.1, 1.1, 0, 2)

# inverse of covariance
precision_matrix = np.identity(3)

# from_node_id, to_node_id, xdiff, ydiff, yawdiff, precision matrix
s.add_constraint(0, 1, 1.1, 1.1, 0, precision_matrix.tolist())
s.add_constraint(1, 2, -1.1, 0.1, 0, precision_matrix.tolist())
s.add_constraint(2, 0, -0.1, -1.1, 0, precision_matrix.tolist())

# the parameters below are
# max iterations, diagonal augmentation for LM
# use CSparse (set to True for the really fast version)
# initial tolerance for CG
# max iterations for some step in LM
s.compute(100, 1.0e-4, True, 1.0e-8, 50)

# The above values are defaults in the original c++ code and they work
# well there

for n in s.nodes:
    print(n.x, n.y, n.yaw)
  #+end_src

* Building with ROS 1
- Missing deps: openblas-dev, libsuitesparse-dev
- Change tag for pybind11 to v2.9.0, python versions that support ros1 do not work with latest pybind


No version for distro foxy showing kinetic. Known supported distros are highlighted in the buttons above.
Repo symbol

sba_python repository

sba_python

ROS Distro
kinetic

Repository Summary

Checkout URI https://github.com/safijari/sba_python.git
VCS Type git
VCS Version python-devel
Last Updated 2025-03-20
Dev Status DEVELOPED
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sba_python 0.4.2

README

* Sparse Bundle Adjustment Library
  Originally developed at Willow Garage as part of the vslam stack, 
  this library is currently used by =open_karto=. The python wrapper
  currently only supports 2D mode and is being used as a backend for
  [[https://github.com/safijari/mp-slam][=mp-slam=]].
  
* Simple usecase example
  #+begin_src python
from sba_cpp import SPA2d, Node2d
import numpy as np

s = SPA2d()

"""
Test prep

start at x = 0, y = 0, yaw = 0 (0, 0, 0, 0)
start at x = 1, y = 1, yaw = 0 (1, 1.1, 1.1, 0)
start at x = 0, y = 1, yaw = 0 (2, 0.1, 1.1, 0)
"""

# x, y, yaw, node_id
s.add_node(0, 0, 0, 0)
s.add_node(1.1, 1.1, 0, 1)
s.add_node(0.1, 1.1, 0, 2)

# inverse of covariance
precision_matrix = np.identity(3)

# from_node_id, to_node_id, xdiff, ydiff, yawdiff, precision matrix
s.add_constraint(0, 1, 1.1, 1.1, 0, precision_matrix.tolist())
s.add_constraint(1, 2, -1.1, 0.1, 0, precision_matrix.tolist())
s.add_constraint(2, 0, -0.1, -1.1, 0, precision_matrix.tolist())

# the parameters below are
# max iterations, diagonal augmentation for LM
# use CSparse (set to True for the really fast version)
# initial tolerance for CG
# max iterations for some step in LM
s.compute(100, 1.0e-4, True, 1.0e-8, 50)

# The above values are defaults in the original c++ code and they work
# well there

for n in s.nodes:
    print(n.x, n.y, n.yaw)
  #+end_src

* Building with ROS 1
- Missing deps: openblas-dev, libsuitesparse-dev
- Change tag for pybind11 to v2.9.0, python versions that support ros1 do not work with latest pybind


No version for distro iron showing kinetic. Known supported distros are highlighted in the buttons above.
Repo symbol

sba_python repository

sba_python

ROS Distro
kinetic

Repository Summary

Checkout URI https://github.com/safijari/sba_python.git
VCS Type git
VCS Version python-devel
Last Updated 2025-03-20
Dev Status DEVELOPED
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sba_python 0.4.2

README

* Sparse Bundle Adjustment Library
  Originally developed at Willow Garage as part of the vslam stack, 
  this library is currently used by =open_karto=. The python wrapper
  currently only supports 2D mode and is being used as a backend for
  [[https://github.com/safijari/mp-slam][=mp-slam=]].
  
* Simple usecase example
  #+begin_src python
from sba_cpp import SPA2d, Node2d
import numpy as np

s = SPA2d()

"""
Test prep

start at x = 0, y = 0, yaw = 0 (0, 0, 0, 0)
start at x = 1, y = 1, yaw = 0 (1, 1.1, 1.1, 0)
start at x = 0, y = 1, yaw = 0 (2, 0.1, 1.1, 0)
"""

# x, y, yaw, node_id
s.add_node(0, 0, 0, 0)
s.add_node(1.1, 1.1, 0, 1)
s.add_node(0.1, 1.1, 0, 2)

# inverse of covariance
precision_matrix = np.identity(3)

# from_node_id, to_node_id, xdiff, ydiff, yawdiff, precision matrix
s.add_constraint(0, 1, 1.1, 1.1, 0, precision_matrix.tolist())
s.add_constraint(1, 2, -1.1, 0.1, 0, precision_matrix.tolist())
s.add_constraint(2, 0, -0.1, -1.1, 0, precision_matrix.tolist())

# the parameters below are
# max iterations, diagonal augmentation for LM
# use CSparse (set to True for the really fast version)
# initial tolerance for CG
# max iterations for some step in LM
s.compute(100, 1.0e-4, True, 1.0e-8, 50)

# The above values are defaults in the original c++ code and they work
# well there

for n in s.nodes:
    print(n.x, n.y, n.yaw)
  #+end_src

* Building with ROS 1
- Missing deps: openblas-dev, libsuitesparse-dev
- Change tag for pybind11 to v2.9.0, python versions that support ros1 do not work with latest pybind


No version for distro lunar showing kinetic. Known supported distros are highlighted in the buttons above.
Repo symbol

sba_python repository

sba_python

ROS Distro
kinetic

Repository Summary

Checkout URI https://github.com/safijari/sba_python.git
VCS Type git
VCS Version python-devel
Last Updated 2025-03-20
Dev Status DEVELOPED
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sba_python 0.4.2

README

* Sparse Bundle Adjustment Library
  Originally developed at Willow Garage as part of the vslam stack, 
  this library is currently used by =open_karto=. The python wrapper
  currently only supports 2D mode and is being used as a backend for
  [[https://github.com/safijari/mp-slam][=mp-slam=]].
  
* Simple usecase example
  #+begin_src python
from sba_cpp import SPA2d, Node2d
import numpy as np

s = SPA2d()

"""
Test prep

start at x = 0, y = 0, yaw = 0 (0, 0, 0, 0)
start at x = 1, y = 1, yaw = 0 (1, 1.1, 1.1, 0)
start at x = 0, y = 1, yaw = 0 (2, 0.1, 1.1, 0)
"""

# x, y, yaw, node_id
s.add_node(0, 0, 0, 0)
s.add_node(1.1, 1.1, 0, 1)
s.add_node(0.1, 1.1, 0, 2)

# inverse of covariance
precision_matrix = np.identity(3)

# from_node_id, to_node_id, xdiff, ydiff, yawdiff, precision matrix
s.add_constraint(0, 1, 1.1, 1.1, 0, precision_matrix.tolist())
s.add_constraint(1, 2, -1.1, 0.1, 0, precision_matrix.tolist())
s.add_constraint(2, 0, -0.1, -1.1, 0, precision_matrix.tolist())

# the parameters below are
# max iterations, diagonal augmentation for LM
# use CSparse (set to True for the really fast version)
# initial tolerance for CG
# max iterations for some step in LM
s.compute(100, 1.0e-4, True, 1.0e-8, 50)

# The above values are defaults in the original c++ code and they work
# well there

for n in s.nodes:
    print(n.x, n.y, n.yaw)
  #+end_src

* Building with ROS 1
- Missing deps: openblas-dev, libsuitesparse-dev
- Change tag for pybind11 to v2.9.0, python versions that support ros1 do not work with latest pybind


No version for distro jade showing kinetic. Known supported distros are highlighted in the buttons above.
Repo symbol

sba_python repository

sba_python

ROS Distro
kinetic

Repository Summary

Checkout URI https://github.com/safijari/sba_python.git
VCS Type git
VCS Version python-devel
Last Updated 2025-03-20
Dev Status DEVELOPED
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sba_python 0.4.2

README

* Sparse Bundle Adjustment Library
  Originally developed at Willow Garage as part of the vslam stack, 
  this library is currently used by =open_karto=. The python wrapper
  currently only supports 2D mode and is being used as a backend for
  [[https://github.com/safijari/mp-slam][=mp-slam=]].
  
* Simple usecase example
  #+begin_src python
from sba_cpp import SPA2d, Node2d
import numpy as np

s = SPA2d()

"""
Test prep

start at x = 0, y = 0, yaw = 0 (0, 0, 0, 0)
start at x = 1, y = 1, yaw = 0 (1, 1.1, 1.1, 0)
start at x = 0, y = 1, yaw = 0 (2, 0.1, 1.1, 0)
"""

# x, y, yaw, node_id
s.add_node(0, 0, 0, 0)
s.add_node(1.1, 1.1, 0, 1)
s.add_node(0.1, 1.1, 0, 2)

# inverse of covariance
precision_matrix = np.identity(3)

# from_node_id, to_node_id, xdiff, ydiff, yawdiff, precision matrix
s.add_constraint(0, 1, 1.1, 1.1, 0, precision_matrix.tolist())
s.add_constraint(1, 2, -1.1, 0.1, 0, precision_matrix.tolist())
s.add_constraint(2, 0, -0.1, -1.1, 0, precision_matrix.tolist())

# the parameters below are
# max iterations, diagonal augmentation for LM
# use CSparse (set to True for the really fast version)
# initial tolerance for CG
# max iterations for some step in LM
s.compute(100, 1.0e-4, True, 1.0e-8, 50)

# The above values are defaults in the original c++ code and they work
# well there

for n in s.nodes:
    print(n.x, n.y, n.yaw)
  #+end_src

* Building with ROS 1
- Missing deps: openblas-dev, libsuitesparse-dev
- Change tag for pybind11 to v2.9.0, python versions that support ros1 do not work with latest pybind


No version for distro indigo showing kinetic. Known supported distros are highlighted in the buttons above.
Repo symbol

sba_python repository

sba_python

ROS Distro
kinetic

Repository Summary

Checkout URI https://github.com/safijari/sba_python.git
VCS Type git
VCS Version python-devel
Last Updated 2025-03-20
Dev Status DEVELOPED
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sba_python 0.4.2

README

* Sparse Bundle Adjustment Library
  Originally developed at Willow Garage as part of the vslam stack, 
  this library is currently used by =open_karto=. The python wrapper
  currently only supports 2D mode and is being used as a backend for
  [[https://github.com/safijari/mp-slam][=mp-slam=]].
  
* Simple usecase example
  #+begin_src python
from sba_cpp import SPA2d, Node2d
import numpy as np

s = SPA2d()

"""
Test prep

start at x = 0, y = 0, yaw = 0 (0, 0, 0, 0)
start at x = 1, y = 1, yaw = 0 (1, 1.1, 1.1, 0)
start at x = 0, y = 1, yaw = 0 (2, 0.1, 1.1, 0)
"""

# x, y, yaw, node_id
s.add_node(0, 0, 0, 0)
s.add_node(1.1, 1.1, 0, 1)
s.add_node(0.1, 1.1, 0, 2)

# inverse of covariance
precision_matrix = np.identity(3)

# from_node_id, to_node_id, xdiff, ydiff, yawdiff, precision matrix
s.add_constraint(0, 1, 1.1, 1.1, 0, precision_matrix.tolist())
s.add_constraint(1, 2, -1.1, 0.1, 0, precision_matrix.tolist())
s.add_constraint(2, 0, -0.1, -1.1, 0, precision_matrix.tolist())

# the parameters below are
# max iterations, diagonal augmentation for LM
# use CSparse (set to True for the really fast version)
# initial tolerance for CG
# max iterations for some step in LM
s.compute(100, 1.0e-4, True, 1.0e-8, 50)

# The above values are defaults in the original c++ code and they work
# well there

for n in s.nodes:
    print(n.x, n.y, n.yaw)
  #+end_src

* Building with ROS 1
- Missing deps: openblas-dev, libsuitesparse-dev
- Change tag for pybind11 to v2.9.0, python versions that support ros1 do not work with latest pybind


No version for distro hydro showing kinetic. Known supported distros are highlighted in the buttons above.
Repo symbol

sba_python repository

sba_python

ROS Distro
kinetic

Repository Summary

Checkout URI https://github.com/safijari/sba_python.git
VCS Type git
VCS Version python-devel
Last Updated 2025-03-20
Dev Status DEVELOPED
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sba_python 0.4.2

README

* Sparse Bundle Adjustment Library
  Originally developed at Willow Garage as part of the vslam stack, 
  this library is currently used by =open_karto=. The python wrapper
  currently only supports 2D mode and is being used as a backend for
  [[https://github.com/safijari/mp-slam][=mp-slam=]].
  
* Simple usecase example
  #+begin_src python
from sba_cpp import SPA2d, Node2d
import numpy as np

s = SPA2d()

"""
Test prep

start at x = 0, y = 0, yaw = 0 (0, 0, 0, 0)
start at x = 1, y = 1, yaw = 0 (1, 1.1, 1.1, 0)
start at x = 0, y = 1, yaw = 0 (2, 0.1, 1.1, 0)
"""

# x, y, yaw, node_id
s.add_node(0, 0, 0, 0)
s.add_node(1.1, 1.1, 0, 1)
s.add_node(0.1, 1.1, 0, 2)

# inverse of covariance
precision_matrix = np.identity(3)

# from_node_id, to_node_id, xdiff, ydiff, yawdiff, precision matrix
s.add_constraint(0, 1, 1.1, 1.1, 0, precision_matrix.tolist())
s.add_constraint(1, 2, -1.1, 0.1, 0, precision_matrix.tolist())
s.add_constraint(2, 0, -0.1, -1.1, 0, precision_matrix.tolist())

# the parameters below are
# max iterations, diagonal augmentation for LM
# use CSparse (set to True for the really fast version)
# initial tolerance for CG
# max iterations for some step in LM
s.compute(100, 1.0e-4, True, 1.0e-8, 50)

# The above values are defaults in the original c++ code and they work
# well there

for n in s.nodes:
    print(n.x, n.y, n.yaw)
  #+end_src

* Building with ROS 1
- Missing deps: openblas-dev, libsuitesparse-dev
- Change tag for pybind11 to v2.9.0, python versions that support ros1 do not work with latest pybind


Repo symbol

sba_python repository

sba_python

ROS Distro
kinetic

Repository Summary

Checkout URI https://github.com/safijari/sba_python.git
VCS Type git
VCS Version python-devel
Last Updated 2025-03-20
Dev Status DEVELOPED
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sba_python 0.4.2

README

* Sparse Bundle Adjustment Library
  Originally developed at Willow Garage as part of the vslam stack, 
  this library is currently used by =open_karto=. The python wrapper
  currently only supports 2D mode and is being used as a backend for
  [[https://github.com/safijari/mp-slam][=mp-slam=]].
  
* Simple usecase example
  #+begin_src python
from sba_cpp import SPA2d, Node2d
import numpy as np

s = SPA2d()

"""
Test prep

start at x = 0, y = 0, yaw = 0 (0, 0, 0, 0)
start at x = 1, y = 1, yaw = 0 (1, 1.1, 1.1, 0)
start at x = 0, y = 1, yaw = 0 (2, 0.1, 1.1, 0)
"""

# x, y, yaw, node_id
s.add_node(0, 0, 0, 0)
s.add_node(1.1, 1.1, 0, 1)
s.add_node(0.1, 1.1, 0, 2)

# inverse of covariance
precision_matrix = np.identity(3)

# from_node_id, to_node_id, xdiff, ydiff, yawdiff, precision matrix
s.add_constraint(0, 1, 1.1, 1.1, 0, precision_matrix.tolist())
s.add_constraint(1, 2, -1.1, 0.1, 0, precision_matrix.tolist())
s.add_constraint(2, 0, -0.1, -1.1, 0, precision_matrix.tolist())

# the parameters below are
# max iterations, diagonal augmentation for LM
# use CSparse (set to True for the really fast version)
# initial tolerance for CG
# max iterations for some step in LM
s.compute(100, 1.0e-4, True, 1.0e-8, 50)

# The above values are defaults in the original c++ code and they work
# well there

for n in s.nodes:
    print(n.x, n.y, n.yaw)
  #+end_src

* Building with ROS 1
- Missing deps: openblas-dev, libsuitesparse-dev
- Change tag for pybind11 to v2.9.0, python versions that support ros1 do not work with latest pybind


Repo symbol

sba_python repository

sba_python

ROS Distro
melodic

Repository Summary

Checkout URI https://github.com/safijari/sba_python.git
VCS Type git
VCS Version python-devel
Last Updated 2025-03-20
Dev Status DEVELOPED
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sba_python 0.4.2

README

* Sparse Bundle Adjustment Library
  Originally developed at Willow Garage as part of the vslam stack, 
  this library is currently used by =open_karto=. The python wrapper
  currently only supports 2D mode and is being used as a backend for
  [[https://github.com/safijari/mp-slam][=mp-slam=]].
  
* Simple usecase example
  #+begin_src python
from sba_cpp import SPA2d, Node2d
import numpy as np

s = SPA2d()

"""
Test prep

start at x = 0, y = 0, yaw = 0 (0, 0, 0, 0)
start at x = 1, y = 1, yaw = 0 (1, 1.1, 1.1, 0)
start at x = 0, y = 1, yaw = 0 (2, 0.1, 1.1, 0)
"""

# x, y, yaw, node_id
s.add_node(0, 0, 0, 0)
s.add_node(1.1, 1.1, 0, 1)
s.add_node(0.1, 1.1, 0, 2)

# inverse of covariance
precision_matrix = np.identity(3)

# from_node_id, to_node_id, xdiff, ydiff, yawdiff, precision matrix
s.add_constraint(0, 1, 1.1, 1.1, 0, precision_matrix.tolist())
s.add_constraint(1, 2, -1.1, 0.1, 0, precision_matrix.tolist())
s.add_constraint(2, 0, -0.1, -1.1, 0, precision_matrix.tolist())

# the parameters below are
# max iterations, diagonal augmentation for LM
# use CSparse (set to True for the really fast version)
# initial tolerance for CG
# max iterations for some step in LM
s.compute(100, 1.0e-4, True, 1.0e-8, 50)

# The above values are defaults in the original c++ code and they work
# well there

for n in s.nodes:
    print(n.x, n.y, n.yaw)
  #+end_src

* Building with ROS 1
- Missing deps: openblas-dev, libsuitesparse-dev
- Change tag for pybind11 to v2.9.0, python versions that support ros1 do not work with latest pybind


No version for distro noetic showing kinetic. Known supported distros are highlighted in the buttons above.
Repo symbol

sba_python repository

sba_python

ROS Distro
kinetic

Repository Summary

Checkout URI https://github.com/safijari/sba_python.git
VCS Type git
VCS Version python-devel
Last Updated 2025-03-20
Dev Status DEVELOPED
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
sba_python 0.4.2

README

* Sparse Bundle Adjustment Library
  Originally developed at Willow Garage as part of the vslam stack, 
  this library is currently used by =open_karto=. The python wrapper
  currently only supports 2D mode and is being used as a backend for
  [[https://github.com/safijari/mp-slam][=mp-slam=]].
  
* Simple usecase example
  #+begin_src python
from sba_cpp import SPA2d, Node2d
import numpy as np

s = SPA2d()

"""
Test prep

start at x = 0, y = 0, yaw = 0 (0, 0, 0, 0)
start at x = 1, y = 1, yaw = 0 (1, 1.1, 1.1, 0)
start at x = 0, y = 1, yaw = 0 (2, 0.1, 1.1, 0)
"""

# x, y, yaw, node_id
s.add_node(0, 0, 0, 0)
s.add_node(1.1, 1.1, 0, 1)
s.add_node(0.1, 1.1, 0, 2)

# inverse of covariance
precision_matrix = np.identity(3)

# from_node_id, to_node_id, xdiff, ydiff, yawdiff, precision matrix
s.add_constraint(0, 1, 1.1, 1.1, 0, precision_matrix.tolist())
s.add_constraint(1, 2, -1.1, 0.1, 0, precision_matrix.tolist())
s.add_constraint(2, 0, -0.1, -1.1, 0, precision_matrix.tolist())

# the parameters below are
# max iterations, diagonal augmentation for LM
# use CSparse (set to True for the really fast version)
# initial tolerance for CG
# max iterations for some step in LM
s.compute(100, 1.0e-4, True, 1.0e-8, 50)

# The above values are defaults in the original c++ code and they work
# well there

for n in s.nodes:
    print(n.x, n.y, n.yaw)
  #+end_src

* Building with ROS 1
- Missing deps: openblas-dev, libsuitesparse-dev
- Change tag for pybind11 to v2.9.0, python versions that support ros1 do not work with latest pybind