Hamiltonian-Informed Optimal Neural (Hion) Controller
Author: Josue N Rivera
Paper: "Receding Hamiltonian-Informed Optimal Control and State Estimation for Continuous Closed-Loop Dynamical Systems"
This projects implements Hamiltonian-Informed Optimal Neural (Hion) controllers, a novel class of neural network-based controllers for dynamical systems and explicit non-linear model-predictive control. Hion controllers estimate future states and develop an optimal control strategy using Pontryagin’s Maximum Principle. The proposed framework, along with our Taylored Multi-Faceted Approach for Neural ODE and Optimal Control (T-mano) architecture, allows for custom transient behavior, predictive control, and closed-loop feed back, addressing limitations of existing methods. Comparative analyses with established model-predictive controllers revealed Hion controllers’ superior optimality and tracking ca pabilities. Optimal control strategies are also demonstrated for both linear and non-linear dynamical systems
Demos
Development
Install
pip install hionx
Train
python train-t-mano.py -c "configs/config.linear.json"
Test
python test-t-mano.py -c "logs/checkpoints/linear(controller).checkpoint.pth"
Citation
@article{rivera2024receding,
title={Receding Hamiltonian-Informed Optimal Neural Control and State Estimation for Closed-Loop Dynamical Systems},
author={Rivera, Josue N and Sun, Dengfeng},
journal={arXiv preprint arXiv:2411.01297},
year={2024}
}
@phdthesis{rivera2024multi,
author = "Josue N Rivera",
title = "{Multi-Scale Design and Control of Complex Advanced UAV Systems}",
year = "2024",
month = "12",
url = "https://hammer.purdue.edu/articles/thesis/Multi-Scale_Design_and_Control_of_Complex_Advanced_UAV_Systems/27937332",
doi = "10.25394/PGS.27937332.v1"
}
Metadata
Release files for hionx 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hionx-0.1.0.tar.gz | 9.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hionx-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 19.3 kB
Release files / hionx-0.1.0.tar.gz
| Download URL | hionx-0.1.0.tar.gz |
|---|---|
| Size | 9.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d3f0ea8742f2f9a57640b3fc20c44ccdda7bdde530e68c3d4d6f4138421e08cd
|
|
BLAKE2b-256 checksum How to use checksums |
04f7ef623c31c823777487fb9aa921620f5c17e3fdc5764e62cde951e9b09afa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|
Release files / hionx-0.1.0-py3-none-any.whl
| Download URL | hionx-0.1.0-py3-none-any.whl |
|---|---|
| Size | 9.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2388e7707d6b422e131356329d957de648a941a677b5019e3cc7e475842006e6
|
|
BLAKE2b-256 checksum How to use checksums |
070c68d247b30e74e6aa8384f069c85a3adc47c4c61276ff93312e976673a406
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|