Вы находитесь на странице: 1из 3

ARDUINO BASED OBSTACLE AVOIDANCE

ROBOT
Sabahat Hashmi1, Er. Tarana Afrin Chandel2
1
B.Tech, 2Jr.Associate Professor,
1,2
Department of Electronics and Communication Engineering,
Integral University
Lucknow, UP
India

Abstract - Microcontrollers are used in automatically and mobile for use in industrial automation application [1]. The
autonomously controlled products and devices, such as robots are of two types:
automobile engine control systems, implantable medical devices, Robots which perform action as we give signals
remote controls, office machines, appliances, power tools, toys
and other embedded systems. By reducing the size and cost remotely.
compared to a design that uses a separate microprocessor, Self thinking robots which can detect obstacle and
memory, and input/output devices, microcontrollers make it move forward.
economical to digitally control devices and processes. Mixed
signal microcontrollers are common, integrating analog In this paper it has been involved with the discussion of
components needed to control non-digital electronic systems. building an obstacle avoiding autonomous and manual robot,
The robot consists of arduino board, an L293D interface circuit
and a motor driving system. The controlling devices are
where microcontroller chip ATmega 168 or 328 present on
connected to the arduino board. The arduino board sends the microcontroller board which behave as a
signals to the interfacing board L293D which controls the motor brain of the robot and controls the robot as per the user need,
driving system. The robot can also be used as a line follower by the use of motor driver circuit for wheel movements, IR
robot. Using a robot as an obstacle avoider or line follower is LEDs for obstacle detection and avoidance.
made possible simply by using sensors. The sensors used here
are proximity sensors. The proximity sensors use variable
resistor(s). If the resistance varies the sensor sends different II. HARDWARE IMPLEMENTATION
signal to the arduino board and accordingly the robot moves
independently. The robot works on combinational logic design The block diagram of the hardware implementation of
and gates. the entire system is shown in figure.1. IR sensor is used to
monitor the speed of motor. The H-bridge motor driver IC
IndexTerms Sensors, Arduino board, L293d motor driver, L293D is used to drive the motor and control the direction of
DC motors robot.
I. INTRODUCTION
In scientific exploration and emergency rescue, there may
be places that are dangerous for humans or even impossible
for humans to reach directly, thus we should use robots to
help us. In those challenging environments, the robots need to
gather information about their surroundings to avoid
obstacles. For outer space exploring robots this is even more
important because there can be a delay of seconds or minutes
between the control station on earth and the robot. Nowadays,
even in ordinary environments, people require robots that can
detect and avoid obstacles. For example, an industrial robot in
Fig.1 Block diagram of obstacle avoidance robot
a factory is expected to avoid workers so that it wont hurt
them. In conclusion, obstacle avoidance is widely researched A. Arduino/AVR Board
and applied in the world, and it is probable that most robots
in the future should have obstacle avoidance function. The
word ROBOT was first used in a 1921 play tilted R.U.R.
Rossums Universal Robots, by Czechoslovakian writer Karel
Capek, Robot is Czech word meaning worker.
ISO describes a robot as an automatically controlled
reprogrammable multipurpose manipulator programmable in
three or more axes which may be either fixed in place or
The microcontroller used here is derived from the
Arduino platform. The arduino is an open source electronic
prototype environment based on flexible, easy to use hardware
and software. It can be programmed with the Arduino
software IDE (Integrated development environment) and uses High High Low Low Description
C and C++ code to program it for different purposes. Left Right Left Right
Microcontroller is the brain of the Arduino. It consist
Universal Serial Bus (USB) that connects the board to
computer for three purposes: On Off off On Motor runs clockwise
To supply power to the board.
To upload coding to the arduino. Off On On off Motor runs anti-clockwise
And to send data to and receive it from computer.

The description of arduino board is shown in figure 2. On On off off Motor stop or
You can power the arduino with a standard mains power deaccelerates.
adapter. It 14 digital input/ output pins, six of which can
produce pulse width modulation signals, 6 analog inputs
which can be used as digital input/output pins, reset button is Off off On On Motor deaccelerates or
used to restart the system to resolve the problems [ 2].
stop

E. Speed Control
To control motor speed we can use pulse width
modulation (PWM), applied to the enable pins of L293D
driver. PWM is the scheme in which the duty cycle of a
square wave output from the microcontroller is varied to
provide a varying average DC output. What actually happens
by applying a PWM pulse is that the motor is switched ON
and OFF at a given frequency. In this way, the motor reacts to
the time average of the power supply.

Fig.2 Description of Arduino board

B. Sensors
Proximity sensors, shown in figure3, is used in an
automatic trash bin, automatic water taps and different others;
and motion sensors. The output from the proximity sensors is
connected to the arduino. It is used for speed measurement
and to avoid the robot from clash to any external devices that
is like walls, which comes in its way. IR pair has receiver part
and transmitter part. The transmitter produces the IR rays and
they are received by the receiver section. Connect +5V and
GND i.e ground to the left pin of IR module. The output of
the both IR sensor is connected to analog pin of arduino.

III. SOFTWARE IMPLEMENTATION

A. Arduino Code
ArduinocodeiswritteninCusingtheopensourceIDE.
Basic structure of Arduino programming language is fairly
simple,showninfigure6itrunsinminimumtwopart:

Fig.3 circuit diagram of sensors Voidsetup():Thesetup()iscalledwhenyourstarts.


Useittoinitializethevariables,pinmodes,startusing
C. MotorDriver
libraries, etc. the setup will run only once, after each 2. Justbymakingsmallchangesinsoftwarethissystemcan
poweruporresetoftheArduinoboard. be used for avoiding concealed paths. This robot can
Voidloop():Aftercreatingasetup()function,which effectivelysensetheobstaclesandfindoutcorrectpath.
initializes and the initial values, the loop ( ) function 3. Withproperprogrammingwecanuseitasaweightlifter.
does precisely what its name suggests and loops 4. InMinesathighradiationsituationswhereitsthreatening
consecutively, allowing your program to change and forahumanpresence.
respond.UseittoactivelycontroltheArduinoboard.
V. FUTURE SCOPE

A. Use as a fire fighting robot:


By adding temperature sensor, water tank and making
somechangesinprogrammingwecanusethisrobotasfire
fightingrobot.

B. Addingacamera
If the current project is interfaced with a camera (e.g. a
Webcam) robot can be driven beyond line-of-sight & range
becomes practically unlimited as networks have a very large
range.

VI. CONCLUSIONS
Thepurposeofourprojectwastocreateaninexpensive
andhighefficientobstacleavoidancerobotforeducationand
Fig 6: Screen view of Arduino software orientationuse.Whilerobotmovingonthesurface,iftheleft
The two important commands used in program are sensorisdetectedobstacle,robottakesbackthepositionfora
digitalWrite (pin,HIGH) & analogWrite (pin,value). Writing a moment and moves right. If the right sensor is detected
high/low to any pin brings it to +5volt/0volt. Analog write obstacle,robotgetsbackandmovesleft.
function can be used in case of PWM pins .
B. Method of programming: REFERENCES
The program starts with the initialization of variables. In [1] Subhranil Som, Arjun Shome, Micro-Controller Based Obstacle
Avoiding Autonomous Robot.
the void setup ( ) method the pin mode is set to output. [2] www.wikipedia.org/wiki/dc motor
Then the motors are made to move forward as a default state. [3] http://www.playground.arduino.cc/main/dc motor controller.
In the void loop ( ) method the values from the sensors are [4] Vivek hanumante, Sahadev roy, santanu maity, low cost obstacle
avoidance robot.
stored in variables val1 and val2 after that their difference [5] Introduction to Arduino by Alan.G.Smith.
is calculated and stored in the variable diff which tells us [6] Pakdaman, M, Sanaatiyan, M.M, Ghahroudi, M.R A line follower robot
whether the obstacle is present at the right side or left side (if from design to implementation: Technical issues and problems.
diff is > 0 the obstacle is present at right side and if diff is < 0 [7] Hasan, K.M,AI-Nahid, A. ; Reza, K.J,Khatun, S,Basar, M.R Sensor
based autonomous color line follower robot with obstacle avoidance.
the obstacle is present at the left side of the robot). An if-else [8] Vivek hanumante, Sahadev roy, santanu maity, low cost obstacle
ladder is used to make the robot turn according to the obstacle avoidance robot.
position. If an obstacle is present at the left side of the robot [9] http://datasheetoo.com/datasheet-application/27mhz- transmitter- receiver-
radio-control-pcbs-and-schematic-diagram.html, (last accessed on 21st
then the robot moves backwards a bit after that turn right side March 2014) .
and the moves forwards. If the obstacle is present at right side
of the robot then the robot moves backwards a bit after that
turns left and then moves forward

IV. APPLICATIONS
1. This logic has been specially designed for vacuum
cleaner.Byusingheavyratingmotors,strongmechanical
structure andusinghighly sensitive obstaclesensors, it
efficientlyworksasvacuumcleaner.

Вам также может понравиться