Robotics and Control by Peter Corke