Traveling Ethiopia Search Problem
# Travel Ethiopia
This project implements various AI search algorithms for pathfinding across Ethiopia's city network and simulates robot navigation using **Gazebo** with ROS 2.
### Search Algorithms
- **BFS / DFS** — Uninformed search for finding paths
- **UCS** — Uniform Cost Search for optimal paths
- **A\*** — Heuristic search for faster pathfinding
- **MiniMax** — Adversarial search for coffee quality optimization
### Run Search Algorithms
```bash
python3 -m main
## ROS 2 AI Search & Robot Navigation Simulation
Travel Ethiopia is a ROS 2 Python package that integrates classical AI
search algorithms with autonomous robot navigation inside Gazebo.
The robot navigates an abstracted Ethiopia city graph while performing:
- BFS / DFS path planning\
- Global route generation\
- Path following\
- Obstacle avoidance\
- Sensor fusion\
- Vision-based correction
------------------------------------------------------------------------
# Package Structure
```
travel_ethiopia/
├── data/ # Graph data and city coordinates
│ ├── graph1.py # BFS/DFS graph
│ ├── graph2.py # UCS/A* weighted graph
│ ├── graph3.py # Heuristics
│ ├── graph4.py # iniMax)
│ └── graph5.py # Robot navigation graph
├── algorithms/ # Search algorithm implementations
│ ├── bfs_dfs.py # BFS and DFS
│ ├── ucs.py # Uniform Cost Search
│ ├── astart.py # A* Search
│ ├── advs.py # MiniMax
│ └── robot.py # Robot navigation logic
├── src
└── travel_robot
├── launch
│ └── world.launch.py
├── package.xml
├── resource
│ └── travel_robot
├── setup.cfg
├── setup.py
├── travel_robot
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-312.pyc
│ │ ├── path_follower.cpython-312.pyc
│ │ ├── robot_planner.cpython-312.pyc
│ │ └── vision_navigation.cpython-312.pyc
│ ├── data …