This Android app allows you to "attach" a virtual leash from your phone to Sphero, so Sphero can roll alongside you wherever you go.
The app works by using the gyroscope and accelerometer in your Android phone to detect when you start walking (and in which direction), and when you stop. It then relays the corresponding commands to Sphero via Bluetooth so that it can match your movements with its own. The app also recognizes the gesture of "yanking on the leash" which causes Sphero to roll with a burst of speed in the corresponding direction.
I had previously come up with another Sphero app, but it was quite complicated both in terms of user experience and implementation. So I decided to come up with something simpler that would be more fun for anyone (kids or adults) to quickly learn and play with.
The setup portion of the app uses computer vision (via OpenCV) to calculate the mapping between the phone's sensor coordinate system and Sphero's "forward motion" orientation. The constrained context (birds-eye view of Sphero on the ground) makes the vision problem easy (a simple image template match works well), but is still a bit complicated for a first-time user, so I'm working on improved designs to make this as easy as possible.
After setup, the phone camera is not used; only the sensors are active. Detecting the user's motions reliably remains a work in progress (along with making Sphero's motions match smoothly). But the app is already in a state where you can get Sphero to behave if you have a little patience.
The Android app is available for testing from the Google Play Store.
You can follow the project progress on the website, and if you're interested in hacking on it, the code is all open source on github.
Comments
Please log in or sign up to comment.