You are on page 1of 23

VIDEO SURVILLIANCE ROBOT

A PROJECT REPORT

Submitted at

Rajiv Gandhi Technical University, Bhopal


In partial fulfillment of the degree Of Bachelor of Engineering
In

Electronics and Communication

Submitted by

1) Nitin Kumar Gupta 0812EC091066 2) Prateek Gurjar 0812EC091080 3) Rashida Singapurwala 0812EC091090 Electronics and Communication Department

MEDI-CAPS INSTITUTE OF TECHNOLOGY AND MANAGEMENT INDORE- 453331


2012-2013

ACKNOWLEDGEMENT

We offer our sincere appreciation to all the people providing support to this project. The completion of any inter disciplinary project depends upon the co-ordination, support and combined effort of several resources of knowledge, skill, labour and time, the precious guidance, spiritual help of guides. First and Foremost, we would like to pay the depth of gratitude with sense of heartfelt and indebtedness to our project guide Mr. Vinit Gupta (Faculty, Electronics and Communication Department) for the assistance he extended.

Nitin Kumar Gupta Prateek Gurjar Rashida Singapurwala

MEDI - CAPS INSTITUTE OF TECHNOLOGY & MANAGEMENT


DEPARTMENT OF ELECTRONICS AND COMMUNICATION

CERTIFICATE
This is to certify that: Nitin Kumar Gupta 0812EC091066 Prateek Gurjar 0812EC091080 Rashida Singapurwala 0812EC091090 Have completed their major project work, titled

VIDEO SURVILLIANCE ROBOT


As per the syllabus & have submitted a satisfactory report on this project as a partial fulfillment towards the degree of

Bachelor of Engineering In Electronics and Communication


From Rajiv Gandhi Proudyogiki Vishwavidyalaya, Bhopal

Ms.Vibha Tiwari HEAD OF THE DEPARTMENT Electronics Department

Mr. Vinit Gupta PROJECT GUIDE Electronics Department

CONTENTS

Chapter No 1.

Subject Design Objective

Page No. 4

2. 3.

Physical & Technical Specifications System Description 3.1 Introduction 3.2 Block Diagram & Description 3.3 Schematic Circuit Diagram 3.4 List of Components 3.5 Flow-Chart

6 7 13 20 22 16 16

4. 5.

List of figures & Tables References

Design Objective
Primary objective of the project is to design an intelligent, robust and economic robot which may be used in surveillance and espionage of environment which have applications in military services, banks etc.

Physical and Technical Description

1) Physical description

Dimension- 25 x 10 cm 2 motors with high torque 100 rpm Medium size tiers Chassis colour- Red

2) Technical Description

Power Supply Requirement: 5 V Operating Temperature: Room temperature Operating voltage for XBEE: 3.3V Nature of Display: Graphical user interface designed in MATLAB environment

System Description: 3.1 Introduction:


The general purpose of this project is the surveillance applications by using object detection techniques and calculating parameters like object distances assisting security personnel. Video surveillance systems provide easy and safe access as well as record live images from the security region. To accomplish this goal our group is using digital image processing for object detection and a graphical user interface designed in MATLAB environment as an on screen display. This project concerns the task of performing automatic annotation of object in the proximity of robot. To perform automatic annotation, the object present in the image must be found. This is done using the codebook background subtraction method, where a dynamically updated background model constitutes the reference with which to detect foreground objects, in this case red circular object. A shape based object classification ensures that the following tracking, based on features of the detected objects, only tracks specific object in the scene and not background clutter or noise. The automatic annotation consists of estimates of the height and the color of the object. The height is estimated using a camera projection matrix, which maps from actual coordinates to image coordinates. The color description is estimated using a clustering approach in HSV color space. Annotations are continuously attached to all tracks. To compensate for inaccuracies in the performed estimates, only the statistically most fitting annotation is saved along with the track. The system is implemented in MATLAB with use of the image processing techniques. It is in functional condition, and can handle a limited number of simultaneous objects in the scene. It does, however, require initial training of the background model and calibration of the annotation module. In Electronics and telecommunication, image processing is any form of signal processing for which the input is an image, such as a photograph or video frame; the output of image processing may be either an image or a set of characteristics or parameters related to the image. Most image-processing techniques involve treating the image as a two-dimensional signal and applying standard signal-processing techniques to it. Image processing usually refers to digital image processing, but optical and analog image processing also are

possible. The acquisition of images (producing the input image in the first place) is referred to as imaging.

3.2 Block diagram and System description

Camera:A webcam is a video camera that feeds its image in real time to a computer or computer network. A webcam is generally connected by a USB cable, FireWire cable, or similar cable to the pc. Here we can connect also webcam of laptop.

Motor Driver Section:A L293D is an Integrated Circuit (IC) chip with a High Voltage/High Current Darlington Transistor Array. It allows you to interface TTL signals with higher voltage/current loads. The chip takes low level signals (TLL- which operate at low voltages and low currents) and acts as a relay of sorts itself, switching on or off a higher level signal on the opposite side. By this IC we can run any electrical device upto 32Volts DC like Motors, relays, DC fans etc. Multilayer Capacitors (C9-C15) are used as filter capacitor for filtering any kind of high frequency noise coming back from motors. This noise can harm the functioning of Microcontroller. LEDs are used to indicate logic level on the lines. X1-1,X1-2 X2-1,X2-2

are the terminal points where motors/relays can be connected. These can be connected with any I/O pin of the controller.

Power Supply:The Power Supply Section Consists of 230 V AC supply to the 12V AC Transformer. The secondary of the transformer connect with the Bridge rectifier which is made of the combination four IN4007diode. Using Bridge rectifier we can get 12V pulsating DC which is filtered by a smoothing capacitor. After these supply is given to the 7805 IC which converts 12Vdc supply into the 5 V DC supply. This IC consists of three pin that is 12 V dc for input Middle pin for GND and remaining one for 5V DC. Led are use to indicate Power on.

ATMEGA8:28 Pin DIP Microcontrollers with 8 KB Flash, 2 KB EEPROM, 6 Channel 10 Bit ADC & 3 PWM Channels. Very cheap and popular AVR 8-bit Microcontroller with lots of good features.

Atmel's ATMega8 8-Bit Processor in 28 pin DIP package. 8K of program space. 23 I/O lines, 6 of which are 10bit Analog to Digital converter capable. Runs up to 16MHz with external crystal. Package can be programmed in circuit.

Features:

High-performance, Low-power AVR 8-bit Microcontroller Advanced RISC Architecture 131 Powerful Instructions Most Single Clock Cycle Execution 32 x 8 General Purpose Working Registers Fully Static Operation Up to 16 MIPS Throughput at 16 MHz On-chip 2-cycle Multiplier Nonvolatile Program and Data Memories 8K Bytes of In-System Reprogrammable Flash Endurance: 10,000 Write/Erase Cycles Optional Boot Code Section with Independent Lock Bits In-System Programming by On-chip Boot Program True Read-While-Write Operation 512 Bytes EEPROM

1K Bytes Internal SRAM Programming Lock for Software Security JTAG (IEEE std. 1149.1 Compliant) Interface Boundary-scan Capabilities According to the JTAG Standard Extensive On-chip Debug Support Programming of Flash, EEPROM, Fuses and Lock Bits through the JTAG Interface Peripheral Features Two 8-bit Timer/Counters with Separate Prescalers and Compare Modes One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture Mode Real Time Counter with Separate Oscillator Four PWM Channels 8-channel, 10-bit ADC Byte-oriented Two-wire Serial Interface Programmable Serial USART Master/Slave SPI Serial Interface Programmable Watchdog Timer with Separate On-chip Oscillator On-chip Analog Comparator Special Microcontroller Features Power-on Reset and Programmable Brown-out Detection Internal Calibrated RC Oscillator External and Internal Interrupt Sources Six Sleep Modes: Idle, ADC Noise Reduction, Power-save, Power-down, Standby, and Extended Standby

Software Selectable Clock Frequency Operating Voltages 2.7 - 5.5V for ATmega8L 4.5 - 5.5V for ATmega8 Speed Grades 0 - 8 MHz for ATmega8L 0 - 16 MHz for ATmega8

XBEE Module Transceiver:XBee is the brand name from Digi International for a family of form factor compatible radio modules. The first XBee radios were introduced under the MaxStream brand in 2005[2] and were based on the 802.15.4-2003 standard designed for point-to-point and star communications at over-the-air baud rates of 250 kbit/s.[3] Two models were initially introduceda lower cost 1 mW XBee and the higher power 100 mW XBee-PRO.[4] Since the initial introduction, a number of new XBee radios have been introduced and all XBees are now marketed and sold under the Digi brand. The XBee radios can all be used with the minimum four connections power (3.3 V), ground, data in and data out (UART), with other recommended lines being Reset and Sleep.[5] Additionally, most XBee families have some other flow control, I/O, A/D and indicator lines built in. A version of the XBees called the Programmable XBee has an additional onboard processor for users code. The Programmable XBee and a new surface mount (SMT) version of the XBee radios were both introduced in 2010.[6] An extensive collection of XBee projects complete with photos, videos, information and documentation can be found on the Digi XBee Project Gallery. The gallery is regularly updated and projects can be submitted to the site.

Graphical User Interface:-

The graphical user interface is designed in MATLAB environment using the guide function. The following is the screenshot for the GUI

The axis is used for the onscreen display which receives the images from the webcam connected to the system. The buttons forward, left, right, backward are used to control the robot in respective directions. The stop button is used to cease its motion. The distance tab is used to calculate the object distance before which the start ca, and calibrate tabs are used for detecting the initial parameters of the object. The exit tab is used for exiting from the GUI. By default the mode in which our robot operates is the manual mode which requires a human operator. In the automatic mode after pressing the calibration tab the robot travel its path automatically and when in the proximity of the object at 20cm it sidetracks the object.

3.3 Schematic for ARDUINO NG

Layout for ARDUINO NG:-

Schematic for Hbridge :

Layout for HBridge:-

Coding in Arduino
int i; void setup() { Serial.begin(9600); pinMode(13,OUTPUT); pinMode(8,OUTPUT); pinMode(9,OUTPUT); pinMode(10,OUTPUT); pinMode(11,OUTPUT); for(i=0;i<=25;i++) { digitalWrite(13,LOW); delay(50); digitalWrite(13,HIGH); delay(50); } digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,LOW); } void loop() { //reading the data from computer

if(Serial.available()) { i = Serial.read(); digitalWrite(13, LOW); } if(i == 'b' ) { digitalWrite(8,HIGH); digitalWrite(9,LOW); digitalWrite(10,HIGH); digitalWrite(11,LOW); } if(i == 'f' ) {

digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,LOW); digitalWrite(11,HIGH); } if(i == 'r' ) { digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,HIGH); digitalWrite(11,LOW); } if(i == 'l' ) { digitalWrite(8,HIGH); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,HIGH); } if(i == 's' ) { digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,HIGH); digitalWrite(11,HIGH); } if(i == 'a' ) { digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,LOW); digitalWrite(11,HIGH); delay(25); digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,LOW); i=0; } if(i == 'p' ) { digitalWrite(8,HIGH); digitalWrite(9,LOW); digitalWrite(10,HIGH); digitalWrite(11,LOW); delay(25); digitalWrite(8,LOW); digitalWrite(9,LOW);

digitalWrite(10,LOW); digitalWrite(11,LOW); i=0; } if(i == 'd' ) { digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,HIGH); digitalWrite(11,LOW); delay(25); digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,HIGH); digitalWrite(11,HIGH); i=0; } if(i == 'v' ) {digitalWrite(8,HIGH); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,HIGH); delay(25); digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,HIGH); digitalWrite(11,HIGH); i=0; } if(i == 'x' ) { digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,LOW); digitalWrite(11,HIGH); delay(1000); digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,HIGH); digitalWrite(11,LOW); delay(800); digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,LOW); digitalWrite(11,HIGH); delay(1500); digitalWrite(8,HIGH);

digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,HIGH); delay(800); digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,LOW); digitalWrite(11,HIGH); delay(2000); digitalWrite(8,HIGH); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,HIGH); delay(800); digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,LOW); digitalWrite(11,HIGH); delay(1500); digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,HIGH); digitalWrite(11,LOW); delay(800); digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,LOW); digitalWrite(11,HIGH); i=0; } }

Software:MATLAB:MATLAB is a high-level technical computing language and interactive environment for algorithm development, data visualization, data analysis, and numerical computation. Using MATLAB, you can solve technical computing problems faster than with traditional programming languages, such as C, C++. Here we have use matlab for image signal processing that is image of the object present in the path of robot is taken by the camera. And after taking image we have calculate the maximum distance of the robot from the object by making GUI. By selecting particular coordinates we can move the robot in the left or in the right direction as the object is placed in the path of the robot. Here we are working in two mode one is manual and another one is automatic. In manual System we have put the switches to perform specific task. By pressing switch we have to perform function as we wants. In automatic mode the whole system automatically works without taking any instruction.

Here we have use to matlab version 2008.

For taking image we have used 3 toolboxes from matlab. For camera interfacing -> Image acquisition box For image processing :-> Image processing box For hardware interfacing :-> instrument tool box.

Ardunio:Ardunio Software used for to program is and you can use any version of it to make a program for this device. You can download it from the given below link. http//www.ardunio.com

Bootloader:Bootloader is used to flash the program in the controller memory. By using Ardunio software we can flash the program on the microcontroller through pc with the help of serial cable which is connected to DB9 connector both side. Or we can connect the board with the pc or laptop by using serial to USB converter. BY this software we can load hex file in the controller.

3.4 Component List


Sr. Number 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 20 Webcam Voltage regulator Diode LED Electrolytic Capacitors Ceramic Capacitors Multilayer Capacitor Resister Reset Switch Crystal Max232 IC L293D IC (Arudino-Atmega8) IC Female Connector XBEE Module Pair Male & Female Bug Stick PCB -100 Motor Connecting Wires Long Strips of Both HCL webcam 7805 IC IN4007 3mm(1.5V & 20mA) 1000F,10 F,1 F,100nf 22pf .1 F 220 ,10K,1k 4 Pin 16 MHZ 16 Pin(IC3) 16 Pin(IC2) 28 Pin (IC) Db9 Component Name Component Description Number of Quantity 1 1 1 7 1,4,3,1 2 10 2,3,3 1 1 1 1 1 1 1 2 Cost (rupees) 450 10 1 1 5,3,0.5 1 1 0.5 3 8 20 40 90 20 2000 5 100 -

3.5Flowchart:-

4.Conclusion and Future scope


The project has been tested and is running without any errors. Now provided in the given time frame our group has managed to accomplish the objective of this project but there is always some scope of advancements. In this project there can be some more technologies which can be added which are listed as below. Use of multiple sensors- By using sensors like proximity detectors or ultrasonic sensors the robot can calculate exact distances which can provide precision measurements for controlling the device. Use of Smartphone/Tablet apps- In todays world everyone manages to own a smart-phone or a tablet which normally uses leading operating systems as Android, IOS or any other open-gl OS. So in this project instead of using a GUI designed in MATLAB environment, an application from respective OS mentioned above can be used for operating the robot.

You might also like