Logo Lanfrica

fuadnuri/Travelling-Ethiopia

Domain:

mobility

Record type:

software
Creator:
fua
Host:
Solution for travelling ethiopia problem # πŸ‡ͺπŸ‡Ή Travelling Ethiopia β€” AI Search Algorithms & Robot Simulation This project implements various AI search algorithms for pathfinding across Ethiopia's city network and simulates robot navigation using **Gazebo** with ROS 2. --- ## Features ### 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 ### Robot Simulation - **Gazebo Physics Engine** β€” Full 3D simulation environment with ROS 2 (Jazzy) - **Three-Wheel Differential Drive** β€” Custom URDF robot model - **Sensor Suite** β€” Proximity sensor, gyroscope (IMU), and RGB camera - **City World** β€” Ethiopia state-space map as a `.world` file with Cartesian coordinates - **ROS 2 Navigation** β€” Path planning and execution via ROS 2 topics --- ## Project Structure ``` Travelling-Ethiopia/ β”œβ”€β”€ data/ # Graph data and city coordinates β”‚ β”œβ”€β”€ graph1.py # BFS/DFS graph β”‚ β”œβ”€β”€ graph2.py # UCS/A* weighted graph β”‚ β”œβ”€β”€ graph3.py # Heuristics β”‚ β”œβ”€β”€ graph4.py # Coffee tree (MiniMax) β”‚ └── graph5.py # Robot navigation graph β”œβ”€β”€ search/ # 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 β”œβ”€β”€ myrobot/ # ROS 2 workspace β”‚ └── src/ β”‚ └── my_robot/ β”‚ β”œβ”€β”€ my_robot/ β”‚ β”‚ β”œβ”€β”€ ethiopia_search.py # BFS ROS 2 search node β”‚ β”‚ └── my_node.py # Base ROS 2 node β”‚ β”œβ”€β”€ urdf/ β”‚ β”‚ └── three_wheel_robot.urdf.xacro # Robot model β”‚ β”œβ”€β”€ worlds/ β”‚ β”‚ └── ethiopia.world # Gazebo world file β”‚ β”œβ”€β”€ set …