Introduction
Facing challenges like the one at hand is a very difficult thing to do. A project made by students isn't going to provide a proper solution to a problem that challenges world-class engineers that work at NASA. So we thought a lot about it and the ways we can implement a possible step in the right direction for a potential solution. We first decided to search for people in relative fields of work to ask for advice on how to approach the whole thing. We contacted the physics department at the University of Ruse and they told us to look into mass spectrometry and computer vision with the aid of machine learning. We then called a colleague that we've worked with before who is a professor of astrophysics at the Cambridge university that confirmed that these were the best approaches and suggested that we also looked into quantum computing and lastly we got in contact with a couple of geologists to learn more about moon rocks, moon dust and their chemical and structural composition.
First Steps
A good solution requires a lot of tests before it is successful. Even the greatest and most ambitious achievements such as the moon landing in 1969 took a lot of trials and errors and a lot of competent people to realize a vision and a goal. That's why our solution is an unorthodox approach to the challenge. It aims at saving NASA enormous amounts of time and expenses for potential projects and prototypes and reducing the amount of astronaut and extravehicular activity. The project, in short, is a simulation that allows NASA to simulate different events, train AI with machine learning and track its success rate. We believe that the future of apps and simulations is in real-time rendering and procedural development pipelines.
Why evaluating Lunar samples is essential
- Moon samples may not seem much taken at face value but they too have their secrets. They store some really valuable materials in them like silica, sodium oxide, alumina, lime, iron oxide, magnesia and some others. These materials can be used to building different structures on the moon of which most commonly mentioned are solar panels that are going to be essential if we would like to ever live on the moon.
We gather information about the percentage of mineral composition based on location and elevation from data provided by NASA resources. - Another interesting element is the rare gas Helium 3 (H3). On earth, Helium 3 is especially rare and expensive and is needed for the future of thermonuclear reactors but in some craters of the moon, there is plenty of it.
- Lunar dust is the main substance on the moon. It may seem like a regular kind of dust but it actually has a glass-like structure which is very harmful to astronauts and machines. Moon dust can be in fact useful because if a sample is rich enough in certain minerals it can be processed and heated up to extract Hydrogen and Oxygen to produce water which is essential for manned missions because even sending 4 liters of water can cost NASA up to 80 000$. Our project is based around the idea of allowing NASA to look for useful approaches to save resources.
How it works
Some of the main use cases of the simulation framework are:
- Swarms of UAVs that get to go on their own on landing to optimize the time on the planet and/or moon. The idea is to let the astronauts use their time more effectively while the UAVs go around the surface and spot resources of interest.
- Small unmanned vehicles that can be used to access more inaccessible terrain or be sent on a mission by themselves, letting the astronauts do other tasks.
- In the project itself, you can go around the moon's surface, explore and inspect different moon rocks and figure out their value by using mass spectral analysis tools.
- Navigate and plan difficult missions because of the use of real topology base on NASA data.
- Accurately predict outcomes of missions.
- Gather information from multiple different simulation scenarios using the massive open database where results are stored in.
Now let's dive deep into it:
- We created a simulation with the popular Unreal Engine 4. We chose a game engine because of its modular nature and a wide variety of tools. There have been some similar projects developed before but we decided to expand and extend them by implementing various features that we'll explain in a bit.
- The simulation is a real-time environment that uses data provided by NASA which includes texture maps of the Earth, Copernicus crater 3D model from 1996, modular design concepts created for lunar bases and the average values the chemical compositions of lunar samples.
- The idea behind the simulation is that you can have programmers, physicists or engineers write real algorithms and mathematical functions to describe physic laws and behaviour that the simulation compiles instantly in real-time. We have some parameters written in the metadata of every 3D rock in the real-time environment containing information about the chemical composition of the lunar samples.
- We also have an unmanned moon rover that will search for the samples, analyze them with the different devices it is equipped with and then display the information it has acquired. If the information corresponds with the rules that were set beforehand its rate of success becomes higher which allows it to learn how to be more efficient in its future cycles in the simulation.
- We provide some modular content that will get you started with it and we believe using procedural software packages as Houdini can eventually populate a whole planet/moon instantly using mathematical functions and different masks to make everything blend together seamlessly. The beauty of it all is that you can have multiple users on at the same time all working on different approaches and every single user uses local computing resources + a help swarm network helping with the relocation of memory use. On top of that whoever works with the simulation will be contributing to a massive database which will help grow the content in the simulation organically in the best way possible.
- Rather than only be used as a tool to train AI to make unmanned missions more efficient, we can also use it to simulate and plan which paths have to be taken by the UAV's to get to their destination and to navigate different terrains because we get our terrains from real NASA data so that the topology stays as accurate as it can be to real life.
- Unreal Engine's physics engine allows users to use real scientific data accurately: The moon's gravity is relative ~1/6 of the Earth's so if we use the simple formula F = G*((m sub 1*m sub 2)/r^2) (granted you have the predefined constants) in the physics engine, it will replicate the desired result in real-time. We did that with the code that spawns the different rocks and gives them their different metadata readings every time we begin a new cycle of the simulation. This concept will be applied for every other iteration and principle that you would like to experiment with to produce the scenario you're most interested in.
- Using the same techniques we also control Earths rotation around it's axis and it's panning clouds.
- Including parameters to spawn samples to corresponding places. For example: having more concentrated minerals from samples near craters or at different elevation.
- The project is really well optimized by today's industry standarts and because of that it can work on many different devices and operational systems and it's even optimized for Virtual Reality (VR) use.
What we used
We decided to make everything with as much modularity as possible utilizing procedural workflows. We relied heavily on graph-based packages such as Substance Designer where we created most of the textures, materials and masks that bring everything together. The future of the project will rely heavily on Houdini which will make everything work fully procedural without the need of making anything by hand as we did with the beginning of this project.
In conclusion
There are a lot more things to take in consideration with this project but we gave it a good head start in the time frame of the challenge. We hope that you would like this different take on the matter and that it would be an interesting concept to develop furthermore.
Tools that we used:
Blender 3D, 3Ds Max, Maya, Adobe Photoshop,ZBrush, Gaea Substance Painter, Substance Designer, Substance Alchemist, Marmoset Toolbag 3, Unreal Engine 4.23.0, Visual Studio 2017
RESOURCES
Try it out:
TAGS:
#moon, #spectralanalysis, #cpp, #machine learning, #rover, #uav, #drone