Today we announced
a fun 20% robotics project that resulted in three ways you can play with your iRobot Create®, LEGO® MINDSTORMS®, or VEX Pro® through the cloud. We did
this by enhancing App Inventor for Android, contributing to the open source Cellbots Java app,
and beefing up the Cellbots Python libraries. Together these apps provide new connectivity
between robots, Android, the cloud, and your browser.
You can start empowering your Android phone with
robot mobility by picking the solution below that matches your skill level and programming
style:
App Inventor for Android This is an entirely cloud based programming environment where you drag and drop elements
into a project right within your browser. The latest features for robots include a low level
Bluetooth
client for connecting with many serial-enabled robots, and tight
integration with LEGO MINDSTORMS. There are seven LEGO components in all, with
NxtDrive and NxtDirectCommands used for driving and basic control while NxtColorSensor,
NxtLightSensor, NxtSoundSensor, NxtTouchSensor, and NxtUltrasonicSensor are used for
sensors.
We wanted to offer a flexible application that could drive multiple platforms
and support different control modes. To do this we created the Cellbots Java application which
currently supports four robot platforms and allows additional robot types and UI control
schemes to be added using the standard Android SDK. It is
entirely open
source and available for free in the Android Market so you can try
it out right away.
With it you can use the phone as a remote control
with D-Pad, joystick, accelerometer, or voice control inputs. Then try mounting your phone to
the robot in brain mode where you can stream video back to a web browser and make the robot
speak using Android’s native text-to-speech. For those of you with two Android phones, we
support remote-to-brain mode where you can ask the robot for its compass heading or change the
persona on screen.
The 20% team got together to create a more
modularized version of the popular Cellbots project, which
is all open
source code. The goal for the Python library is to allow developers an easy way to
demonstrate the features on Android phones suitable for robots. There are commands to make it
speak, listen, record audio, take pictures, get a geolocation, and of course provide the I/O
to the bot.
The Python code is the most flexible in terms of
connectivity with support for Google Talk chat over XMPP, HTTP through a relay or direct
connection, telnet, and voice input. To use it you just need to install the Scripting Layer 4 Android and
enable the Python interpreter. Then copy over the Python and config files to the SD card and
script away.
We hope this gives
developers, hobbyists, and students a head start in connecting the next generation of cloud
apps to the world of robotics. Be sure to push your mobile phone’s processor to its limits and
share the results with the Cellbots Google Group. Try
using Willow Garage’s OpenCV for
Android or the new Gingerbread
APIs for gyroscopes, enhanced OpenGL graphics, and multiple
cameras!