I decided to use one of the EV3 bonus models, EV3D4, as the robot. It is small but very mobile so it seemed like a good choice. That and it is based off of the Star Wars robot R5-D4 (the little red robot the Jawas were selling along with R2-D2 and C-3PO in Episode IV) so that just makes it extra cool. Originally I told my 5-year old that it was R2-D2 but he called me out with "Daddy that isn't R2-D2, it needs to be white and blue to be R2-D2, not white and red". Outsmarted by a 5-year old...
You can see the robot in action here with the omniwheel front and center, iphone mounted, etc. Sean used Skype to dial the iphone from his desk so that is him on the phone there.
For the hardware I didn't change much from the stock Lego instructions but for the software I took a very different approach. I needed the robot to run a web server that would allow Sean to control the robot via a web browser. I couldn't find a way to do this via the standard software that ships with the EV3 but good news, there is a great little project call ev3dev that built a debian linux distribution that will run on the EV3. In other words you just boot debian linux on your EV3!! This gives you tons of flexibility and it means that you no longer have to use the graphical programming language provided by Lego. Python is my favorite language and it turns out that with ev3dev you can program the EV3 in python...perfect!!
All of the code for this project is available on github, feel free to use it:
How does the code work? The /var/www/ content is served by the main webserver (apache, etc). LegoR2D2.py runs a REST API on port 8000. When the user clicks on a button on the web page served by apache, AJAX is used to send a HTTP GET to LegoR2D2.py's REST API (it is listening on port 8000) to tell it to move forward, backward, etc. When the user releases the button we send another HTTP GET to tell it to stop.
The Star Wars page on the left of Sean's screen is the web page served by the robot. You just click the arrows to make the robot move.
Here is SeanBot in action for the quarterly meeting, SeanBot is in Mountain View, CA but Sean is driving it from Apex, NC...cool stuff.
Starting team qbr with Seanbot 3000... @seanx820 pic.twitter.com/mamBdEQ0yE
— Jason Martin (@jaymonsf) October 6, 2014
And last but not least here is Sean's beautiful daughter :) She was born a few weeks after the meeting in California ended and is keeping Sean and his wife plenty busy.