You are on page 1of 10

CDAC, NOIDA

PGDEVD - XXI
A
Project Report
On
Wall Climbing Robot: Simulation on STK500 kit

In partial fulfillment of the requirement for the award of the degree of
POST GRADUATE DIPLOMA IN EMBEDDED SYSTEM
AND VLSI DESIGN
(PGDEVD-XXI)

Submitted by
Amareshwar Kaushik
Ravindra Mathanker
Rohit Chaturvedi
Sumit Verma

Under the Esteemed Guidance of
Mr. Pradeep Nandan

Centre for Development of Advanced Computing, NOIDA

CDAC, NOIDA

PGDEVD - XXI
CERTIFICATE


This is to certify that the project entitled Wall Climbing Robot: Simulation on
STK500 kit has been prepared jointly by four students Amareshwar Kaushik,
Ravindra Mathanker, Rohit Chaturvedi, Sumit Verma of PGDEVD and
submitted under my supervision. The Students have prepared a basic conceptual
simulation model of Wall Climbing Robot by themselves. The project is being
submitted by the students as partial fulfillment of the requirement for the award
of PGDEVD of CDAC, NOIDA.




R I



Mr. Pradeep Nandan
CDAC, NOIDA

Mr. Vinod Sharma
Program Co-ordinator
CDAC, NOIDA


CDAC, NOIDA

PGDEVD - XXI
ACKNOWLEDGEMENT


We express our sincere thanks to Mr. Vinod Sharma Program Coordinator,
PGDEVD for his guidance and cooperation throughout the work. In spite of his
busy schedule he extended full cooperation with keen interest for discussion and
correct suggestion.
We immensely thankful to Mr. Pradeep Nandan for their help and kind
cooperation time to time. We are also indebted to all faculty members of
PGDEVD, for their kind cooperation and advices given to us time to time.




r t



PGDEVD
Batch XXI (Aug11- Jan11)
CDAC, NOIDA

Amareshwar Kausik
Ravindra Mathanker
Rohit Chaturvedi
Sumit Verma

CDAC, NOIDA

PGDEVD - XXI
Wall climbing Robot for dedicated task
Introduction
Our target is to build a wall-climbing robot that can climb walls, walk
on ceilings, crawl through pipes and traverse on floors.
The Wall Climbing Robot (WCR) having capability that it can stick on a
vertical as well as inclined surface and can easily move over the surface. The
targeted capability to stick with surface can be achieved by either suction cups
or electrostatic chucks. Suction cups create a vacuum pressure used to stick with
vertical or inclined surface. Electrostatic Chucks create a controlled adhesion by
means of some intermolecular or charged force.

The movement on the surface can be achieved by stepper motor wheel or a
balanced movement of suction cup legs. The whole action is controlled by an
8bit microcontroller ATMega32.
Components
The major components required for building targeted robot are as follows:-
1. Microcontroller 8bit ATmega 32.
2. Suction Cups or Supersonic air jet.
3. Stepper motors.
4. Robot legs and accessories.
5. Chassis for robot.
6. Pressure or IR sensors.
7. Power and Voltage regulating ICs.
8. Power and connecting cables.
9. Fluid control pipes and vacuum pump.
Primary Diagram









CDAC, NOIDA

PGDEVD - XXI






Working steps
The steps of programming flow for movement of robot:-










Check suction cups/Supersonic on surface (Pressure sensors)
On the Vacuum pump/Fluid control valve and wait for
pressure sensor indication
Send signals to stepper motor to move the legs
Wait for Pressure sensor indication and perform next
instruction


CDAC, NOIDA

PGDEVD - XXI
BLOCK DIAGRAM


























PA0 PA1 PA2
MICROCONTROLLER ATMEGA32
PB7 PB3-PB0 PD0-PD3 PD7

Stepper 1
(LEG1)
Stepper 2
(LEG2)
Relay 1 Relay 2
Vacuum
Pump 1
Vacuum
Pump 2
Suction
Cup 1
Suction
Cup 2
SW
0
SW
1
SW
2
#include<avr/io.h>
#define F_CPU 11059200UL
#include<util/delay.h>

/************************************************************************************************/
/* code for Wall cimbing robot controlling function Presented for PROJECT at CDAC NOIDA */
/* CDAC- NOIDA , PGDEVED-21 PROJECT- Wall Climbing Robot functional Simulation on STK-500/600 */
/*Prepared simulation by- Amareshwar Kaushik, Ravindra Mathanker, Rohit Chaturvedi, Sumit Verma */
/* */
/* The Robot have 2 leg and both have sctuin cup at bootom side and stepper motor at upper side. */
/* The leg1 -have stepper1 is jointed by a rod to leg2 assembly so that if moves so pull the leg2 */
/* Similarly Leg2-stepper2 is jointed by a rod to leg1 assembly so that it can pull the leg1 assembly */
/* */
/* Three Switches to controll the fuctioning of Robot */
/* Switch sw0-turn on both vacuume pump1 and 2 respectively connected by pipe to suction cup1 and 2 of leg1 and 2 */
/* Switch sw1-turn on only vacuume pump2 and off pupm1 to move leg1 of robot */
/* Switch sw2-turn on only vacuume pump1 and off pupm2 to move leg2 of robot */
/* after pressing leg1-leg2 movement switches legs will move only for 30'-60' only and stops */
/************************************************************************************************/


int step_seq1[4]={0x78,0x7C,0x74,0x76,0x72,0X73,0X79}; //stepper motor1 full sequences clock wisw defined with relay1(PB7) on
int step_seq2[4]={0x79,0x73,0x72,0x76,0X74,0X7C,0X78}; //stepper motor2 full sequences anti-clock wise definedwith relay1(PD7) on
volatile int step=0; //step is a count for how many sequences run
volatile int stepstop=50; //a limit for the defined sequences
unsigned int cnt=0; // for display array value

void relayall(); //this will call all relays relay0, and ralay1 on
void leg1(); //this will move the leg 1 of the robot by off relay1 and move stepper1
void leg2(); //this will move the leg 2 of the robot by off relay2 and move stepper2

int main()
{
DDRA=0x00; // switches connected to POTRA input sw0-PA0,sw1-PA1, sw2-PA2
DDRB=0xFF; //relay connection PORTB output PB7-relay1,stepper motor1-PB0-PB3
DDRD=0xFF; //relay connection PORTD output PD7-relay2,stepper motor2-PD0-PD3,

PORTA=0xFF; //intialize
PORTB=0xFF; //values
PORTD=0xFF; //at ports

while(1) //continuous loop for execuiton by microcontroller
{
if(PINA==0xFE) //sw0 - for ON both relay
{
relayall();
}
if(PINA==0xFD) //sw1- move leg1 (for only ON relay1 and call foe stepper1 sequence)
{
leg1();
PINA=0xFE;
relayall();
}
if(PINA==0xFB) //sw1- move leg2 (for only ON relay2 and call foe stepper2 sequence)
{
leg2();
PINA=0xFE;
relayall();
}
}
}

void relayall() //fuction for on both relay1 and relay2
{
do{
PORTB=0x7F;
_delay_ms(10);
PORTD=0x7F;
_delay_ms(10);
}while(PINA==0xFE);
}

void leg1() //call fuction for mov leg1
{
step=0; //stop relay1 enclosed to leg1 and
cnt=0; //move stepper1 for 50 steps
for(;step<stepstop;cnt++) //after that relay1 and relay2
{ //are both on and leg will
PORTB=step_seq1[cnt]; //be fixed by suction cup
_delay_ms(50);
if(cnt>=4)
cnt=0;
step++;
}
}

void leg2() //call fuction for move leg2
{
step=0; //stop relay1 enclosed to leg1 and
cnt=0; //move stepper1 for 50 steps
for(;step<stepstop;cnt++) //after that relay1 and relay2
{ //are both on and leg will
PORTD=step_seq2[cnt]; //be fixed by suction cup
_delay_ms(50);
if(cnt>=4)
cnt=0;
step++;
}
}

CDAC, NOIDA

PGDEVD - XXI
Working
The Flow - chart for the control of Wall Climbing Robot having following steps
























Power Supply Must be On
Press Switch sw0- for turn on supply for relay1 and relay2 of
Leg1 & Leg2 respectively
Relay1 switch on Vacuum pump1 and Relay2 on the
Vacuum pump2.
Press switch sw1 for move Leg1: This will send signal to
relay1 and stepper1
Relay1 being off and during this stepper1 will start rotation
After 30-60 movement stepper stops and relay1 with relay
2 will again be on.
Press switch sw2 for move Leg2: This will send signal to
relay2 and stepper2
Relay2 being off and during this stepper2 will start rotation
After 30-60 movement stepper stops and relay2 with relay
1 will again be on.

CDAC, NOIDA

PGDEVD - XXI
Applications

A Wall-Climbing Robot system has wide applications include remotely
monitoring hazardous environments, reconnaissance, defects inspection, and
fire fighting. However, for current needs in areas such as biomedical, aerospace,
environmental and military systems, walking or climbing autonomous robots
are needed. Object manipulation and surveillance are crucial for many
applications, and in many cases, require an ability to climb walls.

You might also like