Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 48

Major Project Phase 2 Report on

OBSTACLE AVOIDING ROBOT


A report submitted in partial fulfilment of the requirements for the Award of Degree
of

BACHELOR OF ENGINEERING
in

ARTIFICIAL INTELLIGENCE AND DATA SCIENCE


by

Maaz Khan [160420747037]


Abuzar Ahmed [160420747059]
Under the Guidance of

Ayesha Mariyam

DEPARTMENT OF COMPUTER SCIENCE AND ARTIFICIAL


INTELLIGENCE
MUFFAKHAM JAH COLLEGE OF ENGINEERING AND
TECHNOLOGY
(Affiliated to Osmania University)
Hyderabad-500034.

YEAR OF SUBMISSION: 2023– 2024

1
MUFFAKHAM JAH COLLEGE OF ENGINEERING AND
TECHNOLOGY

Mount Pleasant, 8-2-249 to 267, Road No. 3, Banjara Hills, Hyderabad - 500 034,
Telangana, State, India

CERTIFICATE

This is to certify that the Major Project Phase 2 Report on Obstacle Avoiding Robot

submitted by MAAZ KHAN 160420747037 & ABUZAR AHMED 160420747059 is work

done by them and submitted during 2023-2024 academic year, in partial fulfilment of the

requirement for the Award of the Degree, Bachelor of Engineering in Artificial Intelligence

and Data Science.

Dr. Uma N. Dulhare


Professor & Head,
CS&AI Dept, MJCET

2
DECLARATION

This is to certify that the work reported in the Major project Phase1 entitled Obstacle Avoiding

Robot is a record of work done by MAAZ KHAN 1604-20-747-037 & ABUZAR AHMED 1604-

20-747-059 in the Department of Computer Science and Artificial Intelligence, Muffakham Jah

College of Engineering and Technology, Osmania University, the report is based on the major

project phase 2 work done entirely by our team and not copied from any other source.

By
MAAZ KHAN
(160420747037)

ABUZAR AHMED
(160420747059)

3
ACKNOWLEDGEMENT

It is indeed with a great sense of pleasure and immense sense of gratitude that, I

acknowledged the help of these individuals.

Firstly, I would like to thank my Head of the Department & Major Project

Coordinator, Prof. Uma. N. Dulhare for her constructive criticism throughout my Major

Project Phase 2.

I would like to thank my Ayesha Mariyam, Assistant Professor Department of

Computer Science and Artificial Intelligence for his/her support in accomplishing the

Major Project Phase 2 objectives.

Finally, I would like to take this opportunity to thank my family for their support

throughout the Major Project Phase 2. I sincerely acknowledge and thank all those who

have directly or indirectly supported me in the completion of this Major Project Phase 2.

MAAZ KHAN {160420747037}

ABUZAR AHMED

{160420747059}

4
TABLE OF CONTENTS
CONTENT PAGE NOS
ABSTRACT
LIST OF FIGURES
LIST OF TABLES
ACRONYMS
CHAPTERS
1. INTRODUCTION
1.1 Introduction
1.2 Aim & Objectives
1.3 Reason for Project
1.4 Problem Statement
1.5 Scope
1.6 Summary

2. LITERATURE SURVEY
2.1 Survey of related work (At least 7- 8 pages, discussion & table)
2.2 Benefits of Project

3. EXISTING SYSTEM
3.1 Introduction
3.2 Problem Statement

4. PROPOSED SYSTEM
4.1 Introduction
4.2 Advantages
4.3 Specifications of the Proposed System

5. REQUIREMENT ANALYSIS
5.1 Introduction
5.2 Feasibility Study
5.2.1 Technical Feasibility
5.2.2 Operational Feasibility
5.2.3 Economical Feasibility
5.2.4 Legal Feasibility
5.3 System Implementation
5.4 Functional Requirements
5.5 Non-Functional Requirements
5.6 Hardware & Software Requirements

6. PLAN FOR IMPLEMENTATION


6.1 Gantt Chart

7. DISCUSSION/CONCLUDING REMARKS

5
8. REFERENCES

ABSTRACT

Obstacle detection and avoidance can be considered as the central issue in designing mobile robots.
This technology provides the robots with senses which it can use to traverse in unfamiliar
environments without damaging itself. In this paper an Obstacle Avoiding Robot is designed which
can detect obstacles in its path and maneuver around them without making any collision. It is a robot
vehicle that works on Arduino Microcontroller and employs ultrasonic sensor to detect obstacles. The
Arduino Uno was selected as the microcontroller platform and its software counterpart, Arduino
Software, was used to carry out the programming. The integration of ultrasonic sensor provides higher
accuracy in detecting surrounding obstacles. Being a fully autonomous robot, it successfully
maneuvered in unknown environments without any collision. The hardware used in this project is
widely available and inexpensive which makes the robot easily replicable . The robot must be able to
navigate hazards and get where it is going. This study aims to examine the robot's navigational
behaviors in order to avoid obstacles.

Keywords: : Arduino Uno, Motor driver shield, Ultrasonic sensor, Servo motor, 18650 rechargable
batteries, 3cell holder, Bo motor, Yellow wheel, Hylum sheet

6
LIST OF FIGURES

FIGURE NO. NAME OF THE FIGURE PAGE NO.


Fig. 1.1
Fig. 1.2
Fig. 2.1
Fig. 2.2

7
LIST OF TABLES

TABLE NO. TABLE NAME PAGE NO.


Table. 1.1
Table. 1.2
Table. 2.1
Table. 2.2

8
1.INTRODUCTION

1.1 Introduction

Robotics is a part of today’s communication & communication is a part of


advancement in technology. There are different mobile robots that can be divided
into several categories. These consists of wheeled robot, crawling robot and legged
robot. This project consists of wheeled autonomous robot. Obstacle avoidance is the
primary requirement of any autonomous robot. Obstacle avoidance allows robot to
navigate in an unknown environment by avoiding collisions. Obstacle avoiding robot
senses obstacles in its path, stops and then avoids it by turning in another direction.
It then runs in that direction.

Robot navigates using various methods which are wall-following, line following. One
of the commercial systems uses the method of wall following for a floor cleaning
robot for long hallways. A more general and commonly employed method for
avoidance of obstacle is based on edge detection. There is one disadvantage of
obstacle avoiding by using the method of edge detection which is that the robot has
to stop in front of an obstacle in order to provide a more accurate measurement.
Obstacle avoiding robot senses obstacles in front of it using sensors. A variety of
sensors are available for this purpose which includes Infrared sensor, Ultrasonic
sensors etc. Ultrasonic sensor is used to detect an obstacle ahead of it, and then it
sends information to the Arduino (microcontroller). Its cost is low. If we use IR
sensors, it detects the object’s distance with infrared radiation. When the beam
detects an object, the beam returns to the receiver. However, infrared sensors are
sensitive to external light conditions. Their detection range is short.

9
1.2 Aim & Objectives

Aim:
In mobile robotics, the goal of obstacle avoidance is generally to navigate from one location to
another while avoiding collisions with obstacles in the environment.

Objectives:

1. The objective of this project is to implement a robot car, which while moving should have the
ability to detect obstacles in its path and change direction where obstacles are present without
any form of external influence.

2. To design and make low cost & test the prototype robotic vehicle using Arduino application.

3. To write customized programme coding for a smart machine.

4. To suggest a cost model for robotic vehicle.

5. The goal of obstacle avoidance is generally to navigate from one location to another while
avoiding collisions with obstacles in the environment.

6. Can sense slow-moving or stationary objects when driving at low speeds. Some may even
brake for you to avoid obstacles. This feature activates at slow speeds and will provide
warnings of impending collisions.

7. An obstacle avoiding robot is a fully autonomous robot which can be able to avoid any
obstacle which it face when it move. Simply, when it met an obstacle while it moving
forward, automatically stop moving forward and makes a step back.

8. To evaluate literature related to the fields of engineering, mechatronics, and software


development in the design, construction, and programming of an autonomous robot.

9. To design a robotic car capable of obstacle detection in a controlled environment.

10. To interface the robot with a real-time system that will enables it perform assigned
tasks.

11. To achieve optimal performance from the robot and distinct quality in contrast to
other obstacle avoidance robot’s known

10
1.3 Reason for project

1) The intelligent device known as the Obstacle Avoiding Robot can detect impediments in its
path automatically and steer clear of them by turning in a different direction. The essential
necessity for any autonomous mobile robot is the ability to avoid collisions, which is made
possible by this design.

2) In smart cars it can be used to detect obstacles in front of it and turn in different directions.

3) Almost all mobile robot navigation systems can make use of obstacle avoiding robots.

4) They can be employed for domestic chores like automatic vaccuming.

5) Additionally they can be employed in hazardous conditions where human penetration might be
lethal.

6) An obstacle detection system uses ultrasonic sensors mounted on the front and/or rear
bumpers. These sensors can measure the distance between your car and nearby obstacles
directly around the front or rear bumper. The driver is alerted by beeps or the dashboard
display.

In Summary , Obstacle avoiding robot was designed, constructed and programmed which
may be potentially used for educational and research purposes. The developed robot will
move in a particular direction once the infrared (IR) and the PIR passive infrared (PIR)
sensors sense a signal while avoiding the obstacles in its path

11
1.4 Problem Statement

In the past, the rate of accidents on a typical Indian road has increased as many year passes
by and it is still rising. The major cause of these accident cases is as a result of lack of
awareness of obstacles bumps), whether it is a coming vehicle or a pedestrian or even a
domestic animal on the road and in some cases brake failure.

The study is an attempt towards developing a robotic car that would be able to detect and
avoid obstacle (bumps) in the robot’s path using a sensor to achieve the target point in an
optimized manner. With the use of an obstacle avoidance technology in the car, it will
automatically alert the driver (or even the car itself) of the obstacle ahead with a possible
means of avoiding the obstacle depending on the advancement of the technology, thus,
effectively reducing the rate of mortality on the road.

When the robot gets to an environment that it is not use to, it will stop scan through it
environment, thereby processed it to recognize any obstacle. With the use of state of art of
necessary equipment, the robot can avoid obstacle and finds a secured path thereby causing
reduction in accidents and non-avoidance of obstacles. Once the robotic car performs a task,
it will store the task which will then make it perform better when another task is given which
would be based on the updated percept (a combination on the current percept with the
information that exist in it knowledge base with an internal state).

12
1.5 Scope

This research is centred around designing an autonomous obstacle avoidance robot that would be able
to sense any obstacle in its paths, with the use of the ultrasonic sensor and then make 90˚or 180 ˚turn
to look for a free space to avoid the obstacle and resume its normal direction which is control by the
microcontroller. The research work would be limited to obstacle avoidance using robotics

The scope for an obstacle avoiding robot is broad , with applications in various fields such as
industrial automation,surveillance,and even household chores. It can be utilized for tasks like
navigating through environments,detecting obstacles using sensors, and autonomously avoiding
collisions. Aditionally , advancements in robotics and AI open up possibilities for more sophisticated
functionalities in the future.

13
1.6 Summary

* An obstacle-avoiding robot is designed to navigate its environment while avoiding obstacles .It
typically uses sensors, like ultrasonic or infrared, to detect obstacles in its path. When an obstacle is
detected, the robot adjusts its direction to avoid collisions, ensuring smooth and obstacle free
movement. This technology finds applications in various fields, including automation, robotics and
surveillance.

* Obstacle avoiding robot was designed, constructed and programmed which may be potentially used
for educational and research purposes. The developed robot will move in a particular direction once
the infrared (IR) and the PIR passive infrared (PIR) sensors sense a signal while avoiding the
obstacles in its path.

* An Obstacle Avoidance Robot is an intelligent robot, which can automatically sense and overcome
obstacles on its path. It contains of a Microcontroller to process the data, and Ultrasonic sensors to
detect the obstacles on its path.

* Obstacle avoidance is one of the most important aspects of mobile robotics. Without it robot
movement would be very restrictive and fragile. This tutorial explains obstacle avoidance using
ultrasonics sensors. This project also presents a dynamic steering algorithm which ensures that the
robot does n’t have to stop in front of an obstacle which allows robot to navigate smoothly in an
unknown environment, avoiding collisions

14
LITERATURE SURVEY

S. Title Approach Dataset Advantage Drawback


No.
1 Moravec, H. P. Terrain- Real-world Pioneering Limited details
(1977). "A Robotic following robotic terrain data work in on specific
Vehicle that vehicle with for vehicle terrain-based datasets used.
Follows Terrain.” sensor-based navigation. robotic
navigation. navigation.

2 Beard, R. W., & Real-time Simulation Effective Limited


McLain, T. W. obstacle and real- real-time discussion on
(1999). "A Real- avoidance for world maneuvering diverse
Time Obstacle autonomous scenarios around environmental
Avoidance vehicles. for obstacles. conditions.
Maneuver for an algorithm
Autonomous validation.
Vehicle."
3 Bessiere, P., Mazer, Obstacle Diverse Addresses Specifics on
E., Ahuactzin, E., avoidance in datasets challenges in dataset
Kott, D., & unknown simulating navigating composition
Terejanu, G. environments for unknown unfamiliar not explicitly
(2005). "Obstacle robots. environme terrains. mentioned.
Avoidance for nts for
Robots Operating testing.
in Unknown
Environments."
4 Calinon, S., Survey on robot Varied Comprehensi Limited depth
Guenter, F., & learning from datasets ve overview on individual
Billard, A. (2007). demonstrations. used across of learning datasets due to
"A Survey on surveyed methods. survey nature.
Robot Learning learning-
from from-
Demonstrations." demonstrat
ion studies.

15
1. Moravec (1977) "A Robotic Vehicle that Follows Terrain.”:
Terrain-following robotic vehicle with sensor-based navigation.Real-world
terrain data for vehicle navigation.Pioneering work in terrain-based robotic
navigation.Limited details on specific datasets used.

2. Beard & McLain (1999) "A Real-Time Obstacle Avoidance Maneuver for
an Autonomous Vehicle.":
Real-time obstacle avoidance for autonomous vehicles.Simulation and real-
world scenarios for algorithm validation.Effective real-time maneuvering
around obstacles.Limited discussion on diverse environmental conditions.

3. Bessiere et al. (2005) "Obstacle Avoidance for Robots Operating in


Unknown Environments." :
Obstacle avoidance in unknown environments for robots.Diverse datasets
simulating unknown environments for testing.Addresses challenges in
navigating unfamiliar terrains.Specifics on dataset composition not explicitly
mentioned.

4. Calinon et al. (2007) "A Survey on Robot Learning from


Demonstrations.":

Survey on robot learning from demonstrations.Varied datasets used across


surveyed learning-from-demonstration studies.Comprehensive overview of
learning methods. Limited depth on individual datasets due to survey nature.

2.2. Benefits of Project

Obstacle-avoiding robots offer a myriad of benefits across various sectors due to their advanced
capabilities. These robots are designed to navigate through environments by detecting and
circumventing obstacles in their path, leading to several significant advantages. The key benefits of
obstacle-avoiding robots include:

16
1. Safety Enhancement: Obstacle-avoiding robots contribute to enhanced workplace safety by
autonomously avoiding hazards and preventing potential damage to both the robot and its
surroundings. By reducing the risk of collisions and accidents in dynamic work environments, these
robots play a crucial role in ensuring the safety of both humans and equipment.
2. Efficiency Optimization: These robots offer a range of efficiency benefits by minimizing
downtime through autonomous navigation around barriers and finding the most efficient route to their
destination. Their ability to optimize work processes and reduce the risk of collisions contributes to
increased productivity and improved operational safety in diverse applications.
3. Versatile Applications: Obstacle-avoiding robots are utilized in a variety of practical
applications, including search and rescue operations, automated guided vehicles (AGVs) in
warehouses and manufacturing facilities, home cleaning robots, autonomous vehicles, agricultural
robots for field management, and even in medical applications for assisting with surgeries and patient
care. Their versatility makes them valuable across multiple industries.
4. Technological Advancements: These robots leverage advanced technologies such as ultrasonic
sensors, reactive obstacle avoidance algorithms, and machine learning to operate safely and efficiently
in dynamic and complex environments. This technological prowess enables them to interact with their
surroundings flexibly and adapt their avoidance strategies, making them suitable for diverse
applications.

17
3. EXISTING SYSTEM

3.1. Introduction

Obstacle-avoiding robot systems are designed with various features to facilitate efficient and safe
navigation in dynamic environments while preventing collisions. These systems incorporate a range
of technologies to achieve their objectives, making them ideal for applications in mobile robot
navigation systems and beyond.

Key Features of Obstacle-Avoiding Robot Systems


1. Sensor Integration
 Ultrasonic Sensors: These sensors are utilized for detecting obstacles in the robot's path, enabling it
to navigate around obstructions effectively.
 Bump Sensors: Physical contact detectors such as bump sensors are employed to enhance the
robot's ability to sense and respond to obstacles in its environment.

2. Autonomy
 Fully Autonomous Operation: Obstacle-avoiding robot systems are capable of autonomously
evading encountered obstacles and navigating towards their operational goal without human
intervention.

3. Chassis Structure
 Support for Drive Motors and Sensors: These systems incorporate chassis structures that
support both drive motors and sensors, ensuring stability and optimal functionality.

4. Advanced Obstacle Detection and Avoidance


 Autonomous Obstacle Detection: These systems are designed with advanced obstacle detection
and avoidance features, allowing them to autonomously detect obstructions in their path and steer
clear of them.

5. Navigation and Efficiency


 Efficient Navigation: The robots are designed to efficiently navigate through complex
environments, contributing to their safe and effective operation in a wide range of applications.

18
3.2. Problem Statement
Introduction

The concept of an obstacle-avoiding robot involves the use of sensors to detect obstacles in the robot's
environment and navigate around them autonomously. These robots utilize sensors such as ultrasonic,
infrared, or laser sensors to detect obstacles and adjust their path to avoid collisions, allowing them to
move through dynamic environments without human intervention.

Key Components

The key components of an obstacle-avoiding robot include:

19
 Arduino board (e.g., Uno or Nano)

 Motor driver modules (e.g., L298N or L293D)

 DC gear motors

 Wheels

 Ultrasonic sensors (e.g., HC-SR04)

 Servo motors

 Chassis Additional components such as battery holders, wires, and sensor stands are also utilized in
the construction of obstacle-avoiding robots.

Functionality

Obstacle-avoiding robots operate by using sensors to detect obstacles and then adjusting their path to
avoid collisions. This autonomous navigation allows these robots to move through dynamic
environments without human intervention, making them suitable for various applications.

Potential Applications

The potential applications of obstacle-avoiding robots include:

 Robotics competitions

 Automated guided vehicles

 Mobile robots for industrial or domestic tasks These robots are commonly employed in various
robotics and engineering applications due to their ability to navigate through dynamic environments
without user intervention.

 The study is an attempt towards developing a robotic car that would be able to detect and avoid
obstacle (bumps) in the robot’s path using a sensor to achieve the target point in an optimized manner.
With the use of an obstacle avoidance technology in the car, it will automatically alert the driver (or
even the car itself) of the obstacle ahead with a possible means of avoiding the obstacle depending on
the advancement of the technology, thus, effectively reducing the rate of mortality on the road.

4. Proposed System

4.1. Introduction

20
The obstacle-avoiding robot system is comprised of several key components, including the Arduino
Board (UNO), motor driver, ultrasonic sensor, gear motor, servo motor, 9V battery, wheels, jumper
wires, mini breadboard, and mounting brackets. In addition to these, the system also necessitates the
inclusion of the L298N motor driver module, HC-SR04 Ultrasonic Sensor, 5V DC Motors, battery,
chassis, and wires to ensure optimal functionality.

The specific technologies employed in this proposed system encompass the Arduino microcontroller
for programming and control, ultrasonic sensors for obstacle detection, infrared (IR) sensors for
proximity detection, and the L298N motor driver module for precise motor control .

Furthermore, the system may integrate passive sensing through multiple cameras, stereo vision, and
infrared cameras, alongside active sensor technologies to facilitate comprehensive obstacle detection
and avoidance. These technologies collectively ensure the safe and efficient operation of the robot in
complex and dynamic environments, empowering it to effectively detect obstacles and navigate
around them. For more comprehensive insights into this proposed system, further details can be found
in related documents from techatronic, electronicsHub, and Instructables .

4.2. Advantages

Obstacle avoiding robots have several advantages. They are able to move autonomously while
automatically detecting and avoiding obstacles, enabling them to operate safely and efficiently in

dynamic and complex environments. These robots have the ability to read directions from QR codes,
calculate quick and accurate mapping, and navigate toward a given target. Additionally, they are more

maneuverable, have better access capabilities, and can transit energy over long distances. Obstacle

21
avoiding robots can detect impediments in their path automatically and steer clear of them, reducing
the risk of collisions and damage. Overall, they offer safe navigation, energy efficiency, and reliable
obstacle evasion, enhancing their utility in various applications.

4.3. Specification of the Proposed System

The proposed obstacle-avoiding robot system is designed to autonomously detect obstacles and
navigate around them in dynamic and unstructured environments. The system encompasses key
components and methods for obstacle avoidance to ensure safe and efficient operation .

Key Components

The key components of the proposed system include an Arduino board, ultrasonic sensor,
motor driver module, servo motor, wheels, DC motors, chassis, jumper wires, and batteries.
These components are essential for enabling the robot to detect obstacles and autonomously
navigate around them.

Obstacle Detection System

The obstacle detection system in the robot works by using sensors, data structures, and algorithms to
detect objects or terrain types that impede motion. Utilizing ultrasonic sensors, LiDAR, and cameras,
the robot's perception system can detect obstacles and redirect the robot's movement away from them .

22
Methods for Obstacle Avoidance

The proposed system employs various methods for obstacle avoidance, including conventional
methods such as path planning method, navigation function method, optimal methods, as well as
reactive methods that do not require planning or mapping of the environment. Additionally, obstacle
avoidance algorithms such as the potential fields method and collision-avoidance approach are
utilized to ensure effective navigation and reaching the robot's destination.

Sensors and Actuators

The system incorporates proximity sensors, ultrasonic sensors, infrared (IR) sensors, LiDAR, and
cameras as typical sensors for detecting obstacles and ensuring safe navigation. Actuators such as
motor driver modules and servo motors are utilized to maneuver the robot and enable it to
autonomously navigate around obstacles.

Addressing Common Challenges

To address the common challenges in designing obstacle-avoiding robots, the proposed system
leverages sensors and algorithms, implements coordinated obstacle-avoidance behavior, and
incorporates reactive methods for navigating around obstacles. This ensures safe and efficient
operation in dynamic and complex environments.

In conclusion, the proposed obstacle-avoiding robot system integrates essential components, obstacle
avoidance methods, sensors, and actuators to enable effective and autonomous navigation in complex
environments, addressing the challenges associated with obstacle avoidance and navigation.

--- Considering the context of obstacle-avoiding robots, the report outlines the proposed system's key
components, obstacle detection system, methods for obstacle avoidance, sensors and actuators, and
the approach to addressing common challenges in designing such robots.

23
5. REQUIREMENT ANALYSIS
5.1. Introduction

An obstacle-avoiding robot is designed to autonomously navigate through its environment while


detecting and avoiding obstacles in its path. The successful operation of such a robot relies on a
thorough analysis of its functional and performance requirements.

2. Key Features

The obstacle-avoiding robot typically includes the following key features :

 Ultrasonic Sensors: These are used for detecting obstacles by emitting high-frequency sound
waves and analyzing the reflected waves to determine the presence of objects in the robot's path .
 Microcontroller: Responsible for processing the sensor data and making decisions to navigate
around the obstacles.
 Motor Control: Enables adjustments to the robot's direction based on the feedback received from
the sensors.

3. Obstacle Detection System

The obstacle detection system consists of sensors, including ultrasonic sensors, IR sensors, and PIR
sensors, which emit signals and measure the time for the signals to bounce back. The microcontroller

24
processes this data to determine the best course of action, while the motor control system facilitates
adjustments in the robot's direction based on the sensor feedback.

4. Methods for Obstacle Avoidance

Various methods are employed for obstacle avoidance, such as reactive methods, sensor-based
approaches, path planning, motion planning, potential fields, coordination-based obstacle avoidance,
and combinations of different techniques. These methods enable effective obstacle detection and safe
navigation in diverse environments.

5. Sensors for Obstacle Avoidance

The typical sensor used in obstacle-avoiding robots is the ultrasonic sensor. It plays a crucial role in
enabling the robot to navigate around obstacles by detecting objects in its path.

6. Common Implementation Challenges

Challenges in implementing obstacle-avoiding robots include accurate obstacle detection and distance
measurement, limitations in the field of view of sensors, efficient decision-making by the
microcontroller, optimization of robot maneuverability, sensor calibration, algorithm development for
data processing, and power management.

7. Conclusion

A comprehensive requirements analysis for an obstacle-avoiding robot encompasses the


understanding of key features, obstacle detection systems, methods for obstacle avoidance, sensor
selection, and common implementation challenges. Addressing these aspects is crucial for the
successful design and deployment of an effective obstacle-avoiding robot .

25
5.2. Feasibility Study

Obstacle-avoiding robots are designed to navigate through environments while minimizing collisions
and safely avoiding obstacles. These robots have the potential to find applications in various
industries, including manufacturing, agriculture, and military operations. However, before investing in
the development of obstacle-avoiding robots, it is essential to conduct a comprehensive feasibility
study to assess the technical requirements, economic considerations, practical challenges, existing
technologies, and potential applications of these robots.

Technical Requirements

The technical requirements for obstacle-avoiding robots include components such as Arduino, HC-
SR04 Ultrasonic Sensor, LM298N Motor Driver Module, 5V DC Motors, battery, and servo motors.
These robots must navigate in unknown environments by avoiding collisions through sensors and
algorithms. Additionally, the robot should be capable of balancing continuously for a certain duration,
and the choice of sensors and algorithms is crucial for effective obstacle avoidance.

Economic Considerations

The economic considerations for developing obstacle-avoiding robots involve minimizing the cost of
hardware systems like robots by avoiding "trial and error" training for obstacle avoidance, to save
time and resources. Affordable components such as Arduino, HC-SR04 Ultrasonic Sensor, LM298N
Motor Driver Module, and 5V DC Motors can contribute to cost-effectiveness. Implementing low-
cost solutions for obstacle avoidance, as well as efficiently managing the energy expenditure of the
robots, are crucial economic aspects to consider in the development process.

Practical Challenges

The practical challenges in implementing obstacle-avoiding robots include ensuring precision in


navigating unknown environments, guaranteeing safety and maximum autonomy, achieving real-time
obstacle avoidance, reflecting motion uncertainties for reliable obstacle avoidance, and exhibiting
anthropomorphic cooperative behavior for better human understanding. The choice of sensors and
algorithms is crucial for effective obstacle avoidance.

26
Existing Technologies for Obstacle Detection and Avoidance

The existing technologies for obstacle detection and avoidance in robotics encompass a range of
methods and sensors, including ultrasonic sensors, cameras, LiDAR, millimeter-wave radar, and
infrared cameras. Additionally, obstacle avoidance technologies can be based on global maps or
sensors, with applications of techniques like the artificial potential field (APF) method. Moreover,
these robots typically utilize modified artificial potential field (APF) methods, multi-sensor intelligent
robot technologies, and object detection and avoidance applications .

Potential Applications

The potential applications of obstacle-avoiding robots span across various industries, including
manufacturing, agriculture, military operations, and domestic chores. These robots can enhance
navigation systems in mobile robot applications, ensuring safety near machinery, performing
automated picking processes in agriculture, and assisting in various military operations.

5.3. Functional Requirements

When designing an obstacle-avoiding robot, the primary functional requirement is the ability to
navigate in an unknown environment by avoiding collisions. This entails integrating multiple sensors

to detect obstacles and ensuring the robot can find its way to move without collision. Additionally, the

robot should be capable of continuous balancing and executing commands effectively.89It is essential

27
for the robot to automatically sense and overcome obstacles on its path, making it an intelligent and

autonomous system.

5.4. Non-Functional Requirements

Obstacle-avoiding robots have specific non-functional requirements to ensure their effective


performance in navigating environments and avoiding collisions. These requirements include the
ability to detect obstacles in the robot's path without collision, navigate hazards in its environment,
and autonomous obstacle avoidance behavior. The design and implementation of sensors and
algorithms play a crucial role in fulfilling the obstacle avoidance function of a robot. Common sensors
used in obstacle-avoiding robots include ultrasonic sensors, infrared sensors, and motion sensors.
These sensors are essential for detecting impediments and maneuvering around them without
collision, while the selection of appropriate algorithms is vital for effective obstacle avoidance.

The power and energy requirements for obstacle-avoiding robots are influenced by factors such as the
robot's size, the complexity of its obstacle avoidance system, and the duration of its operation. The
power supply module needs to provide the energy required for accurate obstacle avoidance, with an
average efficiency of 99.625%. Research has also indicated that energy-minimizing path planning
methods can reduce energy consumption during operation, potentially extending battery life. It is
crucial for obstacle-avoiding robots to meet these non-functional requirements to ensure the ability to
detect obstacles, navigate hazards without collision, and operate autonomously.

Obstacle-avoiding robots handle different types of obstacles by utilizing sensors like ultrasonic,
infrared, and motion sensors, along with appropriate algorithms to detect impediments and maneuver
around them without collision. Additionally, reactive methods are commonly used for obstacle
avoidance, as they do not require planning or mapping of the environment, allowing robots to
navigate dynamically changing obstacles effectively. Moreover, obstacle-avoiding robots learn from
experience, enabling them to improve their obstacle avoidance over time .

28
5.5. Hardware and Software Requirements

Hardware Requirements

The hardware requirements for an obstacle-avoiding robot typically include an Arduino board (such
as NANO or Uno), an ultrasonic sensor (HC-SR04), a motor driver module (such as LM298N), DC
motors, a servo motor (like Tower Pro SG90), and a battery to power the system. Additionally, wheels
are essential for mobility and control of the robot. These components are essential for building and
controlling the robot to enable it to detect and avoid obstacles effectively .

Software Requirements

The key software requirements for an obstacle-avoiding robot include programming for controlling
the Arduino board, interfacing with the ultrasonic sensor and servo motor, and implementing the
obstacle detection and avoidance algorithm. Additionally, the software should enable communication
between the various hardware components to ensure effective functioning of the robot.

29
In summary, the successful creation of an obstacle-avoiding robot relies heavily on the effective
integration of both the hardware and software components. Both are crucial in ensuring the robot's
capability to detect and navigate around obstacles.

6. PLAN FOR IMPLEMENTATION

The hardware components required for an obstacle-avoiding robot include:

 Arduino board (e.g., NANO or Uno)

 Ultrasonic sensor

 Motor driver module (e.g., LM298N or L293D)

 5V DC motors

 Servo motor (e.g., Tower Pro SG90)

 Car chassis

 Wheels

 Battery

Software Components

The software components needed for implementing an obstacle-avoiding robot include:

30
 Arduino to process the data

 Programming with C/C++ using the Arduino IDE

 Codes and algorithms to control the motor driver module

 Processing data from the ultrasonic sensors

 Algorithm for obstacle avoidance to enable the robot to process sensor data and make decisions to
change direction and avoid obstacles

Suitable Sensors

Suitable sensors for obstacle detection and avoidance include:

 Infrared (IR) sensors

 Ultrasonic sensors

 Laser rangefinder

 Lidar sensors These sensors use methods such as measuring distance using infrared light, emitting
sound waves and detecting their reflections, and using laser or light to measure distances. They are
commonly used in obstacle detection systems for robots and drones.

Algorithms for Obstacle Avoidance

Commonly used algorithms for obstacle avoidance in robotics include:

 Bug1 algorithm

 A* algorithm

 Dijkstra's algorithm

 Artificial potential field

 Probabilistic roadmap

 Cell decomposition

 Rapidly-exploring Random Trees (RRT) These algorithms enable robots to navigate complex
environments, process sensor data, and make decisions to avoid collisions with obstacles .

31
Testing Procedures

For testing and evaluating the obstacle-avoiding robot's system, the following methods are
recommended:

 Test courses and obstacle generators

 Delineating between obstacles and objects

 Using ultrasonic sensors and visual information to aid obstacle avoidance These methods ensure
rigorous testing and evaluation of the robot's obstacle avoidance capabilities.

32
7. Methodology

BUG ALGORITHMS
The most basic form of Bug algorithm (Bug 1) is as follows:

1. The robot moves towards the goal until an obstacle is


encountered.
2. Follow a canonical direction (clockwise) until the robot reaches the
location of initial encounter with the obstacle (in short, walking
around the obstacle).
3. The robot then follows the obstacle's boundary to reach the point
on the boundary that is closest to the goal.
4. Go back to step 1. Repeat this until the goal is reached.

33
BUG2 ALGORITHMS

The Bug2 algorithm is a motion planning algorithm used by robots to navigate


through an environment with unknown, non-convex obstacles. It makes
several basic assumptions:
 The robot is treated as a point in a 2D world.
 The obstacles (if any) are unknown and non-convex.
 There are clearly defined starting and goal points.
 The robot can detect the obstacle boundary from a known distance.
 The robot always knows the direction and Euclidean distance to the goal.

How the Bug2 Algorithm Works


The Bug2 algorithm works as follows:
 The robot moves towards the goal along the line of sight (called the m-line).
 If an obstacle is encountered, the robot follows the obstacle's boundary in a
canonical direction (e.g., clockwise) until it reaches the point on the boundary
that is closest to the goal.
 The robot then returns to the m-line and continues moving towards the goal.
 This process is repeated until the goal is reached.

Performance of Bug2 Algorithm


The worst-case performance of the Bug2 algorithm is given by the following
formula:
𝐿=𝑑+∑𝑖=1𝑁𝑛𝑖
Where:
 𝐿 is the total distance traveled by the robot
 𝑑 is the Euclidean distance from the initial position to the goal position
 𝑛𝑖 is the number of times the 𝑖𝑡ℎ obstacle crosses the line segment between
the initial position and goal position
 𝑁 is the number of obstacles
This formula suggests that the total distance traveled by the robot is the sum
of the Euclidean distance to the goal and the number of times the robot has to
deviate from the line of sight due to obstacles.

34
THE POTENTIAL FIELD ALGORITHM

Artificial potential field (APF) is the effective realtime guide,


navigation, and obstacle avoidance for UAV Quadrotor. The main
problem in APF is local minima in an obstacle or multiple obstacles. In
this paper, some modifications and improvements of APF will be
introduced to solve oneobstacle local minima, two-obstacle local
minima, Goal Not Reachable Near Obstacle (GNRON) and dynamic
obstacle. The result shows that the improved APF gave the best result
because it made the system reach the goal position in all of the
examinations. Meanwhile, the APF with virtual force has the fastest
time to reach the goal; however, it still has a problem in GNRON. It

35
can be concluded that the APF needs to be modified in its algorithm
to pass all of the local minima problems.

VECTOR FIELD HISTOGRAM (VFH) ALGORITHM

The Vector Field Histogram was developed with aims of being


computationally efficient, robust, and insensitive to misreadings. In
practice, the VFH algorithm has proven to be fast and reliable, especially
when traversing densely-populated obstacle courses.
At the center of the VFH algorithm is the use of statistical representation
of obstacles, through histogram grids (see also occupancy grid). Such
representation is well suited for inaccurate sensor data, and
accommodates fusion of multiple sensor readings.
The VFH algorithm contains three major components:

1. Cartesian histogram grid: a two-dimensional Cartesian histogram


grid is constructed with the robot's range sensors, such as
a sonar or a laser rangefinder. The grid is continuously updated in
real time.
2. Polar histogram: a one-dimensional polar histogram is constructed
by reducing the Cartesian histogram around the momentary
location of the robot.
3. Candidate valley: consecutive sectors with a polar obstacle density
below threshold, known as candidate valleys, is selected based on
the proximity to the target direction.
Once the center of the selected candidate direction is determined,
orientation of the robot is steered to match. The speed of the robot is
reduced when approaching obstacles head-on.

36
DATASET DESCRIPTION

Path planning is an important research direction in the field


of mobile robots, which has become a powerful promoter in
the era of digital economy. Path planning is the most
important research field of mobile robots.

37
MODULE IMPLEMENTATION

CODE:-

//please subscribe our youtube channel for more projects


https://www.youtube.com/c/Technicalromboz

#include <NewPing.h> //Ultrasonic sensor function library. You must


install this library

#include <Servo.h> //Servo motor library. This is standard library

const int LeftMotorForward = 2;

const int LeftMotorBackward = 3;

const int RightMotorForward = 4;

const int RightMotorBackward = 5;

//sensor pins

#define trig_pin A1 //analog input 1

#define echo_pin A2 //analog input 2

#define maximum_distance 200

boolean goesForward = false;

38
int distance = 100;

NewPing sonar(trig_pin, echo_pin, maximum_distance); //sensor function

Servo servo_motor; //our servo name

void setup(){

pinMode(RightMotorForward, OUTPUT);

pinMode(LeftMotorForward, OUTPUT);

pinMode(LeftMotorBackward, OUTPUT);

pinMode(RightMotorBackward, OUTPUT);

servo_motor.attach(8); //our servo pin

servo_motor.write(115);

delay(2000);

distance = readPing();

delay(100);

distance = readPing();

delay(100);

distance = readPing();

39
delay(100);

distance = readPing();

delay(100);

void loop(){

int distanceRight = 0;

int distanceLeft = 0;

delay(50);

if (distance <= 20){

moveStop();

delay(300);

moveBackward();

delay(400);

moveStop();

delay(300);

distanceRight = lookRight();

delay(300);

distanceLeft = lookLeft();

delay(300);

40
if (distance >= distanceLeft){

turnRight();

moveStop();

else{

turnLeft();

moveStop();

else{

moveForward();

distance = readPing();

int lookRight(){

servo_motor.write(50);

delay(500);

int distance = readPing();

delay(100);

servo_motor.write(115);

41
return distance;

int lookLeft(){

servo_motor.write(170);

delay(500);

int distance = readPing();

delay(100);

servo_motor.write(115);

return distance;

delay(100);

int readPing(){

delay(70);

int cm = sonar.ping_cm();

if (cm==0){

cm=250;

return cm;

42
void moveStop(){

digitalWrite(RightMotorForward, LOW);

digitalWrite(LeftMotorForward, LOW);

digitalWrite(RightMotorBackward, LOW);

digitalWrite(LeftMotorBackward, LOW);

void moveForward(){

if(!goesForward){

goesForward=true;

digitalWrite(LeftMotorForward, HIGH);

digitalWrite(RightMotorForward, HIGH);

digitalWrite(LeftMotorBackward, LOW);

digitalWrite(RightMotorBackward, LOW);

43
void moveBackward(){

goesForward=false;

digitalWrite(LeftMotorBackward, HIGH);

digitalWrite(RightMotorBackward, HIGH);

digitalWrite(LeftMotorForward, LOW);

digitalWrite(RightMotorForward, LOW);

void turnRight(){

digitalWrite(LeftMotorForward, HIGH);

digitalWrite(RightMotorBackward, HIGH);

digitalWrite(LeftMotorBackward, LOW);

digitalWrite(RightMotorForward, LOW);

delay(500);

44
digitalWrite(LeftMotorForward, HIGH);

digitalWrite(RightMotorForward, HIGH);

digitalWrite(LeftMotorBackward, LOW);

digitalWrite(RightMotorBackward, LOW);

void turnLeft(){

digitalWrite(LeftMotorBackward, HIGH);

digitalWrite(RightMotorForward, HIGH);

digitalWrite(LeftMotorForward, LOW);

digitalWrite(RightMotorBackward, LOW);

delay(500);

digitalWrite(LeftMotorForward, HIGH);

digitalWrite(RightMotorForward, HIGH);

45
digitalWrite(LeftMotorBackward, LOW);

digitalWrite(RightMotorBackward, LOW);

RESULTS WITH COMPARATIVE METHODS

Several studies have compared the performance of different


obstacle avoidance algorithms and strategies. For example,
one paper proposed a hybrid approach combining the RRT
algorithm and a pre-trained YOLOv7 object detection model,
which demonstrated high-level obstacle avoidance capability in
complex, dynamic environments. Another study developed an
obstacle avoidance system for an autonomous navigational
robotic vehicle based on an intelligent sensor network and
fuzzy logic control, which mimics human decision-making
processes.

8. CONCLUSION & FUTURE WORK

46
Obstacle-avoiding robots are undoubtedly at the forefront of automation and intelligent robotics, with
a primary focus on navigating unknown environments while autonomously making real-time
decisions to avoid collisions. These robots are equipped with features such as automatic obstacle
detection, advanced sensors, and microcontroller technologies, enabling them to detect impediments
and navigate smoothly.

The key features of obstacle-avoiding robots include automatic obstacle detection, autonomous
decision making to avoid collisions, and the ability to navigate in unknown environments. To achieve
this, they utilize a variety of sensors such as infrared sensors for obstacle detection, ultrasonic sensors
for both obstacle detection and avoidance, as well as more advanced tools like LiDAR and cameras
for enhanced navigation capabilities.

Despite their advancements, obstacle-avoiding robots face certain challenges and limitations,
particularly in navigating unpredictable environments and dealing with moving obstacles, particularly
humans. The current limitations of sensors and the need to avoid collisions with fixed obstacles
present further challenges in developing these robots.

Looking ahead, the future for obstacle-avoiding robot technology seems promising. Potential
advancements lie in the integration of advanced AI algorithms for more efficient path planning and
real-time adjustments, as well as the use of fog-based edge AI for augmenting robotic systems.
Furthermore, continuous developments in obstacle detection sensors and machine learning algorithms
are anticipated to further enhance the capabilities of obstacle-avoiding robots.

In conclusion, obstacle-avoiding robot technology continues to evolve, driven by the possibilities


offered by advanced sensors, AI algorithms, and machine learning.

9. REFERENCES:

1. Moravec, H. P. (1977). "A Robotic Vehicle that Follows Terrain." Stanford


Artificial Intelligence Project Memo AIM-239, Stanford University.

2. Beard, R. W., & McLain, T. W. (1999). "A Real-Time Obstacle Avoidance


Maneuver for an Autonomous Vehicle." IEEE Transactions on Robotics and
Automation.
47
3. Bessiere, P., Mazer, E., Ahuactzin, E., Kott, D., & Terejanu, G. (2005).
"Obstacle Avoidance for Robots Operating in Unknown Environments."
Robotics and Autonomous Systems.

4. Calinon, S., Guenter, F., & Billard, A. (2007). "A Survey on Robot Learning
from Demonstrations." Robotics and Autonomous Systems.

48

You might also like