Self Obstacle Avoiding Rover
Contents
1) Introduction.
2) Obstacle View.
3) Equipment's.
4) Block Diagram.
5) Circuit Diagram.
6) Implementation of Obstacle Avoiding.
7) Working.
8) Advantages.
9) Applications.
10) Conclusion.
11) References.
12) Acknowledgement.
Introduction
 Robotics is a part of Todays communication. In
today’s world ROBOTICS is fast growing and
interesting field.
 Robotic field and design something which will
make human life simpler in day today aspect. Thus
we are supporting this cause.
 An obstacle avoiding robot is an intelligent
device, which can automatically sense and
overcome obstacles on its path.
Obstacle View
 What is Obstacle Avoidance?
Obstacle Avoidance is a robotic discipline with the objective of moving vehicles on
the basis of the sensorial information.
A path, describing the purpose of this robot
Equipment's
 Arduino UNO
 Ultrasonic Sensor
 Ultrasonic Distance Measurement
 Motor Shield Controller
 DC & Servo motor
 Relays
 Battery Pack
 Programming & Software
Arduino UNO
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 compiles or upload” feature. Hence
it is designed in way that one can use it without
necessarily being an expert programmer (Kushner
1987).
The first Arduino was introduced in 2005, aiming to
provide a low cost, easy way for novices and
professionals to create devices that interact with
their environment using sensors and actuators.
Common examples of such devices intended for
beginner hobbyists include simple robots,
thermostats, and motion detectors.
Types of Arduino
There are many types of Arduino as shown in figure 3 below like:
 Arduino Diecimila in Stoicheia
 Arduino Duemilanove (rev 2009b)
 Arduino UNO
 Arduino Leonardo
 Arduino Mega
 Arduino MEGA 2560 R3 (front side)
 Arduino MEGA 2560 R3 (back side)
 Arduino Nano
 Arduino Due (ARM Cortex-M3 core)
 Lily Pad Arduino (rev 2007)
 Arduino Yun
Ultrasonic Sensor
• Small low-cost ultrasonic distance measurement modules like SRF-
06 are an effective way to sense the presence of nearby objects and
the distance to them. Often Robots use these to sense objects or
collisions and take appropriate action.
• They have two transducers, basically a speaker and a microphone.
Ultrasound is a high frequency sound (typically 40 KHz is used). A
short burst of sound waves (often only 8 cycles) is sent out the
“Transmit" transducer (left, above). Then the "Receive" transducer
listens for an echo. Thus, the principle of ultrasonic distance
measurement is the same as with Radio-based radar. Speed of sound
in air velocity is affected by the air density, and for high accuracy the
temperature must be taken into account, either within the module
electronics.
How Ultrasonic Sensor Works
The module in our example shown in figure 4 below has 4 pins:
1. VCC Operating voltage: 5.0V
2. Trig the transmit signal pin
3. Echo the received echo pin
4. Gnd Ground.
It emits an ultrasound at 40 000 Hz which travels through the air as
shown in figure 5 and if there is an object or obstacle on its path It will
bounce back to the module. Considering the travel time and the speed of
the sound you can calculate the distance.
The HC-SR04 Ultrasonic Module has 4 pins, Ground, VCC, Trig and
Echo. The Ground and the VCC pins of the module needs to be
connected to the Ground and the 5 volts pins on the Arduino Board
respectively and the trig and echo pins to any Digital I/O pin on the
Arduino Board. In order to generate the ultrasound, you need to set the
Trig on a High State for 10 is. That will send out an 8-cycle sonic burst
which will travel at the speed sound and it will be received in the Echo
pin. The Echo pin will output the time in microseconds the sound wave
traveled.
For example, if the object is 10 cm
away from the sensor, and the speed
of the sound is 340 m/s or 0.034
cm/μs the sound wave will need to
travel about 294 u seconds as shown
in figure 7. But what you will get
from the Echo pin will be double that
number because the sound wave
needs to travel forward and bounce
backward. So, in order to get the
distance in cm we need to multiply
the received travel time value from
the echo pin by 0.034 and divide it
by 2.
Motor Microcontroller
The Motor Driver is a module for motors that allows you to control the working speed and direction of
two motors simultaneously .
DC & Servo Motors
• A DC motor has a two-wire connection. All drive
power is supplied over these two wires think of a light
bulb. When you turn on a DC motor, it just starts
spinning round and round. Most DC motors are
pretty fast, about 5000 RPM.
• A servomotor is a rotary actuator or linear actuator
that allows for precise control of angular or linear
position, velocity and acceleration. It consists of a
suitable motor coupled to a sensor for position
feedback. It also requires a relatively sophisticated
controller, often a dedicated module designed
specifically for use with servomotors.
The function of the servo is to receive a
control signal that represents a desired
output position of the servo shaft, and
apply power to its DC motor until its
shaft turns to that position. It uses the
position-sensing device to determine the
rotational position of the shaft, so it
knows which way the motor must turn to
move the shaft to the commanded
position. The shaft typically does not
rotate freely round and round like a DC
motor, but rather can only turn 200
degrees or so back and forth. The servo
has a 3-wire connection: power, ground,
and control. The power source must be
constantly applied; the servo has its own
drive electronics that draw current from
the power lead to drive the motor.
Relays
A relay is an electrically operated switch.
Many relays use an electromagnet to
mechanically operate a switch, but other
operating principles are also used, such as
solid-state relays. Relays are used where it
is necessary to control a circuit by a low-
power signal (with complete electrical
isolation between control and controlled
circuits), or where several circuits must be
controlled by one signal. The first relays
were used in long distance telegraph
circuits as amplifiers: they repeated the
signal coming in from one circuit and re-
transmitted it on another circuit.
Block Diagram
Ultrasonic
Sensor
Arduino
UNO
Motor
Controller
Motor
Battery
Pack
Arduino Board
Implementation of Obstacle Avoiding.
While the car moving forward, the ultra-sonic sensor
on the car measure the distance from nearest obstacle.
When this distance become less than 50 Cm, the car
stops and move backward for 5 minutes and the servo
motor also move along 0,45,135,180 degrees and the
ultra-sonic sensor measure the largest distance and
turns the car through the direction of this angle and
move forward and then the overall process returned.
The proposal hardware consists from the
following:
1) Uno Arduino Board: The Arduino board is used to
receive the Ultra-Sonic signal and give a suitable order to
relays that control four push-buttons that are used to
control the double motors of the car that turns the car to
the suitable direction.
2) The car with two motors: The small car with two DC
motors is used to do this proposed system.
3) Ultra-Sonic Sensor: The Ultra-Sonic sensor is used in
this proposal to measure the distance from any obstacle in
order to take the decision to stop the car and move it
backward then turn the car left or right according to the
sensor reading.
4) Four Relays Board: In order to turn the double DC car
motors forward, backward, left or right according to the
Arduino order due to the Ultra-Sonic sensor reading, four
relays are used in this proposal.
5) Transceiver Remote Control Board: The
remote-control transceiver with antenna is used in order
to send the orders wireless between the relays and the car.
6) Servo-Motor: The motor is connected properly.
Programming & Software
The Used Arduino need Arduino C language to program the proposed system,
therefore; Appendix in the following shows the used Arduino C code which is
shown below:
The code uses three libraries. Two of them must be downloaded in order
for the program to compile. The first one is the motor shield driver from
Adafruit. The second library is the NewPing library for the supersonic
distance sensor.
The first thing we do in the code is to include the libraries that have been
downloaded into the code.
Ø Motor Shield Library
Ø New Ping Library
Ø Servo Motor Library
#include <AFMotor.h>
#include <NewPing.h>
#include <Servo.h>
Next, we declare the pins to which or
ultrasonic sensor is connected to, and some
variables which will be used to store info as
the code runs then we set the speed of the
motors. We can set the motors speed in any
value up to 255.
#define TRIG_PIN A4 // Arduino pin tied to trigger pin on
the ultrasonic sensor.
#define ECHO_PIN A5 // Arduino pin tied to echo pin on
the ultrasonic sensor.
#define MAX_DISTANCE 200 // Maximum distance we
want to ping for (in
centimeters). Maximum sensor distance is rated at
250cm.
#define MAX_SPEED 200 // sets speed of DC motors
#define MAX_SPEED_OFFSET 20
Next, we Initialize the servo motor by creating an
object of the servo library. We Also initialize the
Motors to which the wheels are connected using the
AF library.
AF_DCMotor motor1(1, MOTOR12_1KHZ);
AF_DCMotor motor2(3, MOTOR12_1KHZ);
Servo myservo;
We then move into the void setup () function where
we initialize the servo motor and we set it to “look”
straight. In my c ase, this was at 115 degrees angle.
Next, we read the distance a few times in order to
get a valid distance measurement as shown
void setup()
{
myservo.attach(9); // Attaches the servo on
pin 9 to servo object.
myservo.write(115);
delay(2000); // Wait for 2s.
distance = readPing(); // Get Ping
Distance.
delay(100); // Wait for 100ms.
distance = readPing();
delay(100);
distance = readPing();
delay(100);
distance = readPing();
delay(100);
}
Now we go to the loop function which executes
every 40 Ms. If the distance we measured is
less than or equal to 15 cm, we stop the
motors, reverse for 300ms, stop, look right and
left and measure the distance in each direction.
If the distance in one direction is greater than
the other, we turn the robot to the direction with
the farthest/greatest distance and instruct it to
move forward as shown.
void loop() {
int distanceR = 0;
int distanceL = 0;
delay(40);
if(distance<=15)
{
moveStop();
delay(100);
moveBackward();
delay(300);
moveStop();
delay(200);
distanceR = lookRight();
delay(200);
distanceL = lookLeft();
delay(200);
if(distanceR>=distanceL)
{
turnRight();
moveStop();
}else
{
turnLeft();
moveStop();
}
}else
{
moveForward();
}
distance = readPing();
}
Servo System Code
int lookLeft() // Look Left Function for Servo
Motor.
{
myservo.write(170);
delay(500);
int distance = readPing();
delay(100);
myservo.write(115);
return distance;
delay(100);
}
int lookRight() // Look Right Function for Servo Motor.
{
myservo.write(50);
delay(500);
int distance = readPing();
delay(100);
myservo.write(115);
return distance;
}
int readPing() // Read Ping Function for Ultrasonic Sensor.
{
delay(70); // Wait 70ms between pings (about 20
pings/sec).
int cm = sonar.ping_cm(); //Send ping, get ping distance in
centimeters
(cm).
if(cm==0)
{
cm = 250;
}
return cm;
}
Sensor System Code
Driving system Code
void moveStop() // Move Stop Function for Motor Driver.
{
motor1.run(RELEASE);
motor2.run(RELEASE);
}
void moveForward() // Move Forward Function for Motor
Driver.
{
if(!goesForward)
{
goesForward=true;
motor1.run(FORWARD);
motor2.run(FORWARD);
for (speedSet = 0; speedSet < MAX_SPEED; speedSet
+=2) // slowly
bring the speed up to avoid loading down the batteries too
quickly
{
motor1.setSpeed(speedSet);
motor2.setSpeed(speedSet+MAX_SPEED_OFFSET);
delay(5);
}
}
}
(Full code is in the main thesis
named as Software part)
Working
• The obstacle avoidance robotic vehicle uses ultrasonic sensors for its movements. Arduino is used
to achieve the desired operation.
• The motors are connected through motor driver IC to Arduino. The ultrasonic sensor is attached
in front of the robot.
• Whenever the robot is going on the desired path the ultrasonic sensor transmits the ultrasonic
waves continuously from its sensor head.
• Whenever an obstacle comes ahead of it the ultrasonic waves are reflected back from an object
and that information is passed to the Arduino Uno.
• The Arduino controls the motors left, right, back, front, based on ultrasonic signals. In order to
control the speed of each motor pulse width modulation is used (PWM).
• When ultrasonic sensor detect the object which is kept inside the path it will send the signal
toward the Arduino Uno and according to that it will rotate the motor.
• M3 & M4 in forward direction and rotate the motor M1 & M2 in reverse direction such way
that the car get moving in left direction.
• Similarly in every time when ever an obstacle in found to be in path of car it will detect it and
rotate the car in left direction to avoid the obstacle.
Understanding
• Microcontrollers are used to control many everyday products like robots, garage door
openers, traffic lights, and home thermostats.
• A servo motor is one that delivers continuous motion at various speeds.
• Microcontrollers can be programmed to sense and respond to outside stimuli.
• Servo motor and what parameters does it use in programming code.
Knowledge and skills
Through this project, student will gain basic knowledge and skills regarding
servo, program and mathematics to calculate program values. It is expected that
students will:
• Program a servo motor.
• Program and test an autonomous robot.
• Use mathematics to calculate programming values.
Advantages
• It can be used as a movable Surveillance System.
• It can be controlled remotely.
• It does not require Man Power.
• It can be used for critical application like flood, bomb disposal, Fire, Terrorist
attack, Earth quake, Spying.
Applications
• Automated lawn mover.
• Smart room cleaner etc.
• Obstacle avoiding robots can be used in almost all mobile robot navigation
systems.
• They can also be used in dangerous environments, where human penetration
could be fatal.
• Unmanned vehicle driving.
• Mining Vehicle that uses Obstacle Detection.
Conclusion
• Today we are in the world of robotics. Knowingly or unknowingly, we have
been using different types of robots in our daily life. The aim of the thesis is to
evaluate what students can learn about the fields of engineering, mechatronics,
and software development as they design, construct, and program an
autonomous robot.
• The goal of our project is to create an autonomous robot which intelligently
detects the obstacle in his path and navigate according to the actions we set for
it.
References
• D. Floreano and J. Urzelai. “Evolutionary Robots with Online Self-Organization and Behavioral
Fitness”
• Oussama Khatib. “Real-Time Obstacle Avoidance for Manipulators and Mobile Robots”,
• Marija Seder. “Hierarchical Path Planning of Mobile robots in Complex Indoor Environments”
WEBSITES:
• http://www.datasheetcatalog.com
• http://www.instructabal.com
• http://en.wikipedia.org/wiki/Artificial_intelligence
• http://science.howstuffworks.com/robot2.htm
Thank You
for
Your Kind Attention......!
Any Question .......?

Self Obstacle Avoiding Rover

  • 1.
  • 2.
    Contents 1) Introduction. 2) ObstacleView. 3) Equipment's. 4) Block Diagram. 5) Circuit Diagram. 6) Implementation of Obstacle Avoiding. 7) Working. 8) Advantages. 9) Applications. 10) Conclusion. 11) References. 12) Acknowledgement.
  • 3.
    Introduction  Robotics isa part of Todays communication. In today’s world ROBOTICS is fast growing and interesting field.  Robotic field and design something which will make human life simpler in day today aspect. Thus we are supporting this cause.  An obstacle avoiding robot is an intelligent device, which can automatically sense and overcome obstacles on its path.
  • 4.
    Obstacle View  Whatis Obstacle Avoidance? Obstacle Avoidance is a robotic discipline with the objective of moving vehicles on the basis of the sensorial information. A path, describing the purpose of this robot
  • 5.
    Equipment's  Arduino UNO Ultrasonic Sensor  Ultrasonic Distance Measurement  Motor Shield Controller  DC & Servo motor  Relays  Battery Pack  Programming & Software
  • 6.
    Arduino UNO Arduino isa 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 compiles or upload” feature. Hence it is designed in way that one can use it without necessarily being an expert programmer (Kushner 1987). The first Arduino was introduced in 2005, aiming to provide a low cost, easy way for novices and professionals to create devices that interact with their environment using sensors and actuators. Common examples of such devices intended for beginner hobbyists include simple robots, thermostats, and motion detectors.
  • 7.
    Types of Arduino Thereare many types of Arduino as shown in figure 3 below like:  Arduino Diecimila in Stoicheia  Arduino Duemilanove (rev 2009b)  Arduino UNO  Arduino Leonardo  Arduino Mega  Arduino MEGA 2560 R3 (front side)  Arduino MEGA 2560 R3 (back side)  Arduino Nano  Arduino Due (ARM Cortex-M3 core)  Lily Pad Arduino (rev 2007)  Arduino Yun
  • 8.
    Ultrasonic Sensor • Smalllow-cost ultrasonic distance measurement modules like SRF- 06 are an effective way to sense the presence of nearby objects and the distance to them. Often Robots use these to sense objects or collisions and take appropriate action. • They have two transducers, basically a speaker and a microphone. Ultrasound is a high frequency sound (typically 40 KHz is used). A short burst of sound waves (often only 8 cycles) is sent out the “Transmit" transducer (left, above). Then the "Receive" transducer listens for an echo. Thus, the principle of ultrasonic distance measurement is the same as with Radio-based radar. Speed of sound in air velocity is affected by the air density, and for high accuracy the temperature must be taken into account, either within the module electronics.
  • 9.
  • 10.
    The module inour example shown in figure 4 below has 4 pins: 1. VCC Operating voltage: 5.0V 2. Trig the transmit signal pin 3. Echo the received echo pin 4. Gnd Ground. It emits an ultrasound at 40 000 Hz which travels through the air as shown in figure 5 and if there is an object or obstacle on its path It will bounce back to the module. Considering the travel time and the speed of the sound you can calculate the distance. The HC-SR04 Ultrasonic Module has 4 pins, Ground, VCC, Trig and Echo. The Ground and the VCC pins of the module needs to be connected to the Ground and the 5 volts pins on the Arduino Board respectively and the trig and echo pins to any Digital I/O pin on the Arduino Board. In order to generate the ultrasound, you need to set the Trig on a High State for 10 is. That will send out an 8-cycle sonic burst which will travel at the speed sound and it will be received in the Echo pin. The Echo pin will output the time in microseconds the sound wave traveled.
  • 11.
    For example, ifthe object is 10 cm away from the sensor, and the speed of the sound is 340 m/s or 0.034 cm/μs the sound wave will need to travel about 294 u seconds as shown in figure 7. But what you will get from the Echo pin will be double that number because the sound wave needs to travel forward and bounce backward. So, in order to get the distance in cm we need to multiply the received travel time value from the echo pin by 0.034 and divide it by 2.
  • 12.
    Motor Microcontroller The MotorDriver is a module for motors that allows you to control the working speed and direction of two motors simultaneously .
  • 13.
    DC & ServoMotors • A DC motor has a two-wire connection. All drive power is supplied over these two wires think of a light bulb. When you turn on a DC motor, it just starts spinning round and round. Most DC motors are pretty fast, about 5000 RPM. • A servomotor is a rotary actuator or linear actuator that allows for precise control of angular or linear position, velocity and acceleration. It consists of a suitable motor coupled to a sensor for position feedback. It also requires a relatively sophisticated controller, often a dedicated module designed specifically for use with servomotors.
  • 14.
    The function ofthe servo is to receive a control signal that represents a desired output position of the servo shaft, and apply power to its DC motor until its shaft turns to that position. It uses the position-sensing device to determine the rotational position of the shaft, so it knows which way the motor must turn to move the shaft to the commanded position. The shaft typically does not rotate freely round and round like a DC motor, but rather can only turn 200 degrees or so back and forth. The servo has a 3-wire connection: power, ground, and control. The power source must be constantly applied; the servo has its own drive electronics that draw current from the power lead to drive the motor.
  • 15.
    Relays A relay isan electrically operated switch. Many relays use an electromagnet to mechanically operate a switch, but other operating principles are also used, such as solid-state relays. Relays are used where it is necessary to control a circuit by a low- power signal (with complete electrical isolation between control and controlled circuits), or where several circuits must be controlled by one signal. The first relays were used in long distance telegraph circuits as amplifiers: they repeated the signal coming in from one circuit and re- transmitted it on another circuit.
  • 16.
  • 17.
  • 19.
    Implementation of ObstacleAvoiding. While the car moving forward, the ultra-sonic sensor on the car measure the distance from nearest obstacle. When this distance become less than 50 Cm, the car stops and move backward for 5 minutes and the servo motor also move along 0,45,135,180 degrees and the ultra-sonic sensor measure the largest distance and turns the car through the direction of this angle and move forward and then the overall process returned.
  • 20.
    The proposal hardwareconsists from the following: 1) Uno Arduino Board: The Arduino board is used to receive the Ultra-Sonic signal and give a suitable order to relays that control four push-buttons that are used to control the double motors of the car that turns the car to the suitable direction. 2) The car with two motors: The small car with two DC motors is used to do this proposed system.
  • 21.
    3) Ultra-Sonic Sensor:The Ultra-Sonic sensor is used in this proposal to measure the distance from any obstacle in order to take the decision to stop the car and move it backward then turn the car left or right according to the sensor reading. 4) Four Relays Board: In order to turn the double DC car motors forward, backward, left or right according to the Arduino order due to the Ultra-Sonic sensor reading, four relays are used in this proposal.
  • 22.
    5) Transceiver RemoteControl Board: The remote-control transceiver with antenna is used in order to send the orders wireless between the relays and the car. 6) Servo-Motor: The motor is connected properly.
  • 23.
    Programming & Software TheUsed Arduino need Arduino C language to program the proposed system, therefore; Appendix in the following shows the used Arduino C code which is shown below:
  • 25.
    The code usesthree libraries. Two of them must be downloaded in order for the program to compile. The first one is the motor shield driver from Adafruit. The second library is the NewPing library for the supersonic distance sensor. The first thing we do in the code is to include the libraries that have been downloaded into the code. Ø Motor Shield Library Ø New Ping Library Ø Servo Motor Library #include <AFMotor.h> #include <NewPing.h> #include <Servo.h> Next, we declare the pins to which or ultrasonic sensor is connected to, and some variables which will be used to store info as the code runs then we set the speed of the motors. We can set the motors speed in any value up to 255. #define TRIG_PIN A4 // Arduino pin tied to trigger pin on the ultrasonic sensor. #define ECHO_PIN A5 // Arduino pin tied to echo pin on the ultrasonic sensor. #define MAX_DISTANCE 200 // Maximum distance we want to ping for (in centimeters). Maximum sensor distance is rated at 250cm. #define MAX_SPEED 200 // sets speed of DC motors #define MAX_SPEED_OFFSET 20
  • 26.
    Next, we Initializethe servo motor by creating an object of the servo library. We Also initialize the Motors to which the wheels are connected using the AF library. AF_DCMotor motor1(1, MOTOR12_1KHZ); AF_DCMotor motor2(3, MOTOR12_1KHZ); Servo myservo; We then move into the void setup () function where we initialize the servo motor and we set it to “look” straight. In my c ase, this was at 115 degrees angle. Next, we read the distance a few times in order to get a valid distance measurement as shown void setup() { myservo.attach(9); // Attaches the servo on pin 9 to servo object. myservo.write(115); delay(2000); // Wait for 2s. distance = readPing(); // Get Ping Distance. delay(100); // Wait for 100ms. distance = readPing(); delay(100); distance = readPing(); delay(100); distance = readPing(); delay(100); }
  • 27.
    Now we goto the loop function which executes every 40 Ms. If the distance we measured is less than or equal to 15 cm, we stop the motors, reverse for 300ms, stop, look right and left and measure the distance in each direction. If the distance in one direction is greater than the other, we turn the robot to the direction with the farthest/greatest distance and instruct it to move forward as shown. void loop() { int distanceR = 0; int distanceL = 0; delay(40); if(distance<=15) { moveStop(); delay(100); moveBackward(); delay(300); moveStop(); delay(200); distanceR = lookRight(); delay(200); distanceL = lookLeft(); delay(200); if(distanceR>=distanceL) { turnRight(); moveStop(); }else { turnLeft(); moveStop(); } }else { moveForward(); } distance = readPing(); }
  • 28.
    Servo System Code intlookLeft() // Look Left Function for Servo Motor. { myservo.write(170); delay(500); int distance = readPing(); delay(100); myservo.write(115); return distance; delay(100); } int lookRight() // Look Right Function for Servo Motor. { myservo.write(50); delay(500); int distance = readPing(); delay(100); myservo.write(115); return distance; }
  • 29.
    int readPing() //Read Ping Function for Ultrasonic Sensor. { delay(70); // Wait 70ms between pings (about 20 pings/sec). int cm = sonar.ping_cm(); //Send ping, get ping distance in centimeters (cm). if(cm==0) { cm = 250; } return cm; } Sensor System Code
  • 30.
    Driving system Code voidmoveStop() // Move Stop Function for Motor Driver. { motor1.run(RELEASE); motor2.run(RELEASE); } void moveForward() // Move Forward Function for Motor Driver. { if(!goesForward) { goesForward=true; motor1.run(FORWARD); motor2.run(FORWARD); for (speedSet = 0; speedSet < MAX_SPEED; speedSet +=2) // slowly bring the speed up to avoid loading down the batteries too quickly { motor1.setSpeed(speedSet); motor2.setSpeed(speedSet+MAX_SPEED_OFFSET); delay(5); } } } (Full code is in the main thesis named as Software part)
  • 31.
    Working • The obstacleavoidance robotic vehicle uses ultrasonic sensors for its movements. Arduino is used to achieve the desired operation. • The motors are connected through motor driver IC to Arduino. The ultrasonic sensor is attached in front of the robot. • Whenever the robot is going on the desired path the ultrasonic sensor transmits the ultrasonic waves continuously from its sensor head. • Whenever an obstacle comes ahead of it the ultrasonic waves are reflected back from an object and that information is passed to the Arduino Uno. • The Arduino controls the motors left, right, back, front, based on ultrasonic signals. In order to control the speed of each motor pulse width modulation is used (PWM). • When ultrasonic sensor detect the object which is kept inside the path it will send the signal toward the Arduino Uno and according to that it will rotate the motor.
  • 32.
    • M3 &M4 in forward direction and rotate the motor M1 & M2 in reverse direction such way that the car get moving in left direction. • Similarly in every time when ever an obstacle in found to be in path of car it will detect it and rotate the car in left direction to avoid the obstacle.
  • 34.
    Understanding • Microcontrollers areused to control many everyday products like robots, garage door openers, traffic lights, and home thermostats. • A servo motor is one that delivers continuous motion at various speeds. • Microcontrollers can be programmed to sense and respond to outside stimuli. • Servo motor and what parameters does it use in programming code.
  • 35.
    Knowledge and skills Throughthis project, student will gain basic knowledge and skills regarding servo, program and mathematics to calculate program values. It is expected that students will: • Program a servo motor. • Program and test an autonomous robot. • Use mathematics to calculate programming values.
  • 36.
    Advantages • It canbe used as a movable Surveillance System. • It can be controlled remotely. • It does not require Man Power. • It can be used for critical application like flood, bomb disposal, Fire, Terrorist attack, Earth quake, Spying.
  • 37.
    Applications • Automated lawnmover. • Smart room cleaner etc. • Obstacle avoiding robots can be used in almost all mobile robot navigation systems. • They can also be used in dangerous environments, where human penetration could be fatal. • Unmanned vehicle driving. • Mining Vehicle that uses Obstacle Detection.
  • 38.
    Conclusion • Today weare in the world of robotics. Knowingly or unknowingly, we have been using different types of robots in our daily life. The aim of the thesis is to evaluate what students can learn about the fields of engineering, mechatronics, and software development as they design, construct, and program an autonomous robot. • The goal of our project is to create an autonomous robot which intelligently detects the obstacle in his path and navigate according to the actions we set for it.
  • 39.
    References • D. Floreanoand J. Urzelai. “Evolutionary Robots with Online Self-Organization and Behavioral Fitness” • Oussama Khatib. “Real-Time Obstacle Avoidance for Manipulators and Mobile Robots”, • Marija Seder. “Hierarchical Path Planning of Mobile robots in Complex Indoor Environments” WEBSITES: • http://www.datasheetcatalog.com • http://www.instructabal.com • http://en.wikipedia.org/wiki/Artificial_intelligence • http://science.howstuffworks.com/robot2.htm
  • 40.
    Thank You for Your KindAttention......! Any Question .......?

Editor's Notes

  • #4 Summarize your research in three to five points.
  • #18 List all of the steps used in completing your experiment. Remember to number your steps.