Google Summer of Code

This page summarizes the upcoming project led in the context of the Google Summer of code:

SOFA + Pulse

Objectives

The objective of this project is to create an open-source plugin for SOFA building an interface with the open-source library Pulse platform. This engine provides comprehensive models for the human physiology. Both API are very close to each other: C++, Cmake, a core library with optional plugins. The integration will be helped with two mentors: one from the SOFA community and another one from the Pulse community.This project will therefore bring a new open-source technology to drive medical education, research, and innovation.

Difficulty

Intermediate

Desirable skills

C++, Cmake

Contact

Hugo Talbot

Emscriptening Sofa

Objectives

SOFA is an open-source framework to simulate in real-time a wide range of object behaviors in complex contacts situations. The kind of situation that are common in medical simulation, robot interacting with soft material and soft-robotics.

We now would like to be able to execute SOFA in the browser to promote the development of simulation based web-based applications. As SOFA a implemented in C++ this is not straightforward.

The purpose of this GSOC is to adapt the core of the SOFA simulation framework so that it can be compiled with Emscripten. Emscripten is a compiler that takes C/C++ code and compiles it to efficient subsets of JavaScript as asm.js and webassembly.

Difficulty

Hard

Desirable skills

C++, webassembly, asm.js,

Contact

Damien Marchal

Communication plugin improvement

Objectives

The purpose of this project is to improve the communication plugin by adding more protocols in it such as vrpn, serial bus communication, and also improve the way it works. This plugin has an abstract base to run and implement different protocols asynchronously to the main sofa-framework thread. In a near future it has to be the default base for communicating with SOFA.

The motivation is to prevent multiple outdated network/protocol communication plugins and group all of them in a single abstract plugin.
The objective is to improve the communication plugin, add protocols such as vrpn, serial bus, etc.

Difficulty

Intermediate

Desirable skills

C++, network, SOFA

Contact

Erwan Douaille

Back to Top