http://www.cellbots.com Cellbots: Using Cellphones as Robotic Control Platforms Sat, 28 May 2011 20:53:44 +0000 en hourly 1 http://wordpress.org/?v=3.0.1 Robot Brain Transplant at the Maker Fairehttp://www.cellbots.com/android/robot-brain-transplant-at-the-maker-faire/ http://www.cellbots.com/android/robot-brain-transplant-at-the-maker-faire/#comments Mon, 23 May 2011 21:33:28 +0000 anthony http://www.cellbots.com/?p=806 Continue reading ]]> 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!

]]>
http://www.cellbots.com/android/robot-brain-transplant-at-the-maker-faire/feed/ 6
Open Sourcing the Perception Managerhttp://www.cellbots.com/android/open-sourcing-the-perception-manager/ http://www.cellbots.com/android/open-sourcing-the-perception-manager/#comments Sat, 21 May 2011 04:03:14 +0000 anthony http://www.cellbots.com/?p=779 Continue reading ]]> Hi, this is Anthony Francis, a member of Google’s Cloud Robotics team and a volunteer at Cellbots.com. 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:

http://code.google.com/p/cellbots/source/browse/trunk/android/java/perception/

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!

-Anthony

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

]]>
http://www.cellbots.com/android/open-sourcing-the-perception-manager/feed/ 3
Calling all Makers!http://www.cellbots.com/android/calling-all-makers/ http://www.cellbots.com/android/calling-all-makers/#comments Fri, 20 May 2011 18:49:24 +0000 anthony http://www.cellbots.com/?p=769 Continue reading ]]>

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!

]]>
http://www.cellbots.com/android/calling-all-makers/feed/ 2
Clean Christmas Ornaments with a Robot and a Cathttp://www.cellbots.com/android/clean-christmas-ornaments-with-a-robot-and-a-cat/ http://www.cellbots.com/android/clean-christmas-ornaments-with-a-robot-and-a-cat/#comments Sat, 25 Dec 2010 06:10:24 +0000 ryan http://www.cellbots.com/?p=759 Continue reading ]]> 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!

]]>
http://www.cellbots.com/android/clean-christmas-ornaments-with-a-robot-and-a-cat/feed/ 3
New Video Overview of the Cellbots Java App for Androidhttp://www.cellbots.com/android/new-video-overview-of-the-cellbots-java-app-for-android/ http://www.cellbots.com/android/new-video-overview-of-the-cellbots-java-app-for-android/#comments Fri, 24 Dec 2010 19:09:40 +0000 ryan http://www.cellbots.com/?p=757 Continue reading ]]> 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.

]]>
http://www.cellbots.com/android/new-video-overview-of-the-cellbots-java-app-for-android/feed/ 14
Googlers Give Cellbots a Major Upgradehttp://www.cellbots.com/uncategorized/googlers-give-cellbots-a-major-upgrade/ http://www.cellbots.com/uncategorized/googlers-give-cellbots-a-major-upgrade/#comments Fri, 17 Dec 2010 14:06:12 +0000 ryan http://www.cellbots.com/?p=699 Continue reading ]]> The past year has been an exiting time for Cellbots. We’ve seen contributions from all over the globe with code submitted from Europe, Australia, South America, and multiple cities in the US. The community has continued to grow with members ranging from young students making their first robots to seasoned veterans from CMU and NASA. Now it is getting another boost with contributions from some Googlers (including myself), who used their spare 20% time to help connect Android phones with robots.

We now have our first app in the Android Market, which you can download for any Android 2.2 (Froyo) and up phone and connect with your Arduino Cellbot, iRobot Create®, VEX Pro®, or LEGO® MINDSTORMS®. It provides a quick out of the box experience you can have fun with right away just by pairing over Bluetooth. The Java app is also open source so you can hack away at adding new features and support for more platforms.

Or course we also had to focus on the Python libraries since those are what Cellbots started with. The new release significantly increases the flexibility of the stack by turning everything into components that can be extended. This makes it possible to more quickly add support for new robot types, communication methods, and features. Currently supporting the Arduino Cellbots (AVR bots), VEX Pro, and the iRobot Create, we hope to add support for LEGO MINDSTORMS soon.

If a LEGO robot is your thing and you don’t know Java or Python, the new enhancements to Google’s App Inventor for Android will be for you! This web based development environment allows you to create programs that run on your Android phone just by dragging and dropping objects in a web browser. Beyond the tight LEGO MINDSTORMS integration you can also find a generic Bluetooth API where you could write to an Arduino Cellbot, VEX Pro, or iRobot Create.

These apps give the Cellbots community a nice boost and new options to explore. We can’t wait to see what developers do from here with more onboard processing offloaded from robots to an attached phone, and even more functions further offloaded to the cloud. Get hacking and be sure to share what you build!

]]>
http://www.cellbots.com/uncategorized/googlers-give-cellbots-a-major-upgrade/feed/ 8
Water Gun Robothttp://www.cellbots.com/android/water-gun-robot/ http://www.cellbots.com/android/water-gun-robot/#comments Sat, 23 Oct 2010 01:53:34 +0000 david http://test.cellbots.com/?p=579 Continue reading ]]> Michael Winter’s Squirt is an autonomous robot which can communicate with an Android phone. Optionally, the phone can be used as a controller to drive the robot. Squirt’s purpose is to water plants and chase away raccoons. It’s also a technology demonstration to prove the feasibility of using a smart phone to control small irrigation and well systems.

Squirt can either be in guard mode or phone control mode. In guard mode it searches for moving objects and squirts them. In phone control mode it is driven like a RC car. Steering can be by software joystick or by tilting the phone in the direction the robot should go.

The big red dot in the middle is a software joystick for driving. The red lines indicate distance senor values from the robot. If the green circle icon is pushed, the big red dot turns blue and becomes a pan/tilt joystick for the water gun. The orange circle with red dot is the water gun trigger.

Squirt can also be controlled by SMS text message from any cell phone. This is accomplished by using the Android phone to relay the message to the robot. For instance, if you send my Droid phone a message where the first character is a period, it will command the robot to fire the squirt gun.

The robot has a timid personality. It verbally comments on external events and on the human’s driving skills. In general, Squirt is wary of things sneaking up behind it.

The water gun is a slightly modified SIG SAUER STR70 Saturator electric water gun. It shoots 4 “bullets of water” every second; range is 6 meters. The amount of water is small and unlikely to damage even the most fragile of plants. Interestingly it features “realistic sound”. To me it doesn’t sound so much like a machine gun but more much like a powerful electric water gun, which it is. The noise is loud, which hopefully can scare raccoons away from tomato plants. How Squirt Works: Squirt uses 3 onboard processors plus a processor in each servo. The master processor is an Arduino Mega which is used for AI, navigation and as a master controller for the sub systems. The second processor is an ARM 9 board for controlling the high speed communications to the servos, last is a graphic processor for the OLED Display.

The Arduino Mega sends and receives data from the Android phone via blue tooth. The Arduino is constantly sending sensor and AI information to the phone. The robot receives driving, servo controlling and mode setting data from the phone. Personality functions are carried out both on the phone and the robot.

The water gun fires by using a relay to bypass the trigger circuit. A 3 color 1 watt LED has been mounted on the barrel to display status of the mood of the gun. Red, of course, means its upset and likely to fire shortly. Summary: Squirt demonstrates that a smart phone and a robot can work together to accomplish tasks. The next step is to design an simple irrigation system based on the technology, get philanthropic funding and hopefully help grow food.

Check out more on the construction overview and videos page for Squirt.

Fun Video:

Contact info for Michael Winter: robotmike@comcast.net

]]>
http://www.cellbots.com/android/water-gun-robot/feed/ 31
Control + Video From a browserhttp://www.cellbots.com/uncategorized/control-video-from-a-browser/ http://www.cellbots.com/uncategorized/control-video-from-a-browser/#comments Fri, 10 Sep 2010 22:46:04 +0000 darrell http://www.cellbots.com/?p=372 Continue reading ]]> As previewed, the CellJoust software is now Available for download This software uses a new Architecture that allows control of the bot from any web browser, while getting low lag streaming video.

The software has two parts, the first is the Android APK can run standalone and accept commands from a Wiimote. This is useful if you do not need video as setup is quite Simple.

Standalone/Wiimote Mode Setup:

  1. Install “WiimoteController” fromt the market
  2. Install “CellJoust” from the cellbots google code downloads
  3. Run WiimoteController and get your Wiimote setup, be sure to pick the Wiimote as your default input device.
  4. Now Run CellJoust
  5. The bot should move when you press and hold a direction on the d-pad

Browser Control and Streaming Video Setup

  1. Install “CellJoust” from the cellbots google code downloads
  2. Download and install your favorite servlet container, ie. Tomcat
  3. Download CellServ.war from googlecode and put it in your webapps directory
  4. Start Tomcat
  5. Now start your favorite web browser and go to localhost:8080, you should see a Tomcat welcome page
  6. go to localhost:8080/CellServ you should see some movement buttons and a broken image tag since we are not sending video yet
  7. Make sure your phone is on the same wi-fi as your pc.
  8. Start Celljoust, press the menu key, and go to settings
  9. Set the CellServ to point to your pc
  10. Now restart Celljoust and it should start sending video to the browser window
  11. If the video is not connecting, check your settings and reboot your phone
  12. Once you see video, you should be able to use the buttons in the browser gui to drive the robot

This software was made with contributions from several members of the Cellbots team, and numerous open source projects such as GWT,ProtoBuff, CyanogenMod, AOSP. It is open source under Apache2 and the source code is available in the Cellbots svn repo.

This TRRSTAN only version is only a starting point with the ultimate goal of “A mobile app and a web interface that can drive a Roomba, Cellbot, Vex, LEGO, or similar robot”–Ryan

We are also investigating different network topologies for use across the room, or across the plannet. This nice network diagram is by Chris at CMU:

]]>
http://www.cellbots.com/uncategorized/control-video-from-a-browser/feed/ 5
I think we have found the killer App for TRRSTANhttp://www.cellbots.com/uncategorized/i-think-we-have-found-the-killer-app-for-trrstan/ http://www.cellbots.com/uncategorized/i-think-we-have-found-the-killer-app-for-trrstan/#comments Wed, 08 Sep 2010 05:49:29 +0000 darrell http://www.cellbots.com/?p=366 And I do mean killer

The bots were controlled with Wiimotes. Full instructions for partaking in the noble sport of CellJoust and a new controller App to be released friday. Let the poking commence!

]]>
http://www.cellbots.com/uncategorized/i-think-we-have-found-the-killer-app-for-trrstan/feed/ 0
How the TRRSTAN kit workshttp://www.cellbots.com/uncategorized/how-the-trrstan-kit-works/ http://www.cellbots.com/uncategorized/how-the-trrstan-kit-works/#comments Wed, 21 Jul 2010 19:25:18 +0000 darrell http://www.cellbots.com/?p=344 Continue reading ]]>

TRRSTAN kit Contents

TRRSTAN kit Contents

TRRSTAN is now for sale on the inventor’s site: robots.allthingsgeek.com

The TRRSTAN kit is designed to meet three main goals:

  1. Affordability,  currently $48, batteries included,  $40 Educational.  So cheep you can get two and fight em!
  2. Simplicity,  Avoids programing microcontrollers, lets you concentrate on programing the phone instead, audio connector allows control from any device with a headphone jack.
  3. Upgradeablility,  Because makers like making things more then having things,  provide upgrade options for future tinkering

The physical design of TRRSTAN uses the PCB as the chassis,  CDs for drive wheels, and nylon shower door rollers for rear wheels.  This gives it an overall look similar to a roman chariot.  Smartphone jousting anyone?  CDs wheels were chosen so they could be made from CDR coasters or unwanted Hana Montana albums. The large diameter makes it a pretty fast bot.   The phone is held on with rubber coated screws and an optional Velcro strap.

The electrical design of TRRSTAN  has two main circuits. For power their is a TI boost/buck regulator that accepts from .8V to 6.5V and provides a constant 5v at up to 1500mA,  depending on how far it has to boost.   It also provides a low battery led and overheat/short protection.   It is supplemented by a low VF Shockley Diode,  which provides up to 3A  directly from the battery if the 5V line drops due to high start-up loads.  The kit currently ships with two AA batteries and a holder, which keeps cost low.

The second circuit controls the servos via the audio.  The software on the phone generates a pulse width modulated signal that travels to the board via a standard 3.5mm TRRS(tip-ring-ring-sleeve) headphone+mic cord. Then a Toshiba quad opto-coupler to rectifies the +- pulse of the audio signal, boosts it to 5v and squares it off.   With some servos you do not even need the boost from the opto, you can drive them directly from the headphone cord. However, the opto also provides electrical isolation to protect the phone if something bad happens.

TRRSTAN schematic

TRRSTAN Schematic

There is also space on the board for a sensor upgrade kit that allows two 0-5v sensors, two quadrature encoders, two bump switches, and sends data back to the phone via the mic line.   This sensor upgrade kit does use an 8pin AtTiny13. This upgrade kit is still in development.

TRRSTAN is now for sale on the inventor’s site: robots.allthingsgeek.com

TRRSTAN Assembled

Ready To Rock

]]>
http://www.cellbots.com/uncategorized/how-the-trrstan-kit-works/feed/ 8