Arduino Crawler bot - Reinforcement Learning

Here is a project I did at my summer job I though I would share.

It is a simple 2 servo crawler robot that uses Q-learning to learn how to move. The back wheels are connected to en encoder checking if the robot moves.

Its a re-implementation of an another crawler bot project where the discrete servo states corresponds to set angles.

In the new version each servo follow its own sine wave.
The discrete states are instead of set angles set sine amplitudes and phase shift for one of the servos.