Repository for intrinsic neural ODEs on Lie groups. Currently based on the article Optimal Potential Energy Shaping on SE(3) via Neural ODEs on Lie groups, showing examples of optimal potential energy shaping and damping injection control for a rigid body on the Lie group SE(3).
- pytorch
- Pytorch 2.0 or higher to include functorch
- pytorch-lightning
- torchdyn
- torchcde
- quadratic_shaping.ipynb contains example from Section 6.1.2
- general_shaping.ipynb contains examples from Section 6.1.3, 6.2.2 and 6.2.3
Library for exponential maps on SO(3) and SE(3), derivative of exponential map, minimal exponential Atlas, partition of unity w.r.t. minimal expotential Atlas
Dynamics of rigid body on SE(3) with potential energy and damping injection
Wrapper for optimization of dynamics in models.py
Probability density on SE(3), distribution for sampling points on SE(3)
Others (adapted from torchdyn)
- sensitivity.py
- HybridODE.py
- odeint.py
- Generate plots by executing all_figures.py or all_figures2.py
For various hyperparameters not necessarily agreeing with [1]
- Corresponding to Section 6.1.2: IBV_fShaping_quadratic_13_10_11:04.pt, IBV_fShaping_quadratic_26_07_10:33.pt
- Corresponding to Section 6.1.3: IBV_fShaping_20_07_16:50.pt, IBV_fShaping_21_07_10:07.pt, IBV_fShaping_25_07_13:07.pt
- Corresponding to Section 6.2.2: IBV_fShaping_04_08_10:57.pt, IBV_fShaping_07_08_17:16.pt
- Corresponding to Section 6.2.3: IBV_fShaping_A_01_09_16:46.pt, IBV_fShaping_A_18_08_12:09.pt