The skeleton algorithm for self-collision avoidance of a humanoid manipulator | Synapse