Inverted Pendulum Balancing

Various inverted pendulum balancing experiments. The simulations were created using box2d physics, p5.js graphics and convnet.js neural network libraries. Single pendulums controlled by simple PID linear control system, while double pendulum systems controlled by a neural network.

We have implemented both the simple conventional neuroevolution (CNE) algorithm and a variation of the enforced subpopulations (ESP) algorithm that can train a recurrent neural network to control a highly unstable inverted double-pendulum system.

Feel free to play around with our neuroevolution trainer from github. It should work with the recent verions of convnet.js as an add-on.

For more background information, please read our blog posts on this subject.