An Obstracle Avoiding Robot

DOI : 10.17577/IJERTCONV6IS14079

Download Full-Text PDF Cite this Publication

Text Only Version

An Obstracle Avoiding Robot

An Obstracle Avoiding Robot

T. Aravinthan1

Department of Mechanical Engineering, Parisutham Institute of Technology and Science, Thanjavur, Tamil Nadu, India.

    1. Barani Krishnan2

      Department of Mechanical Engineering, Parisutham Institute of Technology and Science, Thanjavur, Tamil Nadu, India.

      AbstractAn obstacle avoidance robot vehicle made by using an ultrasonic sensor for its movement. A micro-controller (AT mega 8) is used to achieve the desired operation. A robot is a machine that can perform task automatically or with guidance. Robotics is a combination of computational intelligence and physical machines (motors). Computational intelligence performs the programmed instructions.

      The obstacle avoiding robot directs itself whenever an obstacle comes in its path. This robotic vehicle is built, using a micro-controller of AT mega 8 family. An ultrasonic sensor is used to finds any obstacle ahead of it and sends a command to the microcontroller. Depending on the input signal received, the micro-controller change the direction of the robot by actuating the motors which are interfaced to it through a motor drive.

      KeywordsRobotics; Obstacle avoiding; AT mega 8.


        Obstacle avoidance is a primary requirement of any autonomous robot. Obstacle avoidance robot is design to allow robot to navigate in unknown environment by avoiding collisions .Obstacle avoiding robot senses obstacles in the path ,avoid it and resumes its running.

        There are some very common methods for robot navigation like wall-following, edge detection, line following. One of the commercial systems uses wall following

        method on a floor cleaning robot for long hallways. A more general and commonly employed method for obstacle avoidance is based on edge detection. A disadvantage with obstacle avoidance based on edge detecting is the need of the robot to stop in front of an obstacle in order to provide a more accurate measurement.

        All mobile robots feature some kind of collision avoidance, ranging from primitive algorithms that detect an obstacle and stop the robot in order to avoid a collision, using some sophisticated algorithms, that enable the robot to detour obstacles. The latter algorithms are more complex, since they involve detection of an obstacle as well as some kind of quantitative measurements concerning the obstacle's dimensions. Once these have been determined, the obstacle avoidance algorithm needs to steer the robot around the obstacle and resume motion toward the original target.


        In simple robot, steering algorithm is used for robotic actions in which driver or a human being is controlling the robot using remote. Here driver is present, who can see the obstacle and navigate robot accordingly.


        The project proposes a autonomous robotic vehicle, In which no remote is used for controlling the robotic actions. It intelligently detects obstacles present on its path through the sensors, avoid it and take decision on the basis of internal code that we set for it.

        The detail information is given in the following subtopics which will help you to understand the whole system and its design.


        This robot was built with an Arduino development board on which microcontroller is placed. Arduino board is connected with DC Motor through Motor driver board(pin10, pin11, pin12, pin13)which provide power to the actuators. Actuators are used to move robot in Forward, Backward, Left and Right directions.



























        Varieties of sensors are available which can be used for the detection of obstacles. Some of the very popular sensors are: Infrared sensors (IR),Ultrasonic sensors, Cameras, which can be used as a part of Computer Vision, Sonar. It can measure the distance in its field of view of about thousands to hundreds points


        In the design of robot, we are usingultrasonic sensors for obstacle detection and avoidance.[3]The ultrasonic sensors continuously emits the frequency signals, when obstacle is detected this signals are reflected back which then considered as input to the sensor.


        The ultrasonic sensor consists of a multi vibrator, which fixed at its base. The multi vibrator is combination of a resonator and vibrator. The ultrasonic waves generated by the vibration are delivers to the resonator. Ultrasonic sensor actually consists of two parts: the emitter which produces a

        40 khz sound wave and detector which detects 40 khz sound wave and sends electrical signal back to the microcontroller.


        1. ARDUINO:

          Arduino is a popular programmable board used to create projects. It consists of a simple hardware platform as well as a free source code editor which has a one click compile or upload feature. Hence it is designed in way that one can use it without necessarily being an expert programmer (Kushner 1987). Arduino offers an open-source electronic prototyping platform that is easy to use and flexible for both the software and hardware. Arduino is able to sense the environment through receiving input from several sensors. It is also able to control its surrounding through controlling motors, lights and other actuators. The Arduino programming language that is based on the wiring and the Arduino development environment that is based on the processing are used to program the microcontroller found on the board (Banzi, 2005). Due to its open-source environment, one is able to easily write and upload codes to the I/O board.

          Fig : 3 Arduino

        2. MOTOR SHIELD:

        Basically this means using this chip you can use DC motors and power supplies of up to 16 Volts, thats some pretty big motors and the chip can supply a maximum current of 600ma per channel, the L293D chip is also

        what's known as a type of H-Bridge. The H-Bridge is typically an electrical circuit that enables a voltage to be applied across a load in either direction to an output.

        Fig : 4 Arduino

        Design of Obstacle Avoiding Robot using Arduino: Arduino is the main processing unit of the robot. Out of the 14 available digital I/O pins, 7 pins are used in this project design.

        The ultrasonic sensor has 4 pins: Vcc, Trig, Echo and Gnd. Vcc and Gnd are connected to the +5v and GND pins of the Arduino. Trig (Trigger) is connected to the 9th pin and Echo is connected to 8th pin of the Arduino UNO respectively.

        A Servo Motor is used to rotate the Ultrasonic Sensor to scan for obstacles. It has three pins namely Control, VCC and GND. The Servo Control Pin is connected to pin 11 of Arduino while the VCC and GND are connected to +5V and GND.

        L293D is a 16 pin IC. Pins 1 and 9 are the enable pins. These pins are connected to +5V. Pins 2 and 7 are control inputs from microcontroller for first motor. They are connected to pins 6 and 7 of Arduino respectively.

        Similarly, pins 10 and 15 are control inpts from microcontroller for second motor. They are connected to pins 5 and 4 of Arduino. Pins 4, 5, 12 and 13 of L293D are ground pins and are connected to Gnd.

        First motor (consider this as the motor for left wheel) is connected across the pins 3 and 6 of L293D. The second motor, which acts as the right wheel motor, is connected to 11 and 14 pins of L293D.

        The 16th pin of L293D is Vcc1. This is connected to +5V. The 8th pins is Vcc2. This is the motor supply voltage. This can be connected anywhere between 4.7V and 36V.

        In this project, pin 8 if L293D is connected to +5V supply. Motor Driver boards are available with on board 5V voltage regulator.

        A similar one is used in the project. If the above Circuit Diagram of the Obstacle Avoiding Robot is unclear, the following image might be helpful.

        Fig: 5 Circuit

      5. WORKING

        Before going to working of the project, it is important to understand how the ultrasonic sensor works. The basic principle behind the working of ultrasonic sensor is as follows:

        Using an external trigger signal, the Trig pin on ultrasonic sensor is made logic high for at least 10µs. A sonic burst from the transmitter module is sent. This consists of 8 pulses of 40khz.

        The signals return back after hitting a surface and the receiver detects this signal. The Echo pin is high from the time of sending the signal and receiving it. This time can be converted to distance using appropriate calculations.

        The aim of this project is to implement an obstacle avoiding robot using ultrasonic sensor and Arduino. All the connections are made as per the circuit diagram. The working of the project is explained below.

        When the robot is powered on, both the motors of the robot will run normally and the robot moves forward. During this time, the ultrasonic sensor continuously calculate the distance between the robot and the reflective surface.

        This information is processed by the Arduino. If the distance between the robot and the obstacle is less than 15cm, the Robot stops and scans in left and right directions for new distance using Servo Motor and Ultrasonic Sensor. If the distance towards the left side is more than that of the right side, the robot will prepare for a left turn. But first, it backs up a little bit and then activates the Left Wheel Motor in reversed in direction.

        Similarly, if the right distance is more than that of the left distance, the Robot prepares right rotation. This process continues forever and the robot keeps on moving without hitting any obstacle.

        Fig: 6 Model Robot


  • Obstacle avoiding robots can be used in almost all mobile robot navigation systems.

  • They can be used for household work like automatic vacuum cleaning.

  • They can also be used in dangerous environments, where human penetration could be fatal.


[1] 2R Hardware & Electronics: Arduino Uno. 2013. 2R Hardware

& Electronics: Arduino Uno. [ONLINE] Available at: [Accessed 16 May 2013].

[2] Application-Specific Integrated Circuits (ASIC's). 2013. Application-Specific Integrated Circuits (ASIC's). [ONLINE] Available at: [Accessed 19 July 2013].

[3] Arduino – Software . 2013. Arduino – Software . [ONLINE] Available at: [Accessed 16 May 2013].

[4] Arduino – HomePage . 2013. Arduino – HomePage . [ONLINE] Available at: [Accessed 16 May 2013].

[5] Arrick Robotics – Comparing A Robot and BOE-Bot . 2013. Arrick Robotics – Comparing ARobot and BOE-Bot . [ONLINE] Available at: [Accessed 15 October 2013].

[6] Banzi, Massimo, 2009. Getting Started with Arduino. 1st ed.

Farnham: O'Reilly Media.

[7] BS2 programming board (board of education). 2014. BS2 programming board (board of education). [ONLINE] Available at: ardEN.htm. [Accessed 20 January 2014].

[8] Embedded Systems Design Heath Steve – Google-kirjat. 2013. Embedded Systems Design – Steve Heath – Google- kirjat. [ONLINE] Available at: edir_esc=y#v=onepage&q&f=t rue. [Accessed 18 July 2013].

[9] Free Merriam-Webster Dictionary. 2013. y. [ONLINE] Available at: [Accessed 18 August 2013].

[10] History of Computers and Computing, Birth of the modern computer, The bases of digital computers, Integrated Circuit. 2014. History of Computers and Computing, Birth of the modern computer, The bases of digital computers, Integrated Circuit. [ONLINE] Available at: http://history- [Accessed 31

January 2014].

Leave a Reply