Exchange of ideas generates the new object to work in a better way whenever a
person is helped and cooperated by others his heart is bound to pay gratitude
and obligation to them. To develop a project is not a one-man show. It is
essentially a collective work, where every step taken with all precautions and
care. Therefore our first duty is to thanks all persons who provided me with
basic help in forming the outline and strategy for my humble effort.
We thank Mrs. VANDANA KALRA, who gave us inspiration to do work in this
field and gave us her precious time whenever needed. Thanks may be matter of
merely formality but with us it is expression of heartfelt gratitude to our project
supervision. We are highly indebted for her gestures, invaluable suggestions and
boosting confidence to make this successful. The success of this work is mostly
due to her suitable guidance.
We also thank our class fellows and friends, who helped us a lot during our
This is to certify that the research paper project entitled “SOFTWARE
SOLUTION TO NETWORKED ROBOTS“ prepared by Shivam Sharma for the
partial fulfillment of the requirements of the B.Sc hons.) Computer Science
degree, embodies the work, we all are doing during 6th semester of our course
under due supervision of the supervisor from this college.
From the robot maid, Rosie, in The Jetsons, to the famous droids of Star Wars,
R2-D2 and C-3PO, to Arnold Schwarzenegger in the role of a cyborg in The
Terminator, to Robocop, to “I, Robot”, to The Matrix, to the movie named Robots,
human beings have long been fascinated with the idea of robots, a term that can
broadly be defined as an artificial human being. While in the past humans only
fantasized about them, today, many types of robots are a reality. For example,
there are industrial robots, toy robots that entertain us, robots that help in space
exploration, robots used in the medical field, robots used in agriculture, to
increasingly humanoid robots being created for the service sector, whether
helping with the chores in the home or as caregivers for the elderly and the
handicapped. Given below are some of the types of robots that have been
conceived, many of which are already in active use.
1.2 TYPES OF ROBOTS
Industrial Robots: Robots today are being utilized in a wide variety of industrial
applications. Any job that involves repetitiveness, accuracy, endurance, speed,
and reliability can be done much better by robots, which is why many industrial
jobs that used to be done by humans are increasingly being done by robots. For
example, for the past 30 years or thereabouts robots have progressively taken
over the fully automated production lines of the automobile industry, wherein a
chassis of a vehicle is transported along a conveyor belt and is welded, affixed,
painted, and assembled by a succession of robot stations. Some of the other
industrial jobs robots are performing are packaging goods, laboratory
applications, and robots that pick miniscule electronic components from trays or
strips and accurately place them on printed circuit boards in the electronics
Mobile Robots: Also known as Automated Guided Vehicles, or AGVs, these are
used for transporting material over large sized places like hospitals, container
ports, and warehouses, using wires or markers placed in the floor, or lasers, or
sensors, to sense the environment they operate in. An advanced form of the
AGV is the SGV, or the Self Guided Vehicle, like PatrolBot Gofer, Tug, and
Speci-Minder, which can be taught to autonomously navigate within a space, or
do it by being given a map of the area. These robots have the ability of
performing tasks that are non-sequential and non-repetitive in environments that
are complex, hence are defined as intelligent robots.
Robots Used in Agriculture: Although the idea of robots planting seeds,
ploughing fields, and gathering the harvest may seem straight out of a futuristic
science fiction book, nevertheless there are several robots in the experimental
stages of being used for agricultural purposes, such as robots that can pick
apples, prune grapevines, transplant seedlings, and so on. In fact, there already
is a type of robot that shears sheep in Australia.
Service Robots: The Japanese are in the forefront in these types of robots.
Essentially, this category comprises of any robot that is used outside an industrial
facility, although they can be sub-divided into two main types of robots: one,
robots used for professional jobs, and the second, robots used for personal use.
Amongst the former type are the above mentioned robots used for military use,
then there are robots that are used for underwater jobs, or robots used for
cleaning hazardous waste, and the like.
Personal use robots are becoming more and more popular, with increased
sophistication in Artificial Intelligence and with them becoming increasingly
affordable, and are being seen in areas like caregiving, pet robots, house
cleaning and entertainment. Although it is more expensive and difficult to make
highly intelligent and sensitive machines, but service robots designed with
minimal intelligence are already fairly common, such as the vacuum cleaning
The creation of the amazing walking humanoid named Asimo gave the impetus
for several others, such as the house-
helping robot named Wakamaru, and Aibo,
the robot dog. Then there are the popular
robocon competitions held in Japan, with
robots playing soccer or having fighting
Another area where personal use robots are
being introduced is in the care for the
elderly. In countries where there are
increasing numbers of the aged with
comparatively fewer numbers of young
people to provide them with care, due to low
birth rate and increased longevity, such as is
the case in Japan and a growing number of Western countries, robots are
increasingly thought to be the answer. These robots are being designed to
provide physical services such as carrying bedridden elderly people (or even the
handicapped), or washing for them, and doing various other day-to-day tasks.
And then there are robots being designed to provide mental services, such as
offering the therapeutic effect of interacting with the often lonely elderly people.
Tele-operated robots: These robots are used in places that are hazardous to
humans, or are inaccessible or far away. A human operator located at a distance
from a telerobot controls its action.
Some examples of telerobots are
laparoscopic surgery being done with the
help of a telerobot, or doctors using remotely
located robots to communicate with their
patients, which enables them to treat
patients anywhere in the world. This has the
potential of patients in remote places of the
world, without adequate medical facilities,
being able to consult doctors across the
world, or even in the next town, and the
doctors in turn having the ability to monitor
Telerobots are also useful in nuclear power plants where they, instead of
humans, can handle hazardous material or undertake operations potentially
harmful for humans and also implement the process of direct data retrieval at the
nuclear plants transmit it to the controller present far away from the nuclear
Telerobots are particularly useful for space exploration. Some of the applications
in space that are on anvil are: robots used for the maintenance of satellites,
robotic arms for manufacturing in space, robots used for constructing space
ships and space stations, and so on.
Tele-robots are also being increasingly used for military purposes, for instance
the Unmanned Aerial Vehicle used for surveillance and also fire at targets. Some
of them have even advanced to the level of having the ability to automatically
make decisions like choosing the location to fly to, and deciding which enemy
target to engage with. Many telerobots are being used by the US military in
Afghanistan and Iraq to diffuse IEDs, or Improvised Explosive Devices. An
Unmanned Ground Vehicle, or UGV, is on the anvil which can carry out military
2.1 WHAT IS A NETWORKED ROBOT
A "networked robot" refers to a system where many intelligent devices are
connected to a communications network such as the Internet or LAN, and are
operating together in coordination or cooperatively with sensors, embedded
computers and human users. Cooperation is achieved when more than one
entity is working towards a common goal while the Coordination implies a
relationship between the communicating entities to ensure efficiency, better
throughput, and harmony.
The network could be wired or wireless, and based on any of a variety of
protocols such as TCP, UDP, or 802.11. There are two subclasses of Networked
1) Tele-operated, where human supervisors send commands and receive
feedback via the network. Such systems support research, education, and public
awareness by making valuable resources accessible to broad audiences, and
are widely used to explore undersea terrains and outer space, to defuse bombs,
and to clean up hazardous waste.
2) Autonomous, where robots and sensors exchange data via the network. In
such systems, the sensor network extends the effective sensing range of the
robots, allowing them to communicate with each other over long distances to
coordinate their activity. The robots in turn can deploy, repair, and maintain the
sensor network to increase its longevity, and utility. A broad challenge is to
develop a science base that couples communication to control to enable such
2.2 HOW IS IT DIFFERENT FROM TRADITIONAL ROBOT
The growth and the success of internet technology lead to the great change of
human being especially in data communication. Through the TCP/IP as a global
standard protocol for communication, internet improves drastically the way of
receiving and sending the data among applications such as web browsing,
chatting, e-mail transmissions, file transfer, networking and so forth. Furthermore,
it also enables people to perform any measurements or even controlling some
devices using this protocol over internet. With the introduction of internet and its
use in robotics field, robot developers found their work complexity reduced. The
use of the web in robotics has lead to a new era of robots with minimum human
involvement; robots can now perform activities and interact with each other or a
human controller wirelessly using TCP/IP protocol. Robots can now coordinate
with each other and perform tasks that are well beyond the capabilities of a
Figure (a) shows one of many prototype concepts derived from academic
laboratories and industry. In fig (b), many independent robot or robotic modules
can cooperate to perform tasks that a single robot (or module) cannot perform.
Robots can automatically couple to perform locomotion tasks and manipulation
tasks that either a single robot cannot perform, or would require a special
purpose larger robot to perform.
They can also coordinate to perform
search and reconnaissance tasks.
This fig. shows a robotic device
tracking the presence of another by
sending messages to each other along
with the use of sensors.
A robot network consists of a collection
of robots distributed over some area
that form an ad-hoc network. The
nodes of the network may be heterogeneous and include mobile robots, mobile
and static sensors. Each sensor is equipped with some limited memory and
processing capabilities, multiple sensing modalities, and communication
capabilities. Thus we extend the notion of sensor networks which has been
studied by the networking community for static sensors to networks of robots that
have natural mobility. An ad-hoc network is a temporary wireless net-work
formed without the aid of any established infrastructure or
centralized administration. This n/w can support robot-robot communications.
2.3 NEED FOR NETWORKED ROBOT
The main advantage of using TCP/IP for data measurement and control are the
interoperability and compatibility access many kind of devices anywhere they are
as long as they are connected to the internet. However due to some reasons,
sometimes it is possible for us to measure or acquire the data directly; this
situation can be seen in a place where the surrounding environment does not
allow us to measure some observables directly like inside nuclear reactors,
volcanoes and so on.
Some other advantages are: -
1.) Perform tasks that are well beyond the abilities of a single robot.
2.) Networked robots also result in improved efficiency. Tasks like searching or
mapping, in principle, are performed faster with an increase in the number of
3.) Mobile robots can react to information sensed by other mobile robots in the
4.) The ability to network robots also enables fault-tolerance in design. If robots
can in fact dynamically reconfigure themselves using the network, they are more
tolerant to robot failures.
5.) Networked robots have the potential to provide great synergy by bringing
together components with complementary benefits and making the whole greater
than the sum of the parts.
The system is divided into three modules to make it as modular as possible.
The concept of modularity is very useful to improve the flexibility, in particular
for future extensions as a generic monitoring system. The modularity enables
us to replace the sensors or actuators just to match particular needs. Therefore,
this system is divided into three modules: main, data acquisition and data
• The main module involves the robot’s body and a main processor which is
responsible not only for being the central controlling unit but also for
storing, manipulating and processing the data. The reasons why we deploy
a PC main board rather than embedded system is due to flexibility and
capability to be programmed using any available software and even we can
use all the software needed freely such as Linux operating system
including applications. However, using a PC main board requires more
power and spaces.
• The data-processing module consists of software responsible for acquiring,
manipulating and processing the data from different sensors. As an
example, the software to process the temperature data is different from
other sensors such as humidity sensors and so on. We can freely using
any programming languages such as C, Java, Perl and many more to
develop those software.
• The last data acquisition modules or hardware modules has multiple
hardware related to data acquisition, measurement and control system.
3.2 THEORITICAL BACKGROUND
In this chapter, all of the basic theories presented in previous research are
presented in brief, from the hardware to software, required in designing and
building the whole system.
3.2.1 Parallel Ports
Parallel port is also known as a printer port or Centronics port, and is found
mostly on the back of PC as a D-Type 25 Pin female connector. Parallel ports
are available on all PCs and have high compatibility. We don’t have to design or
even buy an expensive data acquisition card, just plug the device and program
it, and then the I/O port is ready not only to control the devices but also to
measure some physical observables using appropriate sensors through the
Unfortunately, nowadays parallel port has been replaced by USB port due to its
simplicity and speed of data transferring, and it has disappeared in modern
laptops. It allows an input of up to 9 bits or output of 12 bits at a single period of
Parallel port is also simple and easy to program, it can be programmed under
both Windows and Linux. The codes below are some examples of how to
program the parallel port that resides in an I/O address 378h using many
different programming languages:
MOV DX, 0378H
MOV AL, N
OUT DX, AL
Where N is the data to be generated from the parallel port.
A sensor is a device that converts a physical variable into an electrical signal.
There are various sensors from analog sensors through digital sensors which
are used by robot for sensing and measuring physical variables. Sensors give
the robot ability to understand its environment, such as where the robots
position is, how the robots environment temperature is, or even what the
physical condition surrounding of the robot is, and so on. Before the robot can
understand the information from the sensors, it needs some signal conditioning.
A signal can be defined as any physical quantity that varies with time, space, or
any other independent variable. The signal conditioning consists of multiplexer,
amplifier, filter, A/D converter and microcontrollers. In this section, however, we
will select and discuss only a number of sensors which will be used in this
project. Fig 3.2a shows the flow of signals in our system.
Fig 3.2a: Signal Conditioning
Some of the basic sensor types are:-
a) Electronics Compass
b) Binary Sensors
c) Optical Sensors
3.2.3 Navigation and turning geometrics
Navigation is the most important part for a mobile system to catch up its current
position. This is also important to determine how to reach the next destinations
based on the actual position as shown in Fig 3.2b. There are several methods
to determine the robots positions. One of them is using the dead reckoning
Dead reckoning is a process of calculating the robots position relying of the
previously known position.
Fig 3.2b Dead Reckoning
Fig shows in general the path that can
be traced from the starting orientation by
using the algorithm and tracing it
The mathematical equation used for
calculation of dead reckoning depends
on the architecture of robot’s actuators. For instance, a car-like steering wheels
which have a constant curve and known radius, the differential wheels that can
make very narrow turns or even spin in its position, etc. To implement a dead
reckoning method, first of all we need to know the robots position and
orientation or direction. The starting position and the distance can thereafter be
calculated from wheel encoder attached to the wheel. Hence, it gives a fixed
position in (x, y) space.
However, there are some drawbacks when especially applied for longer period.
All inaccuracies might be due to sensor error or wheel slippages and less
accurate orientation. The dead-reckoning method is depicted at Fig. 3.2c.
Measuring the distance of robot on a straight line is much easier than on a
curved line when the robot turns left or right. For a straight line, the distance is
calculated by counting the wheel rotations. However for a curved line, we
should deploy some mathematical tools to obtain a relevant equation. A general
movement of robots traveling on a curved line is shown in Fig. 2.7. Each wheel
is moving with different speed which makes the robot turns left or right. Let us
consider if the left wheel goes as far as dL, while the right wheel takes dR. The
result is the robot would turn through the arc of a circle, centered at point O with
It turns with an angle of θ.
As dL and dR are the controllable variables, it is useful to relate all variables in
term of them. As the angle subtended by arcs dL, while dR is the same,
The above can be written as:
Fig 3.2c: Turning Geometrics
On substituting R we have,
3.2.4 Wireless Networking
For many years, people used to connect computers or any devices (printers,
laboratory equipment etc) each other through networks. However, an evolution
has been taking place, since the wireless network is getting to replace the wired
one. The wireless network enables people to extend their workplaces and to
use computer applications anywhere. As a result, it provides users the freedom
of movement especially when they want to connect into networks from
Fig 3.2d: TCP/IP.
A computer network consists of multi machines interconnected by
communication channels. These machines are called as hosts and routers.
Implementing a useful network requires some advanced technologies. To keep
things manageable and modular, different protocols are designed to solve
different sets of problems.
A protocol is an agreement about the packets exchanged by communicating
programs and what they mean. A protocol tells how packets are structured for
example, where the destination information is located in the packet and how big
it is as well as how the information is to be interpreted.
TCP/IP is the most popular protocol among many network architectures.
Sometimes it is called as a protocol suite or protocol family as shown in Fig.
3.2d. It turns out to be useful to organize protocols in a family into layers.
This fig. shows relationships among those protocols, applications, and the
sockets API in the hosts and routers, as well as the flow of data from one
application to another.
The boxes labeled with TCP and IP represent implementations of those
protocols. Such implementations typically reside in the operating system of a
host. Applications access the services provided by UDP and TCP through the
sockets API. The arrow depicts the data flow from the application, through the
TCP and IP implementations, to the network, and vice versa.
Depending on the size of the physical area that can be covered by wireless
networks, wireless networks can be divided into Wireless Personal-Area
Network (PAN), Wireless Local-Area Network (LAN), Wireless Metropolitan-
Area Network (MAN) and Wireless Wide- Area Network (WAN). In the following,
we are focusing on wireless local area network or LAN in building the system as
shown in Fig. 3.2e Wireless LANs is similar to traditional Ethernet-wired LANs
both in hardware architecture and in protocols. The only difference between
them is that wireless LAN does not needs the wires as a data transmission
media, Wireless LAN consists of radio NICs, wireless access points, routers
Radio NIC: - The most important part of a wireless LAN is a radio NIC that
provides wireless connectivity. An access point contains a radio card that
communicates with individual user devices on the wireless LAN, as well as a
wired NIC that interfaces to a distribution system, such as Ethernet. System
software within the access point bridges together the wireless LAN and
distribution sides of the access point.
By definition, a router transfers packets between networks. The router chooses
the next best link to send packets on through the closest available paths.
Routers use Internet Protocol (IP) packet headers and routing tables, as well as
internal protocols, to determine the best path for each packet. A wireless LAN
router adds a built-in access point function to a multi-port Ethernet router. This
combines multiple Ethernet networks with wireless connections so that it gives
wireless users the same ability as wired users to send and receive packets over
Routers also implement Dynamic Host Configuration Protocol (DHCP) services
for all devices. DHCP assigns private IP addresses to devices.
Fig. 3.2e Wireless LANs
3.2.4 Common Gateway Interfacing
CGI stands for ”Common Gateway Interface”. It is a program interface on the
server which accepts requests sent by the client. CGI is the part of web server
modules to communicate with another program running on the server. Using
CGI, then the Web server is able to receive several requests including some
specific data or input data from the client. Finally, CGI program processes those
data and the server passes the response back to the Web browser such that
the result can be viewed by the client through web browsers. All processes are
diagrammatically shown in Fig. Generally, CGI is used to build dynamic HTML
such as online dictionary, accessing multiple database engines and graphic
manipulation libraries or even executing a source code to either read or write
the data to the hardware on a server.
Fig: Common Gateway Interface(CGI)
However, the most interesting part of CGI is its ability to be programmed using
different programming languages: C/C++, C Shell and Visual Basic and so on.
Software Based Solution
4.1 THE CONCEPT AND DESIGN
The concept of modular wireless robot is shown in Fig. 4.1a. It is consisting of
1) Main unit
2) Data-acquisition and
3) Data processing modules
The goal of this concept is to improve the flexibilities of robot to meet various
purposes of monitoring tools by less modification. This characteristic would
enable users to easily replace, for instance the sensors and relevant data
processing modules with any available packages later on with the same main
unit. Or, inversely replacing the main unit with the same data acquisition and
According to the concept, the system has some characteristics as below:
1. All aspects are fully controllable wirelessly over web through TCP/IP protocol.
2. Acquired data are stored and processed at the robot’s local system
independent from external apparatus.
3. The processed data can be retrieved and analyzed by users also over web in
such a way that no need for additional software installation at the user’s
4. The hardware driven parts are replaced as much as possible with the
software driven systems, even in the main unit.
5. High compatibility due to limited hardware, rather embedded software, used
in the system.
4.2 Comparison Between Hardware And Software Solution
4.2.1 Data Acquisition Hardware Design
Data acquisition module contains some hardware interfaces for both controlling
the actuators and retrieving the measured data from sensors. As can be seen
from Fig. 4.2a, two microcontrollers are used in this design since there are two
main tasks related to hardware in the system for controlling and data retrieval.
Both microcontrollers are connected to the parallel ports. This port is used as
communication channel between them not only for sending the command but
also for receiving the data from data acquisition module.
Fig 4.2a Data Acquisition Module
4.2.2 Data Acquisition Software
This is mainly the digital signal processing (DSP) system. Because, for the sake
of improving the modularity, all acquired data from the attached censors
through microcontrollers are not processed by the hardware-based filters as
previously done. Instead, the raw signals are sent directly to the main unit to be
processed and filtered using the dedicated software.
This approach would definitely require developments on dedicated DSP’s along
with the user needs. The benefits are clear, i.e.
• It enables unlimited combination on processing the signals by just adjusting
the relevant parameters in the DSP system.
• Periodical adjustment or calibration can be done easily whenever it is needed.
This would improve the accuracy of data taken by censors etc.
• On the other hand, it simplifies the data acquisition hardware that further
improves its flexibilities and modularity. Because, for instance we can in
principle attach any censors to the main unit and modify the data acquisition
The last two modules are closely integrated each other in the sense that two
modules should always belong to the same package. So, the system is
practically divided into two independent units: The main unit and the Data
Acquisition and Processing Systems (DAPS) unit for data acquisition and its