Inspiration
Our inspiration came from the recent needs that the Space Race has demanded over the years. With recent advancements, there is a plethora of tools that can be used to help improve space technologies. Our space hack comprises of two parts - Firstly, we wanted to help create a simulator to help visualise the movements of rovers in terrain charted through height-maps. Secondly, we wanted to help researchers to train the rover for autonomous navigation in unknown territory without stepping foot into space. Therefore, we create multiple simulations for training and ensuring proper reinforcement learning algorithm of the rover. We hope that such machine-learning based paths can aid rover navigation for future expeditions on Mars in uncharted and complex terrain.
What it does
Simulate the rover and Mars terrain, allowing the researcher to input the rover and the control parameter for the training reinforcement learning model to guide the rover to the desire destination.
How we built it
We use Unity game engine to create the simulation. Firstly, we created the terrain based off a heightmap from NASA API, and then implemented proper textures. The terrain is dynamic in nature, meaning that it can be easily changed into a different area within minutes. Next, we created the Rover model using Blender and imported it to Unity, whereby collision models and physical parameters are specified to ensure a realistic simulation. Lastly, we implemented the aiagents library of Unity for model training and pathfinding, which is not demoed as it needs some merge dependencies and we ran out of time.
Map was taken from satellite image from the Curiosity Rover Landing site at https://trek.nasa.gov/mars
Challenges we ran into
Unity and C# has a very high learning curve initially, especially when none of our team members have used it before. Also, integrating all the components is difficult as we made use of other software such as Blender, which has quite a complex interface.
Accomplishments that I'm proud of
We are able to create a set up of the simulator in Unity starting with no experience that comprises of a accurate terrain mapping, self-created rover model, proper physics accounting for gravity and collisions. A ML model was also done separately to train the rover in navigation.
What we learned
Initial planning is important because it helps speed up the debugging process and integration at the end. Also, catering for timezones differences is pretty important, since our team have major time zone problems. Also we all started with basically no Unity or C# experience, and we learned a ton over the course of this project.
What's next for Smart Rover
Integrate scripts to automate the creation of user maps that the user can specify, while adding random obstacles such as meteors into the terrain. We also plan to add a camera as an input for training our model.


Log in or sign up for Devpost to join the conversation.