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. 🙂

This entry was posted in Android and tagged , , . Bookmark the permalink.

4 Responses to Open Sourcing the Perception Manager

  1. nico says:

    So I have been trying to get something that resembles the app in the video into a .apk to run on my phone. The question I have for you, anthony is once I have svned (perhaps not a verb) …java/perceptions/ onto my machine loading it into eclipse as a project only produces numerous errors and 3 separate projects! Obviously I am doing something wrong and since I am a total noob and dependent on eclipse to magically turn my code into .apk’s I am stuck. Any help would be great.

  2. nico says:

    Wait no ignore me

  3. Jonny uribe says:

    Francis, thank you very much.

  4. lucky says:

    thanks for the Awesome post

Leave a Reply

Your email address will not be published. Required fields are marked *