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.3.1.tar.gz (16.5 kB view details)

Uploaded Source

Built Distribution

jax_control_algorithms-0.3.1-py3-none-any.whl (17.8 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for jax_control_algorithms-0.3.1.tar.gz
Algorithm Hash digest
SHA256 f53c72707959c5e3c5b94f57806e4e54b52df2f95dce470d016f160f63f7654e
MD5 35ec7a7239f339452cfb09c7600ebdf3
BLAKE2b-256 7a23e174718c9a4e9e11f44457d81ad2083e80ddc05b51a0242f40e9a6004ab7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jax_control_algorithms-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4238d17e0b7560a46285aba7eb151cdf3f816d2e2007bc2a06cba6d6420fd349
MD5 41d0bcdaef02d053c46deeced920f566
BLAKE2b-256 51b51dc4e1dec1d3148fd0f732fe1fb65bbd07d91bb875f875e9d5afc40d24ba

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