ARC-OPT / wbc

C++ library for optimization-based control of redundant robots
BSD 3-Clause "New" or "Revised" License
33 stars 13 forks source link

Task weighting in scenes #64

Closed ibergonzani closed 3 months ago

ibergonzani commented 1 year ago

Task weighting is performed by multiplying task matrix A and task vector y by a weight value w. in this way, it's like stretching the space to have larger or smaller contribution with the square norm

|| w(Ax -y) || -> || (wAx - wy) || -> minimize x'(wA)'(Wa)x - (wAx)'wy

In current implementation, (see velocity scene for example), y vector is not multiplied by the task weight. the resulting problem is minimize x'(wA)'(Wa)x - (wAx)'y

https://github.com/ARC-OPT/wbc/blob/19c562dd3699f7581161bf6958dab29655624220/src/scenes/VelocitySceneQuadraticCost.cpp#L110-L115

dmronga commented 3 months ago

Should be fixed by #91