Technical roadmap

The roadmap is jointly defined by the Consortium Members with the developer community at the SOFA Technical Committee (STC). This committee is open and free for all, however votes for the roadmap are restricted to Consortium Members.
Read more on the governance.

Previous edition (STC#15) took place in Paris from May 23rd to 26th 2023. During this meeting, the committee voted the following roadmap:

Caribou plugin & SOniCS project

  • Merge SOniCS features in the main branch
  • Provide CI/CD tests
  • Ensure compatibility with the main branch of SOFA and FEniCS
  • Document including a video tutorial to explain how to implement new material model in SOniCS
  • Pull-request and merge the new IGA (IsoGeometric Analysis) FEM model
  • Pull-request and merge the MechanicalData component to compute Strain/Stress
  • Work on validation against other software solutions
  • Implement new materials based on Caribou’s API
  • Renaming the project

Matrix assembly API in SOFA

  • Documentation should be added in the doc
  • Restore geometric stiffness due to constraint forces
  • Clean old and apply new API
  • BONUS: Re-introduce ConstantSparsityPatternSystem
  • BONUS: Speed-up matrix assembly

Constraint pipeline modernization

  • Factorize both constraint solvers (GenericConstraintSolver and LCPConstraintSolver)
  • Refactor the API to be able to implement a constraint solver in Python
  • Speed up
    • Including integration of Stéphane Despierre’s work on CPU parallelization of the computation of the compliance matrix
  • Clean API for the classification of constraints (collision, effector, actuator etc)
  • Implementation of a direct approach for the constraint resolution

SofaGym – Reinforcement learning in soft-robotics

Ongoing actions

  • Improving the documentation for the SofaGym plugin
  • Including detailed documentation on how to test and train Sofa scenes with SofaGym
  • Extending the documentation for the available example with more details
  • Adding a tutorial on creating custom SofaGym agents from your own Sofa scenes
  • Fixing and updating SOFA scenes with latest SOFA API (sofagym.envs)

Additional tasks:

  • Migrating to Gymnasium
  • Work on warm restart
  • Pip installation : “pip install sofagym”
  • Optimizing simulations (CUDA multithreading and parallel simulation)
  • CI/CD
  • Make API modular to be compatible with other RL frameworks

Cosserat rod plugin

  • Non-linear stiffness of the mapping using the new matrix API
  • (continuing) Modeling of the insertion of beveled needles along with JHU
  • (continuing) Implement a python controller for moving co-axial instruments: each instrument is a separated object (unlike BeamAdapter). This is done, only the collision with the two collision models has to be de-activated for one of them
  • (continuing) Verification and validation for the plastic Cosserat model: more research oriented
  • Cleaning the repo : fix the example scenes (high priority)

More projects

Besides the main roadmap tasks, a lot of projects are going to evolve in the next 6 months. Never hesitate to join the force or share your own contribution project!

  • Update in SOFA: propagating the use of the component state, removing the doUpdateInternal API
  • Integration of new GPU codes in SOFA (SofaCUDADev and SofaCUDASolvers plugins)
  • Improving the training for newcomers (see Training Sessions)
  • Support on the DeepPhysX python project, a framework for coupling SOFA simulations with deep learning algorithms
Back to Top