Skip to main content

Algorithms for state estimation, control, and system identification in JAX

Project description

controlAlgorithms

Algorithms at the boundary of control and machine learning

image

Contents

System identification

A (basic) implementation for the identification of non-linear systems implemented using the machine learning library JAX (https://github.com/google/jax). Herein, automatic differentiation of the system model and the through the ODE solver is used to enable gradient-based optimization approaches.

An example notebook describing the identification for a pendulum is provided https://nbviewer.org/github/christianausb/controlAlgorithms/blob/main/examples/sysident.ipynb

State trajectory estimation and system identification

A routine for estimating the state trajectory and system parameters from input/output data and a prototype model is provided. The following example demonstrates the use for a pendulum system:

https://nbviewer.org/github/christianausb/controlAlgorithms/blob/main/examples/state_est_pendulum.ipynb

Pendulum motion estimation from video recordings

This experiment demonstrates how to combine state and parameter estimation with a deep neural autoencoder to estimate motion trajectories from video-recordings.

https://github.com/christianausb/controlAlgorithms/tree/main/examples/pendulum_finder

https://user-images.githubusercontent.com/4620523/223825323-2aa7c9f7-8d85-4b3c-aae0-8115737d95b7.mp4

Trajectory optimization

An algorithm for the collocation method using optimzers from the jaxopt library is provided.

https://github.com/christianausb/controlAlgorithms/tree/main/examples/trajectory_optim_cart_pendulum.ipynb

https://github.com/christianausb/controlAlgorithms/assets/4620523/27e42c6d-ac39-4cbe-b7f3-5f5f7bb1b127

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jax_control_algorithms-0.5.0.tar.gz (18.4 kB view details)

Uploaded Source

Built Distribution

jax_control_algorithms-0.5.0-py3-none-any.whl (19.8 kB view details)

Uploaded Python 3

File details

Details for the file jax_control_algorithms-0.5.0.tar.gz.

File metadata

File hashes

Hashes for jax_control_algorithms-0.5.0.tar.gz
Algorithm Hash digest
SHA256 9b770c818bf65ae7cb77a78e8026c7ee541b7ee6e5b41b0be91bc086aadd1fa3
MD5 576af51297baa56e59657b76f7c79d73
BLAKE2b-256 7810c13a6344c748af6015c91352eae031a444ee6396abcaa954f1ca54f5c3c8

See more details on using hashes here.

File details

Details for the file jax_control_algorithms-0.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for jax_control_algorithms-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eed7c3f8cfcc8a159d3d7221ee920669d9adc75a3fbcbc177196b7e1a10cb31a
MD5 5407ee02f774b3da9767da6994e00fb1
BLAKE2b-256 0575d765df9dbe3e92f60d1ed516fcf5598452b7fb27e82da64fd57c65b158e3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page