Ohgee is a small desktop robot that started out as my way to learn how to use several Google Cloud Services and also make a cute pal that is aware of my presence and keeps me company without taking over the space or demanding too much of my attention.
Ohgee uses a Raspberry Pi to capture images and speech which she sends to Google Cloud services for analysis. Ohgee looks for objects of interest in the analyzed images and language and responds by displaying images, showing her heart, speaking and nodding.
Some of the design principles I decided on were:
- Statelessness: There should be no potential to store Personally Identifiable Information
- No recognition of individuals - privacy is #1
- Use Google Cloud Service APIs and Libraries for processing that would take too long or not be available on a Raspberry Pi
- Use local processing in front of cloud services to reduce latency and quota usage
- Exploit the multiple cores available in a Raspberry Pi 3
- Provide multiple signals to the viewer: visual, auditory, motion
The Google Cloud Services that Ohgee uses are
- Cloud Vision
- Cloud Speech-to-Text
- Cloud Natural Language
- Custom Search Engine
Ohgee's Hardware Components include
- A USB Microphone
- A Pi Spy Camera
- A small TFT screen
- An RGB LED
- A head mounted on a servo
Here are Ohgee's processes, hardware components, cloud services and their interactions
Ohgee's processes, hardware and cloud services
Ohgee watches for motion and listens for speech. When she sees or hears something interesting, she interacts with people and objects based on their proximity and sentiment. Ohgee also responds to a number of known phrases.