Project for TTK4255 Robotic vision
Lie group is said to be
- Proper: Exact with rigorous calculus on nonlinear spaces.
- Powerful: In that it can handle uncertainties and be used for complex situations.
- Abstract: It unifies concepts across implementations. So 2D vs 3D, quaternions and rotation matrices, and so on.
- Beautiful

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.
This project delve into the paper by Sola et al.. At the core is the implementation from manifpy.
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.
I will describe the conda way, you could also use pip.
conda create --name lie_theory python=3.9
conda activate lie_theoryNow 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 manimThis 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 ipymplHere is the link to the Manim intro page.
To compile a manim scene
cd manim
manim -pql scene.py CreateCircle![]() |
![]() |
| Localization | Smoothing and mapping |
![]() |
![]() |
| SO3 interpolation | Error |
![]() |
![]() |
| 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.






