Steepest descent optimisation in the secondary space of redundant manipulators