Using the Android Platform to control Robots
The popularity of android devices is attributed to their powerful capabilities which include internet connectivity, open architecture, and several other kinds of built-in sensors. Students and other software developers are increasingly using the android platform since it utilizes Java programming language which can easily be applied in universities and other learning institutions LPCCA. Not only is Android API open and easy to use, it also allows developers to access various hardware components and different low-level functions. Most robotic functions can be controlled by the Android platform due to presence of several communication interfaces such as Bluetooth, WiFi, USB, GSM/UMTS, and integrated sensors like the gyroscope, accelerometer, compass and GPS.
Although the devices are produced for the mass market, the Android platform does not have the capacity of physically extending so that it can be able to control additional sensors and actuators. Developers argue that this is an important necessity if Android devices are to be used for robotic control. Experts believe that most of the challenges can be solved by making data structures, algorithms, and software behavior more concrete. For instance, robots can be built easily with LEGO Mindstorms RCX and with the latter NXT. However, the NXT capabilities are not sufficient for running complex programs that are based on Java. A two-layer approach is used to address this problem, while experts intend to replace the lower layer in the future robotic versions with a microcontroller platform, such as the popular Arduino board.
Experts designed LPCCA library that deviates from a direct connection between NXT and Android, to Android and microcontrollers. Several types of board designs have been introduced, such as the Arduino Mega Board, which has a larger CPU and additional ports compared to the standard Arduino. A number of approaches have already been introduced. First, Microbridge is a software project that builds upon a USB Host Shield and an Arduino microcontroller board (Gobel, et al., n.d). Second, the IOIO Board is a hardware circuit board that is used as a direct extension for the Android platform. Other approaches that have already been experimented on include Google ADK, Cellbots, Amarino, and leJOS 0.9/Android.
The popularity of LEGO Mindstorms NXT system has risen rapidly in learning institutions because it is less costly in comparison to other robot platforms for professionals. It is also flexible due to several mechanical elements that allow development of various robots, while its graphical programming software is easy to understand.
Figure 1: Lego Mindstorms NXT (source: http://www.jataka.hu/rics/lego/)
Experts developed a library so as to create sufficient connection between NXT and Android. Connection considerations that were utilized include direct via USB, indirect via microcontroller, and Bluetooth. The current implementation of the library has a Remote Service known as LPCCARemoteService. This is an Android interface that controls connections between Android applications and NXT. An example is the WebMoteRobot than can be used to set up connection when a person has an Android device.
Figure 2: WebMoteRobot (Source: http://www.innoc.at/fileadmin/user_upload/_temp_/RiE/Proceedings/65.pdf )
Basically, this document has analyzed the fully functional LPCCA library that enables experts to develop Android applications with ability of controlling remotely the NXT robots. Whereas most of this information can be accessed in actuatorzone.com, Android enthusiasts will thus benefit from the library where programs can be used to verify complex control sequences for the NXT. Students will also be supplied with an easy access to LEGO robot sensors and actuators that are not only simple and flexible, but also less costly.
This Post / Project can also be found using search terms:
- NXT Robots