Optimal Lunar Landing Analysis

The Optimal Lunar Landing Analysis software is part of the NASA International Space Apps Challege, and serves as a platform for processing lunar data in order to find optimal landing sites for spacecrafts.

The idea is to create an extensible framework for which multiple data sets are used by a series of analysis strategies to come up with a good landing solution while providing strong visual feedback mechanisms for both the strategy development phase and the strategy analysis phase.

So far two data sources have been implemented and five analysis strategies, as well as a robust multi-threaded backend and GUI.

Optimal Lunar Landing Analysis

Optimal Lunar Landing Analysis

The project is hosted on GitHub and licensed under the MIT License. I've spent a lot of time preparing the framework for others to expand on. Implementing strategies is really easy:

class ElevationAnalysisMap : public AnalysisMap
{
private:
ElevationDataMap *_elevationMap;

public:
explicit ElevationAnalysisMap(ElevationDataMap *elevationMap, QSettings *settings, QObject *parent = 0) {
// Init
_name = "Elevation Analysis";
_elevationMap = elevationMap;
}

virtual double calculateScoreForPoint(int x, int y) {
// Really trivial implementation: the higher the better...
int elevation = _elevationMap->getElevationAtPoint(x,y);
int minElevation = -9150;
int maxElevation = 10760;
return (double)(elevation - minElevation) / (double)(maxElevation - minElevation);
}
};

Project Page

Source Download

 
Back to Software...