🧑🏽💻 This repository hosts the source code for an Autonomous Obstacle-Avoiding Robot developed through an undergraduate research project conducted at the Federal University of Uberlândia (UFU) – Santa Mônica Campus.
The project focuses on autonomous navigation using sensors to detect and avoid obstacles in real time, allowing the robot to move through an environment without human intervention.
Autonomous mobile robots are widely used in research and industry for tasks involving navigation, mapping, and environmental monitoring.
This project was developed as part of a scientific research initiative aimed at applying concepts of:
- Embedded Systems
- Autonomous Navigation
- Mobile Robotics
- Sensor Integration
- Real-Time Systems
- Control Engineering
The robot continuously monitors its surroundings and adjusts its trajectory whenever an obstacle is detected, ensuring safe and efficient movement.
- ✅ Autonomous navigation
- ✅ Real-time obstacle detection
- ✅ Automatic obstacle avoidance
- ✅ Continuous environment monitoring
- ✅ Motor control and movement management
- ✅ Embedded control system implementation
- ✅ Autonomous decision-making
- Arduino IDE
- C/C++ (Arduino Framework)
- Arduino-compatible microcontroller
- Ultrasonic sensors
- DC motors
- Motor driver module
- Battery power supply
- Mobile robot chassis
📁 Autonomous_Obstacle_Avoiding_Robot/
├── 📄 rbtdo.ino
└── 📄 README.md- rbtdo.ino → Main source code responsible for sensor reading, obstacle detection, navigation logic, and motor control.
- README.md → Project documentation.
The robot operates through three main stages:
Sensors continuously scan the surrounding area.
Tasks include:
- Measuring distances
- Detecting obstacles
- Monitoring free paths
Based on sensor readings, the robot determines the appropriate action.
Possible actions:
- Move forward
- Stop
- Turn left
- Turn right
- Search for a free path
The selected action is sent to the motors, allowing the robot to navigate autonomously.
The file:
rbtdo.inocontains the complete implementation of the robot's control algorithm.
Main functionalities include:
- Sensor initialization
- Distance measurement
- Obstacle detection
- Navigation control
- Motor actuation
- Autonomous path adjustment
The code runs in a continuous loop, processing sensor data and updating the robot's movement in real time.
The robot follows a simple autonomous navigation strategy:
Start
↓
Move Forward
↓
Obstacle Detected?
↓
Yes ──► Stop
↓
Analyze Direction
↓
Turn to Free Path
↓
Continue Navigation
↓
No
↓
Keep Moving
- Arduino IDE installed
- Compatible Arduino board
- Robot hardware assembled and connected
- Clone the repository:
git clone https://github.com/your-username/autonomous-obstacle-avoiding-robot.git- Open:
rbtdo.inoin the Arduino IDE.
-
Select the correct board and communication port.
-
Upload the code to the microcontroller.
-
Power the robot and place it in an environment with obstacles for testing.
This project was developed to explore concepts related to:
- Autonomous Mobile Robotics
- Obstacle Avoidance Algorithms
- Sensor-Based Navigation
- Embedded Programming
- Real-Time Control Systems
- Intelligent Robotics
The robot successfully demonstrates:
- Autonomous movement
- Obstacle detection
- Collision avoidance
- Route adjustment
- Real-time decision-making
The project provided practical experience in robotics development and autonomous control systems.
Potential future enhancements include:
- Computer vision integration
- Simultaneous Localization and Mapping (SLAM)
- Multiple sensor fusion
- Autonomous path planning
- Machine learning-based navigation
- Wi-Fi/Bluetooth monitoring interface
Developed by Vitor Henrique Carvalho de Morais, Computer Engineering student at the Federal University of Uberlândia (UFU).
- 💼 Portfolio: https://vhcdev.netlify.app/
- 🐙 GitHub: https://github.com/Vhcmorais
- ✉️ vhcmdev@gmail.com
Special thanks to the professors, researchers, and colleagues of the Federal University of Uberlândia (UFU) who supported the development of this scientific research project.
🚗 Advancing autonomous robotics through research and innovation.