Network Robots - Abhijeet

22
Project Shivam Sharma ( 2012735 ) Abhijeet Singh Kalsi ( 2012701 ) Prepared By :-

description

Software Solution For Modular & Self Independent Networked Robot. With description of different Robots and techniques... Abhijeet Singh

Transcript of Network Robots - Abhijeet

Page 1: Network Robots - Abhijeet

Project

Shivam Sharma

( 2012735 )

Abhijeet Singh Kalsi

( 2012701 )

Prepared By :-

Page 2: Network Robots - Abhijeet

Getting Familiar with ROBOTS In the past humans only fantasized about robots,

today, many types of robots are a reality.

For example, there are

i. Industrial robots

ii. Toy robots

iii. Space exploration robots

iv. Robots used in the medical field

v. Robots used in agriculture and

vi. Humanoid robots being created for providing services in household,

for e.g. as caregivers for the elderly and the handicapped.

Page 3: Network Robots - Abhijeet

[Space exploration robot]

[Humanoid robot]

[Surgical robot]

[Mobile robot] [Service robot]

Page 4: Network Robots - Abhijeet

Networked Robot

A Networked robot refers to a system where many intelligent devices are connected to a communication network such as Internet or LAN.

These robots operate 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 and coordination implies a relationship between the communicating entities to ensure- efficiency, better throughput, and lesser time for completion of the task.

Page 5: Network Robots - Abhijeet

Technology Issues

How is it different from a traditional robot…???

Need for a networked robot…???

a.) Internet improves drastically the way of receiving and sending the data among applications.

b.) With the introduction of internet and its use in robotics field, robot developers found their work complexity reduced.

c.) Robots can now perform activities that are well beyond the capabilities of a single robot by interacting with each other or a human controller wirelessly using TCP/IP protocol

d.) Eg:- Surgeries performed by a group of robots by communicating with each other.

a.) Devices can now exchange information between each other as long as they are connected to the internet..

b.) Improved efficiency.

c.) Can react to the information sensed by other robots at a remote location.

d.) It supports the robot with fault- tolerance system in robot design and hence prevent robot failures.

e.) Components with distinct similarities are bound together making the whole system stronger than the sum of parts.

Page 6: Network Robots - Abhijeet

Hardware Design The system is designed in such a manner to make it as modular as possible. The concept of modularity is very useful as it :

1. Improves flexibility

2. Provides scope for future extensions

3. Provides the ability to replace the parts according to the needs of the modules

The System is divided into following 3 modules:-

(i) Main Module : It involves the robot’s body and a main processor which is the central controlling unit and is also responsible for storing, manipulating and processing the data. A PC main board is deployed rather than embedded system as it provides flexibility and capability to be programmed using any available software package.

(ii) Data Processing Module : It 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 use any programming language such as C, Java, Perl and many more to develop those software.

(iii) Data acquisition modules : Also called a hardware modules has multiple hardware related to data acquisition, measurement and control system.

Page 7: Network Robots - Abhijeet

Concepts Applied Navigation and Turning Geometrics :

Navigation is the ability of a mobile system to catch up its actual position and to determine how to reach the next destination based on the present position.

Algorithm used here: - Dead Reckoning

It measures the distances on: -

a.) Straight Line Movement

For straight line distance is counted by

counting the no. of wheel rotations using an opt coupler attached on each wheel. Knowing the wheel diameter and the degree of each transition level are important. For the fig. shown opt coupler calculates distance using: -

Page 8: Network Robots - Abhijeet

b.) Curved Line Movement For a curved line where the angle of rotation comes

into picture perimeter method only cant be

employed. Each wheel is moving with different

speed which makes it turn left or right. As a result it

will turn through an arc of a circle centered at point

O with radius R..

If it turns with an angle θ and dL and dR are the

arcs made by wheel making same angle then,

On substituting R we have,

Page 9: Network Robots - Abhijeet

Wireless Networking :

1. The evolution of wireless replacing wired

enables individuals to use computer apps.

anywhere.

2. It provides freedom of movement specially

when the machines are connected to network

from separate locations.

A wireless LAN consists of radio NICs,

wireless access points, routers and antenna.

Common Gateway Interfacing :

It is a program interface on the server that

accepts requests sent by the clients. It is a part

of web server module to communicate with

another program running on the server.

It is the CGI which is responsible for the server

to receive requests or some specific data from

the client, then the CGI program processes the

received information and gives the feedback.

Advantageous as: -

It provides an interface between the main unit and data acquisition module.

And it can be programmed using different programming languages.

Page 10: Network Robots - Abhijeet

Software Based Solution The software solution is provided for the previous hardware design only, which consisted

of 3 modules : - Main Unit, Data Acquisition Module and Data Processing Module.

It assumes the hardware modules to be modeled as: -

The goal of this concept was: -

a.) To improve the flexibilities of robot to meet various levels of monitoring and with less modification in the design.

b.) Enables the users to replace the sensors and other 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.

Page 11: Network Robots - Abhijeet

Characteristics of the Concept :

All aspects are fully controllable wirelessly over web through TCP/IP

protocol.

Acquired data are stored and processed at the robot’s local system independent from external apparatus.

The processed data can be retrieved and analyzed by users also over web in such a way that there is no need for additional software installation at the user’s terminal.

The hardware driven parts are replaced as much as possible with the software driven systems, even in the main unit.

High compatibility due to limited hardware, rather embedded software, used in the system.

Page 12: Network Robots - Abhijeet

Hardware and Software Together Microcontroller Interfacing

It translates or decodes the command that is sent by main modules into appropriate action. To avoid collision while performing task we separate the microcontroller into two categories. One for driving an actuator and One for reading the data.

Main Unit Software

This include the software embedded in the main unit, OS, web server, networking, some interpreters like Java. It also includes Monitoring system that processes the feedback from actuators and reflecting it back to the system. Navigation System

Web interface for interfacing the whole system with the users.

Fig. Microcontroller commands sent by main module

Page 13: Network Robots - Abhijeet

Data Acquisition Hardware

This module contains some hardware interfaces for both controlling the actuators and retrieving the measured data from sensors. In the Fig only two microcontrollers are shown performing

the two main tasks of the system. Both microcontrollers are connected to

the parallel ports as they are easily programmed.

• Data Acquisition Software What previously done was all acquired data from the attached sensors through microcontrollers was processed by the hardware-based filters.

But this approach suggested that the raw signals should be sent directly to the main unit to be processed and filtered using the dedicated software.

This was generic kind of scheme for all types of data received from various sensors. Hence reducing the need for extra hardware and also improves its flexibility and modularity.

Page 14: Network Robots - Abhijeet

• Data Processing Software This component plays an important role to get rid off any software installation at the

user’s terminal connecting to the robot. User just run the browser, points it to the assigned address and that’s all. This software is a dedicated software for a particular purpose relevant with the acquirable data taken from a set of data acquisition hardware.

It is remarked here that the main unit has a capability to install a new or upgrade a new version of DAPS software over web. ADVANTAGES OF SOFTWARE DESIGN 1. With the availability of different software one might have single main unit with different

DAPS packages. 2. It enables the users to replace the outdated sensors or actuators while using the same

packages and main unit. 3. Also the case of replacing the main unit with an appropriate one according to the needs of

the environment while using same DAPS packages.

4. Some considerable packages are, for example, sensors of hazardous gas can be combined with vibration sensor and software based seismograph, and so forth. This is the reason it is called as a generic robot which is adaptable to any DAPS.

Page 15: Network Robots - Abhijeet

The Implementation

LIPI NETWORKED ROBOT- “To observe hazardous gas environment”

DAPS packages are designed to observe hazard gas in certain area and to measure the surrounding environment. The whole system then consists of: - • Main unit: It includes main processor (mini PC etc), storage media (mini hard-disk), access point, power supply, battery and all mechanical components. Of course, it also includes the underlying operating system, integrated web interface, hardware control and monitoring systems and storing system for all data. • Data acquisition module: It consists of a set of sensors (CO gas, temperature, humidity, NO gas, smoke) and small camera. The software in this module are also responsible for filtering the raw signal from sensors. • Data processing module: It covers all add-on softwares to process, store and analyze the acquired data and display the results accordingly. The system provides a real-time warning system regarding the air quality in a certain area.

Page 16: Network Robots - Abhijeet

Global Architecture Several devices are needed to build the whole prototype. Some of them are shown in the fig. Each has its own specific function.

Software Required:- - Linux Operating system (Ubuntu). - Apache web server software. - Software for video streaming over web. - Web browser for the user interface web pages. - CGI-BIN script. - C/C++ compiler for accessing the hardware port (GCC). - Some additional software

(JAVA etc).

1. Wireless access point - for transmitting and receiving the data especially when a client sends a request to the server and vice versa.

2. The motherboard - a processor unit storing web server and all embedded software. It acts as a master controller to control and monitor the robot’s actuators and sensors.

3. Two microcontrollers for different tasks.

AT89S51 for controlling the DC motor , and

ATmega8535 for measuring or acquiring the data from the sensors.

To measure wheel counter Opt Coupler is used

To measure the direction the digital compass module CMPS03 is deployed.

Page 17: Network Robots - Abhijeet

The Flow of messages Data flow between the client and the main module or server takes place as:-

a.) Client downloads main

web pages.

b.) Sends particular requests

through the web.

c.) Receives the feedback.

Page 18: Network Robots - Abhijeet

Parallel port programming

Parallel ports are easier to work as compared to serial port as there is no need for special IC’s which are used for interfacing serial ports.

In this implementation port addresses being used are:-

Data 0x378

Status 0x379

Control 0x37A

In the present work the author has used the base address as the output port if there is a need for it to be used as both input and output then there is

a.) Need for additional circuits.

b.) Conflict among incoming and outgoing data.

To avoid this problem we set the port in nibble mode by using another port address instead of base address.

Page 19: Network Robots - Abhijeet

Working In Nibble Mode

Nibble = 4 bits, means we are referring 4 bits at a time.

Nibble mode uses a 2 line to 1 line multiplexer (74LS157) to read a nibble of data at a time.

A/B input is low -> A inputs are selected and vice versa.

The Y outputs connected to status port, in such a manner that it represents the nibble of the status register.

Short program on the algorithm to control the

motors and read compass in LNR using C language. And along with it is explained how the nibble mode is operated.

#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/io.h> #define base 0x378 #define status base+1 #define control base+2

Page 20: Network Robots - Abhijeet

main(int argc, char **argv) { int input=0; if (ioperm(base,1,1)) fprintf(stderr, "Error: port %x\n", base), exit(1); if (ioperm(status,1,1)) fprintf(stderr, "Error: port %x\n", status), exit(1); if (ioperm(control,1,1)) fprintf(stderr, "Error: port %x\n", control), exit(1); outb(0x01, base); //to set the robot move forward usleep(5000); outb(0x09, base); //command to read compass usleep(5000); outb(inb(control) & 0x0F,control); input=(inb(status) & 0x0F); usleep(100); outb(inb(control) 0xF0,control); input=input|(inb(status) & 0xF0); usleep(100); printf("%d",input); }

Page 21: Network Robots - Abhijeet

Discussion

SUMMARY

As a typical implementation of the concept, LNR is developed.

It is shown that the software-based solution is crucial to enable the required features.

It improves significantly its flexibility to various purposes.

It is argued that regarding its main objective as a monitoring apparatus, LNR is quite efficient and has good total cost-performance due to its modularity and dominant software based solutions.

FUTURE CHALLENGES

This prototype works well in hazardous areas where minimum human involvement is required and also its design is cost efficient but it is observed that more efforts are still required. Some of them are:

-

1. Using serial ports along with parallel ports for faster processing.

2. Citing more examples of DAPS packages to fit certain purposes.

3. More complicated robot’s actuators and the relevant algorithms.

4. Need for multiple humans to become the part of the communication network.

Page 22: Network Robots - Abhijeet

References

[1] I. Firmansyah et.al, LIPI Networked Robot, http://robot.teori.fisika.lipi.go.id.

[2] I. Firmansyah, Z. Akbar, B. Hermanto and L.T. Handoko, Modular and Self-independent Networked Robot, Proc. of the 2008 IEEE International Conference on Systems, Man, and Cybernetics, Singapore, 2008.

[3] I. Firmansyah et.al, openNR: open architecture for modular networked robot, http://sourceforge.net/projects/opennr/. [4] Theoretical concepts and facts www.wikipedia.com

[5] LIPI Wireless Robot, http://robot.teori.fisika.lipi.go.id.

[6] LIPI Networked Robot, http://opennr.teori.fisika.lipi.go.id.

[7] http://cmc.cs.dartmouth.edu/papers/corke:flying.pdf

[8] Programming Constructs from article http://members.tripod.com/~srohit/IO-

Port-Prog.html

[9] http://www.buzzle.com/articles/types-of-robots.html

[10] http://www.robots.com/