Unbalanced number of physical and solver-controlled joints
Closed this issue · 2 comments
Real robots may (and probably will) launch additional joints such as grippers. These are not intended to participate in IK calculations and such, which means that their presence is transparent to cartesian solvers. This used to work with KdlSolver, but started breaking a few months ago due to an additional check introduced while changing the way joint limit data is read (#145). Should be fixed now thanks to 4e9a7de, please report errors here if necessary.
The same treatment should be applied to AsibotSolver, but might not be so straightforward. Keep in mind that input vectors in the ICartesianSolver
interface will exceed the number of expected joints (real joints + gripper).
Perhaps we should just disallow additional solver-independent joints now that the grippers (Lacquey, Dextra) are meant to be managed by their own control board instance, in a separate port: #162 (comment). This is already a reality, see e.g. manipulation-leftArm-lacquey.ini.
Done solver-side at 22ecfb5 (which reverts 4e9a7de). The controller side will be reviewed at #162 (comment).