robotology/icub-models-generator

Drop dependency on IDYNTREE_USES_KDL and iDyn

traversaro opened this issue · 2 comments

The dh pipeline is used for generating URDF files for iCub v1, and is still going to be used for the foreseeable future. For this reason, we should eventually get rid of the technical debt related to it (dependency on IDYNTREE_USES_KDL, iDyn, and the in general it is a terrible piece of infrastructure, that I mostly wrote during my Master's Thesis).

Furthermore, if the robotology-superbuild starts to be used on all robots, there is the possibility for the future of finally switching to use iDynTree for all robots (also outside IIT) and finally deprecated iDyn . In that case, we should be ready to drop support for iDyn even for generating models.

To do so, we need to:

Copy the parameters contained in iDyn in a separate iDynTree-based class that generates iDynTree::Model objects

The iCub v1/v2 dynamic model information is spread across several files and parts of the code:

Furthermore, there are some parameters that were added as part of the generation project, in the
toKDL function.

We should copy this parameters (perhaps just dumping them from the KDL::CoDyCo::UndirectedTree instance that they generated, to avoid getting crazy for extracting manually all this parameters from all this different places) in a class that generates iDynTree::Model objects from this parameters and from the headV2, legsV2 options of the wholebodyinterface . This little "library" of hardcoded parameters should go here in the icub-model-generator repository, but given that I suspect it will be useful to generate this models on the fly in the new wholebodydynamics for backward compatibility, probably it will make sense to put it in iDynTree .

Port the iDynTree::Model ---> URDF model exporter to iDynTree classes, away from the KDL & urdfdom dependency

see robotology/idyntree#382

cc @DanielePucci @diegoferigo @fiorisi

In the end with @Nicogene we opted for a simpler solution: we will generate all the possible URDF models that the current DH-based generator is able to generate, and for the future we will simply copy the one corresponding to the variant requested. The generation part is done in #169 and in particular with commit a363f94 .

The model generated by #169 are available in robotology/icub-models@9fd2eeb . For reference, I also added it as a .zip file:
icub-models-last-call-for-dh-generator.zip.