Inspired by Jarvis - the robot butler from Iron Man - we're developing a way for our apartment room to anticipate the needs of its residents and act on those needs. Examples include:
- Turning on the lights when you're stumbling through the living room at night
- Switching the audio system, lowering the projector screen, and turning on the projector when you want to watch a movie
- Controlling room temperature to conserve energy by augmenting an existing "dumb" AC unit
We're accomplishing this with a custom language processor developed on top of the CMU Sphinx speech recognition toolkit (http://cmusphinx.sourceforge.net/) along with a number of arduino-based sensors (light, temperature, motion), RF controllers, and actuators in the form of relays/FETs to control power to appliances and lighting.
Our end goal is a single-computer system that wirelessly controls a great number of small embedded systems that perform useful functions for the resident.
For a little background: we're using an active listening model to listen for voice commands. As soon as Jarvis hears a command word such as "lights" within a few words of his name, he acts on it.
Lately we've been combating false positives - during a talkative party, our system picks up a lot of things that sound like "Jarvis, lights" for instance. We're working on a number of possible fixes, including measuring the general room activity (judged by number of words transcribed in the last minute) to determine if a more complex command should be needed to command Jarvis (for instance requiring the user to say "please").