INTRO . 

I was never planning to release this project as it was just a quick experiment to see what would happen when hardware is included in a reinforcement learning scenario . 


After uploading the video I got tones of messages asking where to find the files for this project especially for the red arm which surprised me a lot as it was by far the quickest and easiest part of this project .

This is why I decided to make all of it available . Bear in mind that I am sharing this project as I left it . The code is messy and nothing is really straight forward so you will have to do a fair amount of digging yourself if you decide to tackle it !

ASSEMBLY . 

To build this arm, you will need :

 - Arduino Nano (Uno should work too)

 - 2x MG-90s  servos

 - 2X MR105ZZ ball bearing (5 x 10 x 4 mm)

 - 10X M2x10mm self tapping screw

 - Zip ties

 - wires

 - dupont connectors (optional)

 - Xbox controller

And of course you will also need printing the parts .

Also available from the DOWNLOAD PAGE

If you followed the video you should end up with something like this .

Wiring can't get much simpler than this!!!

SOFTWARE

Also available from the DOWNLOAD PAGE

THIS IS NOT A BEGINNER FRIENDLY PROJECT, YOU WILL VERY LIKELY HAVE TO MAKE CHANGES TO THE CODE TO MAKE IT WORK ON YOUR OWN COMPUTER !!!

This is project is based on Unity ML-agents toolkit . You will need to install it in order to make this project work . You can find Unity ML-agents toolkit with all its documentation here :


https://github.com/Unity-Technologies/ml-agents

If you have never used the ML-agents toolkit before I would suggest that you familiarised yourself with the native examples . 

Once you have the ML-agents repository all setup and working add my folder to the project .

Next, Modify the 'control.cs' script . Make sure you match whatever your arduino port is using in that script .

I left a few 'trained' models in the NN folder . At this point if everything is setup properly you should be able to run the game .

Tips :

 - for some reason I have to reupload the sketch to the arduino every time I restart Unity .

 - If you plan the retrain the model with hardware don't forget to scale time to 1

Have fun!

  • YouTube Social  Icon
  • Instagram Social Icon
  • Facebook Social Icon
  • Twitter Social Icon