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

Uploaded Source

Built Distribution

jax_control_algorithms-0.4.1-py3-none-any.whl (18.9 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for jax_control_algorithms-0.4.1.tar.gz
Algorithm Hash digest
SHA256 6c0864de9a93527fbd3fd342650146f81337eb1fe88acf3db21c6c5c57596004
MD5 375ab561e2957bb299d9eaf026671770
BLAKE2b-256 fb2248cf0d2828e28fe637176cc6de536f1b9bca3cd2f52cb3edcf4ab5cb847f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jax_control_algorithms-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f75c74de865eb1eac30444caa581be7b88c016b7d1db527ed2f4acb8d27f0818
MD5 a7525019018b1a2b90753604c45097ab
BLAKE2b-256 30a9ef12e48b21a7cd37d60144fdb6f16b24b0f5df1ee950b39235ca033f44c8

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