Automatic kinematic chain calibration using artificial skin: self-touch in the iCub humanoid robot