Monday, September 22, 2008

Internet Controlled Robots

1 Introduction

Robots are intelligent machines that can be controlled according to need. If a multimedia interface is provided, it further aids in navigation of the robot. Making the robot wireless increases the effective area of operation, thereby making it possible to control the robot from a remote location. Keeping all the above factors in mind the, a robot capable of being remotely controlled through the Internet and possessing a multimedia interface, was conceived and developed.

The ICR is multi functional mobile device which can be controlled in real time through the Internet. The movement of the ICR is controlled by pressing appropriate buttons on its website. A unidirectional video link and a bi-directional audio link aid the user in navigation .These also provide a stronger and more user friendly means of communication with the environment of the robot.

An AVR ATMega8L microcontroller controls the movement of two D.C. Motors and one Stepper Motor. An F.M. receiver circuit, an XBee module, and an audio video transmitter circuit comprise the RF link between the server and the robot. A 12V, 7 AH battery is used to power the robot and a distributed power supply is used to step down voltages to appropriate levels, as required by the various modules.

2 Discussion

1. ICR: Electronics

The electronics of ICR govern data transfer between the server and the robot, the control of two D.C motors, one Stepper motor, a bidirectional audio link and a unidirectional video link. All electronic modules are supplied power by a distributed power supply which steps down voltages to levels required by various electronic Modules

1. AVR ATMega8 microcontroller

The ATMega8 microcontroller controls two D.C motors used for
the driving the robot. In addition it controls a Stepper motor used
for tilting the camera up/down. A summary of features of the
microcontroller and how they are used in the present version of ICR is
given below:

1) Serial USART – Used for communicating through an XBee
module to the server.
2) PORTB – All the eight GPIO pins on PORTB of the
microcontroller are used to control the D.C motors and a Stepper motor.
2. F.M receiver circuit

The F.M receiver accepts wireless audio from the F.M transmitter on the
server, amplifies the received signal, and feeds it to a speaker on the robot.
Therefore a unidirectional audio link is established.

3. Distributed power supply

The distributed power supply provides secondary sources of power of
different voltage levels required by the various electronic modules while
using a single 12V 7AH sealed lead acid battery as the primary source of
power.

4. ULN2003 and L293 based motor driver circuit

Two D.C motors are used for the horizontal motion of the robot.
Additionally a stepper motor is required for tilting mechanism of
the camera assembly. These two tasks were accomplished by using a
single circuit employing a L293 to drive the two D.C motors and a
ULN2003 was used to drive the stepper motor. L293 is a quadruple half-H
bridge IC primarily meant for motor driving applications with a
high current handling capacity of up to two amperes peak current as
required. The ULN2003 has seven high power NPN Darlington arrays.
Successive phases of the stepper motor are connected to each input pin of
the IC. This composite motor driving circuit requires eight GPIO pins
on the ATMega8 microcontroller.

5. F.M transmitter circuit

The F.M band transmitter circuit transmits audio from the server to be
received by the F.M receiver on the robot. Operating on 9V the circuit
consumes only 4mA current while providing a range of 75 meters in open.
Thus combined with the F.M receiver on the robot and the camera
transmitter-receive combination a bidirectional audio and a unidirectional
video link is established which effectively increases the precision with
which the navigation of the robot in its environment can be performed.
This also enables a means of communication between the robot’s
environment and the client’s environment.

2. Software Implementation

1. Internet Control

A. Webserver program

The web server used in this project is APACHE TOMCAT 5.5.9 or
APACHE TOMCAT 5.0.28. Some modifications were needed to
be made in the .xml files of the software so a preconfigured
version of APACHE TOMCAT 5.5.9 was downloaded from
http://www.Coreservlets.com. Also, a windows system
environment variable
JAVA_HOME with value //jdk/bin was set.

B. JAVA Servlet

The algorithm for the servlet code is illustrated. When a submit
button is pressed on the web page, the information is sent to the
servlet, which identifies which button has been pressed and what is
the state of the radio buttons. It thus sends the corresponding character to the microcontroller by means of a serial RS-232 port.
The microcontroller processes the received character and takes
action accordingly.


C. HTML based Web page

The web page contains multiple submit buttons which when pressed initiate the servlet discussed before and do the corresponding functions. A multiplier is also provided in the form of radio buttons to make the maneuvering of the ICR even easier.

2. Code running on the ATMega8 Microcontroller

The microcontroller is connected to the server computer by means of a
USART (Universal Synchronous Asynchronous Receiver and transmitter).
The communication link between the two is set at 9600 bits per second.
These settings are configured by the servlet on the server computer.
The code on the microcontroller sets these settings for the microcontroller.
The micro controller waits in an infinite loop for data, and upon receiving
a character from the server, does the corresponding action.

3. Multimedia Link

The task of implementing an audio-video link over the Internet is done by
using the software - MSN Messenger. The server side version of MSN Messenger is kept logged in to the MSN network, while continuously streaming audio and video data over the Internet. This video and audio is available to the client upon signing in into MSN Messenger. Thus a bi-directional audio link and a unidirectional video link is established. So the client can send audio messages to the robot and simultaneously receive an
audio and video stream of the robot’s environment. From the surveillance point of view an A.V. feedback is extremely vital, since the robot does not have any onboard sensors to guide it. The Audio-Video link is intended
to be implemented using a JAVA™ Applet in the future which would
fully integrate it with the existing web server (APACHE TOMCAT 5.5.9).

3. Applications of the ICR

The uses of ICR extend to an array of environments and an array of situations.
Some of the critical uses include:

1 ICR can be used for surveillance purposes in military, domestic or
industrial environments. The ability of the ICR to be controlled via the
Internet makes it possible to make the control point of the robot as far
as required from the area under surveillance.

2 ICR can be used in the corporate environment, wherein the CEO can
use ICR to be up to date with the office activities, by actually moving around in the office, talking to employees and colleagues. The ICR, in this sense bridges a communication gap considerably thereby helping to eventually improve profits, increase productivity and efficiency of an organization.

3 ICR can be used in homes where in the parents, even while sitting
thousands of miles away.

4 ICR can be used in hospitals where in it can be used to transport medicines from one part of the hospital to another; the user having to just sit on a seat and control the movement.

3 Conclusions

The present version of the ICR essentially provides a template which can be modified to serve a variety of purposes by making minor modification. In the near future to further enhance the usefulness of ICR, some of the modifications are planned to be implemented such as wireless serial link between the server and the robot, building a wireless video transmitter to further improve upon the range provided by the present video transmitter employed.