This project was developed as part of a hackathon organized by the Turkish Space Agency (TUA). It simulates an autonomous rover designed to operate on the Moon’s surface, focusing on safe and intelligent navigation in harsh terrain conditions.
The system combines:
- Procedurally generated lunar terrain
- Autonomous path planning using A*
- Obstacle and risk evaluation
- Ice detection and excavation tasks
- Real-time HUD and minimap
- Python
- Ursina Engine
- A* Pathfinding Algorithm
- Perlin Noise
- Grid-based cost map system
- Perlin noise-based heightmap
- Craters and hills
- Surface detailing (ambient occlusion, micro variations)
- A* pathfinding
- Cost evaluation based on:
- Elevation
- Slope
- Obstacles
- Safety scoring system (mission abort if unsafe)
- Randomly generated ice craters
- Automatic nearest-target selection
- Robotic arm excavation simulation
- Mission completion logic
- Real-time rover tracking
- Click-based target selection
- Path visualization
- Telemetry and mission status
- Multi-joint arm (shoulder, elbow, wrist)
- Smooth animation transitions
- Excavation sequence simulation
| Key | Action |
|---|---|
| Left Click | Select target on map |
| SPACE | Start autonomous navigation |
| H | Start ice collection tour |
| K | Manual digging |
| R | Reset system |
| ESC | Exit |
- 8-directional movement
- Heuristic: diagonal distance
- Dynamic cost map based on terrain
- Dangerous areas → infinite cost
- Slopes → higher cost
- Ice zones → lower cost (mission priority)
# clone repository
git clone https://github.com/your-username/lunar-rover.git# enter project folder
cd lunar-rover# create virtual environment (optional)
python -m venv venv# activate environment
# Windows
venv\Scripts\activate# Mac/Linux
source venv/bin/activate# install dependencies
pip install ursina# run project
python main.py