Provide simulated iCub models that also spawn wholebodydynamics and cartesiancontrollerserver devices
The "real" iCub robot are typically launched with a yarprobotinterface that spawns, beside the YARP device that communicate with the internal robot fieldbus and the YARP network wrapper server device to expose their functionality over the network, also the device cartesiancontrollerserver and soon for supported robots also the wholebodydynamics device.
To reduce the simulation to reality gap, we could consider offering simulated models that do the same, or at least documentation on how to build such models. This was not easy in the past, but it has been enabled by the creation of the gazebo_yarp_robotinterface plugin in https://github.com/robotology/gazebo-yarp-plugins/pull/532 .
Things to consider:
- Such models would have more runtime dependencies then the existing ones. The existing models just depend on gazebo-yarp-plugins, the new models may depend on ICUB and whole-body-estimators, that are the repo that provide such devices. For this reason, it could make sense to make this option opt-in, rather then enabling it for all the models.
- To enable this workflow wholebodydynamics device, we may need to further modify the
gazebo_yarp_imuandgazebo_yarp_forcetorqueas described in https://github.com/robotology/gazebo-yarp-plugins/issues/535 - To re-use exactly the same device XML files that we use on the real robot (i.e. just take the ones in https://github.com/robotology/robots-configuration/blob/master/iCubGenova04/estimators/wholebodydynamics.xml and https://github.com/robotology/robots-configuration/blob/master/iCubGenova04/cartesian/right_arm-cartesian.xml) we may need to uniform the yarp devices instance names that we use on the real robot and in simulation. However, this can be done in a subsequent step.
fyi @gabrielenava @Giulero @lrapetti @HosameldinMohamed @S-Dafarra @GiulioRomualdi @prashanthr05 this would remove the need to launch an additional yarprobotinterface just for wholebodydynamics whenever we spawn a Gazebo simulation