Remote surveillance robot

December 26, 2015

Table of Contents


Abstract
Chapter 1 Introduction
Chapter 2 Raspberry Pi & ARDUINO – A brief Overview
Chapter 3 “The Project” – In Detail
Chapter 4 The Program and Control
Chapter 5 Conclusion
Chapter 6 Bibliography and References

Abstract


The aim of this project is to build a Real Time Survailance Robot. The Onboard Camera on the
Robot transmits live video feed so the user/controller can see the path that is being traversed and
thereby control the movement with the controllers .
The project is being implemented using a Arduino & Raspberry Pi. Raspberry pi is a credit card
sized, System-on-Chip, Single Board Computing Platform which runs on Linux based OS. It has
a 700MhZ clock, with 512 MB RAM. It has 2 USB interfaces. This enabled us to connect a Wi
Fi Adapter and a Camera by which we were able to achieve Live Video Transmission,
wirelessly. Arduino is a open source electronic platform to develop our ideas and to contro the
the hardware unit.
All this required custom designed robot, which we built from the scratch using wood.

Chapter 1: Introduction
Many places in the world have become dangerous that does not invite human in-habitation which
makes it even more important to perform surveillance. Clearly, human intervention in such a
place is a problem with expensive solution and unpredictable outcome. So, the alternative would
be to use a robot and we contrived an unprecedented and simple surveillance system fit exactly
for the aforementioned and more applications. With this perception, we have conceived the idea
of designing a Remote Surveillance Robot.
Consider a situation where it is life threatening to send in a human, like a building under hostile
siege. Since it isn’t safe for a human to venture into the building, a good approach would be to
sending a semi autonomus robot by analyzing the Live Video feed it transmits. The Robot would
scout the whole location first, and then the safety levels of the sector could be determined. It can
also provide exact location of the hostile forces, who can be neutralized easily.
Imagine another situation where in you are in a remote location and want to find out what is
happening in your house. Using this Robot, you can get a visual feed of your house and
accordingly navigate it throughout the house. Presence of suspicious activity can immediately be
detected and appropriate action can be taken.
Keeping these scenarios in mind, we have based our project on creating a robot which holds a
Micro Controller(ARDUINO UNO R3) and the required motors along with the other controlling
circuitry. The most appropriate Controller for the purpose of interfacing and controlling different
motors and also transmitting Live Video Feed over Wi-Fi network was found to be the Raspberry Pi. It is a System-on-Chip platform build on ARM Architecture
running on Linux Platform. It provides interface for 2 USB ports and which can be used to
interface the Camera and WiFi Adapter.
The robot consists of two static platforms: upper and lower platforms . The upper platform has
all the required components, which shows the data on the LED display . The lower platform has
motors for actuation and for locomotion of the robot.
Parts included in our robotic system are as follows:
A Raspberry Pi – Model B (700 MHz, 512 MB RAM).
4- 100 RPM motors(for locomotion),3 -60 RPM motors (for actuation of mechanisms)
The circuit consists of motor driving module – L293D. which is used to control motors.
A 12V battery to power up the motors.
Another small circuitry to power a set a LEDs, whenever the Robot’s enters a dark
vicinity. A Light Dependent Resistor (LDR) is used as a sensor for this purpose.

The upper platform is attached to the lower platform using wood supports. The lower platform
also supports a Power Bank (5V, 1A). The power bank is used to power up the RPi, as it requires
a 5V supply to run on.

gow1
Figure 1.1 The Robot

Chapter 2 Raspberry Pi – A Brief Overview
The Raspberry Pi is a single board credit-card sized computer, that is designed on ARM
architecture and running on a Linux Operating System (OS). It was developed by the Raspberry
Pi Foundation. It is a versatile System-on-Chip board which can be used for a variety of
applications.

Capturegow2
Raspberry Pi Model B

Specifications

System-on-a-chip (SoC)
Broadcom BCM2835 (CPU + GPU. SDRAM is a separate chip stacked on top)
CPU 700 MHz ARM11 ARM1176JZF-S core
GPU Broadcom Video Core IV,OpenGL ES 2.0,OpenVG 1080p30 H.264 high-profile encode/decode
Memory (SDRAM) 512 MB
USB 2.0 ports: 2 (via integrated USB hub)
Video outputs: Composite video | Composite RCA, HDMI (not at the same time)
Audio inputs: none, but a USB mic or sound-card could be added
Audio outputs TRS connector | 3.5 mm jack, HDMI
Onboard Storage Secure Digital SD / MMC / SDIO card slot
Onboard Network 10/100 wired Ethernet RJ45
Low-level peripherals
General Purpose Input/output (GPIO) pins, Serial Peripheral Interface Bus (SPI), I²C, I²S], Universal asynchronous receiver/transmitter (UART)
Real-time clock None
Power ratings 700 mA, (3.5 W)

Power
The board takes fixed 5V input, (with the 1V2 core voltage generated directly from the input
using the internal switch-mode supply on the BCM2835 die). power: The board provides a
polarity protection diode, a voltage clamp, and a self-resetting semiconductor fuse.Power
consumption of the Raspberry Pi device is Board B: 5V, 700 mA without any devices connected.
Software: Specifications:
Operating Systems
 Raspbian : A community-created port of Debian wheezy, optimised for Raspberry Pi
Programming Languages:
 C/C++,Graphics Programming, python,scratch

ARDUINO – A Brief Overview
Arduino is an open-source computer hardware and software company, project and user community that designs and manufactures kits for building digital devices and interactive objects that can sense and control the physical world

gow3
ARDUINO UNO R3

The Arduino Uno is a microcontroller board based on the ATmega328 . It has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz ceramic resonator, a USB connection, a power jack, an ICSP header, and a reset button.
Specifications: Power:
Microcontroller ATmega328 Operating Voltage 5V Input Voltage (recommended) 7-12V Input Voltage (limits) 6-20V Digital I/O Pins 14 (of which 6 provide PWM output) Analog Input Pins 6 DC Current per I/O Pin 40 mA DC Current for 3.3V Pin 50 mA Flash Memory 32 KB (ATmega328) of which 0.5 KB used by bootloader SRAM 2 KB (ATmega328) EEPROM 1 KB (ATmega328) Clock Speed 16 MHz Length 68.6 mm Width 53.4 mm Weight 25 g Power:
It can be powered via the USB connection or with an externa power supply.The power supply is
selected automatically.
Language: c/c++

Chapter 3 “The Project” – In Detail
The main motive of the project is to build a survailance robot that transmits video to
remote location and as well be controlled remotely from any smart device or to control manually.
Therefore a headless setup is required and connecting the pi to a network is required.
In our project we have used the Raspbian Wheezy Operating system to perform the whole
processing and the required operations which includes video transmission and robot control.
In addition to this feauters we have implemented the multi operation performing system in
the robot,by interfacing with multiple different sensors ,so that it can survive based on the
environmental conditions as per the instructions given in the microcontroller.These type of
robots can be used in commando operations.
Sensors used :
proximity sensor Metal detector
Sound sensor Ultrasonic sensor
Accelerometer IR sensor
Temperature sensor
Flame sensor
LDR(Light dependent resistor)

In addition to this interfaces ,it has pick and place mechanism (to pick and place the objects in
case of metals or bombs), and it has automatic fire exuingher system which uses submercible
pump to pump water from the tank to suppress the fire.
In total it has an LED Display interference to display all the data to the particular controller or
the client to which it had been connected.

gow4

Chapter 4 The Program and Control
We have written a program in arduino to get data from the sensors and python code for
controlling the camera and to give sound signals to the clients. The code should be able to
control the robot path as well as the camera module.
Requirements:
Option requirements
Certain libraries are required to control the GPIO pins and design the GUI:
 RPi.GPIO Library:The RPi.GPIO python module offers easy access to the general
purpose IO pins on the Raspberry Pi. It has to be installed into the memory card.
Following steps illustrate this. Or follow the instructions in this Adafruit Lesson:
http://learn.adafruit.com/adafruits-raspberry-pi-lesson-4-gpio-setup
sudo apt-get update
-sudo apt-get install python-dev
sudo apt-get install python-rpi.gpio
 Tkinter Library:
Tkinter is Python’s de-facto standard GUI (Graphical User Interface) package. Tkinter is
not the only GUI Programming toolkit for Python. It is however the most commonly used
one.

We need to program arduino in arduino IDE(Integrate Development Environment)ll
Program for arduino:
#include<LiquidCrystal.h>
LiquidCrystal lcd(8,9,10,11,12,13);
int tem=0; int temppin;
void setup()
{lcd.begin(16,2);
pinMode(2,OUTPUT);
pinMode(3,INPUT);
pinMode(A0,INPUT);
pinMode(8,OUTPUT);
Serial.begin(9600);
}
void loop()
{
int temp=0;

16
int temppin;
temp=analogRead(A0);
tem=temp*0.5;
digitalWrite(2,LOW);
delayMicroseconds(2);
digitalWrite(2,HIGH);
delayMicroseconds(10);
digitalWrite(2,LOW);
delayMicroseconds(10);
int dur=pulseIn(3,HIGH);
int distance = (dur/58.2);
Serial.println(distance);
delay(500) ;
Serial.print(” “);
//Serial.println(temp);
lcd.setCursor(0,0);
lcd.print(distance);

17
/*if(distance<100)
{
lcd.setCursor(2,0);
lcd.print(“mm”);
}
else if(distance<10)
{lcd.setCursor(1,0);
lcd.print(“mm”);
}
else if(distance>100)
{lcd.setCursor(3,0);
lcd.print(“mm”);
lcd.setCursor(7,0);
lcd.print(“TEMP:”);
lcd.setCursor(12,0);
lcd.print(“temp” );
lcd.setCursor(14,0);lcd.print(“*C”);}

Chapter 5 – Conclusion
Over the period of the project we faced several chellanges during video transmission which
forms the integral part of the project. The MJPG Streamer format has been used for this
purpose as it provides a good frame rate of 15 Frames per Second (FPS) and the usage of
microcontroller (arduino ) makes our project much simpler interms of programming and
interfacing sensors. the Raspberry Pi and the Control platform arduino are connected and
testing the range of operation, it was found that the Robot was well in control until
approximately upto 50 ft
Applications
This project finds applications in various areas where human presence is vulnerable.
Therefore it finds its use for the following tasks.
 Law Enforcement purposes, where a building taken under hostile control can be first
scanned using the bot and then infiltrated.
 Spying purposes.
 To send to places where it is not possible to go, like small tunnel, or an air vent.
 To find Atmospheric conditions over an area.
 To exuinguish the fire.
.
 

References
 Video streaming tutorials from www.adafruit.com, www.techspec.com,
www.linuxcircle.com, www.raspiprojects.com, www.wolfpaulus.com
 Introduction to arduino from arduino.cc
 All this would not have been possible without intelligent search results from google and
youtube