Simulation Open Framework Architecture (SOFA)
Participants : Jérémie Allard [ correspondant ] , Stéphane Cotin [ correspondant ] , Jérémie Dequidt, Christian Duriez, Laurent Grisoni, Juan Pablo de la Plata Alcalde, Frédérick Roy.
This research outlines a plan to build a foundation for a potential interoperability standard for Medical Simulation. Theoretically, such a framework should be generic, platform-independent, public domain, open source, and extendible. ALCOVE has been working on this concept for the past few years and with the assistance of several INRIA projects (EVASION, ASCLEPIOS) and CIMIT simulation group at Boston. We have assembled a first prototype that we demonstrated at Medicine Meets Virtual Reality (MMVR). We wanted to extend and refine this prototype with the aim of publicly releasing it to the medical simulation research community. Essentially, SOFA (Simulation Open Framework Architecture) is a flexible core framework which will allow independently developed algorithms to interact together within a common simulation while minimizing the development time required for integration. The main objective of SOFA is to foster collaboration among research groups. Rather than a centralized toolkit for Medical Simulation, our approach focuses on the development of a core technology that will support the integration of modules using a plug-in system. It is our hope that SOFA will simplify the developmental time for simulators, reduce production costs, and provide a means to share components through a common interface.
We had good result since SOFA is the most downloaded application of the INRIA's gforge with about 40.000 downloads.
Framework Improvements include (but is not limited to...)
The initial focus of the SOFA framework was on collision detection, deformation, collision response, and visual feedback since they are the current foci of the medical simulation research. Other simulation components such as cutting, physiology, haptics, multi-processing, etc can be required depending on the application requirements. Of these, cutting poses the greatest challenge since it changes the topology of all of an object's mapped representations such a visual, behavioral, collision and other possible future representations. As a result, a variety of cutting interface proposals were put forth so that this action could be simulated within SOFA framework before it matured too much.
Because of their complexity, realism demands and interactive requirements, medical simulators often constrain their computing and rendering capabilities. With decreasing hardware costs, multiple central processing units (CPUs) and more efficient graphics processing units (GPUs) are becoming more affordable. The SOFA framework has now the capability to take advantage of these multi-processing computing environments.
SOFA framework includes new algorithms for the collision response based on unilateral constraints and non-linear friction constraints based on Coulomb's law. The contact equations are solved using Gauss-Seidel iterative solver.