The development of robotics is always closely related to mathematics. But sometime pure mathematical expressions are boring and difficult to understand, so I hope to show the magic of mathematics through some interesting robotics demonstrations.
We want to select some widely used and practical algorithms. for each algorithm, we aim to
- Provide a readable python implementation.
- Show a detailed mathematical proof.
- To show the math behind it, minimal use of third-party libraries.
sudo apt-get install libsuitesparse-dev
pip3 install -r requirements.txt
We have developed a Gauss-Newton method library implemented in pure Python.
We also provide some demos on Lie-Group based points matching using our library.
Lie group Document:
guass_newton_method/demo_2d.py
guass_newton_method/demo_3d.py
guass_newton_method/demo_line.py
We have developed a graph optimization library implemented in pure Python. In comparison to well-known graph optimization libraries like g2o, gtsam, ceres, etc., our implementation is highly readable and ideal for studying purposes.
graph_optimization/demo_g2o_se2.py
dataset: sphere2500.g2o 1
graph_optimization/demo_g2o_se3.py
dataset: manhattanOlson3500.g2o 1
slam/demo_bundle_adjustment.py
dataset: Venice: problem-427-310384-pre 2
robot_geometry/demo_p2line_matching.py
robot_geometry/demo_p2plane_matching.py
robot_geometry/demo_plane_cross_cube.py
Footnotes
-
Datasets are available in the open source package of vertigo. ↩ ↩2
-
The datasets used in the demo are available in the project Bundle Adjustment in the Large. ↩