roboticslab-uc3m / kinematics-dynamics

Kinematics and dynamics solvers and controllers.
https://robots.uc3m.es/kinematics-dynamics/
GNU Lesser General Public License v2.1
19 stars 12 forks source link

Unbalanced number of physical and solver-controlled joints #154

Closed PeterBowman closed 2 years ago

PeterBowman commented 6 years ago

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).

PeterBowman commented 3 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.

PeterBowman commented 2 years ago

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.