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#16) took place in Paris from November 15rd to 17th 2023. During this meeting, the committee voted the following roadmap:
Matrix assembly API in SOFA
- Geometric stiffness is not implemented for some important non-linear mappings (plugins)
- ConstantSparsityPatternSystem
- Support changes in the sparsity pattern
- Hybrid strategy: part of the matrix is constant, the rest is dynamic
- Accelerate J^T K J when K and/or J is constant (including in MatrixLinearSystem)
- Support blocks
- Investigate the assembly of the right-hand side
- Add forces created by velocity for mapped mass on non-linear mappings
- Continue cleaning the old API of matrix assembly
|
Constraint pipeline modernization
- Separate constraint model into [mapping + simple constraint]
- Implementation of a direct approach for the constraint resolution
- Refactor the API to be able to implement a constraint solver in Python
- Investigate the iso-dof approach
- Complete the factorization of the constraint solvers (LCPConstraintSolver, GenericConstraintSolver)
|
Model Order Reduction plugin
- Test integration of the MOR plugin within the SOFA v23.12 binaries
- Make it fetchable from SOFA sources
- Clean the repository (move example folder)
- Bring back performances for both pre-computed mass & reduced jacobian
- Document the project
- Complete doc install with/without binaries & on differentOS
- Make tutorial video
- (optional) Make as caribou doc image explaining workflow with link to doc
- Add GitHub Action
- Remove python2 generation
- Implement AUTO TEST into GitHub Action
|
Design of a robotic-dedicated application
- Create of a GUI/environment familiar to roboticists (UI/UX)
- Investigate how ASSIST could help (if open-sourcely released) to process the SOFA code-base step by step
- Support of URDF format [and SDFormat], possibly done through the integration of the Pinocchio library
- Build a Prefab library dedicated to robotics
|
SofaGym – Reinforcement learning in soft-robotics
- Completing ongoing actions:
- Pre-trained models for some examples: CartPole, SimpleMaze, Tripod, Catheter
- Removing server-client
- Simulation restart
- SOFA GUI visualization
- Future tasks:
- Migrating to Gymnasium
- Tests and CI based on MLOps
|
Cosserat rod plugin
- Incorporate beam extensibility
- Enhance co-axial beam modeling
- Address existing issues and bugs in the current version of the coaxial beam modeling
- Anticipate the upcoming intern who will commence in March (subject to FSD approval)
- Implement non-linear mapping
- Calculate the expression dJ/dx v + Jdv
- Enhance mapping for dynamic scenarios
- Advancing needle insertion simulation
- Integrating normal forces on the needle tip
- Introducing dynamic discretization for the needle
- Build a new 6 dof Cosserat state
|