This should give undesired results in case when selection matrix cont_[i].dof zeros some DoFs for which the lower and/or upper speed limits are specified as non-zero. I suppose, this usually won't happen, but to have correct constraint implementation and to make it foolproof against such situation, it should be the following:
There seems to be a missing multiplication by a selection matrix in the
BoundedSpeedConstr::update
.Starting from the constraint documentation in QPConstr.h we have the following
Multiplication by a selection matrix indicated in red above seems to be missing in the implementation QPConstr.cpp
This should give undesired results in case when selection matrix
cont_[i].dof
zeros some DoFs for which the lower and/or upper speed limits are specified as non-zero. I suppose, this usually won't happen, but to have correct constraint implementation and to make it foolproof against such situation, it should be the following: