[Update 2015-10-06: The app has been updated on Google Play. It can now connect to most Bluetooth modules. This enables you to use almost any Arduino and Bluetooth boards for your build!]
MobBob is a bipedal, walking robot controlled by your smart phone. He's controlled by an Arduino-compatible Bluno Nano microcontroller, and interfaces with the phone using Bluetooth LE.
His app now also has OpenCV and Android speech recognition integrated, so he is able to see and hear! In the most recent update, he can track and walk towards colored ball. (Check out the latest video.)
Here are some videos of MobBob in action:
The app shown was written using the Unity game engine. The app in the video is a demo app to show how the phone communicates with the robot. The plan is to develop apps to turn MobBob into a smart, autonomous, desktop companion. :D
I'll continue to update the app over time. You can download the latest version of the Android app from Google Play (it is free, ad-free, and without IAP):
(Now tested on Nexus and Samsung devices, and includes computer vision features. The app now also has a "Skip Connection" option that enables you to get into the main app without connecting to a Bluno board. This lets you have a play with the buttons and the computer vision features.)
The app works with the arduino code found here: https://github.com/cevinius/MobBob
I'll be putting more detailed assembly and wiring instructions on my web page soon! (www.cevinius.com)
UPDATE 2015-08-10: New app with computer vision, voice recognition and ball following/tracking has been posted! You can skip "connecting", so you can try the app out even if you don't have the robot yet. :)
UPDATE 2015-08-11: Minor update on the app. As the behaviours are getting more complex, I'm starting to rely on 2 way comms between the phone and the body to determine when the body has finished moving. This was added in the 10th Aug update. I've had feedback that some phones are having problems with Bluetooth and are not receiving the response messages reliably... leaving the app in a "stuck" state where MobBob won't accept new commands because he's still waiting for the last command to finish. This update adds a new option to NOT use the responses. If this is selected, I use a timer instead of waiting for responses. This is less accurate and not as good as using the responses... So you should use the responses if your phone is correctly receiving the response messages. (Testing on the Nexus 5, responses seem to be coming through reliably. The issues were on a Samsung phone.)
Besides the 3D printed parts, this also used:
- 4 metal gear micro servos from Arcbotics
- DFRobot's Bluno Nano
- Eneloop Mobile Booster Battery
- Nexus 5 (or another smart phone - Android/iOS)
- Micro breadboard, and various wires/cables
You need print two of the LegPart, and then 1 of each of the others.
I used hot glue to mount the phone holder and battery rack onto the servo brace. I tweaked the positions to get the battery and phone positions to balance the robot out. So, depending on what battery you use, you may need to reposition things.