Rover Pathfinding Simulation

Over the summer of 2025, I decided to make a few projects to further my skills in the engineering field. One of these projects was designing a rover pathfinding simulation in Python.
This numerical simulation simulates a rover (point particle) across a grid containing different terrain types. The rover traverses across the grid, starting at a specified start tile and ending at a specified (for single rover testing) or predetermined (for multiple rover testing) target tile. The grid (square) is initialized with a specified size containing a certain amount of tiles, each which have a randomized terrain, which impacts the speed of the rover through that single tile. Once the grid has been created and sent to the Rover object, the simulation uses Dijkstra’s Algorithm (custom coded to fit the parameters of the grid) to compute the lowest cost path to the target tile as well as the total cost of the path. The rover then follows that path, using trigonometry to find the proper angle of the next tile in the sequence to ensure accuracy (as the position is a tuple of floats and does not snap to the center of a tile) up to .001 tiles. As the rover is moving, the command prompt displays the step the rover is on, its position, the direction (in degrees) that it is facing, its progress to the target (as a percentage), the tile that it is currently on, the next tile in its sequence (borders the current tile, even diagonally), and the terrain of the current tile. Once the rover has reached the target, an ending message is displayed that tells the user how far the rover traversed (distance, not displacement) in its journey.
The code is available on GitHub: https://github.com/Kopus123/Rover-Pathfinding-Simulation.git
Technologies Used: Python