Skip to content

scomup/MathematicalRobotics

Repository files navigation

MathematicalRobotics

What is this?

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.

The goals of our project.

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.

Requirements

sudo apt-get install libsuitesparse-dev
pip3 install -r requirements.txt

Demo Lists

guass_newton_method

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:

gauss newton for 2d points matching.

guass_newton_method/demo_2d.py demo2d

gauss newton for 3d points matching.

guass_newton_method/demo_3d.py demo3d

gauss newton for linear regression.

guass_newton_method/demo_line.py demo_line

Graph Optimization

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 Document

2d pose graph problem

graph_optimization/demo_g2o_se2.py

dataset: sphere2500.g2o 1 demo_manhattanOlson3500

3d pose graph problem

graph_optimization/demo_g2o_se3.py

dataset: manhattanOlson3500.g2o 1 demo_manhattanOlson3500

bundle adjustment

slam/demo_bundle_adjustment.py

dataset: Venice: problem-427-310384-pre 2

demo_bundle_adjustment

geometry

point to line ICP

robot_geometry/demo_p2line_matching.py demop2l

point to plane ICP

robot_geometry/demo_p2plane_matching.py demop2p

plane cross a cube

robot_geometry/demo_plane_cross_cube.py demopcc

Footnotes

  1. Datasets are available in the open source package of vertigo. 2

  2. The datasets used in the demo are available in the project Bundle Adjustment in the Large.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages