Wall Follower Robot Simulation
Name | Wall Follower Robot |
---|---|
Description | The wall-following robot travels along walls in a maze. It uses basic sensors to detect the distance to the wall and adjusts its path to stay close. The robot explores all possible paths to find its destination without relying on algorithms, simply following the wall as it moves |
Start | June 2024 |
Repository | WFR🔗 |
Type | Individual |
Level | Beginner |
Skills | Simulation, Programming |
Tools Used | Webots, Python |
Current Status | On Hold |
This project contains the Wall Follower Robot simulation, which utilizes an e-puck model to navigate a maze using proximity sensors. The robot follows walls and explores paths randomly until it reaches its destination. This implementation does not use pathfinding algorithms or PID controllers; instead, it relies on basic logic to avoid obstacles and move along the walls.
Maze
The robot navigates through a structured maze, as shown below:
[]
Demo Video
Click the image below to watch a demo of the simulation in action:
How It Works
Robot Design
The e-puck robot is equipped with multiple proximity sensors positioned around its body. These sensors allow the robot to detect nearby walls and navigate through the maze by adjusting its movement. The robot makes decisions based on sensor readings to move forward or turn as needed.
- Proximity Sensors: The robot has eight proximity sensors (
ps0
tops7
) that detect walls and obstacles on all sides. - Motors: Independent left and right wheel motors control the robot’s movement, enabling it to move forward, turn in place, or steer based on sensor inputs.
Maze Exploration Strategy
- The robot starts at a predefined position within the maze.
- It explores the maze by following walls and avoiding obstacles until it reaches the target area.
- The robot does not attempt to find the shortest path but instead explores all possible routes until it reaches the destination.
Control Logic
- The robot detects walls using its proximity sensors and adjusts its movement accordingly.
- If there is a wall directly in front, it turns right.
- If there is a wall on the left but none in front, it moves forward along the wall.
- If no walls are detected, the robot makes a right turn.
- The robot stops when it reaches the designated target region within the maze.
Installation and Usage
Requirements
- Webots: Install the Webots robotics simulator from here.
- Python: Ensure Python is installed to run the robot controller.
Steps to Run
- Clone this repository to your local machine:
git clone https://github.com/Mummanajagadeesh/wall-follower-robot-w.git cd wall-follower-robot-w
- Open Webots and load the wall_follower_robot.wbt world file in the simulation folder.
- Run the simulation and observe the robot navigating through the maze.
Future Enhancements
- Optimized Pathfinding: Implementing algorithms like DFS, BFS, or A* to find the shortest path.
- PID Controller: Enhancing the robot’s movement with a PID controller for smoother turns and wall-following.
- Increased Maze Complexity: Introducing more challenging mazes with multiple solutions and dead-ends.