Controls.js is a sandbox showcasing a few modern controls techiques directly in the browser.
It harnesses eigen-js for all linear algebra and quadratic programming, and nlopt-js for non-linear optimization.
This environment demonstrates linear quadratic regulation of a few test systems around unstable trim points
A simple pendulum dynamics phase plane is discretized and the value iteration algorithm is run to obtain a swingup policy
A differentially flat system, a 2D quadcopter, follows a custom spatial trajectory
Nonlinear trajectory optimisation is demonstrated on a few dynamical systems using direct collocation
Model predictive control is used to dynamically stabilize the systems in the previous section around their optimized trajectories for robust tracking.
A kalman filter estimator tracks a 2d top down car's state based on radar measurements
A particle filter estimator tracks a 2d top down car's state based on radar measurements using a swarm of simulated particles