Open S-Dafarra opened 7 years ago
Please note that the limits in the robots-configuration files are sometimes even inconsistent among different robots, even if the different robots are the same version of the iCub (i.e. we should check the limits before copying them).
Having said that, I think we should have actual hardware limits in the URDF. In the gazebo-yarp-plugins
we have a way to specify additional software limits, so I think that given that the URDF tipically described the hardware of the robot, the limits in the URDF should be the hardware ones.
Note that this means that user code, such as IK, should not use the limits from the URDF, but rather the software limits, for example the one that in YARP can be obtained using the IControlLimits
interface.
Once we have the "actual" limits for the iCub 2.5, we can update the file https://github.com/robotology-playground/icub-model-generator/blob/master/simmechanics/data/icub2_5/ICUB_2-5_BB_joint_parameters.csv to propagate this changes to all generated models.
cc @DanielePucci
@fiorisi
what about finalizing this table? can we reorganize the wiki for the different iCub models?
👍 for finalizing that table in the current location, differentiating it for iCub version if necessary.
Recently the iCub Manual has been updated with a page about the joint limits. We could use the CAD limits
as the limits for the model, the problem is that we currently have these limits only for the legs. Alternatively, we could use the Hardware limits
, but the RoM for some joints (e.g. ankle) is not the widest. What do you suggest?
I would go for CAD RoM, while the software limits should go in the Gazebo configuration files. However it is commont practice to use the URDF limits for planning movements, so we should make sure no one is actually doing that in the lab, and instead is reading the joint limits from the robot at runtime.
This is somehow related to https://github.com/robotology-playground/icub-model-generator/issues/5 . The limits displayed in this file are different from those defined in https://github.com/robotology/robots-configuration/tree/devel . For example the
l_hip_roll
has different limits from those defined in this file.We should even discuss whether to use the "soft" or the "hardware" limits. (https://github.com/robotology/robots-configuration/blob/devel/iCubGenova04/hardware/motorControl/left_leg-eb6-j0_3-mc.xml vs https://github.com/robotology/robots-configuration/blob/devel/iCubGenova04/hardware/mechanicals/left_leg-eb6-j0_3-mec.xml)