An Efficient Inverse Kinematic Algorithm for a PUMA560-Structured Robot Manipulator. (8th May 2013)