Obstacle Avoiding Robot

Introduction

An Obstacle Avoiding Robot is an autonomous robot that can detect obstacles in its path and navigate around them without human intervention. This project is a fundamental robotics application that uses sensors and motor control to prevent collisions.

It is widely used in robotics competitions, industrial automation, and intelligent vehicles.


Objective of the Project

  • To design an autonomous robot capable of detecting and avoiding obstacles.
  • To understand sensor integration and motor control with Arduino.
  • To implement real-time obstacle detection and navigation logic.
  • To provide a practical application of robotics in automation.

Working Principle

The Obstacle Avoiding Robot works on sensor-based navigation.

Step-by-Step Working

  1. Ultrasonic or IR sensors detect obstacles in the robot’s path.
  2. Arduino continuously reads sensor data to determine distance.
  3. When an obstacle is detected, Arduino changes the direction of the robot to avoid collision.
  4. Motors are controlled via a motor driver to move forward, backward, left, or right.
  5. The robot moves autonomously and continues obstacle detection.

Components Required

  • Arduino Uno
  • Ultrasonic Sensor (HC-SR04) or IR Sensors
  • DC Motors with Wheels
  • Motor Driver Module (L298N / L293D)
  • Robot Chassis
  • Jumper Wires
  • Battery Pack (6V or 12V)

Circuit Diagram

Connections

Ultrasonic Sensor (HC-SR04):
VCC -> 5V
GND -> GND
Trig -> D9 (Arduino)
Echo -> D10 (Arduino)

Motor Driver L298N:
IN1 -> D8 (Left Motor Forward)
IN2 -> D7 (Left Motor Backward)
IN3 -> D6 (Right Motor Forward)
IN4 -> D5 (Right Motor Backward)
ENA -> 5V / PWM control (optional)
ENB -> 5V / PWM control (optional)
Motors connected to motor driver outputs

Battery + Arduino GND connected to motor driver GND

Arduino Code for Obstacle Avoiding Robot

#define trigPin 9
#define echoPin 10

#define motorLeftForward 8
#define motorLeftBackward 7
#define motorRightForward 6
#define motorRightBackward 5

long duration;
int distance;

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);

  pinMode(motorLeftForward, OUTPUT);
  pinMode(motorLeftBackward, OUTPUT);
  pinMode(motorRightForward, OUTPUT);
  pinMode(motorRightBackward, OUTPUT);

  Serial.begin(9600);
}

void loop() {
  // Ultrasonic distance measurement
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  duration = pulseIn(echoPin, HIGH);
  distance = duration * 0.034 / 2;

  Serial.print("Distance: ");
  Serial.println(distance);

  // Obstacle avoidance logic
  if (distance < 15) { // obstacle detected
    stopRobot();
    delay(200);
    moveBackward();
    delay(500);
    turnRight();
    delay(500);
  } else {
    moveForward();
  }
}

void moveForward() {
  digitalWrite(motorLeftForward, HIGH);
  digitalWrite(motorLeftBackward, LOW);
  digitalWrite(motorRightForward, HIGH);
  digitalWrite(motorRightBackward, LOW);
}

void moveBackward() {
  digitalWrite(motorLeftForward, LOW);
  digitalWrite(motorLeftBackward, HIGH);
  digitalWrite(motorRightForward, LOW);
  digitalWrite(motorRightBackward, HIGH);
}

void turnRight() {
  digitalWrite(motorLeftForward, HIGH);
  digitalWrite(motorLeftBackward, LOW);
  digitalWrite(motorRightForward, LOW);
  digitalWrite(motorRightBackward, HIGH);
}

void stopRobot() {
  digitalWrite(motorLeftForward, LOW);
  digitalWrite(motorLeftBackward, LOW);
  digitalWrite(motorRightForward, LOW);
  digitalWrite(motorRightBackward, LOW);
}

Code Explanation

  • Ultrasonic sensor measures distance to obstacle.
  • If distance < 15 cm, robot stops, moves backward, and turns.
  • DC motors are controlled via motor driver for navigation.
  • Robot continuously avoids obstacles autonomously.

Advantages

  • Fully autonomous operation
  • Real-time obstacle detection
  • Can be integrated with other sensors for smart robotics
  • Simple and effective for learning robotics

Applications

  • Autonomous robots for competitions
  • Industrial robots for obstacle navigation
  • Smart vehicles
  • Educational robotics projects

Future Enhancements

  • Add multiple sensors for better obstacle detection
  • Implement GPS or path planning algorithms
  • IoT-based monitoring and control
  • Voice or app-controlled obstacle avoiding robot

Conclusion

The Obstacle Avoiding Robot is a practical robotics project that combines sensors, motors, and Arduino programming. It demonstrates autonomous navigation and is an excellent project for students learning robotics, automation, and smart systems.

Leave a Reply

Shopping cart

0
image/svg+xml

No products in the cart.

Continue Shopping