200 likes | 361 Views
SOFA. Status of the development of an Open Framework for Medical Simulation. Motivations. Provide a common software framework for the medical simulation community Enable component sharing / exchange Optimize development time Promote collaboration among research groups
E N D
SOFA Status of the development of an Open Framework for Medical Simulation
Motivations • Provide a common software framework for the medical simulation community • Enable component sharing / exchange • Optimize development time • Promote collaboration among research groups • Help “standardize” certain aspects of medical simulation development • Enable validation and comparison of new algorithms
“Historical” overview • Idea initiated in 2000 • Presentation at SPIE and Simulation Workshop • Project “put to sleep” by lack of resources • Several meetings organized in 2004 • ATA in May 2004 • ISMS in June 2004 • ATACCC in August 2004 • Effort started in October 2004 • First presentation at MMVR 2005
:: Basic Principles :: • SOFA needs to be a collaborative effort • SOFA is designed to evolve • Flexibility is important for end users • Flexibility introduces additional complexity in the design • Abstraction of key elements of a simulation system • Multimodal representation of simulated objects • Flexible collision detection pipeline • Physics-based objects can be further decomposed as • Degrees of Freedom • Force Fields • Integration Schemes • Solvers
:: Multimodal Representation :: Visual Model Collision Response API API Mapping Mapping Behavior Model Mapping Mapping Collision Model Haptic Model API API
Partial View of Example 1(no contact) Collision Mechanical Model
Partial View of Example 1(during contact) Collision Response
Partial View of Example 2(no contact) Collision Mechanical Model
Dynamic Group Dynamic Group Detection Output Collision Elements’ pair Distance, t Detection Output Detection Output Detection Output :: Collision Pipeline :: Detection Phase Bounding Collision Model Detection Output Pair of Bounding Collision Model BROAD PHASE NARROW PHASE Detection Output Bounding Collision Model Pair of Bounding Collision Model Detection Output Group Creation Bounding Collision Model
:: Collision Response :: Collision Model Behavior Model Object 2 Object 1 F Behavior Model Collision Model
SOFA = kernel + modules • Development of the “kernel” of the framework • The kernel provides high-level functionalities that allow key components to communicate with each other • The kernel provides a generic interface for modules • The development of the kernel is partially done • Expected end of development : December 2006 • Development of modules • Modules are specific algorithms providing functionality • Examples: FEM, Spring-Mass models, Meshless models, Rendering algorithms, Penalty-based collision response, …
:: Main Development Phases :: Basic implementation of the kernel (concepts + guidelines) Final Implementation of the kernelLibrary of Modules Applications (demonstrations and simulator) Mid-2005 End of 2006 Mid-2007
What’s next ? • We need to structure this effort • Technical Aspects: • Focus on the development of key components of the “kernel” • Set the limit of this generic approach • Multi-processing capabilities / support • Improve development strategies, quality control, documentation, need dedicated developers (global development team) • Organization • Create a set of work groups specialized in key aspects such as collision detection, physics-based modeling, systems integration, … • Set the basis for a future consortium with this initial structure • Define “standards”
Many Thanks • Special thanks to: • Jeremie, Francois, Pierre-Jean, and Sylvere • And also: • Christian, Damien, Sylvain, Laurent @ Alcove Team • Xunlei, Paul @ Sim Group • Hervé, Francois @ Asclepios