The EMGRobotics Robot Controller for Android is a computer vision based smartphone application design to work with the EMGRobotics Audio Dual Motor Controller Board (ADMCB) and the EMGRobotics Audio Dual Servo Controller Board (ADSCB). The ADMCB and the ADSCB plug into the Android phone's headphone jack. The applications generate audio tones that the boards use to control DC motors (for the ADMCB) or RC servo motors (for the ADSCB).
The application uses OpenCV for Android to perceive the world through the smartphones camera. Currently three computer vision modes are supported: Color Blob Tracking, Color Ball Tracking, and Face Tracking. Color Blob Tracking is used to track any object based on its color. Simply point the camera at an object and select the object on the screen. The application will immediately start tracking to object. To select another object, simply select another object on the screen. Color Ball Tracking is similar to Color Blob Tracking but only tracks round objects like balls of the selected color. Other shapes, like triangles, are ignored. Finally, face detection tracks frontal faces.
The application includes a direct control screen. The servos or DC motors can be controlled directly from this screen by simply pushing a button or moving a slider. The numbers on the buttons represent the frequency of the tones. The action executed by the tone is dependent on the board being used and the mode the board is in. these actions can be found in the board documentation.
Using the EMGRobotics Robot Controller for Android
Example 1: Tracking a Face Using a RC Servo and the ADSCB
1) Put the ADSCB jumper in the left position
2) Plug a servo into the ADSCB with the BLACK wire towards the edge of the board
3) plug the ADSCB headphone jack into the Android phone with the Robot Controller App installed
4) Turn on the power switch in the battery enclosure
5) Click the Robot Controller App Icon (circled in blue) on your phone
6) Select Face Tracking
7) Select the ADSCB Board
8) Select the Relative mode
The display will change to a real-time video display. A green square will appear around any faces and the application will start sending tones to the ADSCB. The servo will rotate to keep the face centered in the image. If you mount the phone on the servo, the system will track your face.