Consider these trends:
- Mechanistic models of brains and brain functions are getting better and better
- Smartphones and laptops are becoming powerful enough to run such models
- Hardware is getting cheap enough to build robots that can see, hear, make sounds, move around and communicate wirelessly for less than $200
A first generation personal neurorobot might emulate the brain of a fish or lamprey. Done right, it would explore its environment, avoid obstacles, escape threats, pursue desired states and objects, and learn, both from experience and explicit training. While these are behaviors that conventional robots can be programmed to perform, the defining feature of a neurorobot is its realistic brain architecture and activity, which makes it ideal for exploring and teaching neuroscience. Here, all the robot's brain processes could run on a wirelessly connected smartphone or computer, and be available for observation, explanation and modification in real-time. Using reinforcement learning to train the robot would be particularly interesting.
I see two markets for personal neurorobots:
- Schools. Robotics are already used in schools (e.g. FIRST Robotics Competition, LEGO Education). Neurorobots add the possibility of teaching neuroscience and behavior, which broadens the appeal substantially.
- Enthusiasts. The popularity of neuroscience on the one hand and of consumer robotics on the other indicates that there would be a lot of interest in a project that combines both.
While I think this project needs the attention of experienced roboticists, programmers, educators and investors, I will do my best to demonstrate feasibility and promote the idea. In my spare time I've developed a prototype neurorobot that I call a vertebot, pictured above. The hardware works, although ideally a personal neurorobot should be a light off-the-shelf product, not a five-pound beast that's prone to burst into flames. My main challenge is the code. I'm only fluent in Matlab and this project requires a non-proprietary language. So I'm learning Python and I'll ask for help with that as I move forward. Currently I can just about make a single neuron spike (single_neuron.py). I've set up a website (www.vertebot.com) where I'll put code and up-to-date information on the project. I'm also setting up a GitHub repo. All other observations and ideas I'll share here on the blog.
It's a big, sprawling project. I hope you'll find it interesting.