This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
In this paper, we put forward a method to put into use the cellular data network i.e. the General Packet Radio Service to be more precise, to control the movements of a robotic device. As the distances between the robotic devices and control systems are limited, the operating of the device after certain limit becomes challenging. Thus, with the use of GPRS we can improve the range, speed, mobility and simplicity of operations for the end-user .In this application, we put to use the Java Programming Language for development of the mobile software by implementing two operation methods : predefined string of actions and spontaneous events.
Index Terms : GPRS, Robot Control, J2ME, GSM
Distant automation and monitoring devices have been put into practice along with the quick growth in inter network connectivity and, more recently, it's connectivity has been fitted in into the cellular data network; primarily by means of data services such as GPRS. These systems have benefits in terms of range, speed, mobility and simplicity of use for the end user. With the inventions in the field of mobile technology and their usefulness in remote automation and monitoring projects, it has become possible to create a huge array of applications from alarms, security surveillance, vending machines monitoring and incandescent panels.
Robotics has now come together with mobile communication, making alternative interaction with these devices possible, such as the control of robots using mobiles. However there are difficulties with linking, and there exist latency defects in instantaneous communications. Also, the use for these types of technologies, such as domestic robots, have been studied. Domestic robots are crafted not only to look after houses, but also to perform household chores in a predefined user-controlled way; and can be programmed from far off locations by means of a mobile. This paper defines and explains a Robot Application System created using mobile communications and bringing together data transfer technologies. This system runs on a mobile, by performing the following two control methods: The first consists of instantaneous control commands sent by the user via the interface, while the second consists of sending predefined programmed steps of action to a dedicated server, which then commands the robot to act accordingly with the help of predefined timers.
Global System Mobile (GSM) is a universal standard for mobile phones. The standard was created by the CEPT i.e. the European Conference of Postal and Telecommunications. This was later developed by the ETSI i.e. European Telecommunications Standard Institute, for mobiles with the purpose of creating a standard that was universally adopted. GSM is an open standard and still in development. GSM is also the leading system for mobile networks all over the world. GSM is different from its antecedents majorly because of the digital nature of the communication, since the data and voice channels are digital. It was intended to provide a standard security level and provide services like GPRS, as used in the project.
GPRS was formulated by ETSI for the second segment of the GSM system. It provides elevated data transfer rates especially for internet connectivity, through protocols like TCP/IP, X.25 and
CLNP (Connectionless Network Protocol).Before GPRS the wireless data was conventionally transferred in a dedicated GSM path at 9.6Kbps. Now with GPRS, the transmission rate has improved from 40Kbps to 115Kbps. Thus, practically we have obtained speeds ranging from 18 to 50 Kbps in the downlink and nearly 9 to 13 Kbps in the uplink. The transmission rates differ usually due to the network dependence on reasons such as congestion, mobile device, distance from the base station or user speed.
J2ME & JAVA Servlet
It is a part of the java language which is focused to the development of functions for mobile devices, due to the constraints in terms of capacity, processing and storage of these devices. It utilizes the Kilo Virtual Machine (KVM), which gets its name due to its volume, restricted to a few KB of memory; also, it has fairly less services incorporated from the conventional Java virtual machine such as the garbage collector and the 37 basic classes included in the package. In the J2ME package we find libraries that execute specific classes for specific types of devices, these libraries are called profiles. Sun has formulated the MIDP, the RMI profile, the Personal profile and the PDA profile, which are directed towards the varied devices and technologies. Also there is the addition of elective packages to augment the functionality, which is for example the data encrypting package for HTTP connections . A particular profile uses configurations, which are the minimum set of APIs (Application Programming Interface), that allows a developer to create an application for a device, this configuration uses two different types of virtual machines: The kilo virtual Machine and the Compact Virtual Machine (CVM). A J2ME environment incorporates the following elements: Virtual Machine, Profile, Configuration and elective Packages.
MIDlets (Mobile Information Device lets) are the applications that the device implements. The MIDlets are essentially Java programs that can be run by a Java VM depending on the chosen profile and configuration. In the development process of a MIDlet there are 6 distinct steps to take. These steps are Development, Compilation, Preverification, Packaging, implementation
and error removal. In the development phase of a MIDlet, the developers have to use the regular classes from the API. These classes include the communication API for distant connections, the RMS API for continual storage and the Graphic API for user interface
2. JAVA Servlet
An accompaniment of the standard Java Package (J2SE), intended for the development of server side applications is the JAVA Servlet. It Provides an effortless reliable mechanism to extend the functionality of a web server, and to uncomplicated the access to current existent architectures.
Figure below shows the client server scheme executed in the servlet creation.
Figure : Client Server Scheme using Java Servlet
Servlets are competent replacements for the CGI scripts. They formulate a way to provide ease of creation and quick execution of programs. Using the Java APIs, the Servlets avoid the platform definite development problem.
The application consists of a robotic device that consists of a microcontroller integrated with it. This microcontroller directs the robot as to what task has to be performed. The microcontroller is based upon the 16-bit Motorola MC9S12DP256. The microcontroller gets its directions from a server that acts as a connecting media between the robotic device and the mobile application. The mobile application is primarily a JAVA App that consists of control options for the end-user. Once the user selects an action to be performed the server gets this course of action via mobile internet i.e. GPRS after an authentication process at the server.
Figure: Block Diagram for System design
As shown in the adjoining figure , the mobile device is connected to GPRS network of the respective service provider(GSM), and then, through the gateway, makes a connection to the application server via the internet protocol i.e. IP address . Then within the server, the process of authentication is done, and the control action required by the application is made by transferring the request through the serial port to transmit it to the robot using the RF communication module. The communication between the mobile network and server is done via the GPRS whereas the communication between transmitter and receiver is done using radio wave propagation. The application runs using 2 basic steps:
The first consists of real time commands sent by the user via the application interface.
While the second consists of sending preprogrammed sequences to a dedicated server, which then sends the orders to the robot sequentially using predefined timers.
Figure: System Architecture
JAVA Mobile Application
1. Structure of Application
As stated above, the mobile application is basically a Java Program and hence it has an object
defined structure to execute the application functionality. The application consists mainly of four classes, each of which controls a part of the execution. The ActionKey class manages the instant action execution flow by identifying the concerned action, and restructuring the device screen to reproduce that action and finally by initializing the connection to the server. The SeqKey class integrates the same aspects of operation of the ActionKey class, but it gets one motion sequence collected by more than one command. The ConnectWeb class makes all
Figure: Validation Screen
the connections with the server. Finally, the FoneMidlet class coordinates all the operations and does the authentication process and session management.
2. Application Execution Path
When running the application on the mobile phone, a menu on the screen appears, which unfold according to the selections made by the user. Next appears the following which shows the variety of possible situations that can happen:
1. Welcome Screen: It displays a welcome message and an image. It is primarily the application
2. Validation Screen: This screen allows the authentication process to take place between the user and the server, for the use of the application. Data entered by the user is transferred to the server which is cross-checked with the database, which allows or denies access depending on the authenticity of the data. There is a limited access time for every user, since the application supports only a single robot.
3. Robot Control Screen: The user is given the option of selecting the mode of control .The available modes are: direct control and sequential control. The first mode allows the user to send commands to the robotic device one by one, thus resulting in direct control of the device, while the second one allows the user to send a sequence of commands, that will be executed with the help of a timer.
3.1. Direct Control: The user sends orders one by one to the robot. The desired direction is selected from the screen.
3.2. Sequence Control: The user sends a group of commands to be executed sequentially by the robot.
Figure: Robot Control Screen
Application Download And Server Description
The application must be installed on the mobile by downloading the application from a server, or by transferring it via the USB from the laptop to the mobile device.
The Tomcat packet is installed in the server, as a container of Java Servlets . It consists of three processes:
Authentication: In the authentication process the server searches within the database the existence of the user and the validity of the password. Also it detects if this particular user is authorized to access the application at this time for operation. This characteristic is integrated within the system for security purposes. The server thus assigns a session number after the user is successfully validated and allows the user to enter the system.
Mode Selection: The servlet makes a judgment based on the user request about the function that the device must perform (direct control or predefined sequence). Then the control characters are sent via serial transmission.
User Notification: The servlet notifies the user with a code that signals the end of the operation, and authorizes it to send more data.
Conclusion & Future Scope
Thus this application allows the control of a mobile robot implemented using the mobile network(GPRS). It was possible to achieve distant connectivity using the service providers GPRS service and the TCP/IP stack protocol, that allows the formulation of a Client - Server relationship with a remote computer. The server manages the movement of the device based on the client request. This GPRS control is useful in systems demanding features such as mobility, range and higher speeds.The communication interface costs in these systems are far more affordable than other methods like devoted telephone lines, etc. This is because GPRS is a packet switching system, in which the cost is only for the amount of transmitted data, not for the time the connection lasts. The transmission rates differ usually due to the network dependence on reasons such as congestion, mobile device, distance from the base station or user speed. The network delays force the mixture of the teleoperated functions with independent functions preprogrammed in the robotic device's control architecture. Techniques that allow automated responses in complex situations, like real-time intelligent collision avoidance systems, must be implemented. J2ME platform presents great flexibility in the
programming of applications for devices having limitations in terms of RAM, memory space etc. Thus it supports the creation of various applications in the field of monitoring and teleoperation of varied kinds. This system was developed to control the robotic device and can be custom-made to suit other types of robots and devices like domestic help, vending machines and industrial machinery.
During the course of this Preliminary Project report we found that it not only sharpened our logical skills but also taught us value of joint efforts and hard work. On the successful completion of our report work, we take this opportunity to thank every person associated with it. It gives us great pleasure to present this project on: "Robot Control Through Mobile GPRS". We are extremely grateful for necessary information, support and the guidance provided by:
Prof. Mr. Y.V. Dongre whose help and guidance has been valuable to our project.