/Jerry-Learns

A simulator to learn walking and backflips using neural networks and genetic evolution.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Jerry Learns

This simulation of Jerry Smith can be taught to walk or backflip using a NEAT genetic algorithm.

asdf

Simulation

Jerry Learns uses Pymunk for its physics simulation and Pygame for graphics. Each joint is simulated as a pivot constraint, rotary limit, and a motor to provide motion.

Evolution

Jerry's brain is simulated with a simple neural network that takes his current body state and outputs the desired torque for each of his joints. NEAT-python generates a population of neural networks and evolves them over time.

Creating New Behaviors

In order to create a behavior of your own, extend the Config class. This class is responsible for returning a fitness calculator, motion calculator, NEAT config, and starting joint angles.