Let's Build a Robot!
My beautiful and wonderful fiancée, Brittany, is currently down in Nevada, studying to become a doctor. Unfortunately, I'm still up in Seattle. We Skype fairly often, but one person is always at the mercy of the other -- You only get to look where they are pointing the phone/laptop.
So the problem is that I want to control my view. The solution?
Telepresence robots.
I started searching online, and found a few.
Double Robotics has a slick, minimalist one:
Suitable Tech has one called "Beam":
And iRobot has the "Ava 500" that could double as a battering ram:
None of these really fit my price point, and anyway, what fun would it be if I just bought one?
I decided to build my own. I knew that the quality of the bot would depend a lot on the base that allowed it to move. Rather than try to reinvent the wheel (And chassis, and drive system...), I went with an iRobot Create 2
As a quick summary, the Create 2 is a series 600 Roomba that has an exposed serial port and the vacuum removed. You can hook up some electronics to its port, and give the Create2 instructions over serial.
I initially looked at pyrobot2.py as the method of Create2 control. Originally written by Damon Kohler for a standard Roomba, it was modified by Jonathan Le Roux to work with the Create 2. Unfortunately, it shows... The API isn't very intuitive to use, and seemed much more in depth than is required for simple Create 2 control.
With this in mind, I've been building my own API for controlling the Create 2. You can find it on GitHub.
I plan to use this API in conjunction with the PetBot project. The gist of the setup is a Node.js server hosted remotely. The Create 2 will have a Raspberry Pi running a local Node.js server, and the pilot (me) will have a web interface that I can log into. Any commands sent to the web interface will get re-broadcasted to the Pi, and then into the Create 2.
As far as the actual video chat, I'm starting with low hanging fruit -- I'm going to continue using Skype for now. I'd like to eventually integrate the video chat and control system together (but realistically that will probably never happen ).
The Skype will be running off some kind of tablet... But I haven't really thought that through yet. The Create 2 has a pretty terrible mounting system... you can drill holes through the faceplate and use flush mounted threaded inserts:
Unfortunately, this faceplate just snaps into the top of the Create 2 with a few tabs. It's not the most sturdy or permanent fixture, so I may have to drill into the Create 2's chassis to mount this thing. We'll see.
In the meantime, I can at least drive this robot around.
Anyway, that's it for now. Stay tuned!
Let me know what you think of this article on twitter @AchillePomeroy or leave a comment below!