IMS Project Introduction
The Italian chapter of the Mars Society (IMS) is spearheading the MARS CITY. Mars City main goal is to provide an effective test bed for field operation studies in preparation for human missions to Mars. We are currently working on an immersive virtual reality simulation of the Mars City Station (V-MARS). The major advantage of such virtualization is that it will be possible to undertake training sessions with a crew that can interact with its future environment before the actual station is built. A relevant part of the software supporting V-MARS has been developed by students during summer of code events.
MARS CITY Community
- The MARS CITY mailing-list
- IRC Marscity on Freenode
can be used to interact with the Mars City community. Most questions
can be answered in one of these two outlets.
- V-MARS mailing-list
- MARS CITY repository on github
- MARS CITY on twitter
The IRC channel is informal and typically a question
will be part of a time-limited conversation. On the mailing-list
more users/developers will have a chance to comment on the question
and the question will receive more feedback over time.
Before a question
is posted to the mailing-list care should be taken to construct a
useful question. Simple guidelines for questions on the mailing-list:
- Limit the scope of the questions.
- Briefly state what is to be accomplish.
- Give a small example embedded in the question.
- Clearly state the question in the context of the
- It is ok to link original code (or attach) as a
reference but it should not be required to answer
Example, don’t post code and state: “it doesn’t work, help”.
Determine where the issues is and create a specific question
to the problems independent of the context of the project.
The easier the question is to understand and test (e.g
removing extraneous information) the faster the question
will be answered.
Mentors will be in a position to help dig through the project
code. To get the highest probability of a timely and useful
answer the above recommendation should be used when posting
to the mailing-list.
This exhaustive essay on,
interacting and getting questions answered by asking
is a good guide.
Writing Your GSoC Application
A common template
is available to help bootstrap the student proposals. For more
information on GSoC see the GSoC website
in particular the student FAQ
is a good place to start for new students and the student guide
is a thorough review of the program.
1. TITLE: SPACE WEATHER MONITORING FOR A VIRTUAL REALITY SIMULATION OF A MARTIAN SETTLEMENT
High-energy particles accelerated by the Sun during Coronal Mass Ejections (CME) are a major concern for a manned mission to Mars. On Earth surface, these particles are shielded by the Earth’s magnetic field. In space and on the Martian surface, where such shielding is absent or much weaker, CME pose a radiation hazard to the health of astronauts. The development of tools to understand and forecast the interplanetary space weather is a requirement for future manned space missions in order to properly protect the astronauts from the radiation environment. A variety of methods are currently developed by the scientific community and a number of public tools for space weather monitoring and forecast is already available online.
We present a Python-based project which takes advantage of two publicly accessible space weather web portals. Our software combines the forecast of CME and a real-time propagation model of energetic particles throughout the inner Solar System and the Martian atmosphere. It consistently recovers real-time relevant information and provides with days-to-hours forecasts for the radiation dose astronauts on Mars would be exposed to. The system raises an alert signal when the radiation dose exceeds the security levels defined by the National Council of Radiation Protection, which the main space agencies adopt as a reference.
Our project is meant to be integrated in a virtual reality simulation of a human settlement on the surface of Mars (Mars City Project) , which is currently under development at the Italian Mars Society.
Skills: Python, Machine Learning, Neural Networks
Difficulty Level: Intermediate
2. TITLE: BIOMETRIC SIGNAL SENSOR’s INTERFACE
This project covers the development of a Tango Control’s Device Server for the purpose of reading and configuring biometric signal sensors.
The first phase of the project consist on surveying the commercial sensors available, and selecting one, or many, according to the following criteria:
- Programming libraries available.
- Robustness and reliability.
We’re looking for at least a pulsioximeter and accelerometer; ECG, myoelectric and respiratory volume sensors would be welcome.
Multi-sensor devices should be preferred over several single-sensor devices.
The second phase consist on writing the Device Server itself, in Python.
The third and final phase covers improving the signal quality and, if time allows, performing some analysis on the signals.
The project is part of our current studies on the simulation of Astronaut’s Health Monitor system.
Skills: Python, Tango Controls
Difficulty Level: Intermediate
3. TITLE: TERRAIN ESTIMATION BY MONOCULAR CAMERA
A Rover or an astronaut is mounted with a monocular camera from which the live streaming data can be accessed through a ROS topic. At every step, the camera can view some part of the region which is in front of it but not the terrain which is exactly below or immediate to it. So, visual odometry is used to find the position of the camera from which we can obtain the patch of the terrain which is immediate to the rover or an astronaut from the frames which are processed before the rover or astronaut reached that particular position.
We know the world coordinates of the camera from Visual Odometry and since we have calibrated the camera, we have all the parameters to get the image points on previous frames of corresponding world points. So, for every world point of the camera trajectory, we can get an approximated world point of the astronauts’ foot or wheels of the rover. We check if the particular world point is visible in the previous frames and if visible, we collect the patches of terrain from all the frames in which the corresponding world point is visible.
For now, it’s assumed that the astronaut gives the traversability of terrain on which he is standing by a push button and that this, with the patch that we obtained, can be given to a regression model as a training data. We should consider getting the labels for the terrain patches automatically by an accelerometer. The main thing that should be noticed is that we aren’t classifying the terrains but trying to predict the traversability for the given patch of the terrain.
So, in the beginning, the algorithm is not expected to give good results but in considerable time, it is assumed to give better estimation of traversability. The further ideas would include considering the slope of the terrain which is an important aspect of traversability.
Initial attempts were made on Semi-Direct Visual Odometry (SVO). It worked fine on the test data but didn’t deliver good results on a live streaming camera. The algorithm is tested with Microsoft Lifecam HD, Logitech and Pointgrey BFLY PGE cameras with focus set to infinity, constant exposure and brightness. Even after trying with different values of FPS, the algorithm didn’t deliver optimum results. SVO is considered good for downward looking camera and proves to produce robust results for MAV’s but not for a forward looking camera like in our case.
The next attempt is made on Ethzasl Ptam. It gave optimum results for even a forward looking camera. Considering the computational power we have on the spacesuit, we may consider running the mapping thread of the Visual Odometry on a ground station which would save a lot of computational time on spacesuit.
Stereo Initialization (c)
Feature tracking and AR grid (c)
Cameras’ trajectory and View map (c)
Support Vector Regression
The main aspect of the project is traversability estimation rather than terrain classification. So, it is inevitable to use a regression model rather than classifying the terrains based on their scores of traversability. It is really important to have a good amount of training data which would play a major role in training a good regression model. For now, we are using some fake data that we have generated by taking some pictures of random terrains and giving score of traversability on the scale of ten. But in the future, for the training data, we can even collect it from a rover and training can be done on the ground station. By doing it this way, we can even annotate the terrain patches automatically from wheel odometry which we can’t do on a spacesuit. The Italian Mars Society is also working to obtain a dataset of annotated terrains which can be used to train the model.
The features used are simple histograms of gradients extracted from the small patches of terrain. It is much faster even when compared to extraction of 128 dimension SIFT features and much more suitable for terrains. For each patch of the terrain, gradients along the X and Y directions and corresponding orientations are calculated. A histogram of gradient orientations is constructed and given to the SVR for training.
As of now, we are trying to implement the above-stated methods. But to use it more efficiently in real time in the future, IMU sensors can be used to obtain the trajectory more accurately. As stated above, running the Mapping thread of PTAM on a ground station like on a Rover which is just resting on the Mars or on the nearest space station would be a lot more effective.
Skills: Python, Machine Learning
Difficulty Level: Hard