Skip to content

kasey-/ArduinoDQNCar

Repository files navigation

ArduinoDQNCar

You will find here the code for a series of posts following up on running neural networks on an Arduino and pushing the concept furthermore by training first the neural network in a simulator then loading it to an Arduino and refining the training in vivo (my living room).

How to use it

... to do ...

Sources & Acknowledgments

This project relies on the following ressources:

And use:

Step 0: Ultrasonic Scanner

3D printed servo-mount for ultrasonic sensor and code to drive it.

Step 1: Motor Speed PID Control

I tried to control motor speed using a PID control. However, the mechanic is too wobbly to produce any quality output.

Step 2: Robot Simulator

Create a simulator where a simulated robot evolves

Step 3: Deep Reinforcement Learning

Use the simulator and Keras-rl to train a neural network to drive the robot according to its environment.

Step 4: Training Over BLE

Execute the training locally in the computer but use the real robot to take actions and observe result over Bluetooth.

Todo

Cleanup

  • Write the readme description and add github tags to the project
  • Add references to used source code and licence repository
  • Organize folders (Python, Dataset, Tinn, Articles Steps, Pictures, etc...)
  • Split python simulator for DQN code (moved into Gym env)

Get it working

  • Fine tune hyper parameters
  • Regularly save models
  • Implement training refinement in vivo
  • Write how to use it

Improvements

  • Improve simulator
  • Improve DQN algo (moved to Keras-rl with crazy built-in rl algo)
  • Implement relu for Genann

About

My Arduino Deep Q-Learning Car Project

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published