Your SlideShare is downloading. ×
Network Robots (Project Report) - Abhijeet
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Network Robots (Project Report) - Abhijeet

4,011
views

Published on

Published in: Education

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,011
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Submitted By:- Abhijeet Singh Kalsi Roll. No.:- 2012701
  • 2. ACKNOWLEDGEMENT 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 project work. 2
  • 3. CERTIFICATE 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. SIGNATURE 3
  • 4. Chapter-1 Introduction 4
  • 5. 1.1 INTRODUCTION 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 5
  • 6. applications, and robots that pick miniscule electronic components from trays or strips and accurately place them on printed circuit boards in the electronics industry. 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. 6
  • 7. 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 robots. 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 matches. 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 7
  • 8. 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 them. 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 station. 8
  • 9. 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 missions independently. 9
  • 10. Chapter 2 Networked Robots 10
  • 11. 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 Robots: 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 new capabilities. 11
  • 12. 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 single robot. (a) (b) 12
  • 13. 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. 13
  • 14. 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 robots. 3.) Mobile robots can react to information sensed by other mobile robots in the next room. 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. 14
  • 15. Chapter 3 Previous Research 15
  • 16. 3.1 INTRODUCTION 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 processing modules. • 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. 16
  • 17. 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 port. 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 time. 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: 17
  • 18. Assembler: MOV DX, 0378H MOV AL, N OUT DX, AL Where N is the data to be generated from the parallel port. 3.2.2 Sensors 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. 18
  • 19. 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 algorithm. 19
  • 20. 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 sequentially. 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 20
  • 21. 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 radius R. 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: Further, Knowing that, 21
  • 22. 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 separated locations. 22
  • 23. 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. 23
  • 24. 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 and antenna. 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. 24
  • 25. 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 multiple networks. Routers also implement Dynamic Host Configuration Protocol (DHCP) services for all devices. DHCP assigns private IP addresses to devices. 25
  • 26. 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 26
  • 27. 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. 27
  • 28. Chapter 4 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 three modules: 28
  • 29. 1) Main unit 2) Data-acquisition and 3) Data processing modules Fig. 4.1a 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 processing modules. 29
  • 30. 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 terminal. 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 30
  • 31. 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 31
  • 32. 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 software accordingly. 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 processing modules 32