How to build robots at home

Manufacturing

Back in the day you had 2 options here both of which needed a dedicated garage.

Woodworking

if you don’t mind having 9 fingers and splinters all over your arms and feet. I want to eventually learn some woodworking so I can make my own furniture but for robots I’m going to hard pass.

Your roommate and significant other would love to be gifted a Table Saw

Welding

If you have enough room for a furnace and you’re not afraid of blowing yourself up and are in top physical shape. I took 16h to weld a steak knife and I could barely feel my arms and shoulders by the time I was done.

Granted by Mtownzach https://www.instructables.com/id/Charcoal-Grill-Forge-Become-a-Blacksmith-on-the-Ch/

3D printing

Fortunately, 3D printing has made the manufacturing process waaaay easier and cheaper.

Monoprice Mini
A foot and a hole
Printing Saitama
Voronoi Skull

Electronics

Getting ready

Electronics is obviously a massive field you could spend your entire life mastering it but there’s a few tricks we can use to make the learning process more efficient.

  • Water damage -> scrape off the rust and pray
  • Dead component -> compare voltage you’re getting vs what the hardware sheet says you should be getting. Chips have a nametag which makes googling their sheets and learning how they work really easy

Electronic brains

If you can’t find a replacement for a dead chip you can disassemble most electronics for useful spare parts.

Arduino Uno sheet
Arduino DC motor shield
Granted by WirePath and Evan Amos from https://en.wikipedia.org/wiki/Raspberry_Pi

Going pro with Electronics

Working with electronics as a beginner can be intimidating because you can either electrocute yourself or burn your hardware. So you really need some experts to show you the ropes so you can start more confidently tinkering. These Youtube Channels were all an incredible resource for me.

  • ElectroBOOM is hilarious masochist who will teach you low level circuit design and physics
  • BenEater will give you a good understanding on how to design logical circuits, so think building a CPU or GPU using circuit components and Arduinos
  • TronixFix repairs various kinds of electronics equipment. I especially enjoyed his tear-downs of video game consoles
  • A fume hood so you don’t get lung cancer
  • A microscope so you can reverse engineer ICs (this is pro level tho)
  • An oscilloscope, power supply and a digital logic analyzer like Salae, you CAN build cheap substitutes using an Arduino and a breadboard but it’s extremely unlikely you’ll build something better on your first try

Software + Math

Build your simulation and training Desktop PC

Most of the algorithms you’re going to need to run are CPU and GPU intensive so you really need to build your own PC as a first step.

Build a simulation

Your algorithms needs to first work in a computer simulation before you even try getting them to work on real hardware. The best way to do this is to use Unity ML agents where you can program a simulation of your robot. Unity is arguably the most user friendly game engine out there today.

https://github.com/Unity-Technologies/ml-agents/blob/master/docs/images/image-banner.png
Human Skeleton in Unity

Learn how to build simulations from the best

You can program any simulation you want with a deep understanding of Unity which you can get by osmosis by

  • watching programming sessions like Mix and Jam.
  • Another option is to disassemble some complete games you own via ILSpy.net which works reliably for most games made in Unity. (Please don’t tell anyone I told you this and for the love of gaming don’t put the disassembled code online)
  • Github.com archeology — Google <fav_game_genre> <fav_language> to get an idea of how to build any game

Learn how simulators work

It’s also important to invest some time into the basics and get better at Computer Graphics and Projective geometry so you can create whatever you want on a screen. The skillset will translate over and let you hack on AR/VR projects as well. My favorite references are:

Reinforcement Learning for training

Once the rules of the simulation are defined and your goal is well defined you can train Reinforcement Learning Algorithms to get the desired behavior. ML agents makes this trivial if you follow their interface and you can experiment with extremely complex robot environments almost trivially.

Generalize from simulation to the real world

Finally you need to make sure your algorithms are stable in the real physical world. Your robot can’t be flailing around and terrifying your cat.

Granted by Arturo Urquizo — http://commons.wikimedia.org/wiki/File:PID.svg

What’s next?

And that’s it! You should be able to build your terminator robot army now or just build something that will help you fold your t-shirts. Regardless, I hope you had fun reading this and let me know if you found it useful.

Illustrated by Sarah Saroufim
  • Applied Algebraic Topology to solve 3-d robotic movement
  • Framing supervised learning in the language of Category Theory
  • Reinforcement Learning
  • Distributed Decision Making w/ Dynamical Systems, Game Theory and Gambling Theory

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store