General description
The “QPInverseProblemSolver” is used to build and solve an inverse problem set by the combination of effector and actuator constraints. The method is based on the formulation of a quadratic program.
Methods description
Requirement: Real time inverse simulation method
Definition: Quadratic programming (QP) is a type of optimization problem. It is the problem of optimizing (minimizing or maximizing) a quadratic function of several variables subject to linear constraints:
minimize | ![]() |
subject to | ![]() |
Method:
To solve the QP problem, we use the solver provided by qpOASES library.
How to use the component
To learn how to create a SOFA scene, please refer to the tutorial provided by the SOFA Modeler.
The “QPInverseProblemSolver” has to be set in the beginning of the scene graph. You can display the QP system by setting the printLog variable to true. The component also provides an output data of the results.
An example is provided in the “examples” directory of the plugin.
Data field
Here are described the data fields corresponding to this particular component.
Input data
saveMatrices : If set to true, the component will save the current QP matrices in a file named “QPInverseProblemSolverMatrices.txt”. The file will be located in the current directory.
Output data
delta : Output geometrical actuations. For instance, displacement in the case of cable actuation or volume growth in the case of pressure actuation. The order in the vector corresponds to the order of the components in the scene.
lambda : Output efforts.