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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for jax_control_algorithms-0.3.2.tar.gz
Algorithm Hash digest
SHA256 4c5c97e78ac0316c1bea4cfd95de40bc62e3e813b374dd6e6052de6be9e20a0c
MD5 aca2248e90f9d3fd646bf8cd57de6651
BLAKE2b-256 5d039f5d1468948a1ecb9fc288404569c202a69ceb381e668ddd30d76b0fcab1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jax_control_algorithms-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a82fd1e14fd57ddf58ef68881ece67668084458ffab84fcae5eedb2c60859397
MD5 9c0bd5978df0f0a3284743e33501a8e4
BLAKE2b-256 e40e238b658dcac40386491b13d5e8e0c117e329471de7c1f5fe0023839ebb12

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