Skip to content

simon-cmyk/micro-Lie-theory-exploration

Repository files navigation

micro-Lie-theory-exploration

Project for TTK4255 Robotic vision

About

Lie group is said to be

  1. Proper: Exact with rigorous calculus on nonlinear spaces.
  2. Powerful: In that it can handle uncertainties and be used for complex situations.
  3. Abstract: It unifies concepts across implementations. So 2D vs 3D, quaternions and rotation matrices, and so on.
  4. Beautiful :bowtie:

Because of this, it is very useful in robotics applications such as pose state estimation. We therefore want to delve deeper into the subject to explore some core concepts that help understanding both concepts from TTK4255 Robotic Vision and later subjects we might encounter during our studies.

gif example

This project delve into the paper by Sola et al.. At the core is the implementation from manifpy.

Structure

We have visualized examples from manifpy (NB. already made). These can be found in ́Localization.ipynb and SAM.ipynb. We also have tried to visualize the mapping between log and exp. Both in the 3d and 2d case. This shows in exp_and_log_map.ipynb. Lastly we tried to show a simple use case of lie theory in Interpolating poses, Interpolation.ipynb. We also experimented with manim, but it was to difficult and not our main focus. This can be found in the manim folder.

Setup

I will describe the conda way, you could also use pip.

conda create --name lie_theory python=3.9
conda activate lie_theory

Now you can activate it. When running the notebooks this is easily done by choosing the kernel in VSCODE. But first you have to install the packages needed. In terminal write.

conda install -c conda-forge manifpy
conda install -c conda-forge ipykernel
conda install -c conda-forge manim

This is taken from this website. We also based our code from the examples given in the manif repo.

In addition you would have to install matplotlib, numpy and transformations3d. This can be done by running the following command in the terminal.

conda install -c conda-forge matplotlib numpy transforms3d ipympl

Working with manim

Here is the link to the Manim intro page.

To compile a manim scene

cd manim
manim -pql scene.py CreateCircle

Figures from code

$s^1$ $s^3$
Localization Smoothing and mapping
SO3 interpolation Error

Credits

Simon Emil Oscar
[email protected] [email protected] [email protected]

We also have used Bing Copilot and ChatGPT in this project. It has helped in creating some scripts for visualization and also helped us debugging and understand the concepts in the paper which we based our project on.

About

Project for TTK4255 Robotic vision

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •