-
 

sba_python package from sba_python repo

sba_python

Package Summary

Tags No category tags.
Version 0.4.2
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/safijari/sba_python.git
VCS Type git
VCS Version python-devel
Last Updated 2024-06-02
Dev Status DEVELOPED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Python wrapper for the sparse_bundle_adjustment library

Additional Links

No additional links.

Maintainers

  • Jariullah Safi

Authors

No additional authors.
* 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


CHANGELOG

Changelog for package sparse_bundle_adjustment

0.4.2 (2018-08-23)

  • rework how we set the C++ standard
  • Merge pull request #6 from moriarty/set-cpp-11 Set C++ 11
  • [Maintainers] Add myself as a maintainer Mostly so that I can see build failures.
  • [CMake][C++11] compile with -std=c++11
  • Contributors: Alexander Moriarty, Michael Ferguson

0.4.1 (2018-08-21)

  • Merge pull request #4 from moriarty/eigen-and-pkg-fmt-2 Fixes Eigen3 warnings and bumps to package.xml format 2
  • Update email address so I see build failures
  • [REP-140] Package.xml format 2
  • fix deprecated eigen3 cmake warning
  • Contributors: Alexnader Moriarty, Michael Ferguson, Steffen Fuchs

0.4.0 (2018-08-18)

  • Merge pull request #3 from moriarty/melodic-devel [melodic-devel][18.04] fix compile errors
  • [melodic-devel][18.04] fix compile errors fix compile errors for newer gcc
  • Merge pull request #2 from ros-perception/maintainer-add Adding myself as a maintainer for sparse_bundle_adjustment
  • Adding myself as a maintainer for sparse_bundle_adjustment
  • Contributors: Alexander Moriarty, Luc Bettaieb, Michael Ferguson

0.3.2 (2014-06-17)

  • major build/install fixes for the farm
  • Contributors: Michael Ferguson

0.3.1 (2014-06-17)

  • add depend on eigen
  • Contributors: Michael Ferguson

0.3.0 (2014-06-16)

  • import cleaned up sba (this is the version from wg)
  • Contributors: Michael Ferguson

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

Deps Name
catkin

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged sba_python at Robotics Stack Exchange