ROBOTICS AND NETWORK SERVICES IN TECHNOLOGY

QUESTION

 

Aims:

To analyse and implement the technology required to operate a remote object.

 

Outcomes to be assessed:

This research paper addresses knowledge outcomes all knowledge outcomes as described in the module specification

 

Problem Statement:

 

  1. The concept of controlling distributed agents from a remote location can take many different forms.
  2. There is the potential for much different architectures to be utilised depending on the concept in which the agent is operating as well as alternative communication protocols.
  3. When attempting to implement a remote agent the user needs to be aware of the operational parameters of the devices they will be controlling.
  4. As such, they will have access to dedicated design and implementation details of the technology they will be using.

SOLUTION

Introduction
This document does a detailed study of the technology and its architecture, to control a mobile robot system from a remote system. There can be a number of different alternatives about how to control such a system, after all a technology which suites the user, gives best performance, is cost effective, and which would find technical support for a foreseeable future, is the technology of choice.
The alternatives can be of a wide variety, hardware & software, and the one which mingle with each other so as to produce a good combination. The radio frequency technologies which are the backbone of the mobile devices, including this one has seen a lot of advancements with time. This is the basic thing which makes us imagine the system of robots, moving in the direction of our choice supported by a small Li-Ion rechargeable battery, to collect invaluable pieces of information and data. The body of the mobile robots is built with an objective to make them capable of rolling into areas from where the data is supposed to come. It should have the parts which can rotate freely into different direction, like the arm in which the camera /webcam is fitted.
Apart from the hardware requirements which are the base of the mobile robots, the software technologies have come up to serve us so that we no longer need to move the jokey of the remote control. The java applets which can be installed into a user desktop, helps in precise movements and monitoring of the robots. This is not enough the mobile robots are being controlled these days from a very far-fetched place; the remote technologies have reduced the need to actually control the robots with hand-held devices. The robots can be controlled by a client sitting far away from the system on which the applet console has been installed.
We here in this document are going to discuss such technologies which enable the robots in functioning to the best of the requirements of the human needs. We would first start with the hardware technologies, protocols, and standards which make up cost-efficient usable robots, and then we shall be turning towards the client-server and remote technologies which have pigmyied the distances, without compromising the accuracy of the results.
Section 1
The hardware setup of the robots
The hardware components which serve the purpose of general mobile robots would be discussed first. What are the basic parts which make up a robot?

Above figure gives the view of the hardware parts of the SRV robot.
Let us list those parts, without which we cannot think of these robots:
•    A processor capable of controlling all the parts of the robots.
•    A camera with required pixels.
•    The robot chassis
•    Motors and treads for movement.
•    Infrared sensors
•    Wireless transmitter receiver system to make communication possible
The robots for research require a good capacity processor which is basically a microcontroller chip which is programmed in c or basic control the parts of the robot to run in unison. The user doesn’t need to bother about how the microcontroller is programmed. This is all the headache of those who design the robots. After all the users are supposed to interact with the robots, through the GUI (graphical user interface) built to control the system of robots. (Frouzan 2009)

The microcontrollers is like a small computer which has a processing ability and flash memory, which can interact with the peripheral devices, produce required signal for the proper functioning. It is programmed in a high level assembly programming languages. The programmers, who program the robots, generally write those programs in c language. These c programs are in turn converted into the assembly language by the compilers which are specially built to serve the purpose of these microcontrollers. The microcontrollers come in a particular series and they vary in performance with the designer vendors.

The peripheral devices attached to the microcontroller, send interrupt signals in order to gain access to the resources of the later. These interrupt signals have been graded according to their level of importance, in which they should be served the processor. When the processor gets an interrupt signal, it looks for the level of the interrupt, then if required would suspend the read/write cycles allocated to other processes, and would process the interrupt signal. (Kamal 2010)Suppose a   case when a peripheral device need to write to the memory of the microcontroller, it would send an interrupt signal to allow it to access the memory. The microcontroller would check whether the interrupt is important enough to suspend the ongoing process. If it finds that the request of the peripheral device must be fulfilled then, it would latch-up the current process and give the peripheral device an access to the memory. This particular process is known as DMA.

The memory of the microcontrollers comes as EEPROM flash devices, which can be flashed with the help of electric signal. This increases the reusability of the memory. It is important that while assembling a robot it should be taken into care that the maximum capacity to which the microcontroller browses the memory depends on the bit-capacity of the microcontroller. Suppose the microcontroller has a four bit capacity, then it can support memory up to only 2^4 bits. Thus it is required to check the bit capacity of the microcontroller, as it may lead to either excess or shortage of memory space. These days maximum microcontrollers come in 32-bit capacity, which is enough for most of the research purposes and enough amount of memory can be allocated to the robots for all purposes

The robots require a camera which in general a low pixel capacity, so that we are able to store the images and videos of the scenes captured in small space and with less processing required by the microcontroller. The body frame of the robots should be made taken into consideration the environment of the research field. The motors moving the arms and the wheels are also important feature needed to consider before the robots are made, as it can affect the mobility of the robot.

The sensors are the eyes of the robots. The sensors are the devices which convert a physical quantity so as it is readable to the user. There may be many sensors attached to the system of the robot, each with a different purpose. Some of the sensors may help robots to get the temperature, humidity, presence of suspended particles in the environment. The nature of sensors should be decided with the purpose or the goal of the experiment in the consideration.
There can be errors in the measurements of the sensors, which should be also considered in a limit to the results expected.
The wireless devices which are attached to the robots are very important as they carry the signal            to and from the robots. The common wireless devices which make this possible are the WLAN technologies, which help the user to setup a contact with the robot from their working system. These systems are compatible with most of the computing systems. They are based on the IEEE 802.11 standards, that too mostly b & g standards.
Till now we talked basically of the hardware enabling technologies of the robots. There is good level of software implementations and standards, the networking standards which make these robots a techno-savvy device, making a research a piece of cake. They provide a graphical interface to the user to interact with the robot as if it were a friend stationed some remote place.
Section-II
The OSI/TCP-IP model of the internet technology makes it possible for the user to transfer data sitting from a remote desktop. Then there come the operating system which helps the user to install the softwares supporting the particular device. The Java technologies like Applets/Swings make it possible for the user make an interactive session with the device. The tentative and meaningful buttons, the video player in the applet console makes research job of a child. Then there is the RMI technology which moves the java objects across the network. There can be many technologies which make the client –server model possible. So we shall be having a discussion regarding the software technologies working for enabling the research work into possible attempt.
The Software architecture
Let us start with the software setup we need in a general way for installing a robotic system. The first requirement would be to install the drivers. The drivers are the programs which are usually built in C/C++, which interact with the hardware system. These drivers on installation compile themselves into binary codes which make it easier for the hardware to interact, as they understand only the assembly level programming. The operating systems are basically of two major file systems, namely the windows and the Linux based systems. The user should take care to analyze which drivers are best suited for their operating systems.  This should be known that the windows installer files have in general “.exe” format, while the Linux systems demand the rpm packages for their installer files. The user should read the user manual carefully to understand the compatibility of the drivers with the Operating Systems.
Discussion of Standards and Protocols
After the operating system requirements let us, learn the internetworking models which make the control of the distributed systems possible from a remote locality. There are basically two networking model/standards
•    The OSI model
•    The TCP-IP Model
The difference between the two models is very less if we consider the end-to end results. The OSI Model, stands for open system interconnection model, is an abstraction of the communication layers between different systems supporting the internet. This helps in making possible that devices from different vendors meet a level of standards, so that they can work together exchanging data and information. This was a great achievement from  the point of view that there were system which were compatible only with the devices made by the particular vendors, but now there was no barrier of vendors localization on these devices.( Schildt  2009)

The Layers of abstraction which make the understanding of the internetworking easy are given as follows:
•    The physical layer: the physical layer is the one which we are very much aware. They transport data in the form of electric signals. But this was not that easy as perceived these days. The earlier systems were capable of sending analog signal only, which resulted often in the loss of the signal s and the faithful recovery of the signal or data was not possible. So, there was sought a system of modulation which could be exchanged between two points, such that the distortion of signal would not lead to loss of data. Thus, was born the Digital system of communication, which standardized the transport of the signal. This also gave birth to the LAN (local area network) technology. Today, the LANs have the capacity of sending large bulk of data across two points in a matter of seconds.
•    The Data Link Layer: The data link layer technology sits right above the physical layer. The data from the physical link layer is transported in the form of bits. The data link layer packages these bits into frames. There starts a new concept of physical addressing in this layer. All the devices connected in a network are provided a physical or mac address. These mac addresses are burnt into the network cards. This is very important, in a sense that the devices in a small network do not need any other address for the transport of the data. There are few networking devices which work in this layer like Hub and L2-Switch.These devices would have least intelligence regarding the transport the data, and would broadcast the data to all those connected. This results loss of signal, speed of data transfer and loss of security.
•    The Network layer: This was a great advancement over the two underlying layers. The biggest advantage was the systems were given a new logical address called the IP address, after the internet protocol. There were earlier 32 bit network address, but as the demand of more and more systems increased, the need of 64 bit network addresses was felt. There were many important protocols which served in this layer, i.e. Internet Protocol (IPv4 & IPv6),IPSEC, IGMP, AppleTalk, etc. The IP addresses could be divided into basically 3 groups for the purpose of sub-networking namely A, B and C depending on the size of the network to which communication was to be established. The devices which played the role in achieving this were L3-Switches and the Routers. These devices made a great difference in networking as they came up with the routing tables, where the physical address and the logical address were mapped with ,so as to facilitate the data transfer in an intelligent purpose
•    The Transport layer: As the network layer encapsulated the frames of data into IP Packets, the Transport layer encapsulated them into datagrams and TCP frames in order that the data is delivered fast and secure. The TCP (Transfer connection protocol) and the UDP (User Datagram Packets) were the two protocols which made it possible for the user to do end to end data transfer. The most useful HTTP protocol is based on the UDP, though not secure but fast. The transport layer brought in the concept of Sockets. The sockets can be defined as the port and IP of a machine, server or the client.
•    The Session layer: As you might have heard of the HTTP session, messing session, etc. this layer controls them all. This level is responsible in making sure that there is always coherence in the response returned to the client while in session. When a client makes request for a resource from the server, the server in turn create a session for the client. The client sends the next requests with the session id appended to request object. Thus the server comes to know that the same client is attached to the requests.
•    The Presentation and the Application layer: The presentation layer is responsible for the end result so as to make the client fetch the data in an understandable form. It is also responsible for the security of the data .It sends encrypted data through the network, which can be easily deciphered at the other end with help of private key. The application layer is responsible with the handling of the parallel processes so as to keep the processor utilization level to a maximum.
This was all about the networking concepts. We shall be now moving towards the application interface. The application interfaces for desktop applications are majorly built in Java Applet/Swing as they are open source, widely supported, platform independent and almost free of cost. Most of the operating systems support Java Applications, I order to run a java applet/swing program the user should have Java development kit (JDK) installed over their systems. These can be easily downloaded from the website of Oracle. The user should check the supported JDKs in the instructions manual.
Technologies Supporting the SRV Robots
Here, let’s discuss how a programming language lets the robot think and act. The programming languages, like OCCAM-Pi is burnt on the robot as firmware and drivers, are basically built on different algorithms. Some of the processes would run parallel, independent of each other; however there are others which are sequential which run in series acting only when it receives data or commands.

The message passing model is already implemented in all the programming languages. The C/C++/Python all handle concurrent requests from the system. (Lucio 2010)The processes are run as threads. These threads run like small processes multiplexed in the time domain. This makes the processing of requests fast.
Setting Up surveyor Robot From Web Component
As the applets show the visual interface of the scenes captured by the camera, the navigation becomes quite easier .There are buttons also shown on the applet. The most obvious among them are the forward and the backward buttons. There is a red circular button stop the movement of the robot. There are also buttons regarding the rotation of the robot by some angle in right as well as left directions. The robot can be also turnabout, with the help of the button on the screen. The right hand side of the applet shows few more controls. The speed of the robot can be changed; it can be slowed down as well as made to move faster. Though these speed affect, come only when used with some forward or backward buttons. Sometimes, we might not know in which direction our robot should be wandering. So there are buttons also to help our robot move here and there till, we do not get any concrete idea, as to which direction we should move.(Simpson et.al 2010)

The figure above gives the applet view of the Mobile Robot On web Browser.

There are other Java technologies which make the movement of our desktop application onto a web interface. This is so convenient to use that you can only imagine from the fact that you would not need to install a single driver or application over your system. What you need is basically a desktop or laptop with the softwares installed for your daily use, apart from that you may need to have JAVA installed over your system. The next you may need is to sit into a network where you can easily connect to the system on which the drivers are running and a server set up is made.
Now, open your browser. May be the server supports only a few categories of browsers.  So , you just need to confirm through which one you may zoom in on the movement of your robot. Regarding the server you may need to know the IP address of the server and the port on which the application is being run. After you should type in the browser like this:” http://ServerIP:Port Number/the path where the application is deployed”. Then you may see some instructions appearing in the browser. Follow those instructions to get a clue to what your robot is doing.
Conclusion
As   we discussed so long as to why and which technologies should be employed to run a surveyor robot. First, we discussed the hardware setup of the robot, covering the microcontroller, the sensors, camera, the memory, wireless connector and the body of the robot. Next, we discussed the operating conditions , the drivers and the software setup of the robot. Then, we discussed the networking and the client model concept for the basic communication of the system. We have discussed the Java technologies supporting the remote access of the system.
References
The following are the sources of information, I referred to, while  writing this.
1. Frouzan 2009, Data Communication and Networking
2. Raj Kamal 2010, Microcontrollers
3. Schildt  2009, Java: The complete reference
4. Surveyor Mobile Robot viewed on 21st april 2012, http://www.surveyor.com/SRV_setup.html
5.Lucio 2010, Programming 16 bit Microcontroller
6. Matthew C. Jadud and Christian L. Jacobsen, Carl G. Ritson, Jonathan Simpson 2010,
Safe parallelism for robotic control

K081

“The presented piece of writing is a good example how the academic paper should be written. However, the text can’t be used as a part of your own and submitted to your professor – it will be considered as plagiarism.

But you can order it from our service and receive complete high-quality custom paper.  Our service offers “Technology”  essay sample that was written by professional writer. If you like one, you have an opportunity to buy a similar paper. Any of the academic papers will be written from scratch, according to all customers’ specifications, expectations and highest standards.”

order-now-new                                     chat-new (1)