Closed PeterBowman closed 2 years ago
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: https://github.com/roboticslab-uc3m/kinematics-dynamics/issues/162#issuecomment-532344770. This is already a reality, see e.g. manipulation-leftArm-lacquey.ini.
Done solver-side at https://github.com/roboticslab-uc3m/kinematics-dynamics/commit/22ecfb5e7893a47a7e023f9eefa16a5dbcac18f9 (which reverts https://github.com/roboticslab-uc3m/kinematics-dynamics/commit/4e9a7defe9d4a9ac3e3ac8d86c18a03b79ce06df). The controller side will be reviewed at https://github.com/roboticslab-uc3m/kinematics-dynamics/issues/162#issuecomment-532344770.
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 https://github.com/roboticslab-uc3m/kinematics-dynamics/commit/4e9a7defe9d4a9ac3e3ac8d86c18a03b79ce06df, 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).