The Interactive Control of a Robot with the Help of a Mobile Device

1. Project Overview

Description

The project consists of two applications - one developed for the Android platform and one for a LEGO Mindstorms device - which communicate through a Bluetooth connection established when starting the Android application. The purpose of connecting these two modules is to enable the two devices to communicate through messages according to special protocols - Bluetooth and Lego Communication Protocol. Therefore, the the Android user is offered the possibility to control the robot. The system is composed of a user interface displayed on the mobile device, a communication environment supported by special messages corresponding to each type of command available and an application for the robot - an artificial intelligence module - which allows it to choose its own moves during the game implemented.

Application Walkthrough

The basic principles of the project are illustrated by a clasic game in which the Android user and the robot are oponents - Tic Tac Toe. The project becomes interactive due to the fact that, besides displaying the game on the mobile device's display, the robot is able to draw the game on a sheet of a paper with a writing tool held by it.

After starting the application on the mobile device, the user is requested to grant permission to start the Bluetooth service. If access is granted, a discovery is made in order to detect the nearby visible NXT devices, which have Bluetooth turned on. A list with the matching devices is shown and the user can choose the device he/she wishes to connect to. The devices are shown by their MAC address. After the connection has been established, the user can choose from the main menu whether to start a new game, read information about the application or exit the application. 

After choosing the "New Game" option, the user can decide which player will go first. After this step, the robot begins to draw the game board, sending the proper message when finished.
The board is also displayed on the mobile device and the first move must be made. The general idea is that the robot has to draw the whole process. The robot can choose its own move due to an Alpha-Beta-pruning algorithm included in the leJOS project running on the device.  After the robot's new move, a proper message is sent towards the Android device so that the display is updated. The user can select "X" and "0" by swiping the symbols on the touchscreen.

When all the moves have been made, both on the mobile device's display and on the robot's LCD, a message is shown to announce the winner. In the Android application, a new screen is shown, to offer the user the possibility to start a new game or leave the application.