The Captain’s Assistant
At REX, we are always thinking about home automation, and specifically assistants. It’s the future for how people will interact with computers, so we’re thinking about ways to integrate people’s homes with this tech. After evaluating a ton of options we thought, let’s try to put Google Assistant in something, like a piece of furniture. A chair came to mind, but then we had a better idea. What if we were to integrate google assistant into a specific chair, a captain’s chair. Kirk’s chair.
Searching around online, I found a bunch of pictures, but not much in the way of plans or sizes. Eventually I did find some plans online. But they were very focused on making a cradle for a chair rather than a full chair. This gave me the basic plans to know some sizes, and I was able to alter the plans as I went along to make a full chair, and one which will be able to swivel and move.
Once I had the basic pieces laid out, it was pretty straightforward to put them together. Add glue, screws, and start to put them together. I used 3/4 plywood for the base to make it as strong as possible.
With some magic of glue and clamps, I was able to bring it all together.
The base turned out to be a lot harder to construct than the chair itself. It had to be strong. Strong enough to support a person standing on it. So i took what was in the plans, and altered it so it was the thickness of a 2x4. Then underneath make the 2x4s cross to build out a strong skeleton.
Because it’s a chair, and Kirk likes to turn around and be able to look at Spock, Uhura, I wanted to make sure that the chair actually swivels. No reason to remake the wheel, so I used an off the shelf chair swivel. I also ran a wire through the base because I knew I’d want lights on one of the arms, and the other arm would probably have the majority of the electronics.
For the paint, I looked around for options and ended up just going to Home Depot, and grabbing the color that matched it the closest.
After that, it was a simple construction of the seats. I used cushion foam, and a vinyl fabric to mimic whats seen on screen. Used a staple gun to stretch the fabric around the foam and attach them to a wood backing.
Then a combining it all together.
The final step was the arm rests, which I made out of cherry, cut to fit and following along the top.
Now comes the fun part. THE CONTROLS.
The first was the switches on the top. It turned out finding switches was surprisingly hard. I found some, and got some Enamel paints, and made the different colors used.
For the custom plastic components, I used a bunch of 3d prints to make the lights, and the buttons.
Thingiverse had a bunch of models that were ready made!
One trick I learned was to set the infill of the lights to 0%, and slightly increasing the thickness of the sides. This allows the light to filter through plastic better.
The final step was hooking up the buttons to the Google Assistant. After some research, hooking up a raspberry pi to Google Assistant is fairly straightforward.
Google has a great walk through about this:
Within the Google SDK there’s a sample called push_to_talk.py. This is what I based the whole implementation on. Hooking that up to one of the buttons, and the raspberry pi was pretty easy.
Then just hook the raspberry pi to a custom action.
Then add a microphone.
Once we had the code done, it was time to hook everything together.
After hooking it all up, it has some fun commands:
“Red Alert”
“More Power to the Engines”
“KAAAAAAHHHHHN”
“Yellow Alert”
“Beam me up”
But because its a Raspberry Pi, we’ll constantly be adding to it. Some additions for the future:
“Status Report” — Will report out REX’s top level metrics
“Engage” — Launch a feature of REX.
Since its google assistant you can ask all the normal things, like what the weather is, or travel time. It’s your Captain’s Assistant.