This project presents an autonomous terrain-aware rover navigation system developed in PyBullet. The rover traverses multiple terrain types while avoiding obstacles using the A* path planning algorithm.
The simulation demonstrates important robotics concepts including:
- Path Planning
- Obstacle Avoidance
- Terrain-Aware Navigation
- Autonomous Mobility
- Robotics Simulation
The project is inspired by the RASP Rover platform and serves as a digital testbed for autonomous navigation algorithms.
-
A* Path Planning
-
Obstacle Avoidance
-
Multi-Terrain Navigation
-
Smooth Terrain Traversal
-
Rough Terrain Traversal
-
Slope Climbing
-
Terrain-Aware Speed Adaptation
-
4-Wheel Rover Simulation
-
PyBullet Physics Environment
Environment
↓
Terrain Analysis
↓
Localization
↓
A* Path Planner
↓
Waypoint Generation
↓
Motion Controller
↓
Rover Navigation
Represents flat tiled surfaces where the rover can travel at higher speeds.
Represents uneven ground that requires slower traversal.
Represents inclined terrain requiring controlled ascent.
The rover uses the A* search algorithm to determine an optimal path from the start position to the goal position.
The evaluation function is:
f(n) = g(n) + h(n)
Where:
- g(n) = Actual cost from start node
- h(n) = Heuristic estimate to goal
- f(n) = Total estimated cost
Euclidean Distance is used as the heuristic function.
The environment contains:
- Multiple terrain zones
- Static obstacles
- Start position
- Goal position
- Planned path visualization
The simulation demonstrates autonomous navigation of a 4-wheel rover across multiple terrain types using A* path planning.
- Generation of an optimal path using A* search
- Obstacle avoidance in a grid-based environment
- Terrain-aware navigation across:
- Smooth terrain
- Rough terrain
- Sloped terrain
- Adaptive traversal speed based on terrain conditions
- Goal-directed autonomous navigation
The rover successfully:
- Avoids obstacles
- Generates collision-free paths
- Traverses multiple terrain types
- Reaches the target location autonomously
- Python
- PyBullet
- NumPy
- Robotics Algorithms
- A* Path Planning
- SLAM Integration
- IMU-Based Localization
- Camera-Based Obstacle Detection
- ROS2 Integration
- RRT* Path Planning Comparison
- Real Hardware Deployment on RASP Rover
Clone the repository:
git clone https://github.com/yourusername/Autonomous-Terrain-Aware-Rover-Navigation.git
cd Autonomous-Terrain-Aware-Rover-NavigationInstall dependencies:
pip install -r requirements.txtRun the simulation:
python src/main.pyAnanya
Robotics and AI
