• Order
  • GBR
  • Offers
  • Support
    • Our offices and phone lines will close at 5PM GMT on the 6th and 7th of December. Rest assured, this does not impact any previously confirmed delivery dates. You can still place orders as usual on our websites. We greatly appreciate your understanding and cooperation!

      December 6, 2023

  • Sign In

Disclaimer: This is an example of a student written essay.
Click here for sample essays written by our professional writers.

Any scientific information contained within this essay should not be treated as fact, this content is to be used for educational purposes only and may contain factual inaccuracies or be out of date.

Development of Obstacle Detecting Robot Car

Paper Type: Free Essay Subject: Engineering
Wordcount: 2008 words Published: 18th May 2020

Reference this


This project describes about an obstacle avoiding robot car which is controlled by ultrasonic sensor. Detecting and avoiding obstacles are the central issues while constructing a robotic device. This technology facilitates the robot car with the senses to detect obstacles and thereby transverse in unfamiliar environment without damaging itself. The robot car is constructed using ultrasonic sensors to detect the obstacles in surrounding and controlled by adriuno UNO. The ultrasonic sensor is the best sensor to sense surrounding obstacles. It is compact yet with high ranging capability and very high performance which is available at low cost.  The project is develop a robot that will move according the code assigned but find the free space to move around while navigating the hurdles. The Arduino obstacle avoiding robot car is Bluetooth enabled. Thus, it can be controlled by any Android mobile or tablet. By downloading the Android application from Google Play Store, the app can be connected to the Bluetooth module and required commands can be sent. The hardware used in robot car is easily available and inexpensive, thus making it easily replicable. However, this robot can also be made using other sensors, like light sensors, line sensors and even putting a camera would also be really helpful. By putting a camera, the robot can travel even those places which are inaccessible by the controller, if needed and send information about that place. 


An autonomous robot is capable of traversing on its own in an unknown and unstructured environment. It is equipped with the computing intelligence to sense the surrounding, detect obstacle in the path and move in some other direction of the unknown unstructured environment while avoiding the collision. The design of Obstacle avoiding robot allows the robot to navigate its way by avoiding obstacles, which is preliminary requirement for any mobile autonomous robot.

Get Help With Your Essay

If you need assistance with writing your essay, our professional essay writing service is here to help!

Essay Writing Service

The basic principle behind the working of Ultrasonic sensor is to calculate the time taken in receiving the ultrasonic beams sent by sensor after hitting the surface. The widely available HC-SR04 Ultrasonic sensor is used. The speed of sonic wave in air is 343m/s. The Echo pin is made high for at least 10 uS and sonic beam is transmitted with eight pulses of 40Hz each. 

The signal hits the surface and bounces back and is captured by the Echo pin. The time taken in covering this distance is calculated using following algorithm,

Distance= (Time*Speed of sound in air)/2

The Obstacle avoiding robot is used by most of the military organisation in order to carry out risky jobs that cannot be done by any human.



Researchers have been trying to find more precise ways in which autonomous vehicle can be utilised. According to Ahasan, Hossain, Siddiquee, & Rahman (2012), numerous projects can be developed in this area using infrared sensor, laser scanner and Global Positioning System to accomplish obstacle detection and avoidance.Kilm and Khosla (1997) used harmonic potential functions for obstacle avoidance. Whereas Krogh and Fang in August 1997 used the dynamic generation of sub goals using local feedback information. 

Histogram in-motion mapping (HIMM) is a relatively new method for real-time map building with a mobile robot in motion. HIMM represents data in a two-dimensional array also known as a histogram grid. It is updated through rapid in-motion sampling of on-board range sensors. This sort of sampling results in a map representation which is well-suited to modelling inaccurate and noisy range-sensor data, similar to that of produced by ultrasonic sensors. It requires minimal computational overhead. Fast map-building allows the robot to immediately use the mapped information in real-time obstacle-avoidance algorithms.


Arduino is a programmable board which was released in 2005. With a simple hardware platform and free source code editor, it is used to create projects. There are several variations of Arduino available having specialized applications. However, Arduino Uno is used in this project. Arduino Uno is a microcontroller based prototyping board based on ATmega 328 that has 14digital I/O pins. It is an open source electronic prototyping platform which can be used with several sensors and actuators. 

Waves. It measures distance by sending out a sound wave at a specific frequency and

listening for that sound wave to bounce back. By recording the elapsed time between the

sound wave being generated and the sound wave bouncing back, it is possible to calculate the

Distance between the sonar sensor and the object.

The HC-SR04 ultrasonic sensor uses sonar to determine distance to an object like bats do. It

offers excellent non-contact range detection with high accuracy and stable readings in an

Easy-to-use package. From 2cm to 400 cm or 1” to 13 feet.

An Ultrasonic sensor is a sensing device that measures the distance using the sound waves. The sound wave is sent out at certain frequency which bounces back from any obstacle and thereby the sensor calculates the elapsed time. The HC-SR04 sensor works on ‘ECHO’ concept. It provides excellent non-contact range detection with utmost accuracy and stable readings. This operation is not affected by sunlight or black/dark material, however soft materials like a piece of cloth are not that easy to detect. They do not consume much electricity, are inexpensive and simple in design. It consists of 4 Vcc pins and can measure the distance of 2cm to 4m.

L293D Motor Driver Shield is a monolithic integrated, high current, high voltage and 4-channel driver. It is also a type of H-bridge. The H-Bridge is an electrical circuit that enables voltage to be applied across the load in any direction to an output, like motor. It is used in robotics projects which require stepper motor interface.

Servo motor is a device that is used to push or rotate any object at some specific angle or distance, with utmost precision. It is a simple motor made up of servo mechanism. Nowadays servo mechanism is highly used in industrial applications. It can be seen being used in remote controlled toy cars and tray of CD and DVD player, though its rotational progress cannot be controlled but its speed can be. The servo mechanism is primarily used due to its angular precision.

DC motor is used to convert direct current of electrical energy to mechanical energy. There are several types of DC motor, but gear motor is commonly used.

A breadboard is a construction base which is meant for a type of electronic circuit known as a prototype. It does not require soldering hence is reusable. This makes it easy to create temporary ones especially when carrying out experiments.

Along with this, the project uses 9v batteries, jumper wires, wheels, breadboard, Bluetooth device and LED lights.

The motors are connected through motor driver IC microcontroller.The ultrasonic sensor is attached in front of the robot. While the robot moves on the desired path, the ultrasonic sensor transmits the ultrasonic waves continuously from its sensor head. Whenever the waves hit an obstacle, they are bounced back from an object and that information is passed to the microcontroller. The microcontroller controls the motors based on signals. To control the speed of each movement, pulse width modulation is used (PWM).


Once the Sensor and LEDs is connected to the Arduino board, and the Arduino controller was programmed. Two demo were performed: (1) with the help of sensors, the distance was measured. (2) It was checked if LED blinking or not. The power supply was provided to Arduino board. Afterwards, the object was brought near to the sensors. The sensor measured distance and gave the output in form of LED. When the obstacle was near to sensor then LEDs were ON and when it was away from sensor, then LEDs were OFF.


Distance between the object and the obstacle is the key point which is responsible for the robots and automated machinery mechanism. The code that will be used in the obstacle detection must be set properly. The robot car was maintaining a distance of 2 between itself and any potential obstacle. But the distance between them was 4, i.e. the obstacle is little too far away. So the error was calculated in the difference between the mark and the measured distance. Kp is a proportional constant with value of 35. Proportional gain is the amount the error signal is multiplied directly. Integral gain is the inversed value of the time constant applied to the error signal. In a P-I controller, the outputs of the integral and proportional values are added to produce the signal that the controller attempts to put forth the output. The simplest controller,i.e. proportional controller is used and in it, the control action is proportional to the error.The controller is represented as a gain, Kp.

Object when on right side

Error = set distance point – Measured distance

= 2-4

Output adjust = Error x Kp

= -2 x 35 = -70

 Right servo Output = Centre pulse width+ Output adjust

 = -70 + 750 = 680

So the servo’s centre pulse is 750, while the right pulse is 680. This will make the robot rotate about ¾ clockwise speed.

The left servo has the same mechanism as that of right servo but the value of Kp is -35 instead of +35. So,

Left servo output = (Left distance set point – pulse width)

 = ((2 – 4) x –35) + 750 = 820

Thus, the robot will rotate about ¾ anti-clockwise.

Thus, the coding was set right and the LED were also rechecked so that no discrepancy erupted further.


In order to conclude this report, the methodology used to make an Arduino obstacle detecting robot car, the results and the discussions are included. Theobstacle detecting robot car containing Arduino controller and ultrasonic sensorwas successfully fabricated. The HcSR-04 ultrasonic sensor was selected for this project as the controlling result are conducive for its use in the automobile prototype system which is yet to be developed. The obstacle detection and avoidance algorithmwhich was coded in python was successfullycarried out with minimal errors.Microcontrollers can be coded to sense and respond to the stimuli in surroundings. Obstacle avoidance is a very good application to be used in vehicle preventing many accidents and loss of life.


  • Chatelais Q., Vultur H, and Kanellis E., “Maze Solving by an Autonomous Robot”, Aalborg University, 2014
  • Gims M., “MICROMOUSE: Microprocessor Controlled Vehicle,” University of East London, London, 1999.
  • Burrewar, S., Shire, A., Shingade, A. and Joshi, S. (2017). Obstacle Avoidance Robot: A Review. International Advanced Research Journal in Science, Engineering and Technology, [online] 4(3), pp.137-139. Available at: https://iarjset.com/upload/2017/si/AGNI-PANKH%2017/IARJSET-AGNI-PANKH%2031.pdf [Accessed 5 Sep. 2019].


Cite This Work

To export a reference to this article please select a referencing stye below:

Reference Copied to Clipboard.
Reference Copied to Clipboard.
Reference Copied to Clipboard.
Reference Copied to Clipboard.
Reference Copied to Clipboard.
Reference Copied to Clipboard.
Reference Copied to Clipboard.

Related Services

View all

DMCA / Removal Request

If you are the original writer of this essay and no longer wish to have your work published on UKEssays.com then please: