I didn't even know if I could get it working until a few weeks ago, and now that it's working I'm pleased with the development process so far.
The arduino board and electronics are mounted on a robotics platform and I'm using a very high torque motor assembly that has its output shaft attached to the sides of a pet critter crawl. This weekend I plan to refactor the layout and add a Lipo rechargeable battery. This will keep me from fumbling with the rechargeable AA's that I'm using now.
My motion controller state machine is using accelerometer axis data to keep the ball rolling forward or backward. My main controller is using accelerometer "crash" events (tap and double tap). It switches direction if the ball taps into something, and it shuts off if it detects a double tap. I use the double tap to stop it so I can power it off without it starting up on me. Because of the double tap shutdown routine, if it happens to bump into something twice it stops; that's why there are breaks in the video, I get it restarted with a single tap.
So here is a 4 minute video of the Goof Ball Bot terrorizing my Maine Coon cats.
Goof Ball Bot v0.01 by Doug McFarland