Two of my projects are merging. This morning, inspired by a second viewing of Iron Man 3 (yes, I want to be Tony Stark) I finally finished assembling RoboRaspbian. And realised that he should actually be part of Project Santander. Cue more modifications…
Quick recap: I like to build stuff, partly for fun, partly to exercise my brain, and partly to test ideas out about the future. RoboRaspbian started relatively simply: I found an original RoboSapien toy, minus his remote control, in a charity shop for £3 or so. Seemed like a bargain but I wanted to be able to control him.
I looked at replacing his microprocessor but this seemed unnecessary when I could get all the movement I wanted just by sending the right commands to the existing one. I found someone had turned a Raspberry Pi into a universal remote control capable of outputting the right commands, and so the project became ‘strap a Raspberry Pi to the back of a RoboSapien’. With some relatively simple electronics to bridge the two (read LOTS of trial and error), RoboRaspbian was born.
Then I thought: wouldn’t it be nice if I could make him talk — more than just his original, limited vocabulary (mostly yawns and farts). Get him to converse with the kids. I’d already done this on a previous robot project, Sammy. So I added in the text-to-speech engine Flite, and added an amplifier to the small amount of spare space inside the robot’s chest. This hooks the audio output of the Raspberry Pi into the original speaker, matching the volume of his in-built sounds.
So now I have a talking, gesturing robot. Nothing particularly smart about him though: he is entirely human-controlled. But hang on a second: I’ve spent the last few months rolling out sensors around my house*. They could feed him with all sorts of interesting data. Getting him to tell me when certain areas were too cold, or when humidity levels got too high would be really cool. Plus he can gather all sorts of information from the web: new emails/tweets etc.
So, we have a new plan: humanoid (ish) robot becomes the user interface for the Internet of Things. Down the line I can add a microphone and make the voice interface two-way using something like PocketSphinx or Google’s Speech API.
This will require one simple (ha!) hardware modification: if the robot is to be on 24/7, I’m sure as hell not running him on batteries.
*Note: As I write this, the blog is currently rather behind vs my actual progress with the home automation project, which is stably monitoring multiple conditions in four different rooms,