First were the computers, meanwhile the smartphones and tablets are becoming all-in-one devices with useful features like communication, maps, and electro-mechanical machine control. Why? Because these are an incredible inventory of technologies used to control robots including sensors like GPS, accelerometer, Bluetooth, screen sensitivity to touch, powerful processor, camera, application development with free toolkit, and the list goes on.
Android is a Linux-based operating system designed by Google to be used with sensitive to touch devices like smartphones and tablets. Combining the functionality of the smartphone with robotic features, anyone can build robotic projects controlled with a simple touch of a screen or using different technologies integrated in the Android device.
Using smart devices in order to control the robots offer a sense of freedom in the world of robots. How Android devices come in different shapes and features, the robots can be designed to fit with any Android devices.
How to plan and develop a robot controlled with an Android device is exactly what I am doing with this article.
This is good:
- any user can develop application for free;
- existing tools to develop applications and no programming skills required;
- all sensors like GPS, compass for navigation, Bluetooth are already integrated in the device;
- the applications can be shared between Android devices;
- cost-efficient projects;
This is bad:
- it is not too simple to connect the device to a robot;
- if the user doesn’t have an Android device, this has to be purchased;
The article is divided into three different parts including the first part where are described the robot parts and tutorial how to build a robot, the second part with tutorials and resources in order to build Android applications and connect to a robot, and the last part with resources to build the robot after your idea:
- Robotic Parts Needed In General;
- How To Build An Android App And Connected With A Robot;
1. Robotic Parts Needed In General
In this section of the article I describe the device used to control the robot and all robotic parts used to build the robot. These robotic parts may vary from project to project as well as Android devices available in a large and varied number.
Controlling a robot with a mobile device like smartphone or a tablet that runs Android OS must meet at least two conditions: to have an accelerometer and Bluetooth module. Almost all types and versions of mobile devices have included this type of sensors and communication technology. I said ‘at least two conditions’ because the imagination of users may exceed the boundaries of usually controlling methods in order to control robots in different ways like using sounds or using the visual robotic system.
Even is used the accelerometer or the Bluetooth technology, an application has to be developed to run on the Android device. This application can be designed from scratch or using tools designed to build Android applications without any programming language skills. In the following are available kits and tutorials used for inspiration to build the application to control the robot.
Android Kits, Tutorials and Programming Code
Amarino is a toolkit designed to be used with Android devices. Amarino is a powerful application used to build Android apps compatible with Arduino boards. This toolkit needed Eclipse with Android SDK plug-in installed to build and compile files that will be uploaded into Android devices. This is a short way to build Android apps for robotic control without very strong knowledge in programming.
Android controlled robot (via Bluetooth) Part 1, Part 2
This is a comprehensive tutorial in two parts that explain and revealed the steps to control a robotic platform using an Android device, ATMega microcontroller, and the serial Bluetooth link.
- Using the Android Platform to Control Robots
Clear and complete paper with information about various connection methods in order to control with Android device a LEGO Mindstorms NXT robot.
- Using Android as Robot Remote Control
Tutorial about controlling a robot using Android device and Bluetooth technology.
- Simple Android to Arduino control via Bluetooth
Great article with information about how to use the Bluetooth Bee module with an Android device in order to control an Arduino board.
- Android Bluetooth Controlled Outlet
With a few steps and some inspiration for this project, any user can use the Bluetooth technology from an Android device to turn on and off an outlet.
Robots with Bluetooth
The robot has to be built before to be controlled while the Bluetooth module has to be included in the project. Even you have a very big passion to build robots from scratch or to use robotic kits, the robot must be functional structurally as well as electrically.
In general, some robotic parts are included in almost all simple projects where little robots are controlled with Android devices. These parts are: robot structure (for example car chassis), the controller, Bluetooth module, electric motors, motor driver, and other parts like batteries, power cables, wheels, etc.
If you want to focus more on programming and less in electronics and mechanics, a robotic kit is the most useful and easy robot that can be controlled. Most projects including Android controlling robots uses wheeled robots. There is not a rule; you can control any type of robot using just a simple Android device.
Robotic Kits Bluetooth Compatible
A list with robotic kits ready to be used:
DIY Remote Control Robot Kit
This kit is completed and ready to be controlled using an Android device and Bluetooth technology.
Boe-Bot mobile robot with Bluetooth connectivity
A wheeled based robotic kit with Bluetooth connectivity and with a microcontroller BASIC STAMP 2.
Rover 5 Tank Kit
Compatible with Arduino and Android, the Rover 5 is a simple kit Bluetooth compatible.
DFRobotShop Rover V2
Another tracked kit Arduino and Android compatible.
The EZ-Robot Complete Kit
The EZ robotic kit is one of the most complex and completed kits used with an Android device in many applications.
In Case Of DIY Robot
In case that you are focusing on building robots from scratch, there are described the main parts used to build simple robots based on wheels and designed to be controlled through Bluetooth technology with Android devices.
Most common and popular controller is the Arduino board. Arduino board is designed to use and access electronics in projects easier than ever. Another advantage in using an Arduino board with Android devices is the availability of full documentation and many resources that link these two platforms.
Without a Bluetooth module integrated into the robotic project, the robot cannot be controlled wirelessly. Below is a list with resources for inspiration to link the Bluetooth module with devices.
Android Bluetooth Introduction
Comprehensive documentation with source code and explanation for Android Bluetooth architecture.
- Arduino and Bluetooth
Tutorial with programming code to send and receive data from the Bluetooth module to the Arduino board.
The electric motors have to be controlled and for this are used motor drive boards with the role to control independently the electric motors. And because Arduino is one of the most common controller boards, to continue the project in the same line it can be used the Arduino Motor Shield.
The project cannot be completed without a power source or wheels in case that is a wheel based robot. Here you can find almost all robotic parts needed including power cables, batteries, wheels, and the list can continue.
Tutorials How to Build a Robot with Bluetooth Module
Because above I described general parts used to build a simple robot that can be controlled using an Android device, in the following I created a list with tutorials in order to be used as inspiration.
- YARP: Android-controlled Robot Project
Complete tutorial with programming code and information to build a wireless controlled robot.
Android Controlled Robot
Simple wheeled base robot controlled using an Android device.
- Hercules: The Motion Controlled Android Robot
Using an Android device and Arduino Uno board, the project is a real Hercules on wheels.
- IOIO-SHR Java Programmable Robot
Using the device sensors, this robot was designed to use an Android smartphone instead head.
MASHR – My Arduino Start Here Robot
Comprehensive tutorial to build a simple robot controlled wirelessly.
2. How to Build an Android App and Connected with a Robot
Is not enough to have an Android device and a robot. These two devices have to be connected and programmed to share information. On the Android side has to be available an application with interface to be used by the user to send commands to the robot.
Methods of Control
- using app to move left, right, front and back;
- using the accelerometer;
- audio signals;
Build Simple Android Applications
There is documentation with steps to start building an Android application from scratch and without experience in programming.
How To Build an Android App
Very detailed tutorial and a good start to build simple Android applications using the Eclipse platform or using the App Inventor platform.
- Building Your First App
Complete and very well structured, the training is a good start for everyone who wants to start building Android applications.
Connect Android Device to Robot
The easiest way to connect the Android device to a robot using Bluetooth technology is to use applications that can do this. Below can be found applications designed to be used in order to connect with a short and very easy way the Android device with the robot.
Connecting an Android Phone to Arduino using Bluetooth
Following the steps described in this tutorial you can connect the Android device to the Arduino board using Bluetooth in minutes.
- How to connect my phone to Arduino in 10 steps
In ten steps using Amarino on Android side, and the MeetAndroid library on the Arduino board side, the connection between the Android device and the robot is completed.
Is great to have available free resources in order to control the robot using smart devices like a smartphone or a tablet.
- Get the Android SDK
Before starting to develop Android applications using a development environment like Eclipse, Android provides a wide variety of tools and API libraries to build and test the applications.
Free application Android compatible designed to be used in robotic projects.
- Robot Remote Control
Free application designed for remote control.