Android Action Playback
Type:
Language:
Target :
Device:
Android Application
Java
Android 2.2 (API level 8)
Archos 28 tablet
Software License:
Description :
Allows ROFI to play back an action from the Android tablet that was created with the Robot Poser application by sending a stream of servo positions to the Arduino Mega board. The Android tablet provides a graphical user interface (GUI) with adjustable speed and playback controls. The default playback speed is at 75% of real time, but can be adjusted from 1% to 200%. The action set in the code is a simple static walking cycle. The action will loop back to the beginning once it has finished until the playback is paused. The action frames are embedded into the source code, so to use your own action do the following :
export your action from the Robot Poser application (select Android as the target platform)
copy the servo positions array from the exported file
in the ROFI_ActionPlaybackActivity.java file overwrite the servoPositions array
copy the servo calibrations array from the exported file
in the ROFI_ActionPlaybackActivity.java file overwrite the servoCalibrations array
User Interface :
Code Overview :
Packages
org.microbridge.server : the collection of code that allows the Android tablet to communicate with the Arduino Mega.
rofi.projectbiped.com : the collection of code that contains the user interface and playback logic.
Files
ROFI_ActionPlaybackActivity.java
Specifies the action through the servoPositions array
Specifies the servo calibrations through the servoCalibrations array
Ownes the server object that does bidrectional communication with the Arduino device
Extends Activity class, so it can define the GUI
Implements the Runnable interface so that it can control the playback flow (see the run method)
AndroidManifest.xml
Specifies that ROFI_ActionPlaybackActivity is the activity that should be run once the application starts up
Requests permission to use the internet (android.permission.INTERNET) which allows communication with the Arduino Mega board
Dependencies :
Requires that the Android Remote Control application is loaded on the Arduino Mega board.
Requires that the Arduino Mega board is connected via USB cable to the Archos 28.
Installation :
Setup the Android development environment on your computer.
Download the source folder for this application.
Open Eclipse on your computer.
Add this application to your work space.
From the main menu : File / Import / Android / Existing Android Code Into Workspace
Select the folder you downloaded that has the source code for this application.
Make sure all of the dependencies have been met.
Updates :
Version 1.1 (11-14-2012)
Fixed a bug where the frame number would sometimes be equal to the number of frames (caused a crash).
Updated the status display to accurately reflect when the Arduino device was connected.
Replaced the walking cycle with a more stable static cycle.
Changed the default playback speed to 75% which should be the most stable speed for the new walking cycle.