Robot Report Updated
Robot Report Updated
Robot Report Updated
Submitted to
RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA, BHOPAL (M.P.)
Submitted By:
LNCT-E STUDENTS
To keep valuing human values and transparency while nurturing the young
engineers.
PEO1: Recognize and apply appropriate experimental and scientific skills to solve real
world problems to create innovative products and systems in the field of electronics and
communication engineering.
PEO2: To evolve graduates with ability to apply, analyze, design in Electronics &
Communication Systems.
PEO3: Motivate graduates to become responsible citizens with moral & ethical values for
the welfare of Society.
PEO4: Inculcate the habit of team work with professional quality of leadership to become
successful contributors in industry and/ or entrepreneurship in view of Global & National
status of technology.
CERTIFICATE
………………..
Dr. Abhinav Bhargava
(Project Guide)
Approved by
………………….
(Dr. Abhinav Bhargava)
(Head of the department)
CERTIFICATE OF APPROVAL
Approved by
……………..
Dr. Abhinav Bhargava
(Head of the department)
DECLARATION
ACKNOWLEDGEMENT
Words shall never be able to pierce through the Gamut's of emotions that
are Suddenly exposed during the routine of our college life. We would
like to thank, Abhinav Bhargava Sir, Project Guide and Project In-
charge of Electronics and Communication Engineering, for his well-
wishes and also to provide his kind support and valuable knowledge on
the subject from time to time.
Table of Contents
1. Obstacle Avoiding Smartcar using Arduino and Ultrasonic Sensors ...........................
2. Abstract
3. Introduction
4. Components Used
5. Features of the components used
6. Arduino Uno Microcontroller
7. Ultrasonic Sensor
8. Testing the components
9. Shields
10. Motor Shield
11. Procedure
11.1 Getting the hardware ready
11.2 Getting the software ready
11.3 Writing the code
11.4 For this particular code
12. Schematic
13. Working
14. Applications
15. Further implementations
15.1 Flowchart
16. Project Contributions
17. Expectations and application
18. Shortcomings and limitations
19. Conclusion and future scope
20. Literature survey
21. Impact on society
22. Environment and sustainability
23. Cost Analysis
24. Reference
Department Of Electronics And Communication Engineering
OBSTACLE AVOIDING ROBOT CAR
This research discusses an ultrasonic sensor-controlled robot vehicle that can avoid obstacle
s. The robot is constructed with an ultrasonic sensor, and an Arduino microcontroller is use
d to operate it. Ultrasonic sensor mounted on the robot vehicle\'s front end. Through sensor
s that are attached on the robot, the sensor receives data from its surroundings. The sensor d
etects the obstruction and changes its course to choose a path devoid of obstacles. The sens
or will be send the data to the controller is compared with controller to decide the movemen
t of the robot Wheel. The robot wheel\'s movement and direction will depend on the wheel
encoder and an ultrasonic sensor for sensing. This vehicle is employed for obstacle detectio
n and collision avoidance. We have programmed the controller to be used with ARDUINO
SOFTWARE
The goal of the project is to create a robotic vehicle that can avoid obstacles by employing
ultrasonic sensors to guide it. In order to carry out the requested operation, an Arduino Uno
is used. A machine that can complete tasks autonomously is a robot. Robotics is generally a
combination of computational intelligence and physical machines (motors).Computational i
ntelligence involves the programmed instructions. The idea suggests creating a robotic vehi
cle with built-in intelligence that can self-direct when an obstacle is in its path. An Arduino
Uno is used to construct this robotic car. Any obstruction in front of it is detected by an ultr
asonic sensor, which then instructs the Arduino. Robotics is a rapidly expanding and fascin
ating field today. Robots are intelligent enough to occupy the most space possible. Robots t
hat are autonomous and intelligent can do desired tasks in unstructured conditions without c
onstant human supervision. The fundamental requirement for this autonomous robot is obst
acle detection. Through mounted sensors, the robot gathers information about its surroundi
ngs.
2.Abstract
Trajectory planning is one of the most important pivotal point in pick and placetasks done
by robotic manipulators. In this work, we have presented a robot, which is compact,
autonomous and fully functional.
This robot or a smartcar is built to sense any obstacle in its path, to avoid it andresume its
running involving the pre-computation of an obstacle free path.
Ultrasonic sensors were adapted to implement a real-time obstacle avoidance system for
wheeled robots, so that the robot can continually detect surroundings, avoid obstacles, and
move toward the target area.
This model has tremendous applications in vacuum cleaners, avoiding concealedpaths,
parking systems, assembling automobiles and in chemical industries, in scientific
exploration, emergency rescue and in other isolated environments.
We use an Arduino UNO with a Motor Shield along with Stepper Motors to make the
car, and for sensing we incorporate an Ultrasonic Sensor which accurately andefficiently
detects any obstacles in the smart car’s path. The Arduino is coded such that the smartcar
moves backward when an obstacle arises in front of it witha maximum limit of 50cms in
ideal testing conditions.
Throughout the construction of this model, we educated ourselves to the Arduinocoding
language, the Motor Shield functionality, and comprehensively, with the working of an
ultrasonic sensor and its features.
In conclusion, through this project, we aim to construct a model of a smartcar that is
beneficial to the quotidian problems of the present generation.
3.Introduction
Problems addressed
o Need for a robot that can perform trajectory planning effectively
o Need for a system which can detect obstacles and move in a pre-computedpath
o Need for the detection of obstacles that appear suddenly
o Need to minimize human risk regarding the upper limit of a human eye
o Need to assist the physically handicapped by incorporating cutting edge
technologies in wheelchairs
o Need to address the need for upgrade from inaccurate sensors like CCD
cameras, CMOS image sensors, laser light pens, global positioning systems, and
so on
o Need for advanced mapping devices during exploration of unknown
environments such as interplanetary exploration
Solutions offered
4.Components Used
An Arduino is an open-source
microcontroller development
board. The most common version of
Arduino is the Arduino Uno. It is
relatively cheap, plugs straight into a
computer's USB port, and it is simple to
setup and use when compared to other
development boards.
Fig 6.1
7. Ultrasonic Sensor
The limitations of an ultrasonic sensor is some objects might not be detected it which are
shaped or positioned in such a way that the sound wave bounces off the object, but are
deflected away from the sensor.
It is also possible for the object to be too small to reflect enough of the sound wave
back to the sensor to be detected.
Objects can absorb the sound wave all together (cloth, carpeting, etc), which means that
there is no way for the sensor to detect them accurately.
These are important factors to consider when designing and programming a robotusing
an ultrasonic sensor
The Arduino has two different types of input pins, those being analog and digital. We
will focus on the Digital Input Pins.
To check the working of our ultrasonic sensor
o The serial monitor allows the computer to connect serially with the Arduino.
o It takes data that the Arduino is receiving from sensors and other devices and
displays it in real-time on the computer
o Having this ability is invaluable to debug the code and understand what
number values the chip is actually receiving.
o Navigate to File --> Examples --> 1.Basics --> AnalogReadSerial
o Click the button to engage the serial monitor which looks like a magnifying
glass. We can now see the numbers being read by the analog pin in the
serial monitor. When we turn the knob the numbers will increase and
decrease.
The numbers will be between the range of 0 and 1023. The reason for this is that the
analog pin is converting a voltage between 0 and 5V to a discreet number.
Digital inputs may be used as the basis for countless digital communication
protocols.
o By creating a 5V (HIGH) pulse or 0V (LOW) pulse, we can create a binary
signal, the basis of all computing.
o This is useful for talking to digital sensors like a PING ultrasonic sensor, or
communicating with other devices.
o For a simple example of a digital input in use, connect a switch from digital pin
2 to 5V, a 10K resistor from digital pin 2 to ground, and run the following code:
9. Shields
o Shields are the expansion adapter boards that plug in over top of the Arduino
Uno and gives it special functions.
o Since the Arduino is open hardware, anyone who has the inclination is free to
make an Arduino shield for whatever task they wish to accomplish.
o Hence, there are countless number of Arduino shields available, out of which
the official ones are -
o Wireless SD Shield
o Ethernet Shield
o Motor Shield
11. Procedure
11.1 Getting the hardware ready
o Switch it on and off and then look in to making the LED on the left of
Arduino with the letter L next to it blink on and off for 2 seconds at a time.
o The Arduino Uno requires a male USB A to male USB B cable. Plug the
USB cable in to the Arduino and your computer, the LED will start blinking. It
is the default program stored on the chip
o The USB cable powers the device. Arduinos can also run standalone by
using a power supply in the bottom left of the board.
o Once programming is done it does not require to be constantly connected to a
machine we can opt to power it separately. This is entirely dependant on the use
case and circumstances we want to use the device in.
o Tools - Boards
o Select Arduino Uno.
o To set the serial port, go to the following:
1. First, we open the Arduino UNO App and type the following code.
The Arduino Sketch should look like this:
<pre>void setup() {
void loop() {
2. Next, we put a header on the code, so other people know about what we are
making, why, and under what terms:
<pre>/*
*/
void setup() {
Department Of Electronics And Communication Engineering
// put your setup code here, to run once:
OBSTACLE AVOIDING ROBOT CAR
3. Then, we define the pin names, and establish variables, and write the code
<pre>/*
#include <ServoMotor.h>
AF_DCMotor right_motor(1,MOTOR12_8KHZ);
AF_DCMotor left_motor(2,MOTOR12_8KHZ);
String readString;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
right_motor.setSpeed(250);
left_motor.setSpeed(250);
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.41;
Serial.println(distance);
if (distance<30){
right_motor.run (BACKWARD);
left_motor.run (FORWARD);delay(500);
else{
right_motor.run (FORWARD);
left_motor.run (BACKWARD);
delay(500);
13. Working
Fig 13.1
14. Applications
o This technique can also be used as a vision belt for blind people by
changing the ultrasonic sensor by a kinetic sensor ,which is a type of
microwave sensor whose sensing range is very high and the output of this
sensor vary in according to the object position changes. This technique
enables blind people to navigate obstacles easily by placing three vibratos
in left, right and the centre of a belt named as Vision Belt.
o On top of obstacle avoiding robot temperature/ pressure sensors can be added
to monitor the atmospheric conditions around. This is useful in places where
the environment is not suitable for humans. Same technology can be used in
various applications by modifying the programfor example Line / Path finder
Robot , automatic vacuum cleaner etc.
15.1 Flowchart
Coding Members
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
This project developed an obstacle avoiding robot to detect and avoid obstacles in its path.
The robot is built on the Arduino platform for data processing and its software counterpart
helped to communicate with the robot to send parameters for guiding movement.
For obstacle detection, three ultrasonic distance sensors were used that provided a wider
field of detection. The robot is fully autonomous and after the initial loading of the code, it
requires no user intervention during its operation. When placed in unknown environment
with obstacles, it moved while avoiding all obstacles with considerable accuracy. In order
to optimize the movement of the robot, we have many considerations for improvement.
However, most of these ideas will cost more money and time as well. In future cameras can
be used to detect the obstacle however, it is better to get CCD or industrial use ones to get
clear and fast pictures. Even the ones we mentioned in the camera holder part will be better
because of the special software.
Obstacle avoidance bot using arduino has been designed and developed by Aamir attar,
Aadilansari, Abhishekdesai, Shahid khan, Dipashrisonawale to create an autonomous robot
which intelligently detects the obstacle in its path and navigates according to the actions
that user set for it. So this system provides an alternate way to the existing system by
replacing skilled labor with robotic machinery, which in turn can handle more patients in
less time with better accuracy and a lower per capita cost.
Obstacle-avoiding robot with IR and PIR motion Sensors has been designed and developed
by Aniket D. Adhvaryu et al has proposed that developed robot platform was not designed
for specific task but as a general wheeled autonomous platform. It can therefore be used for
educational, research or industrial implementation. Students can use it to learn the
microcontroller programming using C++, Arduino Uno 1.6.5 compiler, IR and PIR sensors
characteristics, motor driving circuit and signal condition circuit design.
Research on obstacle avoidance robot at the polytechnic level can help students to develop
communication, technical skills and teamwork. The design of such robot is very flexible
and various methods can be adapted for another implementation. It shows that PIR sensors
are more sensitive compared to IR sensors while detecting human being.
Obstacle Avoidance Robotic Vehicle Using Ultrasonic Sensor, Android and Bluetooth for
Obstacle Detection has been designed and developed by Vaghela et.al has mentioned that
enormous amount of work has been done on wireless gesture controlling of robots. Various
methodologies have been analyzed and reviewed with their merits and demerits under
various operational and functional strategies. Features like user friendly interface, light
weight and portability of android OS based smart phone has overtaken the sophistication of
technologies like programmable glove, static cameras etc., making them obsolete.
ANNEXURE I
To ensure both the physical and mental safety of humans during human-robot
interaction (HRI), a rich body of literature has been accumulated, and the notion
of socially acceptable robot behaviors has arisen. To be specific, it requires the
motion of robots not only to be physically collision-free but also to consider and
respect the social conventions developed and enforced in the human social
contexts.
Among these social conventions, personal space, or proxemics, is one of the
most commonly considered in the robot behavioral design. Nevertheless, most
previous research efforts assumed that robots could generate human-like
motions by merely mimicking a human. Rarely are the robot’s behavioral
algorithms assessed and verified by human participants.
Therefore, to fill the research gap, a Turing-like simulation test, which contains
the interaction of two agents (each agent could be a human or a robot) in a
shared space was conducted. Participants (33 in total) were asked to identify
and label the category of those agents followed by questionnaires.
Results revealed that people who had different attitudes and prior expectations
of appropriate robot behaviors responded to the algorithm differently, and their
identification accuracy varied significantly. In general, by considering personal
space in the robot obstacle avoidance algorithm, robots could demonstrate more
humanlike motion behaviors which are confirmed by human experiments.
ANNEXURE II
24. Reference