Robot Brain Transplant at the Maker Faire

Chaitanya and Arshan Fixing the Antlrbot

So the Cellbots team were at Google’s Cloud Robotics shipping container, prepping a demo of an “Antlerbot” – an RC car controlled by a Nexus One connected to a Sparkfun IOIO board – when disaster struck: the Antlerbot ran up under one of the doors of the shipping container, which was just too high for the sensors – but just low enough to hit the upper chassis smack in the window that showed off the IOIO board … shorting out the car beneath.

Testing out the replaced IOIO board

So Chaitanya, Arshan, and Charles worked hard to get the bot running again, transplanting the brain from the shorted bot over to the larger Antlerbot which was going to be running on a tablet. After some surgery, they got the bot rewired, but the output was still bad: the IOIO was fried too.

The new board seems to be on the wrong firmware version

Then they replaced the IOIO board, and still no luck: the new board wasn’t outputting the right signals. It turns out the board was on the wrong firmware version! Chaitanya, the Antlerbot developer, had to go, so Charles, the Cellbots code lead, took over. The source control server with the right code was down, but JP, a random Googler, swooped in to save the day with a laptop full of the right source code he’d downloaded just that morning.

JP and Charles get the board working

That still didn’t do the trick, and it wasn’t until next morning that Arshan diagnosed the problem: the old brain on the new frame was having brownouts. Once that was fixed, the Antlerbot was free to roam the Maker Faire and delight children and adults alike:

So we had real making at the Maker Faire! Go Cellbots!

UPDATE: Charles pointed out we left out one of the coolest parts of the Sunday heroics. Charles discovered that he could get a split second of control after
connecting the robot before the controls would fail (AKA the “life twitch” moment).
The disconnection looked normal on the Android end, and Arshan correctly guessed that it was a brownout issue caused by the steering controller which was disconnecting the IOIO board.

However, there was still the big problem: “How do we do this without steering?” Arshan’s solution was to hack a USB cable so that we could use a spare portable USB charger to power the steering controller and take it off the powersource that the IOIO was running. So the Antlerbot was actually running off of two separate batteries with USB cable that had been modded right there. Hacky, yet very cool, and the type of resourcefulness sums up the Maker Faire spirit quite well.

Incidentally, this second power supply was the reason the bot began to fail to turn at the end of Sunday: Anthony wasn’t there for the second hotwiring, and therefore didn’t know he needed to charge that battery before the final run. Still, it was a great success and we look forward to next year!

Posted in Android | Tagged , , , , | 6 Comments

Open Sourcing the Perception Manager

Hi, this is Anthony Francis, a member of Google’s Cloud Robotics team and a volunteer at Cellbots’s mission to make cool robots out of phones and spare parts is possible because of volunteer efforts and source code contributions. Recently Google and Hasbro collaborated on an experimental project to make robot phone docks. Now, Google is allowing me to contribute the sensory integration code I wrote for this project to Cellbots’s codebase.

The Perception Manager is a Java class that abstracts the raw Android Sensor API into higher-level ‘percepts,’ effectively translating hundreds of samples a second from the accelerometer and gyroscope into binary features like “shaking” or “upside down”.

Yes, you could write these yourself – but why should you have to? Furthermore, the PerceptionManager has support for higher-level sensors like “movement in space” or “vertical motion” which you can use to build up your own percepts, or math functions for Verlet integration and vector math you can use to develop your own sensory processing.

To test it, the PerceptionManager is embedded in a PerceptionTestbed application which you can run on an Android phone to see both the raw data from the sensors and the extracted percepts. If you don’t care about the percepts, you can customize the view to hide them, or change the sample rate. You can also turn the gyroscope on or off; on some phones the gyroscope cannot be restricted to a sampling rate and can crash the app, so be warned. Below I discuss the PerceptionTestbed app and how to use its interface.

The PerceptionTestbed is not available on the Market, nor is it fully integrated into Cellbots yet; it’s a 2.3 app and Cellbots is 2.2. Over the next month or so we’ll be working on a new release of Cellbots which will incorporate the PerceptionManager, enabling you to write code to have your Cellbots stop their motors if they flip over or get shaken. We’re still working on the documentation, and the code itself is likely to change rapidly as we integrate it into Cellbots, but in the meantime, you can still check out the source code for the PerceptionManager from:

If you’ve not worked with the Cellbots Java codebase before, you can use the instructions here and read more about the Cellbots Java app here. We hope this software is useful to you … happy cellbotting!


P.S. Sorry, we have not tried crushing the Hasbro toy with the Cellbots tank … we think they should be friends. :-)

Posted in Android | Tagged , , | 3 Comments

Calling all Makers!

Hello, all … there’s been a lot going on behind the scenes at Cellbots (check out the recent changes in our source code repository, with more in the works) and this weekend you’ll get a chance to see what we’ve been working on.

At Maker Faire this weekend in San Mateo, several of the Cellbots volunteers from Google’s Cloud Robotics team will be at the Google booth demonstrating a variety of RC cars controlled by the Cellbots app.

We’re not releasing v2 of Cellbots yet as it is under active development, but you can see a preview of the future at the Maker Faire!  Please join us!

Posted in Android | Tagged , , , , , , | 2 Comments

Clean Christmas Ornaments with a Robot and a Cat

Mike brings us some holiday cheer with a fun video of his Squirt robot spraying down some Christmas ornament using an Android phone for a remote control. His cat Wanda even makes a cameo appearance and doesn’t seem to mind the rapid fire action.

Merry Christmas from Mike and the rest of the Cellbots team!

Posted in Android | 3 Comments

New Video Overview of the Cellbots Java App for Android

Charles, Chaitanya, and I put together this quick video to showcase the four control modes available in the Cellbots app for Android. We used an iRobot Create, a Nexus One (with car dock), a Nexus S, and a Chrome OS Cr-48 notebook but only a single phone is required.

The app also works with LEGO MINDSTORMS, VEX Pro, and the custom Arduino cellbots and is available free in the Android Market for any Android 2.2 (Froyo) and up phone. After watching the video, download the app from the Market, or read more about how it works here, and of course download the source code if you want to modify it with more features and robot platforms.

Posted in Android | 16 Comments