Robots are interdisciplinary systems that combine sensing, actuation and computation to perform intelligent functions in their environment. Designing robots therefore requires a thorough understanding of their mechanics, their sensors, the programming that is required for their interaction with the real world, and algorithms that can perform decisions and trajectory planning. The book is intended for undergraduate and post-graduate courses in robotics as well as for practicing engineers who would like to learn about theory and applications of robotics.