Neural Network Robot – The Creation Process With Jonathan Schwartz

Punchlist
Zero

Jonathan Schwartz, better known as Jank Station on Youtube, created a series of videos documenting the process of creating a neural network robot. He documented the process of creating a smart balancing robot from scratch for budding enthusiasts. Intrigued, Punchlist Zero decided to dig in deeper.

PL0: Talk to us a bit about your research project on neural networks as it pertains to robots.

The idea behind the research group I was working with was to create neuromorphic processor chips. In essence, the goal is to create processors that are more similar to a brain. Hopes are that they will be able to perform certain tasks more efficiently in terms of time and energy consumption. These chips consist of an array of memristive devices, that can represent synapses in neural networks. This, combined with using several transistors to represent neurons, allows for a straightforward and compact representation of a neural network in hardware. More information is available on the research group here: https://adam.seas.gwu.edu/ 

PL0: For those just getting started with robotics, where would you begin?

I would start by exploring the 3 technical pillars of robotics – mechanical systems, electrical systems, and computer science. In practice, these intertwine in robots, but I found it much easier to learn them all separately to start and then start integrating them together in my projects. For mechanical design, I think a cheap 3D printer or even just making designs in CAD and listing them on www.thingiverse.com or a similar site. I also find watching DIY youtubers (e.g. StuffMadeHere, Rainfall Projects) really helpful for cultivating knowledge of how to make mechanical things. 

I would say the same for electrical systems. ElectroBoom and BenEater are two of my favorite YouTubers that work with electronics. Getting an Arduino Starter Kit or a Raspberry Pi (available on Amazon or other sites online) provided the best way for me to build comfort with electronics. If you feel confident with that, you could move into working with lower-level microcontrollers. Examples include the MSP430 or you may even wish to design a PCB with some small chips on it.

For computer science, there are so many resources out there and so many different avenues to explore. For someone just starting out, I think an introduction to Python is the easiest way to dip your toes in and see how you feel about computer science. There are loads of different sites that will teach you Python, but looking at a list aggregated by a forum (like this one) is probably the best way to go.

Also, math shows up a ton in robotics. 3Blue1Brown and Steve Brunton are two YouTubers that do a great job explaining mathematical concepts relevant to robotics.

PL0: What are some technology applications that excite the most as it pertains to robotics?

Automation. I am so excited to have a front seat to the next 30+ years of development in autonomy, as it seeps into nearly every field imaginable. From cars to planes to farm equipment to factories to managing inventory in stores to intellectual labor like accounting and medicine. It’s going to elevate the productivity of so many fields and I am thrilled to watch it happen.

PL0: How do we keep up with your future neural network robot projects?

I occasionally make videos for Youtube available here. I also usually make my projects open-source and the code can be found here.